Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 330115 - sys-apps/iproute2: please install ip in /bin/
Summary: sys-apps/iproute2: please install ip in /bin/
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: High trivial (vote)
Assignee: Gentoo's Team for Core System packages
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-07-27 21:22 UTC by Thilo Bangert (RETIRED) (RETIRED)
Modified: 2020-02-07 03:44 UTC (History)
6 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Thilo Bangert (RETIRED) (RETIRED) gentoo-dev 2010-07-27 21:22:38 UTC
as ip can also be used by regular users, it would make sense to make it availble to them also.

debian seems to install ip in /bin and installing a symlink from /sbin/ip to /bin/ip - which would work for me.

thanks
Comment 1 SpanKY gentoo-dev 2010-07-28 05:38:51 UTC
the same argument can be made for ifconfig, so why havent people bothered with that too ?
Comment 2 Thilo Bangert (RETIRED) (RETIRED) gentoo-dev 2010-07-28 09:25:41 UTC
if that increases the chances of making ip available, then i am all for making ifconfig available too. in the end however, i only care about ip.

also, in debian only ip is available to the user by default.
Comment 3 Diego Elio Pettenò (RETIRED) gentoo-dev 2010-07-28 12:43:14 UTC
ifconfig is available in /bin on Fedora, and I'm sure I already asked you about it, Mike...
Comment 4 SpanKY gentoo-dev 2010-07-28 16:30:04 UTC
unless there's a bug about it, i see no record of the question being posted previously wrt ifconfig

simple enough to send a git patch for iproute2 upstream.  i wouldnt bother with a symlink as anything hardcoding a full path is broken anyways.

i'll include the change in the next version bump.
Comment 5 SpanKY gentoo-dev 2010-08-04 19:23:28 UTC
moved it in 2.6.35.  guess we'll find out what packages have the path hardcoded and need to be fixed ;).
Comment 6 boris64 2010-08-05 15:39:22 UTC
I'm not really sure about this, but it seems 
to break my network config somehow.
There also are several hardcoded paths in 
/etc/init.d/network which may be the issue here.
Comment 7 SpanKY gentoo-dev 2010-08-05 15:51:01 UTC
i must have grepped wrong, but i thought i checked openrc and didnt see any hits.  i'll revert the change for now.
Comment 8 Thilo Bangert (RETIRED) (RETIRED) gentoo-dev 2010-08-05 18:36:35 UTC
whats so bad about a symlink? in any direction?
Comment 9 Diego Elio Pettenò (RETIRED) gentoo-dev 2010-08-07 17:42:49 UTC
You forgot to revert the change and that broke a few things.

I added a -r1 that installs in /sbin but symlinks to /bin, and should solve all trouble.
Comment 10 SpanKY gentoo-dev 2010-08-09 17:29:28 UTC
i'm not doing symlinks.  packages need fixing first.
Comment 11 Diego Elio Pettenò (RETIRED) gentoo-dev 2010-08-09 17:41:46 UTC
What the problem is with symlinks at all?


