Re: [gentoo-dev] Re: On the good usage of subslots

2013-02-11 Thread Ian Stakenvicius
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256

On 09/02/13 07:52 AM, Alexis Ballier wrote:
 On Sat, 09 Feb 2013 23:38:35 +1100 Michael Palimaka
 kensing...@gentoo.org wrote:
 
 I even noticed some maintainers adding subslots dependencies on 
 libraries that do not yet define subslots. This too seems
 reasonable, given that there would be no impact until the library
 defines a (sensible) subslot in the future.
 
 By the way, this could also be discussed: I did not check, but as
 far as I understand it subslot is equal to slot if not defined.
 When said library defines a subslot, the subslot will change and
 thus triggers a (likely useless) rebuild of your package setting a
 := dep.
 
 Alexis.
 

That isn't so much of a concern, imo, as the sub-slot introduction
(and therefore change) will most likely not occur on a library until
that library is bumped (ie, when an upgrade occurs on the library and
therefore also a rebuild of rdeps)


-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.19 (GNU/Linux)

iF4EAREIAAYFAlEZENUACgkQ2ugaI38ACPDKtAD8CLuyIbPH7yhzYj0hsShlLgkU
LJkJCrtnureSz9dyUPgA/R0GMc71Oys9K62E6p+Qye+xg1AQdP8iEj6IHSFhzv0+
=sxVB
-END PGP SIGNATURE-



Re: [gentoo-dev] Re: On the good usage of subslots

2013-02-10 Thread Alexis Ballier
On Sun, 10 Feb 2013 01:09:38 +1100
Michael Palimaka kensing...@gentoo.org wrote:

 On 9/02/2013 23:52, Alexis Ballier wrote:
  On Sat, 09 Feb 2013 23:38:35 +1100
  Michael Palimaka kensing...@gentoo.org wrote:
 
  I even noticed some maintainers adding subslots dependencies on
  libraries that do not yet define subslots. This too seems
  reasonable, given that there would be no impact until the library
  defines a (sensible) subslot in the future.
 
  By the way, this could also be discussed: I did not check, but as
  far as I understand it subslot is equal to slot if not defined.
  When said library defines a subslot, the subslot will change and
  thus triggers a (likely useless) rebuild of your package setting
  a := dep.
 
  Alexis.
 
 
 
 Yeah. This behaviour can be avoided by introducing the explicit
 subslot only when the subslot would otherwise need bumping.

I would not count on that as this would mean extra care has to be taken
when adding a subslot.

Alexis.



[gentoo-dev] Re: On the good usage of subslots

2013-02-09 Thread Michael Palimaka

Hi,

On 9/02/2013 23:15, Alexis Ballier wrote:

Dear fellow developers,

I hope this will be trivial to most of you but after seeing bug #455900
and the vast majority of developers not even thinking twice before
sedding their dep strings, I believe this needs some attention.


What is wrong with maintainers just updating their dependencies in this 
fashion? Surely the onus in this case is on package maintainers setting 
sensible subslots (which is indeed what you appear to be saying below)?


I even noticed some maintainers adding subslots dependencies on 
libraries that do not yet define subslots. This too seems reasonable, 
given that there would be no impact until the library defines a 
(sensible) subslot in the future.




What do subslots do: You set a subslot to a package and every time said
package subslot changes (e.g. with an update), others packages
depending on it with a := dep will be rebuilt. Nothing more, nothing
less.

Now, this solves a real problem: haskell, perl and ocaml packages need
to be rebuilt after updating their respective compiler/interpreter and,
in some cases, even after updating the libraries they use. Subslots
would make haskell-updater, perl-cleaner and ocaml-rebuild not needed
in the future.

You can also use subslots to notify an ABI change in a shared library,
in order to avoid having to use preserve-libs or run revdep-rebuild.
However, this week I had to rebuild webkit-gtk three or four times and
libreoffice twice...
If you want to notify ABI changes, then you should set subslot to
something representing the ABI, $PV as subslot is most certainly wrong
in that case. Subslot is *not* a substitute to checking your library
ABI, checking if its reverse dependencies work fine after the update,
and notifying upstream if something went wrong so they can make a quick
release fixing their mistake. Subslot is also *not* a substitute to
soname and ensuring ABI compatibility (at least forward) between
libraries with the same major. Using subslot only to be on the safe
side and forcing a rebuild of all the dependent packages because it is
too much work to check the ABI and work with upstream is, IMHO, a
serious QA issue.

Thank you for your attention,

Alexis.




Best regards,
Michael




Re: [gentoo-dev] Re: On the good usage of subslots

2013-02-09 Thread Alexis Ballier
On Sat, 09 Feb 2013 23:38:35 +1100
Michael Palimaka kensing...@gentoo.org wrote:

 Hi,
 
 On 9/02/2013 23:15, Alexis Ballier wrote:
  Dear fellow developers,
 
  I hope this will be trivial to most of you but after seeing bug
  #455900 and the vast majority of developers not even thinking twice
  before sedding their dep strings, I believe this needs some
  attention.
 
 What is wrong with maintainers just updating their dependencies in
 this fashion? Surely the onus in this case is on package maintainers
 setting sensible subslots (which is indeed what you appear to be
 saying below)?

If subslot does not represent ABI then it's wrong to set such := deps:
By setting them you are forcing your users to needlessly rebuild your
package.
Think about glib: gobject-introspection needs to be rebuilt after each
glib update. glib maintainers will likely want glib to have ${PV} as
subslot and let gobject-introspection := depend on it. Packages that do
not break with minor updates of glib (ie 99% of them) should not :=
depend on glib, even if it has a subslot.

