[opensuse-packaging] RFC: Fonts Repo and Renaming Questions
Hi, thanks to Darix, we have a M17N:fonts repository now! :) I've copied the first LinuxLibertine font from the M17N repo into M17N:fonts and renamed it according to the packaging guidelines: LinuxLibertine -> linux-libertine-fonts I've looked in our openSUSE Wiki and found a page about how to rename a package[1]. Basically, it's just adding the Provides and Obsolete keywords to the spec file. However, before I proceed further, maybe someone can answer my questions? 1. Can anybody confirm the mentioned URL[1] is still the correct way to do it? 2. Current version of Linux Libertine is 5.1.3. Which one is the correct line and why: a) Obsoletes: LinuxLibertine < 5.1.3 b) Obsoletes: LinuxLibertine < %{version} 3. Is the URL about replacing a package by another[2] an option in regards to fonts? 4. Anything else that should be observed? Thanks! :) ------ [1] http://en.opensuse.org/openSUSE:Package_dependencies#Renaming_a_package [2] http://en.opensuse.org/openSUSE:Package_dependencies#Replace_a_package_by_an... -- Gruß/Regards, Thomas Schraitle ---------------------------------------------------------------------- SUSE LINUX Products GmbH (o< Maxfeldstrasse 5 /\\ Documentation Specialist 90409 Nuernberg, Germany _\_v http://www.suse.com http://lizards.opensuse.org/author/thomas-schraitle/ SUSE LINUX GmbH, GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer, HRB 21284 (AG Nürnberg) -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
At Tue, 6 Dec 2011 16:38:59 +0100, Thomas Schraitle wrote:
Hi,
thanks to Darix, we have a M17N:fonts repository now! :)
I've copied the first LinuxLibertine font from the M17N repo into M17N:fonts and renamed it according to the packaging guidelines:
LinuxLibertine -> linux-libertine-fonts
I've looked in our openSUSE Wiki and found a page about how to rename a package[1]. Basically, it's just adding the Provides and Obsolete keywords to the spec file. However, before I proceed further, maybe someone can answer my questions?
1. Can anybody confirm the mentioned URL[1] is still the correct way to do it?
Yes. But note that the renaming is performed for the same version at this time, so the situation is different from the description there.
2. Current version of Linux Libertine is 5.1.3. Which one is the correct line and why: a) Obsoletes: LinuxLibertine < 5.1.3 b) Obsoletes: LinuxLibertine < %{version}
When renaming a package with the same version, better to use "<=". Otherwise the obsoletes won't be applied. That is, Obsoletes: LinuxLibertine <= 5.1.3 Provides: LinuxLibertine = %{version} where 5.1.3 is the version you started rename. You can pass %{version} there, too. The point to pass 5.1.3 is that you rename only packages that are known to be included in old distros. When %{version} is given and you upgrade the package (say 6.0.0), it'll obsolete packages between 5.1.3 and 6.0.0, too. This might include some unofficial packages, and you don't know exactly whether you should rename or not. But this is a subtle problem and usually you don't care. Thus passing %{version} won't be a problem (or even it's intentional to rename all), too.
3. Is the URL about replacing a package by another[2] an option in regards to fonts?
No. We do just rename, so simply give both obsoletes and provides.
4. Anything else that should be observed?
You may need to send changedevelreq when the renamed package is merged to FACTORY. thanks, Takashi
Thanks! :)
------ [1] http://en.opensuse.org/openSUSE:Package_dependencies#Renaming_a_package [2] http://en.opensuse.org/openSUSE:Package_dependencies#Replace_a_package_by_an...
-- Gruß/Regards, Thomas Schraitle
---------------------------------------------------------------------- SUSE LINUX Products GmbH (o< Maxfeldstrasse 5 /\\ Documentation Specialist 90409 Nuernberg, Germany _\_v http://www.suse.com http://lizards.opensuse.org/author/thomas-schraitle/ SUSE LINUX GmbH, GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer, HRB 21284 (AG Nürnberg) -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
-- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
Hi Takashi, thanks for your answer, much appreciated! :-)
[...]
1. Can anybody confirm the mentioned URL[1] is still the correct way to do it?
Yes. But note that the renaming is performed for the same version at this time, so the situation is different from the description there.
Ok, I'll try to remember that. :)
2. Current version of Linux Libertine is 5.1.3. Which one is the correct line and why: a) Obsoletes: LinuxLibertine < 5.1.3 b) Obsoletes: LinuxLibertine < %{version}
When renaming a package with the same version, better to use "<=". Otherwise the obsoletes won't be applied. That is,
Obsoletes: LinuxLibertine <= 5.1.3 Provides: LinuxLibertine = %{version}
where 5.1.3 is the version you started rename. You can pass %{version} there, too. The point to pass 5.1.3 is that you rename only packages that are known to be included in old distros. When %{version} is given and you upgrade the package (say 6.0.0), it'll obsolete packages between 5.1.3 and 6.0.0, too. This might include some unofficial packages, and you don't know exactly whether you should rename or not.
But this is a subtle problem and usually you don't care. Thus passing %{version} won't be a problem (or even it's intentional to rename all), too.
Ok, that was the missing piece.
3. Is the URL about replacing a package by another[2] an option in regards to fonts?
No. We do just rename, so simply give both obsoletes and provides.
Ok, will do so.
4. Anything else that should be observed?
You may need to send changedevelreq when the renamed package is merged to FACTORY.
Ok, will do so. :) Thanks, Takashi! Will proceed with the renaming in the next days. -- Gruß/Regards, Thomas Schraitle ---------------------------------------------------------------------- SUSE LINUX Products GmbH (o< Maxfeldstrasse 5 /\\ Documentation Specialist 90409 Nuernberg, Germany _\_v http://www.suse.com http://lizards.opensuse.org/author/thomas-schraitle/ SUSE LINUX GmbH, GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer, HRB 21284 (AG Nürnberg) -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
Hi, I tried to build it as you recommended, but another question turned up...
[...]
2. Current version of Linux Libertine is 5.1.3. Which one is the correct line and why: a) Obsoletes: LinuxLibertine < 5.1.3 b) Obsoletes: LinuxLibertine < %{version}
When renaming a package with the same version, better to use "<=". Otherwise the obsoletes won't be applied. That is,
Obsoletes: LinuxLibertine <= 5.1.3 Provides: LinuxLibertine = %{version}
where 5.1.3 is the version you started rename. [...]
Currently, I have version 5.1.3_2011_06_21 and my SPEC file and added the above condition. The SPEC file looks like this: Name: linux-libertine-fonts Version: 5.1.3 Obsoletes: LinuxLibertine <= 5.1.3 Provides: LinuxLibertine = %{version} [...] If I build it with osc I get the following warning: RPMLINT report: =============== linux-libertine-fonts.noarch: W: self-obsoletion LinuxLibertine <= 5.1.3 obsoletes LinuxLibertine = 5.1.3 The package obsoletes itself. This is known to cause errors in various tools and should thus be avoided, usually by using appropriately versioned Obsoletes and/or Provides and avoiding unversioned ones. This is somehow to be expected. :) If I change the "Obsoletes" condition from "<=" to "<", the above warning disappears. Now, the question is, is better to use "<" in this case or should I change the version number? Which is the recommended strategy? Just to make it right from the start. :) Thanks! -- Gruß/Regards, Thomas Schraitle ---------------------------------------------------------------------- SUSE LINUX Products GmbH (o< Maxfeldstrasse 5 /\\ Documentation Specialist 90409 Nuernberg, Germany _\_v http://www.suse.com http://lizards.opensuse.org/author/thomas-schraitle/ SUSE LINUX GmbH, GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer, HRB 21284 (AG Nürnberg) -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
Hi, Le mercredi 14 décembre 2011, à 08:39 +0100, Thomas Schraitle a écrit :
Hi,
I tried to build it as you recommended, but another question turned up...
[...]
2. Current version of Linux Libertine is 5.1.3. Which one is the correct line and why: a) Obsoletes: LinuxLibertine < 5.1.3 b) Obsoletes: LinuxLibertine < %{version}
When renaming a package with the same version, better to use "<=". Otherwise the obsoletes won't be applied. That is,
Obsoletes: LinuxLibertine <= 5.1.3 Provides: LinuxLibertine = %{version}
where 5.1.3 is the version you started rename. [...]
Currently, I have version 5.1.3_2011_06_21 and my SPEC file and added the above condition. The SPEC file looks like this:
Name: linux-libertine-fonts Version: 5.1.3 Obsoletes: LinuxLibertine <= 5.1.3 Provides: LinuxLibertine = %{version} [...]
If I build it with osc I get the following warning:
RPMLINT report: =============== linux-libertine-fonts.noarch: W: self-obsoletion LinuxLibertine <= 5.1.3 obsoletes LinuxLibertine = 5.1.3 The package obsoletes itself. This is known to cause errors in various tools and should thus be avoided, usually by using appropriately versioned Obsoletes and/or Provides and avoiding unversioned ones.
This is somehow to be expected. :) If I change the "Obsoletes" condition from "<=" to "<", the above warning disappears.
Now, the question is, is better to use "<" in this case or should I change the version number? Which is the recommended strategy? Just to make it right from the start. :)
The right thing is to live with the rpmlint warning; it will go away once there is a new version. FWIW, what we do in GNOME packages for this case is: - until there's a new version out: Provides: $oldname = %{version} # FIXME: This causes a rpmlint warning; change <= to < once there's a new upstream version Obsoletes: $oldname <= %{version} - when there's a new version out: Provides: $oldname = %{version} Obsoletes: $oldname < %{version} Cheers, Vincent Vincent -- Les gens heureux ne sont pas pressés. -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
Hi,
[...]
This is somehow to be expected. :) If I change the "Obsoletes" condition from "<=" to "<", the above warning disappears.
Now, the question is, is better to use "<" in this case or should I change the version number? Which is the recommended strategy? Just to make it right from the start. :)
The right thing is to live with the rpmlint warning; it will go away once there is a new version.
FWIW, what we do in GNOME packages for this case is:
- until there's a new version out:
Provides: $oldname = %{version} # FIXME: This causes a rpmlint warning; change <= to < once there's a new upstream version Obsoletes: $oldname <= %{version}
- when there's a new version out:
Provides: $oldname = %{version} Obsoletes: $oldname < %{version}
Ahhh, that's cool! Thanks Vincent! :) I'll document that in FATE#313035 and in the packaging guidelines. -- Gruß/Regards, Thomas Schraitle ---------------------------------------------------------------------- SUSE LINUX Products GmbH (o< Maxfeldstrasse 5 /\\ Documentation Specialist 90409 Nuernberg, Germany _\_v http://www.suse.com http://lizards.opensuse.org/author/thomas-schraitle/ SUSE LINUX GmbH, GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer, HRB 21284 (AG Nürnberg) -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
Hi,
[...] M17N:fonts and renamed it according to the packaging guidelines: [...]
Ok, I've added a new page in the Packaging Guidelines in regard to fonts, see [1]. It's mostly a revised version from the old[2] page and edited in "good faith". :) For example, I removed most text which is only useful for Fedora but doesn't make sense for openSUSE. I hope, I didn't introduce any errors. Please review, add your comments, or improve the page. Thanks! :-) ----- Sources [1] http://en.opensuse.org/openSUSE:Packaging_Fonts [2] http://old-en.opensuse.org/Packaging/Fonts_Policy -- Gruß/Regards, Thomas Schraitle ---------------------------------------------------------------------- SUSE LINUX Products GmbH (o< Maxfeldstrasse 5 /\\ Documentation Specialist 90409 Nuernberg, Germany _\_v http://www.suse.com http://lizards.opensuse.org/author/thomas-schraitle/ SUSE LINUX GmbH, GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer, HRB 21284 (AG Nürnberg) -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
participants (3)
-
Takashi Iwai
-
Thomas Schraitle
-
Vincent Untz