Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 477050 - sys-block/thin-provisioning-tools-0.2.1: please add ruby slots
Summary: sys-block/thin-provisioning-tools-0.2.1: please add ruby slots
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Core system (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Robin Johnson
URL:
Whiteboard: || ( ) workaround in ruby slotting in...
Keywords:
Depends on:
Blocks:
 
Reported: 2013-07-16 11:28 UTC by Michael Palimaka (kensington)
Modified: 2013-10-20 08:11 UTC (History)
4 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 Michael Palimaka (kensington) gentoo-dev 2013-07-16 11:28:17 UTC
Because thin-provisioning-tools-0.2.1 depends on ruby without specifying a slot, it will always pull in the latest version which can cause problems:

The following USE changes are necessary to proceed:
 (see "package.use" in the portage(5) man page for more details)
# required by dev-ruby/rdoc-4.0.1-r1[ruby_targets_ruby20]
# required by dev-lang/ruby-2.0.0_p247[rdoc]
# required by dev-ruby/rubygems-2.0.3[ruby_targets_ruby19]
# required by virtual/rubygems-6
# required by dev-ruby/racc-1.4.9[-test,ruby_targets_ruby20]
>=dev-ruby/json-1.8.0 ruby_targets_ruby20
# required by dev-lang/ruby-2.0.0_p247
# required by dev-ruby/rubygems-2.0.3[ruby_targets_ruby19]
# required by virtual/rubygems-6
# required by dev-ruby/rdoc-4.0.1-r1[-test,ruby_targets_ruby20]
# required by dev-lang/ruby-1.9.3_p448[rdoc]
# required by dev-ruby/racc-1.4.9[ruby_targets_ruby19]
>=dev-ruby/rake-0.9.6 ruby_targets_ruby20
# required by dev-ruby/rdoc-4.0.1-r1[ruby_targets_ruby20]
# required by dev-lang/ruby-2.0.0_p247[rdoc]
# required by dev-ruby/rubygems-2.0.3[ruby_targets_ruby19]
# required by virtual/rubygems-6
# required by dev-ruby/rake-0.9.6[-test,ruby_targets_ruby20]
# required by dev-ruby/json-1.8.0[-doc,ruby_targets_ruby19,-test]
>=dev-ruby/racc-1.4.9 ruby_targets_ruby20
# required by dev-lang/ruby-2.0.0_p247[rdoc]
# required by dev-ruby/rubygems-2.0.3[ruby_targets_ruby19]
# required by virtual/rubygems-6
# required by dev-ruby/racc-1.4.9[-test,ruby_targets_ruby20]
>=dev-ruby/rdoc-4.0.1-r1 ruby_targets_ruby20
# required by dev-lang/ruby-2.0.0_p247
# required by dev-ruby/rdoc-4.0.1-r1[ruby_targets_ruby20]
# required by dev-lang/ruby-1.9.3_p448[rdoc]
# required by dev-ruby/racc-1.4.9[ruby_targets_ruby19]
>=dev-ruby/rubygems-2.0.3 ruby_targets_ruby20

According to the ruby team, a solution could be: RDEPEND="|| ( dev-lang/ruby:2.0 dev-lang/ruby:1.9 dev-lang/ruby:1.8 )"


Portage 2.1.12.13 (hardened/linux/amd64, gcc-4.7.3-asneeded, glibc-2.17, 3.9.2-hardened-gnu x86_64)
=================================================================
System uname: Linux-3.9.2-hardened-gnu-x86_64-06-17-with-gentoo-2.2
KiB Mem:     4043416 total,   2762500 free
KiB Swap:    1951804 total,   1951804 free
Timestamp of tree: Tue, 16 Jul 2013 09:45:01 +0000
ld GNU ld (GNU Binutils) 2.23.1
app-shells/bash:          4.2_p45
dev-java/java-config:     2.2.0
dev-lang/python:          2.5.4-r6, 2.6.8-r2, 2.7.5-r1, 3.1.5-r1, 3.2.5-r1, 3.3.2-r1
dev-util/cmake:           2.8.11.1
dev-util/pkgconfig:       0.28
sys-apps/baselayout:      2.2
sys-apps/openrc:          0.11.8
sys-apps/sandbox:         2.6-r1
sys-devel/autoconf:       2.13, 2.69
sys-devel/automake:       1.9.6-r3, 1.11.6, 1.12.6, 1.13.4, 1.14
sys-devel/binutils:       2.23.1
sys-devel/gcc:            4.7.3
sys-devel/gcc-config:     1.8
sys-devel/libtool:        2.4.2
sys-devel/make:           3.82-r4
sys-kernel/linux-headers: 3.9 (virtual/os-headers)
sys-libs/glibc:           2.17
Repositories: gentoo kensington qt kde sunrise x-portage
ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="* -@EULA"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=native -O2 -pipe -frecord-gcc-switches"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt /usr/share/themes/oxygen-gtk/gtk-2.0 /usr/share/themes/oxygen-gtk/gtk-3.0 /var/qmail/alias /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5.4/ext-active/ /etc/php/apache2-php5.5/ext-active/ /etc/php/cgi-php5.4/ext-active/ /etc/php/cgi-php5.5/ext-active/ /etc/php/cli-php5.4/ext-active/ /etc/php/cli-php5.5/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c /usr/share/polkit-1/actions"
CXXFLAGS="-march=native -O2 -pipe -frecord-gcc-switches"
DISTDIR="/usr/portage/distfiles"
FCFLAGS="-march=native -O2 -pipe -frecord-gcc-switches"
FEATURES="assume-digests binpkg-logs collision-protect config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync multilib-strict news parallel-fetch preserve-libs protect-owned sandbox sfperms sign split-elog split-log splitdebug strict test unknown-features-warn unmerge-logs unmerge-orphans userfetch xattr"
FFLAGS="-march=native -O2 -pipe -frecord-gcc-switches"
GENTOO_MIRRORS="http://mirror.internode.on.net/pub/gentoo/ http://distfiles.gentoo.org/"
LANG="en_AU.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,--hash-style=gnu"
MAKEOPTS="-j4"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/var/lib/layman/kensington /var/lib/layman/qt /var/lib/layman/kde /var/lib/layman/sunrise /usr/local/portage"
SYNC="rsync://rsync.au.gentoo.org/gentoo-portage"
USE="aac acl acpi alsa amd64 apache2 apng asf background bash-completion bazaar berkdb bzip2 cairo cleartype cli consolekit corefonts cracklib crashreporter crypt cups cxx dbus deblob dep device-mapper dri dvd ebook exceptions fam flac fontconfig gdbm git glib gmp gold gpm handbook hardened iconv ipv6 ithreads jit jpeg justify kde kontact lastfm less libnotify mikmod minizip mmx mng modules mp3 mp4 mpeg mta mudflap multilib ncurses nls nptl nptlonly ogg opengl openmp pam pax_kernel pcap pcre phonon player png policykit private-headers qt3support qt4 readline rss semantic-desktop session sftp sha512 smbclient spell sse sse2 ssl ssse3 startup-notification suhosin svg symlink tcpd theora threads threadsafe tiff truetype udev unicode upnp uuid vhosts vorbis webm xft xscreensaver xvfb zlib" ABI_X86="64" 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="dav access_compat alias auth_basic authn_core authn_default auth_digest authn_file authz_core authz_host authz_user autoindex cgi deflate dir filter headers include info log_config mime mime_magic negotiation proxy proxy_http rewrite socache_shmcb speling status unixd 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" DRACUT_MODULES="crypt crypt-gpg lvm mdraid" 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 ubx" INPUT_DEVICES="evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="en" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-4" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_5 python2_6 python2_7 python3_1 python3_2 python3_3 pypy1_9 pypy2_0" RUBY_TARGETS="ruby19 ruby18" USERLAND="GNU" 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:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON
Comment 1 Hans de Graaff gentoo-dev Security 2013-10-07 13:47:00 UTC
ruby intents to provide an eclass to handle this dependency more easily, but until that time the ||() would work fine (provided each slot has been tested to work).
Comment 2 Samuli Suominen (RETIRED) gentoo-dev 2013-10-20 08:11:05 UTC
(In reply to Hans de Graaff from comment #1)
> ruby intents to provide an eclass to handle this dependency more easily, but
> until that time the ||() would work fine (provided each slot has been tested
> to work).

I find that logic flawed. Latest should be preferred until shown that it doesn't work and there is an actual reason to restrict it to old SLOT.

I've committed the || ( ) workaround to thin-provisioning-tools-0.2.8.ebuild like:

RDEPEND="|| ( dev-lang/ruby:2.9 dev-lang/ruby:2.8 dev-lang/ruby:2.7 dev-lang/ruby:2.6 dev-lang/ruby:2.5 dev-lang/ruby:2.4 dev-lang/ruby:2.3 dev-lang/ruby:2.2 dev-lang/ruby:2.1 dev-lang/ruby:2.0 dev-lang/ruby:1.9 dev-lang/ruby:1.8 )"

Propably bug should be filed against sys-apps/portage to get saner output.