Update to 1.20. Switch to newstyle buildpkg.

This commit is contained in:
Tom G. Christensen 2008-04-19 18:39:01 +00:00 committed by tgc
parent 28ed528a39
commit 7cca167c1b
11 changed files with 54 additions and 550 deletions

View File

@ -1,41 +1,26 @@
#!/usr/local/bin/bash #!/bin/bash
# #
# This is a generic build.sh script # This is a generic build.sh script
# It can be used nearly unmodified with many packages # It can be used nearly unmodified with many packages
# #
# The concept of "method" registering and the logic that implements it was shamelessly # build.sh helper functions
# stolen from jhlj's Compile.sh script :) . ${BUILDPKG_BASE}/scripts/build.sh.functions
# #
###########################################################
# Check the following 4 variables before running the script # Check the following 4 variables before running the script
topdir=tar topdir=tar
version=1.13.25 version=1.20
pkgver=2 pkgver=1
source[0]=$topdir-$version.tar.bz2 source[0]=$topdir-$version.tar.bz2
# If there are no patches, simply comment this # If there are no patches, simply comment this
patch[0]=tar-1.13.18-manpage.patch #patch[0]=
patch[1]=tar-1.13.19-absolutenames.patch
patch[2]=tar-1.13.19-error.patch
patch[3]= #tar-1.13.22-nolibrt.patch
patch[4]=tar-1.13.25-argv.patch
patch[5]= #tar-1.13.25-autoconf.patch
patch[6]=tar-1.13.25-dots.patch
patch[7]=tar-1.13.25-sock.patch
# Source function library # Source function library
. ${BUILDPKG_BASE}/scripts/buildpkg.functions . ${BUILDPKG_BASE}/scripts/buildpkg.functions
# Fill in pkginfo values if necessary # Global settings
# using pkgname,name,pkgcat,pkgvendor & pkgdesc export CPPFLAGS="-I$prefix/include"
name="GNU tar" export LDFLAGS="-L$prefix/lib -R$prefix/lib"
pkgcat="application"
pkgvendor="http://www.gnu.org"
pkgdesc="Creates tar archives"
# Define script functions and register them
METHODS=""
reg() {
METHODS="$METHODS $1"
}
reg prep reg prep
prep() prep()
@ -49,15 +34,17 @@ build()
generic_build generic_build
} }
reg check
check()
{
generic_check
}
reg install reg install
install() install()
{ {
generic_install DESTDIR generic_install DESTDIR
$RM -f $stagedir$prefix/info/dir doc ChangeLog README NEWS COPYING
INSTALL="/usr/local/bin/install -D"
setdir source
$INSTALL -m 644 tar.1 $stagedir$prefix/man/man1/tar.1
} }
reg pack reg pack
@ -75,42 +62,4 @@ distclean()
################################################### ###################################################
# No need to look below here # No need to look below here
################################################### ###################################################
build_sh $*
reg all
all()
{
for METHOD in $METHODS
do
case $METHOD in
all*|*clean) ;;
*) $METHOD
;;
esac
done
}
reg
usage() {
echo Usage $0 "{"$(echo $METHODS | tr " " "|")"}"
exit 1
}
OK=0
for METHOD in $*
do
METHOD=" $METHOD *"
if [ "${METHODS%$METHOD}" == "$METHODS" ] ; then
usage
fi
OK=1
done
if [ $OK = 0 ] ; then
usage;
fi
for METHOD in $*
do
( $METHOD )
done

9
tar/meta/pkgdef Normal file
View File

@ -0,0 +1,9 @@
[tar]
pkgname="${pkgprefix}${topdir}"
name="$topdir - GNU tar"
pkgcat="application"
pkgvendor="http://www.gnu.org/software/tar/"
shortdesc="Creates tar archives"
pkgver="$pkgver"
files(-,root,bin)
*

27
tar/meta/relnotes Normal file
View File

@ -0,0 +1,27 @@
PACKAGE DETAILS
---------------
Name: %%PKGNAME%%
Version: %%SOURCE_AND_VER%%
Vendor: %%VENDOR%%
Packager: %%PKGEDBY%%
Source (sha1sum):
%%SOURCE_SHA1SUM%%
BUILD DETAILS
-------------
Compiler:
%%COMPILER%%
Environment:
%%ENVIRONMENT%%
Configure:
%%CONFIGURE%%
KNOWN DEPENDENCIES
------------------
%%DEPENDENCIES%%
ERRORS/MISCELLANEOUS
--------------------

View File

@ -1,339 +0,0 @@
--- tar-1.13.18/tar.1.manpage Mon Oct 30 12:52:03 2000
+++ tar-1.13.18/tar.1 Mon Oct 30 12:56:15 2000
@@ -0,0 +1,336 @@
+.\" @(#)tar.1 1.13.14 2000/10/30 Bero;
+.TH TAR 1 "30 October 2000"
+.SH NAME
+tar \- The GNU version of the tar archiving utility
+.SH SYNOPSIS
+.B tar
+[
+.B \-
+]
+.B A --catenate --concatenate \||\| c --create \||\| d --diff --compare \||\| r --append \||\| t --list \||\| u --update \||\| x -extract --get
+[
+.B --atime-preserve
+]
+[
+.B -b, --block-size N
+]
+[
+.B -B, --read-full-blocks
+]
+[
+.B -C, --directory DIR
+]
+[
+.B --checkpoint
+]
+[
+.B -f, --file [HOSTNAME:]F
+]
+[
+.B --force-local
+]
+[
+.B -F, --info-script F --new-volume-script F
+]
+[
+.B -G, --incremental
+]
+[
+.B -g, --listed-incremental F
+]
+[
+.B -h, --dereference
+]
+[
+.B -i, --ignore-zeros
+]
+[
+.B -j, -I, --bzip
+]
+[
+.B --ignore-failed-read
+]
+[
+.B -k, --keep-old-files
+]
+[
+.B -K, --starting-file F
+]
+[
+.B -l, --one-file-system
+]
+[
+.B -L, --tape-length N
+]
+[
+.B -m, --modification-time
+]
+[
+.B -M, --multi-volume
+]
+[
+.B -N, --after-date DATE, --newer DATE
+]
+[
+.B -o, --old-archive, --portability
+]
+[
+.B -O, --to-stdout
+]
+[
+.B -p, --same-permissions, --preserve-permissions
+]
+[
+.B -P, --absolute-paths
+]
+[
+.B --preserve
+]
+[
+.B -R, --record-number
+]
+[
+.B --remove-files
+]
+[
+.B -s, --same-order, --preserve-order
+]
+[
+.B --same-owner
+]
+[
+.B -S, --sparse
+]
+[
+.B -T, --files-from=F
+]
+[
+.B --null
+]
+[
+.B --totals
+]
+[
+.B -v, --verbose
+]
+[
+.B -V, --label NAME
+]
+[
+.B --version
+]
+[
+.B -w, --interactive, --confirmation
+]
+[
+.B -W, --verify
+]
+[
+.B --exclude FILE
+]
+[
+.B -X, --exclude-from FILE
+]
+[
+.B -Z, --compress, --uncompress
+]
+[
+.B -z, --gzip, --ungzip
+]
+[
+.B --use-compress-program PROG
+]
+[
+.B --block-compress
+]
+[
+.B -[0-7][lmh]
+]
+.TP
+.I filename1 [ filename2, ... filenameN ]
+.TP
+.I directory1 [ directory2, ...directoryN ]
+.SH DESCRIPTION
+.LP
+This manual page documents the GNU version of
+.B tar
+, an archiving program designed to store and extract files from
+an archive file known as a
+.IR tarfile.
+A
+.IR tarfile
+may be made on a tape drive, however, it is also common
+to write a
+.IR tarfile
+to a normal file.
+The first argument to
+.B tar
+must be one of the options:
+.BR Acdrtux ,
+followed by any optional functions.
+The final arguments to
+.B tar
+are the names of the files or directories which should be archived. The use
+of a directory name always implies that the subdirectories below should be
+included in the archive.
+.SH "FUNCTION LETTERS"
+.TP
+.B One of the following options must be used:
+.TP
+.B -A, --catenate, --concatenate
+append tar files to an archive
+.TP
+.B -c, --create
+create a new archive
+.TP
+.B -d, --diff, --compare
+find differences between archive and file system
+.TP
+.B --delete
+delete from the archive (not for use on mag tapes!)
+.TP
+.B -r, --append
+append files to the end of an archive
+.TP
+.B -t, --list
+list the contents of an archive
+.TP
+.B -u, --update
+only append files that are newer than copy in archive
+.TP
+.B -x, --extract, --get
+extract files from an archive
+.SH "OTHER OPTIONS"
+.TP
+.B --atime-preserve
+don't change access times on dumped files
+.TP
+.B -b, --block-size N
+block size of Nx512 bytes (default N=20)
+.TP
+.B -B, --read-full-blocks
+reblock as we read (for reading 4.2BSD pipes)
+.TP
+.B -C, --directory DIR
+change to directory DIR
+.TP
+.B --checkpoint
+print directory names while reading the archive
+.TP
+.B -f, --file [HOSTNAME:]F
+use archive file or device F (default /dev/rmt0)
+.TP
+.B --force-local
+archive file is local even if has a colon
+.TP
+.B -F, --info-script F --new-volume-script F
+run script at end of each tape (implies -M)
+.TP
+.B -G, --incremental
+create/list/extract old GNU-format incremental backup
+.TP
+.B -g, --listed-incremental F
+create/list/extract new GNU-format incremental backup
+.TP
+.B -h, --dereference
+don't dump symlinks; dump the files they point to
+.TP
+.B -i, --ignore-zeros
+ignore blocks of zeros in archive (normally mean EOF)
+.TP
+.B -j, -I, --bzip
+filter the archive through bzip2. Note: -I is deprecated and may get a
+different meaning in the near future.
+.TP
+.B --ignore-failed-read
+don't exit with non-zero status on unreadable files
+.TP
+.B -k, --keep-old-files
+keep existing files; don't overwrite them from archive
+.TP
+.B -K, --starting-file F
+begin at file F in the archive
+.TP
+.B -l, --one-file-system
+stay in local file system when creating an archive
+.TP
+.B -L, --tape-length N
+change tapes after writing N*1024 bytes
+.TP
+.B -m, --modification-time
+don't extract file modified time
+.TP
+.B -M, --multi-volume
+create/list/extract multi-volume archive
+.TP
+.B -N, --after-date DATE, --newer DATE
+only store files newer than DATE
+.TP
+.B -o, --old-archive, --portability
+write a V7 format archive, rather than ANSI format
+.TP
+.B -O, --to-stdout
+extract files to standard output
+.TP
+.B -p, --same-permissions, --preserve-permissions
+extract all protection information
+.TP
+.B -P, --absolute-paths
+don't strip leading `/'s from file names
+.TP
+.B --preserve
+like -p -s
+.TP
+.B -R, --record-number
+show record number within archive with each message
+.TP
+.B --remove-files
+remove files after adding them to the archive
+.TP
+.B -s, --same-order, --preserve-order
+list of names to extract is sorted to match archive
+.TP
+.B --same-owner
+create extracted files with the same ownership
+.TP
+.B -S, --sparse
+handle sparse files efficiently
+.TP
+.B -T, --files-from=F
+get names to extract or create from file F
+.TP
+.B --null
+-T reads null-terminated names, disable -C
+.TP
+.B --totals
+print total bytes written with --create
+.TP
+.B -v, --verbose
+verbosely list files processed
+.TP
+.B -V, --label NAME
+create archive with volume name NAME
+.TP
+.B --version
+print tar program version number
+.TP
+.B -w, --interactive, --confirmation
+ask for confirmation for every action
+.TP
+.B -W, --verify
+attempt to verify the archive after writing it
+.TP
+.B --exclude FILE
+exclude file FILE
+.TP
+.B -X, --exclude-from FILE
+exclude files listed in FILE
+.TP
+.B -Z, --compress, --uncompress
+filter the archive through compress
+.TP
+.B -z, --gzip, --ungzip
+filter the archive through gzip
+.TP
+.B --use-compress-program PROG
+filter the archive through PROG (which must accept -d)

