[Pkg-utopia-maintainers] Bug#558618: Missing autoreconf to fix 554821 or similar bugs in the future

Peter Fritzsche peter.fritzsche at gmx.de
Sun Nov 29 00:57:15 UTC 2009

Source: policykit
Version: 0.9-4
Severity: minor
User: peter.fritzsche at gmx.de
Usertags: missing-libtool-update

I did a rebuild of all packages which are affected by bug #554821. As it seems
your package doesnt do the needed autoreconf needed for libtool. When doing
autoreconf or the needed sequence of different autotools/libtool utilities the
package should be able to fix the problem automatically.
/usr/share/doc/autotools-dev/README.Debian.gz explains it in section "Basic
summary of packaging source that uses autotools".

The build was done in a cowbuild chroot with the patch from #554821 included in
/usr/share/aclocal/libtool.m4 and binutils-gold installed. All logs were then
greped for -export-symbols-regex and not including -version-script. This
should indicate that your package doesnt do the required autoreconf with
updating the libtools stuff.

A small extra test output "test-version-script" was added to libtool.m4 and
silent mode was disabled in global ltmain.sh so it is easier for me to decide if
it was really updated in case libtool doesnt output the ld command to stdout.
So if the output and "test-version-script" is missing then your program doesnt
update the files. I am sorry if this is still a false positive.

udev 147-5 for example fails completely due to new (unknown) symbols appearing
inside the .so, but `autoreconf -fi -I m4` (with libtool.m4 installed on my
system with the mentioned patch) fixes the problem. I had to remove a patch
with touches Makefile.in, but the rest worked out of the box. Maybe it is
better to copy all clean files into a extra directory, run autoreconf inside
the directory, build and install everything from that directory and in clean
remove that directory. This way the diff.gz should be clean and you still do
the necessary autoreconf. A package which does that is g3dviewer. Many other
packages like libupnp4 and compizconfig-python just ignore the fact that these
changes are included in debian.tar.gz/diff.gz

The interesting output inside the log of your program is:

/bin/bash ../../libtool --tag=CC   --mode=link cc  -g -O2 -g -Wall -O2 -Wchar-subscripts -Wmissing-declarations -Wnested-externs -Wpointer-arith -Wcast-align -Wsign-compare -Wformat -Wformat-security -version-info 2:0:0 -export-dynamic -no-undefined -export-symbols-regex '(^polkit_.*|_pk_validate_unique_bus_name)' -Wl,--as-needed  -o libpolkit.la -rpath /usr/lib polkit-sysdeps.lo polkit-error.lo polkit-result.lo polkit-context.lo polkit-action.lo polkit-seat.lo polkit-session.lo polkit-caller.lo polkit-policy-file-entry.lo polkit-policy-file.lo polkit-policy-cache.lo polkit-policy-default.lo polkit-debug.lo polkit-utils.lo polkit-config.lo polkit-authorization.lo polkit-authorization-constraint.lo  polkit-authorization-db.lo -lexpat ../../src/kit/libkit.la 
generating symbol list for `libpolkit.la'
/usr/bin/nm -B  .libs/polkit-sysdeps.o .libs/polkit-error.o .libs/polkit-result.o .libs/polkit-context.o .libs/polkit-action.o .libs/polkit-seat.o .libs/polkit-session.o .libs/polkit-caller.o .libs/polkit-policy-file-entry.o .libs/polkit-policy-file.o .libs/polkit-policy-cache.o .libs/polkit-policy-default.o .libs/polkit-debug.o .libs/polkit-utils.o .libs/polkit-config.o .libs/polkit-authorization.o .libs/polkit-authorization-constraint.o .libs/polkit-authorization-db.o  ../../src/kit/.libs/libkit.a | sed -n -e 's/^.*[ 	]\([ABCDGIRSTW][ABCDGIRSTW]*\)[ 	][ 	]*\([_A-Za-z][_A-Za-z0-9]*\)$/\1 \2 \2/p' | /bin/sed 's/.* //' | sort | uniq > .libs/libpolkit.exp
/bin/grep -E -e "(^polkit_.*|_pk_validate_unique_bus_name)" ".libs/libpolkit.exp" > ".libs/libpolkit.expT"
mv -f ".libs/libpolkit.expT" ".libs/libpolkit.exp"
cc -shared  .libs/polkit-sysdeps.o .libs/polkit-error.o .libs/polkit-result.o .libs/polkit-context.o .libs/polkit-action.o .libs/polkit-seat.o .libs/polkit-session.o .libs/polkit-caller.o .libs/polkit-policy-file-entry.o .libs/polkit-policy-file.o .libs/polkit-policy-cache.o .libs/polkit-policy-default.o .libs/polkit-debug.o .libs/polkit-utils.o .libs/polkit-config.o .libs/polkit-authorization.o .libs/polkit-authorization-constraint.o .libs/polkit-authorization-db.o -Wl,--whole-archive ../../src/kit/.libs/libkit.a -Wl,--no-whole-archive  -Wl,--rpath -Wl,/usr/lib -Wl,--rpath -Wl,/usr/lib /usr/lib/libexpat.so  -Wl,--as-needed -Wl,-soname -Wl,libpolkit.so.2 -o .libs/libpolkit.so.2.0.0
(cd .libs && rm -f libpolkit.so.2 && ln -s libpolkit.so.2.0.0 libpolkit.so.2)
(cd .libs && rm -f libpolkit.so && ln -s libpolkit.so.2.0.0 libpolkit.so)
rm -fr .libs/libpolkit.lax
mkdir .libs/libpolkit.lax
rm -fr .libs/libpolkit.lax/libkit.a
mkdir .libs/libpolkit.lax/libkit.a
(cd .libs/libpolkit.lax/libkit.a && ar x /home/peter/rebuild/build/policykit/policykit-0.9/src/polkit/../../src/kit/.libs/libkit.a)
ar cru .libs/libpolkit.a  polkit-sysdeps.o polkit-error.o polkit-result.o polkit-context.o polkit-action.o polkit-seat.o polkit-session.o polkit-caller.o polkit-policy-file-entry.o polkit-policy-file.o polkit-policy-cache.o polkit-policy-default.o polkit-debug.o polkit-utils.o polkit-config.o polkit-authorization.o polkit-authorization-constraint.o polkit-authorization-db.o  .libs/libpolkit.lax/libkit.a/kit-message.o .libs/libpolkit.lax/libkit.a/kit-file.o .libs/libpolkit.lax/libkit.a/kit-lib.o .libs/libpolkit.lax/libkit.a/kit-list.o .libs/libpolkit.lax/libkit.a/kit-spawn.o .libs/libpolkit.lax/libkit.a/kit-hash.o .libs/libpolkit.lax/libkit.a/kit-memory.o .libs/libpolkit.lax/libkit.a/kit-test.o .libs/libpolkit.lax/libkit.a/kit-entity.o .libs/libpolkit.lax/libkit.a/kit-string.o 
ranlib .libs/libpolkit.a
rm -fr .libs/libpolkit.lax
creating libpolkit.la
(cd .libs && rm -f libpolkit.la && ln -s ../libpolkit.la libpolkit.la)
make[4]: Leaving directory `/home/peter/rebuild/build/policykit/policykit-0.9/src/polkit'
dpkg-gensymbols: warning: some new symbols appeared in the symbols file: see diff output below
dpkg-gensymbols: warning: debian/libpolkit-grant2/DEBIAN/symbols doesn't match completely debian/libpolkit-grant2.symbols
--- debian/libpolkit-grant2.symbols (libpolkit-grant2 amd64)
+++ dpkg-gensymbolsMInYRL	2009-11-28 23:12:40.162336527 +0000
@@ -1,5 +1,65 @@
 libpolkit-grant.so.2 libpolkit-grant2 #MINVER#
