libarchive-2.8.3: Build fix for Linux

This commit is contained in:
joerg 2010-03-16 17:05:42 +00:00
parent 1360c7b7c8
commit 2f4361fa76
54 changed files with 9422 additions and 15839 deletions

View file

@ -1,10 +1,9 @@
#! /bin/sh #! /bin/sh
# Wrapper for compilers which do not understand `-c -o'. # Wrapper for compilers which do not understand `-c -o'.
scriptversion=2009-10-06.20; # UTC scriptversion=2005-05-14.22
# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2009 Free Software # Copyright (C) 1999, 2000, 2003, 2004, 2005 Free Software Foundation, Inc.
# Foundation, Inc.
# Written by Tom Tromey <tromey@cygnus.com>. # Written by Tom Tromey <tromey@cygnus.com>.
# #
# This program is free software; you can redistribute it and/or modify # This program is free software; you can redistribute it and/or modify
@ -18,7 +17,8 @@ scriptversion=2009-10-06.20; # UTC
# GNU General Public License for more details. # GNU General Public License for more details.
# #
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>. # along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
# As a special exception to the GNU General Public License, if you # As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a # distribute this file as part of a program that contains a
@ -103,13 +103,13 @@ if test -z "$ofile" || test -z "$cfile"; then
fi fi
# Name of file we expect compiler to create. # Name of file we expect compiler to create.
cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'` cofile=`echo "$cfile" | sed -e 's|^.*/||' -e 's/\.c$/.o/'`
# Create the lock directory. # Create the lock directory.
# Note: use `[/\\:.-]' here to ensure that we don't use the same name # Note: use `[/.-]' here to ensure that we don't use the same name
# that we are using for the .o file. Also, base the name on the expected # that we are using for the .o file. Also, base the name on the expected
# object file name, since that is what matters with a parallel build. # object file name, since that is what matters with a parallel build.
lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d lockdir=`echo "$cofile" | sed -e 's|[/.-]|_|g'`.d
while true; do while true; do
if mkdir "$lockdir" >/dev/null 2>&1; then if mkdir "$lockdir" >/dev/null 2>&1; then
break break
@ -124,9 +124,9 @@ trap "rmdir '$lockdir'; exit 1" 1 2 15
ret=$? ret=$?
if test -f "$cofile"; then if test -f "$cofile"; then
test "$cofile" = "$ofile" || mv "$cofile" "$ofile" mv "$cofile" "$ofile"
elif test -f "${cofile}bj"; then elif test -f "${cofile}bj"; then
test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile" mv "${cofile}bj" "$ofile"
fi fi
rmdir "$lockdir" rmdir "$lockdir"
@ -138,6 +138,5 @@ exit $ret
# eval: (add-hook 'write-file-hooks 'time-stamp) # eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion=" # time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-time-zone: "UTC" # time-stamp-end: "$"
# time-stamp-end: "; # UTC"
# End: # End:

File diff suppressed because it is too large Load diff

View file

@ -1,10 +1,9 @@
#! /bin/sh #! /bin/sh
# Configuration validation subroutine script. # Configuration validation subroutine script.
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 # 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
# Free Software Foundation, Inc.
timestamp='2009-12-31' timestamp='2003-07-04'
# This file is (in principle) common to ALL GNU software. # This file is (in principle) common to ALL GNU software.
# The presence of a machine in this file suggests that SOME GNU software # The presence of a machine in this file suggests that SOME GNU software
@ -22,26 +21,22 @@ timestamp='2009-12-31'
# #
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software # along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA # Foundation, Inc., 59 Temple Place - Suite 330,
# 02110-1301, USA. # Boston, MA 02111-1307, USA.
#
# As a special exception to the GNU General Public License, if you # As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a # distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under # configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program. # the same distribution terms that you use for the rest of that program.
# Please send patches to <config-patches@gnu.org>. Submit a context # Please send patches to <config-patches@gnu.org>. Submit a context
# diff and a properly formatted GNU ChangeLog entry. # diff and a properly formatted ChangeLog entry.
# #
# Configuration subroutine to validate and canonicalize a configuration type. # Configuration subroutine to validate and canonicalize a configuration type.
# Supply the specified configuration type as an argument. # Supply the specified configuration type as an argument.
# If it is invalid, we print an error message on stderr and exit with code 1. # If it is invalid, we print an error message on stderr and exit with code 1.
# Otherwise, we print the canonical config type on stdout and succeed. # Otherwise, we print the canonical config type on stdout and succeed.
# You can get the latest version of this script from:
# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
# This file is supposed to be the same for all GNU packages # This file is supposed to be the same for all GNU packages
# and recognize all the CPU types, system types and aliases # and recognize all the CPU types, system types and aliases
# that are meaningful with *any* GNU software. # that are meaningful with *any* GNU software.
@ -75,9 +70,8 @@ Report bugs and patches to <config-patches@gnu.org>."
version="\ version="\
GNU config.sub ($timestamp) GNU config.sub ($timestamp)
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Free Software Foundation, Inc.
Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@ -89,11 +83,11 @@ Try \`$me --help' for more information."
while test $# -gt 0 ; do while test $# -gt 0 ; do
case $1 in case $1 in
--time-stamp | --time* | -t ) --time-stamp | --time* | -t )
echo "$timestamp" ; exit ;; echo "$timestamp" ; exit 0 ;;
--version | -v ) --version | -v )
echo "$version" ; exit ;; echo "$version" ; exit 0 ;;
--help | --h* | -h ) --help | --h* | -h )
echo "$usage"; exit ;; echo "$usage"; exit 0 ;;
-- ) # Stop option processing -- ) # Stop option processing
shift; break ;; shift; break ;;
- ) # Use stdin as input. - ) # Use stdin as input.
@ -105,7 +99,7 @@ while test $# -gt 0 ; do
*local*) *local*)
# First pass through any local machine types. # First pass through any local machine types.
echo $1 echo $1
exit ;; exit 0;;
* ) * )
break ;; break ;;
@ -124,10 +118,7 @@ esac
# Here we must recognize all the valid KERNEL-OS combinations. # Here we must recognize all the valid KERNEL-OS combinations.
maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
case $maybe_os in case $maybe_os in
nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \ nto-qnx* | linux-gnu* | kfreebsd*-gnu* | netbsd*-gnu* | storm-chaos* | os2-emx* | rtmk-nova*)
uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \
kopensolaris*-gnu* | \
storm-chaos* | os2-emx* | rtmk-nova*)
os=-$maybe_os os=-$maybe_os
basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
;; ;;
@ -153,13 +144,10 @@ case $os in
-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
-apple | -axis | -knuth | -cray | -microblaze) -apple | -axis)
os= os=
basic_machine=$1 basic_machine=$1
;; ;;
-bluegene*)
os=-cnk
;;
-sim | -cisco | -oki | -wec | -winbond) -sim | -cisco | -oki | -wec | -winbond)
os= os=
basic_machine=$1 basic_machine=$1
@ -181,10 +169,6 @@ case $os in
-hiux*) -hiux*)
os=-hiuxwe2 os=-hiuxwe2
;; ;;
-sco6)
os=-sco5v6
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;;
-sco5) -sco5)
os=-sco3.2v5 os=-sco3.2v5
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
@ -201,10 +185,6 @@ case $os in
# Don't forget version if it is 3.2v4 or newer. # Don't forget version if it is 3.2v4 or newer.
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;; ;;
-sco5v6*)
# Don't forget version if it is 3.2v4 or newer.
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;;
-sco*) -sco*)
os=-sco3.2v2 os=-sco3.2v2
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
@ -248,71 +228,53 @@ case $basic_machine in
| a29k \ | a29k \
| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
| am33_2.0 \ | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \
| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
| bfin \
| c4x | clipper \ | c4x | clipper \
| d10v | d30v | dlx | dsp16xx \ | d10v | d30v | dlx | dsp16xx \
| fido | fr30 | frv \ | fr30 | frv \
| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
| i370 | i860 | i960 | ia64 \ | i370 | i860 | i960 | ia64 \
| ip2k | iq2000 \ | ip2k \
| lm32 \ | m32r | m68000 | m68k | m88k | mcore \
| m32c | m32r | m32rle | m68000 | m68k | m88k \
| maxq | mb | microblaze | mcore | mep | metag \
| mips | mipsbe | mipseb | mipsel | mipsle \ | mips | mipsbe | mipseb | mipsel | mipsle \
| mips16 \ | mips16 \
| mips64 | mips64el \ | mips64 | mips64el \
| mips64octeon | mips64octeonel \
| mips64orion | mips64orionel \
| mips64r5900 | mips64r5900el \
| mips64vr | mips64vrel \ | mips64vr | mips64vrel \
| mips64orion | mips64orionel \
| mips64vr4100 | mips64vr4100el \ | mips64vr4100 | mips64vr4100el \
| mips64vr4300 | mips64vr4300el \ | mips64vr4300 | mips64vr4300el \
| mips64vr5000 | mips64vr5000el \ | mips64vr5000 | mips64vr5000el \
| mips64vr5900 | mips64vr5900el \
| mipsisa32 | mipsisa32el \ | mipsisa32 | mipsisa32el \
| mipsisa32r2 | mipsisa32r2el \ | mipsisa32r2 | mipsisa32r2el \
| mipsisa64 | mipsisa64el \ | mipsisa64 | mipsisa64el \
| mipsisa64r2 | mipsisa64r2el \
| mipsisa64sb1 | mipsisa64sb1el \ | mipsisa64sb1 | mipsisa64sb1el \
| mipsisa64sr71k | mipsisa64sr71kel \ | mipsisa64sr71k | mipsisa64sr71kel \
| mipstx39 | mipstx39el \ | mipstx39 | mipstx39el \
| mn10200 | mn10300 \ | mn10200 | mn10300 \
| moxie \
| mt \
| msp430 \ | msp430 \
| nios | nios2 \
| ns16k | ns32k \ | ns16k | ns32k \
| or32 \ | openrisc | or32 \
| pdp10 | pdp11 | pj | pjl \ | pdp10 | pdp11 | pj | pjl \
| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
| pyramid \ | pyramid \
| rx \ | sh | sh[1234] | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \
| score \
| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
| sh64 | sh64le \ | sh64 | sh64le \
| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ | sparc | sparc64 | sparc86x | sparclet | sparclite | sparcv9 | sparcv9b \
| sparcv8 | sparcv9 | sparcv9b | sparcv9v \ | strongarm \
| spu | strongarm \
| tahoe | thumb | tic4x | tic80 | tron \ | tahoe | thumb | tic4x | tic80 | tron \
| ubicom32 \
| v850 | v850e \ | v850 | v850e \
| we32k \ | we32k \
| x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \ | x86 | xscale | xstormy16 | xtensa \
| z8k | z80) | z8k)
basic_machine=$basic_machine-unknown basic_machine=$basic_machine-unknown
;; ;;
m6811 | m68hc11 | m6812 | m68hc12 | picochip) m6811 | m68hc11 | m6812 | m68hc12)
# Motorola 68HC11/12. # Motorola 68HC11/12.
basic_machine=$basic_machine-unknown basic_machine=$basic_machine-unknown
os=-none os=-none
;; ;;
m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
;; ;;
ms1)
basic_machine=mt-unknown
;;
# We use `pc' rather than `unknown' # We use `pc' rather than `unknown'
# because (1) that's what they normally are, and # because (1) that's what they normally are, and
@ -330,70 +292,56 @@ case $basic_machine in
| a29k-* \ | a29k-* \
| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ | alphapca5[67]-* | alpha64pca5[67]-* | amd64-* | arc-* \
| arm-* | armbe-* | armle-* | armeb-* | armv*-* \ | arm-* | armbe-* | armle-* | armeb-* | armv*-* \
| avr-* | avr32-* \ | avr-* \
| bfin-* | bs2000-* \ | bs2000-* \
| c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \ | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
| clipper-* | craynv-* | cydra-* \ | clipper-* | cydra-* \
| d10v-* | d30v-* | dlx-* \ | d10v-* | d30v-* | dlx-* \
| elxsi-* \ | elxsi-* \
| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ | f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \
| h8300-* | h8500-* \ | h8300-* | h8500-* \
| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
| i*86-* | i860-* | i960-* | ia64-* \ | i*86-* | i860-* | i960-* | ia64-* \
| ip2k-* | iq2000-* \ | ip2k-* \
| lm32-* \ | m32r-* \
| m32c-* | m32r-* | m32rle-* \
| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
| m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \ | m88110-* | m88k-* | mcore-* \
| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
| mips16-* \ | mips16-* \
| mips64-* | mips64el-* \ | mips64-* | mips64el-* \
| mips64octeon-* | mips64octeonel-* \
| mips64orion-* | mips64orionel-* \
| mips64r5900-* | mips64r5900el-* \
| mips64vr-* | mips64vrel-* \ | mips64vr-* | mips64vrel-* \
| mips64orion-* | mips64orionel-* \
| mips64vr4100-* | mips64vr4100el-* \ | mips64vr4100-* | mips64vr4100el-* \
| mips64vr4300-* | mips64vr4300el-* \ | mips64vr4300-* | mips64vr4300el-* \
| mips64vr5000-* | mips64vr5000el-* \ | mips64vr5000-* | mips64vr5000el-* \
| mips64vr5900-* | mips64vr5900el-* \
| mipsisa32-* | mipsisa32el-* \ | mipsisa32-* | mipsisa32el-* \
| mipsisa32r2-* | mipsisa32r2el-* \ | mipsisa32r2-* | mipsisa32r2el-* \
| mipsisa64-* | mipsisa64el-* \ | mipsisa64-* | mipsisa64el-* \
| mipsisa64r2-* | mipsisa64r2el-* \
| mipsisa64sb1-* | mipsisa64sb1el-* \ | mipsisa64sb1-* | mipsisa64sb1el-* \
| mipsisa64sr71k-* | mipsisa64sr71kel-* \ | mipsisa64sr71k-* | mipsisa64sr71kel-* \
| mipstx39-* | mipstx39el-* \ | mipstx39-* | mipstx39el-* \
| mmix-* \
| mt-* \
| msp430-* \ | msp430-* \
| nios-* | nios2-* \ | none-* | np1-* | nv1-* | ns16k-* | ns32k-* \
| none-* | np1-* | ns16k-* | ns32k-* \
| orion-* \ | orion-* \
| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
| pyramid-* \ | pyramid-* \
| romp-* | rs6000-* | rx-* \ | romp-* | rs6000-* \
| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ | sh-* | sh[1234]-* | sh[23]e-* | sh[34]eb-* | shbe-* \
| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ | sparc-* | sparc64-* | sparc86x-* | sparclet-* | sparclite-* \
| sparclite-* \ | sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \
| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
| tahoe-* | thumb-* \ | tahoe-* | thumb-* \
| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* | tile-* \ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
| tron-* \ | tron-* \
| ubicom32-* \
| v850-* | v850e-* | vax-* \ | v850-* | v850e-* | vax-* \
| we32k-* \ | we32k-* \
| x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \ | x86-* | x86_64-* | xps100-* | xscale-* | xstormy16-* \
| xstormy16-* | xtensa*-* \ | xtensa-* \
| ymp-* \ | ymp-* \
| z8k-* | z80-*) | z8k-*)
;;
# Recognize the basic CPU types without company name, with glob match.
xtensa*)
basic_machine=$basic_machine-unknown
;; ;;
# Recognize the various machine names and aliases which stand # Recognize the various machine names and aliases which stand
# for a CPU type and a company and sometimes even an OS. # for a CPU type and a company and sometimes even an OS.
@ -411,9 +359,6 @@ case $basic_machine in
basic_machine=a29k-amd basic_machine=a29k-amd
os=-udi os=-udi
;; ;;
abacus)
basic_machine=abacus-unknown
;;
adobe68k) adobe68k)
basic_machine=m68010-adobe basic_machine=m68010-adobe
os=-scout os=-scout
@ -431,9 +376,6 @@ case $basic_machine in
amd64) amd64)
basic_machine=x86_64-pc basic_machine=x86_64-pc
;; ;;
amd64-*)
basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
amdahl) amdahl)
basic_machine=580-amdahl basic_machine=580-amdahl
os=-sysv os=-sysv
@ -457,10 +399,6 @@ case $basic_machine in
basic_machine=m68k-apollo basic_machine=m68k-apollo
os=-bsd os=-bsd
;; ;;
aros)
basic_machine=i386-pc
os=-aros
;;
aux) aux)
basic_machine=m68k-apple basic_machine=m68k-apple
os=-aux os=-aux
@ -469,26 +407,10 @@ case $basic_machine in
basic_machine=ns32k-sequent basic_machine=ns32k-sequent
os=-dynix os=-dynix
;; ;;
blackfin)
basic_machine=bfin-unknown
os=-linux
;;
blackfin-*)
basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
os=-linux
;;
bluegene*)
basic_machine=powerpc-ibm
os=-cnk
;;
c90) c90)
basic_machine=c90-cray basic_machine=c90-cray
os=-unicos os=-unicos
;; ;;
cegcc)
basic_machine=arm-unknown
os=-cegcc
;;
convex-c1) convex-c1)
basic_machine=c1-convex basic_machine=c1-convex
os=-bsd os=-bsd
@ -513,27 +435,12 @@ case $basic_machine in
basic_machine=j90-cray basic_machine=j90-cray
os=-unicos os=-unicos
;; ;;
craynv)
basic_machine=craynv-cray
os=-unicosmp
;;
cr16)
basic_machine=cr16-unknown
os=-elf
;;
crds | unos) crds | unos)
basic_machine=m68k-crds basic_machine=m68k-crds
;; ;;
crisv32 | crisv32-* | etraxfs*)
basic_machine=crisv32-axis
;;
cris | cris-* | etrax*) cris | cris-* | etrax*)
basic_machine=cris-axis basic_machine=cris-axis
;; ;;
crx)
basic_machine=crx-unknown
os=-elf
;;
da30 | da30-*) da30 | da30-*)
basic_machine=m68k-da30 basic_machine=m68k-da30
;; ;;
@ -556,14 +463,6 @@ case $basic_machine in
basic_machine=m88k-motorola basic_machine=m88k-motorola
os=-sysv3 os=-sysv3
;; ;;
dicos)
basic_machine=i686-pc
os=-dicos
;;
djgpp)
basic_machine=i586-pc
os=-msdosdjgpp
;;
dpx20 | dpx20-*) dpx20 | dpx20-*)
basic_machine=rs6000-bull basic_machine=rs6000-bull
os=-bosx os=-bosx
@ -714,14 +613,6 @@ case $basic_machine in
basic_machine=m68k-isi basic_machine=m68k-isi
os=-sysv os=-sysv
;; ;;
m68knommu)
basic_machine=m68k-unknown
os=-linux
;;
m68knommu-*)
basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
os=-linux
;;
m88k-omron*) m88k-omron*)
basic_machine=m88k-omron basic_machine=m88k-omron
;; ;;
@ -733,17 +624,10 @@ case $basic_machine in
basic_machine=ns32k-utek basic_machine=ns32k-utek
os=-sysv os=-sysv
;; ;;
microblaze)
basic_machine=microblaze-xilinx
;;
mingw32) mingw32)
basic_machine=i386-pc basic_machine=i386-pc
os=-mingw32 os=-mingw32
;; ;;
mingw32ce)
basic_machine=arm-unknown
os=-mingw32ce
;;
miniframe) miniframe)
basic_machine=m68000-convergent basic_machine=m68000-convergent
;; ;;
@ -757,6 +641,10 @@ case $basic_machine in
mips3*) mips3*)
basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
;; ;;
mmix*)
basic_machine=mmix-knuth
os=-mmixware
;;
monitor) monitor)
basic_machine=m68k-rom68k basic_machine=m68k-rom68k
os=-coff os=-coff
@ -769,9 +657,6 @@ case $basic_machine in
basic_machine=i386-pc basic_machine=i386-pc
os=-msdos os=-msdos
;; ;;
ms1-*)
basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
;;
mvs) mvs)
basic_machine=i370-ibm basic_machine=i370-ibm
os=-mvs os=-mvs
@ -840,6 +725,10 @@ case $basic_machine in
np1) np1)
basic_machine=np1-gould basic_machine=np1-gould
;; ;;
nv1)
basic_machine=nv1-cray
os=-unicosmp
;;
nsr-tandem) nsr-tandem)
basic_machine=nsr-tandem basic_machine=nsr-tandem
;; ;;
@ -847,12 +736,9 @@ case $basic_machine in
basic_machine=hppa1.1-oki basic_machine=hppa1.1-oki
os=-proelf os=-proelf
;; ;;
openrisc | openrisc-*) or32 | or32-*)
basic_machine=or32-unknown basic_machine=or32-unknown
;; os=-coff
os400)
basic_machine=powerpc-ibm
os=-os400
;; ;;
OSE68000 | ose68000) OSE68000 | ose68000)
basic_machine=m68000-ericsson basic_machine=m68000-ericsson
@ -870,14 +756,6 @@ case $basic_machine in
basic_machine=i860-intel basic_machine=i860-intel
os=-osf os=-osf
;; ;;
parisc)
basic_machine=hppa-unknown
os=-linux
;;
parisc-*)
basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
os=-linux
;;
pbd) pbd)
basic_machine=sparc-tti basic_machine=sparc-tti
;; ;;
@ -887,12 +765,6 @@ case $basic_machine in
pc532 | pc532-*) pc532 | pc532-*)
basic_machine=ns32k-pc532 basic_machine=ns32k-pc532
;; ;;
pc98)
basic_machine=i386-pc
;;
pc98-*)
basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
pentium | p5 | k5 | k6 | nexgen | viac3) pentium | p5 | k5 | k6 | nexgen | viac3)
basic_machine=i586-pc basic_machine=i586-pc
;; ;;
@ -949,10 +821,6 @@ case $basic_machine in
basic_machine=i586-unknown basic_machine=i586-unknown
os=-pw32 os=-pw32
;; ;;
rdos)
basic_machine=i386-pc
os=-rdos
;;
rom68k) rom68k)
basic_machine=m68k-rom68k basic_machine=m68k-rom68k
os=-coff os=-coff
@ -979,10 +847,6 @@ case $basic_machine in
sb1el) sb1el)
basic_machine=mipsisa64sb1el-unknown basic_machine=mipsisa64sb1el-unknown
;; ;;
sde)
basic_machine=mipsisa32-sde
os=-elf
;;
sei) sei)
basic_machine=mips-sei basic_machine=mips-sei
os=-seiux os=-seiux
@ -994,9 +858,6 @@ case $basic_machine in
basic_machine=sh-hitachi basic_machine=sh-hitachi
os=-hms os=-hms
;; ;;
sh5el)
basic_machine=sh5le-unknown
;;
sh64) sh64)
basic_machine=sh64-unknown basic_machine=sh64-unknown
;; ;;
@ -1086,10 +947,6 @@ case $basic_machine in
basic_machine=tic6x-unknown basic_machine=tic6x-unknown
os=-coff os=-coff
;; ;;
tile*)
basic_machine=tile-unknown
os=-linux-gnu
;;
tx39) tx39)
basic_machine=mipstx39-unknown basic_machine=mipstx39-unknown
;; ;;
@ -1103,10 +960,6 @@ case $basic_machine in
tower | tower-32) tower | tower-32)
basic_machine=m68k-ncr basic_machine=m68k-ncr
;; ;;
tpf)
basic_machine=s390x-ibm
os=-tpf
;;
udi29k) udi29k)
basic_machine=a29k-amd basic_machine=a29k-amd
os=-udi os=-udi
@ -1150,10 +1003,6 @@ case $basic_machine in
basic_machine=hppa1.1-winbond basic_machine=hppa1.1-winbond
os=-proelf os=-proelf
;; ;;
xbox)
basic_machine=i686-pc
os=-mingw32
;;
xps | xps100) xps | xps100)
basic_machine=xps100-honeywell basic_machine=xps100-honeywell
;; ;;
@ -1165,10 +1014,6 @@ case $basic_machine in
basic_machine=z8k-unknown basic_machine=z8k-unknown
os=-sim os=-sim
;; ;;
z80-*-coff)
basic_machine=z80-unknown
os=-sim
;;
none) none)
basic_machine=none-none basic_machine=none-none
os=-none os=-none
@ -1188,9 +1033,6 @@ case $basic_machine in
romp) romp)
basic_machine=romp-ibm basic_machine=romp-ibm
;; ;;
mmix)
basic_machine=mmix-knuth
;;
rs6000) rs6000)
basic_machine=rs6000-ibm basic_machine=rs6000-ibm
;; ;;
@ -1207,10 +1049,13 @@ case $basic_machine in
we32k) we32k)
basic_machine=we32k-att basic_machine=we32k-att
;; ;;
sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) sh3 | sh4 | sh[34]eb | sh[1234]le | sh[23]ele)
basic_machine=sh-unknown basic_machine=sh-unknown
;; ;;
sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) sh64)
basic_machine=sh64-unknown
;;
sparc | sparcv9 | sparcv9b)
basic_machine=sparc-sun basic_machine=sparc-sun
;; ;;
cydra) cydra)
@ -1257,9 +1102,6 @@ case $os in
# First match some system type aliases # First match some system type aliases
# that might get confused with valid system types. # that might get confused with valid system types.
# -solaris* is a basic system type, with this one exception. # -solaris* is a basic system type, with this one exception.
-auroraux)
os=-auroraux
;;
-solaris1 | -solaris1.*) -solaris1 | -solaris1.*)
os=`echo $os | sed -e 's|solaris1|sunos4|'` os=`echo $os | sed -e 's|solaris1|sunos4|'`
;; ;;
@ -1280,30 +1122,25 @@ case $os in
# Each alternative MUST END IN A *, to match a version number. # Each alternative MUST END IN A *, to match a version number.
# -sysv* is not here because it comes later, after sysvr4. # -sysv* is not here because it comes later, after sysvr4.
-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
| -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\
| -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
| -sym* | -kopensolaris* \
| -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
| -aos* | -aros* \ | -aos* \
| -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
| -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
| -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ | -hiux* | -386bsd* | -netbsd* | -openbsd* | -kfreebsd* | -freebsd* | -riscix* \
| -openbsd* | -solidbsd* \ | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
| -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
| -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
| -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
| -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
| -chorusos* | -chorusrdb* | -cegcc* \ | -chorusos* | -chorusrdb* \
| -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
| -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \ | -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \
| -uxpv* | -beos* | -mpeix* | -udk* \
| -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
| -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
| -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
| -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
| -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
| -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ | -powermax* | -dnix* | -nx6 | -nx7 | -sei*)
| -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
# Remember, each alternative MUST END IN *, to match a version number. # Remember, each alternative MUST END IN *, to match a version number.
;; ;;
-qnx*) -qnx*)
@ -1321,15 +1158,12 @@ case $os in
os=`echo $os | sed -e 's|nto|nto-qnx|'` os=`echo $os | sed -e 's|nto|nto-qnx|'`
;; ;;
-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
| -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ | -windows* | -osx | -abug | -netware* | -os9* | -beos* \
| -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
;; ;;
-mac*) -mac*)
os=`echo $os | sed -e 's|mac|macos|'` os=`echo $os | sed -e 's|mac|macos|'`
;; ;;
-linux-dietlibc)
os=-linux-dietlibc
;;
-linux*) -linux*)
os=`echo $os | sed -e 's|linux|linux-gnu|'` os=`echo $os | sed -e 's|linux|linux-gnu|'`
;; ;;
@ -1342,9 +1176,6 @@ case $os in
-opened*) -opened*)
os=-openedition os=-openedition
;; ;;
-os400*)
os=-os400
;;
-wince*) -wince*)
os=-wince os=-wince
;; ;;
@ -1366,9 +1197,6 @@ case $os in
-atheos*) -atheos*)
os=-atheos os=-atheos
;; ;;
-syllable*)
os=-syllable
;;
-386bsd) -386bsd)
os=-bsd os=-bsd
;; ;;
@ -1391,9 +1219,6 @@ case $os in
-sinix*) -sinix*)
os=-sysv4 os=-sysv4
;; ;;
-tpf*)
os=-tpf
;;
-triton*) -triton*)
os=-sysv3 os=-sysv3
;; ;;
@ -1430,14 +1255,6 @@ case $os in
-kaos*) -kaos*)
os=-kaos os=-kaos
;; ;;
-zvmoe)
os=-zvmoe
;;
-dicos*)
os=-dicos
;;
-nacl*)
;;
-none) -none)
;; ;;
*) *)
@ -1460,12 +1277,6 @@ else
# system, and we'll never get to this point. # system, and we'll never get to this point.
case $basic_machine in case $basic_machine in
score-*)
os=-elf
;;
spu-*)
os=-elf
;;
*-acorn) *-acorn)
os=-riscix1.2 os=-riscix1.2
;; ;;
@ -1475,9 +1286,9 @@ case $basic_machine in
arm*-semi) arm*-semi)
os=-aout os=-aout
;; ;;
c4x-* | tic4x-*) c4x-* | tic4x-*)
os=-coff os=-coff
;; ;;
# This must come before the *-dec entry. # This must come before the *-dec entry.
pdp10-*) pdp10-*)
os=-tops20 os=-tops20
@ -1503,9 +1314,6 @@ case $basic_machine in
m68*-cisco) m68*-cisco)
os=-aout os=-aout
;; ;;
mep-*)
os=-elf
;;
mips*-cisco) mips*-cisco)
os=-elf os=-elf
;; ;;
@ -1524,15 +1332,9 @@ case $basic_machine in
*-be) *-be)
os=-beos os=-beos
;; ;;
*-haiku)
os=-haiku
;;
*-ibm) *-ibm)
os=-aix os=-aix
;; ;;
*-knuth)
os=-mmixware
;;
*-wec) *-wec)
os=-proelf os=-proelf
;; ;;
@ -1635,7 +1437,7 @@ case $basic_machine in
-sunos*) -sunos*)
vendor=sun vendor=sun
;; ;;
-cnk*|-aix*) -aix*)
vendor=ibm vendor=ibm
;; ;;
-beos*) -beos*)
@ -1665,15 +1467,9 @@ case $basic_machine in
-mvs* | -opened*) -mvs* | -opened*)
vendor=ibm vendor=ibm
;; ;;
-os400*)
vendor=ibm
;;
-ptx*) -ptx*)
vendor=sequent vendor=sequent
;; ;;
-tpf*)
vendor=ibm
;;
-vxsim* | -vxworks* | -windiss*) -vxsim* | -vxworks* | -windiss*)
vendor=wrs vendor=wrs
;; ;;
@ -1698,7 +1494,7 @@ case $basic_machine in
esac esac
echo $basic_machine$os echo $basic_machine$os
exit exit 0
# Local variables: # Local variables:
# eval: (add-hook 'write-file-hooks 'time-stamp) # eval: (add-hook 'write-file-hooks 'time-stamp)

