Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
iproute
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
Cyker
Veteran
Veteran


Joined: 15 Jun 2006
Posts: 1746

PostPosted: Thu Jan 22, 2015 1:26 am    Post subject: iproute Reply with quote

Hey all!

I just emerge --sync'd my system today and for some reason it's suddenly trying to pull in iproute2 but I can't figure out why...

Here's a dump of the emerge command I used:
Code:
# emerge -upv --deep world --tree

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

Calculating dependencies... done!
[nomerge       ] virtual/man-0-r1
[nomerge       ]  sys-apps/man-db-2.6.6  USE="berkdb gdbm zlib -nls (-selinux) -static-libs"
[ebuild     U  ]   dev-libs/libpipeline-1.4.0 [1.2.5] USE="-static-libs {-test}" 787 KiB
[nomerge       ] kde-base/kdebase-startkde-3.5.10-r5:3.5::kde-sunset  USE="-debug"
[nomerge       ]  kde-base/kdesktop-3.5.10:3.5::kde-sunset  USE="-debug -kdehiddenvisibility -xscreensaver"
[nomerge       ]   kde-base/konqueror-3.5.10:3.5::kde-sunset  USE="-branding -debug -java -kdehiddenvisibility"
[nomerge       ]    kde-base/kcontrol-3.5.10:3.5::kde-sunset  USE="opengl -arts -debug -ieee1394 -joystick -kdehiddenvisibility -logitech-mouse"
[ebuild     U  ]     sys-apps/usbutils-008 [007] USE="zlib -python" PYTHON_SINGLE_TARGET="(-python2_7%*)" PYTHON_TARGETS="python2_7" 281 KiB
[nomerge       ] net-misc/ntp-4.2.8-r1  USE="samba ssl -caps -debug -ipv6 -openntpd -parse-clocks (-selinux) -snmp -vim-syntax -zeroconf"
[ebuild     U  ]  dev-libs/libevent-2.0.22 [2.0.21-r1] USE="ssl threads -debug% -static-libs {-test}" ABI_X86="(64) (-32) (-x32)" 835 KiB
[nomerge       ] net-dns/ddclient-3.8.1-r5  USE="-hardened"
[ebuild     U  ]  dev-perl/IO-Socket-SSL-1.967.0 [1.953.0] USE="-idn" 95 KiB
[ebuild     U  ] app-forensics/foremost-1.5.7-r2 [1.5.7-r1] 0 KiB
[ebuild     U  ] net-analyzer/sec-2.7.6 [2.7.5] 119 KiB
[ebuild     U  ] app-crypt/gnupg-2.0.26-r3 [2.0.26] USE="bzip2 readline -doc -ldap -mta -nls (-selinux) -smartcard -static -tools% -usb (-adns%)" 0 KiB
[nomerge       ] app-office/openoffice-bin-4.1.1  USE="-gnome -java" LINGUAS="en_GB -ast -bg -ca -ca_XV -cs -da -de -el -es -eu -fi -fr -gd -gl -he -hi -hu -it -ja -km -ko -lt -nb -nl -pl -pt -pt_BR -ru -sk -sl -sr -sv -ta -th -tr -vi -zh_CN -zh_TW"
[nomerge       ]  dev-lang/perl-5.18.2-r2:0/5.18  USE="berkdb gdbm -debug -doc -ithreads"
[ebuild     U  ]   app-admin/perl-cleaner-2.19 [2.16] 7 KiB
[ebuild  rR    ] x11-drivers/xf86-input-keyboard-1.7.0  0 KiB
[ebuild  rR    ] x11-drivers/xf86-input-mouse-1.9.0  0 KiB
[ebuild  rR    ] x11-drivers/xf86-input-evdev-2.8.2  0 KiB
[ebuild     U  ] app-arch/gzip-1.6 [1.5] USE="-pic -static (-nls%*)" 709 KiB
[ebuild  N     ] sys-apps/iproute2-3.8.0  USE="berkdb iptables -atm -ipv6 -minimal" 399 KiB
[ebuild     U  ] sys-apps/grep-2.21-r1 [2.16] USE="pcre -nls* -static" 1,236 KiB
[ebuild     U  ] sys-apps/busybox-1.23.0 [1.21.0] USE="pam static -debug% -ipv6* -livecd -make-symlinks -math -mdev -savedconfig (-selinux) -sep-usr -syslog -systemd" 2,201 KiB
[ebuild  r  U  ] x11-base/xorg-server-1.15.2-r1:0/1.15.2 [1.15.0:0/1.15.0] USE="nptl suid udev xorg -dmx -doc -ipv6 -kdrive -minimal (-selinux) -static-libs -tslib -unwind -xnest -xvfb" 5,449 KiB
[nomerge       ] sys-apps/openrc-0.13.8 [0.12.4] USE="ncurses netifrc pam unicode -debug -newnet (-prefix) (-selinux) -static-libs -tools"
[blocks b      ]  <sys-fs/udev-init-scripts-27 ("<sys-fs/udev-init-scripts-27" is blocking sys-apps/openrc-0.13.8)
[ebuild     U  ]   sys-fs/udev-init-scripts-27 [26-r2] 4 KiB
[nomerge       ] sys-apps/pciutils-3.2.0  USE="kmod zlib -static-libs"
[ebuild     U  ]  sys-apps/kmod-19 [18-r1] USE="lzma tools zlib -debug -doc -python -static-libs" PYTHON_TARGETS="python2_7 python3_3 -python3_4 (-python3_2%)" 1,440 KiB
[ebuild     U  ] sys-apps/openrc-0.13.8 [0.12.4] USE="ncurses netifrc pam unicode -debug -newnet (-prefix) (-selinux) -static-libs -tools" 148 KiB
[nomerge       ] net-print/gutenprint-5.2.10  USE="cups foomaticdb gtk readline -gimp -nls -ppds -static-libs"
[ebuild     U  ]  net-print/foomatic-db-engine-4.0.11 [4.0.9] 352 KiB
[nomerge       ] net-ftp/filezilla-3.7.3  USE="(-aqua) -dbus -nls {-test}"
[nomerge       ]  x11-misc/xdg-utils-1.1.0_rc2  USE="perl -doc"
[ebuild     U  ]   dev-perl/File-MimeInfo-0.210.0 [0.170.0-r1] USE="{-test}" 31 KiB
[nomerge       ] dev-perl/IO-Socket-SSL-1.967.0 [1.953.0] USE="-idn"
[ebuild     U  ]  dev-perl/Net-SSLeay-1.650.0 [1.550] 376 KiB
[ebuild     U  ]   dev-libs/openssl-1.0.1k [1.0.1j] USE="bindist (sse2) tls-heartbeat zlib -gmp -kerberos -rfc3779 -static-libs {-test} -vanilla" ABI_X86="(64) (-32) (-x32)" 4,331 KiB
[nomerge       ] sys-apps/iproute2-3.8.0  USE="berkdb iptables -atm -ipv6 -minimal"
[ebuild  N     ]  net-firewall/iptables-1.4.21-r1  USE="-ipv6 -netlink -static-libs" 535 KiB
[nomerge       ] net-p2p/qbittorrent-3.1.11  USE="X -dbus -debug -geoip" PYTHON_TARGETS="python2_7"
[nomerge       ]  dev-qt/qtgui-4.8.5-r3:4  USE="accessibility exceptions glib mng qt3support tiff xv (-aqua) -cups -debug -egl -gtkstyle -nas -nis -pch -trace -xinerama"
[nomerge       ]   dev-qt/qt3support-4.8.5:4  USE="accessibility exceptions (-aqua) -debug -pch"
[nomerge       ]    dev-qt/qtsql-4.8.5:4  USE="exceptions qt3support sqlite (-aqua) -debug (-firebird) -freetds -mysql -oci8 -odbc -pch -postgres"
[ebuild     U  ]     dev-db/sqlite-3.8.7.4:3 [3.8.6:3] USE="readline -debug -doc -icu -secure-delete -static-libs -tcl {-test}" ABI_X86="(64) (-32) (-x32)" 1,953 KiB
[ebuild     U  ] sys-apps/file-5.22 [5.21] USE="zlib -python -static-libs" ABI_X86="(64) (-32) (-x32)" PYTHON_TARGETS="python2_7 python3_3 -python3_4" 716 KiB

