diff --git a/Keywords/sample.ucl b/Keywords/sample.ucl index 981f885..2b1a46c 100644 --- a/Keywords/sample.ucl +++ b/Keywords/sample.ucl @@ -1,10 +1,10 @@ # $FreeBSD: head/Keywords/sample.ucl 417335 2016-06-22 21:44:25Z bapt $ # -# MAINTAINER: portmgr@FreeBSD.org -# # @sample etc/somefile.conf.sample # or -# @sample file1 file2 +# @sample sample-file target-file +# or +# @sample sample-file target-file owner group mode # # Where file1 is considered as a sample file and file2 the target file # @@ -27,8 +27,12 @@ post-install: < ${.TARGET} diff --git a/mk/pkgformat/pkgng/transform_plist.awk b/mk/pkgformat/pkgng/transform_plist.awk index 14490b6..1325eef 100644 --- a/mk/pkgformat/pkgng/transform_plist.awk +++ b/mk/pkgformat/pkgng/transform_plist.awk @@ -2,7 +2,10 @@ # external variables: # ------------------- # CONF_FILES= space delimited list of sample files (2 per) -# CONF_FILES_PERMS= similar with perms (5 per) +# CONF_FILES_PERMS= similar with perms (5 per), include REQD_FILES_PERMS +# CONF_FILES_MODE= set mode for all CONF_FILES +# REQD_FILES= handle like CONF_FILES +# REQD_FILES_MODE = set mode of all REQD_FILES # PREFIX= installation prefix # # @@ -10,17 +13,32 @@ BEGIN { split (CONF_FILES, CF); num_CF = length(CF) / 2; - for (k = 1; k <= num_CF; k++) used_CF[k] = 0; + for (k = 0; k < num_CF; k++) used_CF[k] = 0; + + split (REQD_FILES, RF); + num_RF = length(RF) / 2; + for (k = 0; k < num_RF; k++) used_RF[k] = 0; split (CONF_FILES_PERMS, CFP); num_CFP = length(CFP) / 5; - for (k = 1; k <= num_CFP; k++) used_CFP[k] = 0; + for (k = 0; k < num_CFP; k++) used_CFP[k] = 0; } END { - for (k = 1; k <= num_CF; k++) { + for (k = 0; k < num_CF; k++) { if (!used_CF[k]) { - print "sample@ " CF[k*2-1] " " CF[k*2]; + if (CONF_FILES_MODE == "") + print "@sample " CF[2*k+1] " " CF[2*k+2]; + else + print "@sample " CF[2*k+1] " " CF[2*k+2] " , , " CONF_FILES_MODE + } + } + for (k = 0; k < num_RF; k++) { + if (!used_RF[k]) { + if (REQD_FILES_MODE == "") + print "@sample " RF[2*k+1] " " RF[2*k+2]; + else + print "@sample " RF[2*k+1] " " RF[2*k+2] " , , " REQD_FILES_MODE } } for (k = 0; k < num_CFP; k++) { @@ -32,11 +50,26 @@ END { function is_sample () { candidate = PREFIX "/" $1 - for (k = 1; k <= num_CF; k++) { + for (k = 0; k < num_CF; k++) { if (!used_CF[k]) { - if (candidate == CF[k*2-1]) { + if (candidate == CF[2*k+1]) { used_CF[k] = 1; - print "@sample " CF[k*2-1] " " CF[k*2]; + if (CONF_FILES_MODE == "") + print "@sample " CF[2*k+1] " " CF[2*k+2]; + else + print "@sample " CF[2*k+1] " " CF[2*k+2] " , , " CONF_FILES_MODE + return 1; + } + } + } + for (k = 0; k < num_RF; k++) { + if (!used_RF[k]) { + if (candidate == RF[2*k+1]) { + used_RF[k] = 1; + if (REQD_FILES_MODE == "") + print "@sample " RF[2*k+1] " " RF[2*k+2]; + else + print "@sample " RF[2*k+1] " " RF[2*k+2] " , , " REQD_FILES_MODE return 1; } } diff --git a/mk/pkginstall/install b/mk/pkginstall/install index 0304b4e..20b304f 100644 --- a/mk/pkginstall/install +++ b/mk/pkginstall/install @@ -3,10 +3,6 @@ case ${STAGE} in PRE-INSTALL) # - # Unpack the helper scriptlets. - # - ${SH} ${SELF} ${PKGNAME} UNPACK - # # Require that necessary users and groups exist or else fail the # installation of the package. # @@ -17,10 +13,6 @@ PRE-INSTALL) else exit 1 fi; } - ${TEST} ! -x ./+DIRS || - ./+DIRS ADD ${PKG_METADATA_DIR} - ${TEST} ! -x ./+DIRS || - ./+DIRS PERMS ${PKG_METADATA_DIR} ;; POST-INSTALL) @@ -49,10 +41,6 @@ POST-INSTALL) # Check for any missing bits after we're finished installing. # - ${TEST} ! -x ./+DIRS || - ./+DIRS CHECK-ADD ${PKG_METADATA_DIR} - ${TEST} ! -x ./+DIRS || - ./+DIRS CHECK-PERMS ${PKG_METADATA_DIR} ${TEST} ! -x ./+FILES || ./+FILES CHECK-ADD ${PKG_METADATA_DIR} ${TEST} ! -x ./+FILES || @@ -65,11 +53,6 @@ POST-INSTALL) ./+SHELL ADD ${PKG_METADATA_DIR} ${TEST} ! -x ./+SHELL || ./+SHELL CHECK-ADD ${PKG_METADATA_DIR} - # - # Register info files. - # - ${TEST} ! -x ./+INFO_FILES || - ./+INFO_FILES ADD ${PKG_METADATA_DIR} # # Register package into ocaml-findlib.