View file

@ -1,10 +1,10 @@
#! /bin/sh #! /bin/sh
# depcomp - compile a program generating dependencies as side-effects # depcomp - compile a program generating dependencies as side-effects
scriptversion=2009-04-28.21; # UTC scriptversion=2007-03-29.01
# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009 Free # Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007 Free Software
# Software Foundation, Inc. # Foundation, Inc.
# This program is free software; you can redistribute it and/or modify # This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
@ -17,7 +17,9 @@ scriptversion=2009-04-28.21; # UTC
# GNU General Public License for more details. # GNU General Public License for more details.
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>. # along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA.
# As a special exception to the GNU General Public License, if you # As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a # distribute this file as part of a program that contains a
@ -85,15 +87,6 @@ if test "$depmode" = dashXmstdout; then
depmode=dashmstdout depmode=dashmstdout
fi fi
cygpath_u="cygpath -u -f -"
if test "$depmode" = msvcmsys; then
# This is just like msvisualcpp but w/o cygpath translation.
# Just convert the backslash-escaped backslashes to single forward
# slashes to satisfy depend.m4
cygpath_u="sed s,\\\\\\\\,/,g"
depmode=msvisualcpp
fi
case "$depmode" in case "$depmode" in
gcc3) gcc3)
## gcc 3 implements dependency tracking that does exactly what ## gcc 3 implements dependency tracking that does exactly what
@ -199,14 +192,14 @@ sgi)
' < "$tmpdepfile" \ ' < "$tmpdepfile" \
| sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
tr ' tr '
' ' ' >> "$depfile" ' ' ' >> $depfile
echo >> "$depfile" echo >> $depfile
# The second pass generates a dummy entry for each header file. # The second pass generates a dummy entry for each header file.
tr ' ' ' tr ' ' '
' < "$tmpdepfile" \ ' < "$tmpdepfile" \
| sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
>> "$depfile" >> $depfile
else else
# The sourcefile does not contain any dependencies, so just # The sourcefile does not contain any dependencies, so just
# store a dummy comment line, to avoid errors with the Makefile # store a dummy comment line, to avoid errors with the Makefile
@ -335,12 +328,7 @@ hp2)
if test -f "$tmpdepfile"; then if test -f "$tmpdepfile"; then
sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile" sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile"
# Add `dependent.h:' lines. # Add `dependent.h:' lines.
sed -ne '2,${ sed -ne '2,${; s/^ *//; s/ \\*$//; s/$/:/; p;}' "$tmpdepfile" >> "$depfile"
s/^ *//
s/ \\*$//
s/$/:/
p
}' "$tmpdepfile" >> "$depfile"
else else
echo "#dummy" > "$depfile" echo "#dummy" > "$depfile"
fi fi
@ -416,7 +404,7 @@ dashmstdout)
# Remove the call to Libtool. # Remove the call to Libtool.
if test "$libtool" = yes; then if test "$libtool" = yes; then
while test "X$1" != 'X--mode=compile'; do while test $1 != '--mode=compile'; do
shift shift
done done
shift shift
@ -467,39 +455,32 @@ makedepend)
"$@" || exit $? "$@" || exit $?
# Remove any Libtool call # Remove any Libtool call
if test "$libtool" = yes; then if test "$libtool" = yes; then
while test "X$1" != 'X--mode=compile'; do while test $1 != '--mode=compile'; do
shift shift
done done
shift shift
fi fi
# X makedepend # X makedepend
shift shift
cleared=no eat=no cleared=no
for arg for arg in "$@"; do
do
case $cleared in case $cleared in
no) no)
set ""; shift set ""; shift
cleared=yes ;; cleared=yes ;;
esac esac
if test $eat = yes; then
eat=no
continue
fi
case "$arg" in case "$arg" in
-D*|-I*) -D*|-I*)
set fnord "$@" "$arg"; shift ;; set fnord "$@" "$arg"; shift ;;
# Strip any option that makedepend may not understand. Remove # Strip any option that makedepend may not understand. Remove
# the object too, otherwise makedepend will parse it as a source file. # the object too, otherwise makedepend will parse it as a source file.
-arch)
eat=yes ;;
-*|$object) -*|$object)
;; ;;
*) *)
set fnord "$@" "$arg"; shift ;; set fnord "$@" "$arg"; shift ;;
esac esac
done done
obj_suffix=`echo "$object" | sed 's/^.*\././'` obj_suffix="`echo $object | sed 's/^.*\././'`"
touch "$tmpdepfile" touch "$tmpdepfile"
${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@" ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
rm -f "$depfile" rm -f "$depfile"
@ -519,7 +500,7 @@ cpp)
# Remove the call to Libtool. # Remove the call to Libtool.
if test "$libtool" = yes; then if test "$libtool" = yes; then
while test "X$1" != 'X--mode=compile'; do while test $1 != '--mode=compile'; do
shift shift
done done
shift shift
@ -557,27 +538,13 @@ cpp)
msvisualcpp) msvisualcpp)
# Important note: in order to support this mode, a compiler *must* # Important note: in order to support this mode, a compiler *must*
# always write the preprocessed file to stdout. # always write the preprocessed file to stdout, regardless of -o,
# because we must use -o when running libtool.
"$@" || exit $? "$@" || exit $?
# Remove the call to Libtool.
if test "$libtool" = yes; then
while test "X$1" != 'X--mode=compile'; do
shift
done
shift
fi
IFS=" " IFS=" "
for arg for arg
do do
case "$arg" in case "$arg" in
-o)
shift
;;
$object)
shift
;;
"-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI") "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
set fnord "$@" set fnord "$@"
shift shift
@ -590,23 +557,16 @@ msvisualcpp)
;; ;;
esac esac
done done
"$@" -E 2>/dev/null | "$@" -E |
sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile" sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile"
rm -f "$depfile" rm -f "$depfile"
echo "$object : \\" > "$depfile" echo "$object : \\" > "$depfile"
sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile" . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile"
echo " " >> "$depfile" echo " " >> "$depfile"
sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile" . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile"
rm -f "$tmpdepfile" rm -f "$tmpdepfile"
;; ;;
msvcmsys)
# This case exists only to let depend.m4 do its work. It works by
# looking at the text of this script. This case will never be run,
# since it is checked for above.
exit 1
;;
none) none)
exec "$@" exec "$@"
;; ;;
@ -625,6 +585,5 @@ exit 0
# eval: (add-hook 'write-file-hooks 'time-stamp) # eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion=" # time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-time-zone: "UTC" # time-stamp-end: "$"
# time-stamp-end: "; # UTC"
# End: # End:

View file

@ -1,23 +1,38 @@
#!/bin/sh #!/bin/sh
#
# $NetBSD: install-sh,v 1.1.1.2 2010/03/14 17:56:28 joerg Exp $
# This script now also installs multiple files, but might choke on installing
# multiple files with spaces in the file names.
#
# install - install a program, script, or datafile # install - install a program, script, or datafile
# This comes from X11R5 (mit/util/scripts/install.sh).
scriptversion=2006-12-25.00
# This originates from X11R5 (mit/util/scripts/install.sh), which was
# later released in X11R6 (xc/config/util/install.sh) with the
# following copyright and license.
# #
# Copyright 1991 by the Massachusetts Institute of Technology # Copyright (C) 1994 X Consortium
# #
# Permission to use, copy, modify, distribute, and sell this software and its # Permission is hereby granted, free of charge, to any person obtaining a copy
# documentation for any purpose is hereby granted without fee, provided that # of this software and associated documentation files (the "Software"), to
# the above copyright notice appear in all copies and that both that # deal in the Software without restriction, including without limitation the
# copyright notice and this permission notice appear in supporting # rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
# documentation, and that the name of M.I.T. not be used in advertising or # sell copies of the Software, and to permit persons to whom the Software is
# publicity pertaining to distribution of the software without specific, # furnished to do so, subject to the following conditions:
# written prior permission. M.I.T. makes no representations about the #
# suitability of this software for any purpose. It is provided "as is" # The above copyright notice and this permission notice shall be included in
# without express or implied warranty. # all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#
# Except as contained in this notice, the name of the X Consortium shall not
# be used in advertising or otherwise to promote the sale, use or other deal-
# ings in this Software without prior written authorization from the X Consor-
# tium.
#
#
# FSF changes to this file are in the public domain.
# #
# Calling this script install-sh is preferred over install.sh, to prevent # Calling this script install-sh is preferred over install.sh, to prevent
# `make' implicit rules from creating a file called install from it # `make' implicit rules from creating a file called install from it
@ -26,266 +41,479 @@
# This script is compatible with the BSD install script, but was written # This script is compatible with the BSD install script, but was written
# from scratch. # from scratch.
nl='
'
IFS=" "" $nl"
# set DOITPROG to echo to test this script # set DOITPROG to echo to test this script
# Don't use :- since 4.3BSD and earlier shells don't like it. # Don't use :- since 4.3BSD and earlier shells don't like it.
doit="${DOITPROG-}" doit=${DOITPROG-}
if test -z "$doit"; then
doit_exec=exec
# put in absolute paths if you don't have them in your path; or use env. vars.
awkprog="${AWKPROG-awk}"
mvprog="${MVPROG-mv}"
cpprog="${CPPROG-cp}"
chmodprog="${CHMODPROG-chmod}"
chownprog="${CHOWNPROG-chown}"
chgrpprog="${CHGRPPROG-chgrp}"
stripprog="${STRIPPROG-strip}"
rmprog="${RMPROG-rm}"
mkdirprog="${MKDIRPROG-mkdir}"
instcmd="$mvprog"
pathcompchmodcmd="$chmodprog 755"
chmodcmd="$chmodprog 755"
chowncmd=""
chgrpcmd=""
stripcmd=""
stripflags=""
rmcmd="$rmprog -f"
mvcmd="$mvprog"
src=""
msrc=""
dst=""
dir_arg=""
suffix=""
suffixfmt=""
while [ x"$1" != x ]; do
case $1 in
-b) suffix=".old"
shift
continue;;
-B) suffixfmt="$2"
shift
shift
continue;;
-c) instcmd="$cpprog"
shift
continue;;
-d) dir_arg=true
shift
continue;;
-m) chmodcmd="$chmodprog $2"
shift
shift
continue;;
-o) chowncmd="$chownprog $2"
shift
shift
continue;;
-g) chgrpcmd="$chgrpprog $2"
shift
shift
continue;;
-s) stripcmd="$stripprog"
shift
continue;;
-S) stripcmd="$stripprog"
stripflags="-S $2 $stripflags"
shift
shift
continue;;
*) if [ x"$msrc" = x ]
then
msrc="$dst"
else
msrc="$msrc $dst"
fi
src="$dst"
dst="$1"
shift
continue;;
esac
done
if [ x"$dir_arg" = x ]
then
dstisfile=""
if [ ! -d "$dst" ]
then
if [ x"$msrc" = x"$src" ]
then
dstisfile=true
else
echo "install: destination is not a directory"
exit 1
fi
fi
else else
msrc="$msrc $dst" doit_exec=$doit
fi fi
if [ x"$msrc" = x ] # Put in absolute file names if you don't have them in your path;
then # or use environment vars.
echo "install: no destination specified"
exit 1
fi
for srcarg in $msrc; do chgrpprog=${CHGRPPROG-chgrp}
chmodprog=${CHMODPROG-chmod}
chownprog=${CHOWNPROG-chown}
cmpprog=${CMPPROG-cmp}
cpprog=${CPPROG-cp}
mkdirprog=${MKDIRPROG-mkdir}
mvprog=${MVPROG-mv}
rmprog=${RMPROG-rm}
stripprog=${STRIPPROG-strip}
if [ x"$dir_arg" != x ]; then posix_glob='?'
initialize_posix_glob='
dstarg="$srcarg" test "$posix_glob" != "?" || {
else if (set -f) 2>/dev/null; then
dstarg="$dst" posix_glob=
else
# Waiting for this to be detected by the "$instcmd $srcarg $dsttmp" command posix_glob=:
# might cause directories to be created, which would be especially bad fi
# if $src (and thus $dsttmp) contains '*'. }
if [ -f "$srcarg" ]
then
doinst="$instcmd"
elif [ -d "$srcarg" ]
then
echo "install: $srcarg: not a regular file"
exit 1
elif [ "$srcarg" = "/dev/null" ]
then
doinst="$cpprog"
else
echo "install: $srcarg does not exist"
exit 1
fi
# If destination is a directory, append the input filename; if your system
# does not like double slashes in filenames, you may need to add some logic
if [ -d "$dstarg" ]
then
dstarg="$dstarg"/`basename "$srcarg"`
fi
fi
## this sed command emulates the dirname command
dstdir=`echo "$dstarg" | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
# Make sure that the destination directory exists.
# this part is taken from Noah Friedman's mkinstalldirs script
# Skip lots of stat calls in the usual case.
if [ ! -d "$dstdir" ]; then
defaultIFS='
' '
IFS="${IFS-${defaultIFS}}"
oIFS="${IFS}" posix_mkdir=
# Some sh's can't handle IFS=/ for some reason.
IFS='%'
set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'`
IFS="${oIFS}"
pathcomp='' # Desired mode of installed file.
mode=0755
while [ $# -ne 0 ] ; do chgrpcmd=
pathcomp="${pathcomp}${1}" chmodcmd=$chmodprog
shift chowncmd=
mvcmd=$mvprog
rmcmd="$rmprog -f"
stripcmd=
if [ ! -d "${pathcomp}" ] ; src=
then dst=
$doit $mkdirprog "${pathcomp}" dir_arg=
if [ x"$chowncmd" != x ]; then $doit $chowncmd "${pathcomp}"; else true ; fi && dst_arg=
if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd "${pathcomp}"; else true ; fi &&
if [ x"$pathcompchmodcmd" != x ]; then $doit $pathcompchmodcmd "${pathcomp}"; else true ; fi
else copy_on_change=false
true no_target_directory=
fi
pathcomp="${pathcomp}/" usage="\
Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
or: $0 [OPTION]... SRCFILES... DIRECTORY
or: $0 [OPTION]... -t DIRECTORY SRCFILES...
or: $0 [OPTION]... -d DIRECTORIES...
In the 1st form, copy SRCFILE to DSTFILE.
In the 2nd and 3rd, copy all SRCFILES to DIRECTORY.
In the 4th, create DIRECTORIES.
Options:
--help display this help and exit.
--version display version info and exit.
-c (ignored)
-C install only if different (preserve the last data modification time)
-d create directories instead of installing files.
-g GROUP $chgrpprog installed files to GROUP.
-m MODE $chmodprog installed files to MODE.
-o USER $chownprog installed files to USER.
-s $stripprog installed files.
-t DIRECTORY install into DIRECTORY.
-T report an error if DSTFILE is a directory.
Environment variables override the default commands:
CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG
RMPROG STRIPPROG
"
while test $# -ne 0; do
case $1 in
-c) ;;
-C) copy_on_change=true;;
-d) dir_arg=true;;
-g) chgrpcmd="$chgrpprog $2"
shift;;
--help) echo "$usage"; exit $?;;
-m) mode=$2
case $mode in
*' '* | *' '* | *'
'* | *'*'* | *'?'* | *'['*)
echo "$0: invalid mode: $mode" >&2
exit 1;;
esac
shift;;
-o) chowncmd="$chownprog $2"
shift;;
-s) stripcmd=$stripprog;;
-t) dst_arg=$2
shift;;
-T) no_target_directory=true;;
--version) echo "$0 $scriptversion"; exit $?;;
--) shift
break;;
-*) echo "$0: invalid option: $1" >&2
exit 1;;
*) break;;
esac
shift
done done
if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
# When -d is used, all remaining arguments are directories to create.
# When -t is used, the destination is already specified.
# Otherwise, the last argument is the destination. Remove it from $@.
for arg
do
if test -n "$dst_arg"; then
# $@ is not empty: it contains at least $arg.
set fnord "$@" "$dst_arg"
shift # fnord
fi
shift # arg
dst_arg=$arg
done
fi fi
if [ x"$dir_arg" != x ] if test $# -eq 0; then
then if test -z "$dir_arg"; then
if [ -d "$dstarg" ]; then echo "$0: no input file specified." >&2
true exit 1
else fi
$doit $mkdirprog "$dstarg" && # It's OK to call `install-sh -d' without argument.
# This can happen when creating conditional directories.
exit 0
fi
if [ x"$chowncmd" != x ]; then $doit $chowncmd "$dstarg"; else true ; fi && if test -z "$dir_arg"; then
if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd "$dstarg"; else true ; fi && trap '(exit $?); exit' 1 2 13 15
if [ x"$chmodcmd" != x ]; then $doit $chmodcmd "$dstarg"; else true ; fi
fi # Set umask so as not to create temps with too-generous modes.
# However, 'strip' requires both read and write access to temps.
case $mode in
# Optimize common cases.
*644) cp_umask=133;;
*755) cp_umask=22;;
*[0-7])
if test -z "$stripcmd"; then
u_plus_rw=
else
u_plus_rw='% 200'
fi
cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;;
*)
if test -z "$stripcmd"; then
u_plus_rw=
else
u_plus_rw=,u+rw
fi
cp_umask=$mode$u_plus_rw;;
esac
fi
for src
do
# Protect names starting with `-'.
case $src in
-*) src=./$src;;
esac
if test -n "$dir_arg"; then
dst=$src
dstdir=$dst
test -d "$dstdir"
dstdir_status=$?
else
# Waiting for this to be detected by the "$cpprog $src $dsttmp" command
# might cause directories to be created, which would be especially bad
# if $src (and thus $dsttmp) contains '*'.
if test ! -f "$src" && test ! -d "$src"; then
echo "$0: $src does not exist." >&2
exit 1
fi
if test -z "$dst_arg"; then
echo "$0: no destination specified." >&2
exit 1
fi
dst=$dst_arg
# Protect names starting with `-'.
case $dst in
-*) dst=./$dst;;
esac
# If destination is a directory, append the input filename; won't work
# if double slashes aren't ignored.
if test -d "$dst"; then
if test -n "$no_target_directory"; then
echo "$0: $dst_arg: Is a directory" >&2
exit 1
fi
dstdir=$dst
dst=$dstdir/`basename "$src"`
dstdir_status=0
else
# Prefer dirname, but fall back on a substitute if dirname fails.
dstdir=`
(dirname "$dst") 2>/dev/null ||
expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$dst" : 'X\(//\)[^/]' \| \
X"$dst" : 'X\(//\)$' \| \
X"$dst" : 'X\(/\)' \| . 2>/dev/null ||
echo X"$dst" |
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
s//\1/
q
}
/^X\(\/\/\)[^/].*/{
s//\1/
q
}
/^X\(\/\/\)$/{
s//\1/
q
}
/^X\(\/\).*/{
s//\1/
q
}
s/.*/./; q'
`
test -d "$dstdir"
dstdir_status=$?
fi
fi
obsolete_mkdir_used=false
if test $dstdir_status != 0; then
case $posix_mkdir in
'')
# Create intermediate dirs using mode 755 as modified by the umask.
# This is like FreeBSD 'install' as of 1997-10-28.
umask=`umask`
case $stripcmd.$umask in
# Optimize common cases.
*[2367][2367]) mkdir_umask=$umask;;
.*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
*[0-7])
mkdir_umask=`expr $umask + 22 \
- $umask % 100 % 40 + $umask % 20 \
- $umask % 10 % 4 + $umask % 2
`;;
*) mkdir_umask=$umask,go-w;;
esac
# With -d, create the new directory with the user-specified mode.
# Otherwise, rely on $mkdir_umask.
if test -n "$dir_arg"; then
mkdir_mode=-m$mode
else else
mkdir_mode=
if [ x"$dstisfile" = x ]
then
file=$srcarg
else
file=$dst
fi
dstfile=`basename "$file"`
dstfinal="$dstdir/$dstfile"
# Make a temp file name in the proper directory.
dsttmp=$dstdir/#inst.$$#
# Make a backup file name in the proper directory.
case x$suffixfmt in
*%*) suffix=`echo x |
$awkprog -v bname="$dstfinal" -v fmt="$suffixfmt" '
{ cnt = 0;
do {
sfx = sprintf(fmt, cnt++);
name = bname sfx;
} while (system("test -f " name) == 0);
print sfx; }' -`;;
x) ;;
*) suffix="$suffixfmt";;
esac
dstbackup="$dstfinal$suffix"
# Move or copy the file name to the temp name
$doit $doinst $srcarg "$dsttmp" &&
trap "rm -f ${dsttmp}" 0 &&
# and set any options; do chmod last to preserve setuid bits
# If any of these fail, we abort the whole thing. If we want to
# ignore errors from any of these, just make sure not to ignore
# errors from the above "$doit $instcmd $src $dsttmp" command.
if [ x"$chowncmd" != x ]; then $doit $chowncmd "$dsttmp"; else true;fi &&
if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd "$dsttmp"; else true;fi &&
if [ x"$stripcmd" != x ]; then $doit $stripcmd $stripflags "$dsttmp"; else true;fi &&
if [ x"$chmodcmd" != x ]; then $doit $chmodcmd "$dsttmp"; else true;fi &&
# Now rename the file to the real destination.
if [ x"$suffix" != x ] && [ -f "$dstfinal" ]
then
$doit $mvcmd "$dstfinal" "$dstbackup"
else
$doit $rmcmd -f "$dstfinal"
fi &&
$doit $mvcmd "$dsttmp" "$dstfinal"
fi fi
done && posix_mkdir=false
case $umask in
*[123567][0-7][0-7])
# POSIX mkdir -p sets u+wx bits regardless of umask, which
# is incompatible with FreeBSD 'install' when (umask & 300) != 0.
;;
*)
tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
if (umask $mkdir_umask &&
exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
then
if test -z "$dir_arg" || {
# Check for POSIX incompatibilities with -m.
# HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
# other-writeable bit of parent directory when it shouldn't.
# FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
ls_ld_tmpdir=`ls -ld "$tmpdir"`
case $ls_ld_tmpdir in
d????-?r-*) different_mode=700;;
d????-?--*) different_mode=755;;
*) false;;
esac &&
$mkdirprog -m$different_mode -p -- "$tmpdir" && {
ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
}
}
then posix_mkdir=:
fi
rmdir "$tmpdir/d" "$tmpdir"
else
# Remove any dirs left behind by ancient mkdir implementations.
rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
fi
trap '' 0;;
esac;;
esac
exit 0 if
$posix_mkdir && (
umask $mkdir_umask &&
$doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
)
then :
else
# The umask is ridiculous, or mkdir does not conform to POSIX,
# or it failed possibly due to a race condition. Create the
# directory the slow way, step by step, checking for races as we go.
case $dstdir in
/*) prefix='/';;
-*) prefix='./';;
*) prefix='';;
esac
eval "$initialize_posix_glob"
oIFS=$IFS
IFS=/
$posix_glob set -f
set fnord $dstdir
shift
$posix_glob set +f
IFS=$oIFS
prefixes=
for d
do
test -z "$d" && continue
prefix=$prefix$d
if test -d "$prefix"; then
prefixes=
else
if $posix_mkdir; then
(umask=$mkdir_umask &&
$doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
# Don't fail if two instances are running concurrently.
test -d "$prefix" || exit 1
else
case $prefix in
*\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
*) qprefix=$prefix;;
esac
prefixes="$prefixes '$qprefix'"
fi
fi
prefix=$prefix/
done
if test -n "$prefixes"; then
# Don't fail if two instances are running concurrently.
(umask $mkdir_umask &&
eval "\$doit_exec \$mkdirprog $prefixes") ||
test -d "$dstdir" || exit 1
obsolete_mkdir_used=true
fi
fi
fi
if test -n "$dir_arg"; then
{ test -z "$chowncmd" || $doit $chowncmd "$dst"; } &&
{ test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } &&
{ test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false ||
test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1
else
# Make a couple of temp file names in the proper directory.
dsttmp=$dstdir/_inst.$$_
rmtmp=$dstdir/_rm.$$_
# Trap to clean up those temp files at exit.
trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
# Copy the file name to the temp name.
(umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") &&
# and set any options; do chmod last to preserve setuid bits.
#
# If any of these fail, we abort the whole thing. If we want to
# ignore errors from any of these, just make sure not to ignore
# errors from the above "$doit $cpprog $src $dsttmp" command.
#
{ test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } &&
{ test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } &&
{ test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } &&
{ test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } &&
# If -C, don't bother to copy if it wouldn't change the file.
if $copy_on_change &&
old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` &&
new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` &&
eval "$initialize_posix_glob" &&
$posix_glob set -f &&
set X $old && old=:$2:$4:$5:$6 &&
set X $new && new=:$2:$4:$5:$6 &&
$posix_glob set +f &&
test "$old" = "$new" &&
$cmpprog "$dst" "$dsttmp" >/dev/null 2>&1
then
rm -f "$dsttmp"
else
# Rename the file to the real destination.
$doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null ||
# The rename failed, perhaps because mv can't rename something else
# to itself, or perhaps because mv is so ancient that it does not
# support -f.
{
# Now remove or move aside any old file at destination location.
# We try this two ways since rm can't unlink itself on some
# systems and the destination file might be busy for other
# reasons. In this case, the final cleanup might fail but the new
# file should still install successfully.
{
test ! -f "$dst" ||
$doit $rmcmd -f "$dst" 2>/dev/null ||
{ $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
{ $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }
} ||
{ echo "$0: cannot unlink or rename $dst" >&2
(exit 1); exit 1
}
} &&
# Now rename the file to the real destination.
$doit $mvcmd "$dsttmp" "$dst"
}
fi || exit 1
trap '' 0
fi
done
# Local variables:
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-end: "$"
# End:

View file

@ -111,9 +111,9 @@ done
$lt_unset CDPATH $lt_unset CDPATH
unset CP
unset MV
unset RM
: ${CP="cp -f"} : ${CP="cp -f"}
: ${ECHO="echo"} : ${ECHO="echo"}
: ${EGREP="/bin/grep -E"} : ${EGREP="/bin/grep -E"}
@ -1010,6 +1010,21 @@ func_source ()
func_infer_tag () func_infer_tag ()
{ {
$opt_debug $opt_debug
# FreeBSD-specific: where we install compilers with non-standard names
tag_compilers_CC="*cc cc* *gcc gcc*"
tag_compilers_CXX="*c++ c++* *g++ g++*"
base_compiler=`set -- "$@"; echo $1`
# If $tagname isn't set, then try to infer if the default "CC" tag applies
if test -z "$tagname"; then
for zp in $tag_compilers_CC; do
case $base_compiler in
$zp) tagname="CC"; break;;
esac
done
fi
if test -n "$available_tags" && test -z "$tagname"; then if test -n "$available_tags" && test -z "$tagname"; then
CC_quoted= CC_quoted=
for arg in $CC; do for arg in $CC; do
@ -1042,7 +1057,22 @@ func_infer_tag ()
break break
;; ;;
esac esac
fi
# FreeBSD-specific: try compilers based on inferred tag
if test -z "$tagname"; then
eval "tag_compilers=\$tag_compilers_${z}"
if test -n "$tag_compilers"; then
for zp in $tag_compilers; do
case $base_compiler in
$zp) tagname=$z; break;;
esac
done
if test -n "$tagname"; then
break
fi
fi
fi
fi
done done
# If $tagname still isn't set, then no tagged configuration # If $tagname still isn't set, then no tagged configuration
# was found and let the user know that the "--tag" command # was found and let the user know that the "--tag" command
@ -2528,6 +2558,9 @@ static const void *lt_preloaded_setup() {
;; ;;
esac esac
;; ;;
*-*-freebsd*)
# FreeBSD doesn't need this...
;;
*) *)
func_fatal_error "unknown suffix for \`$my_dlsyms'" func_fatal_error "unknown suffix for \`$my_dlsyms'"
;; ;;
@ -4584,6 +4617,7 @@ func_mode_link ()
*" $arg "*) ;; *" $arg "*) ;;
* ) new_inherited_linker_flags="$new_inherited_linker_flags $arg" ;; * ) new_inherited_linker_flags="$new_inherited_linker_flags $arg" ;;
esac esac
deplibs="$deplibs $arg"
continue continue
;; ;;
@ -5073,13 +5107,30 @@ func_mode_link ()
finalize_deplibs="$deplib $finalize_deplibs" finalize_deplibs="$deplib $finalize_deplibs"
else else
compiler_flags="$compiler_flags $deplib" compiler_flags="$compiler_flags $deplib"
if test "$linkmode" = lib ; then
case "$new_inherited_linker_flags " in
*" $deplib "*) ;;
* ) new_inherited_linker_flags="$new_inherited_linker_flags $deplib" ;;
esac
fi
fi fi
case $linkmode in
lib)
deplibs="$deplib $deplibs"
test "$pass" = conv && continue
newdependency_libs="$deplib $newdependency_libs"
;;
prog)
if test "$pass" = conv; then
deplibs="$deplib $deplibs"
continue
fi
if test "$pass" = scan; then
deplibs="$deplib $deplibs"
else
compile_deplibs="$deplib $compile_deplibs"
finalize_deplibs="$deplib $finalize_deplibs"
fi
;;
*)
;;
esac # linkmode
continue continue
;; ;;
-l*) -l*)

View file

@ -1,10 +1,10 @@
#! /bin/sh #! /bin/sh
# Common stub for a few missing GNU programs while installing. # Common stub for a few missing GNU programs while installing.
scriptversion=2009-04-28.21; # UTC scriptversion=2006-05-10.23
# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006, # Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006
# 2008, 2009 Free Software Foundation, Inc. # Free Software Foundation, Inc.
# Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996. # Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
# This program is free software; you can redistribute it and/or modify # This program is free software; you can redistribute it and/or modify
@ -18,7 +18,9 @@ scriptversion=2009-04-28.21; # UTC
# GNU General Public License for more details. # GNU General Public License for more details.
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>. # along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA.
# As a special exception to the GNU General Public License, if you # As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a # distribute this file as part of a program that contains a
@ -87,9 +89,6 @@ Supported PROGRAM values:
tar try tar, gnutar, gtar, then tar without non-portable flags tar try tar, gnutar, gtar, then tar without non-portable flags
yacc create \`y.tab.[ch]', if possible, from existing .[ch] yacc create \`y.tab.[ch]', if possible, from existing .[ch]
Version suffixes to PROGRAM as well as the prefixes \`gnu-', \`gnu', and
\`g' are ignored when checking the name.
Send bug reports to <bug-automake@gnu.org>." Send bug reports to <bug-automake@gnu.org>."
exit $? exit $?
;; ;;
@ -107,22 +106,15 @@ Send bug reports to <bug-automake@gnu.org>."
esac esac
# normalize program name to check for.
program=`echo "$1" | sed '
s/^gnu-//; t
s/^gnu//; t
s/^g//; t'`
# Now exit if we have it, but it failed. Also exit now if we # Now exit if we have it, but it failed. Also exit now if we
# don't have it and --version was passed (most likely to detect # don't have it and --version was passed (most likely to detect
# the program). This is about non-GNU programs, so use $1 not # the program).
# $program.
case $1 in case $1 in
lex*|yacc*) lex|yacc)
# Not GNU programs, they don't have --version. # Not GNU programs, they don't have --version.
;; ;;
tar*) tar)
if test -n "$run"; then if test -n "$run"; then
echo 1>&2 "ERROR: \`tar' requires --run" echo 1>&2 "ERROR: \`tar' requires --run"
exit 1 exit 1
@ -146,7 +138,7 @@ esac
# If it does not exist, or fails to run (possibly an outdated version), # If it does not exist, or fails to run (possibly an outdated version),
# try to emulate it. # try to emulate it.
case $program in case $1 in
aclocal*) aclocal*)
echo 1>&2 "\ echo 1>&2 "\
WARNING: \`$1' is $msg. You should only need it if WARNING: \`$1' is $msg. You should only need it if
@ -156,7 +148,7 @@ WARNING: \`$1' is $msg. You should only need it if
touch aclocal.m4 touch aclocal.m4
;; ;;
autoconf*) autoconf)
echo 1>&2 "\ echo 1>&2 "\
WARNING: \`$1' is $msg. You should only need it if WARNING: \`$1' is $msg. You should only need it if
you modified \`${configure_ac}'. You might want to install the you modified \`${configure_ac}'. You might want to install the
@ -165,7 +157,7 @@ WARNING: \`$1' is $msg. You should only need it if
touch configure touch configure
;; ;;
autoheader*) autoheader)
echo 1>&2 "\ echo 1>&2 "\
WARNING: \`$1' is $msg. You should only need it if WARNING: \`$1' is $msg. You should only need it if
you modified \`acconfig.h' or \`${configure_ac}'. You might want you modified \`acconfig.h' or \`${configure_ac}'. You might want
@ -195,7 +187,7 @@ WARNING: \`$1' is $msg. You should only need it if
while read f; do touch "$f"; done while read f; do touch "$f"; done
;; ;;
autom4te*) autom4te)
echo 1>&2 "\ echo 1>&2 "\
WARNING: \`$1' is needed, but is $msg. WARNING: \`$1' is needed, but is $msg.
You might have modified some files without having the You might have modified some files without having the
@ -218,7 +210,7 @@ WARNING: \`$1' is needed, but is $msg.
fi fi
;; ;;
bison*|yacc*) bison|yacc)
echo 1>&2 "\ echo 1>&2 "\
WARNING: \`$1' $msg. You should only need it if WARNING: \`$1' $msg. You should only need it if
you modified a \`.y' file. You may need the \`Bison' package you modified a \`.y' file. You may need the \`Bison' package
@ -248,7 +240,7 @@ WARNING: \`$1' $msg. You should only need it if
fi fi
;; ;;
lex*|flex*) lex|flex)
echo 1>&2 "\ echo 1>&2 "\
WARNING: \`$1' is $msg. You should only need it if WARNING: \`$1' is $msg. You should only need it if
you modified a \`.l' file. You may need the \`Flex' package you modified a \`.l' file. You may need the \`Flex' package
@ -271,7 +263,7 @@ WARNING: \`$1' is $msg. You should only need it if
fi fi
;; ;;
help2man*) help2man)
echo 1>&2 "\ echo 1>&2 "\
WARNING: \`$1' is $msg. You should only need it if WARNING: \`$1' is $msg. You should only need it if
you modified a dependency of a manual page. You may need the you modified a dependency of a manual page. You may need the
@ -285,11 +277,11 @@ WARNING: \`$1' is $msg. You should only need it if
else else
test -z "$file" || exec >$file test -z "$file" || exec >$file
echo ".ab help2man is required to generate this page" echo ".ab help2man is required to generate this page"
exit $? exit 1
fi fi
;; ;;
makeinfo*) makeinfo)
echo 1>&2 "\ echo 1>&2 "\
WARNING: \`$1' is $msg. You should only need it if WARNING: \`$1' is $msg. You should only need it if
you modified a \`.texi' or \`.texinfo' file, or any other file you modified a \`.texi' or \`.texinfo' file, or any other file
@ -318,7 +310,7 @@ WARNING: \`$1' is $msg. You should only need it if
touch $file touch $file
;; ;;
tar*) tar)
shift shift
# We have already tried tar in the generic part. # We have already tried tar in the generic part.
@ -371,6 +363,5 @@ exit 0
# eval: (add-hook 'write-file-hooks 'time-stamp) # eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion=" # time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-time-zone: "UTC" # time-stamp-end: "$"
# time-stamp-end: "; # UTC"
# End: # End:

View file

@ -1 +1 @@
2008002 2008003

View file

@ -15,25 +15,16 @@
# * $Locker: $ # * $Locker: $
# * $ProjectName: $ # * $ProjectName: $
# * $ProjectRevision: $ # * $ProjectRevision: $
# * $LastChangedRevision: 29 $ # * $LastChangedRevision: 1827 $
# * $LastChangedDate: 2008-05-06 00:10:33 +0200 (Tue, 06 May 2008) $ # * $LastChangedDate: 2010-01-16 16:21:36 -0800 (Sat, 16 Jan 2010) $
# * $State: Exp $ # * $State: Exp $
# * $RCSfile: mvcpp.nt,v $ # * $RCSfile: mvcpp.nt,v $
# * $Source: /cvsroot/pkgsrc/archivers/libarchive/files/build/windows/Attic/mvcpp.nt,v $ # * $Source: /cvsroot/pkgsrc/archivers/libarchive/files/build/windows/Attic/mvcpp.nt,v $
# * # *
# * Change Log: # * Change Log:
# * $Log: mvcpp.nt,v $ # * $Log: mvcpp.nt,v $
# * Revision 1.1.1.2 2010/03/14 17:56:32 joerg # * Revision 1.1.1.3 2010/03/16 17:05:52 joerg
# * libarchive-2.8.2: # * libarchive-2.8.3: Build fix for Linux
# * - Fix NULL deference for short self-extracting zip archives
# * - Don't dereference symlinks on Linux when reading ACLs
# * - Better detection of SHA2 support for old OpenSSL versions
# * - Fix parsing of input files for bsdtar -T
# * - Do not leak setup_xattr into the global namespace
# * - Fix build when an older libarchive is already installed
# * - Use O_BINARY opening files in bsdtar
# * - Include missing archive_crc32.h
# * - Correctly include iconv.h required by libxml2
# * # *
# * # *
# */ # */

