Opened 11 years ago

Last modified 3 years ago

#29 new enhancement

Support installation in FHS paths

Reported by: eagle Owned by: eagle
Priority: medium Milestone: 2.6.x
Component: general Version:
Severity: wishlist Keywords:
Cc:

Description

INN currently strongly assumes that it owns a directory hierarchy and most of its files are relative to that directory hierarchy. It's possible to configure it otherwise, but only with significant path customization in inn.conf. It also doesn't separate the different types of binaries (user binaries for bin, system administrator binaries for sbin, and programs only run internally by INN for /usr/lib) very well.

The old installation paths should probably remain for backward compatibility, but an --enable-fhs option to configure that puts everything in the right place for the FHS would make packaging for FHS-compliant distributions much easier.

Attached is a patch from James Ralston that starts to implement this. From his patch explanation in 2001:

  • The configure.in file now supports a --enable-fhs-dirs option, which changes the defaults for most of the other directory-related options. It's equivalent to specifying about 10 different options manually. (Unfortunately, it necessitated abandoning the nice INN_ARG_DIR macro.) Use of --enable-fhs-dirs is documented in INSTALL.
  • The directory for nnrpd authorization programs is now a separate configure option (--with-auth-dir), with its own corresponding inn.conf parameter ("pathauth"). It defaults to $(prefix)/bin/auth if not set, which is the exact same place that the auth programs are currently installed.
  • DESTDIR is now properly supported (the existing support was broken in several ways). The "make install" and "make cert" steps properly obey DESTDIR. The use of DESTDIR is now documented in INSTALL.
  • It is no longer a requirement that the installation step be done by the superuser, as long as the user executing the install has supplied a DESTDIR value that points to a writable directory, *and* the person or process performing the install corrects the file ownerships when INN is installed on the system on which it's going to run. Non-root installs are now documented in INSTALL.
  • Multiple typos in INSTALL were fixed.

Things left to do:

  • Make the location of the rnews.libexec subdirectory configurable, the same as auth-dir / pathauth.
  • When the --enable-fhs-dirs option is given, only shared/static libraries should be placed into libdir; relocate everything else to appropriate directories.
  • Figure out what to do about --bindir, --sbindir, and --mandir. Should we use them (probably in a way not intended by configure), or create new options? Both approaches have disadvantages.

Attachments (1)

inn-CURRENT-20010405-fhs.patch (30.4 KB) - added by eagle 11 years ago.
Patch against CURRENT from 20010405

Download all attachments as: .zip

Change History (4)

Changed 11 years ago by eagle

Patch against CURRENT from 20010405

comment:1 Changed 5 years ago by Julien ÉLIE

Milestone: 2.6.1

comment:2 Changed 5 years ago by Julien ÉLIE

(In [9832]) Improve DESTDIR support and non-root installs

DESTDIR and non-root installs are now properly supported and documented
in INSTALL. The "make install", "make update" and "make cert" steps
properly obey DESTDIR. Besides, it is no longer a requirement that
the installation step be done by the superuser, as long as the user
executing the install has supplied a DESTDIR value that points to a
writable directory, *and* the person or process performing the install
corrects the file ownerships when INN is installed on the system on
which it's going to run.

chown and chgrp commands are now executed during install only if the
current user is root. INSTALL also documents how to disable them,
if needed, with the CHOWNPROG and CHGRPPROG environment variables.

makedbz is executed only if the current user is root or the news user.

innupgrade is now executed also when DESTDIR is in use.

Thanks to James Ralston for most of the patch.

see #29

comment:3 Changed 3 years ago by Julien ÉLIE

Milestone: 2.6.12.6.x

Milestone renamed

Note: See TracTickets for help on using tickets.