diff options
author | se <se@FreeBSD.org> | 2018-01-02 22:03:35 +0800 |
---|---|---|
committer | se <se@FreeBSD.org> | 2018-01-02 22:03:35 +0800 |
commit | 846b0826d7d9b95d5fb9de9fcc20101cadb32f91 (patch) | |
tree | 7190be082df32e8d128c4ad1805796cc425c2fed /ports-mgmt | |
parent | f722afa5bab3995cfeeca58eb6644d0914cc341b (diff) | |
download | freebsd-ports-gnome-846b0826d7d9b95d5fb9de9fcc20101cadb32f91.tar.gz freebsd-ports-gnome-846b0826d7d9b95d5fb9de9fcc20101cadb32f91.tar.zst freebsd-ports-gnome-846b0826d7d9b95d5fb9de9fcc20101cadb32f91.zip |
Add --backup-format=<fmt> option to allow faster creation of package
backups with no or less compression than the default of "txz" provides.
Support for different archive format for packages in general could be
provided, but not added at this time, since I'm not convinced that this
would be a useful feature (please let me know, if you disagree ...).
Approved by: antoine (implicit)
Diffstat (limited to 'ports-mgmt')
-rw-r--r-- | ports-mgmt/portmaster/files/patch-files_portmaster.8 | 21 | ||||
-rw-r--r-- | ports-mgmt/portmaster/files/patch-portmaster | 67 |
2 files changed, 80 insertions, 8 deletions
diff --git a/ports-mgmt/portmaster/files/patch-files_portmaster.8 b/ports-mgmt/portmaster/files/patch-files_portmaster.8 new file mode 100644 index 000000000000..945784649e8e --- /dev/null +++ b/ports-mgmt/portmaster/files/patch-files_portmaster.8 @@ -0,0 +1,21 @@ +--- files/portmaster.8.orig 2017-12-21 09:02:44 UTC ++++ files/portmaster.8 +@@ -37,6 +37,7 @@ Common Flags: + .Op Fl -packages-if-newer + .Op Fl -delete-build-only + .Op Fl -always-fetch ++.Op Fl -backup-format=<fmt> + .Op Fl -local-packagedir=<path> + .Op Fl -packages-local + .Op Fl -delete-packages +@@ -415,6 +416,10 @@ use package if newer than installed even if the packag + the latest according to the ports tree + .It Fl -always-fetch + fetch package even if it already exists locally ++.It Fl -backup-format=<fmt> ++the archive format to use for backlup packages instead of the default of txz, ++which can take a long time for large packages. ++Supported formats are: tar, tgz, tbz, and txz (from fastest to slowest). + .It Fl -local-packagedir=<path> + where local packages can be found, + will fall back to fetching if no local version exists. diff --git a/ports-mgmt/portmaster/files/patch-portmaster b/ports-mgmt/portmaster/files/patch-portmaster index 21c5be5b606a..65fd4d93ca81 100644 --- a/ports-mgmt/portmaster/files/patch-portmaster +++ b/ports-mgmt/portmaster/files/patch-portmaster @@ -1,5 +1,14 @@ --- portmaster.orig 2017-12-21 09:02:44 UTC +++ portmaster +@@ -51,7 +51,7 @@ fi + #=============== Begin functions we always want to have =============== + + version () { +- local pkgname="%%PKGNAME%%" ++ local pkgname="portmaster-3.18_4" + echo '' ; echo "===>>> Version ${pkgname##*-}" + #svn='$FreeBSD: user/dougb/portmaster/portmaster 241090 2012-10-01 08:32:05Z dougb $' + } @@ -113,13 +113,13 @@ kill_bad_children () { [ "$pid" -gt 25 ] || continue case "$ppid" in @@ -16,7 +25,49 @@ *'make -DBATCH checksum'*|*'/fetch '*|\[sh\]) pm_kill $pid ;; esac ;; esac -@@ -1616,15 +1616,14 @@ pm_pkg_create () { +@@ -412,7 +412,7 @@ usage () { + echo " [[[--packages|-P]|[--packages-only|-PP]] | [--packages-build]]" + echo " [--packages-if-newer] [--delete-build-only] [--always-fetch]" + echo " [--local-packagedir=<path>] [--packages-local] [--delete-packages]" +- echo " [--no-confirm] [--no-term-title] [--no-index-fetch]" ++ echo " [--backup-format=<fmt>] [--no-confirm] [--no-term-title] [--no-index-fetch]" + echo " [--index|--index-first|--index-only] [-m <arguments for make>]" + echo " [-x <glob pattern to exclude from building>]" + echo "$progname [Common flags] <full name of port directory in $pdb>" +@@ -653,6 +653,8 @@ for var in "$@" ; do + export LOCAL_PACKAGEDIR ;; + --delete-packages) PM_DELETE_PACKAGES=pm_delete_packages + export PM_DELETE_PACKAGES ;; ++ --backup-format=*) BACKUP_FORMAT=${var#--backup-format=} ++ export BACKUP_FORMAT ;; + # --flavor=*) PM_FLAVOR=${var#--flavor=} ;; + --update-if-newer) PM_UPDATE_IF_NEWER=pm_update_if_newer + export PM_UPDATE_IF_NEWER ;; +@@ -1589,7 +1591,7 @@ init_packages () { + } + + pm_pkg_create () { +- local pkgdir backup ++ local pkgdir backup format_option + + init_packages + +@@ -1602,12 +1604,13 @@ pm_pkg_create () { + echo "===>>> Creating a package for new version $2" + else + pkgdir=$1 ; echo '' ++ format_option=${BACKUP_FORMAT:+-f $BACKUP_FORMAT} + echo "===>>> Creating a backup package for old version $2" + backup=backup + fi + + pm_cd $pkgdir || fail "Cannot cd into $pkgdir to create a package" +- if $PM_SU_CMD pkg create $2; then ++ if $PM_SU_CMD pkg create $format_option $2; then + if [ "$1" = "$pbu" ]; then + if [ -n "$BACKUP" ]; then + echo " ===>>> Package saved to $1" ; echo '' +@@ -1616,15 +1619,14 @@ pm_pkg_create () { NB_DELETE="${NB_DELETE}${pkg} " fi elif [ "$1" = "$PACKAGES" ]; then @@ -36,7 +87,7 @@ fi cd ${1}/${portdir%/*} -@@ -1665,7 +1664,7 @@ find_dl_distfiles () { +@@ -1665,7 +1667,7 @@ find_dl_distfiles () { else # Old method, for now if pm_cd $pd/$1; then @@ -45,7 +96,7 @@ dist_list="${dist_list%options}distfiles" else # The port might have moved, etc.; so take a stab at it, -@@ -1803,6 +1802,7 @@ set_distfiles_and_subdir () { +@@ -1803,6 +1805,7 @@ set_distfiles_and_subdir () { } delete_stale_distfiles () { @@ -53,7 +104,7 @@ # Global: distfiles_checked local file answer -@@ -1849,6 +1849,7 @@ delete_stale_distfiles () { +@@ -1849,6 +1852,7 @@ delete_stale_distfiles () { } delete_all_distfiles () { @@ -61,7 +112,7 @@ # Global: delete_all DISTDIR local origin rc delete_current -@@ -2264,12 +2265,14 @@ make_dep_list () { +@@ -2264,12 +2268,14 @@ make_dep_list () { for dep_type in $*; do case $dep_type in @@ -81,7 +132,7 @@ *) fail "make_dep_list: Unsupported option '$dep_type'" esac -@@ -3302,7 +3305,7 @@ pm_cd_pd $portdir +@@ -3302,7 +3308,7 @@ pm_cd_pd $portdir if [ -n "$PM_BUILD_ONLY_LIST" ]; then case "$build_only_dl_g" in @@ -90,7 +141,7 @@ [ -n "$PM_PACKAGES_BUILD" ] && PM_PACKAGES_BUILD=doing_build_only_dep [ -n "$PM_DEL_BUILD_ONLY" ] && PM_DEL_BUILD_ONLY=doing_build_only_dep ;; *) [ -n "$PM_PACKAGES_BUILD" ] && PM_PACKAGES_BUILD=pmp_build -@@ -3402,31 +3405,19 @@ fetch_package () { +@@ -3402,31 +3408,19 @@ fetch_package () { } if [ -z "$PACKAGESITE" -a -z "$PM_PACKAGES_LOCAL" ]; then release=`uname -r` @@ -127,7 +178,7 @@ echo "===>>> Checking package repository for latest available version" -@@ -3437,11 +3428,12 @@ fetch_package () { +@@ -3437,11 +3431,12 @@ fetch_package () { latest_pv=${local_package##*/} fi if [ -z "$latest_pv" -a -z "$PM_INDEX_ONLY" ]; then |