Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 151480 - xorg-x11-7.0-r1 installs xorg-server-1.1.1-r1
Summary: xorg-x11-7.0-r1 installs xorg-server-1.1.1-r1
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Unspecified (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Gentoo Linux bug wranglers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-10-15 10:30 UTC by Chr. Schaefer
Modified: 2006-10-16 01:40 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 Chr. Schaefer 2006-10-15 10:30:46 UTC
When re-merging xorg-x11 7.0-r1 with "--deep --update" several dependencies of xorg-x11 7.1 were installed, especially x11-base/xorg-server-1.1.1-r1 and some packages from x11-drivers. When trying later to update xorg-x11 from 7.0-r1 to 7.1 nothing more was installed, so I assume I actually had a 7.1 installation before.

Expected behaviour: 
x11-base/xorg-server-1.0* and 7.0 drivers should have been installed

This can be considered a duplicate of bug 135546 (which has been marked as duplicate of bug 1343) but the reason given there seems to be not valid as the KDE meta packages can make sure that no higher versions of the modular ebuilds are installed.

Asking the user to package mask the modular ebuilds when using the meta package is no feasible option, especially as it is not clear that e.g. xorg-xserver 1.1 is part of xorg-x11 7.1. 

I think this is not a cosmetic bug given the number of difficulties with drivers and incompatibilies of xorg-x11 7.1 and the same problem will hit us with new releases of xorg-x11.

PS: Thanks for the great work on the ebuilds, though. Even though I didn't want to upgrade to 7.1 at this time it now works fine and I nearly didn't notice this "seamless" upgrade. ;-)

