Skip to content

Some branches fail to build an ISO because we merge their base branch too late

Our ISO build system errors out when building from a branch based on master:

> + apt-snapshots-serials prepare-build
> + apt-mirror debian
> Not building from a tag, but last version in changelog was released
> + DEBIAN_MIRROR=
> + apt-mirror debian-security
> Not building from a tag, but last version in changelog was released
> + DEBIAN_SECURITY_MIRROR=
> + apt-mirror torproject
> Not building from a tag, but last version in changelog was released
> + TORPROJECT_MIRROR=
> + [ -n  ]
> + exit 1

I believe this is caused by auto/config running apt-snapshots-serials prepare-build before auto/build had a chance to merge the base branch (generally: stable) into the topic branch that’s being built: a branch based on master generally satisfies the “Not building from a tag, but last version in changelog was released” error condition until their base branch is merged into it.

The simplest, ad-hoc fix would probably be to move a chunk of code from auto/config to auto/build. I’ll handle this.

But thinking about the root cause, a more fundamental issue becomes obvious: merging the base branch happens too late, and by running a fair amount of (build) code before we do that, we create a frankenstein ISO whose build system partly comes from the current status of the topic branch, and partly comes from the current status of it base branch. IMO we should do the base branch merge first thing in the build process, in a manner that’s isolated from other build steps, so that all build code (including Rakefile) except the tiny script that performs the merge will be. anonym, bertagaz: if you agree we have a fundamental problem here, please file a ticket about it.

Feature Branch: bugfix/14459-merge-base-branch-earlier

Related issues

Original created by @intrigeri on 14459 (Redmine)

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information