View file

@ -15,25 +15,16 @@
# * $Locker: $ # * $Locker: $
# * $ProjectName: $ # * $ProjectName: $
# * $ProjectRevision: $ # * $ProjectRevision: $
# * $LastChangedRevision: 29 $ # * $LastChangedRevision: 1827 $
# * $LastChangedDate: 2008-05-06 00:10:33 +0200 (Tue, 06 May 2008) $ # * $LastChangedDate: 2010-01-16 16:21:36 -0800 (Sat, 16 Jan 2010) $
# * $State: Exp $ # * $State: Exp $
# * $RCSfile: wccpp.nt,v $ # * $RCSfile: wccpp.nt,v $
# * $Source: /cvsroot/pkgsrc/archivers/libarchive/files/build/windows/Attic/wccpp.nt,v $ # * $Source: /cvsroot/pkgsrc/archivers/libarchive/files/build/windows/Attic/wccpp.nt,v $
# * # *
# * Change Log: # * Change Log:
# * $Log: wccpp.nt,v $ # * $Log: wccpp.nt,v $
# * Revision 1.1.1.2 2010/03/14 17:56:32 joerg # * Revision 1.1.1.3 2010/03/16 17:05:52 joerg
# * libarchive-2.8.2: # * libarchive-2.8.3: Build fix for Linux
# * - Fix NULL deference for short self-extracting zip archives
# * - Don't dereference symlinks on Linux when reading ACLs
# * - Better detection of SHA2 support for old OpenSSL versions
# * - Fix parsing of input files for bsdtar -T
# * - Do not leak setup_xattr into the global namespace
# * - Fix build when an older libarchive is already installed
# * - Use O_BINARY opening files in bsdtar
# * - Include missing archive_crc32.h
# * - Correctly include iconv.h required by libxml2
# * # *
# * # *
# */ # */

View file

