[packman] libsndfile splitting
Cristian Morales Vega
cmorve69 at yahoo.es
Fri Jun 12 01:38:06 CEST 2009
2009/6/11 Toni <toni at links2linux.de>:
> Am Dienstag, 9. Juni 2009 schrieb Cristian Morales Vega:
>> Looking at the libsndfile spec file, there is
>>
>> Package sndfile
>> Provides: libsndfile = 1.0.17
>> Obsoletes: libsndfile <= 1.0.17
>>
>> Package libsndfile%{_SO_nr}
>> Provides: libsndfile:%{_libdir}/libsndfile.so.1
>>
>> that shows a package (libsndfile) splitting into two (sndfile and
>> libsndfile%{_SO_nr}). But the thing is that for all the supported
>> openSUSE versions (>=10.3) that isn't true.
>> sndfile provides the executables and man pages, but the openSUSE
>> package providing them is libsndfile-progs, not libsndfile.
>>
>> So "sndfile" is an update for libsndfile-progs and
>> "libsndfile%{_SO_nr}" is an update for libsndfile. With some Provides
>> and Obsoletes there would be enough, there is no need for the
>> split-alias (Provides: libsndfile:%{_libdir}/libsndfile.so.1).
>>
> new package uploaded with Obsoletes/Provides for libsndfile-progs
Thanks.
But this still triggers the zypper dup problem. To make ir clearer I
attach the patch I propose
- The "<=" from Obsoletes are changed to "<" following the advice from
http://en.opensuse.org/Upgrade_Dependencies#Renaming_a_package
- I change "1.0.17" for "%{version}" since it can also update a
libsndfile-progs 1.0.18/19 from, perhaps, openSUSE 11.2 when is
released.
- The libsnd* names aren't used in any supported openSUSE version, so
can be removed.
- The "Provides: libsndfile:%{_libdir}/libsndfile.so.1" is for a
package split that doesn't exists (from any openSUSE supported
version), so can also be removed.
Also note that octave has been dropped from Factory, now lives in
Contrib. Not sure about the Packman policy about on which repos
packages can depend...
--- libsndfile.spec
+++ libsndfile.spec
@@ -45,12 +45,8 @@
BuildRequires: zlib-devel
%endif
-Provides: libsnd
-Obsoletes: libsnd
-Provides: libsndfile = 1.0.17
-Obsoletes: libsndfile <= 1.0.17
-Provides: libsndfile-progs = 1.0.17
-Obsoletes: libsndfile-progs <= 1.0.17
+Provides: libsndfile-progs = %{version}
+Obsoletes: libsndfile-progs < %{version}
# pmbs ...
%if "%{_with_octave}" == "1"
@@ -68,9 +64,8 @@
%package -n libsndfile%{_SO_nr}
Summary: Shared libraries for libsndfile
Group: System/Libraries
-#Provides: libsndfile = 1.0.17
-#Obsoletes: libsndfile <= 1.0.17
-Provides: libsndfile:%{_libdir}/libsndfile.so.1
+Provides: libsndfile = %{version}
+Obsoletes: libsndfile < %{version}
%description -n libsndfile%{_SO_nr}
Libsndfile is a C library for reading and writing sound files such as
@@ -103,10 +98,8 @@
Requires: zlib-devel
%endif
Requires: sqlite-devel
-Provides: libsndd
-Obsoletes: libsndd
-Provides: libsndfile-devel = 1.0.17
-Obsoletes: libsndfile-devel <= 1.0.17
+Provides: libsndfile-devel = %{version}
+Obsoletes: libsndfile-devel < %{version}
%description devel
Libsndfile is a C library for reading and writing sound files such as
@@ -132,8 +125,8 @@
Group: System/Libraries
PreReq: coreutils
Requires: octave
-Provides: libsndfile-octave = 1.0.17
-Obsoletes: libsndfile-octave <= 1.0.17
+Provides: libsndfile-octave = %{version}
+Obsoletes: libsndfile-octave < %{version}
%description octave
The libsndfile is a C library for reading and writing sound files such
More information about the Packman
mailing list