Comment 7 for bug 1887823

Revision history for this message
Robie Basak (racb) wrote :

> well IMHO it is a bug to have the file in the orig tarball

Agreed, but aren't you tracking that in bug 1887535? What are you expecting to see changed that will, in your eyes, resolve _this_ bug?

> well again IMHO any package that requires a working git repo is fundamentally broken

Agreed. Unfortunately git-ubuntu still needs to present something for such a source package though, including (in the case that it's policy compliant) the capability of correctly building it whether it is buggy or not.

> i'd suggest removing the .git file/dir instead of renaming it. Is there actually a package that contains a .git file/dir and requires it for build?

This bug is an example of a source package that changes behaviour depending on whether the .git exists or not. What "git ubuntu build" needs to do (when implemented) is provide a build that matches what the source package "officially" does, even if buggy. For this to work, we can't irreversibly remove directories. That's why we escape .git rather than remove it.

Put another way, consider these two situations:

(a) if we always remove .git, then I can construct a source package that succeeds without git-ubuntu, but fails to build (or results in a build that is functionally different) with it.

(b) if we always escape .git, then I can only construct a source package that succeeds without git-ubuntu, but doesn't work until unescaping has been performed. When unescaping is performed, a build whose source came via git-ubuntu can always be identical to a build that is done without it.

I consider that (a) would make git-ubuntu fundamentally broken, so (b) is the least worst choice.

Further, I'd like one day for "git ubuntu build" to be all that is necessary - with no need for newcomers to use dpkg-buildpackage or "mk-sbuild"/sbuild directly, unless they want to dig deeper. In that world, the unescaping won't be an issue because "git ubuntu build" will just know to do it.