public inbox for gentoo-portage-dev@lists.gentoo.org
 help / color / mirror / Atom feed
From: pclouds <pclouds@gmail.com>
To: gentoo-portage-dev@lists.gentoo.org
Subject: [gentoo-portage-dev] idea: strict run-time dependencies to remove perl-cleaner, python-updater...
Date: Wed, 21 Sep 2005 23:24:28 +0900	[thread overview]
Message-ID: <fcaeb9bf05092107242de6f86b@mail.gmail.com> (raw)

This is an idea.
Everytime you update python, perl to a major version, you have to run
perl-cleaner/python-updater to re-emerge all packages that depend on
previous version. The situation is probably similar to kernel
packages. When you re-compile and install new kernel, you need to
re-emerge kernel packages to make sure it work properly. I'd rather a
consistent approach to solve these problems instead seperate updater
for separate programs such as python-updater, perl-cleaner.

The idea is to use a number to identify compatibility. Those versions
which have the same number are expected to work well with other
installed programs. If the number is different, then all other depend
programs should be re-emerged.

 When portage merge a package (A) to system, it allow the package to
specify a number (or string, whatever) to specify a compatibility
number. When other packages (e.g B) that depend on package A are
merged, it will keep A's special number in /var/db/pkg. If package A
is re-emerged and break compatibility, this number should change.
Otherwise, this number remains the same.
Those program like perl-cleaner, python-updater may benefit from these
numbers. It may check for numbers stored in /var/db/pkg's B and number
in A's. If these numbers differ, B should be re-emerged.
As for python, all python 2.4's number should be "2.4" and python
2.2.x  should be "2.2". Perl is similar. As for kernel, the number
should be timestamp. Suppose i can feed a kernel ebuild with a config
file :), then everytime i change config, re-emege kernel,
compatibility number should change. That's the signature for, say,
kernel-updater to update all kernel packages.

To implement this feature, ebuild should provide a function, say,
pkg_version() that return compatibility number. Portage should store
this number in /var/db/pkg. Also, when emerge an ebuild, portage
should store current compatibility numbers of all direct dependencies.
The rest of work is left to perl-cleaner, python-updater,
kernel-updater ..., checking compatibility numbers and update packages
appropriately.

How about this?
--
Bi Cờ Lao

-- 
gentoo-portage-dev@gentoo.org mailing list



             reply	other threads:[~2005-09-21 14:25 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-09-21 14:24 pclouds [this message]
2005-09-21 16:03 ` [gentoo-portage-dev] idea: strict run-time dependencies to remove perl-cleaner, python-updater Finn Thain
2005-09-22  8:19   ` pclouds
2005-09-22 10:54     ` Finn Thain
2005-09-30  9:28   ` Petteri Räty

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=fcaeb9bf05092107242de6f86b@mail.gmail.com \
    --to=pclouds@gmail.com \
    --cc=gentoo-portage-dev@lists.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