View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0001824||unreal||installing||public||2004-05-19 11:20||2004-06-01 16:26|
|Summary||0001824: Easier configure/compile/install -> Paths (WISH, no error)|
|Description||Could you please make configuring/compiling/installing easier, using systempaths?|
I am using Gentoo, so one should think writing an ebuild (compiles sources using system-paths, system-cflags etc.) for some program could not that difficult, but:
At the moment ./configure wants to write to the configpath, which should be readonly, unrealircd wants to write there, too. (-> DPATH/tmp)
So you have to juggle around with permissions, have problems writing an ebuild, because gentoo uses a sandbox-mode for compilation and configure wants to change something outside and and and...
Let ./configure really use --prefix, --sysconfdir and such... (it reports them in --help but instead uses --with-dpath)
Let unrealircd use /tmp instead of CONFDIR/tmp
It should not be that difficult to move some of the paths/files and change the configure-script and would make thinks more easy.
(I hope I'll see this in 3.2.1 ;) )
|Tags||No tags attached.|
|3rd party modules|
- Let ./configure really use --prefix, --sysconfdir and such... (it reports them in --help but instead uses --with-dpath)
Well here is the thing, you are never supposed to call ./configure directly. It is called by ./Config, which is what you should be using. So I don't see a reason to add such support.
- Let unrealircd use /tmp instead of CONFDIR/tmp
Absolutely *not*. That would be a security risk. If you like the idea that someone could potentially find a way to inject code into your UnrealIRCd, and read your config files, then you can just symlink CONFDIR/tmp to /tmp. It won't be done for you in Unreal though. We discussed this fully. It can lead to problems. If someone doesn't set Unreal to use a good set of permissions, then the files it creates in /tmp could be world readable/writable. That means people could read your config files and change your modules.
||Then that'd be their own fault. Still, they'd whinge about it. Gotta agree with you on this codemastr.|
I understand you, I thought about this myself...
(And I even thought that you might have discussed this, but couldn't find it on bugs.unrealird.org)
But, do the directories really have to be created during configure or compile?
Wont it be possible to do that on the first run?
My problem is, that your compilation routine (espacially ./Config) is not compatible to the ebuild/emerge concept:
Gentoo uses so called ebuilds:
They set up things like install paths, CFLAGS etc. start ./configure (or "./Config -quick" ;) ). They install the program and it's files at first to a "image" directory, a sandbox, after "make install" or whatever is needed they merge this directory into the systemfiletree...
It is an access-violation when anything wants to change/create files outside the work(where compilation takes place) or the image directory.
The only thing I want is that the compilation does not need to create files outside it's sandbox.
I do not know how difficult it is to change this in the unrealircd sources, I can look how other IRCDs work together with emerge if you want me to...
I would be very pleased if it would be possible to make unreal work with an ebuild and would like to help with this as much as I can.
|So, all you're saying is, make the tmp/ at runtime (if it doesn't exist) rather than at configuretime? That shouldn't be too bad. I'd think all we have to do is add a mkdir("tmp");|
||Yes and other stuff that wont work in a sandbox (I think /tmp is the only one, but I haven't read the code, yet)|
|In .44, Unreal will now create the tmp/ at runtime, rather than at configure.|
|2004-05-19 11:20||LinDevel||New Issue|
||Note Added: 0006336|
|2004-05-19 19:58||w00t||Note Added: 0006343|
|2004-05-20 14:30||LinDevel||Note Added: 0006346|
||Note Added: 0006347|
|2004-05-20 15:39||LinDevel||Note Added: 0006348|
||Status||new => resolved|
||Resolution||open => fixed|
||Assigned To||=> codemastr|
||Note Added: 0006518|