Re: [gentoo-user] script to recursively unmask a package
Jason Cooper wrote: Integrate as in 'emerge --recursive-unmask package-name' or integrate as in 'app-portage/unmask'? in portage, not in app-portage. Never mind, it's not that I can't live without it. It would merely be a little helper for unmasking packages. Christoph -- echo mailto: NOSPAM !#$.'*'|sed 's. ..'|tr * !#:2 [EMAIL PROTECTED] -- gentoo-user@gentoo.org mailing list
Re: [gentoo-user] script to recursively unmask a package
Adi wrote: I wish you posted this 2 days ago ... great work! :) I wish I read this two minutes ago! ;-) If you rewrite it in python, maybe we could include this feature in {portage,gentoolkit} ? Christoph -- echo mailto: NOSPAM !#$.'*'|sed 's. ..'|tr * !#:2 [EMAIL PROTECTED] -- gentoo-user@gentoo.org mailing list
Re: [gentoo-user] script to recursively unmask a package
Jason Cooper wrote: Why should he have to rewrite it in python? eix is C++, and genlop is Perl. Admittedly, they are not part of gentoolkit, but everyone uses them and I don't think anyone thinks any lesser of them. :) Don't get me wrong, I really like perl. But the idea was to integrate it into portage. And portage is python. Christoph -- echo mailto: NOSPAM !#$.'*'|sed 's. ..'|tr * !#:2 [EMAIL PROTECTED] -- gentoo-user@gentoo.org mailing list
Re: [gentoo-user] script to recursively unmask a package
Christoph Gysin ([EMAIL PROTECTED]) scribbled: Jason Cooper wrote: Why should he have to rewrite it in python? eix is C++, and genlop is Perl. Admittedly, they are not part of gentoolkit, but everyone uses them and I don't think anyone thinks any lesser of them. :) Don't get me wrong, I really like perl. But the idea was to integrate it into portage. And portage is python. Integrate as in 'emerge --recursive-unmask package-name' or integrate as in 'app-portage/unmask'? cooper. -- gentoo-user@gentoo.org mailing list
[gentoo-user] script to recursively unmask a package
Howdy, I was wanting to install just kdebase-3.4.0 without unmasking all of kde-3.4.0. The HOWTO Update KDE 3.3 to KDE 3.4 (http://www.gentoo-wiki.com/HOWTO_Update_KDE_3.3_to_KDE_3.4) suggested running emerge kdebase -p, find a package that is blocking, then add that package to /etc/portage/packages.keywords, and repeat until no more packages are blocking. Tedious. So here's a perl script to do just that. It will work for any package. Usage: unmask.pl packageName -- begin: unmask.pl #!/usr/bin/perl -w # quick hack to recursively unmask all packages that are blocking the given # package from emerging. # usage: unmask.pl packageName print unmasking:=$ARGV[0]\n; doit; exit(0); # doit() sub doit { local $flag = 1; local $package = $ARGV[0]; while($flag) { $flag = 0; open my $fh, emerge $package -p| || die could not open: emerge $package -p; while($fh) { if(/^\-\s+(.*)\-[\d\.]+\s+\(masked by\:\s+(\~\S+)\s+keyword\)/) { unmask($1, $2); $flag = 1; last; } } close($fh); } } # unmask the file by adding it to /etc/portage/package.keywords sub unmask { local($name, $arch) = @_; print unmasking: $name\n; open my $fh, /etc/portage/package.keywords || die can't open package.keywords: $!; print $fh $name $arch\n; close $fh; } -- end: unmask.pl Have fun, Roy -- gentoo-user@gentoo.org mailing list
Re: [gentoo-user] script to recursively unmask a package
Roy O. Wright ([EMAIL PROTECTED]) scribbled: Howdy, I was wanting to install just kdebase-3.4.0 without unmasking all of kde-3.4.0. The HOWTO Update KDE 3.3 to KDE 3.4 (http://www.gentoo-wiki.com/HOWTO_Update_KDE_3.3_to_KDE_3.4) suggested running emerge kdebase -p, find a package that is blocking, then add that package to /etc/portage/packages.keywords, and repeat until no more packages are blocking. Tedious. So here's a perl script to do just that. It will work for any package. Usage: unmask.pl packageName -- begin: unmask.pl [snip] -- end: unmask.pl No, no, no... You got it all wrong. We can't have a portage utility with a name that makes sense. You need to rename it to something like 'gunmk' (Gentoo UNMasK). :-) Seriously, though. Nice script. cooper. -- gentoo-user@gentoo.org mailing list