[arch-commits] Commit in gdbm/repos (5 files)

Stéphane Gaudreault stephane at archlinux.org
Thu Nov 24 17:02:54 UTC 2011


    Date: Thursday, November 24, 2011 @ 12:02:53
  Author: stephane
Revision: 143462

db-move: moved gdbm from [staging] to [testing] (x86_64)

Added:
  gdbm/repos/testing-x86_64/
  gdbm/repos/testing-x86_64/PKGBUILD
    (from rev 143456, gdbm/repos/staging-x86_64/PKGBUILD)
  gdbm/repos/testing-x86_64/gdbm-1.10-zeroheaders.patch
    (from rev 143456, gdbm/repos/staging-x86_64/gdbm-1.10-zeroheaders.patch)
  gdbm/repos/testing-x86_64/gdbm.install
    (from rev 143456, gdbm/repos/staging-x86_64/gdbm.install)
Deleted:
  gdbm/repos/staging-x86_64/

-----------------------------+
 PKGBUILD                    |   57 ++++++++++++++++++++++++++++++++++++++++++
 gdbm-1.10-zeroheaders.patch |   33 ++++++++++++++++++++++++
 gdbm.install                |   21 +++++++++++++++
 3 files changed, 111 insertions(+)

Copied: gdbm/repos/testing-x86_64/PKGBUILD (from rev 143456, gdbm/repos/staging-x86_64/PKGBUILD)
===================================================================
--- testing-x86_64/PKGBUILD	                        (rev 0)
+++ testing-x86_64/PKGBUILD	2011-11-24 17:02:53 UTC (rev 143462)
@@ -0,0 +1,57 @@
+# $Id$
+# Maintainer: Stéphane Gaudreault <stephane at archlinux.org>
+# Contributor: Allan McRae <allan at archlinux.org>
+# Contributor: judd <jvinet at zeroflux.org>
+
+pkgname=gdbm
+pkgver=1.10
+pkgrel=1
+pkgdesc="GNU database library"
+url="http://www.gnu.org/software/gdbm/gdbm.html"
+license=('GPL')
+arch=('i686' 'x86_64')
+depends=('glibc' 'sh')
+source=(ftp://ftp.gnu.org/gnu/gdbm/${pkgname}-${pkgver}.tar.gz
+        gdbm-1.10-zeroheaders.patch)
+options=('!libtool' '!makeflags')
+install=gdbm.install
+md5sums=('88770493c2559dc80b561293e39d3570'
+         'ac255b10452005237836cd2d3a470733')
+build() {
+  cd "${srcdir}/${pkgname}-${pkgver}"
+
+  # Prevent gdbm from storing uninitialized memory content
+  # to database files. This patch improves security, as the
+  # uninitialized memory might contain sensitive informations
+  # from other applications.
+  # https://bugzilla.redhat.com/show_bug.cgi?id=4457
+  # http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=208927
+  patch -Np1 -i ../gdbm-1.10-zeroheaders.patch
+
+  ./configure --prefix=/usr \
+              --mandir=/usr/share/man \
+              --infodir=/usr/share/info \
+              --enable-libgdbm-compat
+
+  make prefix=/usr
+}
+
+check() {
+  cd "${srcdir}/${pkgname}-${pkgver}"
+  make check
+}
+
+package() {
+  cd "${srcdir}/${pkgname}-${pkgver}"
+  make prefix="${pkgdir}"/usr \
+       manprefix="${pkgdir}"/usr/share/man \
+       man3dir="${pkgdir}"/usr/share/man/man3 \
+       infodir="${pkgdir}"/usr/share/info \
+       install
+  
+  # create symlinks for compatibility
+  install -dm755 "${pkgdir}"/usr/include/gdbm
+  ln -sf ../gdbm.h "${pkgdir}"/usr/include/gdbm/gdbm.h
+  ln -sf ../ndbm.h "${pkgdir}"/usr/include/gdbm/ndbm.h
+  ln -sf ../dbm.h  "${pkgdir}"/usr/include/gdbm/dbm.h
+}

Copied: gdbm/repos/testing-x86_64/gdbm-1.10-zeroheaders.patch (from rev 143456, gdbm/repos/staging-x86_64/gdbm-1.10-zeroheaders.patch)
===================================================================
--- testing-x86_64/gdbm-1.10-zeroheaders.patch	                        (rev 0)
+++ testing-x86_64/gdbm-1.10-zeroheaders.patch	2011-11-24 17:02:53 UTC (rev 143462)
@@ -0,0 +1,33 @@
+diff -up gdbm-1.10/src/falloc.c.zeroheaders gdbm-1.10/src/falloc.c
+--- gdbm-1.10/src/falloc.c.zeroheaders	2011-11-11 11:59:11.000000000 +0100
++++ gdbm-1.10/src/falloc.c	2011-11-14 17:34:32.487604027 +0100
+@@ -255,7 +255,7 @@ push_avail_block (GDBM_FILE dbf)
+ 
+ 
+   /* Split the header block. */
+-  temp = (avail_block *) malloc (av_size);
++  temp = (avail_block *) calloc (1, av_size);
+   if (temp == NULL) _gdbm_fatal (dbf, _("malloc error"));
+   /* Set the size to be correct AFTER the pop_avail_block. */
+   temp->size = dbf->header->avail.size;
+diff -up gdbm-1.10/src/gdbmopen.c.zeroheaders gdbm-1.10/src/gdbmopen.c
+--- gdbm-1.10/src/gdbmopen.c.zeroheaders	2011-11-11 19:39:42.000000000 +0100
++++ gdbm-1.10/src/gdbmopen.c	2011-11-14 17:33:24.867608650 +0100
+@@ -264,7 +264,7 @@ gdbm_open (const char *file, int block_s
+ 	(dbf->header->block_size - sizeof (hash_bucket))
+ 	/ sizeof (bucket_element) + 1;
+       dbf->header->bucket_size  = dbf->header->block_size;
+-      dbf->bucket = (hash_bucket *) malloc (dbf->header->bucket_size);
++      dbf->bucket = (hash_bucket *) calloc (1, dbf->header->bucket_size);
+       if (dbf->bucket == NULL)
+ 	{
+ 	  gdbm_close (dbf);
+@@ -456,7 +456,7 @@ _gdbm_init_cache(GDBM_FILE dbf, size_t s
+       for(index = 0; index < size; index++)
+         {
+           (dbf->bucket_cache[index]).ca_bucket
+-            = (hash_bucket *) malloc (dbf->header->bucket_size);
++            = (hash_bucket *) calloc (1, dbf->header->bucket_size);
+           if ((dbf->bucket_cache[index]).ca_bucket == NULL)
+ 	    {
+               gdbm_errno = GDBM_MALLOC_ERROR;

Copied: gdbm/repos/testing-x86_64/gdbm.install (from rev 143456, gdbm/repos/staging-x86_64/gdbm.install)
===================================================================
--- testing-x86_64/gdbm.install	                        (rev 0)
+++ testing-x86_64/gdbm.install	2011-11-24 17:02:53 UTC (rev 143462)
@@ -0,0 +1,21 @@
+infodir=/usr/share/info
+filelist=(gdbm.info)
+
+post_install() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+    usr/bin/install-info $infodir/$file $infodir/dir 2> /dev/null
+ done
+}
+
+post_upgrade() {
+  post_install $1
+}
+
+pre_remove() {
+ [ -x usr/bin/install-info ] || return 0
+  for file in ${filelist[@]}; do
+    usr/bin/install-info --delete $infodir/$file $infodir/dir 2> /dev/null
+  done
+}
+




More information about the arch-commits mailing list