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月16日, OBATA Akio wrote:
> But remains one problem, related to the situation of this PR.
> Using PKG_SYSCONFDIR.${PKG_SYSCONFVAR} on package contains PKG_SYSCONFSUBDIR.
> Currently, PKG_SYSCONFDIR_PERMS is ignored if PKG_SYSCONFSUBDIR is empty,
> probably, to avoid changing permission of PKG_SYSCONFBASEDIR accidently.
> But if PKG_SYSCONFDIR.${PKG_SYSCONFVAR} is set, PKG_SYSCONFSUBDIR is ignored.
> So on the situation of this PR, /etc will be changed to own by dialer:uucp 
> silently.
> 
> Probably, PKG_SYSCONFSUBDIR should be reset if 
> PKG_SYSCONFDIR.${PKG_SYSCONFVAR} is defined,
Defiantly!
--- bsd.pkg.mk 10 Sep 2009 21:46:57 -0000 1.1959
+++ bsd.pkg.mk 
@@ -376,6 +376,7 @@
 PKG_SYSCONFDIR= ${PKG_SYSCONFDIR.${PKG_SYSCONFVAR}}
 PKG_SYSCONFBASEDIR= ${PKG_SYSCONFDIR.${PKG_SYSCONFVAR}}
 PKG_SYSCONFDEPOTBASE= # empty
+PKG_SYSCONFSUBDIR= # empty
 .endif
 PKG_SYSCONFDIR_PERMS?= ${REAL_ROOT_USER} ${REAL_ROOT_GROUP} 755
> or honor PKG_SYSCONFSUBDIR even if PKG_SYSCONFDIR.${PKG_SYSCONFVAR} is 
> defined.
> IMO, later is prefered, because some packages expect that config files are
> in certain subdir
> of specified directory to configure, ex PR#42327 .
In my situation I set PKG_SYSCONFDIR.${PKG_SYSCONFVAR} to /etc so that the
package will find its config file in the same location as the old os binary
package did. Always honoring PKG_SYSCONFSUBDIR would completely defeat
setting it.
Perhaps a variable like PKG_SYSCONFBASE.${PKG_SYSCONFVAR} that honors
PKG_SYSCONFSUBDIR could be added to the infrastructure. The pkgsrc users
guide could mention both and give a strong warning about using
PKG_SYSCONFDIR.${PKG_SYSCONFVAR} because of situations like PR#42327.
On the same subject why not PKG_SYSCONFSUBDIR.${PKG_SYSCONFVAR}?
eg. PKG_SYSCONFSUBDIR.slp=slp
--- bsd.pkg.mk 10 Sep 2009 21:46:57 -0000 1.1959
+++ bsd.pkg.mk
@@ -352,7 +352,10 @@
${PKGSRCDIR}/mk/scripts/f
 # Config file related settings - see doc/pkgsrc.txt
 #
 PKG_SYSCONFVAR?= ${PKGBASE}
-PKG_SYSCONFSUBDIR?= # empty
+.if !empty(PKG_SYSCONFBASE.${PKG_SYSCONFVAR})
+PKG_SYSCONFBASE= ${PKG_SYSCONFBASE.${PKG_SYSCONFVAR}}
+.endif
+PKG_SYSCONFSUBDIR?= ${PKG_SYSCONFSUBDIR.${PKG_SYSCONFVAR}}
 .if ${PKG_INSTALLATION_TYPE} == "overwrite"
 PKG_SYSCONFDEPOTBASE= # empty
 PKG_SYSCONFBASEDIR= ${PKG_SYSCONFBASE}
-- 
Steven
UNIX is basically a simple operating system, 
but you have to be a genius to understand the simplicity --- dmr


Home | Main Index | Thread Index | Old Index

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