Your message dated Wed, 16 Apr 2008 10:32:03 +0000
with message-id <[EMAIL PROTECTED]>
and subject line Bug#470807: fixed in freetds 0.63-3.3
has caused the Debian Bug report #470807,
regarding freetds' private copy of dh_makeshlibs is no longer useful
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [EMAIL PROTECTED]
immediately.)


-- 
470807: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=470807
Debian Bug Tracking System
Contact [EMAIL PROTECTED] with problems
--- Begin Message ---
Package: freetds
Version: 0.63-3
User: [EMAIL PROTECTED]
Usertags: eabi, patch

   The freetds build breaks on armel saying

./debian/dh_makeshlibs -a -Xtdsodbc
dh_makeshlibs: Compatibility levels before 4 are deprecated.
Error: added symbols in libtdssrv.so.2: Base        __aeabi_f2ulz
Please update the library manifest at ./debian/dh_makeshlibs line 255.
make: *** [binary-arch] Error 255

Although mainline dh_makeshlibs was updated in Jan 08 to include
armel's funny symbols, freetds has a private copy of dh_makeshlibs in
debian/ dating from 2005 "to future-proof against incorrect shlibs"
according to the changelog.

Removing the outdated private copy and just using the system
dh_makeshlibdeps works fine on armel and also on i386  - patch
attached.

