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;

Reply via email to