Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 299836 - actionpack-2.3.5-r1 forces circular downgrade of rack-1.1.0 which is reinstalled on next paludis -i world
Summary: actionpack-2.3.5-r1 forces circular downgrade of rack-1.1.0 which is reinstal...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: High normal with 1 vote (vote)
Assignee: Thomas Anderson (tanderson) (RETIRED)
URL: https://rails.lighthouseapp.com/proje...
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-01-06 01:32 UTC by Harris Landgarten
Modified: 2011-07-18 14:17 UTC (History)
8 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 Harris Landgarten 2010-01-06 01:32:53 UTC
... When adding installed package 'dev-ruby/actionpack-2.3.5-r1:2.3::installed':
  ... When adding run dependencies as post dependencies:
  ... When adding PackageDepSpec '<dev-ruby/rack-1.1.0[ruby_targets_ruby18?]':
  ... Downgrade to 'dev-ruby/rack-1.0.1-r1:0::gentoo' from 'dev-ruby/rack-1.1.0:0::installed' forced


Reproducible: Always
Comment 1 Harris Landgarten 2010-01-09 20:59:02 UTC
This bug still exists in paludis-0.44 when I do paludis -ip actionpack --dl-reinstall always with rack-1.10 installed the last of the 78 packages on the list are:

* dev-ruby/activesupport :2.3 [R 2.3.5-r2]
    Reasons: dev-ruby/actionpack-2.3.5-r1:2.3::gentoo
    RUBY_TARGETS: ruby18 build_options: -optional_tests split strip -trace -preserve_work
* dev-ruby/rack [R 1.1.0]
    Reasons: dev-ruby/actionpack-2.3.5-r1:2.3::gentoo
    -doc (-test) RUBY_TARGETS: ruby18 build_options: -optional_tests split strip -trace -preserve_work
* dev-ruby/rack [D 1.1.0 -> 1.0.1-r1]
    Reasons: *dev-ruby/actionpack-2.3.5-r1:2.3::gentoo
    -doc (-test) RUBY_TARGETS: ruby18 build_options: -optional_tests split strip -trace -preserve_work
* dev-ruby/actionpack :2.3 [R 2.3.5-r1] <target>
    -doc (-test) RUBY_TARGETS: ruby18 build_options: -optional_tests split strip -trace -preserve_work

with rack 1.0.1-r1 installed when I do paludis -ip actionpack --dl-reinstall the last of the 78 packages on the list are:

* dev-ruby/activesupport :2.3 [R 2.3.5-r2]
    Reasons: dev-ruby/actionpack-2.3.5-r1:2.3::gentoo
    RUBY_TARGETS: ruby18 build_options: -optional_tests split strip -trace -preserve_work
* dev-ruby/rack [U 1.0.1-r1 -> 1.1.0]
    Reasons: dev-ruby/actionpack-2.3.5-r1:2.3::gentoo
    -doc (-test) RUBY_TARGETS: ruby18 build_options: -optional_tests split strip -trace -preserve_work
* dev-ruby/rack [R 1.0.1-r1]
    Reasons: dev-ruby/actionpack-2.3.5-r1:2.3::gentoo
    -doc (-test) RUBY_TARGETS: ruby18 build_options: -optional_tests split strip -trace -preserve_work
* dev-ruby/actionpack :2.3 [R 2.3.5-r1] <target>
    -doc (-test) RUBY_TARGETS: ruby18 build_options: -optional_tests split strip -trace -preserve_work


It seems the the :

ruby_add_rdepend "~dev-ruby/activesupport-${PV}
	>=dev-ruby/rack-1.0.1 <dev-ruby/rack-1.1.0"

is actionpack is causes the problem.
Comment 2 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2010-01-27 04:32:33 UTC
This issue has existed for 3 weeks now, why isn't the ruby team fixing it? Not sure why flameeyes assigned it to tanderson, away from the ruby team, as tanderson has never touched anything in dev-ruby/ or the ruby eclasses.
Comment 3 Diego Elio Pettenò (RETIRED) gentoo-dev 2010-01-27 12:47:17 UTC
Because Portage does the right thing already.
Comment 4 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2010-01-27 20:19:07 UTC
flameeyes: since when? Portage is NOT doing it correctly for me.

# emerge -1v =dev-ruby/rack-1.1*
(or world/installed etc)
...
# emerge -pv actionpack

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

