don't rely on dynamic deps

classic Classic list List threaded Threaded
276 messages Options
1234 ... 14
Reply | Threaded
Open this post in threaded view
|

don't rely on dynamic deps

hasufell
afaiu dynamic deps are broken and not defined in PMS

still... people seem to fix deps without revbumping, causing users who
either don't use dynamic deps (it's optional for portage through
--dynamic-deps=y, although it's on by default) or who use a different PM
to not get the fix, at worst resulting in broken dependency calculation

suggestion:
* stop fixing dependencies without revbumping
* add an appropriate question to the dev quiz
* remove dynamic deps from portage (afair that is already considered by
the portage team)

Reply | Threaded
Open this post in threaded view
|

Re: don't rely on dynamic deps

Samuli Suominen-4

On 21/07/14 22:37, hasufell wrote:

> afaiu dynamic deps are broken and not defined in PMS
>
> still... people seem to fix deps without revbumping, causing users who
> either don't use dynamic deps (it's optional for portage through
> --dynamic-deps=y, although it's on by default) or who use a different PM
> to not get the fix, at worst resulting in broken dependency calculation
>
> suggestion:
> * stop fixing dependencies without revbumping
> * add an appropriate question to the dev quiz
> * remove dynamic deps from portage (afair that is already considered by
> the portage team)
>

Revision bumping for dependency change that doesn't cause the package's
file content
to change doesn't make sense; triggers useless rebuilds for users.

Portage is the official package manager, and has dynamic deps enabled by
default.

And it's already in ebuild-quiz.txt to ensure knowing when to, or not to,
revbump:

*** Ebuild technical/policy questions

1. You change a package's ebuild to install an init script. Previously,
        the package had no init script at all.
        Is a revision bump necessary? Why? What about when adding a patch?


So, -1, useless rebuilds is one of the biggest problems lately, it's an
relatively new problem,
people are revbumping packages for the simplest things like EAPI4->5

- Samuli

Reply | Threaded
Open this post in threaded view
|

Re: don't rely on dynamic deps

Ciaran McCreesh-4
On Mon, 21 Jul 2014 22:42:23 +0300
Samuli Suominen <[hidden email]> wrote:
> people are revbumping packages for the simplest things like EAPI4->5

EAPI changing to 5 should always get a revbump, since it causes
confusion if anyone has a USE dependency upon your package.

--
Ciaran McCreesh

