[pacman-dev] [PATCH] Add 'compress' compression format as an available option
Dan McGee
dan at archlinux.org
Thu Jul 14 16:38:03 EDT 2011
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 at archlinux.org>
---
This is about as random as it gets. Did notice we lack some consistency in our
doc/ directory regarding extension quoting, as you can see the two different
styles below (and a third in use elsewhere).
doc/makepkg.conf.5.txt | 3 ++-
doc/pacman.conf.5.txt | 11 ++++++-----
doc/repo-add.8.txt | 4 ++--
scripts/makepkg.sh.in | 2 ++
scripts/repo-add.sh.in | 1 +
5 files changed, 13 insertions(+), 8 deletions(-)
diff --git a/doc/makepkg.conf.5.txt b/doc/makepkg.conf.5.txt
index aa0174c..dce9b59 100644
--- a/doc/makepkg.conf.5.txt
+++ b/doc/makepkg.conf.5.txt
@@ -215,7 +215,8 @@ Options
**PKGEXT=**".pkg.tar.gz", **SRCEXT=**".src.tar.gz"::
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.
See Also
diff --git a/doc/pacman.conf.5.txt b/doc/pacman.conf.5.txt
index bdf0bc8..a28e00f 100644
--- a/doc/pacman.conf.5.txt
+++ b/doc/pacman.conf.5.txt
@@ -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
'/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
-the configuration file. That's it! Now configure your custom section in the
-configuration file as shown in the config example above. Pacman will now use your
-package repository. If you add new packages to the repository, remember to
-re-generate the database and use pacman's '\--refresh' option.
+'\{treename\}.db.tar.{ext}', where '\{treename\}' is the name of the section
+defined in the configuration file and '\{ext\}' is a valid compression type as
+documented in linkman:repo-add[8]. That's it! Now configure your custom section
+in the configuration file as shown in the config example above. Pacman will now
+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
linkman:repo-add[8].
diff --git a/doc/repo-add.8.txt b/doc/repo-add.8.txt
index 2de5be8..e03384f 100644
--- a/doc/repo-add.8.txt
+++ b/doc/repo-add.8.txt
@@ -31,8 +31,8 @@ can be specified on the command line.
A package database is a tar file, optionally compressed. Valid extensions are
``.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
-all parent directories must exist.
+``.tar.gz'', ``.tar.bz2'', ``.tar.xz'', or ``.tar.Z''. The file does not need
+to exist, but all parent directories must exist.
Common Options
diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in
index 1b132a9..5d9a382 100644
--- a/scripts/makepkg.sh.in
+++ b/scripts/makepkg.sh.in
@@ -1152,6 +1152,7 @@ create_package() {
*tar.gz) EXT=${PKGEXT%.gz} ;;
*tar.bz2) EXT=${PKGEXT%.bz2} ;;
*tar.xz) EXT=${PKGEXT%.xz} ;;
+ *tar.Z) EXT=${PKGEXT%.Z} ;;
*tar) EXT=${PKGEXT} ;;
*) warning "$(gettext "'%s' is not a valid archive extension.")" \
"$PKGEXT" ; EXT=$PKGEXT ;;
@@ -1174,6 +1175,7 @@ create_package() {
*tar.gz) gzip -c -f -n ;;
*tar.bz2) bzip2 -c -f ;;
*tar.xz) xz -c -z - ;;
+ *tar.Z) compress -c -f ;;
*tar) cat ;;
esac > "${pkg_file}" || ret=$?
diff --git a/scripts/repo-add.sh.in b/scripts/repo-add.sh.in
index 474e21d..19fe660 100644
--- a/scripts/repo-add.sh.in
+++ b/scripts/repo-add.sh.in
@@ -228,6 +228,7 @@ verify_repo_extension() {
*.@(db|files).tar.gz) TAR_OPT="z" ;;
*.@(db|files).tar.bz2) TAR_OPT="j" ;;
*.@(db|files).tar.xz) TAR_OPT="J" ;;
+ *.@(db|files).tar.Z) TAR_OPT="Z" ;;
*.@(db|files).tar) TAR_OPT="" ;;
*) error "$(gettext "'%s' does not have a valid archive extension.")" \
"$repofile"
--
1.7.6
More information about the pacman-dev
mailing list