+ _kit_get_num_fd at Base 0.9-4
+ _kit_memory_fail_nth_alloc at Base 0.9-4
+ _kit_memory_get_current_allocations at Base 0.9-4
+ _kit_memory_get_total_allocations at Base 0.9-4
+ _kit_memory_print_outstanding_allocations at Base 0.9-4
+ _kit_memory_reset at Base 0.9-4
  _polkit_authorization_db_auth_file_add at Base 0.7
+ kit_clearenv at Base 0.9-4
+ kit_debug at Base 0.9-4
+ kit_file_get_contents at Base 0.9-4
+ kit_file_set_contents at Base 0.9-4
+ kit_free at Base 0.9-4
+ kit_getline at Base 0.9-4
+ kit_getpwnam at Base 0.9-4
+ kit_getpwuid at Base 0.9-4
+ kit_hash_direct_equal_func at Base 0.9-4
+ kit_hash_direct_hash_func at Base 0.9-4
+ kit_hash_foreach at Base 0.9-4
+ kit_hash_foreach_remove at Base 0.9-4
+ kit_hash_insert at Base 0.9-4
+ kit_hash_lookup at Base 0.9-4
+ kit_hash_new at Base 0.9-4
+ kit_hash_ref at Base 0.9-4
+ kit_hash_str_copy at Base 0.9-4
+ kit_hash_str_equal_func at Base 0.9-4
+ kit_hash_str_hash_func at Base 0.9-4
+ kit_hash_unref at Base 0.9-4
+ kit_list_append at Base 0.9-4
+ kit_list_copy at Base 0.9-4
+ kit_list_delete_link at Base 0.9-4
+ kit_list_foreach at Base 0.9-4
+ kit_list_free at Base 0.9-4
+ kit_list_length at Base 0.9-4
+ kit_list_prepend at Base 0.9-4
+ kit_malloc0 at Base 0.9-4
+ kit_malloc at Base 0.9-4
+ kit_print_backtrace at Base 0.9-4
+ kit_realloc at Base 0.9-4
+ kit_spawn_sync at Base 0.9-4
+ kit_str_append at Base 0.9-4
+ kit_str_has_prefix at Base 0.9-4
+ kit_str_has_suffix at Base 0.9-4
+ kit_strdup at Base 0.9-4
+ kit_strdup_printf at Base 0.9-4
+ kit_strdup_vprintf at Base 0.9-4
+ kit_strfreev at Base 0.9-4
+ kit_string_append at Base 0.9-4
+ kit_string_append_c at Base 0.9-4
+ kit_string_ensure_size at Base 0.9-4
+ kit_string_entry_create at Base 0.9-4
+ kit_string_entry_createv at Base 0.9-4
+ kit_string_entry_parse at Base 0.9-4
+ kit_string_free at Base 0.9-4
+ kit_string_new at Base 0.9-4
+ kit_string_percent_decode at Base 0.9-4
+ kit_string_percent_encode at Base 0.9-4
+ kit_strndup at Base 0.9-4
+ kit_strsplit at Base 0.9-4
+ kit_strv_length at Base 0.9-4
+ kit_test_run at Base 0.9-4
+ kit_warning at Base 0.9-4
  polkit_authorization_db_add_entry_always at Base 0.7
  polkit_authorization_db_add_entry_process at Base 0.7
  polkit_authorization_db_add_entry_process_one_shot at Base 0.7

More information about the Pkg-utopia-maintainers mailing list