signature.asc (188 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: don't rely on dynamic deps

Andreas K. Huettel
In reply to this post by hasufell
Am Montag, 21. Juli 2014, 21:37:17 schrieb hasufell:

> afaiu dynamic deps are broken and not defined in PMS
>
> still... people seem to fix deps without revbumping, causing users who
> either don't use dynamic deps (it's optional for portage through
> --dynamic-deps=y, although it's on by default) or who use a different PM
> to not get the fix, at worst resulting in broken dependency calculation
>
> suggestion:
> * stop fixing dependencies without revbumping
> * add an appropriate question to the dev quiz
> * remove dynamic deps from portage (afair that is already considered by
> the portage team)
Actually the quizzes are pretty much clear on that.

Revision must be bumped when the on-disk files installed by the ebuild are
changed.
Nothing about dependencies.

This has been policy for a LONG time, and we're not going to change it
overnight just because you protest.

Now... whether dynamic deps are technically the right thing to do is another
question. It merits discussion, but we need to be really sure about the
consequences of any change.

--

Andreas K. Huettel
Gentoo Linux developer
[hidden email]
http://www.akhuettel.de/


signature.asc (970 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: don't rely on dynamic deps

Ciaran McCreesh-4
On Mon, 21 Jul 2014 21:53:04 +0200
"Andreas K. Huettel" <[hidden email]> wrote:
> Revision must be bumped when the on-disk files installed by the
> ebuild are changed.
> Nothing about dependencies.
>
> This has been policy for a LONG time, and we're not going to change
> it overnight just because you protest.

Policy used to be that you'd do a revbump when you wanted users to
reinstall stuff, and you wouldn't otherwise. The only complication is
that sometimes you want users to reinstall stuff so that there's
accurate dependency information available, rather than because
something has changed.

--
Ciaran McCreesh

signature.asc (188 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: don't rely on dynamic deps

Samuli Suominen-4
In reply to this post by Ciaran McCreesh-4

On 21/07/14 22:50, Ciaran McCreesh wrote:
> On Mon, 21 Jul 2014 22:42:23 +0300
> Samuli Suominen <[hidden email]> wrote:
>> people are revbumping packages for the simplest things like EAPI4->5
> EAPI changing to 5 should always get a revbump, since it causes
> confusion if anyone has a USE dependency upon your package.
>

What kind of confusion?   In my experience, Portage handles it well

Reply | Threaded
Open this post in threaded view
|

Re: don't rely on dynamic deps

Ian Stakenvicius-2
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

On 21/07/14 04:06 PM, Samuli Suominen wrote:

>
> On 21/07/14 22:50, Ciaran McCreesh wrote:
>> On Mon, 21 Jul 2014 22:42:23 +0300 Samuli Suominen
>> <[hidden email]> wrote:
>>> people are revbumping packages for the simplest things like
>>> EAPI4->5
>> EAPI changing to 5 should always get a revbump, since it causes
>> confusion if anyone has a USE dependency upon your package.
>>
>
> What kind of confusion?   In my experience, Portage handles it
> well
>

Says the guy that's emerging things with --nodeps most of the time... :D


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

iF4EAREIAAYFAlPNdFUACgkQ2ugaI38ACPAtHgD/YIrBc6LpzTRXm2lxWWSEXkUo
Wp6IM5mIthE1+0DepsYA/jTG85TGSHF7R326e8eaAlr02FT2g7M47wMjOLzzsvB/
=nDEq
-----END PGP SIGNATURE-----

Reply | Threaded
Open this post in threaded view
|

Re: don't rely on dynamic deps

Samuli Suominen-4

On 21/07/14 23:13, Ian Stakenvicius wrote:

> On 21/07/14 04:06 PM, Samuli Suominen wrote:
>
> > On 21/07/14 22:50, Ciaran McCreesh wrote:
> >> On Mon, 21 Jul 2014 22:42:23 +0300 Samuli Suominen
> >> <[hidden email]> wrote:
> >>> people are revbumping packages for the simplest things like
> >>> EAPI4->5
> >> EAPI changing to 5 should always get a revbump, since it causes
> >> confusion if anyone has a USE dependency upon your package.
> >>
>
> > What kind of confusion?   In my experience, Portage handles it
> > well
>
>
> Says the guy that's emerging things with --nodeps most of the time... :D
>
>
>

Portage's dependency calculation takes long time, but if you add useless
rebuilds of packages on top of that, that makes things even worse

(Yeah, I saw the ":D")

Reply | Threaded
Open this post in threaded view
|

Re: don't rely on dynamic deps

Ciaran McCreesh-4
In reply to this post by Samuli Suominen-4
On Mon, 21 Jul 2014 23:06:22 +0300
Samuli Suominen <[hidden email]> wrote:
> On 21/07/14 22:50, Ciaran McCreesh wrote:
> > On Mon, 21 Jul 2014 22:42:23 +0300
> > Samuli Suominen <[hidden email]> wrote:
> >> people are revbumping packages for the simplest things like
> >> EAPI4->5
> > EAPI changing to 5 should always get a revbump, since it causes
> > confusion if anyone has a USE dependency upon your package.
>
> What kind of confusion?   In my experience, Portage handles it well

The way (+) and (-) work depends upon the EAPI of the things they're
being matched against (not the EAPI of the package with the
dependencies). When developers are adding in >= dependencies to
restrict to matching against EAPI 5 things (as they have to do for
multilib, for example), they would need to check the CVS log to see if
any ebuild has *ever* been EAPI < 5. It's less work and less error-prone
for developers to just always do a bump when switching to EAPI 5.

--
Ciaran McCreesh

signature.asc (188 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: don't rely on dynamic deps

hasufell
In reply to this post by Samuli Suominen-4
Samuli Suominen:
> So, -1, useless rebuilds is one of the biggest problems lately

I am not sure if that is a joke.

We have:
* a broken PM which does incomplete dep calculation, gives wrong
suggestions to the user, has totally useless error/debug output,
randomly fails to remove files, allows to break your system in numerous
ways and whatnot... and I'm not going through bugzilla now to prove it
* overcomplex eclasses, because people try to avoid getting stuff into
the PM, resulting in more confusion for the PM
* repeatedly broken stable packages
* people coding against a PM instead of PMS and thus relying on
undocumented behavior and breaking the "meta-distribution" part of gentoo
* a PM codebase no one wants to be involved in

and you tell me the biggest problems are useless rebuilds?

Reality check, please. (btw... I didn't come up with the subslot idea,
so maybe check with those guys about useless rebuilds)


Removing dynamic deps is an easy way to improve the strictness of
portage, adhere better to PMS and improve compatibility with other PMs.

After that, we can discuss if there is a _sane_ way to avoid such rebuilds.

Reply | Threaded
Open this post in threaded view
|

Re: don't rely on dynamic deps

Ian Stakenvicius-2
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

On 21/07/14 04:28 PM, hasufell wrote:

>
> Reality check, please. (btw... I didn't come up with the subslot
> idea, so maybe check with those guys about useless rebuilds)
>
>
> Removing dynamic deps is an easy way to improve the strictness of
> portage, adhere better to PMS and improve compatibility with other
> PMs.
>
> After that, we can discuss if there is a _sane_ way to avoid such
> rebuilds.
>


subslot rebuilds aren't supposed to be useless; however if the subslot
is changed unnecessarily then yes, it can trigger those rebuilds.

I wonder if there may be some form of extension we could add to
portage, such that it could do a VDB-only "re-emerge" somehow, when
the in-tree ebuild doesn't match the in-VDB one.  If that could be
implemented properly (and i'm not sure that it could, tbh), maybe that
would help reduce issues with dynamic deps, too...


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

iF4EAREIAAYFAlPNewMACgkQ2ugaI38ACPB67gEAnK/FOF+6xQjXg3R3in3B/WgG
loDxg1XOpMDR6NQPE0QA/jeDo3Vxt5qawbohvpnoWVwPwxbpHSfWkQ0UIwnQcDRw
=EiHA
-----END PGP SIGNATURE-----

Reply | Threaded
Open this post in threaded view
|

Re: don't rely on dynamic deps

Michał Górny-5
In reply to this post by hasufell
Dnia 2014-07-21, o godz. 20:28:24
hasufell <[hidden email]> napisał(a):

> * a broken PM which does incomplete dep calculation, gives wrong
> suggestions to the user, has totally useless error/debug output,
> randomly fails to remove files, allows to break your system in numerous
> ways and whatnot... and I'm not going through bugzilla now to prove it

Just to add a single point, portage also randomly silently refuses to
update stuff because of subslot operator (instead of causing rebuilds).

--
Best regards,
Michał Górny

signature.asc (968 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: don't rely on dynamic deps

Michał Górny-5
In reply to this post by Andreas K. Huettel
Dnia 2014-07-21, o godz. 21:53:04
"Andreas K. Huettel" <[hidden email]> napisał(a):

> Am Montag, 21. Juli 2014, 21:37:17 schrieb hasufell:
> > afaiu dynamic deps are broken and not defined in PMS
> >
> > still... people seem to fix deps without revbumping, causing users who
> > either don't use dynamic deps (it's optional for portage through
> > --dynamic-deps=y, although it's on by default) or who use a different PM
> > to not get the fix, at worst resulting in broken dependency calculation
> >
> > suggestion:
> > * stop fixing dependencies without revbumping
> > * add an appropriate question to the dev quiz
> > * remove dynamic deps from portage (afair that is already considered by
> > the portage team)
>
> Actually the quizzes are pretty much clear on that.
>
> Revision must be bumped when the on-disk files installed by the ebuild are
> changed.
> Nothing about dependencies.
>
> This has been policy for a LONG time, and we're not going to change it
> overnight just because you protest.
This is not an argument. Just because we're doing things wrong for
a very long time doesn't mean we have to keep doing that. Especially
now that the breakage is getting much more visible with spread of
EAPI=5 and subslots.

> Now... whether dynamic deps are technically the right thing to do is another
> question. It merits discussion, but we need to be really sure about the
> consequences of any change.

Yes, it does. I'm not sure if it leads anywhere, though. Dynamic deps
are a pipe dream. You can't implement them properly, so we're using
half-working implementation as an excuse to be lazy.

Of course, the problem is that many developers just assume how dynamic
deps work. They don't know the details, they don't test it. They just
say 'I need not to revbump because dynamic-deps!' Then stuff breaks
because dynamic deps don't work. Or sometimes because they actually
work and the developer didn't think of them. Or sometimes because they
randomly start and stop working depending on the phase of the moon.

--
Best regards,
Michał Górny

signature.asc (968 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: don't rely on dynamic deps

Jeroen Roovers-3
In reply to this post by hasufell
On Mon, 21 Jul 2014 20:28:24 +0000
hasufell <[hidden email]> wrote:

> We have:
> * a broken PM which does incomplete dep calculation, gives wrong
> suggestions to the user, has totally useless error/debug output,
> randomly fails to remove files, allows to break your system in
> numerous ways and whatnot... and I'm not going through bugzilla now
> to prove it
> * overcomplex eclasses, because people try to avoid getting stuff into
> the PM, resulting in more confusion for the PM
> * repeatedly broken stable packages
> * people coding against a PM instead of PMS and thus relying on
> undocumented behavior and breaking the "meta-distribution" part of
> gentoo
> * a PM codebase no one wants to be involved in

So you suggest we work around a bug in the PM which would be a single
fix. Everywhere.


    jer

Reply | Threaded
Open this post in threaded view
|

Re: don't rely on dynamic deps

Pacho Ramos
In reply to this post by Ciaran McCreesh-4
El lun, 21-07-2014 a las 20:55 +0100, Ciaran McCreesh escribió:

> On Mon, 21 Jul 2014 21:53:04 +0200
> "Andreas K. Huettel" <[hidden email]> wrote:
> > Revision must be bumped when the on-disk files installed by the
> > ebuild are changed.
> > Nothing about dependencies.
> >
> > This has been policy for a LONG time, and we're not going to change
> > it overnight just because you protest.
>
> Policy used to be that you'd do a revbump when you wanted users to
> reinstall stuff, and you wouldn't otherwise. The only complication is
> that sometimes you want users to reinstall stuff so that there's
> accurate dependency information available, rather than because
> something has changed.
>

Maybe this could be solved by having two kinds of revisions:
- One would rebuild all as usually (for example, -r1...)
- The other one would only regenerate VDB and wouldn't change the
installed files (for example, -r1.1)

But I am not sure if it could be viable from a "technical" point of
view :(


Reply | Threaded
Open this post in threaded view
|

Re: don't rely on dynamic deps

Ciaran McCreesh-4
In reply to this post by Jeroen Roovers-3
On Mon, 21 Jul 2014 23:01:58 +0200
Jeroen Roovers <[hidden email]> wrote:
> So you suggest we work around a bug in the PM which would be a single
> fix. Everywhere.

Dynamic dependencies is not fixable. It's an irredeemably broken
concept.

--
Ciaran McCreesh

signature.asc (188 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: don't rely on dynamic deps

Jeroen Roovers-3
On Mon, 21 Jul 2014 22:06:08 +0100
Ciaran McCreesh <[hidden email]> wrote:

> On Mon, 21 Jul 2014 23:01:58 +0200
> Jeroen Roovers <[hidden email]> wrote:
> > So you suggest we work around a bug in the PM which would be a
> > single fix. Everywhere.
>
> Dynamic dependencies is not fixable. It's an irredeemably broken
> concept.

It works fine for me.


     jer

Reply | Threaded
Open this post in threaded view
|

Re: don't rely on dynamic deps

Samuli Suominen-4
In reply to this post by Michał Górny-5

On 21/07/14 23:56, Michał Górny wrote:
> Now... whether dynamic deps are technically the right thing to do is another
> question. It merits discussion, but we need to be really sure about the
> consequences of any change.
> Yes, it does. I'm not sure if it leads anywhere, though. Dynamic deps
> are a pipe dream. You can't implement them properly, so we're using
> half-working implementation as an excuse to be lazy.

What's lazy is maintainer doing revision bump without thinking
if it's really required, spreading his laziness upon every users
machine (by triggering revision bump driven rebuild)


Reply | Threaded
Open this post in threaded view
|

Re: don't rely on dynamic deps

Jeroen Roovers-3
In reply to this post by Pacho Ramos
On Mon, 21 Jul 2014 23:06:07 +0200
Pacho Ramos <[hidden email]> wrote:

> Maybe this could be solved by having two kinds of revisions:
> - One would rebuild all as usually (for example, -r1...)
> - The other one would only regenerate VDB and wouldn't change the
> installed files (for example, -r1.1)

Or the package manager looks at changed in *DEPEND between the repo
and vdb and resolves those. Oh wait, portage already does. And we've
been talking about this for something like six years now? Probably
longer.


     jer

Reply | Threaded
Open this post in threaded view
|

Re: don't rely on dynamic deps

Ciaran McCreesh-4
In reply to this post by Jeroen Roovers-3
On Mon, 21 Jul 2014 23:13:06 +0200
Jeroen Roovers <[hidden email]> wrote:

> On Mon, 21 Jul 2014 22:06:08 +0100
> Ciaran McCreesh <[hidden email]> wrote:
> > On Mon, 21 Jul 2014 23:01:58 +0200
> > Jeroen Roovers <[hidden email]> wrote:
> > > So you suggest we work around a bug in the PM which would be a
> > > single fix. Everywhere.
> >
> > Dynamic dependencies is not fixable. It's an irredeemably broken
> > concept.
>
> It works fine for me.
You should read the relevant bugs before making such a bold claim...
You're illustrating why we have the problem to begin with: you're
confusing "I've not noticed it go wrong, or realised that breakages
I've seen are because of this" with "works fine".

--
Ciaran McCreesh

signature.asc (188 bytes) Download Attachment
1234 ... 14