aboutsummaryrefslogtreecommitdiffstats
path: root/Mk
diff options
context:
space:
mode:
authorbapt <bapt@FreeBSD.org>2014-09-22 13:47:32 +0800
committerbapt <bapt@FreeBSD.org>2014-09-22 13:47:32 +0800
commitc673670f17a49fdaf5b4476ac488e50d93a67938 (patch)
treea6d0cb77d93be777b8b984ac60b75208477936ff /Mk
parent4964b5b32892829da962a354d2c367e0aeec835f (diff)
downloadfreebsd-ports-gnome-c673670f17a49fdaf5b4476ac488e50d93a67938.tar.gz
freebsd-ports-gnome-c673670f17a49fdaf5b4476ac488e50d93a67938.tar.zst
freebsd-ports-gnome-c673670f17a49fdaf5b4476ac488e50d93a67938.zip
Update to 1.3.8 Changes:
- Plist parser do not accept modes like o+w g+s u+r - @owner/@group with no argument reset the default ownership to root/wheel - Plug regression tests into the release mechanism as mandatory - Allow url in repository configuration to be overriden by another configuration file - If one of -P, -I or -R is not explicitly given on the command line do not emit error messages while searching for a mechanism to find data about the latest available ports. - External keywords can now take arguments - Directories under PREFIX are automatically handled and removed if needed - MTREE are not packaged anymore neither extracted on final installation - OS major checking (to determine if pkg is running on an upgraded base system) uses the same mechanism as ABI detection instead of relying on UNAME_r which can have false positivie on jails - Add @dir keyword for plist which is used to package explicitly directories (directories with non root/wheel or outside prefix) and empty directories (@dirrm and @dirrmtry are now considered as deprecated) - root/wheel are now considered as the default user/group when creating a package except @owner/@group are used to change that behaviour - Import newer version of libucl which improves error messages in case of problem parsing manifest or configuration files - Fix pkg register so it checks for conflicts before actually copying files on to the filesystem - pkg now support a new no_provide_lib annotation to preventing automatic populating of provided libs (useful for packages bundling libraries like wine) - Improve documentations - Ability to select usage of IPv4/IPv6 via config, repository config or command line - Lots of bug fixes Side effects: - Convert to install-mtree target into a no-op target Add empty directories to plist of ports that needs them to run: - share/aclocal to devel/automake and devel/automake14 - share/applications to devel/desktop-file-utils - share/xml share/sgml to textproc/xmlcatmgr - Prevent check-plist to issue warnings about some @dir* - Adjist check_leftovers.sh to not take in account anything related to mtree - Bump the default required version of pkg to 1.3.8
Diffstat (limited to 'Mk')
-rw-r--r--Mk/Scripts/check-stagedir.sh7
-rw-r--r--Mk/Scripts/check_leftovers.sh2
-rw-r--r--Mk/bsd.port.mk37
3 files changed, 8 insertions, 38 deletions
diff --git a/Mk/Scripts/check-stagedir.sh b/Mk/Scripts/check-stagedir.sh
index 1c10b3944059..1594b046eddd 100644
--- a/Mk/Scripts/check-stagedir.sh
+++ b/Mk/Scripts/check-stagedir.sh
@@ -54,14 +54,15 @@ parse_plist() {
| sed -Ee 's/^@\([^)]*\)[[:space:]]+//' \
-e 's/^(@[[:alpha:]]+)\([^)]*\)[[:space:]]+/\1 /')"
case $line in
- @dirrm*|'@unexec rmdir'*|'@unexec /bin/rmdir'*)
+ @dir*|'@unexec rmdir'*|'@unexec /bin/rmdir'*)
line="$(printf %s "$line" \
| sed -Ee 's/\|\|.*//;s|[[:space:]]+[0-9]*[[:space:]]*>[&]?[[:space:]]*[^[:space:]]+||g' \
-e "/^@unexec[[:space:]]+(\/bin\/)?rmdir( -p)?/s|([^%])%D([^%])|\1${cwd}\2|g" \
-e '/^@unexec[[:space:]]+(\/bin\/)?rmdir( -p)?/s|"(.*)"[[:space:]]*|\1|g' \
-e 's/@unexec[[:space:]]+(\/bin\/)?rmdir( -p)?[[:space:]]+//' \
- -e 's/@dirrm(try)?[[:space:]]+//' \
+ -e 's/@dir(rm|rmtry)?[[:space:]]+//' \
-e 's/[[:space:]]+$//')"
+ continue
case "$line" in
/*) echo >&3 "${comment}${line%/}" ;;
*) echo >&3 "${comment}${cwd}/${line%/}" ;;
@@ -288,6 +289,7 @@ check_orphans_from_plist() {
# Handle whitelisting
while read path; do
case "${path}" in
+ '@dirrmtry '[^/]*) ;;
*.bak) ;;
*.orig) ;;
*/.DS_Store) ;;
@@ -467,7 +469,6 @@ check_orphans_from_plist || ret=1
sort -u ${WRKDIR}/.plist-dirs-unsorted-no-comments \
>${WRKDIR}/.plist-dirs-sorted-no-comments
-check_invalid_directories_mtree || ret=1
check_invalid_directories_from_dependencies || ret=1
check_missing_plist_items || ret=1
diff --git a/Mk/Scripts/check_leftovers.sh b/Mk/Scripts/check_leftovers.sh
index d060bf281198..ff3b6ce81731 100644
--- a/Mk/Scripts/check_leftovers.sh
+++ b/Mk/Scripts/check_leftovers.sh
@@ -89,7 +89,7 @@ while read modtype path extra; do
esac
# Don't show dirs already in plist (due to parents)
grep -qE \
- "^@(unexec rmdir \"?(%D/|${PREFIX})?${path#${PREFIX}/}[ \"]|dirrm(try)? ${path#${PREFIX}/}\$)" \
+ "^@(unexec rmdir \"?(%D/|${PREFIX})?${path#${PREFIX}/}[ \"]|dir(rm|rmtry)? ${path#${PREFIX}/}\$)" \
${tmpplist} && continue
fi
diff --git a/Mk/bsd.port.mk b/Mk/bsd.port.mk
index c560aea6de05..3dddbb2056ee 100644
--- a/Mk/bsd.port.mk
+++ b/Mk/bsd.port.mk
@@ -1099,7 +1099,7 @@ CO_ENV+= STAGEDIR=${STAGEDIR} \
PLIST_SUB_SED="${PLIST_SUB_SED}" \
PORT_OPTIONS="${PORT_OPTIONS}" \
PORTSDIR="${PORTSDIR}"
-MINIMAL_PKG_VERSION= 1.3.7
+MINIMAL_PKG_VERSION= 1.3.8
# make sure bmake treats -V as expected
.MAKE.EXPAND_VARIABLES= yes
@@ -3695,39 +3695,8 @@ check-umask:
.endif
.if !target(install-mtree)
-install-mtree: ${PREFIX}
- @if [ ${UID} != 0 ]; then \
- if [ -w ${PREFIX}/ ]; then \
- ${ECHO_MSG} "Warning: not superuser, you may get some errors during installation."; \
- else \
- ${ECHO_MSG} "Error: ${PREFIX}/ not writable."; \
- ${FALSE}; \
- fi; \
- fi
-.if !defined(NO_MTREE)
- @if [ ${UID} = 0 ]; then \
- if [ ! -f ${MTREE_FILE} ]; then \
- ${ECHO_MSG} "Error: mtree file \"${MTREE_FILE}\" is missing."; \
- ${ECHO_MSG} "Copy it from a suitable location (e.g., ${SRC_BASE}/etc/mtree) and try again."; \
- exit 1; \
- else \
- ${MTREE_CMD} ${MTREE_ARGS} ${PREFIX}/ >/dev/null; \
- if [ ${PREFIX} = ${LOCALBASE} -a "${MTREE_FILE_DEFAULT}" = "yes" ]; then \
- cd ${PREFIX}/share/nls; \
- for link in POSIX en_US.US-ASCII; \
- do \
- if [ x"`${READLINK_CMD} $${link}`" != x"C" ]; \
- then \
- ${LN} -shf C $${link}; \
- fi; \
- done; \
- fi; \
- fi; \
- else \
- ${ECHO_MSG} "Warning: not superuser, can't run mtree."; \
- ${ECHO_MSG} "You may want to become root and try again to ensure correct permissions."; \
- fi
-.endif
+install-mtree:
+ @${DO_NADA}
.endif
.if !target(install-ldconfig-file)