What I wanted to say could be summarized as: Please define what your
subslot means when you define one and please check if that is the
meaning you want to give it when you set := deps.

Alexis.



Re: [gentoo-dev] Re: On the good usage of subslots

2013-02-09 Thread Alexis Ballier
On Sat, 09 Feb 2013 23:38:35 +1100
Michael Palimaka kensing...@gentoo.org wrote:

 I even noticed some maintainers adding subslots dependencies on 
 libraries that do not yet define subslots. This too seems reasonable, 
 given that there would be no impact until the library defines a 
 (sensible) subslot in the future.

By the way, this could also be discussed: I did not check, but as far
as I understand it subslot is equal to slot if not defined. When said
library defines a subslot, the subslot will change and thus triggers a
(likely useless) rebuild of your package setting a := dep.

Alexis.



[gentoo-dev] Re: On the good usage of subslots

2013-02-09 Thread Michael Palimaka

On 10/02/2013 00:47, Samuli Suominen wrote:

On 09/02/13 14:15, Alexis Ballier wrote:

Dear fellow developers,


I didn't find anything to reply directly here, so sorry for stealing
this message.

I just wanted to point out that people have lately been adding deps like:

media-libs/libpng:=
dev-libs/openssl:=

That is wrong as it completely ignores the SLOTting of these packages.
They need to be:

media-libs/libpng:0=
dev-libs/openssl:0=

As in, before you add any subslotting to any library, you need to check
for it's binary-only SLOTs!

Thanks,
Samuli





Is there a difference in behaviour between 'media-libs/libpng:=' and 
'media-libs/libpng' with no slot information at all?





[gentoo-dev] Re: On the good usage of subslots

2013-02-09 Thread Michael Palimaka

On 9/02/2013 23:52, Alexis Ballier wrote:

On Sat, 09 Feb 2013 23:38:35 +1100
Michael Palimaka kensing...@gentoo.org wrote:


I even noticed some maintainers adding subslots dependencies on
libraries that do not yet define subslots. This too seems reasonable,
given that there would be no impact until the library defines a
(sensible) subslot in the future.


By the way, this could also be discussed: I did not check, but as far
as I understand it subslot is equal to slot if not defined. When said
library defines a subslot, the subslot will change and thus triggers a
(likely useless) rebuild of your package setting a := dep.

Alexis.




Yeah. This behaviour can be avoided by introducing the explicit subslot 
only when the subslot would otherwise need bumping.





Re: [gentoo-dev] Re: On the good usage of subslots

2013-02-09 Thread Zac Medico
On 02/09/2013 06:05 AM, Michael Palimaka wrote:
 Is there a difference in behaviour between 'media-libs/libpng:=' and
 'media-libs/libpng' with no slot information at all?

I don't know if you phrased your question as intended. Anyway, yes, the
difference is that one with the slot-operator will trigger rebuilds when
the SLOT or sub-slot changes.
-- 
Thanks,
Zac



[gentoo-dev] Re: On the good usage of subslots

2013-02-09 Thread Michael Palimaka

On 10/02/2013 03:06, Zac Medico wrote:

On 02/09/2013 06:05 AM, Michael Palimaka wrote:

Is there a difference in behaviour between 'media-libs/libpng:=' and
'media-libs/libpng' with no slot information at all?


I don't know if you phrased your question as intended. Anyway, yes, the
difference is that one with the slot-operator will trigger rebuilds when
the SLOT or sub-slot changes.



You are right, I was not very clear, sorry about that.

Samuli talked about not forgetting to add the primary slot when adding a 
subslot dependency. Does the behaviour there differ compared to omitting 
the slot when there is no subslot dependency?


Eg. He wrote we should use 'media-libs/libpng:0=', but pre-subslots, the 
:0 was often (incorrectly?) omitted.





Re: [gentoo-dev] Re: On the good usage of subslots

2013-02-09 Thread Samuli Suominen

On 09/02/13 18:36, Michael Palimaka wrote:

Eg. He wrote we should use 'media-libs/libpng:0=', but pre-subslots, the
:0 was often (incorrectly?) omitted.


I've at least been adding :0 to many packages, openssl, tiff, libpng ...

... pretty much ever since the libpng 1.4 upgrade problem in the past 
that reminded me that if something is possible, users will do it
people masked =media-libs/libpng-1.4 and they only got the :1.2 
binary-only SLOT installed and ended up with no headers
so having :0 forces the headers be there, and people don't get confused 
(at least if you read portage's output correctly)





Re: [gentoo-dev] Re: On the good usage of subslots

2013-02-09 Thread Pacho Ramos
El sáb, 09-02-2013 a las 18:39 +0200, Samuli Suominen escribió:
 On 09/02/13 18:36, Michael Palimaka wrote:
  Eg. He wrote we should use 'media-libs/libpng:0=', but pre-subslots, the
  :0 was often (incorrectly?) omitted.
 
 I've at least been adding :0 to many packages, openssl, tiff, libpng ...
 
 ... pretty much ever since the libpng 1.4 upgrade problem in the past 
 that reminded me that if something is possible, users will do it
 people masked =media-libs/libpng-1.4 and they only got the :1.2 
 binary-only SLOT installed and ended up with no headers
 so having :0 forces the headers be there, and people don't get confused 
 (at least if you read portage's output correctly)
 
 
 

Wouldn't be better to force (via repoman) people to set exact slot
(or :* if packages work for all slots) to prevent problems like this and
future breakages could appear when SLOT if bumped and rdeps are not
fixes to depend on needed slot?


signature.asc
Description: This is a digitally signed message part