Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[solved] portage strange behaviour since portage-2.1.2-r9
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Portage & Programming
View previous topic :: View next topic  
Author Message
piavlo
Tux's lil' helper
Tux's lil' helper


Joined: 21 Jun 2005
Posts: 141

PostPosted: Wed Feb 14, 2007 4:01 pm    Post subject: [solved] portage strange behaviour since portage-2.1.2-r9 Reply with quote

Hi, since i've updated to portage-2.1.2-r9,
the emerge behaves strangely for many vitrual ebuilds, for example:
Code:
emerge -pv --oneshot --nodeps perl-libnet

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild   R   ] dev-lang/perl-5.8.8-r2  USE="gdbm -berkdb -build -debug -doc -ithreads -perlsuid" 0 kB
[ebuild   R   ] virtual/perl-libnet-1.19  0 kB

Total: 2 packages (2 reinstalls), Size of downloads: 0 kB

inspite of that i've used --nodeps, why does it want to re-emerge perl-5.8.8-r2 too?
even without the --nodeps flag it should have emerged only perl-libnet
Is this the new behaviour for virtual packages?
Can i change the new portage to the old behaviour without downgrading?


Last edited by piavlo on Sun Feb 18, 2007 9:30 am; edited 1 time in total
Back to top
View user's profile Send private message
vandien
Tux's lil' helper
Tux's lil' helper


Joined: 03 May 2006
Posts: 137

PostPosted: Wed Feb 14, 2007 4:42 pm    Post subject: Reply with quote

perl seems to satisfy the requirement for virtual/perl-libnet-1.19, so "emerge perl-libnet" is the same as saying "emerge perl". Though this doesn't seem to be the case for perl-libnet-1.20.

Could you use --noreplace or even --update to get the desired results?
Back to top
View user's profile Send private message
piavlo
Tux's lil' helper
Tux's lil' helper


Joined: 21 Jun 2005
Posts: 141

PostPosted: Wed Feb 14, 2007 5:05 pm    Post subject: Reply with quote

vandien wrote:
perl seems to satisfy the requirement for virtual/perl-libnet-1.19, so "emerge perl-libnet" is the same as saying "emerge perl". Though this doesn't seem to be the case for perl-libnet-1.20.

Could you use --noreplace or even --update to get the desired results?


What i need is this behaviour:
Code:
# emerge -pv --nodeps perl-libnet

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild   R   ] virtual/perl-libnet-1.19  0 kB

Total size of downloads: 0 kB

This is the kind of behaviour i get on the system not updated yet to portage-2.1.2-r9
This is very important for me since i have more than a dozen of wrapper scripts using emerge
which depend on old behaviour.
Back to top
View user's profile Send private message
vandien
Tux's lil' helper
Tux's lil' helper


Joined: 03 May 2006
Posts: 137

PostPosted: Wed Feb 14, 2007 7:10 pm    Post subject: Reply with quote

just curious, why do you want it to behave like that?

I see now what you mean, I was testing emerge with perl-libnet not installed. It does make sense that --nodeps should cause emerge to just rebuild the virtual package.

this is an ugly work-around:
emerge -C virtual/perl-libnet
emerge --noreplace virtual/perl-libnet
Back to top
View user's profile Send private message
piavlo
Tux's lil' helper
Tux's lil' helper


Joined: 21 Jun 2005
Posts: 141

PostPosted: Wed Feb 14, 2007 9:42 pm    Post subject: Reply with quote

vandien wrote:
just curious, why do you want it to behave like that?

Since the wrapper scripts add some enhancements to the emerge, for example 2 most enhancement examples
1)one feature that i think is missing is a way of passing arbitrary environment variables to the emerge
like for example i need to build with env CHOST="i686-pc-linux-gnu" CC="gcc32" emerge swi-prolog
the swi-prolog on amd64 system, so i have package.envs file similar to pakcge.use
Code:
cat /etc/portage/cs-package.envs
dev-lang/swi-prolog CHOST="i686-pc-linux-gnu" CC="gcc32"
dev-lang/swi-prolog-minisat CHOST="i686-pc-linux-gnu" CC="gcc32"
app-admin/mon CONFIG_PROTECT_MASK="/etc/alert/alert.d /etc/mon/mon.d"
x11-libs/xview CHOST="i686-pc-linux-gnu" CC="gcc32"

This way i don't need to worry about specifying these manually then i rebuild/upgrade the system.
2)Another feature missing is having a way to pre-emerge ,post-emerge ,pre-unmerge, post-unmerge
scripts which are not dependent on specific pkg version.Some examples:
then grub is rebuild/upgraded, the boot loader need to be reinstalled, so this is done automatically
Code:
cat /etc/portage/cs-helpers/sys-boot/grub
cs-post-emerge() {
        if [ -x /boot/grub/install.sh ]; then
                /boot/grub/install.sh
        fi
}

or for remote backup i need spacial perms to the dump utility
Code:
cat /etc/portage/cs-helpers/app-arch/dump
cs-post-emerge() {
        gpasswd -a backup disk
        chgrp wheel /usr/sbin/dump
        chmod 4010 /usr/sbin/dump
}

or
Code:
cat /etc/portage/cs-helpers/sys-fs/udev
cs-post-emerge() {
        if [ -e /etc/udev/rules.d/._cfg0000_50-udev.rules ] ;then
                mv /etc/udev/rules.d/._cfg0000_50-udev.rules /etc/udev/rules.d/50-udev.rules
        fi
        sed -i -e 's/^\(KERNEL=="dm.*OPTIONS="ignore_device\)"/#\1/' /etc/udev/rules.d/50-udev.rules
        udevstart
}

And some more exotic features i won't explain here, basically everything that makes the update process more automatic
can be added.And then you have a few hundred of gentoo machines to keep updates this is very handy :)
So since the above features have different setup for each package , i need to run
in a wrapper which works on a single pkg emerge --nodeps pkg. And some other wrappers use the above wrapper.

So if the old portage behaviour can't be restored, i need to find a proper way to handle all virtual packages :(

vandien wrote:
I see now what you mean, I was testing emerge with perl-libnet not installed. It does make sense that --nodeps should cause emerge to just rebuild the virtual package.

this is an ugly work-around:
emerge -C virtual/perl-libnet
emerge --noreplace virtual/perl-libnet
Back to top
View user's profile Send private message
piavlo
Tux's lil' helper
Tux's lil' helper


Joined: 21 Jun 2005
Posts: 141

PostPosted: Sun Feb 18, 2007 9:32 am    Post subject: Reply with quote

The problem will be fixed in portage-2.1.2-r10, see bug 166939 https://bugs.gentoo.org/show_bug.cgi?id=166939
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Portage & Programming All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum