lkml.org 
[lkml]   [2009]   [Nov]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: package managers [was: FatELF patches...]
    From
    Date
    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
    [unhandled content-type:application/pgp-signature]
    \
     
     \ /
      Last update: 2009-11-04 21:05    [W:6.327 / U:0.000 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site