lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <22108.1257364949@turing-police.cc.vt.edu>
Date:	Wed, 04 Nov 2009 15:02:29 -0500
From:	Valdis.Kletnieks@...edu
To:	Mikulas Patocka <mikulas@...ax.karlin.mff.cuni.cz>
Cc:	Martin Nybo Andersen <tweek@...ek.dk>,
	Alan Cox <alan@...rguk.ukuu.org.uk>,
	"Ryan C. Gordon" <icculus@...ulus.org>,
	Måns Rullgård <mans@...sr.com>,
	linux-kernel@...r.kernel.org
Subject: Re: package managers [was: FatELF patches...]

On Wed, 04 Nov 2009 19:46:44 +0100, Mikulas Patocka said:

> When I did it (from Etch to Lenny), two programs that I have compiled 
> manually ("vim" and "links") stopped working because Etch and Lenny have 
> binary-incompatible libgpm.
> 
> If some library cannot keep binary compatibility, it should be linked 
> staticaly, dynamic version shouldn't even exists on the system --- so that 
> no one can create incompatible binaries.

No, all they need to do is bump the .so version number.

I have a creeping-horror binary that was linked against an older audit shared
library. Fedora shipped a newer one.  The fix?  Upgraded the lib, then
snarfed the old version off backups (you *do* make backups, right?)

% ls -l /lib64/libaudit*
lrwxrwxrwx 1 root root     17 2009-09-26 16:47 /lib64/libaudit.so.0 -> libaudit.so.0.0.0
-rwxr-xr-x 1 root root 107304 2009-04-03 15:47 /lib64/libaudit.so.0.0.0
lrwxrwxrwx 1 root root     17 2009-09-30 11:09 /lib64/libaudit.so.1 -> libaudit.so.1.0.0
-rwxr-xr-x 1 root root 103208 2009-09-28 16:00 /lib64/libaudit.so.1.0.0

They happily co-exist. My creeping horror references libaudit.so.0, the rest
of the system references libaudit.so.1 and everybody is happy.

And some distros even pre-package the previous set of libraries for some packages:

% yum list 'compat*'
Loaded plugins: dellsysidplugin2, downloadonly, refresh-packagekit, refresh-updatesd
Installed Packages
compat-expat1.x86_64                                          1.95.8-6                                    @rawhide
compat-readline5.i686                                         5.2-17.fc12                                 @rawhide
compat-readline5.x86_64                                       5.2-17.fc12                                 @rawhide
Available Packages
compat-db.x86_64                                              4.6.21-5.fc10                               rawhide 
compat-db45.x86_64                                            4.5.20-5.fc10                               rawhide 
compat-db46.x86_64                                            4.6.21-5.fc10                               rawhide 
compat-erlang.x86_64                                          R10B-15.12.fc12                             rawhide 
compat-expat1.i686                                            1.95.8-6                                    rawhide 
compat-flex.x86_64                                            2.5.4a-6.fc12                               rawhide 
compat-gcc-34.x86_64                                          3.4.6-18                                    rawhide 
compat-gcc-34-c++.x86_64                                      3.4.6-18                                    rawhide 
compat-gcc-34-g77.x86_64                                      3.4.6-18                                    rawhide 
compat-guichan05.i686                                         0.5.0-10.fc12                               rawhide 
compat-guichan05.x86_64                                       0.5.0-10.fc12                               rawhide 
compat-guichan05-devel.i686                                   0.5.0-10.fc12                               rawhide 
compat-guichan05-devel.x86_64                                 0.5.0-10.fc12                               rawhide 
compat-libf2c-34.i686                                         3.4.6-18                                    rawhide 
compat-libf2c-34.x86_64                                       3.4.6-18                                    rawhide 
compat-libgda.i686                                            3.1.2-3.fc12                                rawhide 
compat-libgda.x86_64                                          3.1.2-3.fc12                                rawhide 
compat-libgda-devel.i686                                      3.1.2-3.fc12                                rawhide 
compat-libgda-devel.x86_64                                    3.1.2-3.fc12                                rawhide 
compat-libgda-sqlite.x86_64                                   3.1.2-3.fc12                                rawhide 
compat-libgda-sqlite-devel.i686                               3.1.2-3.fc12                                rawhide 
compat-libgda-sqlite-devel.x86_64                             3.1.2-3.fc12                                rawhide 
compat-libgdamm.i686                                          3.0.1-4.fc12                                rawhide 
compat-libgdamm.x86_64                                        3.0.1-4.fc12                                rawhide 
compat-libgdamm-devel.i686                                    3.0.1-4.fc12                                rawhide 
compat-libgdamm-devel.x86_64                                  3.0.1-4.fc12                                rawhide 
compat-libgfortran-41.i686                                    4.1.2-38                                    rawhide 
compat-libgfortran-41.x86_64                                  4.1.2-38                                    rawhide 
compat-libstdc++-296.i686                                     2.96-143                                    rawhide 
compat-libstdc++-33.i686                                      3.2.3-68                                    rawhide 
compat-libstdc++-33.x86_64                                    3.2.3-68                                    rawhide 
compat-readline5-devel.i686                                   5.2-17.fc12                                 rawhide 
compat-readline5-devel.x86_64                                 5.2-17.fc12                                 rawhide 
compat-readline5-static.x86_64                                5.2-17.fc12                                 rawhide 

Content of type "application/pgp-signature" skipped

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