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
This commit is contained in:
Baptiste Daroussin 2014-09-22 05:47:32 +00:00
parent 7f5e124b4d
commit 6423d85837
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=368803
10 changed files with 18 additions and 51 deletions

View File

@ -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

View File

@ -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

View File

@ -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)

View File

@ -114,6 +114,7 @@ share/automake-%%BUILD_VERSION%%/tap-driver.sh
share/automake-%%BUILD_VERSION%%/test-driver
share/automake-%%BUILD_VERSION%%/texinfo.tex
share/automake-%%BUILD_VERSION%%/ylwrap
@dir share/aclocal
@dirrm share/aclocal-%%BUILD_VERSION%%/internal
@dirrm share/aclocal-%%BUILD_VERSION%%
@dirrm share/automake-%%BUILD_VERSION%%/Automake

View File

@ -75,5 +75,6 @@ share/automake-%%BUILD_VERSION%%/texi-vers.am
share/automake-%%BUILD_VERSION%%/texinfo.tex
share/automake-%%BUILD_VERSION%%/texinfos.am
share/automake-%%BUILD_VERSION%%/ylwrap
@dir share/aclocal
@dirrm share/aclocal-%%BUILD_VERSION%%
@dirrm share/automake-%%BUILD_VERSION%%

View File

@ -7,3 +7,4 @@ man/man1/desktop-file-install.1.gz
man/man1/desktop-file-validate.1.gz
man/man1/update-desktop-database.1.gz
share/emacs/site-lisp/desktop-entry-mode.el
@dir share/applications

View File

@ -1,13 +1,13 @@
# $FreeBSD$
PORTNAME= pkg
DISTVERSION= 1.3.7
DISTVERSION= 1.3.8
_PKG_VERSION= ${DISTVERSION}
CATEGORIES= ports-mgmt
MASTER_SITES= \
http://mirror.shatow.net/freebsd/${PORTNAME}/ \
LOCAL/portmgr \
http://files.etoilebsd.net/${PORTNAME}/ \
http://mirror.shatow.net/freebsd/${PORTNAME}/ \
MAINTAINER= portmgr@FreeBSD.org
COMMENT= Package manager

View File

@ -1,2 +1,2 @@
SHA256 (pkg-1.3.7.tar.xz) = 4368adae7c768ef38f0359e091efd8f13759e0a2be2e5cd9dba5b4cf359fb004
SIZE (pkg-1.3.7.tar.xz) = 1776756
SHA256 (pkg-1.3.8.tar.xz) = 06036f0bd0019d7a5b553272e665f060c44f6d8c1b61c5def67a5d9e24ead773
SIZE (pkg-1.3.8.tar.xz) = 1786712

View File

@ -53,10 +53,3 @@ sbin/pkg
sbin/pkg-static
sbin/pkg2ng
share/zsh/site-functions/_pkg
@dirrmtry etc/bash_completion.d
@dirrmtry etc/periodic/daily
@dirrmtry etc/periodic/security
@dirrmtry etc/periodic/weekly
@dirrmtry etc/periodic
@dirrmtry share/zsh/site-functions
@dirrmtry share/zsh

View File

@ -2,6 +2,7 @@
PORTNAME= xmlcatmgr
PORTVERSION= 2.2
PORTREVISION= 1
CATEGORIES= textproc
MASTER_SITES= SF
@ -25,10 +26,10 @@ SUB_LIST= XMLCATMGR=${XMLCATMGR} \
CATALOG_PORTS_SGML=${CATALOG_PORTS_SGML} \
CATALOG_PORTS_XML=${CATALOG_PORTS_XML}
PLIST_FILES= bin/xmlcatmgr man/man1/xmlcatmgr.1.gz
PLIST_DIRS= share/xml share/sgml
PORTDOCS= AUTHORS COPYING NEWS README TODO
XMLCATMGR?= ${PREFIX}/bin/xmlcatmgr
CATALOG_MASTER_SGML?= ${PREFIX}/share/sgml/catalog
XMLCATMGR?= ${PREFIX}/bin/xmlcatmgrCATALOG_MASTER_SGML?= ${PREFIX}/share/sgml/catalog
CATALOG_PORTS_SGML?= ${PREFIX}/share/sgml/catalog.ports
CATALOG_MASTER_XML?= ${PREFIX}/share/xml/catalog
CATALOG_PORTS_XML?= ${PREFIX}/share/xml/catalog.ports