emerge --info:
Portage 2.1.1 (default-linux/x86/2006.1/desktop, gcc-4.1.1, glibc-2.4-r3, 2.6.16-suspend2-r8 i686)
=================================================================
System uname: 2.6.16-suspend2-r8 i686 Intel(R) Celeron(R) CPU 1.70GHz
Gentoo Base System version 1.12.5
Last Sync: Sun, 15 Oct 2006 14:50:01 +0000
distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled]
ccache version 2.3 [disabled]
app-admin/eselect-compiler: [Not Present]
dev-java/java-config: 1.3.7, 2.0.30
dev-lang/python:     2.4.3-r4
dev-python/pycrypto: 2.0.1-r5
dev-util/ccache:     2.3
dev-util/confcache:  [Not Present]
sys-apps/sandbox:    1.2.17
sys-devel/autoconf:  2.13, 2.59-r7
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2
sys-devel/binutils:  2.16.1-r3
sys-devel/gcc-config: 1.3.13-r4
sys-devel/libtool:   1.5.22
virtual/os-headers:  2.6.17-r1
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=pentium3 -fomit-frame-pointer -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/share/config/kdm /usr/kde/3.5/shutdown /usr/share/X11/xkb /usr/share/config"
CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/gconf /etc/java-config/vms/ /etc/revdep-rebuild /etc/terminfo"
CXXFLAGS="-O2 -march=pentium3 -fomit-frame-pointer -pipe"
DISTDIR="/usr/portage/distfiles"
EMERGE_DEFAULT_OPTS="--usepkg"
FEATURES="autoconfig buildpkg distlocks metadata-transfer parallel-fetch sandbox sfperms strict"
GENTOO_MIRRORS="ftp://ftp.tu-clausthal.de/pub/linux/gentoo/ ftp://sunsite.informatik.rwth-aachen.de/pub/Linux/gentoo http://gentoo.oregonstate.edu/ http://www.ibiblio.org/pub/Linux/distributions/gentoo"
LANG="de_DE.UTF-8"
LINGUAS="de"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude='/distfiles' --exclude='/local' --exclude='/packages'"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
USE="x86 X aac acpi alsa arts asf audiofile berkdb bitmap-fonts bzip2 cairo cdr cli crypt cups dbus directfb dlloader dri dvd dvdr eds elibc_glibc emboss encode esd exif fam fbcon ffmpeg firefox flac foomaticdb fortran gdbm gif gphoto2 gpm gstreamer gtk hal idn imagemagick input_devices_keyboard input_devices_mouse ipod ipv6 isdnlog java javascript jpeg kde kdeenablefinal kernel_linux lcms libg++ linguas_de mad mikmod mmx mng mp3 mpeg ncurses nls nptl nptlonly nsplugin ogg opengl pam pcre pda perl png ppds pppd python qt3 qt4 quicktime readline reflection samba sdl session spell spl sqlite sse ssl svga tcpd threads tiff truetype truetype-fonts type1-fonts udev unicode usb userland_GNU vcd video_cards_fbdev video_cards_nv video_cards_sis video_cards_vesa video_cards_vga vorbis win32codecs xml xmms xorg xv zlib"
Unset:  CTARGET, INSTALL_MASK, LC_ALL, LDFLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Jakub Moc (RETIRED) gentoo-dev 2006-10-15 10:37:00 UTC
Sorry, but that's why we have --pretend option for emerge. What do you mean "silently"? How's upgrading something that you specifically asked for using "--deep --update" silent? o_O 
Comment 2 Chr. Schaefer 2006-10-15 23:33:01 UTC
(In reply to comment #1)
> What do you mean
> "silently"? How's upgrading something that you specifically asked for using
> "--deep --update" silent? o_O

How is a user supposed to know that

emerge -Dup =x11-xorg-7.0*

will actually upgrade to xorg 7.1? That's what I mean by silent. If a meta ebuild pulls in updated components that shouldn't be something for the user to worry about.

This is an excerpt of emerge -upte =xorg-x11-7.0* 

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

Calculating dependencies  ...... done!

[ebuild  N    ] x11-base/xorg-x11-7.0-r1  
[ebuild  N    ]  x11-libs/libXv-1.0.1  
...
[ebuild  N    ]  x11-libs/libXinerama-1.0.1  
[ebuild  N    ]  x11-apps/xrandr-1.0.2  
[ebuild  N    ]   x11-libs/libXrandr-1.1.1  
...
[ebuild  N    ]  x11-libs/libXxf86dga-1.0.1  
[ebuild  N    ]  x11-libs/libXScrnSaver-1.1.0  
...
[ebuild  N    ]  x11-drivers/xf86-input-keyboard-1.1.0  
[ebuild  N    ]  x11-drivers/xf86-video-nv-1.2.0  
[ebuild  N    ]  x11-drivers/xf86-video-fbdev-0.3.0  
[ebuild  N    ]  x11-drivers/xf86-video-sis-0.9.1-r1  
[ebuild  N    ]  x11-drivers/xf86-input-mouse-1.1.1  
[ebuild  N    ]  x11-drivers/xf86-video-vga-4.1.0  
[ebuild  N    ]  x11-drivers/xf86-video-vesa-1.2.1  
[ebuild  N    ]   x11-base/xorg-server-1.1.1-r1  
[ebuild  N    ]    x11-proto/scrnsaverproto-1.1.0  

I find all kind of version numbers here: 7.0, 1.0, 1.1, 1.2, 4.1
I don't understand the modular X version number scheme, but at the top of the list it says x11-base/xorg-x11-7.0-r1.

Do I have 7.0 installed or 7.1? I can't tell.

But if I do emerge -Dup world xorg-x11 I just get

[ebuild  U    ] x11-base/xorg-x11-7.1 [7.0-r1]

therefore I assume that I have already upgraded to 7.1 effectively just without upgrading the meta ebuild yet.

Regards,
Christian.
Comment 3 Jakub Moc (RETIRED) gentoo-dev 2006-10-16 00:34:07 UTC
(In reply to comment #2)
> But if I do emerge -Dup world xorg-x11 I just get
> 
> [ebuild  U    ] x11-base/xorg-x11-7.1 [7.0-r1]
> 
> therefore I assume that I have already upgraded to 7.1 effectively just without
> upgrading the meta ebuild yet.

Please, read man emerge.

N = new (not yet installed)
S = new SLOT installation (side-by-side versions)
U = updating (to another version)
D = downgrading (best version seems lower)
R = replacing (remerging same version))
F = fetch restricted (must be manually downloaded)
f = fetch restricted (already downloaded)
B = blocked by an already installed package

Marking INVALID.
Comment 4 Chr. Schaefer 2006-10-16 01:08:24 UTC
Jakub, I appreciate your work and your fast response, but I think you missed the point.

Last try: Summary updated

Short version:
ebuild x11-base/org-x11-7.0-r1 installs x11-base/xorg-server-1.1.1-r1 as a dependency, but xorg-server-1.1 is part of X11R7.1.

This could be solved by changing the x11-base/xorg-x11-7.0-r1 ebuild like this:
 # Server
 RDEPEND="${RDEPEND}
-       >=x11-base/xorg-server-1.0.1"
+       >=x11-base/xorg-server-1.0.1 <x11-base/xorg-server-1.1"

Probably more dependencies, e.g. to drivers, have to be fixed.

All comments above apply.

Have a nice day!
Christian.
Comment 5 Jakub Moc (RETIRED) gentoo-dev 2006-10-16 01:13:38 UTC
> This could be solved by changing the x11-base/xorg-x11-7.0-r1 ebuild like this:
>  # Server
>  RDEPEND="${RDEPEND}
> -       >=x11-base/xorg-server-1.0.1"
> +       >=x11-base/xorg-server-1.0.1 <x11-base/xorg-server-1.1"

No, it can't, the above won't work; portage doesn't support dependency ranges. If you don't want to upgrade, then 

1/ Don't use -uD with = operator, it doesn't make any sense
2/ If you still dislike the output, p.mask it live everyone else

Closing, no bug here.
Comment 6 Chr. Schaefer 2006-10-16 01:36:46 UTC
(In reply to comment #5)
> No, it can't, the above won't work; 
> portage doesn't support dependency ranges.

Accepted. I'm no Gentoo developer. As a user I'm just wondering how KDE manages to do exactly this. Sure, their deprange function is much more sophisticated and perhaps someday we will see a similar thing for X.org ebuilds also.

Perhaps even a simple 

 # Server
 RDEPEND="${RDEPEND}
-       >=x11-base/xorg-server-1.0.1"
+       =x11-base/xorg-server-1.0"

could do the job. But as I said, I don't know the X.org versioning scheme.
Looking at "man 5 ebuild" I coulnd't find restrictions on using boolean operators. 

> If you don't want to upgrade, then 
> 
> 1/ Don't use -uD with = operator, it doesn't make any sense

??? I want to stay with the package version but update any dependencies.

> 2/ If you still dislike the output, p.mask it live everyone else

No solution as I don't know which ebuilds are supposed to be 7.1 and which ones are also 7.0. So far I haven't found a list of module version numbers per release.

> Closing, no bug here.

Next bug might be about downgrading from 7.1 to 7.0...

Regards,
Christian.
Comment 7 Jakub Moc (RETIRED) gentoo-dev 2006-10-16 01:40:16 UTC
(In reply to comment #6)
> As a user I'm just wondering how KDE manages
> to do exactly this. Sure, their deprange function is much more sophisticated
> and perhaps someday we will see a similar thing for X.org ebuilds also.

Easily - KDE is slotted, xorg is not. :)