Re: [gentoo-user] portage bug?
Daniel Iliev wrote: Hi, Would anybody, please, confirm the following behavior before I file a report with B.G.O? % emerge -C dev-perl/yaml % emerge --depclean -p [-snip-] Calculating dependencies... done! * Dependencies could not be completely resolved due to * the following required packages not being installed: * * dev-perl/yaml pulled in by: * perl-core/Module-Build-0.28.08 * * Have you forgotten to run `emerge --update --newuse --deep world` prior * to depclean? It may be necessary to manually uninstall packages that no longer * exist in the portage tree since it may not be possible to satisfy their * dependencies. Also, be aware of the --with-bdeps option that is documented * in `man emerge`. % emerge --update --newuse --deep world Calculating dependencies... done! Auto-cleaning packages... No outdated packages were found on your system. It's not a bug, it's counterintuitive expected behavior. The pointer to the answer is buried in the error message: Also, be aware of the --with-bdeps option that is documented in `man emerge` In summary, dev-perl/yaml is a build dependency of Module-Build, and therefore not strictly required. By default, to be safe, depclean expects it to be there. Since Module-Build is already installed, however, by default emerge won't pull it in, because it shouldn't be necessary. Hence, the behavior you observe. You can file a bug if you wish, but make sure to do a full search, as there are misunderstandings of depclean all over b.g.o. Nick
Re: [gentoo-user] how to recover a portage that wasn't in use for very long time
Alexey Luchko wrote: Hi! I have a gentoo installed, but I wasn't updating it since late 2007, I suppose. Today I've run emerge --sync. It worked! It's great ;) But then I've got the following collision. Obviously, a portage update is required. But it is confused by dependencies: colinux ~ # emerge portage --pretend --tree These are the packages that would be merged, in reverse order: Calculating dependencies... done! [nomerge ] sys-apps/portage-2.1.6.11 [2.1.2.2] [ebuild U ] app-shells/bash-3.2_p39 [3.1_p17] USE=-examples% -plugins% [ebuild U ] sys-apps/portage-2.1.6.11 [2.1.2.2] [ebuild U ] dev-python/pycrypto-2.0.1-r6 [2.0.1-r5] [ebuild U ] sys-apps/sandbox-1.6-r2 [1.2.17] [ebuild N] app-arch/lzma-utils-4.32.7 USE=-nocxx [ebuild N] app-admin/eselect-news-20080320 [ebuild U ] app-admin/eselect-1.0.11-r1 [1.0.7] USE=-vim-syntax% [ebuild U ] app-misc/pax-utils-0.1.19 [0.1.15] [blocks B ] sys-apps/portage-2.1.5 (is blocking app-shells/bash-3.2_p39) colinux ~ # How to get it out? Regards, Alexey. I worked on this a couple months back to make it possible. The key is to download binary packages of portage and a few dependencies to break the block. Once portage is upgraded, it's smart enough to figure things out now. An original script an discussion can be found at http://blog.jolexa.net/2009/03/25/gentoo-tips-to-upgrade-your-really-old-installation/ A slightly modified version is here inline. I would recommend against running it as a script, but rather do the steps individually (also, if you aren't running amd64, be sure to change the architecture of the binaries you are downloading). Read this line as typical warnings of your mileage may very etc. Nick #Version 0.2, written by Nick Fortino #April 03, 2009 #This is known to work on systems younger than 2006.1, and suspected to fail #on anything older due to glibc-2.4 incompatibility. #This is an experimental guide on how to upgrade an old system to get to #portage 2.1.6.7. Once this state is achieved, portage can do the rest, with #decent dependency resolution. ### #Between the first tar command and the success of 'emerge -K ...', the #true state of the system, and the state according to portage are different. #This is rather unsafe, so be sure you understand what you are doing. #Consider this your big red warning to backup important files before attempting #an update, and consider a re-install if possible. ### #It may be wise to use the default make.conf, as we would like to rebuild #as few packages as possible before the toolchain has been updated, and use #flags will bring in a bunch of dependencies. #Update the symlink to an existing profile unlink /etc/make.profile ln -s ../usr/portage/profiles/default/linux/amd64/2008.0 /etc/make.profile #Fetch and forcefully upgrade python, bash, and portage with prebuilt sources #The naming of the directory All is important, as we are going to use /root #as binary package source later on mkdir All cd All wget http://tinderbox.dev.gentoo.org/default-linux/amd64/dev-lang/python-2.5.2-r7.tbz2 wget http://tinderbox.dev.gentoo.org/default-linux/amd64/app-shells/bash-3.2_p39.tbz2 wget http://tinderbox.dev.gentoo.org/default-linux/amd64/sys-apps/portage-2.1.6.7.tbz2 cd / tar xfpj root/All/python-2.5.2-r7.tbz2 tar xfpj root/All/bash-3.2_p39.tbz2 tar xfpj root/All/portage-2.1.6.7.tbz2 #emerge these packages, so that portage is informed as to what is going on PKGDIR=/root emerge -K --nodeps python bash portage #See what will be upgraded, there should be no unresolved blockers emerge -puDNv system #Unfortunately, on anything except a stage3 only build, there could be #This is due to the fact that we aren't updating all of world #Run emerge -pvuDN world, if that has no blockers, there is a #rather simple solution. If that has blockers, your on your own. #Read the text of the blockers, figure out which additional packages #need upgrading to make everything work, and append them to the command. #An example: #emerge -pvuDN system hal mit-krb5 #Perform the update, this command will likely make good progress, and then fail emerge -auDN system #Known failures and solutions #Python updater and python split, creating a confilct, resolve by removing #the old file rm /usr/sbin/python-updater emerge -a1 python-updater emerge -a1 python #Cracklib is wants -unmerge-orphans FEATURES='-unmerge-orphans' emerge -a1 cracklib #continue the upgrade emerge -auDN system #Cleanup #Update the current terminal env-update source /etc/profile #Deal with the many /etc files which need updating emerge gentoolkit dispatch-conf #At this point, the toolchain has been rebuilt, which likely involved an upgrade #of gcc. Follow http://www.gentoo.org/doc/en/gcc
Re: [gentoo-user] Re: Can't figure out why emerage wants to build xscreensaver
Grant Edwards wrote: On 2009-04-10, Paul Hartman paul.hartman+gen...@gmail.com wrote: On Fri, Apr 10, 2009 at 11:30 AM, Grant Edwards gra...@visi.com wrote: Is something broken in the xfce ebuilds? emerge keeps wanting to install xscreensaver even though I've got -xscreensaver in my USE variable in make.conf. Everytime I update, xscreensaver gets reinstalled, and I have to manually emerge -C it: # emerge -auvtND world These are the packages that would be merged, in reverse order: Calculating dependencies... done! [nomerge ] xfce-base/xfce4-4.4.3 USE=alsa cups oss -minimal -xscreensaver [nomerge ] xfce-base/xfce4-session-4.4.3 USE=dbus -debug -gnome [nomerge ] xfce-base/xfce-utils-4.4.3 USE=dbus lock -debug [ebuild N]x11-misc/xscreensaver-5.07 USE=jpeg opengl pam -new-login -suid -xinerama 0 kB It is because of the lock USE flag on xfce-utils. I think it uses xscreensaver for the screen-locking function. I see. An unpleasant side-effect is that the screensaver function keeps kicking in. I guess I'll remove the lock flag from xfce-utils. Oddly, I have the lock flag for xfce-utils on another similar system, and emerge doesn't think it needs xscreensaver on that system. Perhpas because I have xlockmore installed on that system? If you don't want a specific package, echo 'x11-misc/xscreensaver' /etc/portage/package.mask In this case, the dependency is: lock? ( || ( x11-misc/xscreensaver gnome-extra/gnome-screensaver x11-misc/xlockmore ) ) so either gnome-screensaver or xlockmore will be pulled in to compensate. Nick
Re: [gentoo-user] revdep-rebuild problem
John P. Burkett wrote: Doing revdep-rebuild on an amd64 machine, I received a response the included the following lines: * All prepared. Starting rebuild emerge --oneshot app-text/xpdf:0 gnome-base/gnome-panel:0 kde-base/kdegraphics:3.5 mail-client/-MERGING-evolution:2.0 media-plugins/gst-plugins-faad:0.8 media-plugins/xmms-alsa:0 media-plugins/xmms-vorbis:0 media-video/totem:0 .. Calculating dependencies... done! emerge: there are no ebuilds to satisfy mail-client/-MERGING-evolution:2.0. After doing emerge -C evolution, I redid revdep-rebuild but got the same response. After doing emerge evolution, I again redid revdep-rebuild, with the same results. Suggestions for how to successfully run revdep-rebuild would be most welcome. I'm willing to sacrifice evolution if that would help. Hmm, somehow portage got the idea there is a package named mail-client/-MERGING-evolution, which is false. If you are lucky: emerge -avC mail-client/-MERGING-evolution Although that could fail, as package names aren't supposed to start with -, so who knows what portage does with it. Next shot, clear out anything you don't need (make sure to check the output, although these days this command is safe unless you have done something strange). emerge -av --depclean Final shot is to play around in /var/db/pkg. This is where portage keeps track of what is installed, and how, so messing around here is inherently unsafe. I have my suspicions as to the correct thing to do here, but I won't post it since I'm not terribly sure. Someone with more expertise could help here, but I suspect either method 1 or 2 will work. Nick
Re: [gentoo-user] resolving this block
Michael P. Soulier wrote: So, I checked for updates and I saw this. These are the packages that would be merged, in order: Calculating dependencies... done! [ebuild U ] app-text/tree-1.5.2.2 [1.5.2.1] [ebuild U ] dev-libs/libxml2-2.7.3 [2.7.2-r2] [ebuild U ] dev-libs/glib-2.18.4-r1 [2.16.6] [ebuild N] media-libs/babl-0.0.22 USE=-mmx -sse [ebuild U ] dev-util/intltool-0.40.5 [0.37.1] [ebuild U ] x11-libs/pixman-0.12.0 [0.10.0] USE=(-altivec) -mmx% -sse% (-sse2) [ebuild U ] dev-libs/libgamin-0.1.10-r2 [0.1.10-r1] [ebuild U ] x11-libs/cairo-1.8.6-r1 [1.6.4-r1] USE=-cleartype% [ebuild U ] x11-libs/pango-1.22.4 [1.20.5] [ebuild U ] x11-libs/gtk+-2.14.7-r2 [2.12.11] USE=-jpeg2k% [ebuild U ] gnome-base/librsvg-2.22.3 [2.22.2] [ebuild N] media-libs/gegl-0.0.22 USE=cairo ffmpeg jpeg png svg -debug -doc -mmx -openexr -raw -sdl -sse -v4l [ebuild U ] gnome-extra/libgsf-1.14.11 [1.14.10] [ebuild U ] media-gfx/gimp-2.6.4 [2.4.6] USE=jpeg%* -webkit% [ebuild U ] dev-python/pygobject-2.16.1 [2.14.2] [ebuild U ] dev-python/pygtk-2.14.0 [2.12.1-r2] [blocks b ] dev-python/pygtk-2.13 (dev-python/pygtk-2.13 is blocking dev-python/pygobject-2.16.1) [blocks B ] gnome-base/gail-1000 (gnome-base/gail-1000 is blocking x11-libs/gtk+-2.14.7-r2) * Error: The above package list contains packages which cannot be * installed at the same time on the same system. ('ebuild', '/', 'x11-libs/gtk+-2.14.7-r2', 'merge') pulled in by =x11-libs/gtk+-2.4 required by ('installed', '/', 'x11-libs/wxGTK-2.8.9.1-r3', 'nomerge') =x11-libs/gtk+-2.6:2 required by ('installed', '/', 'app-editors/mousepad-0.2.14', 'nomerge') =x11-libs/gtk+-2.0 required by ('installed', '/', 'dev-python/wxpython-2.6.4.0-r2', 'nomerge') (and 49 more) ('installed', '/', 'gnome-base/gail-1.22.3', 'nomerge') pulled in by =gnome-base/gail-1.19.6 required by ('installed', '/', 'gnome-base/libgnomecanvas-2.20.1.1', 'nomerge') Now, I'm still learning to read these. gnome-base/gail is blocking x11-libs/gtk, dev-python/pygtk is blocking dev-python/pygobject Now, dev-python/pygtk is marked as (automatically resolved conflict) while gnome-base/gail-1000 is marked as (unresolved conflict). The text of the conflict all points to x11-libs/gtk+ versions, so can I just roll these up into one version of x11-libs/gtk+? This looks like a bit of a tangle, and I'm still trying to figure out how to read the knot so I can untie it. :) Thanks, Mike It seems like you are reading the message correctly, but you are focusing on the wrong part. The problem here is gail, not gtk+. What should happen is gail-1000 is installed as part of this upgrade, and then the block is resolved. The output of equery list -p gail should tell you if gail-1000 is masked for some reason. Unmasking gail-1000 should resolve the block, but why it is masked in the first place is rather a mystery. Nick
Re: [gentoo-user] resolving this block
Michael P. Soulier wrote: On 21/03/09 Nick Fortino said: It seems like you are reading the message correctly, but you are focusing on the wrong part. The problem here is gail, not gtk+. What should happen is gail-1000 is installed as part of this upgrade, and then the block is resolved. The output of equery list -p gail should tell you if gail-1000 is masked for some reason. Unmasking gail-1000 should resolve the block, but why it is masked in the first place is rather a mystery. msoul...@anton:~$ equery list -p gail [ Searching for package 'gail' in all categories among: ] * installed packages [I--] [ ] gnome-base/gail-1.22.3 (0) * Portage tree (/usr/portage) [-P-] [ ] gnome-base/gail-1.20.2 (0) [-P-] [ ] gnome-base/gail-1000 (0) [-P-] [ ] gnome-extra/libgail-gnome-1.20.0 (0) [-P-] [ ] gnome-extra/libgail-gnome-1.20.1 (0) I don't think it's masked. Shouldn't the newer gtk+ flag the fact that it obsoletes the need for gail? Mike Hmm, that's odd. gtk+ does flag the fact that it includes gail with the block you are running into, and gail-1000 is used to make programs which depend on gail happy. emerge -uDN world should really just take care of this, as gail should be upgraded to gail-1000. At the end of the day, Daniel is right, unmerging gail should resolve the block, and everything should work when you are done upgrading. Portage should (and did for me) take care of this on it's own though. Nick
Re: [gentoo-user] Find ebuilds that use a flag
James wrote: Hello, I need to be able to find which packages use a particular flag. gpac to be specific: Enable GPAC support when exporting to 3GPP format. Any simple/global tools to find and list each and every package available on Gentoo that has this flag as a option? There is also an ebuild named gpac Kino is one package the has this gpac flag. How so I know it is the only one that requires this gpac flag? James Using eix (emerge eix; update-eix): eix -e -U gpac Using equery: equery hasuse -p -o gpac -p meaning search portage tree -o meaning search any overlays you might have Listening to your hard drive grind away should convince you it's doing what you want. It should also convince you to use eix. Either way you do it, media-video/keno is the only one Nick