| < git-pbuilder | Russ Allbery > Software > Scripts |
Read the user's .pbuilderrc properly when invoking the builder with an action. sudo changes the environment, including HOME, so the program normally tries to read /root/.pbuilderrc, which is not so useful. Work around this by adding an explicit --configfile option pointing to $HOME/.pbuilderrc if it exists. Reported by Rafał Długołęcki.
Lines changed: +17 -3
Add support for adding the backports repository to --othermirror when creating build chroots. If DIST ends in -backports, the create (and update and similar) actions get a distribution without the -backports but with debian-backports added to the --othermirror setting.
Based on a patch by Guido Günther.
Lines changed: +41 -15
Add support for setting GIT_PBUILDER_AUTOCONF=no to disable all the logic for choosing options to the builder and instead just pass through the flags we're given.
Lines changed: +124 -95
Fix several bugs in the previous commit with deriving defaults from the program invocation name.
Lines changed: +5 -5
Clean up handling of defaults derived from the program invocation name, and add support for pbuilder.
Previously, defaults from the program name would only take effect if neither BUILDER nor DIST were set in the environment, and if neither were set BUILDER would be forced to be cowbuilder. Fix this by using the program name to get defaults for BUILDER, DIST, and ARCH and then let existing environment variable settings always override.
Add support for pbuilder as a builder, based on a patch by Clint Adams. However, pbuilder will never be selected based on the program name (due to backward compatibility issues); BUILDER must be explicitly set to pbuilder to use it.
Use more succinct syntax to set the default values of variables.
Lines changed: +129 -64
Use COWBUILDER_BASE from the environment, if set, as the root for cowbuilder base directories. Remove an extra level of quoting around $BASE in the options which confuses the shell (thanks, Guido Günther).
Lines changed: +8 -3
Fix unterminated B<> tag in the previous version.
Lines changed: +2 -2
Add support for qemubuilder and configuring the builder via either the name under which git-pbuilder is invoked or the BUILDER environment variable. qemubuilder has different defaults and points to a configuration file rather than to a base path.
Always print out what we're doing at the start of the run, listing the builder and the distribution and the architecture if set.
Preserve the exit status of pdebuild and exit with the same status.
Better-document ARCH and GIT_PBUILDER_OPTIONS.
Lines changed: +170 -86
Take the environment variable GIT_PBUILDER_OPTIONS as the default options to pass to cowbuilder and add other options on to it.
Document the default base paths used when ARCH is set in the environment.
Lines changed: +22 -5
Passing -i and -I flags with specific exclusion patterns for Git has the benefit of being specific to Git and not accidentally excluding files from other revision control systems, but it has the drawback of overriding the default exclusion patterns. Those now include other things and are under active development, which git-pbuilder was suppressing.
Given that there are many other, superior ways of overriding the default exclusion patterns where necessary, such as via files in debian/source, drop the -i and -I overrides and use the default behavior with source format 3.0.
Source format 1.0 doesn't ignore version control files by default and doesn't have as many ways of customizing the flags, so for 1.0 packages, continue doing what we were doing before and ignore only Git files.
Based on a patch by Guido Günther.
Lines changed: +16 -3
Warn if git-pbuilder is run without arguments by something other than git-buildpackage, since it doesn't know how to do all the extra work that git-buildpackage does (like move the results of the build to the expected output directory).
Lines changed: +6 -1
Add support for multiple architectures. git-pbuilder now looks at the ARCH environment variable, if set, and uses it to determine the architecture. If an architecture is set, it is appended to the cowbuilder base name and also passed to cowbuilder via --architecture.
Also move the check for cowbuilder to the top of the script, rather than after the option parsing.
Lines changed: +31 -21
Pass any additional arguments to git-pbuilder when called with the update, create, or login commands along to cowbuilder. Patch from Svend Sorensen.
Lines changed: +7 -3
Produce better output saying which distribution we're building for and only print out that line if $DIST is set. Add an error message if /usr/sbin/cowbuilder is not found, telling the user to install the cowbuilder package. Based on patches from Guido Günther.
Lines changed: +11 -2
Allow the base image to be missing when asked to create it
If the first argument is create, we're creating the base image and should therefore not fail if the image doesn't already exist. Patch from Guido Günther.
Lines changed: +2 -2
Support taking the distribution on which to operate from the name by which the script was invoked.
Lines changed: +22 -4
Add support for the additional cowbuilder actions update, create, and login and document how to call them. Change the license to an MIT-style license instead of the same terms as Perl since this script isn't written in Perl.
Lines changed: +33 -12
Update the file exclusion regex to match the Git-relevant regex from the default exclusion in dpkg-source. Since we know we're using Git, at least for the time being, do that instead of just using the default exclusion regex, although that may change later.
Lines changed: +5 -6
Further escape the backslash in the \.git regex passed in as a debuild option. It needs an additional level of escaping to survive going from cowbuilder to dpkg-buildpackage, and then a third level to protect it from the shell. Thanks, Allard Hoeve.
Lines changed: +5 -2
Fix a syntax error introduced in the previous commit and change the name of the etch backports repository to ebo instead of ebp, matching the convention I use elsewhere.
Lines changed: +3 -3
Only remove the source package changes file if it exists. Change some double quoting without interpolation to single quoting.
Lines changed: +6 -4
Add documentation, better error handling, a check for the existence of the intended base path, and handling of both base.cow and base-sid.cow. Some of this work was based on an updated script by Tim Skirvin.
Lines changed: +134 -14
Add --debian-etch-workaround to the pdebuild invocation.
Lines changed: +3 -2
Allow specification of other distributions than sid by setting DIST.
Lines changed: +16 -3
Remove the right sources.changes file.
Lines changed: +2 -2
Remove the *_source.changes file.
Lines changed: +4 -2
Initial version based on the git-buildpackage manual.
| < git-pbuilder | Russ Allbery > Software > Scripts |