GNATS debian package cleanups
Chad Walstrom <[email protected]>
| Newsgroups | gmane.comp.bug-tracking.gnats.general |
|---|---|
| Message-ID | <[email protected]> |
Ugh.. gnats Makefine.in files strike again! Looks like the gnats and gnats-user packages for Debian have some odd path problems[1],[2]. Adding a $(DESTDIR) variable preceeding install and mkinstalldirs path locations and mkinstalldirs locations fixes this. The debian/rules file should then be able to specify a DESTDIR for the installation target. Here's where we come to the kicker. I originally wanted to simply "fix" the debian/rules file, but since it was originally constructed, the Debian build utilities and scripts have vastly improved. Much of the custom scripting necessary to make the gnats and gnats-user packages is now obsolete. Additionally, there are some fundamental differences in how packages are designed. There is a lot of duplicated effort between the gnats and gnats-user packages. Currently, there are few differences between them. The gnats-user package contains mostly the same files as gnats, which contains a few more files and additional scripts to add system users, cron jobs, and aliases into the MTA aliases file. I plan on changing the dependencies between these two files. Rather than having gnats conflict with gnats-user, gnats will depend upon gnats-user and perform the additional steps to set up the machine as a server. I really wanted to get a quick fix in the archives, but I believe that there is no such thing. I may as well put in the initial work to "do it right" so that further maintainence is minimized. The patches for the gnats Makefile.in files are attached. I'll roll them into CVS if there are no objections. REFERENCES ========== 1. http://bugs.debian.org/241416 2. http://bugs.debian.org/222830 -- Chad Walstrom <[email protected]> http://www.wookimus.net/ assert(expired(knowledge)); /* core dump */ _______________________________________________ Help-gnats mailing list [email protected] http://mail.gnu.org/mailman/listinfo/help-gnats
doc_man_Makefile.in.patch
(text/plain, 2.4 KB)
--- doc/man/Makefile.in.bak 2004-04-01 12:37:49.000000000 -0600 +++ doc/man/Makefile.in 2004-04-01 12:38:50.000000000 -0600 @@ -79,7 +79,7 @@ check: $(SRCS1): ../Makefile $(MAN1) - $(SHELL) $(srcdir)/../../mkinstalldirs $(man1dir)/ + $(SHELL) $(srcdir)/../../mkinstalldirs $(DESTDIR)$(man1dir)/ @echo Creating $@... @file=`echo $@ | sed -e 's,\$(man1ext),,'` ; \ sed -e 's,xGNATS_ROOTx,$(GNATS_ROOT),g' \ @@ -90,7 +90,7 @@ @mv tmp-$@ $@ $(SRCS5): ../Makefile $(MAN5) - $(SHELL) $(srcdir)/../../mkinstalldirs $(man5dir)/ + $(SHELL) $(srcdir)/../../mkinstalldirs $(DESTDIR)$(man5dir)/ @echo Creating $@... @file=`echo $@ | sed -e 's,\$(man5ext),,'` ; \ sed -e 's,xGNATS_ROOTx,$(GNATS_ROOT),g' \ @@ -101,7 +101,7 @@ @mv tmp-$@ $@ $(SRCS7): ../Makefile $(MAN7) - $(SHELL) $(srcdir)/../../mkinstalldirs $(man7dir)/ + $(SHELL) $(srcdir)/../../mkinstalldirs $(DESTDIR)$(man7dir)/ @echo Creating $@... @file=`echo $@ | sed -e 's,\$(man7ext),,'` ; \ sed -e 's,xGNATS_ROOTx,$(GNATS_ROOT),g' \ @@ -112,7 +112,7 @@ @mv tmp-$@ $@ $(SRCS8): ../Makefile $(MAN8) - $(SHELL) $(srcdir)/../../mkinstalldirs $(man8dir)/ + $(SHELL) $(srcdir)/../../mkinstalldirs $(DESTDIR)$(man8dir)/ @echo Creating $@... @file=`echo $@ | sed -e 's,\$(man8ext),,'` ; \ sed -e 's,xGNATS_ROOTx,$(GNATS_ROOT),g' \ @@ -139,25 +139,25 @@ install-gnats install-gnats-man: all-gnats install-tools for i in $(SRCS5); do \ - $(INSTALL_DATA) $$i $(man5dir)/$$i; \ + $(INSTALL_DATA) $$i $(DESTDIR)$(man5dir)/$$i; \ done for i in $(SRCS7); do \ - $(INSTALL_DATA) $$i $(man7dir)/$$i; \ + $(INSTALL_DATA) $$i $(DESTDIR)$(man7dir)/$$i; \ done for i in $(SRCS8); do \ - $(INSTALL_DATA) $$i $(man8dir)/$$i; \ + $(INSTALL_DATA) $$i $(DESTDIR)$(man8dir)/$$i; \ done install-tools install-tools-man: all-tools for i in $(SRCS1); do \ - $(INSTALL_DATA) $$i $(man1dir)/$$i; \ + $(INSTALL_DATA) $$i $(DESTDIR)$(man1dir)/$$i; \ done uninstall: - -for i in $(SRCS1); do rm -f $(man1dir)/$$i; done - -for i in $(SRCS5); do rm -f $(man5dir)/$$i; done - -for i in $(SRCS7); do rm -f $(man7dir)/$$i; done - -for i in $(SRCS8); do rm -f $(man8dir)/$$i; done + -for i in $(SRCS1); do rm -f $(DESTDIR)$(man1dir)/$$i; done + -for i in $(SRCS5); do rm -f $(DESTDIR)$(man5dir)/$$i; done + -for i in $(SRCS7); do rm -f $(DESTDIR)$(man7dir)/$$i; done + -for i in $(SRCS8); do rm -f $(DESTDIR)$(man8dir)/$$i; done force: dist:
gnats-Makefile.in.patch
(text/plain, 8.7 KB)
--- gnats/Makefile.in.bak 2004-04-01 12:27:11.000000000 -0600
+++ gnats/Makefile.in 2004-04-01 12:32:27.000000000 -0600
@@ -363,37 +363,37 @@
install-tools-arch-dep: install-tools-bin
install-tools-arch-indep: all-tools
- $(SHELL) $(srcdir)/../mkinstalldirs $(datadir)/gnats
- $(SHELL) $(srcdir)/../mkinstalldirs $(sysconfdir)/gnats/defaults
+ $(SHELL) $(srcdir)/../mkinstalldirs $(DESTDIR)$(datadir)/gnats
+ $(SHELL) $(srcdir)/../mkinstalldirs $(DESTDIR)$(sysconfdir)/gnats/defaults
@if [ `whoami` = root -o `whoami` = $(GNATS_USER) ] ; then \
- echo "chown $(GNATS_USER) $(datadir)/gnats" ; \
- chown $(GNATS_USER) $(datadir)/gnats ; \
+ echo "chown $(GNATS_USER) $(DESTDIR)$(datadir)/gnats" ; \
+ chown $(GNATS_USER) $(DESTDIR)$(datadir)/gnats ; \
else \
- echo "*** Warning: Must chown $(GNATS_USER) $(datadir)/gnats" ; \
+ echo "*** Warning: Must chown $(GNATS_USER) $(DESTDIR)$(datadir)/gnats" ; \
fi
- $(INSTALL_DATA) $(srcdir)/gnats.el $(lispdir)/gnats.el
+ $(INSTALL_DATA) $(srcdir)/gnats.el $(DESTDIR)$(lispdir)/gnats.el
for i in categories submitters responsible gnatsd.user_access addresses states classes dbconfig ; do \
if [ -f "$$i" ] ; then \
- $(INSTALL_DATA) $$i $(sysconfdir)/gnats/defaults/$$i ; \
+ $(INSTALL_DATA) $$i $(DESTDIR)$(sysconfdir)/gnats/defaults/$$i ; \
else \
- $(INSTALL_DATA) $(srcdir)/$$i $(sysconfdir)/gnats/defaults/$$i ; \
+ $(INSTALL_DATA) $(srcdir)/$$i $(DESTDIR)$(sysconfdir)/gnats/defaults/$$i ; \
fi ; \
done
install-tools-bin: all-tools
- $(INSTALL_PROGRAM) query-pr $(bindir)/query-pr
- $(INSTALL_PROGRAM) getclose $(bindir)/getclose
- $(INSTALL_SCRIPT) edit-pr $(bindir)/edit-pr
- $(INSTALL_SCRIPT) $(srcdir)/diff-prs $(libexecdir)/gnats/diff-prs
- $(INSTALL_SCRIPT) mail-agent $(libexecdir)/gnats/mail-agent
- $(INSTALL_PROGRAM) file-pr $(libexecdir)/gnats/file-pr
- $(INSTALL_PROGRAM) pr-age $(libexecdir)/gnats/pr-age
- $(INSTALL_PROGRAM) pr-edit $(libexecdir)/gnats/pr-edit
+ $(INSTALL_PROGRAM) query-pr $(DESTDIR)$(bindir)/query-pr
+ $(INSTALL_PROGRAM) getclose $(DESTDIR)$(bindir)/getclose
+ $(INSTALL_SCRIPT) edit-pr $(DESTDIR)$(bindir)/edit-pr
+ $(INSTALL_SCRIPT) $(srcdir)/diff-prs $(DESTDIR)$(libexecdir)/gnats/diff-prs
+ $(INSTALL_SCRIPT) mail-agent $(DESTDIR)$(libexecdir)/gnats/mail-agent
+ $(INSTALL_PROGRAM) file-pr $(DESTDIR)$(libexecdir)/gnats/file-pr
+ $(INSTALL_PROGRAM) pr-age $(DESTDIR)$(libexecdir)/gnats/pr-age
+ $(INSTALL_PROGRAM) pr-edit $(DESTDIR)$(libexecdir)/gnats/pr-edit
@if [ `whoami` = root -o `whoami` = $(GNATS_USER) ] ; then \
- echo "chown $(GNATS_USER) $(libexecdir)/gnats/pr-edit" ; \
- echo "chmod 4555 $(libexecdir)/gnats/pr-edit" ; \
- chown $(GNATS_USER) $(libexecdir)/gnats/pr-edit ; \
- chmod 4555 $(libexecdir)/gnats/pr-edit ; \
+ echo "chown $(GNATS_USER) $(DESTDIR)$(libexecdir)/gnats/pr-edit" ; \
+ echo "chmod 4555 $(DESTDIR)$(libexecdir)/gnats/pr-edit" ; \
+ chown $(GNATS_USER) $(DESTDIR)$(libexecdir)/gnats/pr-edit ; \
+ chmod 4555 $(DESTDIR)$(libexecdir)/gnats/pr-edit ; \
else \
echo "*** Warning: Must make pr-edit suid $(GNATS_USER)" ; \
fi
@@ -410,9 +410,9 @@
else \
if [ `whoami` = root -o `whoami` = $(GNATS_USER) ] ; then \
$(INSTALL_DATA) -o $(GNATS_USER) gnats-databases \
- $(GLOBAL_DB_LIST_FILE) ; \
+ $(DESTDIR)$(GLOBAL_DB_LIST_FILE) ; \
else \
- $(INSTALL_DATA) gnats-databases $(GLOBAL_DB_LIST_FILE) ; \
+ $(INSTALL_DATA) gnats-databases $(DESTDIR)$(GLOBAL_DB_LIST_FILE) ; \
echo "*** Warning: Must chown $(GNATS_USER) $(GLOBAL_DB_LIST_FILE)" ; \
fi \
fi
@@ -422,10 +422,10 @@
else \
if [ `whoami` = root -o `whoami` = $(GNATS_USER) ] ; then \
$(INSTALL_DATA) -o $(GNATS_USER) $(srcdir)/gnatsd.host_access \
- $(GNATSD_HOST_ACCESS_FILE) ; \
+ $(DESTDIR)$(GNATSD_HOST_ACCESS_FILE) ; \
else \
$(INSTALL_DATA) $(srcdir)/gnatsd.host_access \
- $(GNATSD_HOST_ACCESS_FILE) ; \
+ $(DESTDIR)$(GNATSD_HOST_ACCESS_FILE) ; \
echo "*** Warning: Must chown $(GNATS_USER) $(GNATSD_HOST_ACCESS_FILE)" ; \
fi \
fi
@@ -433,27 +433,29 @@
@echo "*** with $(libexecdir)/gnats/mkdb."
install-gnats-bin: all-gnats install-tools-bin
- $(SHELL) $(srcdir)/../mkinstalldirs $(libexecdir)/gnats
- $(INSTALL_PROGRAM) gnatsd $(libexecdir)/gnats/gnatsd
- $(INSTALL_SCRIPT) at-pr $(libexecdir)/gnats/at-pr
- $(INSTALL_SCRIPT) check-db $(libexecdir)/gnats/check-db
- $(INSTALL_SCRIPT) delete-pr $(libexecdir)/gnats/delete-pr
- $(INSTALL_SCRIPT) mkcat $(libexecdir)/gnats/mkcat
- $(INSTALL_SCRIPT) mkdb $(libexecdir)/gnats/mkdb
- $(INSTALL_SCRIPT) rmcat $(libexecdir)/gnats/rmcat
- $(INSTALL_PROGRAM) queue-pr $(libexecdir)/gnats/queue-pr
- $(INSTALL_PROGRAM) gen-index $(libexecdir)/gnats/gen-index
- $(INSTALL_SCRIPT) mail-query $(libexecdir)/gnats/mail-query
- $(INSTALL_PROGRAM) gnats-pwconv $(libexecdir)/gnats/gnats-pwconv
+ $(SHELL) $(srcdir)/../mkinstalldirs $(DESTDIR)$(libexecdir)/gnats
+ $(INSTALL_PROGRAM) gnatsd $(DESTDIR)$(libexecdir)/gnats/gnatsd
+ $(INSTALL_SCRIPT) at-pr $(DESTDIR)$(libexecdir)/gnats/at-pr
+ $(INSTALL_SCRIPT) check-db $(DESTDIR)$(libexecdir)/gnats/check-db
+ $(INSTALL_SCRIPT) delete-pr $(DESTDIR)$(libexecdir)/gnats/delete-pr
+ $(INSTALL_SCRIPT) mkcat $(DESTDIR)$(libexecdir)/gnats/mkcat
+ $(INSTALL_SCRIPT) mkdb $(DESTDIR)$(libexecdir)/gnats/mkdb
+ $(INSTALL_SCRIPT) rmcat $(DESTDIR)$(libexecdir)/gnats/rmcat
+ $(INSTALL_PROGRAM) queue-pr $(DESTDIR)$(libexecdir)/gnats/queue-pr
+ $(INSTALL_PROGRAM) gen-index $(DESTDIR)$(libexecdir)/gnats/gen-index
+ $(INSTALL_SCRIPT) mail-query $(DESTDIR)$(libexecdir)/gnats/mail-query
+ $(INSTALL_PROGRAM) gnats-pwconv $(DESTDIR)$(libexecdir)/gnats/gnats-pwconv
@if [ `whoami` = root -o `whoami` = $(GNATS_USER) ] ; then \
echo "chown $(GNATS_USER) $(libexecdir)/gnats/queue-pr $(libexecdir)/gnats/file-pr $(libexecdir)/gnats/gen-index" ; \
echo "chmod 4555 $(libexecdir)/gnats/queue-pr $(libexecdir)/gnats/file-pr $(libexecdir)/gnats/gen-index" ; \
- echo "chown $(GNATS_USER) $(libexecdir)/gnats/gnatsd" ; \
- echo "chmod 555 $(libexecdir)/gnats/gnatsd" ; \
- chown $(GNATS_USER) $(libexecdir)/gnats/queue-pr $(libexecdir)/gnats/gen-index ; \
- chmod 4555 $(libexecdir)/gnats/queue-pr $(libexecdir)/gnats/gen-index ; \
- chown $(GNATS_USER) $(libexecdir)/gnats/gnatsd ; \
- chmod 555 $(libexecdir)/gnats/gnatsd ; \
+ echo "chown $(GNATS_USER) $(DESTDIR)$(libexecdir)/gnats/gnatsd" ; \
+ echo "chmod 555 $(DESTDIR)$(libexecdir)/gnats/gnatsd" ; \
+ chown $(GNATS_USER) $(DESTDIR)$(libexecdir)/gnats/queue-pr \
+ $(DESTDIR)$(libexecdir)/gnats/gen-index ; \
+ chmod 4555 $(DESTDIR)$(libexecdir)/gnats/queue-pr \
+ $(DESTDIR)$(libexecdir)/gnats/gen-index ; \
+ chown $(GNATS_USER) $(DESTDIR)$(libexecdir)/gnats/gnatsd ; \
+ chmod 555 $(DESTDIR)$(libexecdir)/gnats/gnatsd ; \
else \
echo "*** Warning: must make queue-pr and gen-index suid $(GNATS_USER)." ; \
fi
@@ -504,26 +506,26 @@
# Don't use rm -rf in case there's other stuff in the directories
uninstall:
- -rm -f $(bindir)/edit-pr
- -rm -f $(bindir)/query-pr
- -rm -f $(bindir)/getclose
- -rm -f $(libexecdir)/gnats/gnats-edit-pr
- -rm -f $(libexecdir)/gnats/pr-age
- -rm -f $(libexecdir)/gnats/pr-edit
- -rm -f $(libexecdir)/gnats/at-pr
- -rm -f $(libexecdir)/gnats/check-db
- -rm -f $(libexecdir)/gnats/delete-pr
- -rm -f $(libexecdir)/gnats/file-pr
- -rm -f $(libexecdir)/gnats/nfile-pr
- -rm -f $(libexecdir)/gnats/gnats-file-pr
- -rm -f $(libexecdir)/gnats/queue-pr
- -rm -f $(libexecdir)/gnats/mkcat
- -rm -f $(libexecdir)/gnats/mkdb
- -rm -f $(libexecdir)/gnats/rmcat
- -rm -f $(libexecdir)/gnats/gen-index
- -rm -f $(libexecdir)/gnats/mail-query
- -rm -f $(libexecdir)/gnats/gnats-pwconv
- -rmdir $(libexecdir)/gnats
+ -rm -f $(DESTDIR)$(bindir)/edit-pr
+ -rm -f $(DESTDIR)$(bindir)/query-pr
+ -rm -f $(DESTDIR)$(bindir)/getclose
+ -rm -f $(DESTDIR)$(libexecdir)/gnats/gnats-edit-pr
+ -rm -f $(DESTDIR)$(libexecdir)/gnats/pr-age
+ -rm -f $(DESTDIR)$(libexecdir)/gnats/pr-edit
+ -rm -f $(DESTDIR)$(libexecdir)/gnats/at-pr
+ -rm -f $(DESTDIR)$(libexecdir)/gnats/check-db
+ -rm -f $(DESTDIR)$(libexecdir)/gnats/delete-pr
+ -rm -f $(DESTDIR)$(libexecdir)/gnats/file-pr
+ -rm -f $(DESTDIR)$(libexecdir)/gnats/nfile-pr
+ -rm -f $(DESTDIR)$(libexecdir)/gnats/gnats-file-pr
+ -rm -f $(DESTDIR)$(libexecdir)/gnats/queue-pr
+ -rm -f $(DESTDIR)$(libexecdir)/gnats/mkcat
+ -rm -f $(DESTDIR)$(libexecdir)/gnats/mkdb
+ -rm -f $(DESTDIR)$(libexecdir)/gnats/rmcat
+ -rm -f $(DESTDIR)$(libexecdir)/gnats/gen-index
+ -rm -f $(DESTDIR)$(libexecdir)/gnats/mail-query
+ -rm -f $(DESTDIR)$(libexecdir)/gnats/gnats-pwconv
+ -rmdir $(DESTDIR)$(libexecdir)/gnats
TAGS: $(SOURCES) $(LIBSRC)
etags -f TAGS $(SOURCES) $(LIBSRC) *.h gnats.el ;
send-pr_Makefile.in.patch
(text/plain, 801 B)
--- send-pr/Makefile.in.bak 2004-04-01 12:33:27.000000000 -0600 +++ send-pr/Makefile.in 2004-04-01 12:34:55.000000000 -0600 @@ -140,14 +140,14 @@ install-norm-arch-indep: install-norm-arch-dep: - $(INSTALL_SCRIPT) send-pr $(bindir)/send-pr - $(INSTALL_SCRIPT) install-sid $(bindir)/install-sid - $(INSTALL_DATA) send-pr.1 $(man1dir)/send-pr.1 + $(INSTALL_SCRIPT) send-pr $(DESTDIR)$(bindir)/send-pr + $(INSTALL_SCRIPT) install-sid $(DESTDIR)$(bindir)/install-sid + $(INSTALL_DATA) send-pr.1 $(DESTDIR)$(man1dir)/send-pr.1 uninstall: - -rm -f $(bindir)/send-pr $(bindir)/install-sid - -rmdir $(datadir)/gnats - -rm -f $(man1dir)/send-pr.1 + -rm -f $(DESTDIR)$(bindir)/send-pr $(DESTDIR)$(bindir)/install-sid + -rmdir $(DESTDIR)$(datadir)/gnats + -rm -f $(DESTDIR)$(man1dir)/send-pr.1 TAGS:
doc_Makefile.in.patch
(text/plain, 1.2 KB)
--- doc/Makefile.in.bak 2004-04-03 12:00:09.000000000 -0600 +++ doc/Makefile.in 2004-04-03 10:36:03.000000000 -0600 @@ -57,11 +57,11 @@ install-gnats: info man for i in gnats.info* gnats-faq.info*; do \ - $(INSTALL_DATA) $$i $(infodir)/$$i ; \ + $(INSTALL_DATA) $$i $(DESTDIR)$(infodir)/$$i ; \ done -if [ -x "$(INSTALL_INFO)" ]; then \ - $(INSTALL_INFO) $(infodir)/gnats.info $(infodir)/dir; \ - $(INSTALL_INFO) $(infodir)/gnats-faq.info $(infodir)/dir; \ + $(INSTALL_INFO) $(DESTDIR)$(infodir)/gnats.info $(DESTDIR)$(infodir)/dir; \ + $(INSTALL_INFO) $(DESTDIR)$(infodir)/gnats-faq.info $(DESTDIR)$(infodir)/dir; \ fi $(MAKE) -C man install-gnats @@ -69,10 +69,10 @@ uninstall: -if [ -x "$(INSTALL_INFO)" ]; then \ - $(INSTALL_INFO) --delete $(infodir)/gnats.info \ - $(infodir)/dir; \ - $(INSTALL_INFO) --delete $(infodir)/gnats-faq.info \ - $(infodir)/dir; \ + $(INSTALL_INFO) --delete $(DESTDIR)$(infodir)/gnats.info \ + $(DESTDIR)$(infodir)/dir; \ + $(INSTALL_INFO) --delete $(DESTDIR)$(infodir)/gnats-faq.info \ + $(DESTDIR)$(infodir)/dir; \ fi $(MAKE) -C man uninstall
signature.asc
(application/pgp-signature, 189 B)
-----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.4 (GNU/Linux) iD8DBQFAcd2zDMcLGCBsWv0RAmjRAJ4+tEvoOK1a1cn58DAA1PcOF4hewwCeJjHN Md6c7MoF4/tT6CRlwZaSD/4= =3+to -----END PGP SIGNATURE-----