Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 584976 - net-misc/cbqinit-0.7.3-r2 incorrectly hardcodes path to /bin/ip program as /sbin/ip
Summary: net-misc/cbqinit-0.7.3-r2 incorrectly hardcodes path to /bin/ip program as /s...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: No maintainer - Look at https://wiki.gentoo.org/wiki/Project:Proxy_Maintainers if you want to take care of it
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-06-04 01:27 UTC by causality
Modified: 2017-06-06 12:08 UTC (History)
0 users

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 causality 2016-06-04 01:27:00 UTC
Reproducable:  always

Steps to reproduce: execute "emerge net-misc/cbqinit" then attempt "/etc/init.d/cbqinit start".

Note, this is not related to Bug 48542 - that bug was a problematic ebuild dependency.  This is an issue with the script/program itself.

It is, however, the same problem as Bug 21014 which was closed with status RESOLVED FIXED back in June 2003.  The same problem is happening again so I file a new bug for it since I was unable to re-open the old bug.

Cbqinit fails to start:

-------

# /etc/init.d/cbqinit start
 * Starting cbqinit ...
**CBQ: ip-route2 utilities not installed or executable!                                                                [ !! ]
 * ERROR: cbqinit failed to start

-------

When you install sys-apps/iproute2 package, the standard location of the 'ip' program is /bin/ip.  However, the script /usr/sbin/cbqinit mistakenly expects 'ip to be located in /sbin.  Line 478 of this script reads:

IP=/sbin/ip

The script successfully starts when this line is changed to match Gentoo's default location of the 'ip' program:

IP=/bin/ip

When this change is made, cbqinit starts successfully (some whitespace removed from output for readability):

# /etc/init.d/cbqinit start
 * Starting cbqinit ... [ok]
# 

The problem is, if net-misc/cbqinit is ever updated or reinstalled for any reason, then you get the default behavior and it once again fails to start.  Removing the one character from the /usr/sbin/cbqinit script as provided by Gentoo would fix it permanently.

----

Output of "emerge --info":

Portage 2.3.0_rc1 (python 3.4.3-final-0, default/linux/amd64/13.0/desktop/plasma, gcc-5.3.0, glibc-2.23-r2, 4.5.0-gentoo-r1 x86_64)
=================================================================
System uname: Linux-4.5.0-gentoo-r1-x86_64-Intel-R-_Core-TM-_i5-6500_CPU_@_3.20GHz-with-gentoo-2.2
KiB Mem:    16372668 total,  14147712 free
KiB Swap:    2246652 total,   2246652 free
Timestamp of repository gentoo: Wed, 01 Jun 2016 22:15:01 +0000
sh bash 4.3_p42-r2
ld GNU ld (Gentoo 2.25.1 p1.1) 2.25.1
ccache version 3.2.5 [disabled]
app-shells/bash:          4.3_p42-r2::gentoo
dev-java/java-config:     2.2.0-r3::gentoo
dev-lang/perl:            5.24.0::gentoo
dev-lang/python:          2.7.11-r2::gentoo, 3.4.3-r7::gentoo, 3.5.1-r2::gentoo
dev-util/ccache:          3.2.5::gentoo
dev-util/cmake:           3.5.2-r1::gentoo
dev-util/pkgconfig:       0.29.1::gentoo
sys-apps/baselayout:      2.2::gentoo
sys-apps/openrc:          0.21::gentoo
sys-apps/sandbox:         2.10-r2::gentoo
sys-devel/autoconf:       2.13::gentoo, 2.69-r2::gentoo
sys-devel/automake:       1.11.6-r2::gentoo, 1.13.4-r1::gentoo, 1.14.1-r1::gentoo, 1.15-r2::gentoo
sys-devel/binutils:       2.25.1-r1::gentoo
sys-devel/gcc:            4.9.3::gentoo, 5.3.0::gentoo
sys-devel/gcc-config:     1.8-r1::gentoo
sys-devel/libtool:        2.4.6-r2::gentoo
sys-devel/make:           4.2-r2::gentoo
sys-kernel/linux-headers: 4.6::gentoo (virtual/os-headers)
sys-libs/glibc:           2.23-r2::gentoo
Repositories:

