public inbox for gentoo-portage-dev@lists.gentoo.org
 help / color / mirror / Atom feed
From: michael.lienhardt@laposte.net
To: gentoo-portage-dev@lists.gentoo.org
Cc: Zac Medico <zmedico@gentoo.org>
Subject: Re: [gentoo-portage-dev] precisions on installed packages' dependencies
Date: Mon, 30 Mar 2020 23:55:31 +0200 (CEST)	[thread overview]
Message-ID: <110711371.15092330.1585605331527.JavaMail.zimbra@laposte.net> (raw)
In-Reply-To: <CAAr7Pr-yqBiNwwFKivEL+Dp2rXA=jXiKWq4FfW__cUHuS7_QzA@mail.gmail.com>


----- Alec Warner <antarus@gentoo.org> a écrit :

> Sorry I'm being overly academic. My concern earlier is that you mentioned a
> goal of "never breaking installed packages' which I found to be a fairly
> audacious goal. The idea is that we should build tools that achieve this
> practically (e.g. via heuristics such as := slot operators) while
> understanding that the complexities of application deploys are legion and
> the tool will never handle them all. So the goal of never breaking them is
> more an idealistic goal rather than a practical reality.

I agree.
I started this discussion because I thought that the content of the /var/db/pkg/* folder was not enough to keep the dependencies.
Then Zack and you showed me that I only saw the tip of the iceberg (in my defense, I first wanted to only keep the package's abstract dependencies, not the ones of the actual code. And then the discussion was really interesting).
My experience in dependency management is limited to an extended model of debian packages, so my question were (and will be) naive.

I understand that with the current status of Portage:
 - we can consider that the dependencies specified in a package ensure that it can be installed and run
 - however, package update and package removal is not guaranteed to work. Slot operators is an integrated way to capture some update behaviors, but not all. In general, a dedicated method (like for perl) can be needed.

I do believe that never breaking dependencies (at the code level) is a nice idealistic goal.
It might not always be possible to achieve it, but you did talk of much work done to do it where it is possible.
And, to come back to my previous question, I imagine that the slot operator is an ad-hoc but very useful to avoid dependency breakage when possible.
However, this operator looks strange to me: my (naive) intuition to express a trigger for package recompilation would be the other way around (i.e., it is the package that is updated that says what changes, and so, which other packages must be recompiled); like you illustrated with perl, an external tool (possibly different for each package) that gives which packages must be recompiled due to a specific package update.
This is why I asked why is the slot operator better as a recompilation trigger compared to other approaches? Is it because it only requires for the developer to add a "=" sign (simplicity is very important)? Or for another reason?

Many thanks!
Michael



      reply	other threads:[~2020-03-30 21:55 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-03-23  0:38 [gentoo-portage-dev] precisions on installed packages' dependencies michael.lienhardt
2020-03-23  1:01 ` Zac Medico
2020-03-23 22:21   ` Re : " michael.lienhardt
2020-03-24  4:13     ` Zac Medico
2020-03-24 18:31       ` michael.lienhardt
2020-03-26  8:06         ` Alec Warner
2020-03-27 13:59           ` michael.lienhardt
2020-03-28  6:48             ` Alec Warner
2020-03-30 21:55               ` michael.lienhardt [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=110711371.15092330.1585605331527.JavaMail.zimbra@laposte.net \
    --to=michael.lienhardt@laposte.net \
    --cc=gentoo-portage-dev@lists.gentoo.org \
    --cc=zmedico@gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox