View Issue Details

IDProjectCategoryView StatusLast Update
0001824unrealinstallingpublic2004-06-01 16:26
ReporterLinDevel Assigned Tocodemastr 
PrioritynormalSeverityfeatureReproducibilityalways
Status resolvedResolutionfixed 
OSGentoo/Linux 
Product Version3.2-RC2 
Summary0001824: Easier configure/compile/install -> Paths (WISH, no error)
DescriptionCould 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...

So please:
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.

Thank you,
Dennis
(I hope I'll see this in 3.2.1 ;) )
TagsNo tags attached.
3rd party modules

Activities

codemastr

2004-05-19 13:14

reporter   ~0006336

- 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.

w00t

2004-05-19 19:58

reporter   ~0006343

Then that'd be their own fault. Still, they'd whinge about it. Gotta agree with you on this codemastr.

LinDevel

2004-05-20 14:30

reporter   ~0006346

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.

codemastr

2004-05-20 14:36

reporter   ~0006347

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");

LinDevel

2004-05-20 15:39

reporter   ~0006348

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)

codemastr

2004-06-01 16:26

reporter   ~0006518

In .44, Unreal will now create the tmp/ at runtime, rather than at configure.

Issue History

Date Modified Username Field Change
2004-05-19 11:20 LinDevel New Issue
2004-05-19 13:14 codemastr Note Added: 0006336
2004-05-19 19:58 w00t Note Added: 0006343
2004-05-20 14:30 LinDevel Note Added: 0006346
2004-05-20 14:36 codemastr Note Added: 0006347
2004-05-20 15:39 LinDevel Note Added: 0006348
2004-06-01 16:26 codemastr Status new => resolved
2004-06-01 16:26 codemastr Resolution open => fixed
2004-06-01 16:26 codemastr Assigned To => codemastr
2004-06-01 16:26 codemastr Note Added: 0006518