I guess this outdates #441736, which was an early effort to make the
same changes to the private copy, before the mainline dpkg-dev
received the new wisdom.
diff -urN freetds-0.63.orig/debian/dh_makeshlibs 
freetds-0.63/debian/dh_makeshlibs
--- freetds-0.63.orig/debian/dh_makeshlibs      2008-03-13 18:40:18.000000000 
+0000
+++ freetds-0.63/debian/dh_makeshlibs   1970-01-01 01:00:00.000000000 +0100
@@ -1,279 +0,0 @@
-#!/usr/bin/perl -w
-
-=head1 NAME
-
-dh_makeshlibs - automatically create shlibs file
-
-=cut
-
-use strict;
-use Debian::Debhelper::Dh_Lib;
-
-=head1 SYNOPSIS
-
-B<dh_makeshlibs> [S<I<debhelper options>>] [B<-m>I<major>] 
[B<-V>I<[dependencies]>] [B<-n>] [B<-X>I<item>]
-
-=head1 DESCRIPTION
-
-dh_makeshlibs is a debhelper program that automatically scans for shared
-libraries, and generates a shlibs file for the libraries it finds.
-
-It also adds a call to ldconfig in the postinst and postrm scripts (in
-V3 mode and above only) to any packages which it finds shared libraries in.
-
-=head1 OPTIONS
-
-=over 4
-
-=item B<-m>I<major>, B<--major=>I<major>
-
-Instead of trying to guess the major number of the library with objdump,
-use the major number specified after the -m parameter. This is much less
-useful than it used to be, back in the bad old days when this program
-looked at library filenames rather than using objdump.
-
-=item B<-V>, B<-V>I<dependencies>
-
-=item B<--version-info>, B<--version-info=>I<dependencies>
-
-By default, the shlibs file generated by this program does not make packages
-depend on any particular version of the package containing the shared
-library. It may be necessary for you to add some version dependancy
-information to the shlibs file. If -V is specified with no dependency
-information, the current upstream version of the package is plugged into a
-dependency that looks like "packagename (>= packageversion)". Note that in
-debhelper compatibility levels before v4, the debian part of the package
-version number is also included. If -V is specified with parameters, the
-parameters can be used to specify the exact dependency information needed
-(be sure to include the package name).
-
-Beware of using -V without any parameters; this is a conservative setting
-that always ensures that other packages' shared library dependencies are at
-least as tight as they need to be (unless your library is prone to changing
-ABI without updating the upstream version number), so that if the
-maintainer screws up then they won't break. The flip side is that packages
-might end up with dependencies that are too tight and so find it harder to
-be upgraded.
-
-=item B<-n>, B<--noscripts>
-
-Do not modify postinst/postrm scripts.
-
-=item B<-X>I<item>, B<--exclude=>I<item>
-
-Exclude files that contain "item" anywhere in their filename or directory 
-from being treated as shared libraries.
-
-=back
-
-=head1 EXAMPLES
-
-=over 4
-
-=item dh_makeshlibs
-
-Assuming this is a package named libfoobar1, generates a shlibs file that
-looks something like:
- libfoobar 1 libfoobar1
-
-=item dh_makeshlibs -V
-
-Assuming the current version of the package is 1.1-3, generates a shlibs
-file that looks something like:
- libfoobar 1 libfoobar1 (>= 1.1)
-
-=item dh_makeshlibs -V 'libfoobar1 (>= 1.0)'
-
-Generates a shlibs file that looks something like:
-  libfoobar 1 libfoobar1 (>= 1.0)
-
-=back
-
-=cut
-
-init();
-
-foreach my $package (@{$dh{DOPACKAGES}}) {
-       next if is_udeb($package);
-       
-       my $tmp=tmpdir($package);
-
-       my %seen;
-       my $need_ldconfig = 0;
-
-       doit("rm", "-f", "$tmp/DEBIAN/shlibs");
-
-       # So, we look for files or links to existing files with names that
-       # match "*.so*". Matching *.so.* is not good enough because of
-       # broken crap like db3. And we only look at real files not
-       # symlinks, so we don't accidentually add shlibs data to -dev
-       # packages. This may have a few false positives, which is ok,
-       # because only if we can get a library name and a major number from
-       # objdump is anything actually added.
-       my $exclude='';
-       if (defined($dh{EXCLUDE_FIND}) && $dh{EXCLUDE_FIND} ne '') {
-               $exclude="! \\( $dh{EXCLUDE_FIND} \\) ";
-       }
-       my @manifest;
-       my %shlibsmatch;
-       my $failure;
-       my $manifest = pkgfile($package, 'manifest');
-       if (-e $manifest) {
-               open (MANIFEST, $manifest);
-               @manifest = <MANIFEST>;
-               close MANIFEST;
-               if ($manifest[0] !~ /^\s+VERSION\s+2$/) {
-                       # Wrong version number -- ignore it silently?
-                       # throw a warning?
-                       undef (@manifest);
-               }
-               my (@shlibslist) = grep(/^\s+SONAME\s+/, @manifest);
-               for (@shlibslist) { s/^\s+SONAME\s+// }
-               foreach my $i (@shlibslist) {
-                       my ($name, $version) = split(/\s+/,$i);
-                       $shlibsmatch{$name} = [$version, 0];
-               }
-       }
-       open (FIND, "find $tmp -type f \\( -name '*.so' -or -name '*.so.*' \\) 
$exclude |");
-       while (<FIND>) {
-               chomp;
-               my ($library, $major, $soname);
-               my $objdump=`objdump -p $_`;
-               if ($objdump=~m/\s+SONAME\s+(.+)\.so\.(.+)/) {
-                       # proper soname format
-                       $library=$1;
-                       $major=$2;
-                       $soname="$1.so.$2";
-               }
-               elsif ($objdump=~m/\s+SONAME\s+(.+)-(.+)\.so/) {
-                       # idiotic crap soname format
-                       $library=$1;
-                       $major=$2;
-                       $soname="$1-$2.so";
-               }
-
-               if (@manifest) {
-                       $failure = "Error: new library $soname added to 
package\n"
-                              . "Please update the library manifest"
-                           unless exists($shlibsmatch{$soname});
-                       $shlibsmatch{$soname}[1] = 1;
-
-                       $ENV{'LC_COLLATE'} = 'C';
-                       my $word64 = `objdump -T $_ | grep 'file format elf64'`;
-                       my $bytes;
-                       if ($word64) {
-                               $bytes = '50-';
-                       } else {
-                               $bytes = '34-';
-                       }
-                       my (@objdump) = `objdump -T $_ | grep -E ' [gw] 
.*\\.text|__cxa_pure_virtual'| grep -vE 
'\\b((__gmon_start__|_ftext)\\b|_(rest|save)[fg]pr)' | cut -b$bytes | sed 
-e's/0x8[08] //' | c++filt | sort`;
-
-                       my $i = 0;
-                       # either it finds a match, or it reaches the end
-                       # of the file in which case $failure is already set
-                       while ($i <= $#manifest
-                              && $manifest[$i] !~ /SONAME\s+$soname\s+/)
-                       {
-                               $i++;
-                       }
-
-                       # skip over the soname
-                       $i++;
-
-                       my $offset = $i;
-                       while ($i <= $#manifest && $i - $offset <= $#objdump)
-                       {
-                               if ($manifest[$i] lt $objdump[$i-$offset])
-                               {
-                                       die "Error: incorrect soname $soname, 
missing symbol: "
-                                           . $manifest[$i];
-                               }
-                               if ($manifest[$i] gt $objdump[$i-$offset]
-                                   || $manifest[$i] =~ /SONAME\s+/)
-                               {
-                                       $failure = "Error: added symbols in 
$soname: "
-                                           . $objdump[$i-$offset]
-                                           . "Please update the library 
manifest";
-                                       $i--;
-                                       $offset--;
-                               }
-                               $i++;
-                       }
-                       if ($i <= $#manifest && $manifest[$i] !~ /SONAME\s+/)
-                       {
-                               die "Error: incorrect soname $soname, missing 
symbol: "
-                                   . $manifest[$i];
-                       }
-               }
-
-               if (defined($dh{M_PARAMS}) && $dh{M_PARAMS} ne '') {
-                       $major=$dh{M_PARAMS};
-               }
-               
-               if (! -d "$tmp/DEBIAN") {
-                       doit("install","-d","$tmp/DEBIAN");
-               }
-               my $deps=$package;
-               if ($dh{V_FLAG_SET}) {
-                       if ($dh{V_FLAG} ne '') {
-                               $deps=$dh{V_FLAG};
-                       }       
-                       else {
-                               # Call isnative becuase it sets $dh{VERSION}
-                               # as a side effect.
-                               isnative($package);
-                               my $version = $dh{VERSION};
-                               # Old compatibility levels include the
-                               # debian revision, while new do not.
-                               if (! compat(3)) {
-                                       # Remove debian version, if any.
-                                       $version =~ s/-[^-]+$//;
-                               }
-                               $deps="$package (>= $version)";
-                       }
-               }
-               elsif (%shlibsmatch) {
-                       my ($version) = $shlibsmatch{$soname}[0];
-                       $deps="$package (>= $version)" if ($version);
-               }
-               if (defined($library) && defined($major) && defined($deps) &&
-                   $library ne '' && $major ne '' && $deps ne '') {
-                       $need_ldconfig=1;
-                       # Prevent duplicate lines from entering the file.
-                       my $line="$library $major $deps";
-                       if (! $seen{$line}) {
-                               $seen{$line}=1;
-                               complex_doit("echo '$line' 
>>$tmp/DEBIAN/shlibs");
-                       }
-               }
-       }
-       close FIND;
-       foreach my $key (keys %shlibsmatch) {
-               die "Error: library removed from package: $key"
-                   unless ($shlibsmatch{$key}[1]);
-       }
-       die $failure if $failure;
-
-       # New as of dh_v3.
-       if (! compat(2) && ! $dh{NOSCRIPTS} && $need_ldconfig) {
-               autoscript($package,"postinst","postinst-makeshlibs");
-               autoscript($package,"postrm","postrm-makeshlibs");
-       }
-
-       if (-e "$tmp/DEBIAN/shlibs") {
-               doit("chmod",644,"$tmp/DEBIAN/shlibs");
-               doit("chown","0:0","$tmp/DEBIAN/shlibs");
-       }
-}
-
-=head1 SEE ALSO
-
-L<debhelper(7)>
-
-This program is a part of debhelper.
-
-=head1 AUTHOR
-
-Joey Hess <[EMAIL PROTECTED]>
-
-=cut
diff -urN freetds-0.63.orig/debian/rules freetds-0.63/debian/rules
--- freetds-0.63.orig/debian/rules      2008-03-13 18:40:18.000000000 +0000
+++ freetds-0.63/debian/rules   2008-03-13 18:42:46.000000000 +0000
@@ -102,8 +102,7 @@
        dh_link -a
        dh_compress -a
        dh_fixperms -a
-       chmod a+x ./debian/dh_makeshlibs
-       ./debian/dh_makeshlibs -a -Xtdsodbc
+       dh_makeshlibs -a -Xtdsodbc
        dh_installdeb -a
        dh_shlibdeps -a
        dh_gencontrol -a

--- End Message ---
--- Begin Message ---
Source: freetds
Source-Version: 0.63-3.3

We believe that the bug you reported is fixed in the latest version of
freetds, which is due to be installed in the Debian FTP archive:

freetds-dev_0.63-3.3_i386.deb
  to pool/main/f/freetds/freetds-dev_0.63-3.3_i386.deb
freetds_0.63-3.3.diff.gz
  to pool/main/f/freetds/freetds_0.63-3.3.diff.gz
freetds_0.63-3.3.dsc
  to pool/main/f/freetds/freetds_0.63-3.3.dsc
libct3_0.63-3.3_i386.deb
  to pool/main/f/freetds/libct3_0.63-3.3_i386.deb
libsybdb5_0.63-3.3_i386.deb
  to pool/main/f/freetds/libsybdb5_0.63-3.3_i386.deb
tdsodbc_0.63-3.3_i386.deb
  to pool/main/f/freetds/tdsodbc_0.63-3.3_i386.deb



A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to [EMAIL PROTECTED],
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Riku Voipio <[EMAIL PROTECTED]> (supplier of updated freetds package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing [EMAIL PROTECTED])


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Format: 1.8
Date: Sat, 05 Apr 2008 15:11:17 +0300
Source: freetds
Binary: libct3 tdsodbc libsybdb5 freetds-dev
Architecture: source i386
Version: 0.63-3.3
Distribution: unstable
Urgency: low
Maintainer: Steve Langasek <[EMAIL PROTECTED]>
Changed-By: Riku Voipio <[EMAIL PROTECTED]>
Description: 
 freetds-dev - MS SQL and Sybase client library (static libs and headers)
 libct3     - libraries for connecting to MS SQL and Sybase SQL servers
 libsybdb5  - libraries for connecting to MS SQL and Sybase SQL servers
 tdsodbc    - ODBC driver for connecting to MS SQL and Sybase SQL servers
Closes: 366440 433557 441736 470807
Changes: 
 freetds (0.63-3.3) unstable; urgency=low
 .
   * Non-maintainer upload.
   * Migrate to dpkg-shlibdeps symbols file,
     closes: #441736, #470807
   * Fix build-dependency on virtual package: closes: #433557
   * Patch configure to allow builds on kfreebsd/hurd, closes: #366440
   * Make package binNMUable
   * Add homepage field
Checksums-Sha1: 
 a85f2382880bfef1dc76b6fd7deca4a67d0bf658 1127 freetds_0.63-3.3.dsc
 3432a1c95434c979a0cb8c50e57d78535b627808 25853 freetds_0.63-3.3.diff.gz
 b184b530eb4b833052803a0b50760f1e4e47c011 311018 libct3_0.63-3.3_i386.deb
 8f2cf4ba3b7de13f1a01da07c3c05f25a55f0da7 117450 tdsodbc_0.63-3.3_i386.deb
 28500f93163a320414050821df62554c7afbfbfb 116070 libsybdb5_0.63-3.3_i386.deb
 8d6178e7cde3a413139735e46c810e44b6f2ca71 705206 freetds-dev_0.63-3.3_i386.deb
Checksums-Sha256: 
 ed400d63a49840d85ebff0d2d51f3b84e91bb0f00f5d936449d52ea6dae92069 1127 
freetds_0.63-3.3.dsc
 d913293aaf8cb0541c3f9fd6d5e5bc2602b37f5512127497138c1f11771f9fff 25853 
freetds_0.63-3.3.diff.gz
 bb313ff65f0d809798a4e9e8ad6fe60d15f862228fcf98c21f0da670cd465668 311018 
libct3_0.63-3.3_i386.deb
 a2b5fbdeee131d838590dd3d90faaa6a7a3de4cf41d05c1af186dace0988be58 117450 
tdsodbc_0.63-3.3_i386.deb
 50e1e18fc9e7c263e30efa7773a1573c521fcbf3fc70021cfd5d476b1b39eddd 116070 
libsybdb5_0.63-3.3_i386.deb
 fccad4e655071bbeb9bbc388a8aad5f27371cfe3cb9a05f1231e1356f6030b8e 705206 
freetds-dev_0.63-3.3_i386.deb
Files: 
 9b8bd14556375d0d9cf0fcf90e204d84 1127 libs optional freetds_0.63-3.3.dsc
 86ffd82870ef221f174f58a30e00c4dc 25853 libs optional freetds_0.63-3.3.diff.gz
 1ffb3d0d678d48845b4bd26418face8f 311018 libs optional libct3_0.63-3.3_i386.deb
 71418dea289b952135841178913d63d9 117450 libs optional tdsodbc_0.63-3.3_i386.deb
 da623674e2c6f8d03157e2c0fdaac124 116070 libs optional 
libsybdb5_0.63-3.3_i386.deb
 914ec24ab4a964b64c3c4e88708b321c 705206 devel optional 
freetds-dev_0.63-3.3_i386.deb

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)

iD8DBQFIBdOtibPvMsrqrwMRAlr0AJwJWnfBDXrwzB6MOMV0mNc6gPaXWwCdFRWE
4a5Vvj4ulDHKGXpaHLpe/zA=
=2sRe
-----END PGP SIGNATURE-----



--- End Message ---

Reply via email to