Package: apt-build Version: 0.12.37 Severity: normal Tags: patch Hi,
apt-build uses "debchange --append" to add entries on the changelog file. Therefore, the change (build infos) is logged into the same log entry as the official maintainer's one. - First, the change is expected to be logged in a new entry, tagged "non-maintainer upload" since it is generally indeed the case. - Second, it means that the version of the local-built package will be the same as the one from the official repository. This leads to a very annoying bug with apt (see #351056). Indeed, after you've built all your "world" and have stored them in your local repository, apt will want to upgrade *all* your installed packages to the same version - the one from your local repository - again and again... These two issues are fixed by modifying "debchange --append" into "debchange". This will add a new entry in the change log, tag it as "non-maintainer upload" if you're not recognized as author of the package and increment the minor version as expected. I've attached a patch to fix this that way (though it's not very useful given the small size of the adjustment). -- System Information: Debian Release: squeeze/sid APT prefers unstable APT policy: (990, 'unstable'), (1, 'experimental') Architecture: amd64 (x86_64) Kernel: Linux 2.6.35-rc6-amd64 (SMP w/2 CPU cores) Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Versions of packages apt-build depends on: ii apt 0.7.25.3 Advanced front-end for dpkg ii apt-utils 0.7.25.3 APT utility programs ii debconf [debconf-2.0] 1.5.33 Debian configuration management sy ii devscripts 2.10.66 scripts to make the life of a Debi ii dpkg-dev 1.15.8.3 Debian package development tools ii g++ 4:4.4.4-2 The GNU C++ compiler ii gcc 4:4.4.4-2 The GNU C compiler ii libappconfig-perl 1.56-2 Perl module for configuration file ii libapt-pkg-perl 0.1.24 Perl interface to libapt-pkg ii libc6 2.11.2-2 Embedded GNU C Library: Shared lib ii perl 5.10.1-13 Larry Wall's Practical Extraction Versions of packages apt-build recommends: ii build-essential 11.5 Informational list of build-essent ii fakeroot 1.14.4-1 Gives a fake root environment apt-build suggests no packages. -- Configuration Files: /etc/apt/sources.list.d/apt-build [Errno 2] No such file or directory: u'/etc/apt/sources.list.d/apt-build' -- debconf information excluded
Index: apt-build-0.12.37/apt-build =================================================================== --- apt-build-0.12.37.orig/apt-build 2010-08-06 21:41:42.000000000 +0200 +++ apt-build-0.12.37/apt-build 2010-08-06 21:44:26.000000000 +0200 @@ -288,11 +288,11 @@ chdir "$src_name-$upver"; # Add an entry in changelog - system "debchange --append 'Built by apt-build'"; + system "debchange 'Built by apt-build'"; for (@{$conf->patch}) { $_ =~ s[.*/(.*)\n$][$1]gio; # basename + chomp - system "debchange --append 'Patched with $_'"; + system "debchange 'Patched with $_'"; } # Patch if asked @@ -310,7 +310,7 @@ $buildoptions = "Build options: ". $conf->Olevel." ".$conf->mtune." ".$conf->options; - system "debchange --append \"$buildoptions\""; + system "debchange \"$buildoptions\""; # Now build $r = !system $conf->build_command;