View File

@ -1,23 +0,0 @@
--- tar-1.13.19/src/extract.c~ Sat Jan 13 00:59:29 2001
+++ tar-1.13.19/src/extract.c Mon Aug 20 08:50:49 2001
@@ -932,10 +932,19 @@
{
struct stat st1, st2;
int e;
+ size_t skiplinkcrud;
+
+ if (absolute_names_option)
+ skiplinkcrud = 0;
+ else {
+ skiplinkcrud = FILESYSTEM_PREFIX_LEN (current_link_name);
+ while (ISSLASH (current_link_name[skiplinkcrud]))
+ skiplinkcrud++;
+ }
/* MSDOS does not implement links. However, djgpp's link() actually
copies the file. */
- status = link (current_link_name, CURRENT_FILE_NAME);
+ status = link (current_link_name + skiplinkcrud, CURRENT_FILE_NAME);
if (status == 0)
break;

View File

@ -1,15 +0,0 @@
--- tar-1.13.19/src/incremen.c.sux Thu May 17 14:16:47 2001
+++ tar-1.13.19/src/incremen.c Thu May 17 14:17:00 2001
@@ -182,8 +182,11 @@
struct directory *directory; /* for checking if already already seen */
enum children children;
+ if (! dirp) {
- if (! dirp)
savedir_error (path);
+ errno = 1;
+ return NULL;
+ }
errno = 0;
name_buffer_size = strlen (path) + NAME_FIELD_SIZE;

View File

@ -1,19 +0,0 @@
--- tar-1.13.22/configure.ac.rt Thu Sep 13 14:06:03 2001
+++ tar-1.13.22/configure.ac Thu Sep 13 14:06:50 2001
@@ -166,12 +166,13 @@
#
# Solaris 2.5.1 needs -lposix4 to get the clock_gettime function.
# Solaris 7 prefers the library name -lrt to the obsolescent name -lposix4.
+# We don't want that dependency, though. Check for something weird. ;)
tar_LDADD=
tar_save_LIBS="$LIBS"
-AC_SEARCH_LIBS(clock_gettime, [rt posix4])
-AC_CHECK_FUNCS(clock_gettime)
+AC_SEARCH_LIBS(clock_gettyme, [rt posix4])
+AC_CHECK_FUNCS(clock_gettyme)
if test " $LIBS" != " $tar_save_LIBS"; then
- tar_LDADD="$ac_cv_search_clock_gettime"
+ tar_LDADD="$ac_cv_search_clock_gettyme"
LIBS="$tar_save_LIBS"
fi
AC_SUBST(tar_LDADD)

View File

@ -1,22 +0,0 @@
--- tar-1.13.25/src/tar.c 2001-09-21 02:11:27.000000000 +0200
+++ tar-1.13.25/src/tar.c 2002-06-16 18:19:04.000000000 +0200
@@ -534,7 +534,7 @@
/* Allocate a new argument array, and copy program name in it. */
new_argc = argc - 1 + strlen (argv[1]);
- new_argv = xmalloc (new_argc * sizeof (char *));
+ new_argv = xmalloc ((new_argc + 1) * sizeof (char *));
in = argv;
out = new_argv;
*out++ = *in++;
@@ -562,6 +562,10 @@
while (in < argv + argc)
*out++ = *in++;
+ /* K&R standard requires a NULL termination */
+
+ *out = NULL;
+
/* Replace the old option list by the new one. */
argc = new_argc;

View File

@ -1,11 +0,0 @@
--- tar-1.13.25/configure.ac.253 Tue Apr 9 19:21:01 2002
+++ tar-1.13.25/configure.ac Tue Apr 9 19:21:22 2002
@@ -234,7 +234,7 @@
jm_FUNC_MALLOC
jm_FUNC_MKTIME
jm_FUNC_REALLOC
-test "$ac_cv_func_strstr" = yes || LIBOBJS="$LIBOBJS strstr.o"
+test "$ac_cv_func_strstr" = yes || AC_LIBOBJ(strstr)
AC_CACHE_CHECK(for remote shell, tar_cv_path_RSH,
[if test -n "$RSH"; then

View File

@ -1,16 +0,0 @@
--- tar-1.13.25/src/misc.c.orig Mon Aug 27 00:14:26 2001
+++ tar-1.13.25/src/misc.c Mon May 27 11:29:31 2002
@@ -214,6 +214,13 @@
return 0;
}
while (! ISSLASH (*p));
+
+ do
+ {
+ if (! *p++)
+ return 0;
+ }
+ while ( ISSLASH (*p));
}
}

View File

@ -1,36 +0,0 @@
--- tar-1.13.25/src/create.c.sock Tue Oct 23 15:00:52 2001
+++ tar-1.13.25/src/create.c Tue Oct 23 15:02:33 2001
@@ -1128,6 +1128,16 @@
}
else if (is_avoided_name (p))
return;
+ else if (S_ISSOCK (current_stat.st_mode))
+ {
+ WARN ((0, 0, _("%s: socket ignored"), quotearg_colon (p)));
+ return;
+ }
+ else if (S_ISDOOR (current_stat.st_mode))
+ {
+ WARN ((0, 0, _("%s: door ignored"), quotearg_colon (p)));
+ return;
+ }
else
{
/* Check for multiple links.
@@ -1507,16 +1517,6 @@
type = BLKTYPE;
else if (S_ISFIFO (current_stat.st_mode))
type = FIFOTYPE;
- else if (S_ISSOCK (current_stat.st_mode))
- {
- WARN ((0, 0, _("%s: socket ignored"), quotearg_colon (p)));
- return;
- }
- else if (S_ISDOOR (current_stat.st_mode))
- {
- WARN ((0, 0, _("%s: door ignored"), quotearg_colon (p)));
- return;
- }
else
goto unknown;
}