Re: [gentoo-user] Portage: Updating all installed packages
Hi Dhruba, On Wed, Aug 13, 2003 at 02:39:22PM +0100, Dhruba Bandopadhyay wrote: > Hello > > Given that this issue arises quite frequently I have filed a bug about it. > > http://bugs.gentoo.org/show_bug.cgi?id=26540 > > Please read it and provide feedback either on the bug or on this list. > > Basically, the issue at hand is the difference between [1] and [2] and how > portage should handle this difference. > > [1] emerge -Duvp world > [2] emerge -Duvp `qpkg -I -nc` >From emerge --help, I got the following: --deep (-D short option) When used in conjunction with --update, this flag forces emerge to consider the entire dependency tree of packages, instead of checking only the immediate dependencies of the packages. As an example, this catches updates in libraries that are not directly listed in the dependencies of a package. This tells me that if I do an emerge -uD world it will take care of all packages and all dependencies that need to be updated. That is what I have been doing and had no problems. In other words, I don't see the need for your second command at all. Have I missed something? If so, let me know. Thanks, William -- [EMAIL PROTECTED] mailing list
Re: [gentoo-user] Portage: Updating all installed packages
Heschi Kreinick wrote: Your initial discussion did not relate to my bug at all. But, you ask, how do I get rid of them? That's what dep-clean is for. It's I did not ask this. usual, I think this is a documentation bug, not a portage bug. Would you really prefer that Portage waste its time and yours on packages nobody uses? Of course not. I'm suggesting adding a switch to portage which gives you the option to use it or not use it. So, now to address your bug entry. /var/db/pkg/category/package/{,R,P}DEPEND files. Either way, unless I've misunderstood, it's already available in one way or another. There is no method available currently in portage to achieve the same effect as [2] in the bug. Finally, there are plenty of things in Gentoo that de facto require a tool to do them right. There's ufed, mirrorselect, and etc-update. I don't see why qpkg shouldn't be part of that list if you really, really want to update all these packages. Well, the reason is simple. This is, the way I see it, base functionality. It is extending --deep to include the full map of packages. And this is why it requires due attention from the parent package. Either I've explained it inadequately or people are just not getting it. Yes, I can use a hack to do this but given that portage already almost achieves this effect adding such a feature will provide completeness and will prevent confusion arising form differing results between [1] and [2]. And the results are very different believe me. There have been times when on a fully up to date machine when [2] was executed it brought up a list an additional 20 or more updates. That kind of neglect IMO deserves at the very least some justification as to why they are being allowed to grow out of date. Thanks for feedback. -- [EMAIL PROTECTED] mailing list
Re: [gentoo-user] Portage: Updating all installed packages
William Hubbs wrote: From emerge --help, I got the following: --deep (-D short option) When used in conjunction with --update, this flag forces emerge to consider the entire dependency tree of packages, instead of checking only the immediate dependencies of the packages. As an example, this catches updates in libraries that are not directly listed in the dependencies of a package. This tells me that if I do an emerge -uD world it will take care of all packages and all dependencies that need to be updated. That is what I have been doing and had no problems. In other words, I don't see the need for your second command at all. Have I missed something? If so, let me know. Yes. You've missed the entire point of my post just like the other reply to this thread. Deep omits many packages and I'm suggesting that an option be added to take care of all packages. You'll also see that I'm already aware of the deep option since I've utilised it in my original message. Thanks for feedback nevertheless. -- [EMAIL PROTECTED] mailing list
Re: [gentoo-user] Portage: Updating all installed packages
William Hubbs wrote: The packages were installed (they appeared as upgrades). The way I see it, an installed package can have 4 possible relationships to other packages on the system: 1) It is in the world file. (this is caught by your first command) 2) It is part of the system profile. (this is also caught by your first command) 3) It is a direct or indirect dependency of something in the world file or system profile. (also caught by your first command) 4) It isn't in the world file, system profile, and also it isn't a direct or indirect dependency of anything in either file. (your second command catches this). Do you agree? If that is the case, shouldn't packages that are caught by your second command and not the first be candidates for unmerging? What do you think? Yes. That's right. Read my other post in this thread suffixed CLOSED. -- [EMAIL PROTECTED] mailing list
Re: [gentoo-user] Portage: Updating all installed packages = CLOSED
Heschi Kreinick wrote: I would appreciate it if you went back and reread what I wrote, because I thought I addressed the problem fairly completely. -Heschi After a discussion on #gentoo with a developer I've asked for this bug to be closed which has been done. It was decided, as you may have mentioned, that the correct course of action for these packages was either to add them to world file if desired or to remove them. My understanding of portage was incomplete and as such I'd overlooked some facts - my humble apologies on this account. Thanks for your feedback. -- [EMAIL PROTECTED] mailing list
Re: [gentoo-user] Portage: Updating all installed packages
Erik Ordway wrote: I think that there is a significant difference between "Updating all installed packages" and "... all packages and all dependencies that need to be updated.." I may be wrong but the first says update and rebuild any thing on the system that can be updated and the second says update anything in the world file and anything they depend on no matter how remotely. The first catches everything on the system and the second 'may' not. That's absolutely right and is the precise distinction I'm making here. -- [EMAIL PROTECTED] mailing list
Re: [gentoo-user] Portage: Updating all installed packages
On Wed, Aug 13, 2003 at 06:20:25PM +0100, Dhruba Bandopadhyay wrote: > William Hubbs wrote: > >Here is an addition to this. > > > >I just ran your commands, and the only packages that were omitted by > >--deep were net-ftp/ftp and sys-apps/netkit-base. > > > >As I recall, these were part of the system profile at one time, but they > >have been removed. > > > >Is it possible that the qpkg -I -nc command is catching orphaned packages > >which are not in the world file, system profile, and are not a dependency > >of anything in either place? If that is the case, why would you need a > >package that is in that category? Or should a package in that category be > >added to the world file? > > That's interesting. Did they appear as updates (U) or new packages (N)? > If they appeared as updates then you must have them installed. > Otherwise, they would appear as new packages. My inclusion criterion is > simple. If it is installed include it in updates list when using this > new switch regardless of how they relate to other packages. If not > installed exclude it. I don't know how those two packages have been > included if they are not even on the system. The packages were installed (they appeared as upgrades). The way I see it, an installed package can have 4 possible relationships to other packages on the system: 1) It is in the world file. (this is caught by your first command) 2) It is part of the system profile. (this is also caught by your first command) 3) It is a direct or indirect dependency of something in the world file or system profile. (also caught by your first command) 4) It isn't in the world file, system profile, and also it isn't a direct or indirect dependency of anything in either file. (your second command catches this). Do you agree? If that is the case, shouldn't packages that are caught by your second command and not the first be candidates for unmerging? What do you think? William -- [EMAIL PROTECTED] mailing list
Re: [gentoo-user] Portage: Updating all installed packages
William Hubbs wrote: Here is an addition to this. I just ran your commands, and the only packages that were omitted by --deep were net-ftp/ftp and sys-apps/netkit-base. As I recall, these were part of the system profile at one time, but they have been removed. Is it possible that the qpkg -I -nc command is catching orphaned packages which are not in the world file, system profile, and are not a dependency of anything in either place? If that is the case, why would you need a package that is in that category? Or should a package in that category be added to the world file? That's interesting. Did they appear as updates (U) or new packages (N)? If they appeared as updates then you must have them installed. Otherwise, they would appear as new packages. My inclusion criterion is simple. If it is installed include it in updates list when using this new switch regardless of how they relate to other packages. If not installed exclude it. I don't know how those two packages have been included if they are not even on the system. Thanks. -- [EMAIL PROTECTED] mailing list
Re: [gentoo-user] Portage: Updating all installed packages
On Wed, Aug 13, 2003 at 05:26:07PM +0100, Dhruba Bandopadhyay wrote: > William Hubbs wrote: > >From emerge --help, I got the following: > > > > > > --deep (-D short option) > > When used in conjunction with --update, this flag forces > > emerge > > to consider the entire dependency tree of packages, instead > > of > > checking only the immediate dependencies of the packages. > > As an > > example, this catches updates in libraries that are not > > directly > > listed in the dependencies of a package. > > > > This tells me that if I do an emerge -uD world it > > will take care of all packages and all > > dependencies that need to be updated. That is > > what I have been doing and had no problems. In > > other words, I don't see the need for your second > > command at all. > > > > Have I missed something? If so, let me know. > > Yes. You've missed the entire point of my post just like the other > reply to this thread. Deep omits many packages and I'm suggesting that > an option be added to take care of all packages. You'll also see that > I'm already aware of the deep option since I've utilised it in my > original message. Thanks for feedback nevertheless. Here is an addition to this. I just ran your commands, and the only packages that were omitted by --deep were net-ftp/ftp and sys-apps/netkit-base. As I recall, these were part of the system profile at one time, but they have been removed. Is it possible that the qpkg -I -nc command is catching orphaned packages which are not in the world file, system profile, and are not a dependency of anything in either place? If that is the case, why would you need a package that is in that category? Or should a package in that category be added to the world file? William -- [EMAIL PROTECTED] mailing list
[gentoo-user] Portage: Updating all installed packages
Hello Given that this issue arises quite frequently I have filed a bug about it. http://bugs.gentoo.org/show_bug.cgi?id=26540 Please read it and provide feedback either on the bug or on this list. Basically, the issue at hand is the difference between [1] and [2] and how portage should handle this difference. [1] emerge -Duvp world [2] emerge -Duvp `qpkg -I -nc` Look forward to receiving feedback. With regards Dhruba Bandopadhyay -- [EMAIL PROTECTED] mailing list
Re: [gentoo-user] Portage: Updating all installed packages
I think that there is a significant difference between "Updating all installed packages" and "... all packages and all dependencies that need to be updated.." I may be wrong but the first says update and rebuild any thing on the system that can be updated and the second says update anything in the world file and anything they depend on no matter how remotely. The first catches everything on the system and the second 'may' not. On Wednesday, August 13, 2003, at 08:10 AM, William Hubbs wrote: Hi Dhruba, On Wed, Aug 13, 2003 at 02:39:22PM +0100, Dhruba Bandopadhyay wrote: Hello Given that this issue arises quite frequently I have filed a bug about it. http://bugs.gentoo.org/show_bug.cgi?id=26540 Please read it and provide feedback either on the bug or on this list. Basically, the issue at hand is the difference between [1] and [2] and how portage should handle this difference. [1] emerge -Duvp world [2] emerge -Duvp `qpkg -I -nc` From emerge --help, I got the following: --deep (-D short option) When used in conjunction with --update, this flag forces emerge to consider the entire dependency tree of packages, instead of checking only the immediate dependencies of the packages. As an example, this catches updates in libraries that are not directly listed in the dependencies of a package. This tells me that if I do an emerge -uD world it will take care of all packages and all dependencies that need to be updated. That is what I have been doing and had no problems. In other words, I don't see the need for your second command at all. Have I missed something? If so, let me know. Thanks, William -- [EMAIL PROTECTED] mailing list -- [EMAIL PROTECTED] mailing list
Re: [gentoo-user] Portage: Updating all installed packages
> Your initial discussion did not relate to my bug at all. Yes, it did. It explained, in fact, exactly why this happens. It may have been too verbose or basic for you, but again, I have no idea how much you know about how Portage works, and you don't seem to have read it at all. It's possible that I was wrong (it always is) but if I am I would appreciate you telling me so. > > But, you ask, how do I get rid of them? That's what dep-clean is for. It's > I did not ask this. It's a rhetorical technique. You don't need to take it literally. > Of course not. I'm suggesting adding a switch to portage which gives > you the option to use it or not use it. I was attempting to explain why, by default, Portage doesn't try to update these packages. > > So, now to address your bug entry. > > /var/db/pkg/category/package/{,R,P}DEPEND files. Either way, unless I've > > misunderstood, it's already available in one way or another. > > There is no method available currently in portage to achieve the same > effect as [2] in the bug. I gave you one in the line you snipped. Again, if it doesn't work, I'd like it if you told me why instead of ignoring me. And you haven't at all explained what this extra "deps" file is intended to do. Why can't I just do "find" in /var/db/pkg to get this information? > > Finally, there are plenty of things in Gentoo that de facto require a tool > > to do them right. There's ufed, mirrorselect, and etc-update. I don't see > > why qpkg shouldn't be part of that list if you really, really want to update > > all these packages. > > Well, the reason is simple. This is, the way I see it, base > functionality. It is extending --deep to include the full map of > packages. And this is why it requires due attention from the parent > package. No, it is forcing Portage to include packages that have *no reason* to be on your system. I would prefer it got rid of them altogether, rather than updating them. But that's hard. > Thanks for feedback. I would appreciate it if you went back and reread what I wrote, because I thought I addressed the problem fairly completely. -Heschi -- [EMAIL PROTECTED] mailing list
Re: [gentoo-user] Portage: Updating all installed packages
You're acting like this is a big deal. Unless I'm missing something, it's really not. I don't know how much people know about how Portage calculates its dep tree, so I'll start from scratch. When you emerge a package, two important (for our purposes) things happen. 1) a directory in /var/db/pkg is created containing the current state of a number of Portage variables, including the USE variables, and the ebuild. 2) If the emerge was done without -u and --oneshot the package is added to /var/cache/edb/world. How are dependancy packages handled? As if they had --oneshot. They are not added to world. (NB: I'm ignoring the system profile) At this point, emerge -puD world updates all packages, because they are all in the dependancy graph--that is, every package is installed for a reason. Either it was manually emerged, or it is a dependancy or of one that was. What happens when you unmerge this package? Portage uses the /var/db/pkg ebuild and CONTENTS file to un-install the package. Any dependencies that you have are *left alone*. This is a much commented-on problem when removing, for example, kde. Now you have packages on your system that you don't need, and aren't in the depgraph. So when you do emerge -puD world they will not be found, because emerge -puD world is really emerge -puD `cat /var/cache/edb/world`. (again, ignoring the system profile) But why should they be? Unless you've lied to portage (removed something from the world file) or there's a portage bug (it removed it for you when it shouldn't have) nobody really uses any of these--why update them? But, you ask, how do I get rid of them? That's what dep-clean is for. It's in gentoolkit. Run it. I clean my systems out like this: emerge -C `dep-clean -U -C|grep /` , but you should check which packages you're about to destroy first. Then run revdep-rebuild, because sometimes there have been dependency changes without revision bumps (which is, IMO, a bug). Once you do this, if you still see a deviation, THEN you have a bug. If not, as usual, I think this is a documentation bug, not a portage bug. Would you really prefer that Portage waste its time and yours on packages nobody uses? So, now to address your bug entry. "The problem of course with executing [2] using qpkg is that all packages get added to the world file so portage needs to handle this differently." emerge -uD --oneshot `qpkg -I -nc` "Deps file - Another will be a 'deps' file in the same location and this will contain all packages pulled in as a result of a manually installed package. This 'dependencies' file will also contain all system packages which form part of the initial base system." I'm not sure what you mean by this--this is either the difference between world+system and qpkg -I -nc (i.e., dep-clean -U) , or the /var/db/pkg/category/package/{,R,P}DEPEND files. Either way, unless I've misunderstood, it's already available in one way or another. Finally, there are plenty of things in Gentoo that de facto require a tool to do them right. There's ufed, mirrorselect, and etc-update. I don't see why qpkg shouldn't be part of that list if you really, really want to update all these packages. -Heschi > http://bugs.gentoo.org/show_bug.cgi?id=26540 > > Please read it and provide feedback either on the bug or on this list. > > Basically, the issue at hand is the difference between [1] and [2] and how > portage should handle this difference. > > [1] emerge -Duvp world > [2] emerge -Duvp `qpkg -I -nc` > > Look forward to receiving feedback. -- [EMAIL PROTECTED] mailing list