1 |
davidg |
1758 |
# |
2 |
|
|
# @(#)$Id$ |
3 |
|
|
# Makefile for fetch-crl3 |
4 |
|
|
# David Groep, Nikhef <davidg@nikhef.nl> |
5 |
|
|
# |
6 |
|
|
|
7 |
|
|
NAME=$(shell echo *.spec | sed 's/\.spec//') |
8 |
|
|
VERSION=$(shell egrep '^Version:' ${NAME}.spec | colrm 1 9) |
9 |
|
|
RELEASE=${NAME}-${VERSION} |
10 |
|
|
PATCHLEVEL=$(shell egrep '^Release:' ${NAME}.spec | colrm 1 9 | sed -e 's/%.*//' ) |
11 |
|
|
RPMTOPDIR=$(shell rpm --eval '%_topdir') |
12 |
|
|
PREFIX=/usr |
13 |
|
|
ETC=/etc |
14 |
|
|
CACHE=/var/cache |
15 |
davidg |
2656 |
FILES=fetch-crl fetch-crl.8 fetch-crl-cron.cron fetch-crl-cron.init fetch-crl-boot.init fetch-crl.cnf fetch-crl.cnf.example NOTICE LICENSE README CHANGES fetch-crl.spec Makefile clean-crl clean-crl.8 |
16 |
davidg |
1758 |
# source files that will constitute fetch-crl as a single file, with the primary perl script first |
17 |
|
|
SOURCEFILES=fetch-crl3.pl CRL.pm CRLWriter.pm ConfigTiny.pm FCLog.pm OSSL.pm TrustAnchor.pm base64.pm |
18 |
|
|
|
19 |
|
|
all: configure |
20 |
|
|
|
21 |
|
|
tar: clean configure fetch-crl |
22 |
|
|
-rm -rf /var/tmp/${RELEASE} /var/tmp/${RELEASE}-buildroot |
23 |
|
|
-mkdir /var/tmp/${RELEASE} |
24 |
|
|
cp -r ${FILES} /var/tmp/${RELEASE} |
25 |
davidg |
1807 |
-chmod -R u+rw /var/tmp/${RELEASE} |
26 |
davidg |
1758 |
cd /var/tmp/ ; tar cvfz ${RELEASE}.tar.gz --exclude=CVS \ |
27 |
davidg |
1807 |
--exclude='*~' --exclude='#*#' --exclude='20*' ${RELEASE} |
28 |
davidg |
2511 |
cd /var/tmp/ ; perl -pe '/^Req/ and s/chkconfig/aaa_base/g' < ${RELEASE}/fetch-crl.spec > ${RELEASE}/fetch-crl.spec.suse ; mv ${RELEASE}/fetch-crl.spec.suse ${RELEASE}/fetch-crl.spec ; tar cvfz ${RELEASE}.suse.tar.gz --exclude=CVS \ |
29 |
|
|
--exclude='*~' --exclude='#*#' --exclude='20*' ${RELEASE} |
30 |
davidg |
1758 |
cp /var/tmp/${RELEASE}.tar.gz . |
31 |
davidg |
2511 |
cp /var/tmp/${RELEASE}.suse.tar.gz . |
32 |
davidg |
1758 |
|
33 |
|
|
##################################################################### |
34 |
|
|
# Create substitution script |
35 |
|
|
#################################################################### |
36 |
|
|
# |
37 |
|
|
# This target reads the config file and creates a shell script which |
38 |
|
|
# can substitute variables of the form @VAR@ for all config |
39 |
|
|
# variables VAR. |
40 |
|
|
|
41 |
|
|
config.sh: Makefile $(_test_dep) config.mk |
42 |
|
|
@cp /dev/null makefile.tmp |
43 |
|
|
@echo include config.mk >>makefile.tmp |
44 |
|
|
@echo dumpvars: >>makefile.tmp |
45 |
|
|
@cat config.mk | \ |
46 |
|
|
perl >>makefile.tmp -e 'my $$fmt = "\t\@echo \"-e \\\"s\@%s\@\$$(%s)g\\\" \\\\\"" ; while (<>) { $$v{$$1}=1 if /^([A-Za-z0-9_]+)\s*:?=.*$$/; } map { printf "$$fmt >>config.sh\n", $$_, $$_; } sort(keys(%v)); print "\n"; ' |
47 |
|
|
@echo '#!/bin/sh' >config.sh |
48 |
|
|
@echo 'sed \' >>config.sh |
49 |
|
|
@$(MAKE) -f makefile.tmp dumpvars >/dev/null |
50 |
|
|
@echo ' -e "s/\@MSG\@/ ** Generated file : do not edit **/"'>>config.sh |
51 |
|
|
@chmod oug+x config.sh |
52 |
|
|
@rm makefile.tmp |
53 |
|
|
|
54 |
|
|
#################################################################### |
55 |
|
|
# Configure |
56 |
|
|
#################################################################### |
57 |
|
|
|
58 |
|
|
fetch-crl: $(SOURCEFILES) |
59 |
|
|
cat $(SOURCEFILES) > $@ && chmod +x $@ |
60 |
|
|
|
61 |
|
|
%:: %.cin config.sh |
62 |
|
|
@echo configuring $@ ... |
63 |
|
|
@rm -f $@ ; cp $< $@ |
64 |
|
|
@./config.sh <$< >$@ ; chmod oug-w $@ |
65 |
|
|
|
66 |
|
|
%.$(MANSECT):: %.$(MANSECT).man.cin |
67 |
|
|
@echo creating $@ ... |
68 |
|
|
@./config.sh <$< >$@ ; chmod oug-w $@ |
69 |
|
|
|
70 |
|
|
configure: $(shell find . -name \*\.cin 2>/dev/null | sed -e 's/.cin//' || echo) |
71 |
|
|
|
72 |
|
|
install: configure |
73 |
davidg |
2202 |
mkdir -p $(ETC) |
74 |
|
|
mkdir -p $(PREFIX) |
75 |
davidg |
2316 |
mkdir -p $(PREFIX)/sbin |
76 |
|
|
mkdir -p $(PREFIX)/share |
77 |
|
|
mkdir -p $(PREFIX)/share/doc |
78 |
|
|
mkdir -p $(PREFIX)/share/doc/$(RELEASE) |
79 |
|
|
mkdir -p $(PREFIX)/share/man |
80 |
|
|
mkdir -p $(PREFIX)/share/man/man8 |
81 |
davidg |
2202 |
install -m755 fetch-crl $(PREFIX)/sbin/fetch-crl |
82 |
davidg |
2648 |
install -m755 clean-crl $(PREFIX)/sbin/clean-crl |
83 |
davidg |
2202 |
install -m644 fetch-crl-cron.cron $(PREFIX)/share/doc/$(RELEASE)/fetch-crl-cron.cron |
84 |
|
|
install -m644 fetch-crl-cron.init $(PREFIX)/share/doc/$(RELEASE)/fetch-crl-cron.init |
85 |
|
|
install -m644 fetch-crl-boot.init $(PREFIX)/share/doc/$(RELEASE)/fetch-crl-boot.init |
86 |
|
|
install -m644 fetch-crl.8 $(PREFIX)/share/man/man8/fetch-crl.8 |
87 |
davidg |
2656 |
install -m644 clean-crl.8 $(PREFIX)/share/man/man8/clean-crl.8 |
88 |
davidg |
2202 |
install -m644 fetch-crl.cnf $(ETC)/fetch-crl.conf |
89 |
davidg |
1878 |
install -m644 fetch-crl.cnf.example $(PREFIX)/share/doc/$(RELEASE)/fetch-crl.conf.example |
90 |
davidg |
1758 |
install -m644 README $(PREFIX)/share/doc/$(RELEASE)/README |
91 |
|
|
install -m644 NOTICE $(PREFIX)/share/doc/$(RELEASE)/NOTICE |
92 |
|
|
install -m644 LICENSE $(PREFIX)/share/doc/$(RELEASE)/LICENSE |
93 |
|
|
install -m644 CHANGES $(PREFIX)/share/doc/$(RELEASE)/CHANGES |
94 |
|
|
mkdir -p $(CACHE)/fetch-crl && chmod 0700 $(CACHE)/fetch-crl |
95 |
|
|
|
96 |
|
|
rpm: tar |
97 |
davidg |
2673 |
rpmbuild -ta --eval "%undefine dist" ${RELEASE}.tar.gz |
98 |
davidg |
2511 |
rpmbuild -ta -D "dist .suse" ${RELEASE}.suse.tar.gz |
99 |
davidg |
1758 |
@if [ -f ${RPMTOPDIR}/SRPMS/${NAME}-${VERSION}-${PATCHLEVEL}.src.rpm ] ; then \ |
100 |
|
|
mv ${RPMTOPDIR}/SRPMS/${NAME}*-${VERSION}-${PATCHLEVEL}.src.rpm . ; \ |
101 |
|
|
fi |
102 |
|
|
@if [ -f ${RPMTOPDIR}/RPMS/i386/${NAME}-${VERSION}-${PATCHLEVEL}.i386.rpm ] ; then \ |
103 |
|
|
mv ${RPMTOPDIR}/RPMS/i386/${NAME}*-${VERSION}-${PATCHLEVEL}.i386.rpm . ; \ |
104 |
|
|
fi |
105 |
|
|
@if [ -f ${RPMTOPDIR}/RPMS/i686/${NAME}-${VERSION}-${PATCHLEVEL}.i686.rpm ] ; then \ |
106 |
|
|
mv ${RPMTOPDIR}/RPMS/i686/${NAME}*-${VERSION}-${PATCHLEVEL}.i686.rpm . ; \ |
107 |
|
|
fi |
108 |
|
|
@if [ -f ${RPMTOPDIR}/RPMS/noarch/${NAME}-${VERSION}-${PATCHLEVEL}.noarch.rpm ] ; then \ |
109 |
|
|
mv ${RPMTOPDIR}/RPMS/noarch/${NAME}*-${VERSION}-${PATCHLEVEL}.noarch.rpm . ; \ |
110 |
davidg |
2511 |
mv ${RPMTOPDIR}/RPMS/noarch/${NAME}*-${VERSION}-${PATCHLEVEL}.suse.noarch.rpm . ; \ |
111 |
davidg |
1758 |
fi |
112 |
|
|
@echo DO NOT FORGET TO SIGN THE RPM WITH rpm --resign ${NAME}*-${VERSION}-${PATCHLEVEL}.noarch.rpm |
113 |
|
|
|
114 |
|
|
clean: |
115 |
davidg |
2651 |
-rm -rf *.tar.gz *.rpm fetch-crl fetch-crl3.pl clean-crl config.sh fetch-crl.spec |