create orig.tar.gz from base branch?
Bug #2024971 reported by
Richard Hansen
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
git-build-recipe |
Triaged
|
Low
|
Unassigned |
Bug Description
For a 3.0 (quilt) format package, git-build-recipe currently converts it to a native package (assuming --allow-
* pristine-tar can't find the orig tarball, and
* an upstream/* tag doesn't exist for the upstream version.
Shouldn't it instead use `git archive HEAD` to generate the orig tarball from the base branch?
Related branches
~rhansen/git-build-recipe:upstream
Ready for review
for merging
into
git-build-recipe:master
- Colin Watson: Pending requested
-
Diff: 1211 lines (+568/-180)7 files modifiedgitbuildrecipe/deb_util.py (+0/-54)
gitbuildrecipe/main.py (+4/-5)
gitbuildrecipe/recipe.py (+266/-79)
gitbuildrecipe/tests/__init__.py (+3/-3)
gitbuildrecipe/tests/test_deb_version.py (+27/-10)
gitbuildrecipe/tests/test_functional.py (+203/-7)
gitbuildrecipe/tests/test_recipe.py (+65/-22)
summary: |
- build orig.tar.gz from base branch if debian dir is from another branch + create orig.tar.gz from base branch? |
description: | updated |
description: | updated |
description: | updated |
Changed in git-build-recipe: | |
status: | New → Triaged |
importance: | Undecided → Low |
To post a comment you must log in.
The reason I want this is to make it easier to automatically produce Emacs snapshots. The current debian packaging for Emacs parses debian/ patches/ *.patch to build a README: <https:/ /git.launchpad. net/ubuntu/ +source/ emacs/tree/ debian/ rules?h= import/ 1%2528. 2%2b1-15ubuntu1 #n253>. The quilt-to-native conversion done by git-build-recipe breaks that logic.
As a workaround, I deleted the offending logic from debian/rules. However, I would prefer to keep the diff from Ubuntu's debian/ directory to my debian/ directory as small as possible.
Some other workarounds I haven't tried:
* Duplicate the patches to another subdirectory inside debian/ and adjust paths in debian/rules. That would require manual intervention whenever the set of patches changes.
* Add a pristine-tar branch or upstream/<version> tag with the contents of an arbitrary snapshot. The *.debian.tar.gz part of the source package would continue to grow unless I periodically refreshed the pristine-tar branch or upstream tag. The build might break if upstream deletes or renames a file because the *.debian.tar.gz cannot encode file deletions (except in patches). Also, the upstream portion of the package version would have to be fixed to something like `29~git`, otherwise git-build-recipe would be unable to find the upstream sources. (I think that's OK, but I'm not certain.)