Total: 26 packages (21 upgrades, 2 new, 3 reinstalls), Size of downloads: 21,994 KiB
Conflict: 1 block

The following packages are causing rebuilds:

  (x11-base/xorg-server-1.15.2-r1:0/1.15.2::gentoo, ebuild scheduled for merge) causes rebuilds for:
    (x11-drivers/xf86-input-keyboard-1.7.0:0/0::gentoo, ebuild scheduled for merge)
    (x11-drivers/xf86-input-mouse-1.9.0:0/0::gentoo, ebuild scheduled for merge)
    (x11-drivers/xf86-input-evdev-2.8.2:0/0::gentoo, ebuild scheduled for merge)



I've looked hard but can't figure out what's pulling it in. Am I just going mad/blind!?

I tried masking it off but then emerge won't update the system.

I really don't want to move from ifconfig/net-tools to iproute2 and I don't want to deal with the bizzaro conflicts that I know will happen from having both of them installed.

From previous experience, I know gentoo favours iproute2 over net-tools if they are both installed and IIRC various net scripts need to be written using slightly different syntax or they will break when switching from one to the other...

Halp!
Back to top
View user's profile Send private message
ct85711
Veteran
Veteran


Joined: 27 Sep 2005
Posts: 1791

PostPosted: Thu Jan 22, 2015 3:53 am    Post subject: Reply with quote

