tech-pkg archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: pkg/42328: setting PKG_SYSCONFDIR.minicom creates directory permission problems



On 2009年11月21日, Steven Drake wrote:
> Perhaps the hole logic regarding how PKG_SYSCONFDIR and PKG_SYSCONFBASEDIR
> are set to be reworked? 
> 
> IMO create a new variable (eg. REQD_PKG_SYSCONFSUBDIR) and patch the few 
> packages (11 of them) that need it.
> 
So heres some patches to do just that. The patches are well annotated and
probably more explanative than this email.
Adding REQD_PKG_SYSCONFSUBDIR has the effect of closing PR pkg/42327 as 
well as any similar problems in the future and partly closes PR pkg/42328.
-- 
Steven
Add REQD_PKG_SYSCONFSUBDIR variant of PKG_SYSCONFSUBDIR, in this case
if PKG_SYSCONFDIR.${PKG_SYSCONFVAR} will still get appended, but to be on
the safe side the PKG_SYSCONFSUBDIR is first remove to get PKG_SYSCONFBASEDIR
and then appended. This has the affect that if the user puts
"PKG_SYSCONFDIR.package=/etc/package" or
"PKG_SYSCONFDIR.package=/etc"
in there mk.conf the result is the same. In the latter case a warning is 
also given.
For all other when PKG_SYSCONFDIR.${PKG_SYSCONFVAR} and PKG_SYSCONFSUBDIR
are set PKG_SYSCONFSUBDIR will be reset, as suggested by OBATA Akio.
Index: mk/bsd.pkg.mk
===================================================================
RCS file: /cvsroot/pkgsrc/mk/bsd.pkg.mk,v
retrieving revision 1.1959
diff -u -p -r1.1959 bsd.pkg.mk
--- mk/bsd.pkg.mk 10 Sep 2009 21:46:57 -0000 1.1959
+++ mk/bsd.pkg.mk 24 Nov 2009 01:34:14 -0000
@@ -352,7 +352,8 @@ FAIL?= ${SH} ${PKGSRCDIR}/mk/scripts/f
 # Config file related settings - see doc/pkgsrc.txt
 #
 PKG_SYSCONFVAR?= ${PKGBASE}
-PKG_SYSCONFSUBDIR?= # empty
+REQD_PKG_SYSCONFSUBDIR?=# empty
+PKG_SYSCONFSUBDIR?= ${REQD_PKG_SYSCONFSUBDIR}
 .if ${PKG_INSTALLATION_TYPE} == "overwrite"
 PKG_SYSCONFDEPOTBASE= # empty
 PKG_SYSCONFBASEDIR= ${PKG_SYSCONFBASE}
