229 lines
7.6 KiB
Text
229 lines
7.6 KiB
Text
$NetBSD: patch-aa,v 1.8 2017/11/26 09:11:03 spz Exp $
|
|
|
|
warp the Makefile template to fit into pkgsrc
|
|
|
|
add CFLAGS and LDFLAGS to the wrapper compilation so it'll pick up RELRO
|
|
|
|
--- Makefile.orig 2000-01-18 14:01:17.000000000 +0000
|
|
+++ Makefile
|
|
@@ -13,27 +13,29 @@
|
|
#
|
|
|
|
# Put the location of your Perl binary here:
|
|
-PERL = /bin/perl
|
|
+PERL = @PERL@
|
|
|
|
# What do you call your C compiler?
|
|
CC = cc
|
|
|
|
# Where do you want Majordomo to be installed? This CANNOT be the
|
|
# current directory (where you unpacked the distribution)
|
|
-W_HOME = /usr/test/majordomo-$(VERSION)
|
|
+W_HOME = @PREFIX@/libexec/majordomo
|
|
+HOME = @HOME@
|
|
|
|
# Where do you want man pages to be installed?
|
|
-MAN = $(W_HOME)/man
|
|
+MAN = @PREFIX@/${PKGMANDIR}
|
|
|
|
# You need to have or create a user and group which majordomo will run as.
|
|
# Enter the numeric UID and GID (not their names!) here:
|
|
-W_USER = 123
|
|
-W_GROUP = 45
|
|
+W_USER = @UID@
|
|
+W_GROUP = @GID@
|
|
|
|
# These set the permissions for all installed files and executables (except
|
|
# the wrapper), respectively. Some sites may wish to make these more
|
|
# lenient, or more restrictive.
|
|
-FILE_MODE = 644
|
|
+CF_MODE = 664
|
|
+MAN_MODE = 444
|
|
EXEC_MODE = 755
|
|
HOME_MODE = 751
|
|
|
|
@@ -41,8 +43,8 @@ HOME_MODE = 751
|
|
# BSDI or other 4.4-based BSD, Linux) use the following four lines. Do not
|
|
# change these values!
|
|
WRAPPER_OWNER = root
|
|
-WRAPPER_GROUP = $(W_GROUP)
|
|
-WRAPPER_MODE = 4755
|
|
+WRAPPER_GROUP = $(W_MAJORDOMO_GROUP)
|
|
+WRAPPER_MODE = 4555
|
|
POSIX = -DPOSIX_UID=$(W_USER) -DPOSIX_GID=$(W_GROUP)
|
|
# Otherwise, if your system is NOT POSIX (e.g. SunOS 4.x, SGI Irix 4,
|
|
# HP DomainOS) then comment out the above four lines and uncomment
|
|
@@ -62,11 +64,14 @@ POSIX = -DPOSIX_UID=$(W_USER) -DPOSIX_GI
|
|
# parent process, and without the leading "W_" in the variable names) gets
|
|
# passed to processes run by "wrapper"
|
|
W_SHELL = /bin/sh
|
|
-W_PATH = /bin:/usr/bin:/usr/ucb
|
|
-W_MAJORDOMO_CF = $(W_HOME)/majordomo.cf
|
|
+W_PATH = /bin:/usr/bin
|
|
+W_MAJORDOMO_CF = @MAJORDOMO_CF@
|
|
+
|
|
+W_MAJORDOMO_USER = @MAJORDOMO_USER@
|
|
+W_MAJORDOMO_GROUP = @MAJORDOMO_GROUP@
|
|
|
|
# A directory for temp files..
|
|
-TMPDIR = /usr/tmp
|
|
+TMPDIR = @TMPDIR@
|
|
|
|
#--------YOU SHOULDN'T HAVE TO CHANGE ANYTHING BELOW THIS LINE.-------------
|
|
|
|
@@ -76,8 +81,9 @@ VERSION = 1.94.5
|
|
SHELL = /bin/sh
|
|
|
|
WRAPPER_FLAGS = -DBIN=\"$(W_HOME)\" -DPATH=\"PATH=$(W_PATH)\" \
|
|
- -DHOME=\"HOME=$(W_HOME)\" -DSHELL=\"SHELL=$(W_SHELL)\" \
|
|
+ -DHOME=\"HOME=$(HOME)\" -DSHELL=\"SHELL=$(W_SHELL)\" \
|
|
-DMAJORDOMO_CF=\"MAJORDOMO_CF=$(W_MAJORDOMO_CF)\" \
|
|
+ -DMAJORDOMO_USER=\"$(W_MAJORDOMO_USER)\" \
|
|
$(POSIX)
|
|
|
|
INSTALL = ./install.sh
|
|
@@ -94,7 +100,7 @@ BIN = bounce-remind config_parse.pl ma
|
|
majordomo_version.pl request-answer resend \
|
|
shlock.pl config-test archive2.pl digest
|
|
|
|
-INSTALL_FLAGS = -O $(W_USER) -g $(W_GROUP)
|
|
+INSTALL_FLAGS = -O root -g $(W_MAJORDOMO_GROUP)
|
|
|
|
default:
|
|
@echo "make what?"
|
|
@@ -118,12 +124,12 @@ install: wrapper install-scripts install
|
|
|
|
install-wrapper: wrapper
|
|
$(INSTALL) -o $(WRAPPER_OWNER) -g $(WRAPPER_GROUP) \
|
|
- -m $(WRAPPER_MODE) wrapper $(W_HOME)/wrapper
|
|
+ -m $(WRAPPER_MODE) wrapper $(DESTDIR)$(W_HOME)/wrapper
|
|
@echo ""
|
|
@echo "To verify that all the permissions and etc are correct,"
|
|
@echo "run the command"
|
|
@echo ""
|
|
- @echo " cd $(W_HOME); ./wrapper config-test"
|
|
+ @echo " cd $(DESTDIR)$(W_HOME); ./wrapper config-test"
|
|
|
|
# fix where perl lives.
|
|
# Create a tmp directory to stuff all the files in, so we
|
|
@@ -143,30 +149,29 @@ config-scripts:
|
|
|
|
|
|
install-scripts: config-scripts
|
|
- $(INSTALL) -m $(HOME_MODE) $(INSTALL_FLAGS) . $(W_HOME)
|
|
- $(INSTALL) -m $(EXEC_MODE) $(INSTALL_FLAGS) . $(W_HOME)/bin
|
|
+ $(INSTALL) -m $(HOME_MODE) $(INSTALL_FLAGS) . $(DESTDIR)$(W_HOME)
|
|
|
|
- @echo "Copying tools to $(W_HOME)/bin"
|
|
+ @echo "Copying tools to $(DESTDIR)@PREFIX@/bin"
|
|
|
|
@for file in $(BINBIN); do \
|
|
$(INSTALL) -m $(EXEC_MODE) $(INSTALL_FLAGS) \
|
|
- $(TMP)/$$file $(W_HOME)/bin/$$file; \
|
|
+ $(TMP)/$$file $(DESTDIR)@PREFIX@/bin/$$file; \
|
|
done
|
|
|
|
- @echo "Copying Majordomo files to $(W_HOME)"
|
|
+ @echo "Copying Majordomo files to $(DESTDIR)$(W_HOME)"
|
|
|
|
@for file in $(BIN); do \
|
|
$(INSTALL) -m $(EXEC_MODE) $(INSTALL_FLAGS) \
|
|
- $(TMP)/$$file $(W_HOME)/$$file; \
|
|
+ $(TMP)/$$file $(DESTDIR)$(W_HOME)/$$file; \
|
|
done
|
|
|
|
- @echo "Copying archiving and other tools to $(W_HOME)/Tools"
|
|
+ @echo "Copying archiving and other tools to $(DESTDIR)$(W_HOME)/Tools"
|
|
|
|
- $(INSTALL) -m $(EXEC_MODE) $(INSTALL_FLAGS) . $(W_HOME)/Tools
|
|
+ $(INSTALL) -m $(EXEC_MODE) $(INSTALL_FLAGS) . $(DESTDIR)$(W_HOME)/Tools
|
|
|
|
@for file in $(TOOLS); do \
|
|
$(INSTALL) -m $(EXEC_MODE) $(INSTALL_FLAGS) \
|
|
- $(TMP)/$$file $(W_HOME)/Tools/$$file; \
|
|
+ $(TMP)/$$file $(DESTDIR)$(W_HOME)/Tools/$$file; \
|
|
done
|
|
|
|
@rm -rf $(TMP)
|
|
@@ -177,49 +182,43 @@ install-scripts: config-scripts
|
|
# all cases, the sample.cf file must be installed so that config-test will
|
|
# be able to check for new variables.
|
|
install-cf:
|
|
- @if [ ! -f $(W_HOME)/majordomo.cf ]; \
|
|
- then \
|
|
- if [ -f majordomo.cf ]; \
|
|
- then \
|
|
- echo "Using majordomo.cf"; \
|
|
- $(INSTALL) -m $(FILE_MODE) $(INSTALL_FLAGS) \
|
|
- majordomo.cf $(W_HOME)/majordomo.cf; \
|
|
- else \
|
|
- echo "Using sample.cf"; \
|
|
- $(INSTALL) -m $(FILE_MODE) $(INSTALL_FLAGS) \
|
|
- sample.cf $(W_HOME)/majordomo.cf; \
|
|
- fi; \
|
|
- else \
|
|
- echo "Using installed majordomo.cf"; \
|
|
- fi;
|
|
- @$(INSTALL) -m $(FILE_MODE) $(INSTALL_FLAGS) \
|
|
- sample.cf $(W_HOME)
|
|
+ # @if [ ! -f $(W_MAJORDOMO_CF) ]; \
|
|
+ # then \
|
|
+ # if [ -f majordomo.cf ]; \
|
|
+ # then \
|
|
+ # echo "Using majordomo.cf"; \
|
|
+ # $(INSTALL) -m $(CF_MODE) $(INSTALL_FLAGS) \
|
|
+ # majordomo.cf $(DESTDIR)$(W_MAJORDOMO_CF); \
|
|
+ # else \
|
|
+ # echo "Using sample.cf"; \
|
|
+ # $(INSTALL) -m $(CF_MODE) $(INSTALL_FLAGS) \
|
|
+ # sample.cf $(DESTDIR)$(W_MAJORDOMO_CF); \
|
|
+ # fi; \
|
|
+ # else \
|
|
+ # echo "Using installed majordomo.cf"; \
|
|
+ # fi;
|
|
+ @$(INSTALL) -m $(CF_MODE) $(INSTALL_FLAGS) \
|
|
+ sample.cf $(DESTDIR)$(W_HOME)
|
|
|
|
install-man:
|
|
@echo "Installing manual pages in $(MAN)"
|
|
- @$(INSTALL) -m $(EXEC_MODE) $(INSTALL_FLAGS) \
|
|
- . $(MAN)
|
|
- @$(INSTALL) -m $(EXEC_MODE) $(INSTALL_FLAGS) \
|
|
- . $(MAN)/man1
|
|
- @$(INSTALL) -m $(EXEC_MODE) $(INSTALL_FLAGS) \
|
|
- . $(MAN)/man8
|
|
- @$(INSTALL) -m $(FILE_MODE) $(INSTALL_FLAGS) \
|
|
- Doc/man/approve.1 $(MAN)/man1/approve.1
|
|
- @$(INSTALL) -m $(FILE_MODE) $(INSTALL_FLAGS) \
|
|
- Doc/man/digest.1 $(MAN)/man1/digest.1
|
|
- @$(INSTALL) -m $(FILE_MODE) $(INSTALL_FLAGS) \
|
|
- Doc/man/bounce.1 $(MAN)/man1/bounce.1
|
|
- @$(INSTALL) -m $(FILE_MODE) $(INSTALL_FLAGS) \
|
|
- Doc/man/bounce-remind.1 $(MAN)/man1/bounce-remind.1
|
|
- @$(INSTALL) -m $(FILE_MODE) $(INSTALL_FLAGS) \
|
|
- Doc/man/resend.1 $(MAN)/man1/resend.1
|
|
- @$(INSTALL) -m $(FILE_MODE) $(INSTALL_FLAGS) \
|
|
- Doc/man/majordomo.8 $(MAN)/man8/majordomo.8
|
|
- @$(INSTALL) -m $(FILE_MODE) $(INSTALL_FLAGS) \
|
|
- Doc/man/resend.1 $(MAN)/man1/resend.1
|
|
+ @$(INSTALL) -m $(MAN_MODE) $(INSTALL_FLAGS) \
|
|
+ Doc/man/approve.1 $(DESTDIR)$(MAN)/man1/approve.1
|
|
+ @$(INSTALL) -m $(MAN_MODE) $(INSTALL_FLAGS) \
|
|
+ Doc/man/digest.1 $(DESTDIR)$(MAN)/man8/digest.8
|
|
+ @$(INSTALL) -m $(MAN_MODE) $(INSTALL_FLAGS) \
|
|
+ Doc/man/bounce.1 $(DESTDIR)$(MAN)/man1/bounce.1
|
|
+ @$(INSTALL) -m $(MAN_MODE) $(INSTALL_FLAGS) \
|
|
+ Doc/man/bounce-remind.1 $(DESTDIR)$(MAN)/man1/bounce-remind.1
|
|
+ @$(INSTALL) -m $(MAN_MODE) $(INSTALL_FLAGS) \
|
|
+ Doc/man/resend.1 $(DESTDIR)$(MAN)/man1/resend.1
|
|
+ @$(INSTALL) -m $(MAN_MODE) $(INSTALL_FLAGS) \
|
|
+ Doc/man/majordomo.8 $(DESTDIR)$(MAN)/man8/majordomo.8
|
|
+ @$(INSTALL) -m $(MAN_MODE) $(INSTALL_FLAGS) \
|
|
+ Doc/man/resend.1 $(DESTDIR)$(MAN)/man1/resend.1
|
|
|
|
wrapper: wrapper.c
|
|
- $(CC) $(WRAPPER_FLAGS) -o wrapper wrapper.c
|
|
+ $(CC) $(CFLAGS) $(LDFLAGS) $(WRAPPER_FLAGS) -o wrapper wrapper.c
|
|
|
|
clean:
|
|
rm -f wrapper *~
|