Add 'compress' compression format as an available option

This adds the '.tar.Z' option to both repo-add and makepkg for no other
reason than "why not", and because bsdtar supports it natively with the
'-Z' flag. Also update the documentation accordingly.

Signed-off-by: Dan McGee <dan@archlinux.org>
This commit is contained in:
Dan McGee 2011-07-14 14:58:46 -05:00
parent 00628c7268
commit 36e48573ce
5 changed files with 13 additions and 8 deletions

View File

@ -215,7 +215,8 @@ Options
**PKGEXT=**".pkg.tar.gz", **SRCEXT=**".src.tar.gz":: **PKGEXT=**".pkg.tar.gz", **SRCEXT=**".src.tar.gz"::
Sets the compression used when making compiled or source packages. The Sets the compression used when making compiled or source packages. The
current valid suffixes are `.tar`, `.tar.gz`, `.tar,bz2` and `.tar.xz`. current valid suffixes are `.tar`, `.tar.gz`, `.tar,bz2`, `.tar.xz`, and
`.tar.Z`.
Do not touch these unless you know what you are doing. Do not touch these unless you know what you are doing.
See Also See Also

View File

@ -225,11 +225,12 @@ directory with these packages so pacman can find it when run with '\--refresh'.
The above command will generate a compressed database named The above command will generate a compressed database named
'/home/pkgs/custom.db.tar.gz'. Note that the database must be of the form '/home/pkgs/custom.db.tar.gz'. Note that the database must be of the form
'\{treename\}.db.tar.gz', where '\{treename\}' is the name of the section defined in '\{treename\}.db.tar.{ext}', where '\{treename\}' is the name of the section
the configuration file. That's it! Now configure your custom section in the defined in the configuration file and '\{ext\}' is a valid compression type as
configuration file as shown in the config example above. Pacman will now use your documented in linkman:repo-add[8]. That's it! Now configure your custom section
package repository. If you add new packages to the repository, remember to in the configuration file as shown in the config example above. Pacman will now
re-generate the database and use pacman's '\--refresh' option. use your package repository. If you add new packages to the repository,
remember to re-generate the database and use pacman's '\--refresh' option.
For more information on the repo-add command, see ``repo-add \--help'' or For more information on the repo-add command, see ``repo-add \--help'' or
linkman:repo-add[8]. linkman:repo-add[8].

View File

@ -31,8 +31,8 @@ can be specified on the command line.
A package database is a tar file, optionally compressed. Valid extensions are A package database is a tar file, optionally compressed. Valid extensions are
``.db'' or ``.files'' followed by an archive extension of ``.tar'', ``.db'' or ``.files'' followed by an archive extension of ``.tar'',
``.tar.gz'', ``.tar.bz2'', or ``.tar.xz''. The file does not need to exist, but ``.tar.gz'', ``.tar.bz2'', ``.tar.xz'', or ``.tar.Z''. The file does not need
all parent directories must exist. to exist, but all parent directories must exist.
Common Options Common Options

View File

@ -1152,6 +1152,7 @@ create_package() {
*tar.gz) EXT=${PKGEXT%.gz} ;; *tar.gz) EXT=${PKGEXT%.gz} ;;
*tar.bz2) EXT=${PKGEXT%.bz2} ;; *tar.bz2) EXT=${PKGEXT%.bz2} ;;
*tar.xz) EXT=${PKGEXT%.xz} ;; *tar.xz) EXT=${PKGEXT%.xz} ;;
*tar.Z) EXT=${PKGEXT%.Z} ;;
*tar) EXT=${PKGEXT} ;; *tar) EXT=${PKGEXT} ;;
*) warning "$(gettext "'%s' is not a valid archive extension.")" \ *) warning "$(gettext "'%s' is not a valid archive extension.")" \
"$PKGEXT" ; EXT=$PKGEXT ;; "$PKGEXT" ; EXT=$PKGEXT ;;
@ -1174,6 +1175,7 @@ create_package() {
*tar.gz) gzip -c -f -n ;; *tar.gz) gzip -c -f -n ;;
*tar.bz2) bzip2 -c -f ;; *tar.bz2) bzip2 -c -f ;;
*tar.xz) xz -c -z - ;; *tar.xz) xz -c -z - ;;
*tar.Z) compress -c -f ;;
*tar) cat ;; *tar) cat ;;
esac > "${pkg_file}" || ret=$? esac > "${pkg_file}" || ret=$?

View File

@ -228,6 +228,7 @@ verify_repo_extension() {
*.@(db|files).tar.gz) TAR_OPT="z" ;; *.@(db|files).tar.gz) TAR_OPT="z" ;;
*.@(db|files).tar.bz2) TAR_OPT="j" ;; *.@(db|files).tar.bz2) TAR_OPT="j" ;;
*.@(db|files).tar.xz) TAR_OPT="J" ;; *.@(db|files).tar.xz) TAR_OPT="J" ;;
*.@(db|files).tar.Z) TAR_OPT="Z" ;;
*.@(db|files).tar) TAR_OPT="" ;; *.@(db|files).tar) TAR_OPT="" ;;
*) error "$(gettext "'%s' does not have a valid archive extension.")" \ *) error "$(gettext "'%s' does not have a valid archive extension.")" \
"$repofile" "$repofile"