gentoo
    location: /usr/portage
    sync-type: rsync
    sync-uri: rsync://rsync.us.gentoo.org/gentoo-portage
    priority: -1000

andy
    location: /var/lib/layman/andy
    masters: gentoo
    priority: 50

ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="*"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=native -O2 -finline-functions -ftracer -pipe -flto -fuse-linker-plugin -ffat-lto-objects"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/lib64/libreoffice/program/sofficerc /usr/share/config /usr/share/gnupg/qualified.txt /var/lib/hsqldb"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-march=native -O2 -finline-functions -ftracer -pipe -flto -fuse-linker-plugin -ffat-lto-objects"
DISTDIR="/usr/portage/distfiles"
EMERGE_DEFAULT_OPTS="--with-bdeps=y"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://mirrors.rit.edu/gentoo/"
LANG="en_US.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,--hash-style=gnu -Wl,--sort-common -Wl,--strip-debug -march=native -O2 -finline-functions -ftracer -pipe -flto -fuse-linker-plugin -ffat-lto-objects"
MAKEOPTS="-j4"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git"
PORTAGE_TMPDIR="/var/tmp"
USE="3dnow 3dnowext X \ a52 aac aalib acl acpi alsa amd64 bash-completion berkdb bluetooth branding bzip2 cairo cdda cdr cli consolekit cracklib crypt cups cxx dbus declarative dri dts dvd dvdr emboss encode exif fam ffmpeg firefox flac fortran gdbm gif glamor gpm gtk iconv ipv6 jpeg jpeg2k kde kipi lcms ldap libnotify lzma mad mmx mmxext mng modules mp3 mp4 mpeg mplayer multilib mysql ncurses nls nptl offensive ogg opengl openmp openssl pam pango pcre pdf phonon plasma png policykit ppds python qml qt3support qt4 qt5 readline sdl seccomp session socks5 spell sse sse2 ssl startup-notification svg symlink tcpd tiff truetype udev udisks unicode upower usb videos vorbis widgets win32codecs wmf wxwidgets x264 xattr xcb xcomposite xine xinerama xml xscreensaver xv xvid zlib" ABI_X86="64 32" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="aes avx avx2 fma3 mmx mmxext popcnt sse sse2 sse3 sse4_1 sse4_2 ssse3" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ublox ubx" GRUB_PLATFORMS="pc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-5" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_4" RUBY_TARGETS="ruby20 ruby21" USERLAND="GNU" VIDEO_CARDS="nvidia nv vesa" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CC, CPPFLAGS, CTARGET, CXX, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON
Comment 1 Michael Palimaka (kensington) gentoo-dev 2016-06-23 18:39:50 UTC
Do you need this package or were you just doing general testing? If it's not actually needed, we could consider removing this since it unmaintained and upstream is dead and no other distro carries it.
Comment 2 causality 2016-06-24 00:25:41 UTC
I actually do use it.  I run a personal (SFTP) fileserver on my home machine, so I can get to my files when I'm out and about.  I use cbqinit to limit the upstream bandwidth of that server.  Without a limit, a remote download from my fileserver will fully saturate the upstream bandwidth of that connection, rendering it useless for others in the house.

Cbqinit has been a simple, convenient way to arrange that since openssh doesn't natively support bandwidth limitations.  Most other traffic-shaping options I've looked into were overkill for my needs.  Having said that, if you can recommend a good alternative, I'll gladly consider it.

If not, it seems a very simple patch can be supplied with the ebuild to correct this issue, the same way several other packages automatically apply patches when emerged.  It's only one line that needs to be changed.
Comment 3 Pacho Ramos gentoo-dev 2017-06-06 12:08:45 UTC
[master 6509857e591] net-misc/cbqinit: Use correct path for ip (#584976)
 1 file changed, 2 insertions(+), 1 deletion(-)
 rename net-misc/cbqinit/{cbqinit-0.7.3-r2.ebuild => cbqinit-0.7.3-r3.ebuild} (89%)