[opensuse-packaging] So files in devel Packages?
Hello Mates, actually im working on the Packes libatlas3 and kde4-skrooge (Project: home:saigkill). RPMLint says: libatlas3.x86_64: E: devel-file-in-non-devel-package (Badness: 50) /usr/lib64/libatlas.so libatlas3.x86_64: E: devel-file-in-non-devel-package (Badness: 50) /usr/lib64/libcblas.so libatlas3.x86_64: E: devel-file-in-non-devel-package (Badness: 50) /usr/lib64/libf77blas.so This i don't understand. I thought, that only *.h Files included in - devel Package. And here RPMLint would like to move the so's to devel. Anyone understand this? -- Sincereley yours Sascha Manns openSUSE Marketing Team (Weekly News) openSUSE Build Service Web: http://saschamanns.gulli.to Blog: http://lizards.opensuse.org/author/saigkill -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
On 2/25/2009 at 14:51, "Sascha 'saigkill' Manns" <samannsml@directbox.com> wrote: Hello Mates,
actually im working on the Packes libatlas3 and kde4-skrooge (Project: home:saigkill). RPMLint says: libatlas3.x86_64: E: devel-file-in-non-devel-package (Badness: 50) /usr/lib64/libatlas.so libatlas3.x86_64: E: devel-file-in-non-devel-package (Badness: 50) /usr/lib64/libcblas.so libatlas3.x86_64: E: devel-file-in-non-devel-package (Badness: 50) /usr/lib64/libf77blas.so
This i don't understand. I thought, that only *.h Files included in - devel Package. And here RPMLint would like to move the so's to devel. Anyone understand this?
The .so files are normally only used at link time and should thus be in the devel packages. Only the .so.[0-9]+ should be in the normal library packages. There are of course exceptions when an app dlopen() a so-file and in this case it will need to be provided.. but the cases are rather rare. Dominique -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
Hi, On Wed, 25 Feb 2009, Sascha 'saigkill' Manns wrote:
Hello Mates,
actually im working on the Packes libatlas3 and kde4-skrooge (Project: home:saigkill). RPMLint says: libatlas3.x86_64: E: devel-file-in-non-devel-package (Badness: 50) /usr/lib64/libatlas.so libatlas3.x86_64: E: devel-file-in-non-devel-package (Badness: 50) /usr/lib64/libcblas.so libatlas3.x86_64: E: devel-file-in-non-devel-package (Badness: 50) /usr/lib64/libf77blas.so
This i don't understand. I thought, that only *.h Files included in - devel Package. And here RPMLint would like to move the so's to devel. Anyone understand this?
*.so files are used by the link editor (ld) to create executables, they are not used at runtime, where the *.so.* files are used instead (and *.so usually are just softlinks to *.so.*). Hence they belong to the -devel packages. Take care of only moving the *.so there, not the *.so.* . Ciao, Michael. -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
* Michael Matz (matz@suse.de) [20090225 14:57]:
*.so files are used by the link editor (ld) to create executables, they are not used at runtime, where the *.so.* files are used instead (and *.so usually are just softlinks to *.so.*).
I know of at least one package that uses the -revision flag to libtool which results in libsomething-x.y.z.so and an identical soname. So the rule to package .so files in -devel isn't always right. Philipp -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
Hi, On Wed, 25 Feb 2009, Philipp Thomas wrote:
*.so files are used by the link editor (ld) to create executables, they are not used at runtime, where the *.so.* files are used instead (and *.so usually are just softlinks to *.so.*).
I know of at least one package that uses the -revision flag to libtool which results in libsomething-x.y.z.so and an identical soname. So the rule to package .so files in -devel isn't always right.
It's a good rule of thumb, though. (It also breaks for dlopen() modules, though those don't belong into /usr/lib). And for Saschas problem it's exactly the correct solution. Ciao, Michael. -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
Le mercredi 25 février 2009, Sascha 'saigkill' Manns a écrit :
Hello Mates,
actually im working on the Packes libatlas3 and kde4-skrooge (Project: home:saigkill). RPMLint says: libatlas3.x86_64: E: devel-file-in-non-devel-package (Badness: 50) /usr/lib64/libatlas.so libatlas3.x86_64: E: devel-file-in-non-devel-package (Badness: 50) /usr/lib64/libcblas.so libatlas3.x86_64: E: devel-file-in-non-devel-package (Badness: 50) /usr/lib64/libf77blas.so
This i don't understand. I thought, that only *.h Files included in - devel Package. And here RPMLint would like to move the so's to devel. Anyone understand this?
There are more than *.h files in devel. There can be pkgconfig files, or static libraries (.a). The .so files rpmlint complains about are not library files but symbolic links. Typically you have libfoo.so.1.0.0 which is the library file, and libfoo.so.1 and libfoo.so which are links thereto. libfoo.so.1 is a link used at runtime, while libfoo.so is only needed at build time. So, rpmlint is correct, the .so files above should be in a devel package. -- Jean Delvare Suse L3 -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
participants (5)
-
Dominique Leuenberger
-
Jean Delvare
-
Michael Matz
-
Philipp Thomas
-
Sascha 'saigkill' Manns