From 914fa0d73cf9c06ece6ecaea5a3443447c85194d Mon Sep 17 00:00:00 2001 From: dholland Date: Sun, 8 Apr 2012 01:28:35 +0000 Subject: Use SPECIAL_PERMS and switch to user-destdir mode. While this is intended to produce the same binary package, if something went wrong it might not, so bump PKGREVISION (to 2) as a precaution. --- comms/mgetty+sendfax/Makefile | 24 +++++--- comms/mgetty+sendfax/distinfo | 5 +- comms/mgetty+sendfax/patches/patch-ab | 80 +++++++++++++++++++++---- comms/mgetty+sendfax/patches/patch-fax_Makefile | 17 ++++++ 4 files changed, 103 insertions(+), 23 deletions(-) create mode 100644 comms/mgetty+sendfax/patches/patch-fax_Makefile diff --git a/comms/mgetty+sendfax/Makefile b/comms/mgetty+sendfax/Makefile index b77711145c9..81e2eebc24d 100644 --- a/comms/mgetty+sendfax/Makefile +++ b/comms/mgetty+sendfax/Makefile @@ -1,8 +1,8 @@ -# $NetBSD: Makefile,v 1.79 2012/04/08 00:47:26 dholland Exp $ +# $NetBSD: Makefile,v 1.80 2012/04/08 01:28:35 dholland Exp $ DISTNAME= mgetty1.1.37-Jun05 PKGNAME= mgetty-1.1.37 -PKGREVISION= 1 +PKGREVISION= 2 CATEGORIES= comms MASTER_SITES= ftp://alpha.greenie.net/pub/mgetty/source/1.1/ @@ -17,13 +17,13 @@ BUILD_DEPENDS+= texi2roff-[0-9]*:../../textproc/texi2roff CONFLICTS= hylafax-[0-9]* -PKG_DESTDIR_SUPPORT= destdir +PKG_DESTDIR_SUPPORT= user-destdir WRKSRC= ${WRKDIR}/${PKGNAME_NOREV} MAKE_ENV+= MGETTY_CONFDIR=${PKG_SYSCONFDIR:Q} PERL5=${PERL5:Q} -MAKE_ENV+= ROOT_USER=${ROOT_USER:Q} -MAKE_ENV+= ROOT_GROUP=${ROOT_GROUP:Q} +MAKE_ENV+= ROOT_USER=${REAL_ROOT_USER:Q} +MAKE_ENV+= ROOT_GROUP=${REAL_ROOT_GROUP:Q} MAKE_FLAGS+= prefix=${DESTDIR:Q}${PREFIX:Q} \ spool=${VARBASE}/spool \ INFODIR=${DESTDIR:Q}${PREFIX:Q}/${PKGINFODIR:Q} \ @@ -37,7 +37,7 @@ INSTALL_MAKE_FLAGS= ${MAKE_FLAGS} CONFDIR=${DESTDIR:Q}${EXAMPLES_DIR:Q} BUILD_MAKE_FLAGS= ${MAKE_FLAGS:S,${DESTDIR},,} CONFDIR=${PKG_SYSCONFDIR:Q} CFLAGS.SunOS+= -Dsolaris2 -CFLAGS+= -DDEVICE_GROUP=\"${ROOT_GROUP}\" +CFLAGS+= -DDEVICE_GROUP=\"${REAL_ROOT_GROUP}\" .include "../../mk/bsd.prefs.mk" .if ${OPSYS} != "SunOS" @@ -51,7 +51,7 @@ PKG_SYSCONFSUBDIR= mgetty+sendfax PKG_GROUPS= dialer PKG_USERS= fax:dialer -USERGROUP_PHASE= pre-install +#USERGROUP_PHASE= pre-install EXAMPLES_DIR= ${PREFIX}/share/examples/mgetty+sendfax SPOOL_DIR= ${VARBASE}/spool/fax @@ -67,13 +67,19 @@ SPOOL_DIR= ${VARBASE}/spool/fax CONF_FILES+= ${EXAMPLES_DIR}/${cfg} ${PKG_SYSCONFDIR}/${cfg} .endfor -ROOT_DIR_PERMS= ${ROOT_USER} ${ROOT_GROUP} 755 -FAX_DIR_PERMS= fax ${ROOT_GROUP} 755 +ROOT_DIR_PERMS= ${REAL_ROOT_USER} ${REAL_ROOT_GROUP} 755 +FAX_DIR_PERMS= fax ${REAL_ROOT_GROUP} 755 +SETUID_FAX_PERMS= fax ${REAL_ROOT_GROUP} 4711 +# XXX the package's makefile sets SPOOL_DIR to FAX_DIR_PERMS but the +# pkgsrc package has had it as ROOT_DIR_PERMS. I'm going to leave it +# the way pkgsrc had it; if you find it breaks that way please file a PR. OWN_DIRS_PERMS+= ${SPOOL_DIR} ${ROOT_DIR_PERMS} OWN_DIRS_PERMS+= ${SPOOL_DIR}/incoming ${ROOT_DIR_PERMS} OWN_DIRS_PERMS+= ${SPOOL_DIR}/outgoing ${FAX_DIR_PERMS} +SPECIAL_PERMS+= lib/mgetty+sendfax/faxq-helper ${SETUID_FAX_PERMS} + SUBST_CLASSES+= prefix SUBST_FILES.prefix= faxrunq.config SUBST_SED.prefix= -e 's|/usr/local|${PREFIX}|' diff --git a/comms/mgetty+sendfax/distinfo b/comms/mgetty+sendfax/distinfo index 303c39d86ca..caabd9979ef 100644 --- a/comms/mgetty+sendfax/distinfo +++ b/comms/mgetty+sendfax/distinfo @@ -1,10 +1,10 @@ -$NetBSD: distinfo,v 1.35 2012/04/08 00:47:27 dholland Exp $ +$NetBSD: distinfo,v 1.36 2012/04/08 01:28:35 dholland Exp $ SHA1 (mgetty1.1.37-Jun05.tar.gz) = fec9672e8be29a41f1392c6bf90c0d5732cdb2c2 RMD160 (mgetty1.1.37-Jun05.tar.gz) = 56aa9e213e4bd79c13ace2b7222253d91e756865 Size (mgetty1.1.37-Jun05.tar.gz) = 1057939 bytes SHA1 (patch-aa) = f80c4e7f7eb23eac7ee23c2144612b82c122d45f -SHA1 (patch-ab) = 84976f4834494193a4d0f2fe90ee6963a056d346 +SHA1 (patch-ab) = 21f2eee6e6534335e96d93f6a418068db1824c89 SHA1 (patch-ac) = bdc69ccc3430634bb74742fd105ee8f3fcde4d21 SHA1 (patch-ad) = f02a92a3a9a46fe71d7541897da24470e38f68c7 SHA1 (patch-af) = 088be22c69f39ca099cbe497b7e845bf103bf1c7 @@ -19,3 +19,4 @@ SHA1 (patch-ap) = 4b101e76df0081cc62c6fcfb424300019c09819b SHA1 (patch-aq) = 160e94001568a0a4025a0d26140f972ec0ed8648 SHA1 (patch-ar) = 313f76a5d989c4511935d6fdc2ea2aadcbed76a0 SHA1 (patch-as) = 85bcf39cf5323625bb71f1659413e87864c824cf +SHA1 (patch-fax_Makefile) = 4d4043d84dafe5993d546518b698b10af48f126a diff --git a/comms/mgetty+sendfax/patches/patch-ab b/comms/mgetty+sendfax/patches/patch-ab index d463db66185..00d7c93bacb 100644 --- a/comms/mgetty+sendfax/patches/patch-ab +++ b/comms/mgetty+sendfax/patches/patch-ab @@ -1,8 +1,9 @@ -$NetBSD: patch-ab,v 1.14 2012/04/08 00:47:27 dholland Exp $ +$NetBSD: patch-ab,v 1.15 2012/04/08 01:28:35 dholland Exp $ - configure for pkgsrc - honor VARBASE - add vgetty to build +- user-destdir support --- Makefile.orig 2010-06-05 09:48:22.000000000 +0000 +++ Makefile @@ -35,18 +36,21 @@ $NetBSD: patch-ab,v 1.14 2012/04/08 00:47:27 dholland Exp $ #LIBS=-lprot -lsocket # SCO Unix #LIBS=-lsocket #LIBS=-lbsd # OSF/1 -@@ -171,8 +169,8 @@ LIBS= +@@ -171,11 +169,12 @@ LIBS= # # if your systems doesn't have one, use the shell script that I provide # in "inst.sh" (taken from X11R5). Needed on IRIX5.2 -INSTALL=install -c -o bin -g bin --#INSTALL=install -c -o root -g wheel # NeXT/BSD +#INSTALL=install -c -o bin -g bin -+INSTALL=install -c -o ${ROOT_USER} -g ${ROOT_GROUP} # NeXT/BSD + #INSTALL=install -c -o root -g wheel # NeXT/BSD #INSTALL=/usr/ucb/install -c -o bin -g bin # AIX, Solaris 2.x #INSTALL=installbsd -c -o bin -g bin # OSF/1, AIX 4.1, 4.2 #INSTALL=/usr/bin/X11/bsdinst -c -o bin # IRIX -@@ -247,7 +245,7 @@ INFODIR=$(prefix)/info ++INSTALL=install -c + # + # prefix, where most (all?) of the stuff lives, usually /usr/local or /usr + # +@@ -247,7 +246,7 @@ INFODIR=$(prefix)/info # Usually this will be /bin/sh or /usr/bin/sh, but bash or ksh are fine. # (on some ultrix systems, you may need /bin/sh5 here) # @@ -55,7 +59,7 @@ $NetBSD: patch-ab,v 1.14 2012/04/08 00:47:27 dholland Exp $ # # If your shell requires pre-posix syntax to disable traps ('trap 0' # instead of 'trap - 0'), set this to "0" (very rarely needed) -@@ -265,12 +263,12 @@ AWK=awk +@@ -265,12 +264,12 @@ AWK=awk # and the "tkperl" frontends without PERL, so don't worry if you don't # have it. # If you specify command line arguments (-w), don't forget the quotes! @@ -70,7 +74,7 @@ $NetBSD: patch-ab,v 1.14 2012/04/08 00:47:27 dholland Exp $ # # # An echo program that understands escapes like "\n" for newline or -@@ -282,9 +280,9 @@ TKPERL=/usr/bin/tkperl +@@ -282,9 +281,9 @@ TKPERL=/usr/bin/tkperl # please use the "mg.echo" program provided in the compat/ subdirectory. # Set ECHO="mg.echo" and INSTALL_MECHO to mg.echo # @@ -82,7 +86,7 @@ $NetBSD: patch-ab,v 1.14 2012/04/08 00:47:27 dholland Exp $ # # for mgetty, that's it. If you want to use the voice -@@ -292,7 +290,7 @@ ECHO="echo" +@@ -292,7 +291,7 @@ ECHO="echo" # To maintain security, I recommend creating a new group for # users who are allowed to manipulate the recorded voice messages. @@ -91,7 +95,7 @@ $NetBSD: patch-ab,v 1.14 2012/04/08 00:47:27 dholland Exp $ PHONE_PERMS=770 # Add -DNO_STRSTR to CFLAGS if you don't have strstr(). -@@ -324,7 +322,7 @@ SFAXOBJ=sendfax.o logfile.o locks.o mode +@@ -324,7 +323,7 @@ SFAXOBJ=sendfax.o logfile.o locks.o mode all: bin-all doc-man-only @@ -100,7 +104,7 @@ $NetBSD: patch-ab,v 1.14 2012/04/08 00:47:27 dholland Exp $ # a few C files need extra compiler arguments -@@ -572,8 +570,8 @@ newslock: compat/newslock.c +@@ -572,8 +571,8 @@ newslock: compat/newslock.c # internal: use this to create a "clean" mgetty+sendfax tree bindist: all doc-all sedscript -rm -rf bindist @@ -111,7 +115,7 @@ $NetBSD: patch-ab,v 1.14 2012/04/08 00:47:27 dholland Exp $ BINDIR=$$bd$(BINDIR) SBINDIR=$$bd$(SBINDIR) \ LIBDIR=$$bd$(LIBDIR) CONFDIR=$$bd$(CONFDIR) \ spool=$$bd$(spool) FAX_SPOOL=$$bd$(FAX_SPOOL) \ -@@ -585,7 +583,7 @@ bindist: all doc-all sedscript +@@ -585,7 +584,7 @@ bindist: all doc-all sedscript cd bindist; gtar cvvfz mgetty$(MR).$(SR)-bin.tgz * @@ -120,7 +124,7 @@ $NetBSD: patch-ab,v 1.14 2012/04/08 00:47:27 dholland Exp $ install.bin: mgetty sendfax newslock \ login.config mgetty.config sendfax.config -@@ -593,7 +591,7 @@ install.bin: mgetty sendfax newslock \ +@@ -593,7 +592,7 @@ install.bin: mgetty sendfax newslock \ # binaries # -test -d $(BINDIR) || ( ./mkidirs $(BINDIR) ; chmod 755 $(BINDIR) ) @@ -129,3 +133,55 @@ $NetBSD: patch-ab,v 1.14 2012/04/08 00:47:27 dholland Exp $ -test -d $(SBINDIR) || ( ./mkidirs $(SBINDIR) ; chmod 755 $(SBINDIR) ) if [ -f $(SBINDIR)/mgetty ] ; then \ +@@ -610,15 +609,15 @@ install.bin: mgetty sendfax newslock \ + test -d $(CONFDIR) || \ + ( ./mkidirs $(CONFDIR) && chmod 755 $(CONFDIR)) + test -f $(CONFDIR)/login.config || \ +- $(INSTALL) -o root -m 600 login.config $(CONFDIR)/ ++ $(INSTALL) -m 600 login.config $(CONFDIR)/ + test -f $(CONFDIR)/mgetty.config || \ +- $(INSTALL) -o root -m 600 mgetty.config $(CONFDIR)/ ++ $(INSTALL) -m 600 mgetty.config $(CONFDIR)/ + test -f $(CONFDIR)/sendfax.config || \ +- $(INSTALL) -o root -m 644 sendfax.config $(CONFDIR)/ ++ $(INSTALL) -m 644 sendfax.config $(CONFDIR)/ + test -f $(CONFDIR)/dialin.config || \ +- $(INSTALL) -o root -m 600 dialin.config $(CONFDIR)/ ++ $(INSTALL) -m 600 dialin.config $(CONFDIR)/ + test -f $(CONFDIR)/faxrunq.config || \ +- $(INSTALL) -o root -m 644 faxrunq.config $(CONFDIR)/ ++ $(INSTALL) -m 644 faxrunq.config $(CONFDIR)/ + # + # test for outdated stuff + # +@@ -632,18 +631,18 @@ install.bin: mgetty sendfax newslock \ + # + # fax spool directories + # +- test -d $(spool) || \ +- ( mkdir $(spool) && chmod 755 $(spool) ) +- test -d $(FAX_SPOOL) || \ +- ( mkdir $(FAX_SPOOL) && \ +- chown $(FAX_OUT_USER) $(FAX_SPOOL) && \ +- chmod 755 $(FAX_SPOOL) ) +- test -d $(FAX_SPOOL_IN) || \ +- ( mkdir $(FAX_SPOOL_IN) && chmod 755 $(FAX_SPOOL_IN) ) +- test -d $(FAX_SPOOL_OUT) || \ +- mkdir $(FAX_SPOOL_OUT) +- chown $(FAX_OUT_USER) $(FAX_SPOOL_OUT) +- chmod 755 $(FAX_SPOOL_OUT) ++ #test -d $(spool) || \ ++ # ( mkdir $(spool) && chmod 755 $(spool) ) ++ #test -d $(FAX_SPOOL) || \ ++ # ( mkdir $(FAX_SPOOL) && \ ++ # chown $(FAX_OUT_USER) $(FAX_SPOOL) && \ ++ # chmod 755 $(FAX_SPOOL) ) ++ #test -d $(FAX_SPOOL_IN) || \ ++ # ( mkdir $(FAX_SPOOL_IN) && chmod 755 $(FAX_SPOOL_IN) ) ++ #test -d $(FAX_SPOOL_OUT) || \ ++ # mkdir $(FAX_SPOOL_OUT) ++ #chown $(FAX_OUT_USER) $(FAX_SPOOL_OUT) ++ #chmod 755 $(FAX_SPOOL_OUT) + # + # g3 tool programs + # diff --git a/comms/mgetty+sendfax/patches/patch-fax_Makefile b/comms/mgetty+sendfax/patches/patch-fax_Makefile new file mode 100644 index 00000000000..fd2906f11ad --- /dev/null +++ b/comms/mgetty+sendfax/patches/patch-fax_Makefile @@ -0,0 +1,17 @@ +$NetBSD: patch-fax_Makefile,v 1.1 2012/04/08 01:28:35 dholland Exp $ + +User-destdir support. + +--- fax/Makefile~ 2006-02-22 17:25:30.000000000 +0000 ++++ fax/Makefile +@@ -58,8 +58,8 @@ install: all + done + $(INSTALL) -m 755 faxrunqd $(SBINDIR) + $(INSTALL) faxq-helper $(LIBDIR) +- chown $(FAX_OUT_USER) $(LIBDIR)/faxq-helper +- chmod 4711 $(LIBDIR)/faxq-helper ++ #chown $(FAX_OUT_USER) $(LIBDIR)/faxq-helper ++ #chmod 4711 $(LIBDIR)/faxq-helper + # + # data files + # -- cgit v1.2.3