flame@yamato ~ % ls -l {/usr,}/{s,}bin | egrep -e '-> (../..)?/s?bin'
lrwxrwxrwx 1 root root      14 20 lug 17.09 pidof -> /sbin/killall5
lrwxrwxrwx 1 root root       8 25 apr 19.04 rc-status -> /sbin/rc
lrwxrwxrwx 1 root root      14 15 lug 09.41 fsck.hfs -> /sbin/fsck_hfs
lrwxrwxrwx 1 root root      14 15 lug 09.41 fsck.hfsplus -> /sbin/fsck_hfs
lrwxrwxrwx 1 root root      14 25 apr 19.08 fsck.jfs -> /sbin/jfs_fsck
lrwxrwxrwx 1 root root       7 25 apr 17.47 mdev -> /bin/bb
lrwxrwxrwx 1 root root      15 15 lug 09.41 mkfs.hfs -> /sbin/newfs_hfs
lrwxrwxrwx 1 root root      15 15 lug 09.41 mkfs.hfsplus -> /sbin/newfs_hfs
lrwxrwxrwx 1 root root      14 25 apr 19.08 mkfs.jfs -> /sbin/jfs_mkfs
lrwxrwxrwx 1 root root      15 20 lug 18.16 mount.lowntfs-3g -> /bin/lowntfs-3g
lrwxrwxrwx 1 root root      12 20 lug 18.16 mount.ntfs-3g -> /bin/ntfs-3g
lrwxrwxrwx 1 root  root            13 20 lug 18.07 basename -> /bin/basename
lrwxrwxrwx 1 root  root            11 20 lug 18.07 chroot -> /bin/chroot
lrwxrwxrwx 1 root  root             8 20 lug 18.07 cut -> /bin/cut
lrwxrwxrwx 1 root  root             8 20 lug 18.07 dir -> /bin/dir
lrwxrwxrwx 1 root  root            12 20 lug 18.07 dirname -> /bin/dirname
lrwxrwxrwx 1 root  root             7 20 lug 18.07 du -> /bin/du
lrwxrwxrwx 1 root  root             8 20 lug 18.07 env -> /bin/env
lrwxrwxrwx 1 root  root             9 20 lug 18.07 expr -> /bin/expr
lrwxrwxrwx 1 root  root             9 20 mag 22.13 gawk -> /bin/gawk
lrwxrwxrwx 1 root  root             9 20 lug 18.07 head -> /bin/head
lrwxrwxrwx 1 root  root            20  9 ago 19.08 iptables-xml -> /sbin/iptables-multi
lrwxrwxrwx 1 root  root            11 20 lug 18.07 mkfifo -> /bin/mkfifo
lrwxrwxrwx 1 root  root            11 20 lug 18.07 mktemp -> /bin/mktemp
lrwxrwxrwx 1 root  root            11 23 lug 15.39 passwd -> /bin/passwd
lrwxrwxrwx 1 root  root            13 20 lug 18.07 readlink -> /bin/readlink
lrwxrwxrwx 1 root  root             8 20 lug 18.07 seq -> /bin/seq
lrwxrwxrwx 1 root  root            10 20 lug 18.07 sleep -> /bin/sleep
lrwxrwxrwx 1 root  root             9 20 lug 18.07 sort -> /bin/sort
lrwxrwxrwx 1 root  root             9 20 lug 18.07 tail -> /bin/tail
lrwxrwxrwx 1 root  root            10 20 lug 18.07 touch -> /bin/touch
lrwxrwxrwx 1 root  root             7 20 lug 18.07 tr -> /bin/tr
lrwxrwxrwx 1 root  root             8 20 lug 18.07 tty -> /bin/tty
lrwxrwxrwx 1 root  root            10 20 lug 18.07 uname -> /bin/uname
lrwxrwxrwx 1 root  root             9 20 lug 18.07 vdir -> /bin/vdir
lrwxrwxrwx 1 root  root             7 20 lug 18.07 wc -> /bin/wc
lrwxrwxrwx 1 root  root             8 20 lug 18.07 yes -> /bin/yes

