Date: Friday, February 24, 2012 @ 16:34:52
  Author: giovanni
Revision: 151099

Added to extra, vlc dep

Added:
  libtar/
  libtar/repos/
  libtar/trunk/
  libtar/trunk/PKGBUILD
  libtar/trunk/libtar-1.2.11.patch

---------------------+
 PKGBUILD            |   34 +++++++++++++++
 libtar-1.2.11.patch |  108 ++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 142 insertions(+)

Added: libtar/trunk/PKGBUILD
===================================================================
--- libtar/trunk/PKGBUILD                               (rev 0)
+++ libtar/trunk/PKGBUILD       2012-02-24 21:34:52 UTC (rev 151099)
@@ -0,0 +1,34 @@
+# $Id$
+# Maintainer: Giovanni Scafora <giova...@archlinux.org> 
+# Contributor: Biru Ionut <io...@archlinux.ro>
+# Contributor: Eric Belanger <e...@archlinux.org>
+# Contributor: Aurelien Foret <orel...@chez.com>
+
+pkgname=libtar
+pkgver=1.2.11
+pkgrel=3
+pkgdesc="C library for manipulating POSIX tar files"
+arch=('i686' 'x86_64')
+url="http://www.feep.net/libtar/";
+license=('BSD')
+depends=('zlib')
+source=("ftp://ftp.feep.net/pub/software/$pkgname/$pkgname-$pkgver.tar.gz";
+        'libtar-1.2.11.patch')
+md5sums=('604238e8734ce6e25347a58c4f1a1d7e' 
+         'baef7da841c186e1830566296859c35b')
+
+build() {
+  cd "$srcdir/$pkgname-$pkgver"
+
+  export CFLAGS+=" -fPIC"
+  patch -Np1 -i "${srcdir}/libtar-1.2.11.patch"
+  ./configure --prefix=/usr --mandir=/usr/share/man
+  make
+}
+
+package() {
+  cd "$srcdir/$pkgname-$pkgver"
+
+  make DESTDIR="$pkgdir" install
+  install -D -m644 COPYRIGHT "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}


Property changes on: libtar/trunk/PKGBUILD
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+Id
Added: libtar/trunk/libtar-1.2.11.patch
===================================================================
--- libtar/trunk/libtar-1.2.11.patch                            (rev 0)
+++ libtar/trunk/libtar-1.2.11.patch    2012-02-24 21:34:52 UTC (rev 151099)
@@ -0,0 +1,108 @@
+diff -Naur libtar-1.2.11-orig/lib/decode.c libtar-1.2.11/lib/decode.c
+--- libtar-1.2.11-orig/lib/decode.c    2003-01-06 17:40:59.000000000 -0800
++++ libtar-1.2.11/lib/decode.c 2004-08-13 12:26:34.000000000 -0700
+@@ -26,7 +26,7 @@
+ char *
+ th_get_pathname(TAR *t)
+ {
+-      char filename[MAXPATHLEN];
++      static char filename[MAXPATHLEN];
+ 
+       if (t->th_buf.gnu_longname)
+               return t->th_buf.gnu_longname;
+@@ -35,11 +35,11 @@
+       {
+               snprintf(filename, sizeof(filename), "%.155s/%.100s",
+                        t->th_buf.prefix, t->th_buf.name);
+-              return strdup(filename);
++              return filename;
+       }
+ 
+       snprintf(filename, sizeof(filename), "%.100s", t->th_buf.name);
+-      return strdup(filename);
++      return filename;
+ }
+ 
+ 
+diff -Naur libtar-1.2.11-orig/lib/extract.c libtar-1.2.11/lib/extract.c
+--- libtar-1.2.11-orig/lib/extract.c   2003-03-02 15:58:07.000000000 -0800
++++ libtar-1.2.11/lib/extract.c        2004-08-13 12:26:34.000000000 -0700
+@@ -28,14 +28,6 @@
+ #endif
+ 
+ 
+-struct linkname
+-{
+-      char ln_save[MAXPATHLEN];
+-      char ln_real[MAXPATHLEN];
+-};
+-typedef struct linkname linkname_t;
+-
+-
+ static int
+ tar_set_file_perms(TAR *t, char *realname)
+ {
+@@ -98,7 +90,9 @@
+ tar_extract_file(TAR *t, char *realname)
+ {
+       int i;
+-      linkname_t *lnp;
++      char *lnp;
++      int pathname_len;
++      int realname_len;
+ 
+       if (t->options & TAR_NOOVERWRITE)
+       {
+@@ -137,11 +131,13 @@
+       if (i != 0)
+               return i;
+ 
+-      lnp = (linkname_t *)calloc(1, sizeof(linkname_t));
++      pathname_len = strlen(th_get_pathname(t)) + 1;
++      realname_len = strlen(realname) + 1;
++      lnp = (char *)calloc(1, pathname_len + realname_len);
+       if (lnp == NULL)
+               return -1;
+-      strlcpy(lnp->ln_save, th_get_pathname(t), sizeof(lnp->ln_save));
+-      strlcpy(lnp->ln_real, realname, sizeof(lnp->ln_real));
++      strcpy(&lnp[0], th_get_pathname(t));
++      strcpy(&lnp[pathname_len], realname);
+ #ifdef DEBUG
+       printf("tar_extract_file(): calling libtar_hash_add(): key=\"%s\", "
+              "value=\"%s\"\n", th_get_pathname(t), realname);
+@@ -288,7 +284,7 @@
+ {
+       char *filename;
+       char *linktgt = NULL;
+-      linkname_t *lnp;
++      char *lnp;
+       libtar_hashptr_t hp;
+ 
+       if (!TH_ISLNK(t))
+@@ -304,8 +300,8 @@
+       if (libtar_hash_getkey(t->h, &hp, th_get_linkname(t),
+                              (libtar_matchfunc_t)libtar_str_match) != 0)
+       {
+-              lnp = (linkname_t *)libtar_hashptr_data(&hp);
+-              linktgt = lnp->ln_real;
++              lnp = (char *)libtar_hashptr_data(&hp);
++              linktgt = &lnp[strlen(lnp) + 1];
+       }
+       else
+               linktgt = th_get_linkname(t);
+diff -Naur libtar-1.2.11-orig/lib/libtar.h libtar-1.2.11/lib/libtar.h
+--- libtar-1.2.11-orig/lib/libtar.h    2003-01-06 17:40:59.000000000 -0800
++++ libtar-1.2.11/lib/libtar.h 2004-08-13 12:26:52.000000000 -0700
+@@ -63,9 +63,9 @@
+ /***** handle.c ************************************************************/
+ 
+ typedef int (*openfunc_t)(const char *, int, ...);
+-typedef int (*closefunc_t)(int);
+-typedef ssize_t (*readfunc_t)(int, void *, size_t);
+-typedef ssize_t (*writefunc_t)(int, const void *, size_t);
++typedef int (*closefunc_t)(long);
++typedef ssize_t (*readfunc_t)(long, void *, size_t);
++typedef ssize_t (*writefunc_t)(long, const void *, size_t);
+ 
+ typedef struct
+ {

Reply via email to