Matching package names across distributions

James Antill james at fedoraproject.org
Mon Feb 7 09:08:43 PST 2011


On Sat, 2011-02-05 at 00:14 +0000, Enrico Zini wrote:
> On Wed, Feb 02, 2011 at 05:36:18PM -0500, James Antill wrote:

> > % ./distromatch/distromatch fedora glibc
> > fedora:glibc debian:
> > fedora:glibc mandriva:glibc
> > fedora:glibc suse:glibc
> 
> Here I fixed the shlib regexp to include libraries in /lib (previously
> it only considered libraries in /usr/lib):
> 
>   $ ./distromatch fedora glibc
>   fedora:glibc debian:hurd,ia32-libs-core,libc0.1,libc0.1-i386,libc0.3,libc6,libc6-amd64,libc6-i386,libc6-mips64,libc6-mipsn32,libc6-ppc64,libc6-s390x,libc6-sparc64,libc6.1
>   fedora:glibc mandriva:clauer,glibc,ld.so1
>   fedora:glibc suse:glibc
> 
> I hadn't realised Debian has so many glibc packages :)

 Indeed, we really need arch. there to limit the options and I'm
guessing libc0 are false positives?

> > % ./distromatch/distromatch fedora zsh-html
> > fedora:zsh-html debian:
> > fedora:zsh-html mandriva:
> > fedora:zsh-html suse:
> 
> Is zsh-html the documentation of zsh, therefore something like
> http://packages.debian.org/sid/zsh-doc ?

 Yeh, it's basically everything below:

/usr/share/doc/zsh-html-*/

> > % ./distromatch/distromatch fedora openoffice.org-calc
> > fedora:openoffice.org-calc debian:app-install-data,broffice.org,libreoffice-calc,openoffice.org-calc
> > fedora:openoffice.org-calc mandriva:openoffice.org-calc
> > fedora:openoffice.org-calc suse:
> 
> This is hit by the openoffice->libreoffice transition. I'll need to
> investigate a bit more in the next days.

 Yeh, I was more concerned about the broffice.org match. As Fedora has a
broffice.org-calc etc. so we get:

% ./distromatch/distromatch fedora openoffice.org-calc 
fedora:openoffice.org-calc debian:app-install-data,broffice.org,libreoffice-calc,openoffice.org-calc
% ./distromatch/distromatch fedora broffice.org-calc  
fedora:broffice.org-calc debian:

> > ...it also doesn't seem to understand multilib. so you can find out that
> > blah.x86_64 on Fedora is libblah62.x86_64 on SuSE, but you can't find
> > out that blah.i686 is libblah62-32bit.x86_64.
> 
> Can you give me an example of a specific value of blah?

 Sure, on Fedora-13 I have:

sqlite-3.6.22-1.fc13.i686
sqlite-3.6.22-1.fc13.x86_64
sqlite-devel-3.6.22-1.fc13.x86_64
sqlite-devel-3.6.22-1.fc13.i686 
sqlite-doc-3.6.22-1.fc13.x86_64    
sqlite-tcl-3.6.22-1.fc13.x86_64              

...and looking at SuSE-11.3 I see:

libsqlite3-0-32bit-3.6.23-4.1.x86_64
libsqlite3-0-3.6.23-4.1.x86_64
sqlite3-3.6.23-4.1.x86_64
sqlite3-devel-3.6.23-4.1.x86_64
sqlite3-tcl-3.6.23-4.1.x86_64

...note that on Fedora the tool "sqlite3" (and it's man page etc.) is
included in the same package as the libraries.
 This also means that while the library is multilib. in both SuSE and
Fedora, the tool itself and the -devel part are also multilib. in Fedora
(but not in SuSE).

 Interestingly:

% ./distromatch/distromatch fedora sqlite-tcl
fedora:sqlite-tcl debian:
fedora:sqlite-tcl mandriva:
fedora:sqlite-tcl suse:

 No idea why this doesn't match sqlite3-tcl in SuSE.


% ./distromatch/distromatch fedora sqlite-doc
fedora:sqlite-doc debian:sqlite-doc
fedora:sqlite-doc mandriva:
fedora:sqlite-doc suse:

 I guess it's possible they don't ship docs, but seems unlikely.


% ./distromatch/distromatch fedora sqlite-devel
fedora:sqlite-devel debian:libsqlite0-dev,libsqlite3-dev
fedora:sqlite-devel mandriva:lib64sqlite0-devel,lib64sqlite3-devel,libsqlite0-devel,libsqlite3-devel,mingw32-sqlite
fedora:sqlite-devel suse:sqlite2-devel,sqlite3-devel
% ./distromatch/distromatch fedora sqlite2-devel
fedora:sqlite2-devel debian:libsqlite0-dev,libsqlite3-dev
fedora:sqlite2-devel mandriva:lib64sqlite0-devel,lib64sqlite3-devel,libsqlite0-devel,libsqlite3-devel
fedora:sqlite2-devel suse:sqlite2-devel,sqlite3-devel

 I'm guessing the later two are due to both containing
"/usr/lib64/libsqlite.so" ... and I'd guess the only way to work around
that will be to do extra lookups on the other packages from the same
base.


% ./distromatch/distromatch fedora sqlite
fedora:sqlite debian:sqlite,sqlite3
% ./distromatch/distromatch fedora sqlite2
fedora:sqlite2 debian:sqlite

 Not sure why it matches both for the first one, maybe have some kind of
logic that says "sqlite2 in Fedora just matches sqlite in Debian,
therefore remove that from the match of sqlite in Fedora?" ... not sure
that'd be universally good though.



More information about the Distributions mailing list