If you're just going to go the long route because you don't like symlinks for taste, we've got an even worse problem here.
Comment 12 Thilo Bangert (RETIRED) (RETIRED) gentoo-dev 2010-08-09 17:52:54 UTC
(In reply to comment #10)
> i'm not doing symlinks. 

come on - you can do better than that.

> packages need fixing first.

ok. so we have /etc/init.d/network that needs a trivial patch.
what else have folks encountered?
Comment 13 SpanKY gentoo-dev 2010-08-17 03:37:57 UTC
some of those symlinks are invalid (different argv[0]) while the rest of them probably should die.  existing crap is not a valid excuse to add more crap.
Comment 14 Fabio Erculiani (RETIRED) gentoo-dev 2010-08-24 12:14:55 UTC
@spanKY: you broke vzctl and god only knows how many other pkgs.
Comment 15 SpanKY gentoo-dev 2010-08-30 19:41:56 UTC
old news, and your tree is old.  dont report bugs against old things.
Comment 17 Михаил 2011-06-21 17:57:20 UTC
Install ss into bin also please.
Comment 18 SpanKY gentoo-dev 2011-06-21 18:14:04 UTC
umm, no.  mount /usr if you want ss.
Comment 19 SpanKY gentoo-dev 2012-08-13 15:30:59 UTC
should be all set now in the tree; thanks for the report!

Commit message: Move ip into /bin
http://sources.gentoo.org/sys-apps/iproute2/iproute2-3.5.0-r1.ebuild?rev=1.1
Comment 20 Patrick Lauer gentoo-dev 2012-08-20 02:33:18 UTC
Thanks for randomly breaking stuff. Please add a symlink so that /sbin/ip still exists and you don't randomly break existing scripts that hardcoded that path.
Comment 21 Diego Elio Pettenò (RETIRED) gentoo-dev 2012-08-20 05:16:05 UTC
*** Bug 432014 has been marked as a duplicate of this bug. ***
Comment 22 Benedikt Böhm (RETIRED) gentoo-dev 2012-08-20 07:14:15 UTC
this ignorant behaviour is just inacceptable. please add a compatibility symlink.
Comment 23 William Hubbs gentoo-dev 2012-08-20 16:33:18 UTC
To everyone complaining about legasy symlinks, why not file bugs against
the packages that hard code "/sbin/ip" as the path so they can be fixed?
Comment 24 Benedikt Böhm (RETIRED) gentoo-dev 2012-08-20 18:34:16 UTC
(In reply to comment #23)
> To everyone complaining about legasy symlinks, why not file bugs against
> the packages that hard code "/sbin/ip" as the path so they can be fixed?

sure, this has to be done. but simply breaking things for no reason is not acceptable. this reminds me of the ruby community who has no sense whatsoever for providing backwards compatibility in lots of core packages. this is just sad.
Comment 25 William Hubbs gentoo-dev 2012-08-20 19:31:20 UTC
@hollow:
If we set up a compatibility symlink, that may allow backward
compatibility, but how do we know then which packages need to be fixed?
We don't because the symlink hides the issue.

Also, I want to raise another issue on this bug that I will wait for the
maintainer to respond to.

We now move the ip and arpd binaries in our ebuild to places different
from where upstream installs them. Why do we do this in the ebuild
instead of sending patches upstream to move them?
Comment 26 SpanKY gentoo-dev 2012-08-20 19:40:59 UTC
(In reply to comment #20)

take your snark elsewhere by actually fixing the broken packages

(In reply to comment #22)

this crap doesn't belong here

(In reply to comment #25)

yes, sending patches upstream is the next step
Comment 27 Oleh 2012-12-15 06:31:26 UTC
Unfortunate attitude to each other. before making such proposal and then pouring the scorn to developers, followng have to be made first:
1. Rationale in moving ip and arpd to /bin (in contrary with upstream).
oh c'mon Fedora has ip in /bin! , let's follow, good grief.
Comment 28 Doug Goldstein (RETIRED) gentoo-dev 2013-04-26 19:10:01 UTC
(In reply to comment #3)
> ifconfig is available in /bin on Fedora, and I'm sure I already asked you
> about it, Mike...

[root@redbull ~]# which ifconfig
/usr/sbin/ifconfig
[root@redbull ~]# which ip
/usr/sbin/ip

From my Fedora machine. I realize comment #3 is old but I figured it's worth mentioning. From my RHEL6 machine the utilities are in /sbin/ and from my RHEL7 machine they're in /usr/sbin/.
Comment 29 SpanKY gentoo-dev 2013-04-27 08:59:53 UTC
(In reply to comment #28)

they haven't updated to latest net-tools yet then :).  i pushed a commit there to move ifconfig into /bin by default.
Comment 30 Jeroen Roovers (RETIRED) gentoo-dev 2013-04-29 13:17:42 UTC
*** Bug 467830 has been marked as a duplicate of this bug. ***
Comment 31 Marat Nepomnyashy 2013-04-29 17:14:05 UTC
https://bugs.gentoo.org/show_bug.cgi?id=467830 is not a duplicate of this bug, but a ticket tracking a regression of this bug.

It is just rude to just move location like that without notifying the packages that rely on the old location.

It is wrong to just break people's systems and prevent Gentoo being used for mission-critical applications.

There should be a temporary backwards compatibility symlink, and all the packages using the old location should be notified of the change and given time to point to the new location before the temporary symlink is removed.
Comment 32 Panagiotis Christopoulos (RETIRED) gentoo-dev 2015-04-21 12:13:46 UTC
No offence, but recent sys-cluster/torque (5.1.0) has hardcoded /sbin/ip like:

(cluster) Tethys torque-5.1.0-1_4048f77c # find . -type f -exec grep "/sbin/ip" '{}' \;
    FILE *pPipe = popen("/sbin/ip addr","r");
  FILE *pPipe = popen("/sbin/ip addr","r");
(cluster) Tethys torque-5.1.0-1_4048f77c #

I know it's upstream's fault and I may contact them. But a symlink would do no harm (5 years after, and people think ip is still in sbin). Just reporting here for reference.
Comment 33 SpanKY gentoo-dev 2015-04-21 16:43:49 UTC
(In reply to Panagiotis Christopoulos from comment #32)

this bug is closed.  if a diff package is broken, then you should file a new bug for that package and contact upstream.
Comment 34 Zhenjie Wang 2020-02-07 03:44:10 UTC
the ArrayVPN client (http://client.arraynetworks.com.cn:8080/en/troubleshooting) uses /sbin/ip to configure its tunnel, and does not report errors while /sbin/ip is not found.

It's hard for a regular user to find the error because Gentoo is not in the support list.

So why not make situations like this better by making a backwards compatibility symlink.