From: Roy Marples Date: Wed, 14 Nov 2007 12:53:21 +0000 (+0000) Subject: Allow INFODIR to control where we keep our info files. X-Git-Tag: v3.2.3~136 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d9953ffbacc726660d6a168cc0c6db32029b2635;p=thirdparty%2Fdhcpcd.git Allow INFODIR to control where we keep our info files. Respect MANPREFIX. --- diff --git a/Makefile b/Makefile index 58451297..7554b232 100644 --- a/Makefile +++ b/Makefile @@ -3,18 +3,19 @@ # such as the need to link to libresolv and/or librt so please forgive the # embedded code :) -VERSION = 3.1.8_pre1 +VERSION = 3.1.8pre1 CFLAGS += -O2 -pipe INSTALL ?= install DESTDIR = -SBINDIR = $(DESTDIR)/sbin -MANDIR = $(DESTDIR)/usr/share/man -LIBDIR = $(DESTDIR)/var/lib +MANPREFIX ?= /usr/share +SBINDIR = $(DESTDIR)$(PREFIX)/sbin +MANDIR = $(DESTDIR)$(MANPREFIX)/man +INFODIR = /var/lib/dhcpcd SBIN_TARGETS = dhcpcd -MAN8_TARGETS = dhcpcd.8 -TARGET = $(SBIN_TARGETS) +MAN_TARGETS = dhcpcd.8 +TARGET = $(SBIN_TARGETS) $(MAN_TARGETS) # Work out if we need -lresolv or not _LIBRESOLV_SH = printf '\#include \n\#include \nint main (void) { return (res_init ()); }\n' > .res_init.c; \ @@ -106,7 +107,7 @@ dhcpcd_OBJS = arp.o client.o common.o configure.o dhcp.o dhcpcd.o duid.o \ info.o interface.o ipv4ll.o logger.o signal.o socket.o $(dhcpcd_OBJS): - $(CC) $(FORK) $(RC) $(CFLAGS) -c $*.c + $(CC) $(FORK) $(RC) -DINFODIR=\"$(INFODIR)\" $(CFLAGS) -c $*.c dhcpcd: $(dhcpcd_H) .depend $(dhcpcd_OBJS) $(CC) $(LDFLAGS) $(dhcpcd_OBJS) $(LIBRESOLV) $(LIBRT) -o dhcpcd @@ -114,6 +115,11 @@ dhcpcd: $(dhcpcd_H) .depend $(dhcpcd_OBJS) version.h: echo '#define VERSION "$(VERSION)"' > version.h +dhcpcd.8: + sed 's:/var/lib/dhcpcd:$(INFODIR):g' dhcpcd.8.in > dhcpcd.8 + +man: $(MAN_TARGETS) + .PHONY: clean install dist # We always need to have a .depend file as not all make implentations can work @@ -127,8 +133,7 @@ install: $(TARGET) $(INSTALL) -m 0755 -d $(SBINDIR) $(INSTALL) -m 0755 $(SBIN_TARGETS) $(SBINDIR) $(INSTALL) -m 0755 -d $(MANDIR)/man8 - $(INSTALL) -m 0644 $(MAN8_TARGETS) $(MANDIR)/man8 - $(INSTALL) -m 0755 -d $(LIBDIR) + $(INSTALL) -m 0644 $(MAN_TARGETS) $(MANDIR)/man8 dist: $(INSTALL) -m 0755 -d /tmp/dhcpcd-$(VERSION) diff --git a/README b/README index 11e56c91..3d01f0e5 100644 --- a/README +++ b/README @@ -31,3 +31,6 @@ ORC (OpenRC as used by Gentoo (forked from baselayout)) BRC (BSD RC system - /etc/rc.d/ntpd restart ) SERVICE (RedHat service command - service ntpd restart) SYSV (SYSV style - /etc/init.d/ntpd restart) + +You can change the default dir where dhcpcd stores it's .info files with +INFODIR=/var/db diff --git a/config.h b/config.h index ac432cd2..515b24cf 100644 --- a/config.h +++ b/config.h @@ -57,10 +57,11 @@ #define STATEDIR "/var" #define PIDFILE STATEDIR "/run/" PACKAGE "-%s.pid" -#define CONFIGDIR STATEDIR "/lib/" PACKAGE -#define INFOFILE CONFIGDIR "/" PACKAGE "-%s.info" - -#define DUIDFILE CONFIGDIR "/" PACKAGE ".duid" +#ifndef INFODIR +# define INFODIR "/var/lib/dhcpcd" +#endif +#define INFOFILE INFODIR "/" PACKAGE "-%s.info" +#define DUIDFILE INFODIR "/" PACKAGE ".duid" /* ORC is Open Run Control, forked from Gentoo's baselayout package * BRC is BSD style Run Control diff --git a/dhcpcd.8 b/dhcpcd.8.in similarity index 97% rename from dhcpcd.8 rename to dhcpcd.8.in index 9a734e4e..ddb717bb 100644 --- a/dhcpcd.8 +++ b/dhcpcd.8.in @@ -1,13 +1,7 @@ -.\" $Id$ -.\" .TH DHCPCD 8 "18 Jul 2007" "dhcpcd 3.1" - .SH NAME dhcpcd \- DHCP client daemon - .SH SYNOPSIS -.in +.5i -.ti -.5i dhcpcd \%[\-dknpAEGHMLNRTY] \%[\-c\ script] @@ -22,7 +16,6 @@ dhcpcd \%[\-F\ none | ptr | both ] \%[\-I\ clientID ] \%[interface] -.in -.5i .SH DESCRIPTION .B dhcpcd is an implementation of the DHCP client specified in @@ -319,13 +312,6 @@ from replacing .I /etc/yp.conf .SH FILES -.PD 0 -.TP -.BI /var/lib/dhcpcd -Directory used for storing files information files created by -.B dhcpcd -that can be used by shell scripts. -.PD 1 .TP .BI /etc/dhcpcd.sh script file, which @@ -373,7 +359,13 @@ is actually replaced with the network interface name like to which .B dhcpcd is attached. - +.TP +.BI /var/lib/dhcpcd/dhcpcd.duid +file containing the generated DUID for dhcpcd to use. +.TP +.BI /var/lib/dhcpcd/dhcpcd-.info +file containing information provided by the DHCP server than can be used in +shell scripts. .SH SEE ALSO .LP .I Dynamic Host Configuration Protocol, @@ -389,7 +381,7 @@ RFC 3927 RFC 4702 .SH BUGS -Please report them to http://dhcpcd.berlios.de or http://bugs.gentoo.org. +Please report them to http://dhcpcd.berlios.de .PD 0 .SH AUTHORS diff --git a/dhcpcd.c b/dhcpcd.c index 86ce2519..108047bc 100644 --- a/dhcpcd.c +++ b/dhcpcd.c @@ -117,7 +117,7 @@ static pid_t read_pid (const char *pidfile) static void usage () { - printf ("usage: "PACKAGE" [-adknpEGHMNRTY] [-c script] [-h hostame] [-i classID]\n" + printf ("usage: "PACKAGE" [-adknpEGHMNRTY] [-c script] [-h hostname] [-i classID]\n" " [-l leasetime] [-m metric] [-r ipaddress] [-s ipaddress]\n" " [-t timeout] [-u userclass] [-F none | ptr | both]\n" " [-I clientID] \n"); @@ -476,15 +476,15 @@ int main(int argc, char **argv) chdir ("/"); umask (022); - if (mkdir (CONFIGDIR, S_IRUSR |S_IWUSR |S_IXUSR | S_IRGRP | S_IXGRP - | S_IROTH | S_IXOTH) && errno != EEXIST ) + if (mkdir (INFODIR, S_IRUSR | S_IWUSR |S_IXUSR | S_IRGRP | S_IXGRP + | S_IROTH | S_IXOTH) && errno != EEXIST) { - logger (LOG_ERR, "mkdir(\"%s\",0): %s\n", CONFIGDIR, strerror (errno)); + logger (LOG_ERR, "mkdir(\"%s\",0): %s\n", INFODIR, strerror (errno)); exit (EXIT_FAILURE); } if (mkdir (ETCDIR, S_IRUSR | S_IWUSR | S_IXUSR | S_IRGRP | S_IXGRP - | S_IROTH | S_IXOTH) && errno != EEXIST ) + | S_IROTH | S_IXOTH) && errno != EEXIST) { logger (LOG_ERR, "mkdir(\"%s\",0): %s\n", ETCDIR, strerror (errno)); exit (EXIT_FAILURE);