@ -3,44 +3,44 @@ default: all
archive_entry.3.html: ../../libarchive/archive_entry.3 archive_entry.3.html: ../../libarchive/archive_entry.3
groff -mdoc2html ../../libarchive/archive_entry.3 > archive_entry.3.html groff -mdoc -T html ../../libarchive/archive_entry.3 > archive_entry.3.html
archive_read.3.html: ../../libarchive/archive_read.3 archive_read.3.html: ../../libarchive/archive_read.3
groff -mdoc2html ../../libarchive/archive_read.3 > archive_read.3.html groff -mdoc -T html ../../libarchive/archive_read.3 > archive_read.3.html
archive_read_disk.3.html: ../../libarchive/archive_read_disk.3 archive_read_disk.3.html: ../../libarchive/archive_read_disk.3
groff -mdoc2html ../../libarchive/archive_read_disk.3 > archive_read_disk.3.html groff -mdoc -T html ../../libarchive/archive_read_disk.3 > archive_read_disk.3.html
archive_util.3.html: ../../libarchive/archive_util.3 archive_util.3.html: ../../libarchive/archive_util.3
groff -mdoc2html ../../libarchive/archive_util.3 > archive_util.3.html groff -mdoc -T html ../../libarchive/archive_util.3 > archive_util.3.html
archive_write.3.html: ../../libarchive/archive_write.3 archive_write.3.html: ../../libarchive/archive_write.3
groff -mdoc2html ../../libarchive/archive_write.3 > archive_write.3.html groff -mdoc -T html ../../libarchive/archive_write.3 > archive_write.3.html
archive_write_disk.3.html: ../../libarchive/archive_write_disk.3 archive_write_disk.3.html: ../../libarchive/archive_write_disk.3
groff -mdoc2html ../../libarchive/archive_write_disk.3 > archive_write_disk.3.html groff -mdoc -T html ../../libarchive/archive_write_disk.3 > archive_write_disk.3.html
cpio.5.html: ../../libarchive/cpio.5 cpio.5.html: ../../libarchive/cpio.5
groff -mdoc2html ../../libarchive/cpio.5 > cpio.5.html groff -mdoc -T html ../../libarchive/cpio.5 > cpio.5.html
libarchive-formats.5.html: ../../libarchive/libarchive-formats.5 libarchive-formats.5.html: ../../libarchive/libarchive-formats.5
groff -mdoc2html ../../libarchive/libarchive-formats.5 > libarchive-formats.5.html groff -mdoc -T html ../../libarchive/libarchive-formats.5 > libarchive-formats.5.html
libarchive.3.html: ../../libarchive/libarchive.3 libarchive.3.html: ../../libarchive/libarchive.3
groff -mdoc2html ../../libarchive/libarchive.3 > libarchive.3.html groff -mdoc -T html ../../libarchive/libarchive.3 > libarchive.3.html
libarchive_internals.3.html: ../../libarchive/libarchive_internals.3 libarchive_internals.3.html: ../../libarchive/libarchive_internals.3
groff -mdoc2html ../../libarchive/libarchive_internals.3 > libarchive_internals.3.html groff -mdoc -T html ../../libarchive/libarchive_internals.3 > libarchive_internals.3.html
mtree.5.html: ../../libarchive/mtree.5 mtree.5.html: ../../libarchive/mtree.5
groff -mdoc2html ../../libarchive/mtree.5 > mtree.5.html groff -mdoc -T html ../../libarchive/mtree.5 > mtree.5.html
tar.5.html: ../../libarchive/tar.5 tar.5.html: ../../libarchive/tar.5
groff -mdoc2html ../../libarchive/tar.5 > tar.5.html groff -mdoc -T html ../../libarchive/tar.5 > tar.5.html
bsdtar.1.html: ../../tar/bsdtar.1 bsdtar.1.html: ../../tar/bsdtar.1
groff -mdoc2html ../../tar/bsdtar.1 > bsdtar.1.html groff -mdoc -T html ../../tar/bsdtar.1 > bsdtar.1.html
bsdcpio.1.html: ../../cpio/bsdcpio.1 bsdcpio.1.html: ../../cpio/bsdcpio.1
groff -mdoc2html ../../cpio/bsdcpio.1 > bsdcpio.1.html groff -mdoc -T html ../../cpio/bsdcpio.1 > bsdcpio.1.html
all: archive_entry.3.html archive_read.3.html archive_read_disk.3.html archive_util.3.html archive_write.3.html archive_write_disk.3.html cpio.5.html libarchive-formats.5.html libarchive.3.html libarchive_internals.3.html mtree.5.html tar.5.html bsdtar.1.html bsdcpio.1.html all: archive_entry.3.html archive_read.3.html archive_read_disk.3.html archive_util.3.html archive_write.3.html archive_write_disk.3.html cpio.5.html libarchive-formats.5.html libarchive.3.html libarchive_internals.3.html mtree.5.html tar.5.html bsdtar.1.html bsdcpio.1.html

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -1,495 +1,210 @@
%!PS-Adobe-3.0 <!-- Creator : groff version 1.19.2 -->
%%Creator: groff version 1.19.2 <!-- CreationDate: Sun Mar 14 19:50:20 2010 -->
%%CreationDate: Sun Mar 14 02:49:16 2010 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
%%DocumentNeededResources: font Times-Roman "http://www.w3.org/TR/html4/loose.dtd">
%%DocumentSuppliedResources: procset grops 1.19 2 <html>
%%Pages: 27 <head>
%%PageOrder: Ascend <meta name="generator" content="groff -Thtml, see www.gnu.org">
%%DocumentMedia: Default 612 792 0 () () <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
%%Orientation: Portrait <meta name="Content-Style" content="text/css">
%%EndComments <style type="text/css">
%%BeginDefaults p { margin-top: 0; margin-bottom: 0; }
%%PageMedia: Default pre { margin-top: 0; margin-bottom: 0; }
%%EndDefaults table { margin-top: 0; margin-bottom: 0; }
%%BeginProlog </style>
%%BeginResource: procset grops 1.19 2 <title></title>
%!PS-Adobe-3.0 Resource-ProcSet </head>
/setpacking where{ <body>
pop
currentpacking <hr>
true setpacking
}if
/grops 120 dict dup begin <p valign="top">archive_util(3) FreeBSD Library Functions
/SC 32 def Manual archive_util(3)</p>
/A/show load def
/B{0 SC 3 -1 roll widthshow}bind def <p style="margin-top: 1em" valign="top"><b>NAME</b></p>
/C{0 exch ashow}bind def
/D{0 exch 0 SC 5 2 roll awidthshow}bind def <p style="margin-left:8%;"><b>archive_clear_error</b>,
/E{0 rmoveto show}bind def <b>archive_compression</b>, <b>archive_compression_name</b>,
/F{0 rmoveto 0 SC 3 -1 roll widthshow}bind def <b>archive_copy_error</b>, <b>archive_errno</b>,
/G{0 rmoveto 0 exch ashow}bind def <b>archive_error_string</b>, <b>archive_file_count</b>,
/H{0 rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def <b>archive_format</b>, <b>archive_format_name</b>,
/I{0 exch rmoveto show}bind def <b>archive_set_error</b> &mdash; libarchive utility
/J{0 exch rmoveto 0 SC 3 -1 roll widthshow}bind def functions</p>
/K{0 exch rmoveto 0 exch ashow}bind def
/L{0 exch rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def
/M{rmoveto show}bind def <p style="margin-top: 1em" valign="top"><b>SYNOPSIS</b></p>
/N{rmoveto 0 SC 3 -1 roll widthshow}bind def
/O{rmoveto 0 exch ashow}bind def <p style="margin-left:8%;"><b>#include
/P{rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def &lt;archive.h&gt;</b></p>
/Q{moveto show}bind def
/R{moveto 0 SC 3 -1 roll widthshow}bind def <p style="margin-left:8%; margin-top: 1em"><i>void</i></p>
/S{moveto 0 exch ashow}bind def
/T{moveto 0 exch 0 SC 5 2 roll awidthshow}bind def
/SF{ <p style="margin-left:14%;"><b>archive_clear_error</b>(<i>struct&nbsp;archive&nbsp;*</i>);</p>
findfont exch
[exch dup 0 exch 0 exch neg 0 0]makefont <p style="margin-left:8%; margin-top: 1em"><i>int</i></p>
dup setfont
[exch/setfont cvx]cvx bind def
}bind def <p style="margin-left:14%;"><b>archive_compression</b>(<i>struct&nbsp;archive&nbsp;*</i>);</p>
/MF{
findfont <p style="margin-left:8%; margin-top: 1em"><i>const char
[5 2 roll *</i></p>
0 3 1 roll
neg 0 0]makefont
dup setfont <p style="margin-left:14%;"><b>archive_compression_name</b>(<i>struct&nbsp;archive&nbsp;*</i>);</p>
[exch/setfont cvx]cvx bind def
}bind def <p style="margin-left:8%; margin-top: 1em"><i>void</i></p>
/level0 0 def
/RES 0 def
/PL 0 def <p style="margin-left:14%;"><b>archive_copy_error</b>(<i>struct&nbsp;archive&nbsp;*</i>,
/LS 0 def <i>struct&nbsp;archive&nbsp;*</i>);</p>
/MANUAL{
statusdict begin/manualfeed true store end <p style="margin-left:8%; margin-top: 1em"><i>int</i></p>
}bind def
/PLG{
gsave newpath clippath pathbbox grestore <p style="margin-left:14%;"><b>archive_errno</b>(<i>struct&nbsp;archive&nbsp;*</i>);</p>
exch pop add exch pop
}bind def <p style="margin-left:8%; margin-top: 1em"><i>const char
/BP{ *</i></p>
/level0 save def
1 setlinecap
1 setlinejoin <p style="margin-left:14%;"><b>archive_error_string</b>(<i>struct&nbsp;archive&nbsp;*</i>);</p>
72 RES div dup scale
LS{ <p style="margin-left:8%; margin-top: 1em"><i>int</i></p>
90 rotate
}{
0 PL translate <p style="margin-left:14%;"><b>archive_file_count</b>(<i>struct&nbsp;archive&nbsp;*</i>);</p>
}ifelse
1 -1 scale <p style="margin-left:8%; margin-top: 1em"><i>int</i></p>
}bind def
/EP{
level0 restore <p style="margin-left:14%;"><b>archive_format</b>(<i>struct&nbsp;archive&nbsp;*</i>);</p>
showpage
}def <p style="margin-left:8%; margin-top: 1em"><i>const char
/DA{ *</i></p>
newpath arcn stroke
}bind def
/SN{ <p style="margin-left:14%;"><b>archive_format_name</b>(<i>struct&nbsp;archive&nbsp;*</i>);</p>
transform
.25 sub exch .25 sub exch <p style="margin-left:8%; margin-top: 1em"><i>void</i></p>
round .25 add exch round .25 add exch
itransform
}bind def <p valign="top"><b>archive_set_error</b>(<i>struct&nbsp;archive&nbsp;*</i>,
/DL{ <i>int&nbsp;error_code</i>,
SN <i>const&nbsp;char&nbsp;*fmt</i>, <i>...</i>);</p>
moveto
SN
lineto stroke <p style="margin-top: 1em" valign="top"><b>DESCRIPTION</b></p>
}bind def
/DC{ <p style="margin-left:8%;">These functions provide access
newpath 0 360 arc closepath to various information about the struct archive object used
}bind def in the libarchive(3) library.</p>
/TM matrix def
/DE{ <p valign="top"><b>archive_clear_error</b>()</p>
TM currentmatrix pop
translate scale newpath 0 0 .5 0 360 arc closepath <p style="margin-left:20%;">Clears any error information
TM setmatrix left over from a previous call. Not generally used in client
}bind def code.</p>
/RC/rcurveto load def
/RL/rlineto load def <p valign="top"><b>archive_compression</b>()</p>
/ST/stroke load def
/MT/moveto load def <p style="margin-left:20%;">Returns a numeric code
/CL/closepath load def indicating the current compression. This value is set by
/Fr{ <b>archive_read_open</b>().</p>
setrgbcolor fill
}bind def <p valign="top"><b>archive_compression_name</b>()</p>
/setcmykcolor where{
pop <p style="margin-left:20%;">Returns a text description of
/Fk{ the current compression suitable for display.</p>
setcmykcolor fill
}bind def <p valign="top"><b>archive_copy_error</b>()</p>
}if
/Fg{ <p style="margin-left:20%;">Copies error information from
setgray fill one archive to another.</p>
}bind def
/FL/fill load def <p valign="top"><b>archive_errno</b>()</p>
/LW/setlinewidth load def
/Cr/setrgbcolor load def <p style="margin-left:20%;">Returns a numeric error code
/setcmykcolor where{ (see errno(2)) indicating the reason for the most recent
pop error return.</p>
/Ck/setcmykcolor load def
}if <p valign="top"><b>archive_error_string</b>()</p>
/Cg/setgray load def
/RE{ <p style="margin-left:20%;">Returns a textual error message
findfont suitable for display. The error message here is usually more
dup maxlength 1 index/FontName known not{1 add}if dict begin specific than that obtained from passing the result of
{ <b>archive_errno</b>() to strerror(3).</p>
1 index/FID ne{def}{pop pop}ifelse
}forall <p valign="top"><b>archive_file_count</b>()</p>
/Encoding exch def
dup/FontName exch def <p style="margin-left:20%;">Returns a count of the number
currentdict end definefont pop of files processed by this archive object. The count is
}bind def incremented by calls to archive_write_header or
/DEFS 0 def archive_read_next_header.</p>
/EBEGIN{
moveto <p valign="top"><b>archive_format</b>()</p>
DEFS begin
}bind def <p style="margin-left:20%;">Returns a numeric code
/EEND/end load def indicating the format of the current archive entry. This
/CNT 0 def value is set by a successful call to
/level1 0 def <b>archive_read_next_header</b>(). Note that it is common
/PBEGIN{ for this value to change from entry to entry. For example, a
/level1 save def tar archive might have several entries that utilize GNU tar
translate extensions and several entries that do not. These entries
div 3 1 roll div exch scale will have different format codes.</p>
neg exch neg exch translate
0 setgray <p valign="top"><b>archive_format_name</b>()</p>
0 setlinecap
1 setlinewidth <p style="margin-left:20%;">A textual description of the
0 setlinejoin format of the current entry.</p>
10 setmiterlimit
[]0 setdash <p valign="top"><b>archive_set_error</b>()</p>
/setstrokeadjust where{
pop <p style="margin-left:20%;">Sets the numeric error code and
false setstrokeadjust error description that will be returned by
}if <b>archive_errno</b>() and <b>archive_error_string</b>().
/setoverprint where{ This function should be used within I/O callbacks to set
pop system-specific error codes and error descriptions. This
false setoverprint function accepts a printf-like format string and arguments.
}if However, you should be careful to use only the following
newpath printf format specifiers: &lsquo;&lsquo;%c&rsquo;&rsquo;,
/CNT countdictstack def &lsquo;&lsquo;%d&rsquo;&rsquo;,
userdict begin &lsquo;&lsquo;%jd&rsquo;&rsquo;,
/showpage{}def &lsquo;&lsquo;%jo&rsquo;&rsquo;,
/setpagedevice{}def &lsquo;&lsquo;%ju&rsquo;&rsquo;,
}bind def &lsquo;&lsquo;%jx&rsquo;&rsquo;,
/PEND{ &lsquo;&lsquo;%ld&rsquo;&rsquo;,
countdictstack CNT sub{end}repeat &lsquo;&lsquo;%lo&rsquo;&rsquo;,
level1 restore &lsquo;&lsquo;%lu&rsquo;&rsquo;,
}bind def &lsquo;&lsquo;%lx&rsquo;&rsquo;,
end def &lsquo;&lsquo;%o&rsquo;&rsquo;,
/setpacking where{ &lsquo;&lsquo;%u&rsquo;&rsquo;,
pop &lsquo;&lsquo;%s&rsquo;&rsquo;,
setpacking &lsquo;&lsquo;%x&rsquo;&rsquo;,
}if &lsquo;&lsquo;%%&rsquo;&rsquo;. Field-width specifiers and
%%EndResource other printf features are not uniformly supported and should
%%EndProlog not be used.</p>
%%BeginSetup
%%BeginFeature: *PageSize Default <p style="margin-top: 1em" valign="top"><b>SEE ALSO</b></p>
<< /PageSize [ 612 792 ] /ImagingBBox null >> setpagedevice
%%EndFeature <p style="margin-left:8%;">archive_read(3),
%%IncludeResource: font Times-Roman archive_write(3), libarchive(3), printf(3)</p>
grops begin/DEFS 1 dict def DEFS begin/u{.001 mul}bind def end/RES 72
def/PL 792 def/LS false def/ENC0[/asciicircum/asciitilde/Scaron/Zcaron <p style="margin-top: 1em" valign="top"><b>HISTORY</b></p>
/scaron/zcaron/Ydieresis/trademark/quotesingle/Euro/.notdef/.notdef
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef <p style="margin-left:8%;">The <b>libarchive</b> library
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef first appeared in FreeBSD&nbsp;5.3.</p>
/.notdef/.notdef/space/exclam/quotedbl/numbersign/dollar/percent
/ampersand/quoteright/parenleft/parenright/asterisk/plus/comma/hyphen <p style="margin-top: 1em" valign="top"><b>AUTHORS</b></p>
/period/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon
/semicolon/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O <p style="margin-left:8%;">The <b>libarchive</b> library
/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright/circumflex was written by Tim Kientzle
/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y &lang;kientzle@acm.org&rang;.</p>
/z/braceleft/bar/braceright/tilde/.notdef/quotesinglbase/guillemotleft
/guillemotright/bullet/florin/fraction/perthousand/dagger/daggerdbl
/endash/emdash/ff/fi/fl/ffi/ffl/dotlessi/dotlessj/grave/hungarumlaut <p style="margin-left:8%; margin-top: 1em">FreeBSD&nbsp;9.0
/dotaccent/breve/caron/ring/ogonek/quotedblleft/quotedblright/oe/lslash January&nbsp;8, 2005 FreeBSD&nbsp;9.0</p>
/quotedblbase/OE/Lslash/.notdef/exclamdown/cent/sterling/currency/yen <hr>
/brokenbar/section/dieresis/copyright/ordfeminine/guilsinglleft </body>
/logicalnot/minus/registered/macron/degree/plusminus/twosuperior </html>
/threesuperior/acute/mu/paragraph/periodcentered/cedilla/onesuperior
/ordmasculine/guilsinglright/onequarter/onehalf/threequarters
/questiondown/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE
/Ccedilla/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex
/Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis
/multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute/Thorn
/germandbls/agrave/aacute/acircumflex/atilde/adieresis/aring/ae/ccedilla
/egrave/eacute/ecircumflex/edieresis/igrave/iacute/icircumflex/idieresis
/eth/ntilde/ograve/oacute/ocircumflex/otilde/odieresis/divide/oslash
/ugrave/uacute/ucircumflex/udieresis/yacute/thorn/ydieresis]def
/Times-Roman@0 ENC0/Times-Roman RE
%%EndSetup
%%Page: 1 1
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF(<html>)0 12 Q(<head>)0 24 Q(<title>)36 36 Q
(January 8, 2005 archi)74.5 48 Q -.15(ve)-.25 G(_util 3).15 E(</title>)
36 72 Q 0 Cg EP
%%Page: 2 2
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF(<style type="te)36 12 Q(xt/css">)-.15 E(<!--)36
24 Q(body { mar)72 36 Q(gin-left:4%; })-.18 E(H1, H2, H3, H4, H5 {)72 48
Q(color: maroon; padding: 4pt; mar)108 60 Q(gin-left: -4%;)-.18 E
(border: solid; border)108 72 Q(-width: thin; width: 100%;)-.2 E 0 Cg EP
%%Page: 3 3
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF(background: r)108 12 Q(gb\(204,204,255\))-.18 E
(})72 24 Q(-->)36 36 Q(</style>)36 48 Q(</head>)0 60 Q
(<body bgcolor="#FFFFFF" te)0 72 Q(xt="#000000">)-.15 E 0 Cg EP
%%Page: 4 4
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF(<h3 id="N)36 12 Q(AME">)-.35 E -.35(NA)36 24 S
(ME).35 E(</h3>)36 36 Q(<b>archi)0 48 Q -.15(ve)-.25 G
(_clear_error</b>,).15 E(<b>archi)0 60 Q -.15(ve)-.25 G
(_compression</b>,).15 E(<b>archi)0 72 Q -.15(ve)-.25 G
(_compression_name</b>,).15 E 0 Cg EP
%%Page: 5 5
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF(<b>archi)0 12 Q -.15(ve)-.25 G(_cop).15 E
(y_error</b>,)-.1 E(<b>archi)0 24 Q -.15(ve)-.25 G(_errno</b>,).15 E
(<b>archi)0 36 Q -.15(ve)-.25 G(_error_string</b>,).15 E(<b>archi)0 48 Q
-.15(ve)-.25 G(_\214le_count</b>,).15 E(<b>archi)0 60 Q -.15(ve)-.25 G
(_format</b>,).15 E(<b>archi)0 72 Q -.15(ve)-.25 G(_format_name</b>,).15
E 0 Cg EP
%%Page: 6 6
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF(<b>archi)0 12 Q -.15(ve)-.25 G(_set_error</b>)
.15 E 2.5(-l)0 24 S(ibarchi)-2.5 E .3 -.15(ve u)-.25 H(tility functions)
.15 E(<h3 id="SYNOPSIS">)36 36 Q(SYNOPSIS)36 48 Q(</h3>)36 60 Q
(<br><br><code></code><code>v)0 72 Q(oid</code>)-.2 E 0 Cg EP
%%Page: 7 7
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF(<b>archi)0 12 Q -.15(ve)-.25 G
(_clear_error</b>\(<code></code><code>struct archi).15 E .3 -.15(ve *)
-.25 H(</code>\)).15 E(<br><br><code></code><code>int</code>)0 24 Q
(<b>archi)0 36 Q -.15(ve)-.25 G
(_compression</b>\(<code></code><code>struct archi).15 E .3 -.15(ve *)
-.25 H(</code>\)).15 E(<br><br><code></code><code>const</code><code> ch\
ar</code><code> *</code>)0 48 Q(<b>archi)0 60 Q -.15(ve)-.25 G
(_compression_name</b>\(<code></code><code>struct archi).15 E .3 -.15
(ve *)-.25 H(</code>\)).15 E(<br><br><code></code><code>v)0 72 Q
(oid</code>)-.2 E 0 Cg EP
%%Page: 8 8
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF(<b>archi)0 12 Q -.15(ve)-.25 G(_cop).15 E
(y_error</b>\(<code></code><code>struct archi)-.1 E .3 -.15(ve *)-.25 H
(</code><code>, struct archi).15 E .3 -.15(ve *)-.25 H(</code>\)).15 E
(<br><br><code></code><code>int</code>)0 24 Q(<b>archi)0 36 Q -.15(ve)
-.25 G(_errno</b>\(<code></code><code>struct archi).15 E .3 -.15(ve *)
-.25 H(</code>\)).15 E(<br><br><code></code><code>const</code><code> ch\
ar</code><code> *</code>)0 48 Q(<b>archi)0 60 Q -.15(ve)-.25 G
(_error_string</b>\(<code></code><code>struct archi).15 E .3 -.15(ve *)
-.25 H(</code>\)).15 E(<br><br><code></code><code>int</code>)0 72 Q 0 Cg
EP
%%Page: 9 9
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF(<b>archi)0 12 Q -.15(ve)-.25 G
(_\214le_count</b>\(<code></code><code>struct archi).15 E .3 -.15(ve *)
-.25 H(</code>\)).15 E(<br><br><code></code><code>int</code>)0 24 Q
(<b>archi)0 36 Q -.15(ve)-.25 G
(_format</b>\(<code></code><code>struct archi).15 E .3 -.15(ve *)-.25 H
(</code>\)).15 E(<br><br><code></code><code>const</code><code> char</co\
de><code> *</code>)0 48 Q(<b>archi)0 60 Q -.15(ve)-.25 G
(_format_name</b>\(<code></code><code>struct archi).15 E .3 -.15(ve *)
-.25 H(</code>\)).15 E(<br><br><code></code><code>v)0 72 Q(oid</code>)
-.2 E 0 Cg EP
%%Page: 10 10
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF(<b>archi)0 12 Q -.15(ve)-.25 G
(_set_error</b>\(<code></code>).15 E(<code></code><code>struct archi)0
24 Q .3 -.15(ve *)-.25 H(</code>).15 E
(<code></code><code>int error_code</code>)0 36 Q
(<code></code><code>const char *fmt</code>)0 48 Q
(<code></code><code>...</code>)0 60 Q(\))0 72 Q 0 Cg EP
%%Page: 11 11
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF(<h3 id="DESCRIPTION">)36 12 Q(DESCRIPTION)36 24
Q(</h3>)36 36 Q(These functions pro)0 48 Q(vide access to v)-.15 E
(arious information about the)-.25 E(<font size="-1"></font><font size=\
"-1">struct</font><font size="-1"> archi)0 60 Q -.15(ve)-.25 G(</font>)
.15 E(object used in the)0 72 Q 0 Cg EP
%%Page: 12 12
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF(<a href="../html3/libarchi)0 12 Q -.15(ve)-.25 G
(.html">libarchi).15 E -.15(ve)-.25 G(\(3\)</a>).15 E(library)0 24 Q(.)
-.65 E(<dl compact>)0 36 Q(<dt><b>archi)0 48 Q -.15(ve)-.25 G
(_clear_error</b>\(<code></code>\)<dd>).15 E(Clears an)0 60 Q 2.5(ye)
-.15 G(rror information left o)-2.5 E -.15(ve)-.15 G 2.5(rf).15 G
(rom a pre)-2.5 E(vious call.)-.25 E(Not generally used in client code.)
0 72 Q 0 Cg EP
%%Page: 13 13
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF(<dt><b>archi)0 12 Q -.15(ve)-.25 G
(_compression</b>\(<code></code>\)<dd>).15 E
(Returns a numeric code indicating the current compression.)0 24 Q
(This v)0 36 Q(alue is set by)-.25 E(<b>archi)0 48 Q -.15(ve)-.25 G
(_read_open</b>\(<code></code>\).).15 E(<dt><b>archi)0 60 Q -.15(ve)-.25
G(_compression_name</b>\(<code></code>\)<dd>).15 E(Returns a te)0 72 Q
(xt description of the current compression suitable for display)-.15 E
(.)-.65 E 0 Cg EP
%%Page: 14 14
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF(<dt><b>archi)0 12 Q -.15(ve)-.25 G(_cop).15 E
(y_error</b>\(<code></code>\)<dd>)-.1 E
(Copies error information from one archi)0 24 Q .3 -.15(ve t)-.25 H 2.5
(oa).15 G(nother)-2.5 E(.)-.55 E(<dt><b>archi)0 36 Q -.15(ve)-.25 G
(_errno</b>\(<code></code>\)<dd>).15 E
(Returns a numeric error code \(see)0 48 Q
(<a href="../html2/errno.html">errno\(2\)</a>\))0 60 Q
(indicating the reason for the most recent error return.)0 72 Q 0 Cg EP
%%Page: 15 15
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF(<dt><b>archi)0 12 Q -.15(ve)-.25 G
(_error_string</b>\(<code></code>\)<dd>).15 E(Returns a te)0 24 Q
(xtual error message suitable for display)-.15 E(.)-.65 E
(The error message here is usually more speci\214c than that)0 36 Q
(obtained from passing the result of)0 48 Q(<b>archi)0 60 Q -.15(ve)-.25
G(_errno</b>\(<code></code>\)).15 E(to)0 72 Q 0 Cg EP
%%Page: 16 16
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF(<a href="../html3/strerror)0 12 Q
(.html">strerror\(3\)</a>.)-.55 E(<dt><b>archi)0 24 Q -.15(ve)-.25 G
(_\214le_count</b>\(<code></code>\)<dd>).15 E
(Returns a count of the number of \214les processed by this archi)0 36 Q
.3 -.15(ve o)-.25 H(bject.).15 E(The count is incremented by calls to)0
48 Q(<code>archi)0 60 Q -.15(ve)-.25 G(_write_header</code>).15 E(or)0
72 Q 0 Cg EP
%%Page: 17 17
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF(<code>archi)0 12 Q -.15(ve)-.25 G(_read_ne).15 E
(xt_header</code>)-.15 E(<dt><b>archi)0 24 Q -.15(ve)-.25 G
(_format</b>\(<code></code>\)<dd>).15 E
(Returns a numeric code indicating the format of the current)0 36 Q
(archi)0 48 Q .3 -.15(ve e)-.25 H(ntry).15 E(.)-.65 E(This v)0 60 Q
(alue is set by a successful call to)-.25 E(<b>archi)0 72 Q -.15(ve)-.25
G(_read_ne).15 E(xt_header</b>\(<code></code>\).)-.15 E 0 Cg EP
%%Page: 18 18
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF(Note that it is common for this v)0 12 Q
(alue to change from)-.25 E(entry to entry)0 24 Q(.)-.65 E -.15(Fo)0 36
S 2.5(re).15 G(xample, a tar archi)-2.65 E .3 -.15(ve m)-.25 H(ight ha)
.15 E .3 -.15(ve s)-.2 H -2.15 -.25(ev e).15 H(ral entries that).25 E
(utilize GNU tar e)0 48 Q(xtensions and se)-.15 E -.15(ve)-.25 G
(ral entries that do not.).15 E(These entries will ha)0 60 Q .3 -.15
(ve d)-.2 H(if).15 E(ferent format codes.)-.25 E(<dt><b>archi)0 72 Q
-.15(ve)-.25 G(_format_name</b>\(<code></code>\)<dd>).15 E 0 Cg EP
%%Page: 19 19
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF 2.5(At)0 12 S -.15(ex)-2.5 G
(tual description of the format of the current entry).15 E(.)-.65 E
(<dt><b>archi)0 24 Q -.15(ve)-.25 G(_set_error</b>\(<code></code>\)<dd>)
.15 E(Sets the numeric error code and error description that will be re\
turned)0 36 Q(by)0 48 Q(<b>archi)0 60 Q -.15(ve)-.25 G
(_errno</b>\(<code></code>\)).15 E(and)0 72 Q 0 Cg EP
%%Page: 20 20
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF(<b>archi)0 12 Q -.15(ve)-.25 G
(_error_string</b>\(<code></code>\).).15 E(This function should be used\
within I/O callbacks to set system-speci\214c)0 24 Q
(error codes and error descriptions.)0 36 Q
(This function accepts a printf-lik)0 48 Q 2.5(ef)-.1 G
(ormat string and ar)-2.5 E(guments.)-.18 E(Ho)0 60 Q(we)-.25 E -.15(ve)
-.25 G .8 -.4(r, y).15 H(ou should be careful to use only the follo).4 E
(wing printf)-.25 E(format speci\214ers:)0 72 Q 0 Cg EP
%%Page: 21 21
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF -.74(``)0 12 S(%c').74 E(',)-.74 E -.74(``)0 24
S(%d').74 E(',)-.74 E -.74(``)0 36 S(%jd').74 E(',)-.74 E -.74(``)0 48 S
(%jo').74 E(',)-.74 E -.74(``)0 60 S(%ju').74 E(',)-.74 E -.74(``)0 72 S
(%jx').74 E(',)-.74 E 0 Cg EP
%%Page: 22 22
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF -.74(``)0 12 S(%ld').74 E(',)-.74 E -.74(``)0 24
S(%lo').74 E(',)-.74 E -.74(``)0 36 S(%lu').74 E(',)-.74 E -.74(``)0 48
S(%lx').74 E(',)-.74 E -.74(``)0 60 S(%o').74 E(',)-.74 E -.74(``)0 72 S
(%u').74 E(',)-.74 E 0 Cg EP
%%Page: 23 23
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF -.74(``)0 12 S(%s').74 E(',)-.74 E -.74(``)0 24
S(%x').74 E(',)-.74 E -.74(``)0 36 S(%%').74 E('.)-.74 E
(Field-width speci\214ers and other printf features are)0 48 Q
(not uniformly supported and should not be used.)0 60 Q(</dl>)0 72 Q 0
Cg EP
%%Page: 24 24
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF(<h3 id="SEE ALSO">)36 12 Q(SEE ALSO)36 24 Q
(</h3>)36 36 Q(<a href="../html3/archi)0 48 Q -.15(ve)-.25 G
(_read.html">archi).15 E -.15(ve)-.25 G(_read\(3\)</a>,).15 E
(<a href="../html3/archi)0 60 Q -.15(ve)-.25 G(_write.html">archi).15 E
-.15(ve)-.25 G(_write\(3\)</a>,).15 E(<a href="../html3/libarchi)0 72 Q
-.15(ve)-.25 G(.html">libarchi).15 E -.15(ve)-.25 G(\(3\)</a>,).15 E 0
Cg EP
%%Page: 25 25
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF(<a href="../html3/printf.html">printf\(3\)</a>)0
12 Q(<h3 id="HIST)36 24 Q(OR)-.18 E(Y">)-.65 E(HIST)36 36 Q(OR)-.18 E(Y)
-.65 E(</h3>)36 48 Q(The)0 60 Q(<b>libarchi)0 72 Q -.15(ve)-.25 G(</b>)
.15 E 0 Cg EP
%%Page: 26 26
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF(library \214rst appeared in)0 12 Q(FreeBSD5.3.)0
24 Q(<h3 id="A)36 36 Q(UTHORS">)-.55 E -.55(AU)36 48 S(THORS).55 E
(</h3>)36 60 Q(<p>)36 72 Q 0 Cg EP
%%Page: 27 27
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF(The)0 12 Q(<b>libarchi)0 24 Q -.15(ve)-.25 G
(</b>).15 E(library w)0 36 Q(as written by)-.1 E -.35(Ti)0 48 S 2.5(mK)
.35 G(ientzle &lt;kientzle@acm.or)-2.5 E(g&gt;.)-.18 E(</body>)0 60 Q
(</html>)0 72 Q 0 Cg EP
%%Trailer
end
%%EOF

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -1,622 +1,339 @@
%!PS-Adobe-3.0 <!-- Creator : groff version 1.19.2 -->
%%Creator: groff version 1.19.2 <!-- CreationDate: Sun Mar 14 19:50:32 2010 -->
%%CreationDate: Sun Mar 14 02:49:17 2010 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
%%DocumentNeededResources: font Times-Roman "http://www.w3.org/TR/html4/loose.dtd">
%%DocumentSuppliedResources: procset grops 1.19 2 <html>
%%Pages: 46 <head>
%%PageOrder: Ascend <meta name="generator" content="groff -Thtml, see www.gnu.org">
%%DocumentMedia: Default 612 792 0 () () <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
%%Orientation: Portrait <meta name="Content-Style" content="text/css">
%%EndComments <style type="text/css">
%%BeginDefaults p { margin-top: 0; margin-bottom: 0; }
%%PageMedia: Default pre { margin-top: 0; margin-bottom: 0; }
%%EndDefaults table { margin-top: 0; margin-bottom: 0; }
%%BeginProlog </style>
%%BeginResource: procset grops 1.19 2 <title></title>
%!PS-Adobe-3.0 Resource-ProcSet </head>
/setpacking where{ <body>
pop
currentpacking <hr>
true setpacking
}if
/grops 120 dict dup begin <p valign="top">MTREE(5) FreeBSD File Formats Manual
/SC 32 def MTREE(5)</p>
/A/show load def
/B{0 SC 3 -1 roll widthshow}bind def <p style="margin-top: 1em" valign="top"><b>NAME</b></p>
/C{0 exch ashow}bind def
/D{0 exch 0 SC 5 2 roll awidthshow}bind def <p style="margin-left:8%;"><b>mtree</b> &mdash; format of
/E{0 rmoveto show}bind def mtree dir hierarchy files</p>
/F{0 rmoveto 0 SC 3 -1 roll widthshow}bind def
/G{0 rmoveto 0 exch ashow}bind def
/H{0 rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def <p style="margin-top: 1em" valign="top"><b>DESCRIPTION</b></p>
/I{0 exch rmoveto show}bind def
/J{0 exch rmoveto 0 SC 3 -1 roll widthshow}bind def <p style="margin-left:8%;">The <b>mtree</b> format is a
/K{0 exch rmoveto 0 exch ashow}bind def textual format that describes a collection of filesystem
/L{0 exch rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def objects. Such files are typically used to create or verify
/M{rmoveto show}bind def directory hierarchies.</p>
/N{rmoveto 0 SC 3 -1 roll widthshow}bind def
/O{rmoveto 0 exch ashow}bind def <p style="margin-left:8%; margin-top: 1em"><b>General
/P{rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def Format</b> <br>
/Q{moveto show}bind def An <b>mtree</b> file consists of a series of lines, each
/R{moveto 0 SC 3 -1 roll widthshow}bind def providing information about a single filesystem object.
/S{moveto 0 exch ashow}bind def Leading whitespace is always ignored.</p>
/T{moveto 0 exch 0 SC 5 2 roll awidthshow}bind def
/SF{ <p style="margin-left:8%; margin-top: 1em">When encoding
findfont exch file or pathnames, any backslash character or character
[exch dup 0 exch 0 exch neg 0 0]makefont outside of the 95 printable ASCII characters must be encoded
dup setfont as a a backslash followed by three octal digits. When
[exch/setfont cvx]cvx bind def reading mtree files, any appearance of a backslash followed
}bind def by three octal digits should be converted into the
/MF{ corresponding character.</p>
findfont
[5 2 roll <p style="margin-left:8%; margin-top: 1em">Each line is
0 3 1 roll interpreted independently as one of the following types:</p>
neg 0 0]makefont
dup setfont <p style="margin-top: 1em" valign="top">Signature</p>
[exch/setfont cvx]cvx bind def
}bind def <p style="margin-left:26%; margin-top: 1em">The first line
/level0 0 def of any mtree file must begin with
/RES 0 def &lsquo;&lsquo;#mtree&rsquo;&rsquo;. If a file contains any
/PL 0 def full path entries, the first line should begin with
/LS 0 def &lsquo;&lsquo;#mtree v2.0&rsquo;&rsquo;, otherwise, the
/MANUAL{ first line should begin with &lsquo;&lsquo;#mtree
statusdict begin/manualfeed true store end v1.0&rsquo;&rsquo;.</p>
}bind def
/PLG{ <p style="margin-top: 1em" valign="top">Blank</p>
gsave newpath clippath pathbbox grestore
exch pop add exch pop <p style="margin-left:26%; margin-top: 1em">Blank lines are
}bind def ignored.</p>
/BP{
/level0 save def <p style="margin-top: 1em" valign="top">Comment</p>
1 setlinecap
1 setlinejoin <p style="margin-left:26%; margin-top: 1em">Lines beginning
72 RES div dup scale with <b>#</b> are ignored.</p>
LS{
90 rotate <p style="margin-top: 1em" valign="top">Special</p>
}{
0 PL translate <p style="margin-left:26%; margin-top: 1em">Lines beginning
}ifelse with <b>/</b> are special commands that influence the
1 -1 scale interpretation of later lines.</p>
}bind def
/EP{ <p style="margin-top: 1em" valign="top">Relative</p>
level0 restore
showpage <p style="margin-left:26%; margin-top: 1em">If the first
}def whitespace-delimited word has no <b>/</b> characters, it is
/DA{ the name of a file in the current directory. Any relative
newpath arcn stroke entry that describes a directory changes the current
}bind def directory.</p>
/SN{
transform <p style="margin-top: 1em" valign="top">dot-dot</p>
.25 sub exch .25 sub exch
round .25 add exch round .25 add exch <p style="margin-left:26%; margin-top: 1em">As a special
itransform case, a relative entry with the filename <i>..</i> changes
}bind def the current directory to the parent directory. Options on
/DL{ dot-dot entries are always ignored.</p>
SN
moveto <p style="margin-top: 1em" valign="top">Full</p>
SN
lineto stroke <p style="margin-left:26%; margin-top: 1em">If the first
}bind def whitespace-delimited word has a <b>/</b> character after the
/DC{ first character, it is the pathname of a file relative to
newpath 0 360 arc closepath the starting directory. There can be multiple full entries
}bind def describing the same file.</p>
/TM matrix def
/DE{ <p style="margin-left:8%; margin-top: 1em">Some tools that
TM currentmatrix pop process <b>mtree</b> files may require that multiple lines
translate scale newpath 0 0 .5 0 360 arc closepath describing the same file occur consecutively. It is not
TM setmatrix permitted for the same file to be mentioned using both a
}bind def relative and a full file specification.</p>
/RC/rcurveto load def
/RL/rlineto load def <p style="margin-left:8%; margin-top: 1em"><b>Special
/ST/stroke load def commands</b> <br>
/MT/moveto load def Two special commands are currently defined:</p>
/CL/closepath load def
/Fr{ <p style="margin-top: 1em" valign="top"><b>/set</b></p>
setrgbcolor fill
}bind def <p style="margin-left:26%; margin-top: 1em">This command
/setcmykcolor where{ defines default values for one or more keywords. It is
pop followed on the same line by one or more
/Fk{ whitespace-separated keyword definitions. These definitions
setcmykcolor fill apply to all following files that do not specify a value for
}bind def that keyword.</p>
}if
/Fg{ <p style="margin-top: 1em" valign="top"><b>/unset</b></p>
setgray fill
}bind def <p style="margin-left:26%; margin-top: 1em">This command
/FL/fill load def removes any default value set by a previous <b>/set</b>
/LW/setlinewidth load def command. It is followed on the same line by one or more
/Cr/setrgbcolor load def keywords separated by whitespace.</p>
/setcmykcolor where{
pop <p style="margin-left:8%; margin-top: 1em"><b>Keywords</b>
/Ck/setcmykcolor load def <br>
}if After the filename, a full or relative entry consists of
/Cg/setgray load def zero or more whitespace-separated keyword definitions. Each
/RE{ such definition consists of a key from the following list
findfont immediately followed by an &rsquo;=&rsquo; sign and a value.
dup maxlength 1 index/FontName known not{1 add}if dict begin Software programs reading mtree files should warn about
{ unrecognized keywords.</p>
1 index/FID ne{def}{pop pop}ifelse
}forall <p style="margin-left:8%; margin-top: 1em">Currently
/Encoding exch def supported keywords are as follows:</p>
dup/FontName exch def
currentdict end definefont pop <p style="margin-top: 1em" valign="top"><b>cksum</b></p>
}bind def
/DEFS 0 def <p style="margin-left:26%; margin-top: 1em">The checksum of
/EBEGIN{ the file using the default algorithm specified by the
moveto cksum(1) utility.</p>
DEFS begin
}bind def
/EEND/end load def <p style="margin-top: 1em" valign="top"><b>contents</b></p>
/CNT 0 def
/level1 0 def <p style="margin-left:26%; margin-top: 1em">The full
/PBEGIN{ pathname of a file that holds the contents of this file.</p>
/level1 save def
translate <p style="margin-top: 1em" valign="top"><b>flags</b></p>
div 3 1 roll div exch scale
neg exch neg exch translate <p style="margin-left:26%; margin-top: 1em">The file flags
0 setgray as a symbolic name. See chflags(1) for information on these
0 setlinecap names. If no flags are to be set the string
1 setlinewidth &lsquo;&lsquo;none&rsquo;&rsquo; may be used to override the
0 setlinejoin current default.</p>
10 setmiterlimit
[]0 setdash <p style="margin-top: 1em" valign="top"><b>gid</b></p>
/setstrokeadjust where{
pop <p style="margin-left:26%; margin-top: 1em">The file group
false setstrokeadjust as a numeric value.</p>
}if
/setoverprint where{ <p style="margin-top: 1em" valign="top"><b>gname</b></p>
pop
false setoverprint <p style="margin-left:26%; margin-top: 1em">The file group
}if as a symbolic name.</p>
newpath
/CNT countdictstack def <p style="margin-top: 1em" valign="top"><b>ignore</b></p>
userdict begin
/showpage{}def <p style="margin-left:26%; margin-top: 1em">Ignore any file
/setpagedevice{}def hierarchy below this file.</p>
}bind def
/PEND{ <p style="margin-top: 1em" valign="top"><b>link</b></p>
countdictstack CNT sub{end}repeat
level1 restore <p style="margin-left:26%; margin-top: 1em">The target of
}bind def the symbolic link when type=link.</p>
end def
/setpacking where{ <p style="margin-top: 1em" valign="top"><b>md5</b></p>
pop
setpacking <p style="margin-left:26%; margin-top: 1em">The MD5 message
}if digest of the file.</p>
%%EndResource
%%EndProlog
%%BeginSetup <p style="margin-top: 1em" valign="top"><b>md5digest</b></p>
%%BeginFeature: *PageSize Default
<< /PageSize [ 612 792 ] /ImagingBBox null >> setpagedevice <p style="margin-left:26%; margin-top: 1em">A synonym for
%%EndFeature <b>md5</b>.</p>
%%IncludeResource: font Times-Roman
grops begin/DEFS 1 dict def DEFS begin/u{.001 mul}bind def end/RES 72 <p style="margin-top: 1em" valign="top"><b>mode</b></p>
def/PL 792 def/LS false def/ENC0[/asciicircum/asciitilde/Scaron/Zcaron
/scaron/zcaron/Ydieresis/trademark/quotesingle/Euro/.notdef/.notdef <p style="margin-left:26%; margin-top: 1em">The current
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef file&rsquo;s permissions as a numeric (octal) or symbolic
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef value.</p>
/.notdef/.notdef/space/exclam/quotedbl/numbersign/dollar/percent
/ampersand/quoteright/parenleft/parenright/asterisk/plus/comma/hyphen <p style="margin-top: 1em" valign="top"><b>nlink</b></p>
/period/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon
/semicolon/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O <p style="margin-left:26%; margin-top: 1em">The number of
/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright/circumflex hard links the file is expected to have.</p>
/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y
/z/braceleft/bar/braceright/tilde/.notdef/quotesinglbase/guillemotleft
/guillemotright/bullet/florin/fraction/perthousand/dagger/daggerdbl <p style="margin-top: 1em" valign="top"><b>nochange</b></p>
/endash/emdash/ff/fi/fl/ffi/ffl/dotlessi/dotlessj/grave/hungarumlaut
/dotaccent/breve/caron/ring/ogonek/quotedblleft/quotedblright/oe/lslash <p style="margin-left:26%; margin-top: 1em">Make sure this
/quotedblbase/OE/Lslash/.notdef/exclamdown/cent/sterling/currency/yen file or directory exists but otherwise ignore all
/brokenbar/section/dieresis/copyright/ordfeminine/guilsinglleft attributes.</p>
/logicalnot/minus/registered/macron/degree/plusminus/twosuperior
/threesuperior/acute/mu/paragraph/periodcentered/cedilla/onesuperior
/ordmasculine/guilsinglright/onequarter/onehalf/threequarters <p style="margin-top: 1em" valign="top"><b>ripemd160digest</b></p>
/questiondown/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE
/Ccedilla/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex <p style="margin-left:26%;">The RIPEMD160 message digest of
/Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis the file.</p>
/multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute/Thorn
/germandbls/agrave/aacute/acircumflex/atilde/adieresis/aring/ae/ccedilla <p style="margin-top: 1em" valign="top"><b>rmd160</b></p>
/egrave/eacute/ecircumflex/edieresis/igrave/iacute/icircumflex/idieresis
/eth/ntilde/ograve/oacute/ocircumflex/otilde/odieresis/divide/oslash <p style="margin-left:26%; margin-top: 1em">A synonym for
/ugrave/uacute/ucircumflex/udieresis/yacute/thorn/ydieresis]def <b>ripemd160digest</b>.</p>
/Times-Roman@0 ENC0/Times-Roman RE
%%EndSetup
%%Page: 1 1 <p style="margin-top: 1em" valign="top"><b>rmd160digest</b></p>
%%BeginPageSetup
BP <p style="margin-left:26%;">A synonym for
%%EndPageSetup <b>ripemd160digest</b>.</p>
/F0 10/Times-Roman@0 SF(<html>)0 12 Q(<head>)0 24 Q(<title>)36 36 Q
(August 20, 2007 MTREE 5)74.5 48 Q(</title>)36 72 Q 0 Cg EP <p style="margin-top: 1em" valign="top"><b>sha1</b></p>
%%Page: 2 2
%%BeginPageSetup <p style="margin-left:26%; margin-top: 1em">The FIPS 160-1
BP (&lsquo;&lsquo;SHA-1&rsquo;&rsquo;) message digest of the
%%EndPageSetup file.</p>
/F0 10/Times-Roman@0 SF(<style type="te)36 12 Q(xt/css">)-.15 E(<!--)36
24 Q(body { mar)72 36 Q(gin-left:4%; })-.18 E(H1, H2, H3, H4, H5 {)72 48
Q(color: maroon; padding: 4pt; mar)108 60 Q(gin-left: -4%;)-.18 E <p style="margin-top: 1em" valign="top"><b>sha1digest</b></p>
(border: solid; border)108 72 Q(-width: thin; width: 100%;)-.2 E 0 Cg EP
%%Page: 3 3 <p style="margin-left:26%; margin-top: 1em">A synonym for
%%BeginPageSetup <b>sha1</b>.</p>
BP
%%EndPageSetup <p style="margin-top: 1em" valign="top"><b>sha256</b></p>
/F0 10/Times-Roman@0 SF(background: r)108 12 Q(gb\(204,204,255\))-.18 E
(})72 24 Q(-->)36 36 Q(</style>)36 48 Q(</head>)0 60 Q <p style="margin-left:26%; margin-top: 1em">The FIPS 180-2
(<body bgcolor="#FFFFFF" te)0 72 Q(xt="#000000">)-.15 E 0 Cg EP (&lsquo;&lsquo;SHA-256&rsquo;&rsquo;) message digest of the
%%Page: 4 4 file.</p>
%%BeginPageSetup
BP
%%EndPageSetup <p style="margin-top: 1em" valign="top"><b>sha256digest</b></p>
/F0 10/Times-Roman@0 SF(<h3 id="N)36 12 Q(AME">)-.35 E -.35(NA)36 24 S
(ME).35 E(</h3>)36 36 Q(<b>mtree</b>)0 48 Q 2.5(-f)0 60 S <p style="margin-left:26%;">A synonym for
(ormat of mtree dir hierarch)-2.5 E 2.5<798c>-.05 G(les)-2.5 E <b>sha256</b>.</p>
(<h3 id="DESCRIPTION">)36 72 Q 0 Cg EP
%%Page: 5 5 <p style="margin-top: 1em" valign="top"><b>size</b></p>
%%BeginPageSetup
BP <p style="margin-left:26%; margin-top: 1em">The size, in
%%EndPageSetup bytes, of the file.</p>
/F0 10/Times-Roman@0 SF(DESCRIPTION)36 12 Q(</h3>)36 24 Q(The)0 36 Q
(<b>mtree</b>)0 48 Q(format is a te)0 60 Q <p style="margin-top: 1em" valign="top"><b>time</b></p>
(xtual format that describes a collection of \214lesystem objects.)-.15
E(Such \214les are typically used to create or v)0 72 Q <p style="margin-left:26%; margin-top: 1em">The last
(erify directory hierarchies.)-.15 E 0 Cg EP modification time of the file.</p>
%%Page: 6 6
%%BeginPageSetup <p style="margin-top: 1em" valign="top"><b>type</b></p>
BP
%%EndPageSetup <p style="margin-left:26%; margin-top: 1em">The type of the
/F0 10/Times-Roman@0 SF(<h4 id="General F)36 12 Q(ormat">)-.15 E file; may be set to any one of the following:</p>
(General F)36 24 Q(ormat)-.15 E(</h4>)36 36 Q(An)0 48 Q(<b>mtree</b>)0
60 Q(\214le consists of a series of lines, each pro)0 72 Q <p style="margin-top: 1em" valign="top"><b>block</b></p>
(viding information)-.15 E 0 Cg EP
%%Page: 7 7 <p style="margin-left:45%; margin-top: 1em">block special
%%BeginPageSetup device</p>
BP
%%EndPageSetup <p valign="top"><b>char</b></p>
/F0 10/Times-Roman@0 SF(about a single \214lesystem object.)0 12 Q
(Leading whitespace is al)0 24 Q -.1(wa)-.1 G(ys ignored.).1 E(<p>)36 36 <p style="margin-left:45%; margin-top: 1em">character
Q(When encoding \214le or pathnames, an)0 48 Q 2.5(yb)-.15 G special device</p>
(ackslash character or)-2.5 E
(character outside of the 95 printable ASCII characters must be)0 60 Q <p valign="top"><b>dir</b></p>
(encoded as a a backslash follo)0 72 Q(wed by three)-.25 E 0 Cg EP
%%Page: 8 8 <p style="margin-left:45%; margin-top: 1em">directory</p>
%%BeginPageSetup
BP <p valign="top"><b>fifo</b></p>
%%EndPageSetup
/F0 10/Times-Roman@0 SF(octal digits.)0 12 Q <p style="margin-left:45%; margin-top: 1em">fifo</p>
(When reading mtree \214les, an)0 24 Q 2.5(ya)-.15 G
(ppearance of a backslash)-2.5 E(follo)0 36 Q <p valign="top"><b>file</b></p>
(wed by three octal digits should be con)-.25 E -.15(ve)-.4 G
(rted into the).15 E(corresponding character)0 48 Q(.)-.55 E(<p>)36 60 Q <p style="margin-left:45%; margin-top: 1em">regular
(Each line is interpreted independently as one of the follo)0 72 Q file</p>
(wing types:)-.25 E 0 Cg EP
%%Page: 9 9 <p valign="top"><b>link</b></p>
%%BeginPageSetup
BP <p style="margin-left:45%; margin-top: 1em">symbolic
%%EndPageSetup link</p>
/F0 10/Times-Roman@0 SF(<dl compact>)0 12 Q(<p><dt>Signature<dd>)0 24 Q
(The \214rst line of an)0 36 Q 2.5(ym)-.15 G(tree \214le must be)-2.5 E <p valign="top"><b>socket</b></p>
(gin with)-.15 E -.74(``)0 48 S(#mtree').74 E('.)-.74 E
(If a \214le contains an)0 60 Q 2.5(yf)-.15 G <p style="margin-left:45%; margin-top: 1em">socket</p>
(ull path entries, the \214rst line should)-2.5 E(be)0 72 Q(gin with)
-.15 E 0 Cg EP <p style="margin-top: 1em" valign="top"><b>uid</b></p>
%%Page: 10 10
%%BeginPageSetup <p style="margin-left:26%; margin-top: 1em">The file owner
BP as a numeric value.</p>
%%EndPageSetup
/F0 10/Times-Roman@0 SF -.74(``)0 12 S(#mtree v2.0').74 E(',)-.74 E <p style="margin-top: 1em" valign="top"><b>uname</b></p>
(otherwise, the \214rst line should be)0 24 Q(gin with)-.15 E -.74(``)0
36 S(#mtree v1.0').74 E('.)-.74 E(<p><dt>Blank<dd>)0 48 Q <p style="margin-left:26%; margin-top: 1em">The file owner
(Blank lines are ignored.)0 60 Q(<p><dt>Comment<dd>)0 72 Q 0 Cg EP as a symbolic name.</p>
%%Page: 11 11
%%BeginPageSetup <p style="margin-top: 1em" valign="top"><b>SEE ALSO</b></p>
BP
%%EndPageSetup <p style="margin-left:8%;">cksum(1), find(1), mtree(8)</p>
/F0 10/Times-Roman@0 SF(Lines be)0 12 Q(ginning with)-.15 E
(<b></b><b>#</b>)0 24 Q(are ignored.)0 36 Q(<p><dt>Special<dd>)0 48 Q <p style="margin-top: 1em" valign="top"><b>BUGS</b></p>
(Lines be)0 60 Q(ginning with)-.15 E(<b></b><b>/</b>)0 72 Q 0 Cg EP
%%Page: 12 12 <p style="margin-left:8%;">The FreeBSD implementation of
%%BeginPageSetup mtree does not currently support the <b>mtree</b> 2.0
BP format. The requirement for a
%%EndPageSetup &lsquo;&lsquo;#mtree&rsquo;&rsquo; signature line is new and
/F0 10/Times-Roman@0 SF(are special commands that in\215uence)0 12 Q not yet widely implemented.</p>
(the interpretation of later lines.)0 24 Q(<p><dt>Relati)0 36 Q -.15(ve)
-.25 G(<dd>).15 E(If the \214rst whitespace-delimited w)0 48 Q <p style="margin-top: 1em" valign="top"><b>HISTORY</b></p>
(ord has no)-.1 E(<b></b><b>/</b>)0 60 Q(characters,)0 72 Q 0 Cg EP
%%Page: 13 13 <p style="margin-left:8%;">The <b>mtree</b> utility
%%BeginPageSetup appeared in 4.3BSD&minus;Reno. The MD5 digest capability was
BP added in FreeBSD&nbsp;2.1, in response to the widespread use
%%EndPageSetup of programs which can spoof cksum(1). The SHA-1 and
/F0 10/Times-Roman@0 SF RIPEMD160 digests were added in FreeBSD&nbsp;4.0, as new
(it is the name of a \214le in the current directory)0 12 Q(.)-.65 E(An) attacks have demonstrated weaknesses in MD5. The SHA-256
0 24 Q 2.5(yr)-.15 G(elati)-2.5 E .3 -.15(ve e)-.25 H digest was added in FreeBSD&nbsp;6.0. Support for file flags
(ntry that describes a directory changes the).15 E(current directory)0 was added in FreeBSD&nbsp;4.0, and mostly comes from NetBSD.
36 Q(.)-.65 E(<p><dt>dot-dot<dd>)0 48 Q(As a special case, a relati)0 60 The &lsquo;&lsquo;full&rsquo;&rsquo; entry format was added
Q .3 -.15(ve e)-.25 H(ntry with the \214lename).15 E by NetBSD.</p>
(<code></code><code>..</code>)0 72 Q 0 Cg EP
%%Page: 14 14
%%BeginPageSetup <p style="margin-left:8%; margin-top: 1em">FreeBSD&nbsp;9.0
BP August&nbsp;20, 2007 FreeBSD&nbsp;9.0</p>
%%EndPageSetup <hr>
/F0 10/Times-Roman@0 SF </body>
(changes the current directory to the parent directory)0 12 Q(.)-.65 E </html>
(Options on dot-dot entries are al)0 24 Q -.1(wa)-.1 G(ys ignored.).1 E
(<p><dt>Full<dd>)0 36 Q(If the \214rst whitespace-delimited w)0 48 Q
(ord has a)-.1 E(<b></b><b>/</b>)0 60 Q(character after)0 72 Q 0 Cg EP
%%Page: 15 15
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF(the \214rst character)0 12 Q 2.5(,i)-.4 G 2.5
(ti)-2.5 G 2.5(st)-2.5 G(he pathname of a \214le relati)-2.5 E .3 -.15
(ve t)-.25 H 2.5(ot).15 G(he)-2.5 E(starting directory)0 24 Q(.)-.65 E
(There can be multiple full entries describing the same \214le.)0 36 Q
(</dl>)0 48 Q(<p>)36 60 Q(Some tools that process)0 72 Q 0 Cg EP
%%Page: 16 16
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF(<b>mtree</b>)0 12 Q
(\214les may require that multiple lines describing the same \214le)0 24
Q(occur consecuti)0 36 Q -.15(ve)-.25 G(ly).15 E(.)-.65 E
(It is not permitted for the same \214le to be mentioned using)0 48 Q
(both a relati)0 60 Q .3 -.15(ve a)-.25 H
(nd a full \214le speci\214cation.).15 E(<h4 id="Special commands">)36
72 Q 0 Cg EP
%%Page: 17 17
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF(Special commands)36 12 Q(</h4>)36 24 Q -1 -.8
(Tw o)0 36 T(special commands are currently de\214ned:)3.3 E
(<dl compact>)0 48 Q(<p><dt><b></b><b>/set</b><dd>)0 60 Q
(This command de\214nes def)0 72 Q(ault v)-.1 E(alues for one or more k)
-.25 E -.15(ey)-.1 G -.1(wo).15 G(rds.).1 E 0 Cg EP
%%Page: 18 18
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF(It is follo)0 12 Q
(wed on the same line by one or more whitespace-separated)-.25 E -.1(ke)
0 24 S(yw)-.05 E(ord de\214nitions.)-.1 E
(These de\214nitions apply to all follo)0 36 Q
(wing \214les that do not specify)-.25 E 2.5(av)0 48 S(alue for that k)
-2.75 E -.15(ey)-.1 G -.1(wo).15 G(rd.).1 E
(<p><dt><b></b><b>/unset</b><dd>)0 60 Q(This command remo)0 72 Q -.15
(ve)-.15 G 2.5(sa).15 G .3 -.15(ny d)-2.5 H(ef).15 E(ault v)-.1 E
(alue set by a pre)-.25 E(vious)-.25 E 0 Cg EP
%%Page: 19 19
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF(<b></b><b>/set</b>)0 12 Q(command.)0 24 Q
(It is follo)0 36 Q(wed on the same line by one or more k)-.25 E -.15
(ey)-.1 G -.1(wo).15 G(rds).1 E(separated by whitespace.)0 48 Q(</dl>)0
60 Q(<h4 id="K)36 72 Q -.15(ey)-.25 G -.1(wo).15 G(rds">).1 E 0 Cg EP
%%Page: 20 20
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF -2.15 -.25(Ke y)36 12 T -.1(wo).25 G(rds).1 E
(</h4>)36 24 Q(After the \214lename, a full or relati)0 36 Q .3 -.15
(ve e)-.25 H(ntry consists of zero).15 E(or more whitespace-separated k)
0 48 Q -.15(ey)-.1 G -.1(wo).15 G(rd de\214nitions.).1 E
(Each such de\214nition consists of a k)0 60 Q .3 -.15(ey f)-.1 H
(rom the follo).15 E(wing)-.25 E(list immediately follo)0 72 Q
(wed by an '=' sign)-.25 E 0 Cg EP
%%Page: 21 21
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF(and a v)0 12 Q(alue.)-.25 E(Softw)0 24 Q
(are programs reading mtree \214les should w)-.1 E(arn about)-.1 E
(unrecognized k)0 36 Q -.15(ey)-.1 G -.1(wo).15 G(rds.).1 E(<p>)36 48 Q
(Currently supported k)0 60 Q -.15(ey)-.1 G -.1(wo).15 G
(rds are as follo).1 E(ws:)-.25 E(<dl compact>)0 72 Q 0 Cg EP
%%Page: 22 22
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF(<p><dt><b></b><b>cksum</b><dd>)0 12 Q
(The checksum of the \214le using the def)0 24 Q
(ault algorithm speci\214ed by)-.1 E(the)0 36 Q
(<a href="../html1/cksum.html">cksum\(1\)</a>)0 48 Q(utility)0 60 Q(.)
-.65 E(<p><dt><b></b><b>contents</b><dd>)0 72 Q 0 Cg EP
%%Page: 23 23
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF
(The full pathname of a \214le that holds the contents of this \214le.)0
12 Q(<p><dt><b></b><b>\215ags</b><dd>)0 24 Q
(The \214le \215ags as a symbolic name.)0 36 Q(See)0 48 Q
(<a href="../html1/ch\215ags.html">ch\215ags\(1\)</a>)0 60 Q
(for information on these names.)0 72 Q 0 Cg EP
%%Page: 24 24
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF(If no \215ags are to be set the string)0 12 Q
-.74(``)0 24 S(none').74 E(')-.74 E(may be used to o)0 36 Q -.15(ve)-.15
G(rride the current def).15 E(ault.)-.1 E(<p><dt><b></b><b>gid</b><dd>)0
48 Q(The \214le group as a numeric v)0 60 Q(alue.)-.25 E
(<p><dt><b></b><b>gname</b><dd>)0 72 Q 0 Cg EP
%%Page: 25 25
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF(The \214le group as a symbolic name.)0 12 Q
(<p><dt><b></b><b>ignore</b><dd>)0 24 Q(Ignore an)0 36 Q 2.5<798c>-.15 G
(le hierarch)-2.5 E 2.5(yb)-.05 G(elo)-2.5 E 2.5(wt)-.25 G(his \214le.)
-2.5 E(<p><dt><b></b><b>link</b><dd>)0 48 Q(The tar)0 60 Q
(get of the symbolic link when type=link.)-.18 E
(<p><dt><b></b><b>md5</b><dd>)0 72 Q 0 Cg EP
%%Page: 26 26
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF(The MD5 message digest of the \214le.)0 12 Q
(<p><dt><b></b><b>md5digest</b><dd>)0 24 Q 2.5(As)0 36 S(ynon)-2.5 E
(ym for)-.15 E(<b></b><b>md5</b>.)0 48 Q(<p><dt><b></b><b>mode</b><dd>)0
60 Q(The current \214le')0 72 Q 2.5(sp)-.55 G
(ermissions as a numeric \(octal\) or symbolic)-2.5 E 0 Cg EP
%%Page: 27 27
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF -.25(va)0 12 S(lue.).25 E
(<p><dt><b></b><b>nlink</b><dd>)0 24 Q
(The number of hard links the \214le is e)0 36 Q(xpected to ha)-.15 E
-.15(ve)-.2 G(.).15 E(<p><dt><b></b><b>nochange</b><dd>)0 48 Q(Mak)0 60
Q 2.5(es)-.1 G(ure this \214le or directory e)-2.5 E(xists b)-.15 E
(ut otherwise ignore all attrib)-.2 E(utes.)-.2 E
(<p><dt><b></b><b>ripemd160digest</b><dd>)0 72 Q 0 Cg EP
%%Page: 28 28
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF(The)0 12 Q
(<font size="-1"></font><font size="-1">RIPEMD160</font>)0 24 Q
(message digest of the \214le.)0 36 Q(<p><dt><b></b><b>rmd160</b><dd>)0
48 Q 2.5(As)0 60 S(ynon)-2.5 E(ym for)-.15 E
(<b></b><b>ripemd160digest</b>.)0 72 Q 0 Cg EP
%%Page: 29 29
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF(<p><dt><b></b><b>rmd160digest</b><dd>)0 12 Q 2.5
(As)0 24 S(ynon)-2.5 E(ym for)-.15 E(<b></b><b>ripemd160digest</b>.)0 36
Q(<p><dt><b></b><b>sha1</b><dd>)0 48 Q(The)0 60 Q
(<font size="-1"></font><font size="-1">FIPS</font>)0 72 Q 0 Cg EP
%%Page: 30 30
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF(160-1)0 12 Q(\(`)0 24 Q
(`<font size="-1"></font><font size="-1">SHA-1</font>')-.74 E('\))-.74 E
(message digest of the \214le.)0 36 Q
(<p><dt><b></b><b>sha1digest</b><dd>)0 48 Q 2.5(As)0 60 S(ynon)-2.5 E
(ym for)-.15 E(<b></b><b>sha1</b>.)0 72 Q 0 Cg EP
%%Page: 31 31
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF(<p><dt><b></b><b>sha256</b><dd>)0 12 Q(The)0 24
Q(<font size="-1"></font><font size="-1">FIPS</font>)0 36 Q(180-2)0 48 Q
(\(`)0 60 Q(`<font size="-1"></font><font size="-1">SHA-256</font>')-.74
E('\))-.74 E(message digest of the \214le.)0 72 Q 0 Cg EP
%%Page: 32 32
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF(<p><dt><b></b><b>sha256digest</b><dd>)0 12 Q 2.5
(As)0 24 S(ynon)-2.5 E(ym for)-.15 E(<b></b><b>sha256</b>.)0 36 Q
(<p><dt><b></b><b>size</b><dd>)0 48 Q
(The size, in bytes, of the \214le.)0 60 Q
(<p><dt><b></b><b>time</b><dd>)0 72 Q 0 Cg EP
%%Page: 33 33
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF(The last modi\214cation time of the \214le.)0 12
Q(<p><dt><b></b><b>type</b><dd>)0 24 Q
(The type of the \214le; may be set to an)0 36 Q 2.5(yo)-.15 G
(ne of the follo)-2.5 E(wing:)-.25 E(<p>)36 48 Q(<dl compact>)0 60 Q
(<dt><b></b><b>block</b><dd>)0 72 Q 0 Cg EP
%%Page: 34 34
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF(block special de)0 12 Q(vice)-.25 E
(<dt><b></b><b>char</b><dd>)0 24 Q(character special de)0 36 Q(vice)-.25
E(<dt><b></b><b>dir</b><dd>)0 48 Q(directory)0 60 Q
(<dt><b></b><b>\214fo</b><dd>)0 72 Q 0 Cg EP
%%Page: 35 35
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF(\214fo)0 12 Q(<dt><b></b><b>\214le</b><dd>)0 24
Q(re)0 36 Q(gular \214le)-.15 E(<dt><b></b><b>link</b><dd>)0 48 Q
(symbolic link)0 60 Q(<dt><b></b><b>sock)0 72 Q(et</b><dd>)-.1 E 0 Cg EP
%%Page: 36 36
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF(sock)0 12 Q(et)-.1 E(</dl>)0 24 Q
(<p><dt><b></b><b>uid</b><dd>)0 36 Q(The \214le o)0 48 Q
(wner as a numeric v)-.25 E(alue.)-.25 E(<p><dt><b></b><b>uname</b><dd>)
0 60 Q(The \214le o)0 72 Q(wner as a symbolic name.)-.25 E 0 Cg EP
%%Page: 37 37
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF(</dl>)0 12 Q(<p>)36 24 Q(<h3 id="SEE ALSO">)36
36 Q(SEE ALSO)36 48 Q(</h3>)36 60 Q
(<a href="../html1/cksum.html">cksum\(1\)</a>,)0 72 Q 0 Cg EP
%%Page: 38 38
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF(<a href="../html1/\214nd.html">\214nd\(1\)</a>,)
0 12 Q(<a href="../html8/mtree.html">mtree\(8\)</a>)0 24 Q(<h3 id="B)36
36 Q(UGS">)-.1 E -.1(BU)36 48 S(GS).1 E(</h3>)36 60 Q(The)0 72 Q 0 Cg EP
%%Page: 39 39
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF(FreeBSD)0 12 Q
(implementation of mtree does not currently support)0 24 Q(the)0 36 Q
(<b>mtree</b>)0 48 Q(2.0)0 60 Q(format.)0 72 Q 0 Cg EP
%%Page: 40 40
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF(The requirement for a)0 12 Q -.74(``)0 24 S
(#mtree').74 E(')-.74 E(signature line is ne)0 36 Q 2.5(wa)-.25 G
(nd not yet widely implemented.)-2.5 E(<h3 id="HIST)36 48 Q(OR)-.18 E
(Y">)-.65 E(HIST)36 60 Q(OR)-.18 E(Y)-.65 E(</h3>)36 72 Q 0 Cg EP
%%Page: 41 41
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF(The)0 12 Q(<b>mtree</b>)0 24 Q
(utility appeared in)0 36 Q(4.3BSDReno.)0 48 Q(The)0 60 Q
(<font size="-1"></font><font size="-1">MD5</font>)0 72 Q 0 Cg EP
%%Page: 42 42
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF(digest capability w)0 12 Q(as added in)-.1 E
(FreeBSD2.1,)0 24 Q
(in response to the widespread use of programs which can spoof)0 36 Q
(<a href="../html1/cksum.html">cksum\(1\)</a>.)0 48 Q(The)0 60 Q
(<font size="-1"></font><font size="-1">SHA-1</font>)0 72 Q 0 Cg EP
%%Page: 43 43
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF(and)0 12 Q
(<font size="-1"></font><font size="-1">RIPEMD160</font>)0 24 Q
(digests were added in)0 36 Q(FreeBSD4.0,)0 48 Q(as ne)0 60 Q 2.5(wa)
-.25 G(ttacks ha)-2.5 E .3 -.15(ve d)-.2 H(emonstrated weaknesses in).15
E(<font size="-1"></font><font size="-1">MD5</font>.)0 72 Q 0 Cg EP
%%Page: 44 44
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF(The)0 12 Q
(<font size="-1"></font><font size="-1">SHA-256</font>)0 24 Q(digest w)0
36 Q(as added in)-.1 E(FreeBSD6.0.)0 48 Q(Support for \214le \215ags w)0
60 Q(as added in)-.1 E(FreeBSD4.0,)0 72 Q 0 Cg EP
%%Page: 45 45
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF(and mostly comes from)0 12 Q(NetBSD.)0 24 Q(The)
0 36 Q -.74(``)0 48 S(full').74 E(')-.74 E(entry format w)0 60 Q
(as added by)-.1 E(NetBSD.)0 72 Q 0 Cg EP
%%Page: 46 46
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF(</body>)0 12 Q(</html>)0 24 Q 0 Cg EP
%%Trailer
end
%%EOF

File diff suppressed because it is too large Load diff

View file

@ -1,4 +1,4 @@
archive_entry(3) NetBSD Library Functions Manual archive_entry(3) archive_entry(3) FreeBSD Library Functions Manual archive_entry(3)
NAME NAME
archive_entry_acl_add_entry, archive_entry_acl_add_entry_w, archive_entry_acl_add_entry, archive_entry_acl_add_entry_w,
@ -259,7 +259,7 @@ SYNOPSIS
DESCRIPTION DESCRIPTION
These functions create and manipulate data objects that represent entries These functions create and manipulate data objects that represent entries
within an archive. You can think of a struct archive_entry as a heavy- within an archive. You can think of a struct archive_entry as a heavy-
duty version of struct stat: it includes everything from struct stat plus duty version of struct stat: it includes everything from struct stat plus
associated pathname, textual group and user names, etc. These objects associated pathname, textual group and user names, etc. These objects
are used by libarchive(3) to represent the metadata associated with a are used by libarchive(3) to represent the metadata associated with a
@ -302,7 +302,7 @@ DESCRIPTION
There are a few set/get functions that merit additional description: There are a few set/get functions that merit additional description:
archive_entry_set_link() archive_entry_set_link()
This function sets the symlink field if it is already set. Oth- This function sets the symlink field if it is already set. Oth-
erwise, it sets the hardlink field. erwise, it sets the hardlink field.
File Flags File Flags
@ -326,7 +326,7 @@ DESCRIPTION
Converting a bitmap to a textual string is a platform-specific operation; Converting a bitmap to a textual string is a platform-specific operation;
bits that are not meaningful on the current platform will be ignored. bits that are not meaningful on the current platform will be ignored.
The canonical text format is a comma-separated list of flag names. The The canonical text format is a comma-separated list of flag names. The
archive_entry_copy_fflags_text() and archive_entry_copy_fflags_text_w() archive_entry_copy_fflags_text() and archive_entry_copy_fflags_text_w()
functions parse the provided text and sets the internal bitmap values. functions parse the provided text and sets the internal bitmap values.
This is a platform-specific operation; names that are not meaningful on This is a platform-specific operation; names that are not meaningful on
@ -342,7 +342,7 @@ DESCRIPTION
An ``Access Control List'' (ACL) is a list of permissions that grant An ``Access Control List'' (ACL) is a list of permissions that grant
access to particular users or groups beyond what would normally be pro- access to particular users or groups beyond what would normally be pro-
vided by standard POSIX mode bits. The ACL handling here addresses some vided by standard POSIX mode bits. The ACL handling here addresses some
deficiencies in the POSIX.1e draft 17 ACL specification. In particular, deficiencies in the POSIX.1e draft 17 ACL specification. In particular,
POSIX.1e draft 17 specifies several different formats, but none of those POSIX.1e draft 17 specifies several different formats, but none of those
formats include both textual user/group names and numeric UIDs/GIDs. formats include both textual user/group names and numeric UIDs/GIDs.
@ -358,4 +358,4 @@ HISTORY
AUTHORS AUTHORS
The libarchive library was written by Tim Kientzle <kientzle@acm.org>. The libarchive library was written by Tim Kientzle <kientzle@acm.org>.
NetBSD 5.0 May 12, 2008 NetBSD 5.0 FreeBSD 9.0 May 12, 2008 FreeBSD 9.0

View file

@ -1,4 +1,4 @@
archive_read(3) NetBSD Library Functions Manual archive_read(3) archive_read(3) FreeBSD Library Functions Manual archive_read(3)
NAME NAME
archive_read_new, archive_read_set_filter_options, archive_read_new, archive_read_set_filter_options,
@ -163,7 +163,7 @@ DESCRIPTION
These functions provide a complete API for reading streaming archives. These functions provide a complete API for reading streaming archives.
The general process is to first create the struct archive object, set The general process is to first create the struct archive object, set
options, initialize the reader, iterate over the archive headers and options, initialize the reader, iterate over the archive headers and
associated data, then close the archive and release all resources. The associated data, then close the archive and release all resources. The
following summary describes the functions in approximately the order they following summary describes the functions in approximately the order they
would be used: would be used:
archive_read_new() archive_read_new()
@ -239,7 +239,7 @@ DESCRIPTION
The currently supported options are: The currently supported options are:
Format iso9660 Format iso9660
joliet Support Joliet extensions. Defaults to enabled, joliet Support Joliet extensions. Defaults to enabled,
use !joliet to disable. use !joliet to disable.
archive_read_open() archive_read_open()
The same as archive_read_open2(), except that the skip callback The same as archive_read_open2(), except that the skip callback
@ -258,7 +258,7 @@ DESCRIPTION
other devices that require strict I/O blocking. other devices that require strict I/O blocking.
archive_read_open_fd() archive_read_open_fd()
Like archive_read_open(), except that it accepts a file descrip- Like archive_read_open(), except that it accepts a file descrip-
tor and block size rather than a set of function pointers. Note tor and block size rather than a set of function pointers. Note
that the file descriptor will not be automatically closed at end- that the file descriptor will not be automatically closed at end-
of-archive. This function is safe for use with tape drives or of-archive. This function is safe for use with tape drives or
other blocked devices. other blocked devices.
@ -314,7 +314,7 @@ DESCRIPTION
invokes archive_write_disk_set_options(3), invokes archive_write_disk_set_options(3),
archive_write_header(3), archive_write_data(3), and archive_write_header(3), archive_write_data(3), and
archive_write_finish_entry(3) to create the entry on disk and archive_write_finish_entry(3) to create the entry on disk and
copy data into it. The flags argument is passed unmodified to copy data into it. The flags argument is passed unmodified to
archive_write_disk_set_options(3). archive_write_disk_set_options(3).
archive_read_extract2() archive_read_extract2()
This is another version of archive_read_extract() that allows you This is another version of archive_read_extract() that allows you
@ -345,9 +345,9 @@ DESCRIPTION
libarchive 2.0. libarchive 2.0.
Note that the library determines most of the relevant information about Note that the library determines most of the relevant information about
the archive by inspection. In particular, it automatically detects the archive by inspection. In particular, it automatically detects
gzip(1) or bzip2(1) compression and transparently performs the appropri- gzip(1) or bzip2(1) compression and transparently performs the appropri-
ate decompression. It also automatically detects the archive format. ate decompression. It also automatically detects the archive format.
A complete description of the struct archive and struct archive_entry A complete description of the struct archive and struct archive_entry
objects can be found in the overview manual page for libarchive(3). objects can be found in the overview manual page for libarchive(3).
@ -493,4 +493,4 @@ BUGS
format of an empty file by inspecting the contents, so this library format of an empty file by inspecting the contents, so this library
treats empty files as having a special ``empty'' format. treats empty files as having a special ``empty'' format.
NetBSD 5.0 April 13, 2009 NetBSD 5.0 FreeBSD 9.0 April 13, 2009 FreeBSD 9.0

View file

@ -1,4 +1,4 @@
archive_read_disk(3) NetBSD Library Functions Manual archive_read_disk(3) archive_read_disk(3) FreeBSD Library Functions Manual archive_read_disk(3)
NAME NAME
archive_read_disk_new, archive_read_disk_set_symlink_logical, archive_read_disk_new, archive_read_disk_set_symlink_logical,
@ -84,7 +84,7 @@ DESCRIPTION
This convenience function installs a standard set of user and This convenience function installs a standard set of user and
group name lookup functions. These functions use getpwid(3) and group name lookup functions. These functions use getpwid(3) and
getgrid(3) to convert ids to names, defaulting to NULL if the getgrid(3) to convert ids to names, defaulting to NULL if the
names cannot be looked up. These functions also implement a sim- names cannot be looked up. These functions also implement a sim-
ple memory cache to reduce the number of calls to getpwid(3) and ple memory cache to reduce the number of calls to getpwid(3) and
getgrid(3). getgrid(3).
@ -201,4 +201,4 @@ BUGS
such methods are implemented, the ``hybrid'' symbolic link mode will make such methods are implemented, the ``hybrid'' symbolic link mode will make
sense. sense.
NetBSD 5.0 March 10, 2009 NetBSD 5.0 FreeBSD 9.0 March 10, 2009 FreeBSD 9.0

View file

@ -1,4 +1,4 @@
archive_util(3) NetBSD Library Functions Manual archive_util(3) archive_util(3) FreeBSD Library Functions Manual archive_util(3)
NAME NAME
archive_clear_error, archive_compression, archive_compression_name, archive_clear_error, archive_compression, archive_compression_name,
@ -47,7 +47,7 @@ DESCRIPTION
Clears any error information left over from a previous call. Not Clears any error information left over from a previous call. Not
generally used in client code. generally used in client code.
archive_compression() archive_compression()
Returns a numeric code indicating the current compression. This Returns a numeric code indicating the current compression. This
value is set by archive_read_open(). value is set by archive_read_open().
archive_compression_name() archive_compression_name()
Returns a text description of the current compression suitable Returns a text description of the current compression suitable
@ -80,7 +80,7 @@ DESCRIPTION
returned by archive_errno() and archive_error_string(). This returned by archive_errno() and archive_error_string(). This
function should be used within I/O callbacks to set system-spe- function should be used within I/O callbacks to set system-spe-
cific error codes and error descriptions. This function accepts cific error codes and error descriptions. This function accepts
a printf-like format string and arguments. However, you should a printf-like format string and arguments. However, you should
be careful to use only the following printf format specifiers: be careful to use only the following printf format specifiers:
``%c'', ``%d'', ``%jd'', ``%jo'', ``%ju'', ``%jx'', ``%ld'', ``%c'', ``%d'', ``%jd'', ``%jo'', ``%ju'', ``%jx'', ``%ld'',
``%lo'', ``%lu'', ``%lx'', ``%o'', ``%u'', ``%s'', ``%x'', ``%lo'', ``%lu'', ``%lx'', ``%o'', ``%u'', ``%s'', ``%x'',
@ -96,4 +96,4 @@ HISTORY
AUTHORS AUTHORS
The libarchive library was written by Tim Kientzle <kientzle@acm.org>. The libarchive library was written by Tim Kientzle <kientzle@acm.org>.
NetBSD 5.0 January 8, 2005 NetBSD 5.0 FreeBSD 9.0 January 8, 2005 FreeBSD 9.0

View file

@ -1,4 +1,4 @@
archive_write(3) NetBSD Library Functions Manual archive_write(3) archive_write(3) FreeBSD Library Functions Manual archive_write(3)
NAME NAME
archive_write_new, archive_write_set_format_cpio, archive_write_new, archive_write_set_format_cpio,
@ -134,7 +134,7 @@ DESCRIPTION
archive_write_get_bytes_per_block() archive_write_get_bytes_per_block()
Retrieve the block size to be used for writing. A value of -1 Retrieve the block size to be used for writing. A value of -1
here indicates that the library should use default values. A here indicates that the library should use default values. A
value of zero indicates that internal blocking is suppressed. value of zero indicates that internal blocking is suppressed.
archive_write_set_bytes_in_last_block() archive_write_set_bytes_in_last_block()
@ -159,7 +159,7 @@ DESCRIPTION
archive_write_set_format_shar(), archive_write_set_format_shar(),
archive_write_set_format_shar_binary(), archive_write_set_format_shar_binary(),
archive_write_set_format_ustar() archive_write_set_format_ustar()
Sets the format that will be used for the archive. The library Sets the format that will be used for the archive. The library
can write POSIX octet-oriented cpio format archives, POSIX-stan- can write POSIX octet-oriented cpio format archives, POSIX-stan-
dard ``pax interchange'' format archives, traditional ``shar'' dard ``pax interchange'' format archives, traditional ``shar''
archives, enhanced ``binary'' shar archives that store a variety archives, enhanced ``binary'' shar archives that store a variety
@ -262,7 +262,7 @@ DESCRIPTION
archive_write_open_filename() will adjust the last-block padding archive_write_open_filename() will adjust the last-block padding
depending on the file: it will enable padding when writing to depending on the file: it will enable padding when writing to
standard output or to a character or block device node, it will standard output or to a character or block device node, it will
disable padding otherwise. You can override this by manually disable padding otherwise. You can override this by manually
invoking archive_write_set_bytes_in_last_block() before calling invoking archive_write_set_bytes_in_last_block() before calling
archive_write_open(). The archive_write_open_filename() function archive_write_open(). The archive_write_open_filename() function
is safe for use with tape drives or other block-oriented devices. is safe for use with tape drives or other block-oriented devices.
@ -309,7 +309,7 @@ IMPLEMENTATION
CLIENT CALLBACKS CLIENT CALLBACKS
To use this library, you will need to define and register callback func- To use this library, you will need to define and register callback func-
tions that will be invoked to write data to the resulting archive. These tions that will be invoked to write data to the resulting archive. These
functions are registered by calling archive_write_open(): functions are registered by calling archive_write_open():
typedef int archive_open_callback(struct archive *, void typedef int archive_open_callback(struct archive *, void
@ -325,7 +325,7 @@ CLIENT CALLBACKS
The write callback is invoked whenever the library needs to write raw The write callback is invoked whenever the library needs to write raw
bytes to the archive. For correct blocking, each call to the write call- bytes to the archive. For correct blocking, each call to the write call-
back function should translate into a single write(2) system call. This back function should translate into a single write(2) system call. This
is especially critical when writing archives to tape drives. On success, is especially critical when writing archives to tape drives. On success,
the write callback should return the number of bytes actually written. the write callback should return the number of bytes actually written.
On error, the callback should invoke archive_set_error() to register an On error, the callback should invoke archive_set_error() to register an
@ -466,7 +466,7 @@ AUTHORS
BUGS BUGS
There are many peculiar bugs in historic tar implementations that may There are many peculiar bugs in historic tar implementations that may
cause certain programs to reject archives written by this library. For cause certain programs to reject archives written by this library. For
example, several historic implementations calculated header checksums example, several historic implementations calculated header checksums
incorrectly and will thus reject valid archives; GNU tar does not fully incorrectly and will thus reject valid archives; GNU tar does not fully
support pax interchange format; some old tar implementations required support pax interchange format; some old tar implementations required
@ -483,4 +483,4 @@ BUGS
correctly restore device nodes with large device numbers from archives correctly restore device nodes with large device numbers from archives
created by this library. created by this library.
NetBSD 5.0 May 11, 2008 NetBSD 5.0 FreeBSD 9.0 May 11, 2008 FreeBSD 9.0

View file

@ -1,4 +1,4 @@
archive_write_disk(3) NetBSD Library Functions Manual archive_write_disk(3) archive_write_disk(3) FreeBSD Library Functions Manual archive_write_disk(3)
NAME NAME
archive_write_disk_new, archive_write_disk_set_options, archive_write_disk_new, archive_write_disk_set_options,
@ -50,11 +50,11 @@ SYNOPSIS
DESCRIPTION DESCRIPTION
These functions provide a complete API for creating objects on disk from These functions provide a complete API for creating objects on disk from
struct archive_entry descriptions. They are most naturally used when struct archive_entry descriptions. They are most naturally used when
extracting objects from an archive using the archive_read() interface. extracting objects from an archive using the archive_read() interface.
The general process is to read struct archive_entry objects from an ar- The general process is to read struct archive_entry objects from an ar-
chive, then write those objects to a struct archive object created using chive, then write those objects to a struct archive object created using
the archive_write_disk() family functions. This interface is deliber- the archive_write_disk() family functions. This interface is deliber-
ately very similar to the archive_write() interface used to write objects ately very similar to the archive_write() interface used to write objects
to a streaming archive. to a streaming archive.
@ -79,7 +79,7 @@ DESCRIPTION
ARCHIVE_EXTRACT_PERM ARCHIVE_EXTRACT_PERM
Full permissions (including SGID, SUID, and sticky bits) Full permissions (including SGID, SUID, and sticky bits)
should be restored exactly as specified, without obeying should be restored exactly as specified, without obeying
the current umask. Note that SUID and SGID bits can only the current umask. Note that SUID and SGID bits can only
be restored if the user and group ID of the object on be restored if the user and group ID of the object on
disk are correct. If ARCHIVE_EXTRACT_OWNER is not speci- disk are correct. If ARCHIVE_EXTRACT_OWNER is not speci-
fied, then SUID and SGID bits will only be restored if fied, then SUID and SGID bits will only be restored if
@ -150,7 +150,7 @@ DESCRIPTION
This convenience function installs a standard set of user and This convenience function installs a standard set of user and
group lookup functions. These functions use getpwnam(3) and group lookup functions. These functions use getpwnam(3) and
getgrnam(3) to convert names to ids, defaulting to the ids if the getgrnam(3) to convert names to ids, defaulting to the ids if the
names cannot be looked up. These functions also implement a sim- names cannot be looked up. These functions also implement a sim-
ple memory cache to reduce the number of calls to getpwnam(3) and ple memory cache to reduce the number of calls to getpwnam(3) and
getgrnam(3). getgrnam(3).
@ -181,7 +181,7 @@ DESCRIPTION
Invokes archive_write_close() if it was not invoked manually, Invokes archive_write_close() if it was not invoked manually,
then releases all resources. then releases all resources.
More information about the struct archive object and the overall design More information about the struct archive object and the overall design
of the library can be found in the libarchive(3) overview. Many of these of the library can be found in the libarchive(3) overview. Many of these
functions are also documented under archive_write(3). functions are also documented under archive_write(3).
RETURN VALUES RETURN VALUES
@ -212,7 +212,7 @@ AUTHORS
The libarchive library was written by Tim Kientzle <kientzle@acm.org>. The libarchive library was written by Tim Kientzle <kientzle@acm.org>.
BUGS BUGS
Directories are actually extracted in two distinct phases. Directories Directories are actually extracted in two distinct phases. Directories
are created during archive_write_header(), but final permissions are not are created during archive_write_header(), but final permissions are not
set until archive_write_close(). This separation is necessary to cor- set until archive_write_close(). This separation is necessary to cor-
rectly handle borderline cases such as a non-writable directory contain- rectly handle borderline cases such as a non-writable directory contain-
@ -225,7 +225,7 @@ BUGS
The library attempts to create objects with filenames longer than The library attempts to create objects with filenames longer than
PATH_MAX by creating prefixes of the full path and changing the current PATH_MAX by creating prefixes of the full path and changing the current
directory. Currently, this logic is limited in scope; the fixup pass directory. Currently, this logic is limited in scope; the fixup pass
does not work correctly for such objects and the symlink security check does not work correctly for such objects and the symlink security check
option disables the support for very long pathnames. option disables the support for very long pathnames.
@ -242,7 +242,7 @@ BUGS
SGID and SUID bits are restored only if the correct user and group could SGID and SUID bits are restored only if the correct user and group could
be set. If ARCHIVE_EXTRACT_OWNER is not specified, then no attempt is be set. If ARCHIVE_EXTRACT_OWNER is not specified, then no attempt is
made to set the ownership. In this case, SGID and SUID bits are restored made to set the ownership. In this case, SGID and SUID bits are restored
only if the user and group of the final object happen to match those only if the user and group of the final object happen to match those
specified in the entry. specified in the entry.
@ -254,4 +254,4 @@ BUGS
There should be a corresponding archive_read_disk interface that walks a There should be a corresponding archive_read_disk interface that walks a
directory heirarchy and returns archive entry objects. directory heirarchy and returns archive entry objects.
NetBSD 5.0 August 5, 2008 NetBSD 5.0 FreeBSD 9.0 August 5, 2008 FreeBSD 9.0

View file

@ -1,4 +1,4 @@
BSDCPIO(1) NetBSD General Commands Manual BSDCPIO(1) BSDCPIO(1) FreeBSD General Commands Manual BSDCPIO(1)
NAME NAME
cpio -- copy files to and from archives cpio -- copy files to and from archives
@ -14,39 +14,39 @@ DESCRIPTION
and can create tar, pax, cpio, ar, and shar archives. and can create tar, pax, cpio, ar, and shar archives.
The first option to cpio is a mode indicator from the following list: The first option to cpio is a mode indicator from the following list:
-i Input. Read an archive from standard input (unless overriden) -i Input. Read an archive from standard input (unless overriden)
and extract the contents to disk or (if the -t option is speci- and extract the contents to disk or (if the -t option is speci-
fied) list the contents to standard output. If one or more file fied) list the contents to standard output. If one or more file
patterns are specified, only files matching one of the patterns patterns are specified, only files matching one of the patterns
will be extracted. will be extracted.
-o Output. Read a list of filenames from standard input and produce -o Output. Read a list of filenames from standard input and produce
a new archive on standard output (unless overriden) containing a new archive on standard output (unless overriden) containing
the specified items. the specified items.
-p Pass-through. Read a list of filenames from standard input and -p Pass-through. Read a list of filenames from standard input and
copy the files to the specified directory. copy the files to the specified directory.
OPTIONS OPTIONS
Unless specifically stated otherwise, options are applicable in all oper- Unless specifically stated otherwise, options are applicable in all oper-
ating modes. ating modes.
-0 Read filenames separated by NUL characters instead of newlines. -0 Read filenames separated by NUL characters instead of newlines.
This is necessary if any of the filenames being read might con- This is necessary if any of the filenames being read might con-
tain newlines. tain newlines.
-A (o mode only) Append to the specified archive. (Not yet imple- -A (o mode only) Append to the specified archive. (Not yet imple-
mented.) mented.)
-a (o and p modes) Reset access times on files after they are read. -a (o and p modes) Reset access times on files after they are read.
-B (o mode only) Block output to records of 5120 bytes. -B (o mode only) Block output to records of 5120 bytes.
-C size -C size
(o mode only) Block output to records of size bytes. (o mode only) Block output to records of size bytes.
-c (o mode only) Use the old POSIX portable character format. -c (o mode only) Use the old POSIX portable character format.
Equivalent to --format odc. Equivalent to --format odc.
-d (i and p modes) Create directories as necessary. -d (i and p modes) Create directories as necessary.
-E file -E file
(i mode only) Read list of file name patterns from file to list (i mode only) Read list of file name patterns from file to list
@ -69,7 +69,7 @@ OPTIONS
mat. mat.
ustar The POSIX.1 tar format. ustar The POSIX.1 tar format.
The default format is odc. See libarchive_formats(5) for more The default format is odc. See libarchive_formats(5) for more
complete information about the formats currently supported by the complete information about the formats currently supported by the
underlying libarchive(3) library. underlying libarchive(3) library.
@ -82,35 +82,35 @@ OPTIONS
-I file -I file
Read archive from file. Read archive from file.
-i Input mode. See above for description. -i Input mode. See above for description.
--insecure --insecure
(i and p mode only) Disable security checks during extraction or (i and p mode only) Disable security checks during extraction or
copying. This allows extraction via symbolic links and path copying. This allows extraction via symbolic links and path
names containing `..' in the name. names containing `..' in the name.
-J (o mode only) Compress the file with xz-compatible compression -J (o mode only) Compress the file with xz-compatible compression
before writing it. In input mode, this option is ignored; xz before writing it. In input mode, this option is ignored; xz
compression is recognized automatically on input. compression is recognized automatically on input.
-j Synonym for -y. -j Synonym for -y.
-L (o and p modes) All symbolic links will be followed. Normally, -L (o and p modes) All symbolic links will be followed. Normally,
symbolic links are archived and copied as symbolic links. With symbolic links are archived and copied as symbolic links. With
this option, the target of the link will be archived or copied this option, the target of the link will be archived or copied
instead. instead.
-l (p mode only) Create links from the target directory to the orig- -l (p mode only) Create links from the target directory to the orig-
inal files, instead of copying. inal files, instead of copying.
-lzma (o mode only) Compress the file with lzma-compatible compression -lzma (o mode only) Compress the file with lzma-compatible compression
before writing it. In input mode, this option is ignored; lzma before writing it. In input mode, this option is ignored; lzma
compression is recognized automatically on input. compression is recognized automatically on input.
-m (i and p modes) Set file modification time on created files to -m (i and p modes) Set file modification time on created files to
match those in the source. match those in the source.
-n (i mode, only with -t) Display numeric uid and gid. By default, -n (i mode, only with -t) Display numeric uid and gid. By default,
cpio displays the user and group names when they are provided in cpio displays the user and group names when they are provided in
the archive, or looks up the user and group names in the system the archive, or looks up the user and group names in the system
password database. password database.
@ -122,9 +122,9 @@ OPTIONS
-O file -O file
Write archive to file. Write archive to file.
-o Output mode. See above for description. -o Output mode. See above for description.
-p Pass-through mode. See above for description. -p Pass-through mode. See above for description.
-preserve-owner -preserve-owner
(i mode only) Restore file ownership. This is the default when (i mode only) Restore file ownership. This is the default when
@ -134,44 +134,44 @@ OPTIONS
Suppress unnecessary messages. Suppress unnecessary messages.
-R [user][:][group] -R [user][:][group]
Set the owner and/or group on files in the output. If group is Set the owner and/or group on files in the output. If group is
specified with no user (for example, -R :wheel) then the group specified with no user (for example, -R :wheel) then the group
will be set but not the user. If the user is specified with a will be set but not the user. If the user is specified with a
trailing colon and no group (for example, -R root:) then the trailing colon and no group (for example, -R root:) then the
group will be set to the user's default group. If the user is group will be set to the user's default group. If the user is
specified with no trailing colon, then the user will be set but specified with no trailing colon, then the user will be set but
not the group. In -i and -p modes, this option can only be used not the group. In -i and -p modes, this option can only be used
by the super-user. (For compatibility, a period can be used in by the super-user. (For compatibility, a period can be used in
place of the colon.) place of the colon.)
-r (All modes.) Rename files interactively. For each file, a -r (All modes.) Rename files interactively. For each file, a
prompt is written to /dev/tty containing the name of the file and prompt is written to /dev/tty containing the name of the file and
a line is read from /dev/tty. If the line read is blank, the a line is read from /dev/tty. If the line read is blank, the
file is skipped. If the line contains a single period, the file file is skipped. If the line contains a single period, the file
is processed normally. Otherwise, the line is taken to be the is processed normally. Otherwise, the line is taken to be the
new name of the file. new name of the file.
-t (i mode only) List the contents of the archive to stdout; do not -t (i mode only) List the contents of the archive to stdout; do not
restore the contents to disk. restore the contents to disk.
-u (i and p modes) Unconditionally overwrite existing files. Ordi- -u (i and p modes) Unconditionally overwrite existing files. Ordi-
narily, an older file will not overwrite a newer file on disk. narily, an older file will not overwrite a newer file on disk.
-v Print the name of each file to stderr as it is processed. With -v Print the name of each file to stderr as it is processed. With
-t, provide a detailed listing of each file. -t, provide a detailed listing of each file.
--version --version
Print the program version information and exit. Print the program version information and exit.
-y (o mode only) Compress the archive with bzip2-compatible compres- -y (o mode only) Compress the archive with bzip2-compatible compres-
sion before writing it. In input mode, this option is ignored; sion before writing it. In input mode, this option is ignored;
bzip2 compression is recognized automatically on input. bzip2 compression is recognized automatically on input.
-Z (o mode only) Compress the archive with compress-compatible com- -Z (o mode only) Compress the archive with compress-compatible com-
pression before writing it. In input mode, this option is pression before writing it. In input mode, this option is
ignored; compression is recognized automatically on input. ignored; compression is recognized automatically on input.
-z (o mode only) Compress the archive with gzip-compatible compres- -z (o mode only) Compress the archive with gzip-compatible compres-
sion before writing it. In input mode, this option is ignored; sion before writing it. In input mode, this option is ignored;
gzip compression is recognized automatically on input. gzip compression is recognized automatically on input.
@ -180,7 +180,7 @@ ENVIRONMENT
LANG The locale to use. See environ(7) for more information. LANG The locale to use. See environ(7) for more information.
TZ The timezone to use when displaying dates. See environ(7) for TZ The timezone to use when displaying dates. See environ(7) for
more information. more information.
EXIT STATUS EXIT STATUS
@ -188,7 +188,7 @@ EXIT STATUS
EXAMPLES EXAMPLES
The cpio command is traditionally used to copy file heirarchies in con- The cpio command is traditionally used to copy file heirarchies in con-
junction with the find(1) command. The first example here simply copies junction with the find(1) command. The first example here simply copies
all files from src to dest: all files from src to dest:
find src | cpio -pmud dest find src | cpio -pmud dest
@ -242,9 +242,9 @@ BUGS
The cpio archive format has several basic limitations: It does not store The cpio archive format has several basic limitations: It does not store
user and group names, only numbers. As a result, it cannot be reliably user and group names, only numbers. As a result, it cannot be reliably
used to transfer files between systems with dissimilar user and group used to transfer files between systems with dissimilar user and group
numbering. Older cpio formats limit the user and group numbers to 16 or numbering. Older cpio formats limit the user and group numbers to 16 or
18 bits, which is insufficient for modern systems. The cpio archive for- 18 bits, which is insufficient for modern systems. The cpio archive for-
mats cannot support files over 4 gigabytes, except for the ``odc'' vari- mats cannot support files over 4 gigabytes, except for the ``odc'' vari-
ant, which can support files up to 8 gigabytes. ant, which can support files up to 8 gigabytes.
NetBSD 5.0 December 21, 2007 NetBSD 5.0 FreeBSD 9.0 December 21, 2007 FreeBSD 9.0

View file

@ -1,4 +1,4 @@
BSDTAR(1) NetBSD General Commands Manual BSDTAR(1) BSDTAR(1) FreeBSD General Commands Manual BSDTAR(1)
NAME NAME
tar -- manipulate tape archives tar -- manipulate tape archives
@ -18,18 +18,18 @@ DESCRIPTION
provided for compatibility with historical implementations. See COMPATI- provided for compatibility with historical implementations. See COMPATI-
BILITY below for details. BILITY below for details.
The other synopsis forms show the preferred usage. The first option to The other synopsis forms show the preferred usage. The first option to
tar is a mode indicator from the following list: tar is a mode indicator from the following list:
-c Create a new archive containing the specified items. -c Create a new archive containing the specified items.
-r Like -c, but new entries are appended to the archive. Note that -r Like -c, but new entries are appended to the archive. Note that
this only works on uncompressed archives stored in regular files. this only works on uncompressed archives stored in regular files.
The -f option is required. The -f option is required.
-t List archive contents to stdout. -t List archive contents to stdout.
-u Like -r, but new entries are added only if they have a modifica- -u Like -r, but new entries are added only if they have a modifica-
tion date newer than the corresponding entry in the archive. tion date newer than the corresponding entry in the archive.
Note that this only works on uncompressed archives stored in reg- Note that this only works on uncompressed archives stored in reg-
ular files. The -f option is required. ular files. The -f option is required.
-x Extract to disk from the archive. If a file with the same name -x Extract to disk from the archive. If a file with the same name
appears more than once in the archive, each copy will be appears more than once in the archive, each copy will be
extracted, with later copies overwriting (replacing) earlier extracted, with later copies overwriting (replacing) earlier
copies. copies.
@ -101,13 +101,13 @@ OPTIONS
not specified, the default tape device will be used. (On not specified, the default tape device will be used. (On
FreeBSD, the default tape device is /dev/sa0.) FreeBSD, the default tape device is /dev/sa0.)
-H (c and r mode only) Symbolic links named on the command line will -H (c and r mode only) Symbolic links named on the command line will
be followed; the target of the link will be archived, not the be followed; the target of the link will be archived, not the
link itself. link itself.
-h (c and r mode only) Synonym for -L. -h (c and r mode only) Synonym for -L.
-I Synonym for -T. -I Synonym for -T.
--include pattern --include pattern
Process only files or directories that match the specified pat- Process only files or directories that match the specified pat-
@ -120,12 +120,12 @@ OPTIONS
creates a new archive new.tar containing only the entries from creates a new archive new.tar containing only the entries from
old.tgz containing the string `foo'. old.tgz containing the string `foo'.
-j (c mode only) Compress the resulting archive with bzip2(1). In -j (c mode only) Compress the resulting archive with bzip2(1). In
extract or list modes, this option is ignored. Note that, unlike extract or list modes, this option is ignored. Note that, unlike
other tar implementations, this implementation recognizes bzip2 other tar implementations, this implementation recognizes bzip2
compression automatically when reading archives. compression automatically when reading archives.
-k (x mode only) Do not overwrite existing files. In particular, if -k (x mode only) Do not overwrite existing files. In particular, if
a file appears more than once in an archive, later copies will a file appears more than once in an archive, later copies will
not overwrite earlier copies. not overwrite earlier copies.
@ -133,16 +133,16 @@ OPTIONS
(x mode only) Do not overwrite existing files that are newer than (x mode only) Do not overwrite existing files that are newer than
the versions appearing in the archive being extracted. the versions appearing in the archive being extracted.
-L (c and r mode only) All symbolic links will be followed. Nor- -L (c and r mode only) All symbolic links will be followed. Nor-
mally, symbolic links are archived as such. With this option, mally, symbolic links are archived as such. With this option,
the target of the link will be archived instead. the target of the link will be archived instead.
-l This is a synonym for the --check-links option. -l This is a synonym for the --check-links option.
-m (x mode only) Do not extract modification time. By default, the -m (x mode only) Do not extract modification time. By default, the
modification time is set to the time stored in the archive. modification time is set to the time stored in the archive.
-n (c, r, u modes only) Do not recursively archive the contents of -n (c, r, u modes only) Do not recursively archive the contents of
directories. directories.
--newer date --newer date
@ -173,19 +173,19 @@ OPTIONS
(x mode only) Ignore symbolic user and group names when restoring (x mode only) Ignore symbolic user and group names when restoring
archives to disk, only numeric uid and gid values will be obeyed. archives to disk, only numeric uid and gid values will be obeyed.
-O (x, t modes only) In extract (-x) mode, files will be written to -O (x, t modes only) In extract (-x) mode, files will be written to
standard out rather than being extracted to disk. In list (-t) standard out rather than being extracted to disk. In list (-t)
mode, the file listing will be written to stderr rather than the mode, the file listing will be written to stderr rather than the
usual stdout. usual stdout.
-o (x mode) Use the user and group of the user running the program -o (x mode) Use the user and group of the user running the program
rather than those specified in the archive. Note that this has rather than those specified in the archive. Note that this has
no significance unless -p is specified, and the program is being no significance unless -p is specified, and the program is being
run by the root user. In this case, the file modes and flags run by the root user. In this case, the file modes and flags
from the archive will be restored, but ACLs or owner information from the archive will be restored, but ACLs or owner information
in the archive will be discarded. in the archive will be discarded.
-o (c, r, u mode) A synonym for --format ustar -o (c, r, u mode) A synonym for --format ustar
--one-file-system --one-file-system
(c, r, and u modes) Do not cross mount points. (c, r, and u modes) Do not cross mount points.
@ -209,7 +209,7 @@ OPTIONS
provided only to modules whose name matches module. provided only to modules whose name matches module.
The currently supported modules and keys are: The currently supported modules and keys are:
iso9660:joliet iso9660:joliet
Support Joliet extensions. This is enabled by default, Support Joliet extensions. This is enabled by default,
use !joliet or iso9660:!joliet to disable. use !joliet or iso9660:!joliet to disable.
iso9660:rockridge iso9660:rockridge
Support Rock Ridge extensions. This is enabled by Support Rock Ridge extensions. This is enabled by
@ -229,7 +229,7 @@ OPTIONS
lent to: ``device, flags, gid, gname, link, mode, nlink, lent to: ``device, flags, gid, gname, link, mode, nlink,
size, time, type, uid, uname''. size, time, type, uid, uname''.
mtree:all mtree:all
Enables all of the above keywords. You can also use Enables all of the above keywords. You can also use
mtree:!all to disable all keywords. mtree:!all to disable all keywords.
mtree:use-set mtree:use-set
Enable generation of /set lines in the output. Enable generation of /set lines in the output.
@ -242,14 +242,14 @@ OPTIONS
If a provided option is not supported by any module, that is a If a provided option is not supported by any module, that is a
fatal error. fatal error.
-P Preserve pathnames. By default, absolute pathnames (those that -P Preserve pathnames. By default, absolute pathnames (those that
begin with a / character) have the leading slash removed both begin with a / character) have the leading slash removed both
when creating archives and extracting from them. Also, tar will when creating archives and extracting from them. Also, tar will
refuse to extract archive entries whose pathnames contain .. or refuse to extract archive entries whose pathnames contain .. or
whose target directory would be altered by a symlink. This whose target directory would be altered by a symlink. This
option suppresses these behaviors. option suppresses these behaviors.
-p (x mode only) Preserve file permissions. Attempt to restore the -p (x mode only) Preserve file permissions. Attempt to restore the
full permissions, including owner, file modes, file flags and full permissions, including owner, file modes, file flags and
ACLs, if available, for each item extracted from the archive. By ACLs, if available, for each item extracted from the archive. By
default, newly-created files are owned by the user running tar, default, newly-created files are owned by the user running tar,
@ -264,12 +264,12 @@ OPTIONS
each specified pattern or filename has been matched. By default, each specified pattern or filename has been matched. By default,
the archive is always read to the very end, since there can be the archive is always read to the very end, since there can be
multiple entries with the same name and, by convention, later multiple entries with the same name and, by convention, later
entries overwrite earlier entries. This option is provided as a entries overwrite earlier entries. This option is provided as a
performance optimization. performance optimization.
-S (x mode only) Extract files as sparse files. For every block on -S (x mode only) Extract files as sparse files. For every block on
disk, check first if it contains only NULL bytes and seek over it disk, check first if it contains only NULL bytes and seek over it
otherwise. This works similiar to the conv=sparse option of dd. otherwise. This works similiar to the conv=sparse option of dd.
--strip-components count --strip-components count
(x mode only) Remove the specified number of leading path ele- (x mode only) Remove the specified number of leading path ele-
@ -301,9 +301,9 @@ OPTIONS
unless --null is specified. Note that --null also disables the unless --null is specified. Note that --null also disables the
special handling of lines containing ``-C''. special handling of lines containing ``-C''.
-U (x mode only) Unlink files before creating them. Without this -U (x mode only) Unlink files before creating them. Without this
option, tar overwrites existing files, which preserves existing option, tar overwrites existing files, which preserves existing
hardlinks. With this option, existing hardlinks will be broken, hardlinks. With this option, existing hardlinks will be broken,
as will any symlink that would affect the location of an as will any symlink that would affect the location of an
extracted file. extracted file.
@ -311,7 +311,7 @@ OPTIONS
Pipe the input (in x or t mode) or the output (in c mode) through Pipe the input (in x or t mode) or the output (in c mode) through
program instead of using the builtin compression support. program instead of using the builtin compression support.
-v Produce verbose output. In create and extract modes, tar will -v Produce verbose output. In create and extract modes, tar will
list each file name as it is read from or written to the archive. list each file name as it is read from or written to the archive.
In list mode, tar will produce output similar to that of ls(1). In list mode, tar will produce output similar to that of ls(1).
Additional -v options will provide additional detail. Additional -v options will provide additional detail.
@ -319,23 +319,23 @@ OPTIONS
--version --version
Print version of tar and libarchive, and exit. Print version of tar and libarchive, and exit.
-w Ask for confirmation for every action. -w Ask for confirmation for every action.
-X filename -X filename
Read a list of exclusion patterns from the specified file. See Read a list of exclusion patterns from the specified file. See
--exclude for more information about the handling of exclusions. --exclude for more information about the handling of exclusions.
-y (c mode only) Compress the resulting archive with bzip2(1). In -y (c mode only) Compress the resulting archive with bzip2(1). In
extract or list modes, this option is ignored. Note that, unlike extract or list modes, this option is ignored. Note that, unlike
other tar implementations, this implementation recognizes bzip2 other tar implementations, this implementation recognizes bzip2
compression automatically when reading archives. compression automatically when reading archives.
-z (c mode only) Compress the resulting archive with gzip(1). In -z (c mode only) Compress the resulting archive with gzip(1). In
extract or list modes, this option is ignored. Note that, unlike extract or list modes, this option is ignored. Note that, unlike
other tar implementations, this implementation recognizes gzip other tar implementations, this implementation recognizes gzip
compression automatically when reading archives. compression automatically when reading archives.
-Z (c mode only) Compress the resulting archive with compress(1). -Z (c mode only) Compress the resulting archive with compress(1).
In extract or list modes, this option is ignored. Note that, In extract or list modes, this option is ignored. Note that,
unlike other tar implementations, this implementation recognizes unlike other tar implementations, this implementation recognizes
compress compression automatically when reading archives. compress compression automatically when reading archives.
@ -347,7 +347,7 @@ ENVIRONMENT
TAPE The default tape device. The -f option overrides this. TAPE The default tape device. The -f option overrides this.
TZ The timezone to use when displaying dates. See environ(7) for TZ The timezone to use when displaying dates. See environ(7) for
more information. more information.
FILES FILES
@ -380,7 +380,7 @@ EXAMPLES
include directory change instructions of the form -Cfoo/baz and archive include directory change instructions of the form -Cfoo/baz and archive
inclusions of the form @archive-file. For example, the command line inclusions of the form @archive-file. For example, the command line
tar -c -f new.tar foo1 @old.tgz -C/tmp foo2 tar -c -f new.tar foo1 @old.tgz -C/tmp foo2
will create a new archive new.tar. tar will read the file foo1 from the will create a new archive new.tar. tar will read the file foo1 from the
current directory and add it to the output archive. It will then read current directory and add it to the output archive. It will then read
each entry from old.tgz and add those entries to the output archive. each entry from old.tgz and add those entries to the output archive.
Finally, it will switch to the /tmp directory and add foo2 to the output Finally, it will switch to the /tmp directory and add foo2 to the output
@ -417,7 +417,7 @@ COMPATIBILITY
separate words. The order of the arguments must match the order of the separate words. The order of the arguments must match the order of the
corresponding characters in the bundled command word. For example, corresponding characters in the bundled command word. For example,
tar tbf 32 file.tar tar tbf 32 file.tar
specifies three flags t, b, and f. The b and f flags both require argu- specifies three flags t, b, and f. The b and f flags both require argu-
ments, so there must be two additional items on the command line. The 32 ments, so there must be two additional items on the command line. The 32
is the argument to the b flag, and file.tar is the argument to the f is the argument to the b flag, and file.tar is the argument to the f
flag. flag.
@ -442,27 +442,27 @@ SECURITY
three ways this can happen. Although tar has mechanisms to protect three ways this can happen. Although tar has mechanisms to protect
against each one, savvy users should be aware of the implications: against each one, savvy users should be aware of the implications:
Archive entries can have absolute pathnames. By default, tar o Archive entries can have absolute pathnames. By default, tar
removes the leading / character from filenames before restoring removes the leading / character from filenames before restoring
them to guard against this problem. them to guard against this problem.
Archive entries can have pathnames that include .. components. o Archive entries can have pathnames that include .. components.
By default, tar will not extract files containing .. components By default, tar will not extract files containing .. components
in their pathname. in their pathname.
Archive entries can exploit symbolic links to restore files to o Archive entries can exploit symbolic links to restore files to
other directories. An archive can restore a symbolic link to other directories. An archive can restore a symbolic link to
another directory, then use that link to restore a file into that another directory, then use that link to restore a file into that
directory. To guard against this, tar checks each extracted path directory. To guard against this, tar checks each extracted path
for symlinks. If the final path element is a symlink, it will be for symlinks. If the final path element is a symlink, it will be
removed and replaced with the archive entry. If -U is specified, removed and replaced with the archive entry. If -U is specified,
any intermediate symlink will also be unconditionally removed. any intermediate symlink will also be unconditionally removed.
If neither -U nor -P is specified, tar will refuse to extract the If neither -U nor -P is specified, tar will refuse to extract the
entry. entry.
To protect yourself, you should be wary of any archives that come from To protect yourself, you should be wary of any archives that come from
untrusted sources. You should examine the contents of an archive with untrusted sources. You should examine the contents of an archive with
tar -tf filename tar -tf filename
before extraction. You should use the -k option to ensure that tar will before extraction. You should use the -k option to ensure that tar will
not overwrite any existing files or the -U option to remove any pre- not overwrite any existing files or the -U option to remove any pre-
existing files. You should generally not extract archives while running existing files. You should generally not extract archives while running
with super-user privileges. Note that the -P option to tar disables the with super-user privileges. Note that the -P option to tar disables the
@ -477,7 +477,7 @@ SEE ALSO
STANDARDS STANDARDS
There is no current POSIX standard for the tar command; it appeared in There is no current POSIX standard for the tar command; it appeared in
ISO/IEC 9945-1:1996 (``POSIX.1'') but was dropped from IEEE Std ISO/IEC 9945-1:1996 (``POSIX.1'') but was dropped from IEEE Std
1003.1-2001 (``POSIX.1''). The options used by this implementation were 1003.1-2001 (``POSIX.1''). The options used by this implementation were
developed by surveying a number of existing tar implementations as well developed by surveying a number of existing tar implementations as well
as the old POSIX specification for tar and the current POSIX specifica- as the old POSIX specification for tar and the current POSIX specifica-
tion for pax. tion for pax.
@ -546,4 +546,4 @@ BUGS
There are alternative long options for many of the short options that are There are alternative long options for many of the short options that are
deliberately not documented. deliberately not documented.
NetBSD 5.0 Oct 12, 2009 NetBSD 5.0 FreeBSD 9.0 Oct 12, 2009 FreeBSD 9.0

View file

@ -1,4 +1,4 @@
CPIO(5) NetBSD File Formats Manual CPIO(5) CPIO(5) FreeBSD File Formats Manual CPIO(5)
NAME NAME
cpio -- format of cpio archive files cpio -- format of cpio archive files
@ -11,7 +11,7 @@ DESCRIPTION
General Format General Format
Each file system object in a cpio archive comprises a header record with Each file system object in a cpio archive comprises a header record with
basic numeric metadata followed by the full pathname of the entry and the basic numeric metadata followed by the full pathname of the entry and the
file data. The header record stores a series of integer values that gen- file data. The header record stores a series of integer values that gen-
erally follow the fields in struct stat. (See stat(2) for details.) The erally follow the fields in struct stat. (See stat(2) for details.) The
variants differ primarily in how they store those integers (binary, variants differ primarily in how they store those integers (binary,
octal, or hexadecimal). The header is followed by the pathname of the octal, or hexadecimal). The header is followed by the pathname of the
@ -98,7 +98,7 @@ DESCRIPTION
to four gigabyte file sizes. See mtime above for a description to four gigabyte file sizes. See mtime above for a description
of the storage of four-byte integers. of the storage of four-byte integers.
The pathname immediately follows the fixed header. If the namesize is The pathname immediately follows the fixed header. If the namesize is
odd, an additional NUL byte is added after the pathname. The file data odd, an additional NUL byte is added after the pathname. The file data
is then appended, padded with NUL bytes to an even length. is then appended, padded with NUL bytes to an even length.
@ -113,21 +113,21 @@ DESCRIPTION
them as 6-character or 11-character octal values. them as 6-character or 11-character octal values.
struct cpio_odc_header { struct cpio_odc_header {
char c_magic[6]; char c_magic[6];
char c_dev[6]; char c_dev[6];
char c_ino[6]; char c_ino[6];
char c_mode[6]; char c_mode[6];
char c_uid[6]; char c_uid[6];
char c_gid[6]; char c_gid[6];
char c_nlink[6]; char c_nlink[6];
char c_rdev[6]; char c_rdev[6];
char c_mtime[11]; char c_mtime[11];
char c_namesize[6]; char c_namesize[6];
char c_filesize[11]; char c_filesize[11];
}; };
The fields are identical to those in the old binary format. The name and The fields are identical to those in the old binary format. The name and
file body follow the fixed header. Unlike the old binary format, there file body follow the fixed header. Unlike the old binary format, there
is no additional padding after the pathname or file contents. If the is no additional padding after the pathname or file contents. If the
files being archived are themselves entirely ASCII, then the resulting files being archived are themselves entirely ASCII, then the resulting
archive will be entirely ASCII, except for the NUL byte that terminates archive will be entirely ASCII, except for the NUL byte that terminates
@ -139,20 +139,20 @@ DESCRIPTION
bers. bers.
struct cpio_newc_header { struct cpio_newc_header {
char c_magic[6]; char c_magic[6];
char c_ino[8]; char c_ino[8];
char c_mode[8]; char c_mode[8];
char c_uid[8]; char c_uid[8];
char c_gid[8]; char c_gid[8];
char c_nlink[8]; char c_nlink[8];
char c_mtime[8]; char c_mtime[8];
char c_filesize[8]; char c_filesize[8];
char c_devmajor[8]; char c_devmajor[8];
char c_devminor[8]; char c_devminor[8];
char c_rdevmajor[8]; char c_rdevmajor[8];
char c_rdevminor[8]; char c_rdevminor[8];
char c_namesize[8]; char c_namesize[8];
char c_check[8]; char c_check[8];
}; };
Except as specified below, the fields here match those specified for the Except as specified below, the fields here match those specified for the
@ -195,10 +195,10 @@ BUGS
cyclic redundancy check. cyclic redundancy check.
The old binary format is limited to 16 bits for user id, group id, The old binary format is limited to 16 bits for user id, group id,
device, and inode numbers. It is limited to 4 gigabyte file sizes. device, and inode numbers. It is limited to 4 gigabyte file sizes.
The old ASCII format is limited to 18 bits for the user id, group id, The old ASCII format is limited to 18 bits for the user id, group id,
device, and inode numbers. It is limited to 8 gigabyte file sizes. device, and inode numbers. It is limited to 8 gigabyte file sizes.
The new ASCII format is limited to 4 gigabyte file sizes. The new ASCII format is limited to 4 gigabyte file sizes.
@ -223,7 +223,7 @@ STANDARDS
HISTORY HISTORY
The original cpio utility was written by Dick Haight while working in The original cpio utility was written by Dick Haight while working in
AT&T's Unix Support Group. It appeared in 1977 as part of PWB/UNIX 1.0, AT&T's Unix Support Group. It appeared in 1977 as part of PWB/UNIX 1.0,
the ``Programmer's Work Bench'' derived from Version 6 AT&T UNIX that was the ``Programmer's Work Bench'' derived from Version 6 AT&T UNIX that was
used internally at AT&T. Both the old binary and old character formats used internally at AT&T. Both the old binary and old character formats
were in use by 1980, according to the System III source released by SCO were in use by 1980, according to the System III source released by SCO
@ -232,4 +232,4 @@ HISTORY
appear? Who invented it? When did HP come out with their variant? When appear? Who invented it? When did HP come out with their variant? When
did Sun introduce ACLs and extended attributes? XXX did Sun introduce ACLs and extended attributes? XXX
NetBSD 5.0 October 5, 2007 NetBSD 5.0 FreeBSD 9.0 October 5, 2007 FreeBSD 9.0

View file

@ -1,4 +1,4 @@
libarchive-formats(5) NetBSD File Formats Manual libarchive-formats(5) libarchive-formats(5) FreeBSD File Formats Manual libarchive-formats(5)
NAME NAME
libarchive-formats -- archive formats supported by the libarchive library libarchive-formats -- archive formats supported by the libarchive library
@ -41,15 +41,15 @@ DESCRIPTION
interchange format archives. Pax interchange format archives are interchange format archives. Pax interchange format archives are
an extension of the older ustar format that adds a separate entry an extension of the older ustar format that adds a separate entry
with additional attributes stored as key/value pairs immediately with additional attributes stored as key/value pairs immediately
before each regular entry. The presence of these additional before each regular entry. The presence of these additional
entries is the only difference between pax interchange format and entries is the only difference between pax interchange format and
the older ustar format. The extended attributes are of unlimited the older ustar format. The extended attributes are of unlimited
length and are stored as UTF-8 Unicode strings. Keywords defined length and are stored as UTF-8 Unicode strings. Keywords defined
in the standard are in all lowercase; vendors are allowed to in the standard are in all lowercase; vendors are allowed to
define custom keys by preceding them with the vendor name in all define custom keys by preceding them with the vendor name in all
uppercase. When writing pax archives, libarchive uses many of uppercase. When writing pax archives, libarchive uses many of
the SCHILY keys defined by Joerg Schilling's ``star'' archiver the SCHILY keys defined by Joerg Schilling's ``star'' archiver
and a few LIBARCHIVE keys. The libarchive library can read most and a few LIBARCHIVE keys. The libarchive library can read most
of the SCHILY keys and most of the GNU keys introduced by GNU of the SCHILY keys and most of the GNU keys introduced by GNU
tar. It silently ignores any keywords that it does not under- tar. It silently ignores any keywords that it does not under-
stand. stand.
@ -70,16 +70,16 @@ DESCRIPTION
ustar The libarchive library can both read and write this format. This ustar The libarchive library can both read and write this format. This
format has the following limitations: format has the following limitations:
Device major and minor numbers are limited to 21 bits. Nodes o Device major and minor numbers are limited to 21 bits. Nodes
with larger numbers will not be added to the archive. with larger numbers will not be added to the archive.
Path names in the archive are limited to 255 bytes. (Shorter o Path names in the archive are limited to 255 bytes. (Shorter
if there is no / character in exactly the right place.) if there is no / character in exactly the right place.)
Symbolic links and hard links are stored in the archive with o Symbolic links and hard links are stored in the archive with
the name of the referenced file. This name is limited to 100 the name of the referenced file. This name is limited to 100
bytes. bytes.
Extended attributes, file flags, and other extended security o Extended attributes, file flags, and other extended security
information cannot be stored. information cannot be stored.
Archive entries are limited to 8 gigabytes in size. o Archive entries are limited to 8 gigabytes in size.
Note that the pax interchange format has none of these restric- Note that the pax interchange format has none of these restric-
tions. tions.
@ -93,7 +93,7 @@ DESCRIPTION
Libarchive allows these fields to be written without terminator Libarchive allows these fields to be written without terminator
characters. This extends the allowable range; in particular, characters. This extends the allowable range; in particular,
ustar archives with this extension can support entries up to 64 ustar archives with this extension can support entries up to 64
gigabytes in size. Libarchive also recognizes base-256 values in gigabytes in size. Libarchive also recognizes base-256 values in
most numeric fields. This essentially removes all limitations on most numeric fields. This essentially removes all limitations on
file size, modification time, and device numbers. file size, modification time, and device numbers.
@ -118,7 +118,7 @@ DESCRIPTION
binary values of varying byte order and length. binary values of varying byte order and length.
binary The libarchive library transparently reads both big-endian and binary The libarchive library transparently reads both big-endian and
little-endian variants of the original binary cpio format. This little-endian variants of the original binary cpio format. This
format used 32-bit binary values for file size and mtime, and format used 32-bit binary values for file size and mtime, and
16-bit binary values for the other fields. 16-bit binary values for the other fields.
@ -143,7 +143,7 @@ DESCRIPTION
of AT&T in 1981. This makes cpio older than tar, although cpio was not of AT&T in 1981. This makes cpio older than tar, although cpio was not
included in Version 7 AT&T Unix. As a result, the tar command became included in Version 7 AT&T Unix. As a result, the tar command became
much better known in universities and research groups that used Version much better known in universities and research groups that used Version
7. The combination of the find and cpio utilities provided very precise 7. The combination of the find and cpio utilities provided very precise
control over file selection. Unfortunately, the format has many limita- control over file selection. Unfortunately, the format has many limita-
tions that make it unsuitable for widespread use. Only the POSIX format tions that make it unsuitable for widespread use. Only the POSIX format
permits files over 4GB, and its 18-bit limit for most other fields makes permits files over 4GB, and its 18-bit limit for most other fields makes
@ -167,7 +167,7 @@ DESCRIPTION
shardump shardump
This format is similar to shar but encodes files using This format is similar to shar but encodes files using
uuencode(1) so that the result will be a plain text file regard- uuencode(1) so that the result will be a plain text file regard-
less of the file contents. It also includes additional shell less of the file contents. It also includes additional shell
commands that attempt to reproduce as many file attributes as commands that attempt to reproduce as many file attributes as
possible, including owner, mode, and flags. The additional com- possible, including owner, mode, and flags. The additional com-
mands used to restore file attributes make shardump archives less mands used to restore file attributes make shardump archives less
@ -204,7 +204,7 @@ DESCRIPTION
primarily in their handling of filenames longer than 15 characters: the primarily in their handling of filenames longer than 15 characters: the
GNU/SVR4 variant writes a filename table at the beginning of the archive; GNU/SVR4 variant writes a filename table at the beginning of the archive;
the BSD format stores each long filename in an extension area adjacent to the BSD format stores each long filename in an extension area adjacent to
the entry. Libarchive can read both extensions, including archives that the entry. Libarchive can read both extensions, including archives that
may include both types of long filenames. Programs using libarchive can may include both types of long filenames. Programs using libarchive can
write GNU/SVR4 format if they provide a filename table to be written into write GNU/SVR4 format if they provide a filename table to be written into
the archive before any of the entries. Any entries whose names are not the archive before any of the entries. Any entries whose names are not
@ -216,12 +216,12 @@ DESCRIPTION
Libarchive can read and write files in mtree(5) format. This format is Libarchive can read and write files in mtree(5) format. This format is
not a true archive format, but rather a textual description of a file not a true archive format, but rather a textual description of a file
hierarchy in which each line specifies the name of a file and provides hierarchy in which each line specifies the name of a file and provides
specific metadata about that file. Libarchive can read all of the key- specific metadata about that file. Libarchive can read all of the key-
words supported by both the NetBSD and FreeBSD versions of mtree(1), words supported by both the NetBSD and FreeBSD versions of mtree(1),
although many of the keywords cannot currently be stored in an although many of the keywords cannot currently be stored in an
archive_entry object. When writing, libarchive supports use of the archive_entry object. When writing, libarchive supports use of the
archive_write_set_options(3) interface to specify which keywords should archive_write_set_options(3) interface to specify which keywords should
be included in the output. If libarchive was compiled with access to be included in the output. If libarchive was compiled with access to
suitable cryptographic libraries (such as the OpenSSL libraries), it can suitable cryptographic libraries (such as the OpenSSL libraries), it can
compute hash entries such as sha512 or md5 from file data being written compute hash entries such as sha512 or md5 from file data being written
to the mtree writer. to the mtree writer.
@ -238,4 +238,4 @@ SEE ALSO
ar(1), cpio(1), mkisofs(1), shar(1), tar(1), zip(1), zlib(3), cpio(5), ar(1), cpio(1), mkisofs(1), shar(1), tar(1), zip(1), zlib(3), cpio(5),
mtree(5), tar(5) mtree(5), tar(5)
NetBSD 5.0 December 27, 2009 NetBSD 5.0 FreeBSD 9.0 December 27, 2009 FreeBSD 9.0

View file

@ -1,10 +1,10 @@
LIBARCHIVE(3) NetBSD Library Functions Manual LIBARCHIVE(3) LIBARCHIVE(3) FreeBSD Library Functions Manual LIBARCHIVE(3)
NAME NAME
libarchive -- functions for reading and writing streaming archives libarchive -- functions for reading and writing streaming archives
LIBRARY LIBRARY
Reading and Writing Streaming Archives Library (libarchive, -larchive) Streaming Archive Library (libarchive, -larchive)
OVERVIEW OVERVIEW
The libarchive library provides a flexible interface for reading and The libarchive library provides a flexible interface for reading and
@ -16,22 +16,22 @@ OVERVIEW
When reading an archive, the library automatically detects the format and When reading an archive, the library automatically detects the format and
the compression. The library currently has read support for: the compression. The library currently has read support for:
old-style tar archives, o old-style tar archives,
most variants of the POSIX ``ustar'' format, o most variants of the POSIX ``ustar'' format,
the POSIX ``pax interchange'' format, o the POSIX ``pax interchange'' format,
GNU-format tar archives, o GNU-format tar archives,
most common cpio archive formats, o most common cpio archive formats,
ISO9660 CD images (with or without RockRidge extensions), o ISO9660 CD images (with or without RockRidge extensions),
Zip archives. o Zip archives.
The library automatically detects archives compressed with gzip(1), The library automatically detects archives compressed with gzip(1),
bzip2(1), or compress(1) and decompresses them transparently. bzip2(1), or compress(1) and decompresses them transparently.
When writing an archive, you can specify the compression to be used and When writing an archive, you can specify the compression to be used and
the format to use. The library can write the format to use. The library can write
POSIX-standard ``ustar'' archives, o POSIX-standard ``ustar'' archives,
POSIX ``pax interchange format'' archives, o POSIX ``pax interchange format'' archives,
POSIX octet-oriented cpio archives, o POSIX octet-oriented cpio archives,
two different variants of shar archives. o two different variants of shar archives.
Pax interchange format is an extension of the tar archive format that Pax interchange format is an extension of the tar archive format that
eliminates essentially all of the limitations of historic tar formats in eliminates essentially all of the limitations of historic tar formats in
a standard fashion that is supported by POSIX-compliant pax(1) implemen- a standard fashion that is supported by POSIX-compliant pax(1) implemen-
@ -57,7 +57,7 @@ READING AN ARCHIVE
corresponding compression and format support. Note that these latter corresponding compression and format support. Note that these latter
functions perform two distinct operations: they cause the corresponding functions perform two distinct operations: they cause the corresponding
support code to be linked into your program, and they enable the corre- support code to be linked into your program, and they enable the corre-
sponding auto-detect code. Unless you have specific constraints, you sponding auto-detect code. Unless you have specific constraints, you
will generally want to invoke archive_read_support_compression_all() and will generally want to invoke archive_read_support_compression_all() and
archive_read_support_format_all() to enable auto-detect for all formats archive_read_support_format_all() to enable auto-detect for all formats
and compression types currently supported by the library. and compression types currently supported by the library.
@ -106,7 +106,7 @@ WRITING AN ARCHIVE
Individual archive entries are written in a three-step process: You first Individual archive entries are written in a three-step process: You first
initialize a struct archive_entry structure with information about the initialize a struct archive_entry structure with information about the
new entry. At a minimum, you should set the pathname of the entry and new entry. At a minimum, you should set the pathname of the entry and
provide a struct stat with a valid st_mode field, which specifies the provide a struct stat with a valid st_mode field, which specifies the
type of object and st_size field, which specifies the size of the data type of object and st_size field, which specifies the size of the data
portion of the object. The archive_write_header() function actually portion of the object. The archive_write_header() function actually
@ -133,7 +133,7 @@ DESCRIPTION
Users familiar with historic formats should be aware that the newer vari- Users familiar with historic formats should be aware that the newer vari-
ants have eliminated most restrictions on the length of textual fields. ants have eliminated most restrictions on the length of textual fields.
Clients should not assume that filenames, link names, user names, or Clients should not assume that filenames, link names, user names, or
group names are limited in length. In particular, pax interchange format group names are limited in length. In particular, pax interchange format
can easily accommodate pathnames in arbitrary character sets that exceed can easily accommodate pathnames in arbitrary character sets that exceed
PATH_MAX. PATH_MAX.
@ -151,7 +151,7 @@ RETURN VALUES
cated and initialized struct archive object. cated and initialized struct archive object.
archive_read_data() and archive_write_data() return a count of the number archive_read_data() and archive_write_data() return a count of the number
of bytes actually read or written. A value of zero indicates the end of of bytes actually read or written. A value of zero indicates the end of
the data for this entry. A negative value indicates an error, in which the data for this entry. A negative value indicates an error, in which
case the archive_errno() and archive_error_string() functions can be used case the archive_errno() and archive_error_string() functions can be used
to obtain more information. to obtain more information.
@ -182,4 +182,4 @@ BUGS
formats do not support nanosecond timestamps; old tar formats do not sup- formats do not support nanosecond timestamps; old tar formats do not sup-
port large device numbers. port large device numbers.
NetBSD 5.0 August 19, 2006 NetBSD 5.0 FreeBSD 9.0 August 19, 2006 FreeBSD 9.0

View file

@ -1,4 +1,4 @@
LIBARCHIVE(3) NetBSD Library Functions Manual LIBARCHIVE(3) LIBARCHIVE(3) FreeBSD Library Functions Manual LIBARCHIVE(3)
NAME NAME
libarchive_internals -- description of libarchive internal interfaces libarchive_internals -- description of libarchive internal interfaces
@ -32,7 +32,7 @@ READ ARCHITECTURE
archive object to read entries and bodies from an archive stream. Inter- archive object to read entries and bodies from an archive stream. Inter-
nally, the archive object is cast to an archive_read object, which holds nally, the archive object is cast to an archive_read object, which holds
all read-specific data. The API has four layers: The lowest layer is the all read-specific data. The API has four layers: The lowest layer is the
I/O layer. This layer can be overridden by clients, but most clients use I/O layer. This layer can be overridden by clients, but most clients use
the packaged I/O callbacks provided, for example, by the packaged I/O callbacks provided, for example, by
archive_read_open_memory(3), and archive_read_open_fd(3). The compres- archive_read_open_memory(3), and archive_read_open_fd(3). The compres-
sion layer calls the I/O layer to read bytes and decompresses them for sion layer calls the I/O layer to read bytes and decompresses them for
@ -55,11 +55,11 @@ READ ARCHITECTURE
The client read callback is expected to provide a block of data on each The client read callback is expected to provide a block of data on each
call. A zero-length return does indicate end of file, but otherwise call. A zero-length return does indicate end of file, but otherwise
blocks may be as small as one byte or as large as the entire file. In blocks may be as small as one byte or as large as the entire file. In
particular, blocks may be of different sizes. particular, blocks may be of different sizes.
The client skip callback returns the number of bytes actually skipped, The client skip callback returns the number of bytes actually skipped,
which may be much smaller than the skip requested. The only requirement which may be much smaller than the skip requested. The only requirement
is that the skip not be larger. In particular, clients are allowed to is that the skip not be larger. In particular, clients are allowed to
return zero for any skip that they don't want to handle. The skip call- return zero for any skip that they don't want to handle. The skip call-
back must never be invoked with a negative value. back must never be invoked with a negative value.
@ -96,7 +96,7 @@ READ ARCHITECTURE
pression handler invokes the internal pression handler invokes the internal
__archive_read_register_compression() function to provide bid and __archive_read_register_compression() function to provide bid and
initialization functions. This function returns NULL on error or initialization functions. This function returns NULL on error or
else a pointer to a struct decompressor_t. This structure con- else a pointer to a struct decompressor_t. This structure con-
tains a void * config slot that can be used for storing any cus- tains a void * config slot that can be used for storing any cus-
tomization information. tomization information.
Bid The bid function is invoked with a pointer and size of a block of Bid The bid function is invoked with a pointer and size of a block of
@ -148,7 +148,7 @@ READ ARCHITECTURE
The header read is usually the most complex part of any format. The header read is usually the most complex part of any format.
There are a few strategies worth mentioning: For formats such as There are a few strategies worth mentioning: For formats such as
tar or cpio, reading and parsing the header is straightforward tar or cpio, reading and parsing the header is straightforward
since headers alternate with data. For formats that store all since headers alternate with data. For formats that store all
header data at the beginning of the file, the first header read header data at the beginning of the file, the first header read
request may have to read all headers into memory and store that request may have to read all headers into memory and store that
data, sorted by the location of the file data. Subsequent header data, sorted by the location of the file data. Subsequent header
@ -162,7 +162,7 @@ READ ARCHITECTURE
ber that the decompressor will return as much data as it has. ber that the decompressor will return as much data as it has.
Generally, you will want to request one byte, examine the return Generally, you will want to request one byte, examine the return
value to see how much data is available, and possibly trim that value to see how much data is available, and possibly trim that
to the amount you can use. You should invoke consume for each to the amount you can use. You should invoke consume for each
block just before you return it. block just before you return it.
Skip All Data Skip All Data
The skip data call should skip over all file data and trailing The skip data call should skip over all file data and trailing
@ -202,7 +202,7 @@ WRITE_DISK ARCHITECTURE
GENERAL SERVICES GENERAL SERVICES
The archive_read, archive_write, and archive_write_disk objects all con- The archive_read, archive_write, and archive_write_disk objects all con-
tain an initial archive object which provides common support for a set of tain an initial archive object which provides common support for a set of
standard services. (Recall that ANSI/ISO C90 guarantees that you can standard services. (Recall that ANSI/ISO C90 guarantees that you can
cast freely between a pointer to a structure and a pointer to the first cast freely between a pointer to a structure and a pointer to the first
element of that structure.) The archive object has a magic value that element of that structure.) The archive object has a magic value that
indicates which API this object is associated with, slots for storing indicates which API this object is associated with, slots for storing
@ -212,7 +212,7 @@ MISCELLANEOUS NOTES
Connecting existing archiving libraries into libarchive is generally Connecting existing archiving libraries into libarchive is generally
quite difficult. In particular, many existing libraries strongly assume quite difficult. In particular, many existing libraries strongly assume
that you are reading from a file; they seek forwards and backwards as that you are reading from a file; they seek forwards and backwards as
necessary to locate various pieces of information. In contrast, necessary to locate various pieces of information. In contrast,
libarchive never seeks backwards in its input, which sometimes requires libarchive never seeks backwards in its input, which sometimes requires
very different approaches. very different approaches.
@ -245,4 +245,4 @@ AUTHORS
The libarchive library was written by Tim Kientzle <kientzle@acm.org>. The libarchive library was written by Tim Kientzle <kientzle@acm.org>.
BUGS BUGS
NetBSD 5.0 April 16, 2007 NetBSD 5.0 FreeBSD 9.0 April 16, 2007 FreeBSD 9.0

View file

@ -1,4 +1,4 @@
MTREE(5) NetBSD File Formats Manual MTREE(5) MTREE(5) FreeBSD File Formats Manual MTREE(5)
NAME NAME
mtree -- format of mtree dir hierarchy files mtree -- format of mtree dir hierarchy files
@ -56,7 +56,7 @@ DESCRIPTION
/set This command defines default values for one or more keywords. /set This command defines default values for one or more keywords.
It is followed on the same line by one or more whitespace- It is followed on the same line by one or more whitespace-
separated keyword definitions. These definitions apply to separated keyword definitions. These definitions apply to
all following files that do not specify a value for that key- all following files that do not specify a value for that key-
word. word.
@ -80,7 +80,7 @@ DESCRIPTION
file. file.
flags The file flags as a symbolic name. See chflags(1) for infor- flags The file flags as a symbolic name. See chflags(1) for infor-
mation on these names. If no flags are to be set the string mation on these names. If no flags are to be set the string
``none'' may be used to override the current default. ``none'' may be used to override the current default.
gid The file group as a numeric value. gid The file group as a numeric value.
@ -113,7 +113,7 @@ DESCRIPTION
sha1 The FIPS 160-1 (``SHA-1'') message digest of the file. sha1 The FIPS 160-1 (``SHA-1'') message digest of the file.
sha1digest A synonym for sha1. sha1digest A synonym for sha1.
sha256 The FIPS 180-2 (``SHA-256'') message digest of the file. sha256 The FIPS 180-2 (``SHA-256'') message digest of the file.
@ -132,7 +132,7 @@ DESCRIPTION
fifo fifo fifo fifo
file regular file file regular file
link symbolic link link symbolic link
socket socket socket socket
uid The file owner as a numeric value. uid The file owner as a numeric value.
@ -147,7 +147,7 @@ BUGS
not yet widely implemented. not yet widely implemented.
HISTORY HISTORY
The mtree utility appeared in 4.3BSD-Reno. The MD5 digest capability was The mtree utility appeared in 4.3BSD-Reno. The MD5 digest capability was
added in FreeBSD 2.1, in response to the widespread use of programs which added in FreeBSD 2.1, in response to the widespread use of programs which
can spoof cksum(1). The SHA-1 and RIPEMD160 digests were added in can spoof cksum(1). The SHA-1 and RIPEMD160 digests were added in
FreeBSD 4.0, as new attacks have demonstrated weaknesses in MD5. The FreeBSD 4.0, as new attacks have demonstrated weaknesses in MD5. The
@ -155,4 +155,4 @@ HISTORY
added in FreeBSD 4.0, and mostly comes from NetBSD. The ``full'' entry added in FreeBSD 4.0, and mostly comes from NetBSD. The ``full'' entry
format was added by NetBSD. format was added by NetBSD.
NetBSD 5.0 August 20, 2007 NetBSD 5.0 FreeBSD 9.0 August 20, 2007 FreeBSD 9.0

View file

@ -1,4 +1,4 @@
tar(5) NetBSD File Formats Manual tar(5) tar(5) FreeBSD File Formats Manual tar(5)
NAME NAME
tar -- format of tape archive files tar -- format of tape archive files
@ -63,9 +63,9 @@ DESCRIPTION
User id and group id of owner, as octal numbers in ASCII. User id and group id of owner, as octal numbers in ASCII.
size Size of file, as octal number in ASCII. For regular files only, size Size of file, as octal number in ASCII. For regular files only,
this indicates the amount of data that follows the header. In this indicates the amount of data that follows the header. In
particular, this field was ignored by early tar implementations particular, this field was ignored by early tar implementations
when extracting hardlinks. Modern writers should always store a when extracting hardlinks. Modern writers should always store a
zero length for hardlink entries. zero length for hardlink entries.
mtime Modification time of file, as an octal number in ASCII. This mtime Modification time of file, as an octal number in ASCII. This
@ -78,7 +78,7 @@ DESCRIPTION
the checksum, set the checksum field to all spaces, then sum all the checksum, set the checksum field to all spaces, then sum all
bytes in the header using unsigned arithmetic. This field should bytes in the header using unsigned arithmetic. This field should
be stored as six octal digits followed by a null and a space be stored as six octal digits followed by a null and a space
character. Note that many early implementations of tar used character. Note that many early implementations of tar used
signed arithmetic for the checksum field, which can cause inter- signed arithmetic for the checksum field, which can cause inter-
operability problems when transferring archives between systems. operability problems when transferring archives between systems.
Modern robust readers compute the checksum both ways and accept Modern robust readers compute the checksum both ways and accept
@ -108,11 +108,11 @@ DESCRIPTION
for John Gilmore's pdtar program and many system implementations from the for John Gilmore's pdtar program and many system implementations from the
late 1980s and early 1990s. These archives generally follow the POSIX late 1980s and early 1990s. These archives generally follow the POSIX
ustar format described below with the following variations: ustar format described below with the following variations:
The magic value is ``ustar '' (note the following space). The o The magic value is ``ustar '' (note the following space). The
version field contains a space character followed by a null. version field contains a space character followed by a null.
The numeric fields are generally filled with leading spaces (not o The numeric fields are generally filled with leading spaces (not
leading zeros as recommended in the final standard). leading zeros as recommended in the final standard).
The prefix field is often not used, limiting pathnames to the 100 o The prefix field is often not used, limiting pathnames to the 100
characters of old-style archives. characters of old-style archives.
POSIX ustar Archives POSIX ustar Archives
@ -189,7 +189,7 @@ DESCRIPTION
name, prefix name, prefix
If the pathname is too long to fit in the 100 bytes provided by If the pathname is too long to fit in the 100 bytes provided by
the standard format, it can be split at any / character with the the standard format, it can be split at any / character with the
first portion going into the prefix field. If the prefix field first portion going into the prefix field. If the prefix field
is not empty, the reader will prepend the prefix value and a / is not empty, the reader will prepend the prefix value and a /
character to the regular name field to obtain the full pathname. character to the regular name field to obtain the full pathname.
The standard does not require a trailing / character on directory The standard does not require a trailing / character on directory
@ -240,7 +240,7 @@ DESCRIPTION
mal, not octal. A description of some common keys follows: mal, not octal. A description of some common keys follows:
atime, ctime, mtime atime, ctime, mtime
File access, inode change, and modification times. These fields File access, inode change, and modification times. These fields
can be negative or include a decimal point and a fractional can be negative or include a decimal point and a fractional
value. value.
@ -285,7 +285,7 @@ DESCRIPTION
The file flags. The file flags.
SCHILY.realsize SCHILY.realsize
The full size of the file on disk. XXX explain? XXX The full size of the file on disk. XXX explain? XXX
SCHILY.dev, SCHILY.ino, SCHILY.nlinks SCHILY.dev, SCHILY.ino, SCHILY.nlinks
The device number, inode number, and link count for the entry. The device number, inode number, and link count for the entry.
@ -310,7 +310,7 @@ DESCRIPTION
as existing archivers are known to store non-compliant values in the as existing archivers are known to store non-compliant values in the
standard header fields in this situation. There are no limits on length standard header fields in this situation. There are no limits on length
for any of these fields. In particular, numeric fields can be arbitrar- for any of these fields. In particular, numeric fields can be arbitrar-
ily large. All text fields are encoded in UTF8. Compliant writers ily large. All text fields are encoded in UTF8. Compliant writers
should store only portable 7-bit ASCII characters in the standard ustar should store only portable 7-bit ASCII characters in the standard ustar
header and use extended attributes whenever a text value contains non- header and use extended attributes whenever a text value contains non-
ASCII characters. ASCII characters.
@ -431,7 +431,7 @@ DESCRIPTION
tax. Due to security concerns, "N" records are now gen- tax. Due to security concerns, "N" records are now gen-
erally ignored when reading archives. erally ignored when reading archives.
S This is a ``sparse'' regular file. Sparse files are S This is a ``sparse'' regular file. Sparse files are
stored as a series of fragments. The header contains a stored as a series of fragments. The header contains a
list of fragment offset/length pairs. If more than four list of fragment offset/length pairs. If more than four
such entries are required, the header is extended as nec- such entries are required, the header is extended as nec-
@ -476,8 +476,8 @@ DESCRIPTION
char offset[12]; char offset[12];
char numbytes[12]; char numbytes[12];
} sparse[21]; } sparse[21];
char isextended[1]; char isextended[1];
char padding[7]; char padding[7];
}; };
realsize realsize
@ -490,7 +490,7 @@ DESCRIPTION
GNU tar pax archives GNU tar pax archives
GNU tar 1.14 (XXX check this XXX) and later will write pax interchange GNU tar 1.14 (XXX check this XXX) and later will write pax interchange
format archives when you specify the --posix flag. This format uses cus- format archives when you specify the --posix flag. This format uses cus-
tom keywords to store sparse file information. There have been three tom keywords to store sparse file information. There have been three
iterations of this support, referred to as ``0.0'', ``0.1'', and ``1.0''. iterations of this support, referred to as ``0.0'', ``0.1'', and ``1.0''.
@ -500,7 +500,7 @@ DESCRIPTION
to indicate the number of blocks in the file, a pair of to indicate the number of blocks in the file, a pair of
GNU.sparse.offset and GNU.sparse.numbytes to indicate the offset GNU.sparse.offset and GNU.sparse.numbytes to indicate the offset
and size of each block, and a single GNU.sparse.size to indicate and size of each block, and a single GNU.sparse.size to indicate
the full size of the file. This is not the same as the size in the full size of the file. This is not the same as the size in
the tar header because the latter value does not include the size the tar header because the latter value does not include the size
of any holes. This format required that the order of attributes of any holes. This format required that the order of attributes
be preserved and relied on readers accepting multiple appearances be preserved and relied on readers accepting multiple appearances
@ -509,7 +509,7 @@ DESCRIPTION
GNU.sparse.map GNU.sparse.map
The ``0.1'' format used a single attribute that stored a comma- The ``0.1'' format used a single attribute that stored a comma-
separated list of decimal numbers. Each pair of numbers indi- separated list of decimal numbers. Each pair of numbers indi-
cated the offset and size, respectively, of a block of data. cated the offset and size, respectively, of a block of data.
This does not work well if the archive is extracted by an This does not work well if the archive is extracted by an
archiver that does not recognize this extension, since many pax archiver that does not recognize this extension, since many pax
@ -531,11 +531,11 @@ DESCRIPTION
Solaris tar (beginning with SunOS XXX 5.7 ?? XXX) supports an Solaris tar (beginning with SunOS XXX 5.7 ?? XXX) supports an
``extended'' format that is fundamentally similar to pax interchange for- ``extended'' format that is fundamentally similar to pax interchange for-
mat, with the following differences: mat, with the following differences:
Extended attributes are stored in an entry whose type is X, not o Extended attributes are stored in an entry whose type is X, not
x, as used by pax interchange format. The detailed format of x, as used by pax interchange format. The detailed format of
this entry appears to be the same as detailed above for the x this entry appears to be the same as detailed above for the x
entry. entry.
An additional A entry is used to store an ACL for the following o An additional A entry is used to store an ACL for the following
regular entry. The body of this entry contains a seven-digit regular entry. The body of this entry contains a seven-digit
octal number followed by a zero byte, followed by the textual ACL octal number followed by a zero byte, followed by the textual ACL
description. The octal value is the number of ACL entries plus a description. The octal value is the number of ACL entries plus a
@ -562,7 +562,7 @@ DESCRIPTION
allows file sizes up to 64 GB. allows file sizes up to 64 GB.
Another extension, utilized by GNU tar, star, and other newer tar imple- Another extension, utilized by GNU tar, star, and other newer tar imple-
mentations, permits binary numbers in the standard numeric fields. This mentations, permits binary numbers in the standard numeric fields. This
is flagged by setting the high bit of the first byte. This permits is flagged by setting the high bit of the first byte. This permits
95-bit values for the length and time fields and 63-bit values for the 95-bit values for the length and time fields and 63-bit values for the
uid, gid, and device numbers. GNU tar supports this extension for the uid, gid, and device numbers. GNU tar supports this extension for the
@ -598,4 +598,4 @@ HISTORY
This documentation was written as part of the libarchive and bsdtar This documentation was written as part of the libarchive and bsdtar
project by Tim Kientzle <kientzle@FreeBSD.org>. project by Tim Kientzle <kientzle@FreeBSD.org>.
NetBSD 5.0 December 27, 2009 NetBSD 5.0 FreeBSD 9.0 December 27, 2009 FreeBSD 9.0

View file

@ -210,7 +210,7 @@ setup_acls_posix1e(struct archive_read_disk *a,
acl = acl_get_link_np(accpath, ACL_TYPE_ACCESS); acl = acl_get_link_np(accpath, ACL_TYPE_ACCESS);
#else #else
else if ((!a->follow_symlinks) else if ((!a->follow_symlinks)
&& (archive_entry_filetype(entry) == AE_IFLNK))) && (archive_entry_filetype(entry) == AE_IFLNK))
/* We can't get the ACL of a symlink, so we assume it can't /* We can't get the ACL of a symlink, so we assume it can't
have one. */ have one. */
acl = NULL; acl = NULL;