@@ -373,8 +374,18 @@ DFLT_PKG_SYSCONFDIR:= ${PKG_SYSCONFBASED
 .endif
 PKG_SYSCONFDIR= ${DFLT_PKG_SYSCONFDIR}
 .if defined(PKG_SYSCONFDIR.${PKG_SYSCONFVAR})
+. if !empty(REQD_PKG_SYSCONFSUBDIR)
+# PKG_SYSCONFSUBDIR gets append weather the user wants it or not! 
+PKG_SYSCONFBASEDIR= 
${PKG_SYSCONFDIR.${PKG_SYSCONFVAR}:S/${PKG_SYSCONFSUBDIR}$//}
+PKG_SYSCONFDIR= ${PKG_SYSCONFBASEDIR}/${PKG_SYSCONFSUBDIR}
+. if !empty(PKG_SYSCONFDIR.${PKG_SYSCONFVAR}:C/^.*\/${PKG_SYSCONFSUBDIR}$//)
+WARNINGS+="[mk.conf] PKG_SYSCONFDIR.${PKG_SYSCONFVAR} MUST end with 
'/${PKG_SYSCONFSUBDIR}'"
+. endif
+. else
 PKG_SYSCONFDIR= ${PKG_SYSCONFDIR.${PKG_SYSCONFVAR}}
 PKG_SYSCONFBASEDIR= ${PKG_SYSCONFDIR.${PKG_SYSCONFVAR}}
+PKG_SYSCONFSUBDIR= # empty (reset!)
+. endif
 PKG_SYSCONFDEPOTBASE= # empty
 .endif
 PKG_SYSCONFDIR_PERMS?= ${REAL_ROOT_USER} ${REAL_ROOT_GROUP} 755
Change PKG_SYSCONFSUBDIR to REQD_PKG_SYSCONFSUBDIR for those packages that
need it.
Index: inputmethod/tomoe/Makefile
===================================================================
--- inputmethod/tomoe/Makefile.orig 2008年06月05日 01:01:36.000000000 +1200
+++ inputmethod/tomoe/Makefile 2009年11月21日 17:35:28.000000000 +1300
@@ -17,7 +17,7 @@ USE_LIBTOOL= yes
 USE_TOOLS+= gmake pkg-config intltool msgfmt
 USE_PKGLOCALEDIR= yes
 
-PKG_SYSCONFSUBDIR= tomoe
+REQD_PKG_SYSCONFSUBDIR= tomoe
 
 PKGCONFIG_OVERRIDE+= bindings/python/pytomoe.pc.in
 PKGCONFIG_OVERRIDE+= tomoe.pc.in
Index: net/freeradius/Makefile
===================================================================
--- net/freeradius/Makefile.orig 2009年10月13日 14:54:27.000000000 +1300
+++ net/freeradius/Makefile 2009年11月21日 17:35:34.000000000 +1300
@@ -31,7 +31,7 @@ MESSAGE_SUBST+= CHOWN=${CHOWN:Q} CHMOD=
 MESSAGE_SUBST+= RADIUS_USER=${RADIUS_USER:Q} XARGS=${XARGS:Q}
 MESSAGE_SUBST+= RADIUS_GROUP=${RADIUS_GROUP:Q} FIND=${FIND:Q}
 
-PKG_SYSCONFSUBDIR= raddb
+REQD_PKG_SYSCONFSUBDIR= raddb
 RCD_SCRIPTS= radiusd
 RADIUS_USER?= radius
 RADIUS_GROUP?= radius
Index: net/freeradius2/Makefile
===================================================================
--- net/freeradius2/Makefile.orig 2009年10月13日 14:54:27.000000000 +1300
+++ net/freeradius2/Makefile 2009年11月21日 17:35:41.000000000 +1300
@@ -28,7 +28,7 @@ MESSAGE_SUBST+= CHOWN=${CHOWN:Q} CHMOD=
 MESSAGE_SUBST+= RADIUS_USER=${RADIUS_USER} XARGS=${XARGS:Q}
 MESSAGE_SUBST+= RADIUS_GROUP=${RADIUS_GROUP} FIND=${FIND:Q}
 
-PKG_SYSCONFSUBDIR= raddb
+REQD_PKG_SYSCONFSUBDIR= raddb
 RCD_SCRIPTS= radiusd
 RADIUS_USER?= radius
 RADIUS_GROUP?= radius
Index: net/radiusclient-ng/Makefile
===================================================================
--- net/radiusclient-ng/Makefile.orig 2009年08月04日 12:45:54.000000000 +1200
+++ net/radiusclient-ng/Makefile 2009年11月21日 17:35:47.000000000 +1300
@@ -15,7 +15,7 @@ PKG_DESTDIR_SUPPORT= user-destdir
 GNU_CONFIGURE= YES
 USE_LIBTOOL= YES
 
-PKG_SYSCONFSUBDIR= radiusclient-ng
+REQD_PKG_SYSCONFSUBDIR= radiusclient-ng
 EGDIR= ${PREFIX}/share/examples/radiusclient-ng
 
 CONFIGURE_ARGS+= --sysconfdir=${PKG_SYSCONFBASEDIR:Q}
Index: net/tor/Makefile
===================================================================
--- net/tor/Makefile.orig 2009年10月13日 14:55:18.000000000 +1300
+++ net/tor/Makefile 2009年11月21日 17:35:52.000000000 +1300
@@ -27,7 +27,7 @@ TOR_USER?= tor
 TOR_GROUP?= tor
 PKG_HOME?= ${VARBASE}/chroot/tor
 BUILD_DEFS+= VARBASE
-PKG_SYSCONFSUBDIR= tor
+REQD_PKG_SYSCONFSUBDIR= tor
 
 PKG_GROUPS_VARS+= TOR_GROUP
 PKG_USERS_VARS+= TOR_USER
Index: print/cups/Makefile
===================================================================
--- print/cups/Makefile.orig 2009年10月13日 14:55:35.000000000 +1300
+++ print/cups/Makefile 2009年11月21日 17:36:03.000000000 +1300
@@ -77,7 +77,7 @@ BUILD_DEFS+= VARBASE
 
 DOCDIR= ${PREFIX}/share/doc/cups
 EGDIR= ${PREFIX}/share/examples/cups
-PKG_SYSCONFSUBDIR= cups
+REQD_PKG_SYSCONFSUBDIR= cups
 CUPS_CONFDIR= ${PKG_SYSCONFDIR}
 CUPS_LOGDIR= ${VARBASE}/log/cups
 CUPS_REQUESTS= ${VARBASE}/spool/cups
Index: security/libprelude/Makefile.common
===================================================================
--- security/libprelude/Makefile.common.orig 2009年10月08日 08:40:41.000000000 
+1300
+++ security/libprelude/Makefile.common 2009年11月21日 17:36:16.000000000 +1300
@@ -30,7 +30,7 @@ CONFIGURE_ARGS+= --sysconfdir=${PKG_SYSC
 CONFIGURE_ARGS+= --localstatedir=${VARBASE:Q}
 CONFIGURE_ARGS+= --with-html-dir=${PREFIX}/share/doc
 CONFIGURE_ARGS+= --enable-easy-bindings
-PKG_SYSCONFSUBDIR= prelude
+REQD_PKG_SYSCONFSUBDIR= prelude
 
 PRELUDE_USER?= _prelude
 PRELUDE_GROUP?= _prelude
Index: sysutils/gnome-vfs/Makefile.common
===================================================================
--- sysutils/gnome-vfs/Makefile.common.orig 2009年08月04日 12:47:18.000000000 
+1200
+++ sysutils/gnome-vfs/Makefile.common 2009年11月21日 17:36:23.000000000 +1300
@@ -38,7 +38,7 @@ MAKE_FLAGS+= localedir=${PREFIX}/${PKGL
 INSTALL_MAKE_FLAGS+= ${MAKE_FLAGS}
 INSTALL_MAKE_FLAGS+= 
modulesconfdir=${PREFIX}/share/examples/gnome-vfs-2.0/modules
 
-PKG_SYSCONFSUBDIR= gnome-vfs-2.0
+REQD_PKG_SYSCONFSUBDIR= gnome-vfs-2.0
 
 EGDIR= ${PREFIX}/share/examples/gnome-vfs-2.0
 .for f in ${EGFILES}
Index: wm/pekwm/Makefile
===================================================================
--- wm/pekwm/Makefile.orig 2009年10月13日 14:57:49.000000000 +1300
+++ wm/pekwm/Makefile 2009年11月21日 17:36:28.000000000 +1300
@@ -20,7 +20,7 @@ USE_LANGUAGES= c c++
 
 CONFIGURE_ARGS+= --sysconfdir=${PKG_SYSCONFBASEDIR}
 
-PKG_SYSCONFSUBDIR= pekwm
+REQD_PKG_SYSCONFSUBDIR= pekwm
 
 EGDIR= ${PREFIX}/share/examples/pekwm
 CONF_FILES=
Index: wm/windowmaker/Makefile
===================================================================
--- wm/windowmaker/Makefile.orig 2009年10月13日 14:57:51.000000000 +1300
+++ wm/windowmaker/Makefile 2009年11月21日 17:36:33.000000000 +1300
@@ -43,7 +43,7 @@ CONFIGURE_ENV+= ac_cv_c_inline_asm=no
 GCC_REQD+= 3.0
 .endif
 
-PKG_SYSCONFSUBDIR= WindowMaker
+REQD_PKG_SYSCONFSUBDIR= WindowMaker
 EGDIR= ${PREFIX}/share/examples/WindowMaker
 CONF_FILES=
 .for f in WMGLOBAL WMRootMenu WMState WMWindowAttributes WindowMaker
Index: www/kahua/Makefile
===================================================================
--- www/kahua/Makefile.orig 2009年08月04日 12:48:19.000000000 +1200
+++ www/kahua/Makefile 2009年11月21日 17:36:40.000000000 +1300
@@ -20,7 +20,7 @@ CONFIGURE_ARGS+=--sysconfdir=${PKG_SYSCO
 CONFIGURE_ARGS+=--localstatedir=${DESTDIR}${VARBASE}
 BUILD_DEFS+= VARBASE
 
-PKG_SYSCONFSUBDIR= kahua
+REQD_PKG_SYSCONFSUBDIR= kahua
 EGDIR= ${PREFIX}/share/examples/kahua
 CONF_FILES= ${EGDIR}/kahua.conf ${PKG_SYSCONFDIR}/kahua.conf
 


Home | Main Index | Thread Index | Old Index

AltStyle によって変換されたページ (->オリジナル) /