From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from lists.gentoo.org ([140.105.134.102] helo=robin.gentoo.org) by nuthatch.gentoo.org with esmtp (Exim 4.43) id 1EI5XO-0000l2-Pr for garchives@archives.gentoo.org; Wed, 21 Sep 2005 14:25:31 +0000 Received: from robin.gentoo.org (localhost [127.0.0.1]) by robin.gentoo.org (8.13.5/8.13.5) with SMTP id j8LEIVXi027924; Wed, 21 Sep 2005 14:18:31 GMT Received: from smtp.gentoo.org (smtp.gentoo.org [134.68.220.30]) by robin.gentoo.org (8.13.5/8.13.5) with ESMTP id j8LEIUip029887 for ; Wed, 21 Sep 2005 14:18:30 GMT Received: from xproxy.gmail.com ([66.249.82.201]) by smtp.gentoo.org with esmtp (Exim 4.43) id 1EI5WO-0005xP-FD for gentoo-portage-dev@lists.gentoo.org; Wed, 21 Sep 2005 14:24:28 +0000 Received: by xproxy.gmail.com with SMTP id h27so75177wxd for ; Wed, 21 Sep 2005 07:24:29 -0700 (PDT) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:reply-to:to:subject:mime-version:content-type:content-transfer-encoding:content-disposition; b=CYWcc7g1Buli40P7apWnRMEovoP4aqqkEybxjZrIBBmD/Z1zzLDZKdXnlNcSRiKtrhbjYHKVW2KeR3cNZM4uVn5FKXzQ+ZE3ZyZPTadCWoE+IsNb/Iad92ozz0FTditk0YhYRkPSxoCmeMobZR5sAAIQa43B9xiO19bYJJ8HXCY= Received: by 10.70.37.6 with SMTP id k6mr2478308wxk; Wed, 21 Sep 2005 07:24:29 -0700 (PDT) Received: by 10.70.19.7 with HTTP; Wed, 21 Sep 2005 07:24:28 -0700 (PDT) Message-ID: Date: Wed, 21 Sep 2005 23:24:28 +0900 From: pclouds To: gentoo-portage-dev@lists.gentoo.org Subject: [gentoo-portage-dev] idea: strict run-time dependencies to remove perl-cleaner, python-updater... Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-portage-dev@gentoo.org Reply-to: gentoo-portage-dev@lists.gentoo.org MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Disposition: inline X-MIME-Autoconverted: from base64 to 8bit by robin.gentoo.org id j8LEIUip029887 Content-Transfer-Encoding: quoted-printable X-MIME-Autoconverted: from 8bit to quoted-printable by robin.gentoo.org id j8LEIVYv027924 X-Archives-Salt: d9799a87-f51d-49d1-b824-3814ebdc563b X-Archives-Hash: 6fb15960f2ab9594d9479f9fa659ae91 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=E1=BB=9D Lao --=20 gentoo-portage-dev@gentoo.org mailing list