Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 150432

Summary: make xsm an optional dependence of xinit
Product: Gentoo Linux Reporter: Gioele Barabucci <dev>
Component: New packagesAssignee: Gentoo Linux bug wranglers <bug-wranglers>
Status: VERIFIED WORKSFORME    
Severity: enhancement CC: dberkholz, erik, michael
Priority: High    
Version: 2006.1   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

Description Gioele Barabucci 2006-10-07 22:53:40 UTC
Bug 150334 has been solved adding x11-apps/xsm to the list of xinit dependences.
Is it possible to make this dependence optional?

xsm is useful only for those who use Xsession while I think most people use kdm or gdm. Also, xsm brings in the useless netkit-rsh.
Comment 1 Jakub Moc (RETIRED) gentoo-dev 2006-10-07 23:14:16 UTC
It already is optional.

<snip>
RDEPEND="x11-apps/xauth
        x11-libs/libX11
        !minimal? ( x11-wm/twm
        x11-apps/xclock
        x11-apps/xrdb
        x11-apps/xsm )"
</snip>
Comment 2 Michael Brakemeier 2006-10-08 02:39:07 UTC
twm, xclock and especially xrdb are necessary for running an old-style Xsession, but the netkit-r*-tools are installed as setuid binaries and are widely considered *pure evil* for security reasons.

IMHO it is a very nice idea to have this as an optional dependency. I
don't like to see most gentoo installations being vulnerable due to some
useless dependencies... .






Comment 3 Jakub Moc (RETIRED) gentoo-dev 2006-10-08 02:52:09 UTC
So file a bug upstream if you dislike it:

https://bugs.freedesktop.org/enter_bug.cgi?product=xorg
Comment 4 Erik Logtenberg 2006-10-08 08:34:10 UTC
I agree with Michael Brakemeier on this one.

Ofcourse the dependancy is optional, but the "minimal" use-flag is off by default, so any Gentoo install with X support will now have netkit-rsh installed by default. I don't think this is the right way to go.

Not only should this dependency be optional, also the use-flag that triggers the dependency should be so, that by default netkit-rsh is *not* installed. Only when explicitly requested for, should it be installed.

So my suggestion is to add an "xsessionoldstyle" useflag that triggers the dependency, and is off by default.

Kind regards,

Erik Logtenberg.
Comment 5 Donnie Berkholz (RETIRED) gentoo-dev 2006-10-08 10:29:30 UTC
It's more important to have a system that works by default than to install a couple of extra packages, even if they're annoying ones.

People should be able to do `emerge xorg-x11; startx` and have it _work_.
Comment 6 Erik Logtenberg 2006-10-08 10:42:41 UTC
Allright, perhaps it's a better idea then to remove netkit-rsh as a dependency of xsm. In the documentation of xsm I don't see any real reason to depend on rsh:

http://xorg.freedesktop.org/releases/X11R7.0/doc/html/xsm.1.html

It does say "xsm requires a remote execution protocol in order to restart applications on remote machines. Currently, xsm supports the rstart protocol. In order to restart an application on remote machine X, machine X must have rstart installed. In the future, additional remote execution protocols may be supported."

To me, this sounds like rsh isn't really required. (but correct me if I'm wrong)

Assuming the above is correct, my new suggestion would be to keep xsm as a dependancy of xinit, and remove netkit-rsh as a dependancy of xsm. You might consider making that an optional dependancy, with xsm by default not depending on rsh.

This way, People should be able to do `emerge xorg-x11; startx` and have it work, while still having a sane and safe environment.

Kind regards.
Comment 7 Donnie Berkholz (RETIRED) gentoo-dev 2006-10-08 10:45:25 UTC
From xsm's configure.ac script:

if [[ -z $RSH ]] ; then
   AC_PATH_PROG(RSH,rsh)
fi
if [[ -z $RSH ]] ; then
   AC_PATH_PROG(RSH,rcmd)
fi
if [[ -z $RSH ]] ; then
   AC_PATH_PROG(RSH,remsh)
fi
if [[ -z $RSH ]] ; then
   AC_MSG_ERROR(No rsh like program found)
fi
Comment 8 Michael Brakemeier 2006-10-08 11:04:26 UTC
Correct, xsm's configure dies without rsh being installed.

xsm is used as default fallback in the Xsession scripts.
Various user and system scripts are exec'ed if they exist
before startx tries to use xsm.

Looking at /etc/X11/Sessions/Xsession adding a small
/etc/X11/Xclients script should be enough.
This one could even exec xsm if it really is installed
to maintain compatibility.

That way startx should work as expected for most users
- I definitly agree that it not should die silently -
without having the r*-tools as a mandatory dependency for X.
Comment 9 Donnie Berkholz (RETIRED) gentoo-dev 2006-10-08 11:05:20 UTC
As others have already pointed out, it is not mandatory.
Comment 10 Michael Brakemeier 2006-10-08 11:17:52 UTC
Sorry, not mandatory...I mean default dependency.

Having use-flag minimal set on xinit to solve this is
not a very nice solution for this since it leaves you
even without the twm window manager.

Anyway, it seems that WORKSFORME is the proposed solution
for now...

Regards, Michael.