Sadly, the devs decided to get rid of the old net-tools for the newer iproute2. Supposedly, the net-tools is unmaintained (yet doesn't have any issues) for a package that has doesn't have all the same features. Personally, I've been using the old net-tools stuff for other 10+ years and have never seen a reason why I should use iproute2; sadly now we don't get the choice.

The reason it is being pulled in, is because the devs pushed it into @system.

Old post discussing this and also has a link to the bug report regarding this too.
Back to top
View user's profile Send private message
khayyam
Watchman
Watchman


Joined: 07 Jun 2012
Posts: 6227
Location: Room 101

PostPosted: Thu Jan 22, 2015 8:45 am    Post subject: Reply with quote

ct85711 wrote:
Sadly, the devs decided to get rid of the old net-tools for the newer iproute2. Supposedly, the net-tools is unmaintained (yet doesn't have any issues) for a package that has doesn't have all the same features. Personally, I've been using the old net-tools stuff for other 10+ years and have never seen a reason why I should use iproute2; sadly now we don't get the choice.

ct85711 ... that's not exactly true, sys-apps/net-tools hasn't been removed, its still in the tree (and will no doubt be maintained for some time):

Code:
# emerge --pretend --quiet sys-apps/net-tools
[ebuild N  ] sys-apps/net-tools-1.60_p20130513023548

If you want to use net-tools for netifrc, in preference to iproute2, you can set 'ifconfig' in modules_*.

As far as "issues" are concerned it should also be kept in mind that tools use other tools ... ie, until recently net-misc/openvpn used ifconfig (making net-tools mandatory), but can now use ip, some tools (like netifrc) use iproute2 in preference to net-tools, and some use iproute2 exclusively (like net-firewall/sanewall). So, if ip is expected by some component of the system then its necessary to provide it (even if that's only a link to busybox) ... and having both net-tools and iproute2 shouldn't be mandatory so as to cover all bases. That iproute2 is maintained and net-tools is not will obviously lead to the former being preferred over the later, and give cause for net-tools being "phased out". The fact that we have such disparate networking tools is unfortunate, but iproute2 is the more developed tool and so will gain more traction and come to replace the "old" net-tools (at least, replaced as a dependency).

ct85711 wrote:
The reason it is being pulled in, is because the devs pushed it into @system.

Yes, but sys-apps/net-tools is also in @system. Its shouldn't be the case that we require both but without auditing the system to see if one or other is used (other than as a dependency of a package ... so, in scripts or what-have-you) then unfortunately both need to be accounted for. I've not had net-tools installed for some years ... but I've setup symlinks to busybox so that should something need ifconfig, or hostname (which seem to be the only components I've so far needed to account for) its there. You could probably do the same with iproute2 if you *really* don't want the package installed.

/etc/portage/make.conf
Code:
USE="-iproute2"

/etc/portage/profile/packages
Code:
-*sys-apps/iproute2

... remove the package and create symlinks to busybox:
Code:
# emerge --unmerge --ask iproute2
# ln -s /bin/busbox /bin/ip

That's entirely untested, so I can't say for sure that it'll work 100% ... but I imagine that busybox should provide whatever any call to ip would.

ct85711 wrote:
Old post discussing this and also has a link to the bug report regarding this too.

Yes, very old :) ... I've discussed the subject before, and more recently, can't point you to the thread(s) right now.

best ... khay
Back to top
View user's profile Send private message
boozo
Advocate
Advocate


Joined: 01 Jul 2004
Posts: 3193

PostPosted: Thu Jan 22, 2015 9:54 am    Post subject: Reply with quote

khayyam wrote:
ct85711 wrote:
Sadly, the devs decided to get rid of the old net-tools for the newer iproute2. Supposedly, the net-tools is unmaintained (yet doesn't have any issues) for a package that has doesn't have all the same features. Personally, I've been using the old net-tools stuff for other 10+ years and have never seen a reason why I should use iproute2; sadly now we don't get the choice.

ct85711 ... that's not exactly true, sys-apps/net-tools hasn't been removed, its still in the tree (and will no doubt be maintained for some time):

(snip)
ct85711 wrote:
The reason it is being pulled in, is because the devs pushed it into @system.

Yes, very old :) ... I've discussed the subject before, and more recently, can't point you to the thread(s) right now.

best ... khay

I confirm Khayyam (and the thread is this one I think :wink:)
_________________
" Un psychotique, c'est quelqu'un qui croit dur comme fer que 2 et 2 font 5, et qui en est pleinement satisfait.
Un névrosé, c'est quelqu'un qui sait pertinemment que 2 et 2 font 4, et ça le rend malade ! "
Back to top
View user's profile Send private message
Cyker
Veteran
Veteran


Joined: 15 Jun 2006
Posts: 1746

PostPosted: Thu Jan 22, 2015 8:42 pm    Post subject: Reply with quote

Oh, okay.

How can I remove it from @system?
Back to top
View user's profile Send private message
khayyam
Watchman
Watchman


Joined: 07 Jun 2012
Posts: 6227
Location: Room 101

PostPosted: Thu Jan 22, 2015 8:49 pm    Post subject: Reply with quote

Cyker wrote:
How can I remove it from @system?

Cyker ... you can't ... but you can cause the system to believe its installed via /etc/portage/profile/packages (see full details above). That should come with a warning, you never know if something might break (even with the symlinks to busybox).

best ... khay
Back to top
View user's profile Send private message
mv
Watchman
Watchman


Joined: 20 Apr 2005
Posts: 6747

PostPosted: Thu Jan 22, 2015 9:45 pm    Post subject: Reply with quote

khayyam wrote:
Cyker ... you can't ...

It's not exactly true: You can write your own profile or patch the existing profile with files from /etc/portage/profile
However, if you have to ask how this works, then you better should not do this.
Also note that when you remove the package (no matter which method you use), you will not realize if something depends on the package.
I am not sure, but it might be that dhcpcd does not work without iproute2 (at least it is able to set a secondary network which you cannot see wth ifconfig or route but which is displayed with "ip route show" from iproute2).
So you should also know very well what you are doing when you plan to remove iproute2...
Back to top
View user's profile Send private message
Cyker
Veteran
Veteran


Joined: 15 Jun 2006
Posts: 1746

PostPosted: Fri Jan 23, 2015 11:46 am    Post subject: Reply with quote

Well that at least won't be a problem as I don't have iproute2 installed at the moment; Nothing on my system needs or uses it.

My whole setup is built around minimizing unneeded dependencies, even to the point of manually patching ebuilds (e.g. I manually patch smartmontools as it depends on an having a mailer for absolutely no reason at all!), so it's quite annoying this is being forced on me when it will just be sitting there on my system adding potential for conflicts and failure for no reason at all!

I don't want to use package-provided as that will very likely cause problems with things that look for either of the two packages and try to use the non-existent iproute2.

@mv - Is there any documentation for this /etc/portage/profiles thing of which you speak? That sounds like the sort of fun unsupported potentially system-breaking things that I like about Gentoo! :D
Back to top
View user's profile Send private message
mv
Watchman
Watchman


Joined: 20 Apr 2005
Posts: 6747

PostPosted: Fri Jan 23, 2015 12:36 pm    Post subject: Reply with quote

Cyker wrote:
@mv - Is there any documentation for this /etc/portage/profiles thing of which you speak?

Profiles are described in app-doc/pms. The content of /etc/portage/profiles is just added to your current profile, so you can use it to add or remove lines from the packges list.
Back to top
View user's profile Send private message
khayyam
Watchman
Watchman


Joined: 07 Jun 2012
Posts: 6227
Location: Room 101

PostPosted: Fri Jan 23, 2015 12:57 pm    Post subject: Reply with quote

Cyker wrote:
Well that at least won't be a problem as I don't have iproute2 installed at the moment; Nothing on my system needs or uses it.

Cyker ... you're overlooking the reasons for it being added to @system ... what you mean to say is that nothing on your system has it as a dependency, but that's also true of net-tools:

Code:
# equery -NC depends sys-apps/net-tools
 * These packages depend on sys-apps/net-tools:
net-misc/openvpn-2.3.6 (!iproute2 ? sys-apps/net-tools)

I don't have net-tools installed, but my system won't function *without* commands (ifconfig and hostname) provided by that package. Thats the reason net-tools is in @system ... and the reason that iproute2 was added. I won't go over what I outlined above but as iproute2 is used by more and more in preference to ifconfig it will come to be expected, not as a dependency, but as a component of @system.

Cyker wrote:
My whole setup is built around minimizing unneeded dependencies, even to the point of manually patching ebuilds (e.g. I manually patch smartmontools as it depends on an having a mailer for absolutely no reason at all!), so it's quite annoying this is being forced on me when it will just be sitting there on my system adding potential for conflicts and failure for no reason at all!

Its not being "forced on you", in fact there is no need to "manually patch" smartmontools so that a MTA can be avoided:

Code:
% egrep '^sys-apps/smartmontools' /etc/portage/package.use/*
sys-apps/smartmontools minimal
% equery -NC uses sys-apps/smartmontools | grep minimal
 + + minimal : Do not install the monitoring daemon and associated scripts.
% equery -NC depgraph -l =sys-apps/smartmontools-6.3
 * Searching for smartmontools6.3 in sys-apps ...
 * dependency graph for sys-apps/smartmontools-6.3
 [  0]  sys-apps/smartmontools-6.3  x86
 [  1]  sys-libs/libcap-ng-0.7.3  x86  [static-libs]
 [  1]  sys-libs/libselinux-2.3-r1  x86
 [  1]  virtual/pkgconfig-0-r1  ~x86
 [  1]  virtual/mailx-1  x86
[ sys-apps/smartmontools-6.3 stats: packages (5), max depth (1) ]
% USE="-minimal" emerge --pretend --quiet=y sys-apps/smartmontools
[ebuild  N    ] virtual/mailx-1
[ebuild   R   ] sys-apps/smartmontools-6.3

Cyker wrote:
I don't want to use package-provided as that will very likely cause problems with things that look for either of the two packages and try to use the non-existent iproute2.

@mv - Is there any documentation for this /etc/portage/profiles thing of which you speak? That sounds like the sort of fun unsupported potentially system-breaking things that I like about Gentoo! :D

Those two statements are not consistent with each other ... the former "package-provided" is part of this "potentially system-breaking thing" that you don't want to use.

HTH & best ... khay
Back to top
View user's profile Send private message
Cyker
Veteran
Veteran


Joined: 15 Jun 2006
Posts: 1746

PostPosted: Sat Jan 24, 2015 9:38 pm    Post subject: Reply with quote

Phew, so much reading for such an easy fix!

To save anyone else the trouble, to stop iproute2 being pulled in by the recent changes to the default profile:

Code:

cd /etc/portage
mkdir profile
echo "-*sys-apps/iproute2" >> packages


Voila!


This is the most elegant way because,
a) The system won't try to pull in the package any more so "emerge -upv world" won't be blocked
b) The system won't incorrectly think iproute2 is installed (As is the case with the package.provided route), which could otherwise cause weird problems later
c) If anything actually does depend on iproute2, it can still pull it in as part of its dependencies the normal way.
Back to top
View user's profile Send private message
khayyam
Watchman
Watchman


Joined: 07 Jun 2012
Posts: 6227
Location: Room 101

PostPosted: Sat Jan 24, 2015 9:51 pm    Post subject: Reply with quote

Cyker wrote:
Phew, so much reading for such an easy fix! To save anyone else the trouble, to stop iproute2 being pulled in by the recent changes to the default profile:

Cyker ... I provided that very same "fix" eight posts above.

best ... khay
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