Calculating dependencies... done!
[ebuild     UD] dev-ruby/rack-1.0.1-r1 [1.1.0] USE="-doc -test" RUBY_TARGETS="ruby18 -jruby" 0 kB
[ebuild   R   ] dev-ruby/actionpack-2.3.5-r1  USE="-doc -test" RUBY_TARGETS="ruby18" 0 kB

Rinse and repeat. That does NOT constitute fixed in Portage.

Portage 2.2_rc61 (default/linux/amd64/10.0, gcc-4.3.4, glibc-2.11-r1, 2.6.29-hardened x86_64)
=================================================================
System uname: Linux-2.6.29-hardened-x86_64-Intel-R-_Core-TM-2_Quad_CPU_Q6600_@_2.40GHz-with-gentoo-2.0.1
Timestamp of tree: Unknown
ccache version 2.4 [enabled]
app-shells/bash:     4.0_p37
dev-lang/python:     2.5.4-r2, 2.6.4-r1, 3.1.1-r1
dev-python/pycrypto: 2.0.1-r8
dev-util/ccache:     2.4-r8
dev-util/cmake:      2.8.0-r1
sys-apps/baselayout: 2.0.1
sys-apps/openrc:     0.6.0-r1
sys-apps/sandbox:    2.2
sys-devel/autoconf:  2.13, 2.65
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.3, 1.11.1
sys-devel/binutils:  2.20
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   2.2.6b
virtual/os-headers:  2.6.30-r1
ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="* -@EULA"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=nocona -O2 -g -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/qpsmtpd/plugins /var/bind /var/qmail/alias /var/qmail/control /var/vpopmail/etc"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/eselect/postgresql /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/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"
CXXFLAGS="-march=nocona -O2 -g -pipe"
DISTDIR="/home/gentoo/distfiles"
FEATURES="assume-digests buildpkg ccache collision-protect distlocks fixpackages metadata-transfer news parallel-fetch preserve-libs protect-owned sandbox sfperms splitdebug strict unmerge-logs unmerge-orphans userfetch userpriv usersandbox"
GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo"
LDFLAGS="-Wl,-O1"
LINGUAS="en en_CA en_US en_GB en_ZA"
MAKEOPTS="-j6 -l5"
PKGDIR="/home/gentoo/packages/"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage/cvs"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC=""
USE="3dnow aalib acl acpi adns aio alsa amd amd64 apache2 apm ares audit berkdb bzip2 cairo cdr cgi clearpasswd cli cracklib crypt cscope curl cxx divx4linux dri dvd dvdr encode f77 fam foomaticdb fortran frxp gcj gd gdbm geoip gif glitz gnutls gpgme hpn iconv idn imap innodb ipalias ipv6 jikes jpeg junit latex libwww logrotate mad maildir mcal md5sum mikmod mmx modules mp3 mpeg mpm-prefork mudflap multicall multilib multitarget mysql ncurses nls nptl nptlonly objc offensive ogg openmp pam pcap pcre pdf pdflib perl pic plotutils png pnp postgres ppds pppd python qmail readline reflection samba scanner session slp smime sni snmp socks5 spell spl sse sse2 ssl svg sysfs tetex tiff truetype truetype-fonts type1 type1-fonts udev ungif unicode urandom usb userlocales v4l v4l2 vhosts vim-syntax vorbis xattr xcb xinetd xml xml2 xorg xvid zlib" 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" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="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 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 asis auth_digest       imagemap log_forensic proxy proxy_ajp proxy_balancer proxy_connect proxy_ftp proxy_http" APACHE2_MPMS="prefork" ELIBC="glibc" FOO2ZJS_DEVICES="hp1020" INPUT_DEVICES="evdev keyboard mouse void" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en en_CA en_US en_GB en_ZA" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="dummy fbdev vga vesa" 
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LANG, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 5 Hans de Graaff gentoo-dev Security 2010-02-22 20:13:29 UTC
It looks to me like the right way to fix this is to put the different rack versions into their own SLOTS and depend on those.
Comment 6 Diego Elio Pettenò (RETIRED) gentoo-dev 2010-02-22 20:16:54 UTC
I've hit at least one problem with Rails trying to load both 1.1.0 and 1.0.1 though, so we might have to work on it slightly harder than expected.
Comment 7 Hans de Graaff gentoo-dev Security 2011-07-18 14:17:46 UTC
I'm closing this bug since we now have rack slotted and rails 2.3.12 stable. Please reopen if this bug is still causing problems.