Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 92878 - Multiple file collisions between net-dialup/ppp and net-dialup/radiusclient (collision-protect)
Summary: Multiple file collisions between net-dialup/ppp and net-dialup/radiusclient (...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Other
: High normal (vote)
Assignee: Gentoo Dialup Developers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-05-17 01:56 UTC by Mike Nerone
Modified: 2005-05-26 14:03 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 Mike Nerone 2005-05-17 01:56:16 UTC
ppp bundles radiusclient in its source distribution, leading to these collisions. I'm wondering if one of you devs might be able to add radiusclient as a dependency of ppp and do some sed-fu in the ebuild to get ppp to compile against it instead of the bundled version. An additional benefit would be that it would use an up-to-date version of radiusclient (maybe even shared, unlike how it seems to be set up now?). Of course, I'm assuming the API hasn't changed, but that's for a C programmer to know. :P

What do you think?
Comment 1 Mike Nerone 2005-05-17 12:01:06 UTC
I should mention that I'm talking about the current stable ebuilds:
net-dialup/ppp-2.4.2-r10 and net-dialup/radiusclient-0.4.8.
Comment 2 Alin Năstac (RETIRED) gentoo-dev 2005-05-17 23:03:11 UTC
I am not ppp developer. If the upstream decides to bundle a certain version of
radiusclient inside its tarball, so be it.
However, you are right. ppp-2.4.2-r10 installs its own radiusclient, which
should not happen since radius plugin does not depend on libradiusclient.so.

I need you to make a test.

Please erase /usr/lib/libradiusclient* from ppp-2.4.2-r10 installation and see
if ppp's radius plugin works as expected.
Comment 3 Mike Nerone 2005-05-17 23:42:12 UTC
RADIUS authentication continues to work correctly if /usr/lib/libradius* is
removed, but fails without /etc/radiusclient.
Comment 4 Alin Năstac (RETIRED) gentoo-dev 2005-05-17 23:47:19 UTC
I have second thoghts about it.

We should add a "radius" flag which will add dependency on
net-dialup/radiusclient...but it will be a bumpy ride. 
Currently, net-dialup/radiusclient has only x86 keyword; it will need same
keywords as ppp.

For the time being, I'll mark net-dialup/radiusclient-0.5.0 as stable, since now
the configuration files are found in /etc/radiusclient-ng, which will solve
collisions in /etc.
Comment 5 Alin Năstac (RETIRED) gentoo-dev 2005-05-17 23:48:16 UTC
btw, can you post a patch for ppp-2.4.2-r10? 
Comment 6 Mike Nerone 2005-05-18 02:51:34 UTC
Sorry, I don't have a patch...I haven't fixed it locally. Or maybe I'm not
understanding what you want. It's nearly 5am and my brain is a little soft at
the moment...
Comment 7 Alin Năstac (RETIRED) gentoo-dev 2005-05-18 03:03:38 UTC
I mean a patch for making ppp-2.4.2-r10 work with radiusclient-0.5.0.
Comment 8 Mike Nerone 2005-05-18 22:55:11 UTC
That's what I thought you meant. Sorry...I have no patch to give you. I'm
working production systems at the moment, and my focus is just on getting things
functioning properly. I've just done without an updated radiusclient for the
time being (I'm just using ppp's bundled version).

Apologies...I usually like to help with a solution rather than just pointing out
a problem, but in this instance I haven't had time, and don't think I will in
the near future. I couldn't really do much beyond Makefile manipulation anyway,
as I'm not a C Programmer.
Comment 9 Alin Năstac (RETIRED) gentoo-dev 2005-05-22 12:51:07 UTC
as I stated in bug #93596, I cannot use radiusclient in net-dialup/ppp (paulus
customized the radiusclient files beyond compatibility with the original version).

however, this bug had a consequence. it made me realize that radiusclient-ng
interface is incompatible with radiusclient interface, which means they are
different libraries. 
I've already splitted the ebuilds into net-dialup/radiusclient and
net-dialup/radiusclient-ng.
Comment 10 Mike Nerone 2005-05-22 23:10:12 UTC
Well, at least some good came of it. Thanks for examining the issue! :)
Comment 11 Alin Năstac (RETIRED) gentoo-dev 2005-05-23 11:22:45 UTC
this problem has been partially solved in ppp-2.4.2-r11.

the new ebuild don't install any /usr/lib/libradiusclient* files - ppp plugins
don't need them. radius plugins are statically linked with the radiusclient
library compiled within.
Comment 12 Mike Nerone 2005-05-23 13:32:56 UTC
Perhaps some seds to change its config directory to /etc/pppradiusclient or
something? This would solve the rest of the collisions and allow someone to
concurrently have ppp w/ radius AND radiusclient as a shared library for other
purposes.
Comment 13 Alin Năstac (RETIRED) gentoo-dev 2005-05-24 12:23:55 UTC
ok, I will set the default radius config dir to /etc/ppp/radius. how about that?

perhaps you could post here a warning that I could use in postinst to draw
user's attention on this change? although I understand English quite well, I
don't master its grammar.
Comment 14 Mike Nerone 2005-05-24 12:55:17 UTC
Why didn't I think of /etc/ppp/radius? :P

How about (and only if radius is in USE):

################################################################
Warning! If you use RADIUS to authenticate PPP connections using
this package, be aware that as of ppp-2.4.2-r12, the RADIUS
configuration files have moved from /etc/radiusclient to
/etc/ppp/radius. You will need to move those files manually!
################################################################

Note: I'm guessing about the -r12 part. :)
Comment 15 Alin Năstac (RETIRED) gentoo-dev 2005-05-24 22:31:28 UTC
seems that emerge does not consider collisions in /etc. 
I've emerged both ppp-2.4.2-r11 and radiusclient without any error/warning,
despite the fact that I have "collision-protect" in FEATURES.

In this case, I would agree to move /etc/radiusclient to /etc/ppp/radius for
ppp-2.4.3 (in which radiusclient is customized by ppp upstream) but not for
ppp-2.4.2 (the installed files would differ only by some comments, maybe).
Comment 16 Alin Năstac (RETIRED) gentoo-dev 2005-05-26 11:34:18 UTC
fixed in ppp-2.4.3-r5 because this version (2.4.3) use a customized copy of
radiusclient.

As I said in previous comment, there is no need for fixing it in ppp-2.4.2. This
version use the original radiusclient-0.3.1, hence ppp-2.4.2 and
radiusclient-0.3.2 could coexist with a shared /etc/radiusclient (which btw it
isn't considered a collision by colision-protect feature of the portage).
Comment 17 Mike Nerone 2005-05-26 14:03:12 UTC
I'm really sorry if it ends up making your life harder, but I had to report this
non-detection of collisions in cfgpro dirs as bug #94116. :|