From 6b7e77bce12e7798366ea2481af2d3a96eef2405 Mon Sep 17 00:00:00 2001
From: James Meyer <james.meyer@operamail.com>
Date: Fri, 13 Mar 2009 22:06:12 -0500
Subject: Removing duplicate packages

---
 abs/extra-testing/community/cdparanoia/ChangeLog   |  23 -
 abs/extra-testing/community/cdparanoia/PKGBUILD    |  21 -
 abs/extra-testing/community/cdparanoia/gcc.patch   | 582 ------------
 abs/extra-testing/fam/PKGBUILD                     |  49 --
 abs/extra-testing/fam/fam                          |  44 -
 abs/extra-testing/fam/fam-2.7.0-dnotify.patch      | 975 ---------------------
 abs/extra-testing/fam/fam-2.7.0-gcc43.patch        |  46 -
 abs/extra-testing/fam/fam-2.7.0-largefiles.patch   |   8 -
 abs/extra-testing/fam/fam-2.7.0-noc++.patch        |  83 --
 abs/extra-testing/fam/include_fam_h.patch          |  11 -
 abs/extra-testing/gtk2/PKGBUILD                    |  41 -
 abs/extra-testing/gtk2/gtk2-emit-size-change.patch |  26 -
 abs/extra-testing/gtk2/gtk2.install                |  13 -
 abs/extra-testing/gtk2/gtkclipboard-check.patch    |  11 -
 abs/extra-testing/intltool/ChangeLog               |  19 -
 abs/extra-testing/intltool/PKGBUILD                |  22 -
 abs/extra-testing/libcups/PKGBUILD                 |  33 -
 abs/extra-testing/libglade/PKGBUILD                |  26 -
 abs/extra-testing/libglade/glade.install           |  25 -
 .../libglade/libglade-2.0.1-nowarning.patch        |  39 -
 abs/extra-testing/libpng/ChangeLog                 |  55 --
 abs/extra-testing/libpng/PKGBUILD                  |  42 -
 abs/extra-testing/libxcb/PKGBUILD                  |  34 -
 .../libxcb/libxcb-1.1-no-pthread-stubs.patch       |  12 -
 .../libxcb/libxcb-1.1-sloppy-lock.patch            |  12 -
 abs/extra-testing/pango/PKGBUILD                   |  24 -
 abs/extra-testing/pango/bgo563356.patch            | 305 -------
 abs/extra-testing/pango/pango.install              |  26 -
 abs/extra-testing/perl-net-ssleay/PKGBUILD         |  33 -
 abs/extra-testing/pixman/PKGBUILD                  |  21 -
 abs/extra-testing/pycairo/PKGBUILD                 |  21 -
 abs/extra-testing/pygobject/PKGBUILD               |  21 -
 abs/extra-testing/pygtk/PKGBUILD                   |  23 -
 abs/extra-testing/rsync/ChangeLog                  |  25 -
 abs/extra-testing/rsync/PKGBUILD                   |  33 -
 abs/extra-testing/rsync/rsync.xinetd               |  11 -
 abs/extra-testing/rsync/rsyncd                     |  37 -
 abs/extra-testing/rsync/rsyncd.conf                |  16 -
 abs/extra-testing/v4l-dvb-dvico/PKGBUILD           |  25 -
 abs/extra-testing/xcb-proto/PKGBUILD               |  23 -
 40 files changed, 2896 deletions(-)
 delete mode 100644 abs/extra-testing/community/cdparanoia/ChangeLog
 delete mode 100644 abs/extra-testing/community/cdparanoia/PKGBUILD
 delete mode 100644 abs/extra-testing/community/cdparanoia/gcc.patch
 delete mode 100644 abs/extra-testing/fam/PKGBUILD
 delete mode 100755 abs/extra-testing/fam/fam
 delete mode 100644 abs/extra-testing/fam/fam-2.7.0-dnotify.patch
 delete mode 100644 abs/extra-testing/fam/fam-2.7.0-gcc43.patch
 delete mode 100644 abs/extra-testing/fam/fam-2.7.0-largefiles.patch
 delete mode 100644 abs/extra-testing/fam/fam-2.7.0-noc++.patch
 delete mode 100644 abs/extra-testing/fam/include_fam_h.patch
 delete mode 100644 abs/extra-testing/gtk2/PKGBUILD
 delete mode 100644 abs/extra-testing/gtk2/gtk2-emit-size-change.patch
 delete mode 100644 abs/extra-testing/gtk2/gtk2.install
 delete mode 100644 abs/extra-testing/gtk2/gtkclipboard-check.patch
 delete mode 100644 abs/extra-testing/intltool/ChangeLog
 delete mode 100644 abs/extra-testing/intltool/PKGBUILD
 delete mode 100644 abs/extra-testing/libcups/PKGBUILD
 delete mode 100644 abs/extra-testing/libglade/PKGBUILD
 delete mode 100644 abs/extra-testing/libglade/glade.install
 delete mode 100644 abs/extra-testing/libglade/libglade-2.0.1-nowarning.patch
 delete mode 100644 abs/extra-testing/libpng/ChangeLog
 delete mode 100644 abs/extra-testing/libpng/PKGBUILD
 delete mode 100644 abs/extra-testing/libxcb/PKGBUILD
 delete mode 100644 abs/extra-testing/libxcb/libxcb-1.1-no-pthread-stubs.patch
 delete mode 100644 abs/extra-testing/libxcb/libxcb-1.1-sloppy-lock.patch
 delete mode 100644 abs/extra-testing/pango/PKGBUILD
 delete mode 100644 abs/extra-testing/pango/bgo563356.patch
 delete mode 100644 abs/extra-testing/pango/pango.install
 delete mode 100644 abs/extra-testing/perl-net-ssleay/PKGBUILD
 delete mode 100644 abs/extra-testing/pixman/PKGBUILD
 delete mode 100644 abs/extra-testing/pycairo/PKGBUILD
 delete mode 100644 abs/extra-testing/pygobject/PKGBUILD
 delete mode 100644 abs/extra-testing/pygtk/PKGBUILD
 delete mode 100644 abs/extra-testing/rsync/ChangeLog
 delete mode 100644 abs/extra-testing/rsync/PKGBUILD
 delete mode 100644 abs/extra-testing/rsync/rsync.xinetd
 delete mode 100644 abs/extra-testing/rsync/rsyncd
 delete mode 100644 abs/extra-testing/rsync/rsyncd.conf
 delete mode 100644 abs/extra-testing/v4l-dvb-dvico/PKGBUILD
 delete mode 100644 abs/extra-testing/xcb-proto/PKGBUILD

diff --git a/abs/extra-testing/community/cdparanoia/ChangeLog b/abs/extra-testing/community/cdparanoia/ChangeLog
deleted file mode 100644
index a1a1d4d..0000000
--- a/abs/extra-testing/community/cdparanoia/ChangeLog
+++ /dev/null
@@ -1,23 +0,0 @@
-2008-09-15  Alexander Fehr  <pizzapunk gmail com>
-
-  * cdparanoia-10.2-1:
-  New upstream release.
-
-2008-08-07  Alexander Fehr  <pizzapunk gmail com>
-
-  * cdparanoia-10.1-1:
-  New upstream release.
-  Changed license to GPL.
-  Added !makeflags option.
-
-2008-07-07  Alexander Fehr  <pizzapunk gmail com>
-
-  * cdparanoia-10.0-1:
-  New upstream release.
-  New maintainer.
-  Added arch variable.
-  Changed license to GPL3.
-  Fixed man page location.
-  Removed cdparanoia.patch.
-  Removed gcc34.patch.
-  Added ChangeLog.
diff --git a/abs/extra-testing/community/cdparanoia/PKGBUILD b/abs/extra-testing/community/cdparanoia/PKGBUILD
deleted file mode 100644
index 0e60bd4..0000000
--- a/abs/extra-testing/community/cdparanoia/PKGBUILD
+++ /dev/null
@@ -1,21 +0,0 @@
-# $Id: PKGBUILD 13080 2008-09-25 21:49:25Z pierre $
-# Maintainer: Alexander Fehr <pizzapunk gmail com>
-
-pkgname=cdparanoia
-pkgver=10.2
-pkgrel=2
-pkgdesc="Compact Disc Digital Audio extraction tool"
-arch=('i686' 'x86_64')
-url="http://www.xiph.org/paranoia/"
-license=('GPL')
-depends=('glibc')
-options=('!makeflags')
-source=(http://downloads.xiph.org/releases/cdparanoia/cdparanoia-III-$pkgver.src.tgz gcc.patch)
-
-build() {
-  cd "$srcdir/cdparanoia-III-$pkgver"
-  patch -p0 -i ${srcdir}/gcc.patch || return 1
-  ./configure --prefix=/usr --mandir=/usr/share/man || return 1
-  make || return 1
-  make prefix="$pkgdir/usr" MANDIR="$pkgdir/usr/share/man" install || return 1
-}
diff --git a/abs/extra-testing/community/cdparanoia/gcc.patch b/abs/extra-testing/community/cdparanoia/gcc.patch
deleted file mode 100644
index b157353..0000000
--- a/abs/extra-testing/community/cdparanoia/gcc.patch
+++ /dev/null
@@ -1,582 +0,0 @@
-Index: interface/test_interface.c
-===================================================================
---- interface/test_interface.c	(Revision 15337)
-+++ interface/test_interface.c	(Revision 15340)
-@@ -66,9 +66,9 @@
-   if(!fd)fd=fdopen(d->cdda_fd,"r");
- 
-   if(begin<lastread)
--    d->private->last_milliseconds=20;
-+    d->private_data->last_milliseconds=20;
-   else
--    d->private->last_milliseconds=sectors;
-+    d->private_data->last_milliseconds=sectors;
- 
- #ifdef CDDA_TEST_UNDERRUN
-   sectors-=1;
-Index: interface/cdda_interface.h
-===================================================================
---- interface/cdda_interface.h	(Revision 15337)
-+++ interface/cdda_interface.h	(Revision 15340)
-@@ -84,7 +84,7 @@
-   int is_atapi;
-   int is_mmc;
- 
--  cdda_private_data_t *private;
-+  cdda_private_data_t *private_data;
-   void         *reserved;
-   unsigned char inqbytes[4];
- 
-Index: interface/interface.c
-===================================================================
---- interface/interface.c	(Revision 15337)
-+++ interface/interface.c	(Revision 15340)
-@@ -39,9 +39,9 @@
-     if(d->drive_model)free(d->drive_model);
-     if(d->cdda_fd!=-1)close(d->cdda_fd);
-     if(d->ioctl_fd!=-1 && d->ioctl_fd!=d->cdda_fd)close(d->ioctl_fd);
--    if(d->private){
--      if(d->private->sg_hd)free(d->private->sg_hd);
--      free(d->private);
-+    if(d->private_data){
-+      if(d->private_data->sg_hd)free(d->private_data->sg_hd);
-+      free(d->private_data);
-     }
- 
-     free(d);
-@@ -127,7 +127,7 @@
- 	}
-       }	
-     }
--    if(ms)*ms=d->private->last_milliseconds;
-+    if(ms)*ms=d->private_data->last_milliseconds;
-     return(sectors);
-   }
-   
-Index: interface/scsi_interface.c
-===================================================================
---- interface/scsi_interface.c	(Revision 15337)
-+++ interface/scsi_interface.c	(Revision 15340)
-@@ -15,13 +15,13 @@
- static int timed_ioctl(cdrom_drive *d, int fd, int command, void *arg){
-   struct timespec tv1;
-   struct timespec tv2;
--  int ret1=clock_gettime(d->private->clock,&tv1);
-+  int ret1=clock_gettime(d->private_data->clock,&tv1);
-   int ret2=ioctl(fd, command,arg);
--  int ret3=clock_gettime(d->private->clock,&tv2);
-+  int ret3=clock_gettime(d->private_data->clock,&tv2);
-   if(ret1<0 || ret3<0){
--    d->private->last_milliseconds=-1;
-+    d->private_data->last_milliseconds=-1;
-   }else{
--    d->private->last_milliseconds = (tv2.tv_sec-tv1.tv_sec)*1000. + (tv2.tv_nsec-tv1.tv_nsec)/1000000.;
-+    d->private_data->last_milliseconds = (tv2.tv_sec-tv1.tv_sec)*1000. + (tv2.tv_nsec-tv1.tv_nsec)/1000000.;
-   }
-   return ret2;
- }
-@@ -96,7 +96,7 @@
- static void clear_garbage(cdrom_drive *d){
-   fd_set fdset;
-   struct timeval tv;
--  struct sg_header *sg_hd=d->private->sg_hd;
-+  struct sg_header *sg_hd=d->private_data->sg_hd;
-   int flag=0;
- 
-   /* clear out any possibly preexisting garbage */
-@@ -185,7 +185,7 @@
-   struct timespec tv2;
-   int tret1,tret2;
-   int status = 0;
--  struct sg_header *sg_hd=d->private->sg_hd;
-+  struct sg_header *sg_hd=d->private_data->sg_hd;
-   long writebytes=SG_OFF+cmd_len+in_size;
- 
-   /* generic scsi device services */
-@@ -195,7 +195,7 @@
- 
-   memset(sg_hd,0,sizeof(sg_hd)); 
-   memset(sense_buffer,0,SG_MAX_SENSE); 
--  memcpy(d->private->sg_buffer,cmd,cmd_len+in_size);
-+  memcpy(d->private_data->sg_buffer,cmd,cmd_len+in_size);
-   sg_hd->twelve_byte = cmd_len == 12;
-   sg_hd->result = 0;
-   sg_hd->reply_len = SG_OFF + out_size;
-@@ -209,7 +209,7 @@
-      tell if the command failed.  Scared yet? */
- 
-   if(bytecheck && out_size>in_size){
--    memset(d->private->sg_buffer+cmd_len+in_size,bytefill,out_size-in_size); 
-+    memset(d->private_data->sg_buffer+cmd_len+in_size,bytefill,out_size-in_size); 
-     /* the size does not remove cmd_len due to the way the kernel
-        driver copies buffers */
-     writebytes+=(out_size-in_size);
-@@ -243,7 +243,7 @@
-   }
- 
-   sigprocmask (SIG_BLOCK, &(d->sigset), NULL );
--  tret1=clock_gettime(d->private->clock,&tv1);  
-+  tret1=clock_gettime(d->private_data->clock,&tv1);  
-   errno=0;
-   status = write(d->cdda_fd, sg_hd, writebytes );
- 
-@@ -289,7 +289,7 @@
-     }
-   }
- 
--  tret2=clock_gettime(d->private->clock,&tv2);  
-+  tret2=clock_gettime(d->private_data->clock,&tv2);  
-   errno=0;
-   status = read(d->cdda_fd, sg_hd, SG_OFF + out_size);
-   sigprocmask ( SIG_UNBLOCK, &(d->sigset), NULL );
-@@ -313,7 +313,7 @@
-   if(bytecheck && in_size+cmd_len<out_size){
-     long i,flag=0;
-     for(i=in_size;i<out_size;i++)
--      if(d->private->sg_buffer[i]!=bytefill){
-+      if(d->private_data->sg_buffer[i]!=bytefill){
- 	flag=1;
- 	break;
-       }
-@@ -326,9 +326,9 @@
- 
-   errno=0;
-   if(tret1<0 || tret2<0){
--    d->private->last_milliseconds=-1;
-+    d->private_data->last_milliseconds=-1;
-   }else{
--    d->private->last_milliseconds = (tv2.tv_sec-tv1.tv_sec)*1000 + (tv2.tv_nsec-tv1.tv_nsec)/1000000;
-+    d->private_data->last_milliseconds = (tv2.tv_sec-tv1.tv_sec)*1000 + (tv2.tv_nsec-tv1.tv_nsec)/1000000;
-   }
-   return(0);
- }
-@@ -347,7 +347,7 @@
- 
-   memset(&hdr,0,sizeof(hdr));
-   memset(sense,0,sizeof(sense));
--  memcpy(d->private->sg_buffer,cmd+cmd_len,in_size);
-+  memcpy(d->private_data->sg_buffer,cmd+cmd_len,in_size);
- 
-   hdr.cmdp = cmd;
-   hdr.cmd_len = cmd_len;
-@@ -355,7 +355,7 @@
-   hdr.mx_sb_len = SG_MAX_SENSE;
-   hdr.timeout = 50000;
-   hdr.interface_id = 'S';
--  hdr.dxferp =  d->private->sg_buffer;
-+  hdr.dxferp =  d->private_data->sg_buffer;
-   hdr.flags = SG_FLAG_DIRECT_IO;  /* direct IO if we can get it */
- 
-   /* scary buffer fill hack */
-@@ -400,7 +400,7 @@
-   if(bytecheck && in_size<out_size){
-     long i,flag=0;
-     for(i=in_size;i<out_size;i++)
--      if(d->private->sg_buffer[i]!=bytefill){
-+      if(d->private_data->sg_buffer[i]!=bytefill){
- 	flag=1;
- 	break;
-       }
-@@ -412,7 +412,7 @@
-   }
- 
-   /* Can't rely on .duration because we can't be certain kernel has HZ set to something useful */
--  /* d->private->last_milliseconds = hdr.duration; */
-+  /* d->private_data->last_milliseconds = hdr.duration; */
- 
-   errno = 0;
-   return 0;
-@@ -445,9 +445,9 @@
- 
-   handle_scsi_cmd(d, cmd, 6, 0, 56, 0,0, sense);
- 
--  key = d->private->sg_buffer[2] & 0xf;
--  ASC = d->private->sg_buffer[12];
--  ASCQ = d->private->sg_buffer[13];
-+  key = d->private_data->sg_buffer[2] & 0xf;
-+  ASC = d->private_data->sg_buffer[12];
-+  ASCQ = d->private_data->sg_buffer[13];
-   
-   if(key == 2 && ASC == 4 && ASCQ == 1) return 0;
-   return 1;
-@@ -492,7 +492,7 @@
-   if (handle_scsi_cmd (d, cmd, 10, 0, size+4,'\377',1,sense)) return(1);
- 
-   {
--    unsigned char *b=d->private->sg_buffer;
-+    unsigned char *b=d->private_data->sg_buffer;
-     if(b[0])return(1); /* Handles only up to 256 bytes */
-     if(b[6])return(1); /* Handles only up to 256 bytes */
- 
-@@ -604,8 +604,8 @@
- static unsigned int get_orig_sectorsize(cdrom_drive *d){
-   if(mode_sense(d,12,0x01))return(-1);
- 
--  d->orgdens = d->private->sg_buffer[4];
--  return(d->orgsize = ((int)(d->private->sg_buffer[10])<<8)+d->private->sg_buffer[11]);
-+  d->orgdens = d->private_data->sg_buffer[4];
-+  return(d->orgsize = ((int)(d->private_data->sg_buffer[10])<<8)+d->private_data->sg_buffer[11]);
- }
- 
- /* switch CDROM scsi drives to given sector size  */
-@@ -664,8 +664,8 @@
-     return(-4);
-   }
- 
--  first=d->private->sg_buffer[2];
--  last=d->private->sg_buffer[3];
-+  first=d->private_data->sg_buffer[2];
-+  last=d->private_data->sg_buffer[3];
-   tracks=last-first+1;
- 
-   if (last > MAXTRK || first > MAXTRK || last<0 || first<0) {
-@@ -683,7 +683,7 @@
-       return(-5);
-     }
-     {
--      scsi_TOC *toc=(scsi_TOC *)(d->private->sg_buffer+4);
-+      scsi_TOC *toc=(scsi_TOC *)(d->private_data->sg_buffer+4);
- 
-       d->disc_toc[i-first].bFlags=toc->bFlags;
-       d->disc_toc[i-first].bTrack=i;
-@@ -704,7 +704,7 @@
-     return(-2);
-   }
-   {
--    scsi_TOC *toc=(scsi_TOC *)(d->private->sg_buffer+4);
-+    scsi_TOC *toc=(scsi_TOC *)(d->private_data->sg_buffer+4);
-     
-     d->disc_toc[i-first].bFlags=toc->bFlags;
-     d->disc_toc[i-first].bTrack=0xAA;
-@@ -738,7 +738,7 @@
-   }
- 
-   /* copy to our structure and convert start sector */
--  tracks = d->private->sg_buffer[1];
-+  tracks = d->private_data->sg_buffer[1];
-   if (tracks > MAXTRK) {
-     cderror(d,"003: CDROM reporting illegal number of tracks\n");
-     return(-3);
-@@ -754,33 +754,33 @@
-       return(-5);
-     }
-     
--    d->disc_toc[i].bFlags = d->private->sg_buffer[10];
-+    d->disc_toc[i].bFlags = d->private_data->sg_buffer[10];
-     d->disc_toc[i].bTrack = i + 1;
- 
-     d->disc_toc[i].dwStartSector= d->adjust_ssize * 
--	(((signed char)(d->private->sg_buffer[2])<<24) | 
--	 (d->private->sg_buffer[3]<<16)|
--	 (d->private->sg_buffer[4]<<8)|
--	 (d->private->sg_buffer[5]));
-+	(((signed char)(d->private_data->sg_buffer[2])<<24) | 
-+	 (d->private_data->sg_buffer[3]<<16)|
-+	 (d->private_data->sg_buffer[4]<<8)|
-+	 (d->private_data->sg_buffer[5]));
-   }
- 
-   d->disc_toc[i].bFlags = 0;
-   d->disc_toc[i].bTrack = i + 1;
--  memcpy (&foo, d->private->sg_buffer+2, 4);
--  memcpy (&bar, d->private->sg_buffer+6, 4);
-+  memcpy (&foo, d->private_data->sg_buffer+2, 4);
-+  memcpy (&bar, d->private_data->sg_buffer+6, 4);
-   d->disc_toc[i].dwStartSector = d->adjust_ssize * (be32_to_cpu(foo) +
- 						    be32_to_cpu(bar));
- 
-   d->disc_toc[i].dwStartSector= d->adjust_ssize * 
--    ((((signed char)(d->private->sg_buffer[2])<<24) | 
--      (d->private->sg_buffer[3]<<16)|
--      (d->private->sg_buffer[4]<<8)|
--      (d->private->sg_buffer[5]))+
-+    ((((signed char)(d->private_data->sg_buffer[2])<<24) | 
-+      (d->private_data->sg_buffer[3]<<16)|
-+      (d->private_data->sg_buffer[4]<<8)|
-+      (d->private_data->sg_buffer[5]))+
-      
--     ((((signed char)(d->private->sg_buffer[6])<<24) | 
--       (d->private->sg_buffer[7]<<16)|
--       (d->private->sg_buffer[8]<<8)|
--       (d->private->sg_buffer[9]))));
-+     ((((signed char)(d->private_data->sg_buffer[6])<<24) | 
-+       (d->private_data->sg_buffer[7]<<16)|
-+       (d->private_data->sg_buffer[8]<<8)|
-+       (d->private_data->sg_buffer[9]))));
- 
- 
-   d->cd_extra = FixupTOC(d,tracks+1);
-@@ -817,7 +817,7 @@
-   cmd[8] = sectors;
-   if((ret=handle_scsi_cmd(d,cmd,10,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense)))
-     return(ret);
--  if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW);
-+  if(p)memcpy(p,d->private_data->sg_buffer,sectors*CD_FRAMESIZE_RAW);
-   return(0);
- }
- 
-@@ -836,7 +836,7 @@
-   cmd[9] = sectors;
-   if((ret=handle_scsi_cmd(d,cmd,12,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense)))
-     return(ret);
--  if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW);
-+  if(p)memcpy(p,d->private_data->sg_buffer,sectors*CD_FRAMESIZE_RAW);
-   return(0);
- }
- 
-@@ -854,7 +854,7 @@
-   cmd[8] = sectors;
-   if((ret=handle_scsi_cmd(d,cmd,10,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense)))
-     return(ret);
--  if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW);
-+  if(p)memcpy(p,d->private_data->sg_buffer,sectors*CD_FRAMESIZE_RAW);
-   return(0);
- }
- 
-@@ -872,7 +872,7 @@
-   cmd[9] = sectors;
-   if((ret=handle_scsi_cmd(d,cmd,12,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense)))
-     return(ret);
--  if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW);
-+  if(p)memcpy(p,d->private_data->sg_buffer,sectors*CD_FRAMESIZE_RAW);
-   return(0);
- }
- 
-@@ -890,7 +890,7 @@
-   cmd[8] = sectors;
-   if((ret=handle_scsi_cmd(d,cmd,10,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense)))
-     return(ret);
--  if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW);
-+  if(p)memcpy(p,d->private_data->sg_buffer,sectors*CD_FRAMESIZE_RAW);
-   return(0);
- }
- 
-@@ -908,7 +908,7 @@
-   cmd[9] = sectors;
-   if((ret=handle_scsi_cmd(d,cmd,12,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense)))
-     return(ret);
--  if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW);
-+  if(p)memcpy(p,d->private_data->sg_buffer,sectors*CD_FRAMESIZE_RAW);
-   return(0);
- }
- 
-@@ -922,7 +922,7 @@
-   cmd[8] = sectors;
-   if((ret=handle_scsi_cmd(d,cmd,12,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense)))
-     return(ret);
--  if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW);
-+  if(p)memcpy(p,d->private_data->sg_buffer,sectors*CD_FRAMESIZE_RAW);
-   return(0);
- }
- 
-@@ -936,7 +936,7 @@
-   cmd[8] = sectors;
-   if((ret=handle_scsi_cmd(d,cmd,12,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense)))
-     return(ret);
--  if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW);
-+  if(p)memcpy(p,d->private_data->sg_buffer,sectors*CD_FRAMESIZE_RAW);
-   return(0);
- }
- 
-@@ -950,7 +950,7 @@
-   cmd[8] = sectors;
-   if((ret=handle_scsi_cmd(d,cmd,12,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense)))
-     return(ret);
--  if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW);
-+  if(p)memcpy(p,d->private_data->sg_buffer,sectors*CD_FRAMESIZE_RAW);
-   return(0);
- }
- 
-@@ -964,7 +964,7 @@
-   cmd[8] = sectors;
-   if((ret=handle_scsi_cmd(d,cmd,12,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense)))
-     return(ret);
--  if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW);
-+  if(p)memcpy(p,d->private_data->sg_buffer,sectors*CD_FRAMESIZE_RAW);
-   return(0);
- }
- 
-@@ -978,7 +978,7 @@
-   cmd[8] = sectors;
-   if((ret=handle_scsi_cmd(d,cmd,12,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense)))
-     return(ret);
--  if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW);
-+  if(p)memcpy(p,d->private_data->sg_buffer,sectors*CD_FRAMESIZE_RAW);
-   return(0);
- }
- 
-@@ -992,7 +992,7 @@
-   cmd[8] = sectors;
-   if((ret=handle_scsi_cmd(d,cmd,12,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense)))
-     return(ret);
--  if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW);
-+  if(p)memcpy(p,d->private_data->sg_buffer,sectors*CD_FRAMESIZE_RAW);
-   return(0);
- }
- 
-@@ -1026,7 +1026,7 @@
- 
-   if((ret=handle_scsi_cmd(d,cmd,12,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense)))
-     return(ret);
--  if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW);
-+  if(p)memcpy(p,d->private_data->sg_buffer,sectors*CD_FRAMESIZE_RAW);
-   return(0);
- }
- 
-@@ -1039,7 +1039,7 @@
- 
-   if((ret=handle_scsi_cmd(d,cmd,12,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense)))
-     return(ret);
--  if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW);
-+  if(p)memcpy(p,d->private_data->sg_buffer,sectors*CD_FRAMESIZE_RAW);
-   return(0);
- }
- 
-@@ -1052,7 +1052,7 @@
-   
-   if((ret=handle_scsi_cmd(d,cmd,12,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense)))
-     return(ret);
--  if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW);
-+  if(p)memcpy(p,d->private_data->sg_buffer,sectors*CD_FRAMESIZE_RAW);
-   return(0);
- }
- 
-@@ -1275,7 +1275,7 @@
- static int count_2352_bytes(cdrom_drive *d){
-   long i;
-   for(i=2351;i>=0;i--)
--    if(d->private->sg_buffer[i]!=(unsigned char)'\177')
-+    if(d->private_data->sg_buffer[i]!=(unsigned char)'\177')
-       return(((i+3)>>2)<<2);
- 
-   return(0);
-@@ -1284,7 +1284,7 @@
- static int verify_nonzero(cdrom_drive *d){
-   long i,flag=0;
-   for(i=0;i<2352;i++)
--    if(d->private->sg_buffer[i]!=0){
-+    if(d->private_data->sg_buffer[i]!=0){
-       flag=1;
-       break;
-     }
-@@ -1621,7 +1621,7 @@
-   d->is_mmc=0;
-   if(mode_sense(d,22,0x2A)==0){
-   
--    b=d->private->sg_buffer;
-+    b=d->private_data->sg_buffer;
-     b+=b[3]+4;
-     
-     if((b[0]&0x3F)==0x2A){
-@@ -1669,7 +1669,7 @@
-     cderror(d,"008: Unable to identify CDROM model\n");
-     return(NULL);
-   }
--  return (d->private->sg_buffer);
-+  return (d->private_data->sg_buffer);
- }
- 
- int scsi_init_drive(cdrom_drive *d){
-@@ -1725,8 +1725,8 @@
-   check_cache(d);
- 
-   d->error_retry=1;
--  d->private->sg_hd=realloc(d->private->sg_hd,d->nsectors*CD_FRAMESIZE_RAW + SG_OFF + 128);
--  d->private->sg_buffer=((unsigned char *)d->private->sg_hd)+SG_OFF;
-+  d->private_data->sg_hd=realloc(d->private_data->sg_hd,d->nsectors*CD_FRAMESIZE_RAW + SG_OFF + 128);
-+  d->private_data->sg_buffer=((unsigned char *)d->private_data->sg_hd)+SG_OFF;
-   d->report_all=1;
-   return(0);
- }
-Index: interface/cooked_interface.c
-===================================================================
---- interface/cooked_interface.c	(Revision 15337)
-+++ interface/cooked_interface.c	(Revision 15340)
-@@ -13,13 +13,13 @@
- static int timed_ioctl(cdrom_drive *d, int fd, int command, void *arg){
-   struct timespec tv1;
-   struct timespec tv2;
--  int ret1=clock_gettime(d->private->clock,&tv1);
-+  int ret1=clock_gettime(d->private_data->clock,&tv1);
-   int ret2=ioctl(fd, command,arg);
--  int ret3=clock_gettime(d->private->clock,&tv2);
-+  int ret3=clock_gettime(d->private_data->clock,&tv2);
-   if(ret1<0 || ret3<0){
--    d->private->last_milliseconds=-1;
-+    d->private_data->last_milliseconds=-1;
-   }else{
--    d->private->last_milliseconds = (tv2.tv_sec-tv1.tv_sec)*1000. + (tv2.tv_nsec-tv1.tv_nsec)/1000000.;
-+    d->private_data->last_milliseconds = (tv2.tv_sec-tv1.tv_sec)*1000. + (tv2.tv_nsec-tv1.tv_nsec)/1000000.;
-   }
-   return ret2;
- }
-Index: interface/scan_devices.c
-===================================================================
---- interface/scan_devices.c	(Revision 15337)
-+++ interface/scan_devices.c	(Revision 15340)
-@@ -264,11 +264,11 @@
-   d->interface=COOKED_IOCTL;
-   d->bigendianp=-1; /* We don't know yet... */
-   d->nsectors=-1;
--  d->private=calloc(1,sizeof(*d->private));
-+  d->private_data=calloc(1,sizeof(*d->private_data));
-   {
-     /* goddamnit */
-     struct timespec tv;
--    d->private->clock=(clock_gettime(CLOCK_MONOTONIC,&tv)<0?CLOCK_REALTIME:CLOCK_MONOTONIC);
-+    d->private_data->clock=(clock_gettime(CLOCK_MONOTONIC,&tv)<0?CLOCK_REALTIME:CLOCK_MONOTONIC);
-   }
-   idmessage(messagedest,messages,"\t\tCDROM sensed: %s\n",description);
-   return(d);
-@@ -674,15 +674,15 @@
-   d->bigendianp=-1; /* We don't know yet... */
-   d->nsectors=-1;
-   d->messagedest = messagedest;
--  d->private=calloc(1,sizeof(*d->private));
-+  d->private_data=calloc(1,sizeof(*d->private_data));
-   {
-     /* goddamnit */
-     struct timespec tv;
--    d->private->clock=(clock_gettime(CLOCK_MONOTONIC,&tv)<0?CLOCK_REALTIME:CLOCK_MONOTONIC);
-+    d->private_data->clock=(clock_gettime(CLOCK_MONOTONIC,&tv)<0?CLOCK_REALTIME:CLOCK_MONOTONIC);
-   }
-   if(use_sgio){
-     d->interface=SGIO_SCSI;
--    d->private->sg_buffer=(unsigned char *)(d->private->sg_hd=malloc(MAX_BIG_BUFF_SIZE));
-+    d->private_data->sg_buffer=(unsigned char *)(d->private_data->sg_hd=malloc(MAX_BIG_BUFF_SIZE));
-     g_fd=d->cdda_fd=dup(d->ioctl_fd);
-   }else{
-     version=verify_SG_version(d,messagedest,messages);
-@@ -696,8 +696,8 @@
-     }
- 
-     /* malloc our big buffer for scsi commands */
--    d->private->sg_hd=malloc(MAX_BIG_BUFF_SIZE);
--    d->private->sg_buffer=((unsigned char *)d->private->sg_hd)+SG_OFF;
-+    d->private_data->sg_hd=malloc(MAX_BIG_BUFF_SIZE);
-+    d->private_data->sg_buffer=((unsigned char *)d->private_data->sg_hd)+SG_OFF;
-   }
- 
-   {
-@@ -772,9 +772,9 @@
-   if(i_fd!=-1)close(i_fd);
-   if(g_fd!=-1)close(g_fd);
-   if(d){
--    if(d->private){
--      if(d->private->sg_hd)free(d->private->sg_hd);
--      free(d->private);
-+    if(d->private_data){
-+      if(d->private_data->sg_hd)free(d->private_data->sg_hd);
-+      free(d->private_data);
-     }
-     free(d);
-   }
-@@ -821,7 +821,7 @@
-   d->interface=TEST_INTERFACE;
-   d->bigendianp=-1; /* We don't know yet... */
-   d->nsectors=-1;
--  d->private=calloc(1,sizeof(*d->private));
-+  d->private_data=calloc(1,sizeof(*d->private_data));
-   d->drive_model=copystring("File based test interface");
-   idmessage(messagedest,messages,"\t\tCDROM sensed: %s\n",d->drive_model);
-   
diff --git a/abs/extra-testing/fam/PKGBUILD b/abs/extra-testing/fam/PKGBUILD
deleted file mode 100644
index e7f5e41..0000000
--- a/abs/extra-testing/fam/PKGBUILD
+++ /dev/null
@@ -1,49 +0,0 @@
-# $Id: PKGBUILD 15741 2008-10-18 01:59:29Z allan $
-# Maintainer: Allan McRae <allan@archlinux.org>
-# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
-pkgname=fam
-pkgver=2.7.0
-pkgrel=11
-pkgdesc="File Alteration Monitor - used by KDE, GNOME and others"
-arch=('i686' 'x86_64')
-license=('LGPL' 'GPL')
-depends=('portmap')
-url="http://oss.sgi.com/projects/fam/"
-backup=(etc/fam/fam.conf)
-options=('!makeflags') # Don't !libtool
-source=(ftp://oss.sgi.com/projects/fam/download/stable/${pkgname}-${pkgver}.tar.gz
-	fam-2.7.0-dnotify.patch
-	fam-2.7.0-largefiles.patch
-	fam-2.7.0-noc++.patch
-	fam-2.7.0-gcc43.patch
-	include_fam_h.patch
-	fam)
-md5sums=('1bf3ae6c0c58d3201afc97c6a4834e39'
-         '073d1763318344635ea316293390205c'
-         '47b41e0b0498793af004696a096d7da1'
-         '0274cd113d3dcb015653b5606c7714ac'
-         '13c14778038aa9601a27498448e855e0'
-         '2638b8ffacb9f03b6e438e08ea7b290a'
-         '45b648907ba1c7edec17fb544f1f4a13')
-
-build() {
-  cd ${srcdir}/${pkgname}-${pkgver}
-  patch -Np1 -i ${srcdir}/fam-2.7.0-dnotify.patch || return 1
-  patch -Np1 -i ${srcdir}/fam-2.7.0-largefiles.patch || return 1
-  patch -Np0 -i ${srcdir}/include_fam_h.patch || return 1
-  patch -Np1 -i ${srcdir}/fam-2.7.0-noc++.patch || return 1
-  patch -Np1 -i ${srcdir}/fam-2.7.0-gcc43.patch || return 1
-
-  chmod 755 configure || return 1
-
-  autoheader || return 1
-  aclocal || return 1
-  automake -a -c || return 1
-  autoconf || return 1
-  libtoolize --copy --force || return 1
-
-  ./configure --prefix=/usr --sysconfdir=/etc/fam
-  make || return 1
-  make DESTDIR=${pkgdir} install
-  install -D -m755 ../fam ${pkgdir}/etc/rc.d/fam
-}
diff --git a/abs/extra-testing/fam/fam b/abs/extra-testing/fam/fam
deleted file mode 100755
index 3acceff..0000000
--- a/abs/extra-testing/fam/fam
+++ /dev/null
@@ -1,44 +0,0 @@
-#!/bin/bash
-
-. /etc/rc.conf
-. /etc/rc.d/functions
-
-PID=`pidof -o %PPID /usr/sbin/famd`
-case "$1" in
-  start)
-    #Check for running portmap, start when not running
-    ck_daemon portmap && /etc/rc.d/portmap start
-    stat_busy "Starting File Alteration Monitor"
-    if [ ! -f /var/run/daemons/portmap ]; then
-      stat_fail
-      echo "ERROR: PORTMAP is not running"
-      exit 1
-    fi
-    if [ -z "$PID" ]; then
-       /usr/sbin/famd -T 0 -c /etc/fam/fam.conf
-    fi
-    if [ ! -z "$PID" -o $? -gt 0 ]; then
-      stat_fail
-    else
-      add_daemon fam
-      stat_done
-    fi
-    ;;
-  stop)
-    stat_busy "Stopping File Alteration Monitor"
-    [ ! -z "$PID" ]  && kill $PID &> /dev/null
-    if [ $? -gt 0 ]; then
-      stat_fail
-    else
-      rm_daemon fam
-      stat_done
-    fi
-    ;;
-  restart)
-    $0 stop
-    sleep 1
-    $0 start
-    ;;
-  *)
-    echo "usage: $0 {start|stop|restart}"  
-esac
diff --git a/abs/extra-testing/fam/fam-2.7.0-dnotify.patch b/abs/extra-testing/fam/fam-2.7.0-dnotify.patch
deleted file mode 100644
index 1d8910e..0000000
--- a/abs/extra-testing/fam/fam-2.7.0-dnotify.patch
+++ /dev/null
@@ -1,975 +0,0 @@
---- fam-2.7.0/src/DNotify.c++	2004-01-30 00:00:00.000000000 +0100
-+++ fam-2.7.0.dnotify/src/DNotify.c++	2004-01-30 00:00:00.000000000 +0100
-@@ -0,0 +1,582 @@
-+//  Copyright (C) 2001 Red Hat, Inc.  All Rights Reserved.
-+//  Copyright (C) 1999 Silicon Graphics, Inc.  All Rights Reserved.
-+//  
-+//  This program is free software; you can redistribute it and/or modify it
-+//  under the terms of version 2 of the GNU General Public License as
-+//  published by the Free Software Foundation.
-+//
-+//  This program is distributed in the hope that it would be useful, but
-+//  WITHOUT ANY WARRANTY; without even the implied warranty of
-+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  Further, any
-+//  license provided herein, whether implied or otherwise, is limited to
-+//  this program in accordance with the express provisions of the GNU
-+//  General Public License.  Patent licenses, if any, provided herein do not
-+//  apply to combinations of this program with other product or programs, or
-+//  any other product whatsoever.  This program is distributed without any
-+//  warranty that the program is delivered free of the rightful claim of any
-+//  third person by way of infringement or the like.  See the GNU General
-+//  Public License for more details.
-+//
-+//  You should have received a copy of the GNU General Public License along
-+//  with this program; if not, write the Free Software Foundation, Inc., 59
-+//  Temple Place - Suite 330, Boston MA 02111-1307, USA.
-+
-+#define _GNU_SOURCE  
-+#include <fcntl.h>
-+
-+#include <string.h>
-+#include <signal.h>
-+#include <stdio.h>
-+#include <unistd.h>
-+#include <sys/types.h>
-+#include <sys/stat.h>
-+#include <libgen.h>
-+
-+#include "DNotify.h"
-+
-+#include "Interest.h"
-+#include "Log.h"
-+#include "Scheduler.h"
-+#include <memory>
-+
-+
-+int DNotify::pipe_write_fd = -2;
-+int DNotify::pipe_read_fd = -2;
-+volatile sig_atomic_t DNotify::queue_overflowed = 0;
-+volatile sig_atomic_t DNotify::queue_changed = 0;
-+int DNotify::change_queue[QUEUESIZE];
-+volatile int DNotify::queue_head = 0; // Only modified by read handler
-+volatile int DNotify::queue_tail = 0; // Only modified by signal handler
-+DNotify::EventHandler DNotify::ehandler;
-+
-+DNotify::DirWatch *DNotify::dir_hash[DIR_HASHSIZE];
-+DNotify::FileWatch *DNotify::file_hash[FILE_HASHSIZE];
-+
-+struct DNotify::FileWatch
-+{
-+    DirWatch *dir_watch;
-+    dev_t file_dev;
-+    ino_t file_ino;
-+    FileWatch *next; // The DirWatch.watches list
-+    FileWatch *hash_link;
-+};
-+
-+struct DNotify::DirWatch
-+{
-+    int fd;
-+    dev_t dir_dev;
-+    ino_t dir_ino;
-+    
-+    DirWatch *hash_link;
-+    FileWatch *watches;
-+};
-+
-+struct DNotify::ChangeEventData
-+{
-+    dev_t file_dev;
-+    ino_t file_ino;
-+};    
-+
-+DNotify::DNotify(EventHandler h)
-+{
-+    assert(ehandler == NULL);
-+    ehandler = h;
-+}
-+
-+DNotify::~DNotify()
-+{
-+    if (pipe_read_fd >= 0)
-+    {
-+	//  Tell the scheduler.
-+
-+	(void) Scheduler::remove_read_handler(pipe_read_fd);
-+
-+	//  Close the pipe.
-+
-+	if (close(pipe_read_fd) < 0)
-+	    Log::perror("can't pipe read end");
-+	else
-+	    Log::debug("closed pipe read end");
-+	
-+	if (close(pipe_write_fd) < 0)
-+	    Log::perror("can't pipe write end");
-+	else
-+	    Log::debug("closed pipe write end");
-+	pipe_read_fd = -1;
-+    }
-+    ehandler = NULL;
-+}
-+
-+void
-+DNotify::overflow_signal_handler(int sig, siginfo_t *si, void *data)
-+{
-+  char c = 'x';
-+
-+  {
-+    char *str = "*************** overflow sigqueue ***********************\n";
-+    write (STDERR_FILENO, str, strlen(str));
-+  }
-+
-+  if (!queue_overflowed)
-+  {
-+      queue_overflowed = 1;
-+      // Trigger the read handler
-+      write(pipe_write_fd, &c, 1);
-+  }
-+}
-+
-+void
-+DNotify::signal_handler(int sig, siginfo_t *si, void *data)
-+{
-+  int left;
-+  char c = 'x';
-+
-+  if (queue_head <= queue_tail)
-+    left = (QUEUESIZE + queue_head) - queue_tail;
-+  else 
-+    left = queue_head - queue_tail;
-+  
-+  // Must leave at least one item unused to see difference
-+  // Betweeen empty and full
-+  if (left <= 1)
-+  {
-+      queue_overflowed = 1;
-+      {
-+	char *str = "*************** overflow famqueue ****************\n";
-+	write (STDERR_FILENO, str, strlen(str));
-+      }
-+  }
-+  else
-+  {
-+      change_queue[queue_tail] = si->si_fd;
-+      queue_tail = (queue_tail + 1) % QUEUESIZE;
-+  }
-+  
-+  if (!queue_changed)
-+  {
-+      queue_changed = 1;
-+      // Trigger the read handler
-+      write(pipe_write_fd, &c, 1);
-+  }
-+}
-+
-+bool
-+DNotify::is_active()
-+{
-+    if (pipe_read_fd == -2)
-+    {
-+        int filedes[2];
-+	int res;
-+	
-+	res = pipe (filedes);
-+	if (res >= 0)
-+	{   Log::debug("opened pipe");
-+   	    pipe_read_fd = filedes[0];
-+   	    pipe_write_fd = filedes[1];
-+
-+	    // Setup signal handler:
-+	    struct sigaction act;
-+	    
-+	    act.sa_sigaction = signal_handler;
-+	    sigemptyset(&act.sa_mask);
-+	    act.sa_flags = SA_SIGINFO;
-+	    sigaction(SIGRTMIN, &act, NULL);
-+
-+	    // When the RT queue overflows we get a SIGIO
-+	    act.sa_sigaction = overflow_signal_handler;
-+	    sigemptyset(&act.sa_mask);
-+	    sigaction(SIGIO, &act, NULL);
-+
-+	    (void) Scheduler::install_read_handler(pipe_read_fd, read_handler, NULL);
-+	}
-+    }
-+    return pipe_read_fd >= 0;
-+}
-+
-+DNotify::DirWatch *
-+DNotify::lookup_dirwatch (int fd)
-+{
-+  DirWatch **p;
-+  DirWatch *w;
-+
-+  p = dir_hashchain (fd);
-+
-+  while (*p)
-+    {
-+      w = *p;
-+
-+      if (w->fd == fd)
-+	return w;
-+
-+      p = &w->hash_link;
-+    }
-+  
-+  return *p;
-+}
-+
-+// This colud be made faster by using another hash table.
-+// But it's not that bad, since it is only used by express/revoke
-+DNotify::DirWatch *
-+DNotify::lookup_dirwatch (dev_t dir_dev, ino_t dir_ino)
-+{
-+  DirWatch *p;
-+  int i;
-+
-+  for (i=0;i<DIR_HASHSIZE;i++)
-+    {
-+      p = dir_hash[i];
-+      
-+      while (p)
-+	{
-+	  if (p->dir_dev == dir_dev && p->dir_ino == dir_ino)
-+	    return p;
-+	  
-+	  p = p->hash_link;
-+	}
-+    }
-+  
-+  return NULL;
-+}
-+
-+DNotify::FileWatch *
-+DNotify::lookup_filewatch (dev_t dev, ino_t ino)
-+{
-+  FileWatch **p;
-+  FileWatch *w;
-+
-+  p = file_hashchain (dev, ino);
-+
-+  while (*p)
-+    {
-+      w = *p;
-+
-+      if (w->file_dev == dev && w->file_ino == ino)
-+	return w;
-+
-+      p = &w->hash_link;
-+    }
-+  
-+  return *p;
-+}
-+
-+// Make sure w is not already in the hash table before calling
-+// this function.
-+void
-+DNotify::hash_dirwatch(DirWatch *w)
-+{
-+  DirWatch **p;
-+  p = dir_hashchain (w->fd);
-+  w->hash_link = *p;
-+  *p = w;
-+}
-+
-+// Make sure w is not already in the hash table before calling
-+// this function.
-+void
-+DNotify::hash_filewatch(FileWatch *w)
-+{
-+  FileWatch **p;
-+  p = file_hashchain (w->file_dev, w->file_ino);
-+  w->hash_link = *p;
-+  *p = w;
-+}
-+
-+void
-+DNotify::unhash_dirwatch(DirWatch *w)
-+{
-+  DirWatch **p;
-+  
-+  p = dir_hashchain (w->fd);
-+  
-+  while (*p)
-+    {
-+      if (*p == w)
-+	{
-+	  *p = w->hash_link;
-+	  break;
-+	}
-+      p = &(*p)->hash_link;
-+    }
-+  w->hash_link = NULL;
-+}
-+
-+void
-+DNotify::unhash_filewatch(FileWatch *w)
-+{
-+  FileWatch **p;
-+  
-+  p = file_hashchain (w->file_dev, w->file_ino);
-+  
-+  while (*p)
-+    {
-+      if (*p == w)
-+	{
-+	  *p = w->hash_link;
-+	  break;
-+	}
-+      p = &(*p)->hash_link;
-+    }
-+  w->hash_link = NULL;
-+}
-+
-+DNotify::Status
-+DNotify::watch_dir(const char *notify_dir, dev_t file_dev, ino_t file_ino)
-+{
-+  struct stat stat;
-+  dev_t dir_dev;
-+  ino_t dir_ino;
-+  DirWatch *dwatch;
-+  FileWatch *fw;
-+    
-+  if (lstat (notify_dir, &stat) == -1)
-+      return BAD;
-+  
-+  dwatch = lookup_dirwatch(stat.st_dev, stat.st_ino);
-+  if (!dwatch)
-+    {
-+      Log::debug ("New DirWatch for %s (%x %x)\n",
-+		  notify_dir, (int)stat.st_dev, (int)stat.st_ino);
-+      dwatch = new DirWatch;
-+      dwatch->watches = NULL;
-+      dwatch->hash_link = NULL;
-+      dwatch->dir_dev = stat.st_dev;
-+      dwatch->dir_ino = stat.st_ino;
-+      
-+      dwatch->fd = open(notify_dir, O_RDONLY);
-+      fcntl (dwatch->fd, F_SETSIG, SIGRTMIN);
-+      if (fcntl (dwatch->fd, F_NOTIFY,
-+                 (DN_MODIFY|DN_CREATE|DN_DELETE|DN_RENAME|DN_ATTRIB) 
-+		  | DN_MULTISHOT) == -1) {
-+	      return BAD;
-+      }
-+      hash_dirwatch (dwatch);
-+    }
-+
-+  fw = lookup_filewatch (file_dev, file_ino);
-+  if (fw && fw->dir_watch == dwatch)
-+	return OK;
-+  
-+  // No old FileWatch, need to add one:
-+  Log::debug("New FileWatch for %x %x\n", (int)file_dev, (int)file_ino);
-+  fw = new FileWatch;
-+  fw->next = dwatch->watches;
-+  dwatch->watches = fw;
-+  fw->file_dev = file_dev;
-+  fw->file_ino = file_ino;
-+  fw->dir_watch = dwatch;
-+  hash_filewatch(fw);
-+  return OK;
-+}
-+
-+char *
-+dirname_dup (const char *name)
-+{
-+  char *copy = strdup(name);
-+  char *res = dirname(copy);
-+  res = strdup(res);
-+  free (copy);
-+  return res;
-+}
-+
-+DNotify::Status
-+DNotify::express(const char *name, struct stat *status)
-+{
-+    struct stat stat;
-+    char *notify_dir;
-+    int res;
-+    Status s;
-+    dev_t dev;
-+    ino_t ino;
-+
-+    Log::debug("express() name: %s\n", name);
-+
-+    if (!is_active())
-+	return BAD;
-+
-+    if (::lstat (name, &stat) == -1)
-+      return BAD;
-+
-+    dev = stat.st_dev;
-+    ino = stat.st_ino;
-+    
-+    if ((stat.st_mode & S_IFMT) != S_IFDIR)
-+	notify_dir = dirname_dup (name);
-+    else
-+	notify_dir = (char *)name;
-+
-+    s = watch_dir (notify_dir, dev, ino);
-+    if (notify_dir != name)
-+        free (notify_dir);
-+    if (s)
-+      return s;
-+
-+    // Check for a race condition; if someone removed or changed the
-+    // file at the same time that we are expressing interest in it,
-+    // revoke the interest so we don't get notifications about changes
-+    // to a recycled inode that we don't otherwise care about.
-+    //
-+    struct stat st;
-+    if (status == NULL) {
-+	status = &st;
-+    }
-+    if (::lstat(name, status) == -1) {
-+	Log::perror("stat on \"%s\" failed", name);
-+	revoke(name, stat.st_dev, stat.st_ino);
-+	return BAD;
-+    }
-+    if (status->st_dev != stat.st_dev
-+	|| status->st_ino != stat.st_ino) {
-+	Log::error("File \"%s\" changed between express and stat",
-+		   name);
-+	revoke(name, stat.st_dev, stat.st_ino);
-+	return BAD;
-+    }	
-+
-+    Log::debug("told dnotify to monitor \"%s\" = dev %d/%d, ino %d", name,
-+	       major(status->st_dev), minor(status->st_dev),
-+	       status->st_ino);
-+    return OK;
-+}
-+
-+DNotify::Status
-+DNotify::revoke(const char *name, dev_t dev, ino_t ino)
-+{
-+    FileWatch *fwatch;
-+    DirWatch *dwatch;
-+    
-+    Log::debug("revoke() name: %s, dev: %x, ino: %x\n", name, dev, ino);
-+
-+    if (!is_active())
-+	return BAD;
-+
-+    // Lookup FileWatch by dev:ino, and its DirWatch.
-+    fwatch = lookup_filewatch (dev, ino);
-+    if (fwatch == NULL)
-+	return BAD;
-+    
-+    dwatch = fwatch->dir_watch;
-+    
-+    // delete FileWatch, if last FileWatch: close fd, delete DirWatch
-+    Log::debug ("Destroying FileWatch for (%x %x)\n",
-+		(int)fwatch->file_dev, (int)fwatch->file_ino);
-+    FileWatch **p;
-+    for (p=&dwatch->watches; *p; p=&(*p)->next)
-+    {
-+      if (*p == fwatch)
-+	{
-+	  *p = (*p)->next;
-+	  break;
-+	}
-+    }
-+    unhash_filewatch(fwatch);
-+    delete fwatch;
-+    if (dwatch->watches == NULL)
-+      {
-+	Log::debug ("Destroying DirWatch for (%x %x)\n",
-+		    (int)dwatch->dir_dev, (int)dwatch->dir_ino);
-+	close(dwatch->fd);
-+	unhash_dirwatch(dwatch);
-+	delete dwatch;
-+      }
-+  
-+    return OK;
-+}
-+
-+
-+void
-+DNotify::all_watches_changed(void)
-+{
-+  int i;
-+  FileWatch *fw;
-+
-+  for (i=0; i<FILE_HASHSIZE; i++)
-+  {
-+      fw = file_hash[i];
-+      while (fw)
-+      {
-+	  (*ehandler)(fw->file_dev, fw->file_ino, CHANGE);
-+
-+	  fw = fw->hash_link;
-+      }
-+  }
-+}
-+
-+
-+void
-+DNotify::read_handler(int fd, void *)
-+{
-+    static char readbuf[5000];
-+    DirWatch *dw;
-+    FileWatch *fw;
-+    int snap_queue_tail;
-+    int last_fd;
-+
-+    int rc = read(fd, readbuf, sizeof readbuf);
-+    queue_changed = 0;
-+    if (rc < 0)
-+        Log::perror("pipe read");
-+    else if (queue_overflowed)
-+    {
-+	  // There is a *slight* race condition here. Between reading
-+	  // the queue_overflow flag and resetting it. But it doesn't
-+	  // matter, since I'm gonna handle the overflow after reseting
-+	  // anyway.
-+	  queue_overflowed = false;
-+
-+	  // We're soon gonna check all watches anyway, so
-+	  // get rid of the current queue
-+	  queue_head = queue_tail;
-+	  
-+	  all_watches_changed ();
-+    }
-+    else
-+    {
-+	// Don't read events that happen later than
-+	// the initial read. (Otherwise skipping fd's
-+	// might miss some changes).
-+	snap_queue_tail = queue_tail;
-+	last_fd = -1;
-+	while (queue_head != snap_queue_tail)
-+	{
-+	    fd = change_queue[queue_head];
-+	    queue_head = (queue_head + 1) % QUEUESIZE;
-+
-+	    // Skip multiple changes to the same fd
-+	    if (fd != last_fd)
-+	    {
-+		dw = lookup_dirwatch (fd);
-+		if (dw)
-+		{
-+		    int n_watches, i;
-+		    ChangeEventData *data;
-+		    
-+		    Log::debug("dnotify said dev %d/%d, ino %ld changed",
-+			       major(dw->dir_dev), minor(dw->dir_dev), dw->dir_ino);
-+		    
-+		    n_watches = 0;
-+		    for (fw=dw->watches; fw; fw=fw->next)
-+			n_watches++;
-+		    
-+		    data = new ChangeEventData[n_watches];
-+
-+		    i = 0;
-+		    for (fw=dw->watches; fw; fw=fw->next)
-+		    {
-+			data[i].file_dev = fw->file_dev;
-+			data[i].file_ino = fw->file_ino;
-+			i++;
-+		    }
-+
-+		    for (i = 0; i < n_watches; i++)
-+		    {
-+			(*ehandler)(data[i].file_dev, data[i].file_ino, CHANGE);
-+		    }
-+		    
-+		    delete[] data;
-+		}
-+	    }
-+	    last_fd = fd;
-+	}
-+    }
-+}
-+
---- fam-2.7.0/src/DNotify.h	2004-01-30 00:00:00.000000000 +0100
-+++ fam-2.7.0.dnotify/src/DNotify.h	2004-01-30 00:00:00.000000000 +0100
-@@ -0,0 +1,98 @@
-+//  Copyright (C) 2001 Red Hat, Inc.  All Rights Reserved.
-+//  Copyright (C) 1999 Silicon Graphics, Inc.  All Rights Reserved.
-+//
-+//  This program is free software; you can redistribute it and/or modify it
-+//  under the terms of version 2 of the GNU General Public License as
-+//  published by the Free Software Foundation.
-+//
-+//  This program is distributed in the hope that it would be useful, but
-+//  WITHOUT ANY WARRANTY; without even the implied warranty of
-+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  Further, any
-+//  license provided herein, whether implied or otherwise, is limited to
-+//  this program in accordance with the express provisions of the GNU
-+//  General Public License.  Patent licenses, if any, provided herein do not
-+//  apply to combinations of this program with other product or programs, or
-+//  any other product whatsoever.  This program is distributed without any
-+//  warranty that the program is delivered free of the rightful claim of any
-+//  third person by way of infringement or the like.  See the GNU General
-+//  Public License for more details.
-+//
-+//  You should have received a copy of the GNU General Public License along
-+//  with this program; if not, write the Free Software Foundation, Inc., 59
-+//  Temple Place - Suite 330, Boston MA 02111-1307, USA.
-+
-+#ifndef DNotify_included
-+#define DNotify_included
-+
-+#include "config.h"
-+#include "Monitor.h"
-+#include <signal.h>
-+
-+//  DNotify is an object encapsulating the dnotify linux fcntl.
-+//  It "emulates" the IMon interface.
-+//  There can only be one instantiation of the DNotify object.
-+//
-+//  The user of this object uses express() and revoke() to
-+//  express/revoke interest in a file.  There is also
-+//  a callback, the EventHandler.  When an dnotify event comes in,
-+//  the EventHandler is called.
-+//
-+//  The user of the DNotify object is the Interest class.
-+
-+class DNotify : public Monitor {
-+public:
-+    DNotify(EventHandler h);
-+    ~DNotify();
-+
-+    static bool is_active();
-+
-+    virtual Status express(const char *name, struct stat *stat_return);
-+    virtual Status revoke(const char *name, dev_t dev, ino_t ino);
-+
-+private:
-+    struct FileWatch;
-+    struct DirWatch;
-+    struct ChangeEventData;
-+  
-+    //  Class Variables
-+    enum { QUEUESIZE = 1024 };
-+    static int pipe_write_fd;
-+    static int pipe_read_fd;
-+    static int change_queue[QUEUESIZE];
-+    static volatile sig_atomic_t queue_overflowed;
-+    static volatile sig_atomic_t queue_changed;
-+    static volatile int queue_head; // Only modified by read handler
-+    static volatile int queue_tail; // Only modified by signal handler
-+    static EventHandler ehandler;
-+    static void overflow_signal_handler(int sig, siginfo_t *si, void *data);
-+    static void signal_handler(int sig, siginfo_t *si, void *data);
-+    static void read_handler(int fd, void *closure);
-+ 
-+    enum { DIR_HASHSIZE = 367 };
-+    static DirWatch *dir_hash[DIR_HASHSIZE];
-+    enum { FILE_HASHSIZE = 823 };
-+    static FileWatch *file_hash[FILE_HASHSIZE];
-+
-+    static DirWatch **dir_hashchain(int fd)
-+			  { return &dir_hash[(unsigned) (fd) % DIR_HASHSIZE]; }
-+    static FileWatch **file_hashchain(dev_t d, ino_t i)
-+			  { return &file_hash[(unsigned) (d+i) % FILE_HASHSIZE]; }
-+
-+    static DirWatch *lookup_dirwatch (int fd);
-+    static DirWatch *lookup_dirwatch (dev_t dir_dev, ino_t dir_ino);
-+    static FileWatch *lookup_filewatch (dev_t file_dev, ino_t file_ino);
-+    static void hash_dirwatch(DirWatch *w);
-+    static void hash_filewatch(FileWatch *w);
-+    static void unhash_dirwatch(DirWatch *w);
-+    static void unhash_filewatch(FileWatch *w);
-+    static Status watch_dir(const char *notify_dir, dev_t file_dev, ino_t file_ino);
-+
-+    static void all_watches_changed(void);
-+    
-+    DNotify(const DNotify&);			// Do not copy
-+    DNotify & operator = (const DNotify&);	//  or assign.
-+};
-+
-+#endif /* !IMon_included */
-+
-+
---- fam-2.7.0/src/Interest.c++	2004-01-30 00:00:00.000000000 +0100
-+++ fam-2.7.0.dnotify/src/Interest.c++	2004-01-30 00:00:00.000000000 +0100
-@@ -42,12 +42,21 @@
- #include "Event.h"
- #include "FileSystem.h"
- #include "IMon.h"
-+#include "DNotify.h"
- #include "Log.h"
- #include "Pollster.h"
- #include "timeval.h"
- 
- Interest *Interest::hashtable[];
--IMon      Interest::imon(imon_handler);
-+
-+#ifdef USE_DNOTIFY 
-+static DNotify dnotify(Interest::monitor_handler);
-+Monitor * Interest::monitor = &dnotify;
-+#else
-+static IMon imon(Interest::monitor_handler);
-+Monitor * Interest::monitor = &imon;
-+#endif
-+
- bool      Interest::xtab_verification = true;
- 
- Interest::Interest(const char *name, FileSystem *fs, in_addr host, ExportVerification ev)
-@@ -60,10 +69,10 @@
-       mypath_exported_to_host(ev == NO_VERIFY_EXPORTED)
- {
-     memset(&old_stat, 0, sizeof(old_stat)); 
--    IMon::Status s = IMon::BAD;
- 
--    s = imon.express(name, &old_stat);
--    if (s != IMon::OK)
-+    Monitor::Status s = Monitor::BAD;
-+    s = monitor->express(name, &old_stat);
-+    if (s != Monitor::OK)
-     {   int rc = lstat(name, &old_stat);
- 	if (rc < 0)
- 	{   Log::info("can't lstat %s", name);
-@@ -100,7 +109,7 @@
-     }
- #endif
- 
--    if (exported_to_host()) fs->ll_monitor(this, s == IMon::OK);
-+    if (exported_to_host()) fs->ll_monitor(this, s == Monitor::OK);
- }
- 
- Interest::~Interest()
-@@ -128,7 +137,7 @@
- 		pp = &p->hashlink;	// move to next element
- 	    }
- 	if (!found_same)
--	    (void) imon.revoke(name(), dev, ino);
-+	  (void) monitor->revoke(name(), dev, ino);
-     }
- }
- 
-@@ -147,7 +156,7 @@
- 
-         // Express interest.
-         IMon::Status s = IMon::BAD;
--	s = imon.express(name(), NULL);
-+	s = monitor->express(name(), NULL);
-         if (s != IMon::OK) {
-             return true;
-         }
-@@ -248,23 +257,23 @@
- }
- 
- void
--Interest::imon_handler(dev_t device, ino_t inumber, int event)
-+Interest::monitor_handler(dev_t device, ino_t inumber, int event)
- {
-     assert(device || inumber);
- 
-     for (Interest *p = *hashchain(device, inumber), *next = p; p; p = next)
-     {	next = p->hashlink;
- 	if (p->ino == inumber && p->dev == device)
--	{   if (event == IMon::EXEC)
-+	  {   if (event == Monitor::EXEC)
- 	    {   p->cur_exec_state = EXECUTING;
- 		(void) p->report_exec_state();
- 	    }
--	    else if (event == IMon::EXIT)
-+	    else if (event == Monitor::EXIT)
- 	    {   p->cur_exec_state = NOT_EXECUTING;
- 		(void) p->report_exec_state();
- 	    }
- 	    else
--	    {   assert(event == IMon::CHANGE);
-+	    {   assert(event == Monitor::CHANGE);
- 		p->scan();
- 	    }
- 	}
---- fam-2.7.0/config.h.in	2003-01-20 01:40:15.000000000 +0100
-+++ fam-2.7.0.dnotify/config.h.in	2004-01-30 13:50:33.000000000 +0100
-@@ -180,3 +180,6 @@
- 
- /* Define to `int' if <sys/types.h> doesn't define. */
- #undef uid_t
-+
-+/* Define to 1 if you have F_NOTIFY fcntl */
-+#undef USE_DNOTIFY
---- fam-2.7.0/configure.ac	2003-11-26 20:47:59.000000000 +0100
-+++ fam-2.7.0.dnotify/configure.ac	2004-01-30 13:50:33.000000000 +0100
-@@ -34,7 +34,26 @@
- AC_HEADER_DIRENT
- AC_CHECK_HEADERS([fcntl.h limits.h linux/imon.h netinet/in.h rpc/rpc.h rpcsvc/mount.h stddef.h stdlib.h string.h syslog.h sys/imon.h sys/param.h sys/select.h sys/statvfs.h sys/syssgi.h sys/time.h sys/types.h sys/un.h unistd.h])
- 
--if test "$have_sys_imon_h"; then
-+# Test for the linux dnotify fcntl
-+AC_MSG_CHECKING([for dnotify fcntl support])
-+AC_TRY_COMPILE([
-+#define _GNU_SOURCE  
-+#include <fcntl.h>
-+#include <unistd.h>
-+],
-+[ int fd = 1;
-+  fcntl (fd, F_NOTIFY, (DN_MODIFY|DN_CREATE|DN_DELETE|DN_RENAME|DN_ATTRIB)
-+                       |DN_MULTISHOT);
-+], have_dnotify=yes, have_dnotify=no)
-+
-+use_dnotify=false
-+AC_MSG_RESULT($have_dnotify)
-+
-+if test "$have_dnotify"; then
-+        MONITOR_FUNCS=IMonNone
-+        AC_DEFINE([USE_DNOTIFY], [], [Use dnotify])
-+	use_dnotify=true
-+elif test "$have_sys_imon_h"; then
- 	MONITOR_FUNCS=IMonIRIX
- elif test "$have_linux_imon_h"; then
- 	MONITOR_FUNCS=IMonLinux
-@@ -42,6 +62,7 @@
- 	MONITOR_FUNCS=IMonNone
- fi
- AC_SUBST(MONITOR_FUNCS)
-+AM_CONDITIONAL(USE_DNOTIFY, $use_dnotify)
- 
- # Checks for typedefs, structures, and compiler characteristics.
- AC_HEADER_STDBOOL
---- fam-2.7.0/src/IMon.h	2004-01-30 00:00:00.000000000 +0200
-+++ fam-2.7.0.dnotify/src/IMon.h	2004-01-30 00:00:00.000000000 +0200
-@@ -24,10 +24,7 @@
- #define IMon_included
- 
- #include "config.h"
--#include <sys/stat.h>
--#include <sys/types.h>
--
--#include "Boolean.h"
-+#include "Monitor.h"
- 
- struct stat;
- 
-@@ -41,25 +38,18 @@
- //
- //  The user of the IMon object is the Interest class.
- 
--class IMon {
-+class IMon : public Monitor {
- 
- public:
--
--    enum Status { OK = 0, BAD = -1 };
--    enum Event { EXEC, EXIT, CHANGE };
--
--    typedef void (*EventHandler)(dev_t, ino_t, int event);
--
-     IMon(EventHandler h);
-     ~IMon();
- 
-     static bool is_active();
- 
--    Status express(const char *name, struct stat *stat_return);
--    Status revoke(const char *name, dev_t dev, ino_t ino);
-+    virtual Status express(const char *name, struct stat *stat_return);
-+    virtual Status revoke(const char *name, dev_t dev, ino_t ino);
- 
- private:
--
-     //  Class Variables
- 
-     static int imonfd;
---- fam-2.7.0/src/Interest.h	2004-01-30 00:00:00.000000000 +0200
-+++ fam-2.7.0.dnotify/src/Interest.h	2004-01-30 00:00:00.000000000 +0200
-@@ -32,7 +32,7 @@
- 
- class Event;
- class FileSystem;
--class IMon;
-+class Monitor;
- struct stat;
- 
- //  Interest -- abstract base class for filesystem entities of interest.
-@@ -74,7 +74,7 @@
- 
-     //  Public Class Method
- 
--    static void imon_handler(dev_t, ino_t, int event);
-+    static void monitor_handler(dev_t, ino_t, int event);
- 
-     static void enable_xtab_verification(bool enable);
- 
-@@ -121,7 +121,7 @@
- 
-     //  Class Variables
- 
--    static IMon imon;
-+    static Monitor *monitor;
-     static Interest *hashtable[HASHSIZE];
-     static bool xtab_verification;
- 
---- fam-2.7.0/src/Makefile.am	2003-01-19 13:00:17.000000000 +0100
-+++ fam-2.7.0.dnotify/src/Makefile.am	2004-01-30 13:50:38.000000000 +0100
-@@ -71,7 +71,11 @@
-   main.c++ \
-   timeval.c++ \
-   timeval.h \
--  @MONITOR_FUNCS@.c++
-+  Monitor.h \
-+  DNotify.h \
-+  DNotify.c++ \
-+  @MONITOR_FUNCS@.c++ 
- 
--EXTRA_famd_SOURCES = IMonIrix.c++ IMonLinux.c++ IMonNone.c++
-+EXTRA_famd_SOURCES = IMonIrix.c++ IMonLinux.c++ IMonNone.c++ DNotify.c++ \
-+  DNotify.h Monitor.h
- 
---- fam-2.7.0/src/Monitor.h	2004-01-30 00:00:00.000000000 +0200
-+++ fam-2.7.0.dnotify/src/Monitor.h	2004-01-30 00:00:00.000000000 +0200
-@@ -0,0 +1,57 @@
-+//  Copyright (C) 2001 Red Hat, Inc.  All Rights Reserved.
-+//  Copyright (C) 1999 Silicon Graphics, Inc.  All Rights Reserved.
-+//  
-+//  This program is free software; you can redistribute it and/or modify it
-+//  under the terms of version 2 of the GNU General Public License as
-+//  published by the Free Software Foundation.
-+//
-+//  This program is distributed in the hope that it would be useful, but
-+//  WITHOUT ANY WARRANTY; without even the implied warranty of
-+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  Further, any
-+//  license provided herein, whether implied or otherwise, is limited to
-+//  this program in accordance with the express provisions of the GNU
-+//  General Public License.  Patent licenses, if any, provided herein do not
-+//  apply to combinations of this program with other product or programs, or
-+//  any other product whatsoever.  This program is distributed without any
-+//  warranty that the program is delivered free of the rightful claim of any
-+//  third person by way of infringement or the like.  See the GNU General
-+//  Public License for more details.
-+//
-+//  You should have received a copy of the GNU General Public License along
-+//  with this program; if not, write the Free Software Foundation, Inc., 59
-+//  Temple Place - Suite 330, Boston MA 02111-1307, USA.
-+
-+#ifndef Monitor_included
-+#define Monitor_included
-+
-+#include "config.h"
-+#include <sys/stat.h>
-+#include <sys/types.h>
-+
-+struct stat;
-+
-+//  Monitor is an abstract baseclass for differend file monitoring
-+//  systems. The original system used was IMon, and the Montor API
-+//  is heavily influenced by that.
-+//  There can only be one instantiation of the Monitor object.
-+//
-+//  The user of this object uses express() and revoke() to
-+//  express/revoke interest in a file to imon.  There is also
-+//  a callback, the EventHandler.  When an event comes in,
-+//  the EventHandler is called.
-+//
-+//  The main implementers of the Monitor class is IMon and DNotify
-+
-+class Monitor {
-+public:
-+
-+    enum Status { OK = 0, BAD = -1 };
-+    enum Event { EXEC, EXIT, CHANGE };
-+
-+    typedef void (*EventHandler)(dev_t, ino_t, int event);
-+
-+    virtual Status express(const char *name, struct stat *stat_return) = 0;
-+    virtual Status revoke(const char *name, dev_t dev, ino_t ino) = 0;
-+};
-+
-+#endif /* !Monitor_included */
diff --git a/abs/extra-testing/fam/fam-2.7.0-gcc43.patch b/abs/extra-testing/fam/fam-2.7.0-gcc43.patch
deleted file mode 100644
index a5ba7f0..0000000
--- a/abs/extra-testing/fam/fam-2.7.0-gcc43.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-diff -Naur fam-2.7.0-old/include/BTree.h fam-2.7.0/include/BTree.h
---- fam-2.7.0-old/include/BTree.h	2003-01-20 14:22:30.000000000 +1000
-+++ fam-2.7.0/include/BTree.h	2008-10-18 10:43:11.000000000 +1000
-@@ -23,6 +23,8 @@
- #ifndef BTree_included
- #define BTree_included
- 
-+#include <cstdlib>
-+
- #include "Boolean.h"
- 
- //  This is an in-core B-Tree implementation.
-diff -Naur fam-2.7.0-old/src/DNotify.c++ fam-2.7.0/src/DNotify.c++
---- fam-2.7.0-old/src/DNotify.c++	2008-10-18 10:33:13.000000000 +1000
-+++ fam-2.7.0/src/DNotify.c++	2008-10-18 10:41:22.000000000 +1000
-@@ -31,6 +31,7 @@
- #include <sys/types.h>
- #include <sys/stat.h>
- #include <libgen.h>
-+#include <cstdlib>
- 
- #include "DNotify.h"
- 
-diff -Naur fam-2.7.0-old/src/IMon.c++ fam-2.7.0/src/IMon.c++
---- fam-2.7.0-old/src/IMon.c++	2003-01-19 00:18:12.000000000 +1000
-+++ fam-2.7.0/src/IMon.c++	2008-10-18 10:40:21.000000000 +1000
-@@ -40,7 +40,7 @@
- #include "Interest.h"
- #include "Log.h"
- #include "Scheduler.h"
--#include "alloc.h"
-+#include <memory>
- 
- int		   IMon::imonfd = -2;
- IMon::EventHandler IMon::ehandler = NULL;
-diff -Naur fam-2.7.0-old/src/Interest.h fam-2.7.0/src/Interest.h
---- fam-2.7.0-old/src/Interest.h	2008-10-18 10:33:13.000000000 +1000
-+++ fam-2.7.0/src/Interest.h	2008-10-18 10:40:44.000000000 +1000
-@@ -23,6 +23,7 @@
- #ifndef Interest_included
- #define Interest_included
- 
-+#include <cstdlib>
- #include <sys/stat.h>
- #include <sys/types.h>
- #include <sys/time.h>
diff --git a/abs/extra-testing/fam/fam-2.7.0-largefiles.patch b/abs/extra-testing/fam/fam-2.7.0-largefiles.patch
deleted file mode 100644
index 60de9a4..0000000
--- a/abs/extra-testing/fam/fam-2.7.0-largefiles.patch
+++ /dev/null
@@ -1,8 +0,0 @@
---- fam-2.7.0/common.am	2003-01-19 06:09:08.000000000 -0600
-+++ fam-2.7.0.largefile/common.am	2005-01-12 19:08:06.462113110 -0600
-@@ -1,2 +1,5 @@
--INCLUDES = @FAM_INC@ -DFAM_CONF=\"@FAM_CONF@\"
-+INCLUDES = @FAM_INC@ -DFAM_CONF=\"@FAM_CONF@\" \
-+       -D_FILE_OFFSET_BITS=64                  \
-+       -D_LARGEFILE64_SOURCE
-+
diff --git a/abs/extra-testing/fam/fam-2.7.0-noc++.patch b/abs/extra-testing/fam/fam-2.7.0-noc++.patch
deleted file mode 100644
index 9188af0..0000000
--- a/abs/extra-testing/fam/fam-2.7.0-noc++.patch
+++ /dev/null
@@ -1,83 +0,0 @@
-diff -ruN fam-2.7.0/lib/Client.c++ fam-2.7.0.noc++/lib/Client.c++
---- fam-2.7.0/lib/Client.c++	2003-01-18 14:18:12.000000000 +0000
-+++ fam-2.7.0.noc++/lib/Client.c++	2006-03-02 22:47:50.000000000 +0000
-@@ -34,8 +34,6 @@
- #include <syslog.h>
- #include <errno.h>
- 
--#include <iostream.h>
--
- #include "fam.h"
- #include "Client.h"
- 
-@@ -440,3 +438,29 @@
-     memcpy(l, p, sizeof(u_int32_t));
-     *l = ntohl(*l);
- }
-+
-+/* Some C++ stuff needed when we not link to libstdc++ */
-+void *operator new (size_t sz)
-+{
-+	void *ret = malloc (sz);
-+	if (ret == NULL)
-+	{
-+		fputs ("libfam memory allocation failed\n", stderr);
-+	}
-+	return ret;
-+}
-+
-+void *operator new[] (size_t sz)
-+{
-+	return ::operator new(sz);
-+}
-+
-+void operator delete (void *ptr)
-+{
-+	free (ptr);
-+}
-+
-+void operator delete[] (void *ptr)
-+{
-+	free (ptr);
-+}
-diff -ruN fam-2.7.0/lib/Makefile.am fam-2.7.0.noc++/lib/Makefile.am
---- fam-2.7.0/lib/Makefile.am	2003-01-19 01:55:10.000000000 +0000
-+++ fam-2.7.0.noc++/lib/Makefile.am	2006-03-02 22:43:01.000000000 +0000
-@@ -7,8 +7,11 @@
- 	Client.h \
- 	fam.c++
- 
--libfam_la_LDFLAGS = -export-symbols fam.sym
--libfam_la_LIBADD = -lstdc++
-+libfam_la_LDFLAGS = -Wl,--version-script=fam.sym.version
-+libfam_la_LIBADD =
-+AM_CXXFLAGS = -fno-exceptions -fno-rtti
-+
-+CXXLD=--tag=CC $(CXX)
- 
- EXTRA_DIST = fam.sym
- 
-diff -ruN fam-2.7.0/lib/fam.sym.version fam-2.7.0.noc++/lib/fam.sym.version
---- fam-2.7.0/lib/fam.sym.version	1970-01-01 00:00:00.000000000 +0000
-+++ fam-2.7.0.noc++/lib/fam.sym.version	2006-03-02 22:49:31.000000000 +0000
-@@ -0,0 +1,20 @@
-+{
-+   global:
-+	FAMCancelMonitor;
-+	FAMClose;
-+	FAMDebugLevel;
-+	FamErrlist;
-+	FAMErrno;
-+	FAMMonitorCollection;
-+	FAMMonitorDirectory;
-+	FAMMonitorDirectory2;
-+	FAMMonitorFile;
-+	FAMMonitorFile2;
-+	FAMNextEvent;
-+	FAMOpen;
-+	FAMOpen2;
-+	FAMPending;
-+	FAMResumeMonitor;
-+	FAMSuspendMonitor;
-+   local: *;
-+};
diff --git a/abs/extra-testing/fam/include_fam_h.patch b/abs/extra-testing/fam/include_fam_h.patch
deleted file mode 100644
index 4248957..0000000
--- a/abs/extra-testing/fam/include_fam_h.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- include/fam.h.orig	2005-05-25 09:26:38.000000000 +0000
-+++ include/fam.h	2005-05-25 09:27:04.000000000 +0000
-@@ -41,7 +41,7 @@
- *****************************************************************************/
- 
- /* For NAME_MAX - maximum # of chars in a filename */
--#include "limits.h"
-+#include <limits.h>
- 
- 
- 
diff --git a/abs/extra-testing/gtk2/PKGBUILD b/abs/extra-testing/gtk2/PKGBUILD
deleted file mode 100644
index 1966409..0000000
--- a/abs/extra-testing/gtk2/PKGBUILD
+++ /dev/null
@@ -1,41 +0,0 @@
-# $Id: PKGBUILD 22045 2008-12-21 13:00:15Z jgc $
-# Maintainer: Jan de Groot <jgc@archlinux.org>
-
-pkgname=gtk2
-pkgver=2.14.6
-pkgrel=1
-pkgdesc="The GTK+ Toolkit (v2)"
-arch=(i686 x86_64)
-url="http://www.gtk.org/"
-install=gtk2.install
-depends=('atk>=1.24.0' 'pango>=1.22.4' 'libxcursor' 'libxinerama' 'libxrandr>=1.2.1' 'libxi' 'libcups>=1.3.9' 'libxcomposite' 'libxdamage' 'heimdal>=1.2.1' 'gnutls>=2.4.2')
-makedepends=('pkgconfig')
-replaces=('gtkprint-cups' 'gail')
-conflicts=('gtkprint-cups' 'gail')
-provides=('gail=1.22.3')
-options=('!libtool' '!docs')
-backup=(etc/gtk-2.0/gtkrc)
-license=('LGPL')
-source=(http://ftp.gnome.org/pub/gnome/sources/gtk+/2.14/gtk+-${pkgver}.tar.bz2
-	gtkclipboard-check.patch
-	gtk2-emit-size-change.patch)
-md5sums=('69c2d2842203d7b627bc6ec34cb4a4f8'
-         '4025d3c15d6c6f73a032f403ffd4ff1c'
-         '942981cbba5057d9f02f4393e552f101')
-
-build() {
-  cd "${srcdir}/gtk+-${pkgver}"
-  # Workaround patch for flash
-  patch -Np1 -i "${srcdir}/gtkclipboard-check.patch" || return 1
-  # gdk does not let xfwm know about screen size changes
-  patch -Np1 -i "${srcdir}/gtk2-emit-size-change.patch" || return 1
-
-  ./configure --prefix=/usr --sysconfdir=/etc \
-              --localstatedir=/var --with-xinput=yes \
-	      --without-libjasper \
-	      --with-included-loaders=png || return 1
-  make || return 1
-  make DESTDIR="${pkgdir}" install || return 1
-
-  echo 'gtk-fallback-icon-theme = "gnome"' > "${pkgdir}/etc/gtk-2.0/gtkrc" || return 1
-}
diff --git a/abs/extra-testing/gtk2/gtk2-emit-size-change.patch b/abs/extra-testing/gtk2/gtk2-emit-size-change.patch
deleted file mode 100644
index 34053a8..0000000
--- a/abs/extra-testing/gtk2/gtk2-emit-size-change.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-diff -Naur gtk+-2.14.5-old/gdk/x11/gdkscreen-x11.c gtk+-2.14.5/gdk/x11/gdkscreen-x11.c
---- gtk+-2.14.5-old/gdk/x11/gdkscreen-x11.c	2008-11-24 16:36:03.000000000 +1000
-+++ gtk+-2.14.5/gdk/x11/gdkscreen-x11.c	2008-12-03 00:39:38.000000000 +1000
-@@ -894,11 +894,6 @@
- _gdk_x11_screen_size_changed (GdkScreen *screen,
- 			      XEvent    *event)
- {
--  gint width, height;
--
--  width = gdk_screen_get_width (screen);
--  height = gdk_screen_get_height (screen);
--
- #ifdef HAVE_RANDR
-   if (!XRRUpdateConfiguration (event))
-     return;
-@@ -915,10 +910,6 @@
-     return;
- #endif
- 
--  if (width == gdk_screen_get_width (screen) && 
--      height == gdk_screen_get_height (screen))
--    return;
--
-   _gdk_x11_screen_process_monitors_change (screen);
-   g_signal_emit_by_name (screen, "size_changed");
- }
diff --git a/abs/extra-testing/gtk2/gtk2.install b/abs/extra-testing/gtk2/gtk2.install
deleted file mode 100644
index 6d415ad..0000000
--- a/abs/extra-testing/gtk2/gtk2.install
+++ /dev/null
@@ -1,13 +0,0 @@
-post_install() {
-  usr/bin/gtk-query-immodules-2.0 > etc/gtk-2.0/gtk.immodules
-  usr/bin/gdk-pixbuf-query-loaders > etc/gtk-2.0/gdk-pixbuf.loaders
-}
-
-post_upgrade() {
-  post_install
-}
-
-pre_remove() {
-  rm -f etc/gtk-2.0/gtk.immodules &>/dev/null
-  rm -f etc/gtk-2.0/gdk-pixbuf.loaders &>/dev/null
-}
diff --git a/abs/extra-testing/gtk2/gtkclipboard-check.patch b/abs/extra-testing/gtk2/gtkclipboard-check.patch
deleted file mode 100644
index 48894fb..0000000
--- a/abs/extra-testing/gtk2/gtkclipboard-check.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- gtk+-2.11.6/gtk/gtkclipboard.c.orig	2007-08-18 13:48:22.000000000 +0000
-+++ gtk+-2.11.6/gtk/gtkclipboard.c	2007-08-18 13:49:08.000000000 +0000
-@@ -287,6 +287,8 @@
- gtk_clipboard_get_for_display (GdkDisplay *display, 
- 			       GdkAtom     selection)
- {
-+  if (display == NULL)
-+	  return NULL;
-   g_return_val_if_fail (GDK_IS_DISPLAY (display), NULL);
-   g_return_val_if_fail (!display->closed, NULL);
- 
diff --git a/abs/extra-testing/intltool/ChangeLog b/abs/extra-testing/intltool/ChangeLog
deleted file mode 100644
index f234947..0000000
--- a/abs/extra-testing/intltool/ChangeLog
+++ /dev/null
@@ -1,19 +0,0 @@
-2008-07-28  Eric Belanger  <eric@archlinux.org>
-
-	* intltool 0.40.3-1
-	* Upstream update
-
-2008-07-23  Eric Belanger  <eric@archlinux.org>
-
-	* intltool 0.40.1-1
-	* Upstream update
-
-2008-06-08  Eric Belanger  <eric@archlinux.org>
-
-	* intltool 0.40.0-1
-	* Upstream update
-
-2008-03-01  Eric Belanger  <eric@archlinux.org>
-
-	* intltool 0.37.1-1
-	* Upstream update
diff --git a/abs/extra-testing/intltool/PKGBUILD b/abs/extra-testing/intltool/PKGBUILD
deleted file mode 100644
index 562e51e..0000000
--- a/abs/extra-testing/intltool/PKGBUILD
+++ /dev/null
@@ -1,22 +0,0 @@
-# $Id: PKGBUILD 7286 2008-07-29 01:10:32Z eric $
-# Maintainer: Eric Belanger <eric@archlinux.org>
-# Contributor: Jan de Groot <jgc@archlinux.org>
-
-pkgname=intltool
-pkgver=0.40.3
-pkgrel=1
-pkgdesc="The internationalization tool collection"
-arch=('i686' 'x86_64')
-url="http://freedesktop.org/wiki/Software/intltool"
-license=('GPL')
-depends=('perlxml')
-source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('7adee54938b22d32c63ecb5223fd4249')
-sha1sums=('888f0b91cae35ef7821919d681b69a6ce81fd525')
-
-build() {
-  cd ${srcdir}/${pkgname}-${pkgver}
-  ./configure --prefix=/usr || return 1
-  make || return 1
-  make DESTDIR=${pkgdir} install || return 1
-}
diff --git a/abs/extra-testing/libcups/PKGBUILD b/abs/extra-testing/libcups/PKGBUILD
deleted file mode 100644
index fbdac67..0000000
--- a/abs/extra-testing/libcups/PKGBUILD
+++ /dev/null
@@ -1,33 +0,0 @@
-# $Id: PKGBUILD 20496 2008-12-05 11:29:11Z allan $
-# Maintainer: Andreas Radke <andyrtr@archlinux.org>
-
-pkgname=libcups
-pkgver=1.3.9
-pkgrel=2
-pkgdesc="The CUPS Printing System"
-arch=('i686' 'x86_64')
-license=('GPL')
-url="http://www.cups.org/"
-depends=('gnutls>=2.4.1' 'libtiff' 'libpng' 'heimdal>=1.2')
-source=(ftp://ftp.easysw.com/pub/cups/${pkgver}/cups-${pkgver}-source.tar.bz2)
-md5sums=('cf63f451c356e6cabb08972d4d11c365')
-
-build() {
-  cd ${srcdir}/cups-${pkgver}
-  ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \
-     --with-logdir=/var/log/cups -with-docdir=/usr/share/cups/doc \
-     --with-cups-user=daemon --with-cups-group=lp --enable-ssl=yes \
-     --disable-ldap --disable-dbus --libdir=/usr/lib
-
-  for dir in cups filter; do
-    pushd ${dir}
-    make
-    make BUILDROOT=${pkgdir} install
-    popd
-  done
-
-  mkdir -p ${startdir}/pkg/usr/bin
-  install -m755 cups-config ${startdir}/pkg/usr/bin/cups-config
-  #Remove filters
-  rm -rf ${startdir}/pkg/usr/lib/cups
-}
diff --git a/abs/extra-testing/libglade/PKGBUILD b/abs/extra-testing/libglade/PKGBUILD
deleted file mode 100644
index c0bfa29..0000000
--- a/abs/extra-testing/libglade/PKGBUILD
+++ /dev/null
@@ -1,26 +0,0 @@
-# $Id: PKGBUILD 13455 2008-09-27 11:03:58Z jgc $
-# Maintainer: Jan de Groot <jgc@archlinux.org>
-
-pkgname=libglade
-pkgver=2.6.3
-pkgrel=1
-pkgdesc="Allows you to load glade interface files in a program at runtime"
-arch=(i686 x86_64)
-license=('LGPL')
-depends=('gtk2>=2.14.1' 'libxml2>=2.6.32')
-makedepends=('python' 'pkgconfig')
-options=('!libtool')
-install=glade.install
-source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/2.6/${pkgname}-${pkgver}.tar.bz2
-	libglade-2.0.1-nowarning.patch)
-url="http://www.gnome.org"
-md5sums=('1c359860b1a0f369f0b6e3f96fd985c2' '4f879c0ce550004905aa0fb24f25c353')
-
-build() {
-  cd ${srcdir}/${pkgname}-${pkgver}
-  patch -Np1 -i ${srcdir}/libglade-2.0.1-nowarning.patch || return 1
-  ./configure --sysconfdir=/etc --prefix=/usr --localstatedir=/var || return 1
-  make || return 1
-  make DESTDIR=${pkgdir} install || return 1
-  install -m755 libglade-convert ${pkgdir}/usr/bin/libglade-convert || return 1
-}
diff --git a/abs/extra-testing/libglade/glade.install b/abs/extra-testing/libglade/glade.install
deleted file mode 100644
index a7f05c5..0000000
--- a/abs/extra-testing/libglade/glade.install
+++ /dev/null
@@ -1,25 +0,0 @@
-post_install() {
-  if [ ! -d etc/xml ]; then
-    mkdir -p etc/xml
-  fi
-  if [ ! -e etc/xml/catalog ]; then
-    xmlcatalog --noout --create etc/xml/catalog
-  fi
-  xmlcatalog --noout --add "system" \
-    "http://glade.gnome.org/glade-2.0.dtd" \
-    /usr/share/xml/libglade/glade-2.0.dtd etc/xml/catalog
-}
-
-pre_upgrade() {
-  post_remove
-}
-
-post_upgrade() {
-  post_install $1
-}
-
-# arg 1:  the old package version
-post_remove() {
-  xmlcatalog --noout --del \
-    /usr/share/xml/libglade/glade-2.0.dtd etc/xml/catalog
-}
diff --git a/abs/extra-testing/libglade/libglade-2.0.1-nowarning.patch b/abs/extra-testing/libglade/libglade-2.0.1-nowarning.patch
deleted file mode 100644
index fd07121..0000000
--- a/abs/extra-testing/libglade/libglade-2.0.1-nowarning.patch
+++ /dev/null
@@ -1,39 +0,0 @@
---- libglade-2.0.1/glade/glade-gtk.c.nowarning	2003-08-29 14:50:10.000000000 -0400
-+++ libglade-2.0.1/glade/glade-gtk.c	2003-08-29 14:58:41.000000000 -0400
-@@ -639,9 +639,8 @@
- 		if (!strcmp (childinfo->properties[j].name, "label")) {
- 		    label = childinfo->properties[j].value;
- 		    break;
--		} else {
--		    g_warning ("Unknown CList child property: %s", childinfo->properties[j].name);
- 		}
-+		/* Ignore all other properties */
- 	    }
- 
- 	    if (label) {
-@@ -683,6 +682,7 @@
- 	    char *icon = NULL;
- 	    gboolean use_stock = FALSE, active = FALSE, new_group = FALSE;
- 	    gboolean use_underline = FALSE;
-+	    gboolean sensitive = TRUE;
- 	    GtkWidget *iconw = NULL;
- 	    int j;
- 
-@@ -708,6 +708,8 @@
- 		    group_name = value;
- 		} else if (!strcmp (name, "new_group")) {
- 		    new_group = BOOL (value);
-+		} else if (!strcmp (name, "sensitive")) {
-+		    sensitive = BOOL (value);
- 		} else if (!strcmp (name, "visible")) {
- 		    /* ignore for now */
- 		} else if (!strcmp (name, "tooltip")) {
-@@ -785,6 +787,8 @@
- 		gtk_label_set_use_underline (GTK_LABEL (toolbar_child->label),
- 					     TRUE);
- 	    }
-+	    
-+	    gtk_widget_set_sensitive (child, sensitive);
- 
- 	    glade_xml_set_common_params (xml, child, childinfo->child);
- 	} else {
diff --git a/abs/extra-testing/libpng/ChangeLog b/abs/extra-testing/libpng/ChangeLog
deleted file mode 100644
index 98aa66d..0000000
--- a/abs/extra-testing/libpng/ChangeLog
+++ /dev/null
@@ -1,55 +0,0 @@
-
-2008-10-06  Douglas Soares de Andrade  <douglas@archlinux.org>
-
-	* Updated for i686: 1.2.32
-
-2008-08-23  Douglas Soares de Andrade  <douglas@archlinux.org>
-
-	* Updated for i686: 1.2.31
-	* Thanks to Hussam Al-Tayeb
-
-2008-08-17  Douglas Soares de Andrade  <douglas@archlinux.org>
-
-	* Had to return to 1.2.29 because xul depends on 
-	  png with apng patch
-
-2008-08-17  Douglas Soares de Andrade  <douglas@archlinux.org>
-
-	* Updated for i686: 1.2.30
-	* Fixes some security issues
-	* Remove the apng patch as there was no compatible version
-	  for this version
-
-2008-07-04  Douglas Soares de Andrade  <douglas@archlinux.org>
-
-	* Updated for i686 - 1.2.29-1
-	* Updated the apng patch for 1.2.29
-
-2008-05-06 Travis Willard <travis@archlinux.org>
-
-	* 1.2.28-1
-	Upstream update
-	Uses same APNG patchset as 1.2.27
-
-2008-05-01 Jan de Groot <jgc@archlinux.org>
-
-	* 1.2.27-1
-	Upstream update (security update!)
-	Fix APNG patchset to apply to 1.2.27
-	Fix build with newer libtool versions
-
-2008-03-12 Travis Willard <travis@archlinux.org>
-
-	* 1.2.25-1
-	Upstream update
-
-2008-02-18 Travis Willard <travis@archlinux.org>
-
-	* 1.2.24-3
-	Corrected ChangeLog
-
-2008-02-18 Travis Willard <travis@archlinux.org>
-
-	* 1.2.24-2
-	Added ChangeLog
-	Added APNG patchset from <http://littlesvr.ca/apng/>
diff --git a/abs/extra-testing/libpng/PKGBUILD b/abs/extra-testing/libpng/PKGBUILD
deleted file mode 100644
index 12515ed..0000000
--- a/abs/extra-testing/libpng/PKGBUILD
+++ /dev/null
@@ -1,42 +0,0 @@
-# $Id: PKGBUILD 22148 2008-12-22 12:33:23Z pierre $
-# Maintainer: dorphell <dorphell@archlinux.org>
-# Maintainer: Travis Willard <travis@archlinux.org>
-# Maintainer: Douglas Soares de Andrade <douglas@archlinux.org>
-
-pkgname=libpng
-pkgver=1.2.34
-pkgrel=1
-pkgdesc="A collection of routines used to create PNG format graphics files"
-arch=('i686' 'x86_64')
-url="http://www.libpng.org/pub/png/libpng.html"
-license=('custom')
-depends=('zlib')
-options=('!libtool')
-source=("http://downloads.sourceforge.net/sourceforge/${pkgname}/${pkgname}-${pkgver}.tar.bz2"
-        "http://hp.vector.co.jp/authors/VA013651/lib/libpng-${pkgver}-apng.patch.gz")
-options=('!libtool')
-md5sums=('37362876feb21344fd3af1228527db0f'
-         'a7ee9fd9af34692b75eedd5b03b69ca9')
-
-build() {
-  cd ${startdir}/src/${pkgname}-${pkgver}
-
-  # Add animated PNG (apng) support
-  # see http://hp.vector.co.jp/authors/VA013651/freeSoftware/apng.html
-  patch -p1 -i $srcdir/libpng-${pkgver}-apng.patch || return 1
-
-  libtoolize --force --copy || return 1
-  aclocal || return 1
-  autoconf || return 1
-  automake --add-missing || return 1
-
-  ./configure --prefix=/usr || return 1
-  make ECHO=echo || return 1
-  make ECHO=echo DESTDIR=${startdir}/pkg install || return 1
-
-  cd contrib/pngminus
-  make ECHO=echo PNGLIB="-L${startdir}/pkg/usr/lib -lpng" -f makefile.std png2pnm pnm2png
-  install -m755 png2pnm pnm2png ${startdir}/pkg/usr/bin/
-  install -m755 -d ${startdir}/pkg/usr/share/licenses/${pkgname}
-  install -m644 ../../LICENSE ${startdir}/pkg/usr/share/licenses/${pkgname}/ || return 1
-}
diff --git a/abs/extra-testing/libxcb/PKGBUILD b/abs/extra-testing/libxcb/PKGBUILD
deleted file mode 100644
index c61df23..0000000
--- a/abs/extra-testing/libxcb/PKGBUILD
+++ /dev/null
@@ -1,34 +0,0 @@
-# $Id: PKGBUILD 8004 2008-08-05 18:11:40Z jgc $
-# Maintainer: Alexander Baldeck <alexander@archlinux.org>
-# Contributor: Jan de Groot <jgc@archlinux.org>
-pkgname=libxcb
-pkgver=1.1.90.1
-pkgrel=1
-pkgdesc="X11 client-side library"
-arch=(i686 x86_64)
-url="http://xcb.freedesktop.org/"
-depends=('xcb-proto>=1.2' 'libxdmcp' 'libxau')
-makedepends=('pkgconfig' 'libxslt' 'python')
-options=('!libtool')
-license=('custom')
-source=(${url}/dist/${pkgname}-${pkgver}.tar.bz2
-	libxcb-1.1-no-pthread-stubs.patch
-	libxcb-1.1-sloppy-lock.patch)
-md5sums=('c4b67c5576ed58e2fd4a2855c0b21aa6'
-         'a53f09ab3ec5cbfc1b0848bd137c535a'
-         '4b3fbedc471d7ab336a18f1d0f853ddd')
-
-build() {
-  cd ${srcdir}/${pkgname}-${pkgver}
-  patch -Np1 -i ${srcdir}/libxcb-1.1-no-pthread-stubs.patch || return 1
-  patch -Np1 -i ${srcdir}/libxcb-1.1-sloppy-lock.patch || return 1
-  libtoolize --force --copy || return 1
-  aclocal || return 1
-  autoconf || return 1
-  automake --add-missing || return 1
-  ./configure --prefix=/usr --enable-xinput || return 1
-  make || return 1
-  make DESTDIR=${pkgdir} install || return 1
-  install -m755 -d ${pkgdir}/usr/share/licenses/${pkgname}
-  install -m644 COPYING ${pkgdir}/usr/share/licenses/${pkgname}/ || return 1
-}
diff --git a/abs/extra-testing/libxcb/libxcb-1.1-no-pthread-stubs.patch b/abs/extra-testing/libxcb/libxcb-1.1-no-pthread-stubs.patch
deleted file mode 100644
index 67a09f2..0000000
--- a/abs/extra-testing/libxcb/libxcb-1.1-no-pthread-stubs.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -up libxcb-1.1/configure.ac.pthread-stubs libxcb-1.1/configure.ac
---- libxcb-1.1/configure.ac.pthread-stubs	2007-11-04 18:17:11.000000000 -0500
-+++ libxcb-1.1/configure.ac	2007-11-12 10:27:06.000000000 -0500
-@@ -31,7 +31,7 @@ AC_SUBST(HTML_CHECK_RESULT)
- 
- # Checks for pkg-config packages
- PKG_CHECK_MODULES(XCBPROTO, xcb-proto >= 1.1)
--NEEDED="pthread-stubs xau >= 0.99.2"
-+NEEDED="xau >= 0.99.2"
- PKG_CHECK_MODULES(NEEDED, $NEEDED)
- 
- have_xdmcp="no"
diff --git a/abs/extra-testing/libxcb/libxcb-1.1-sloppy-lock.patch b/abs/extra-testing/libxcb/libxcb-1.1-sloppy-lock.patch
deleted file mode 100644
index 130890e..0000000
--- a/abs/extra-testing/libxcb/libxcb-1.1-sloppy-lock.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -up libxcb-1.1/src/xcb_conn.c.jx libxcb-1.1/src/xcb_conn.c
---- libxcb-1.1/src/xcb_conn.c.jx	2007-10-28 16:11:18.000000000 -0400
-+++ libxcb-1.1/src/xcb_conn.c	2008-04-22 11:58:05.000000000 -0400
-@@ -63,7 +63,7 @@ static int _xcb_xlib_init(_xcb_xlib *xli
- {
-     xlib->lock = 0;
- #ifndef NDEBUG
--    xlib->sloppy_lock = (getenv("LIBXCB_ALLOW_SLOPPY_LOCK") != 0);
-+    xlib->sloppy_lock = 1;
- #endif
-     pthread_cond_init(&xlib->cond, 0);
-     return 1;
diff --git a/abs/extra-testing/pango/PKGBUILD b/abs/extra-testing/pango/PKGBUILD
deleted file mode 100644
index afa7a8f..0000000
--- a/abs/extra-testing/pango/PKGBUILD
+++ /dev/null
@@ -1,24 +0,0 @@
-# $Id: PKGBUILD 22043 2008-12-21 12:14:05Z jgc $ 
-# Maintainer: Jan de Groot <jgc@archlinux.org>
-
-pkgname=pango
-pkgver=1.22.4
-pkgrel=1
-pkgdesc="A library for layout and rendering of text"
-arch=(i686 x86_64)
-license=('LGPL')
-depends=('glib2>=2.18.3' 'cairo>=1.8.6' 'libxft>=2.1.13' 'libthai>=0.1.9')
-makedepends=('pkgconfig' 'libxt')
-options=('!libtool' '!emptydirs')
-install=pango.install
-source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/1.22/${pkgname}-${pkgver}.tar.bz2)
-url="http://www.pango.org/"
-md5sums=('7c3f3748052799746d73c6d3a0cc1205')
-
-build() {
-  cd "${srcdir}/${pkgname}-${pkgver}"
-  ./configure --prefix=/usr --sysconfdir=/etc \
-              --localstatedir=/var || return 1
-  make || return 1
-  make DESTDIR="${pkgdir}" install || return 1
-}
diff --git a/abs/extra-testing/pango/bgo563356.patch b/abs/extra-testing/pango/bgo563356.patch
deleted file mode 100644
index 226fd0c..0000000
--- a/abs/extra-testing/pango/bgo563356.patch
+++ /dev/null
@@ -1,305 +0,0 @@
-diff -aur old/ChangeLog new/ChangeLog
---- old/ChangeLog	2008-12-06 14:35:33.037390818 +0800
-+++ new/ChangeLog	2008-12-06 14:35:11.475339336 +0800
-@@ -1,3 +1,39 @@
-+2008-12-05  Behdad Esfahbod  <behdad@gnome.org>
-+
-+	Bug 563356 – The input area of firefox and the blank width after text
-+	in gnome-menu was stretched too wide, under pango-1.22.3
-+
-+	* docs/tmpl/fonts.sgml:
-+	* pango/pango-impl-utils.h:
-+	* pango/pangocairo-atsuifont.c
-+	(pango_cairo_atsui_font_create_metrics_for_context):
-+	* pango/pangocairo-win32font.c
-+	(pango_cairo_win32_font_create_metrics_for_context):
-+	* pango/pangofc-font.c (pango_fc_font_create_metrics_for_context):
-+	For approximate_char_width calculation take each char's width into
-+	account.  That is, do a weighted average instead of uniform average.
-+	g_unichar_iszerowidth() chars count as 0, g_unichar_iswide() chars
-+	count 2, and the rest count as 1.  Pretty much wcwidth() behavior.
-+	See bug report for rationale.
-+
-+2008-11-28  Behdad Esfahbod  <behdad@gnome.org>
-+
-+	Bug 562574 – Pangocariowin32 is leaking every cairo font it ever
-+	creates
-+
-+	* pango/pangocairo-atsuifont.c (pango_cairo_atsui_font_finalize):
-+	* pango/pangocairo-win32font.c (pango_cairo_win32_font_finalize):
-+	Finalize shared pangocairo font resources.  Oops!
-+
-+	* pango/pangocairo-font.c (_pango_cairo_font_private_finalize):
-+	Protect against multiple calls to finalize.  This is practiced by the
-+	pangocairo-fcfont when a font is shutdown and then finalized.
-+
-+2008-11-26  Behdad Esfahbod  <behdad@gnome.org>
-+
-+	* examples/cairotwisted.c (parametrize_path), (point_on_path):
-+	Handle close_path correctly.
-+
- 2008-11-23  Behdad Esfahbod  <behdad@gnome.org>
- 
- 	* === Released 1.22.3 ===
-diff -aur old/docs/tmpl/fonts.sgml new/docs/tmpl/fonts.sgml
---- old/docs/tmpl/fonts.sgml	2008-12-06 14:35:11.450807479 +0800
-+++ new/docs/tmpl/fonts.sgml	2008-12-06 14:34:53.771786070 +0800
-@@ -441,7 +441,10 @@
- @descent: the distance from the baseline to the lowest point of the glyphs of
- 	 the font. This is positive in practically all fonts.
- @approximate_char_width: approximate average width of the regular glyphs of
--         the font.
-+         the font.  Note that for this calculation, East Asian characters
-+	 (those passing g_unichar_iswide()) are counted as double-width.
-+	 This produces a more uniform value for this measure across languages
-+	 and results in more uniform and more expected UI sizes.
- @approximate_digit_width: approximate average width of the glyphs for digits
-          of the font.
- @underline_position: position of the underline. This is normally negative.
-diff -aur old/examples/cairotwisted.c new/examples/cairotwisted.c
---- old/examples/cairotwisted.c	2008-12-06 14:35:32.900725834 +0800
-+++ new/examples/cairotwisted.c	2008-12-06 14:35:11.264059243 +0800
-@@ -216,7 +216,7 @@
- parametrize_path (cairo_path_t *path)
- {
-   int i;
--  cairo_path_data_t *data, current_point;
-+  cairo_path_data_t *data, last_move_to, current_point;
-   parametrization_t *parametrization;
- 
-   parametrization = malloc (path->num_data * sizeof (parametrization[0]));
-@@ -226,8 +226,13 @@
-     parametrization[i] = 0.0;
-     switch (data->header.type) {
-     case CAIRO_PATH_MOVE_TO:
-+	last_move_to = data[1];
- 	current_point = data[1];
- 	break;
-+    case CAIRO_PATH_CLOSE_PATH:
-+	/* Make it look like it's a line_to to last_move_to */
-+	data = (&last_move_to) - 1;
-+	/* fall through */
-     case CAIRO_PATH_LINE_TO:
- 	parametrization[i] = two_points_distance (&current_point, &data[1]);
- 	current_point = data[1];
-@@ -245,8 +250,6 @@
- 
- 	current_point = data[3];
- 	break;
--    case CAIRO_PATH_CLOSE_PATH:
--	break;
-     default:
- 	g_assert_not_reached ();
-     }
-@@ -320,7 +323,7 @@
- {
-   int i;
-   double ratio, the_y = *y, the_x = *x, dx, dy;
--  cairo_path_data_t *data, current_point;
-+  cairo_path_data_t *data, last_move_to, current_point;
-   cairo_path_t *path = param->path;
-   parametrization_t *parametrization = param->parametrization;
- 
-@@ -333,6 +336,7 @@
-     switch (data->header.type) {
-     case CAIRO_PATH_MOVE_TO:
- 	current_point = data[1];
-+        last_move_to = data[1];
- 	break;
-     case CAIRO_PATH_LINE_TO:
- 	current_point = data[1];
-@@ -352,6 +356,10 @@
- 
-   case CAIRO_PATH_MOVE_TO:
-       break;
-+  case CAIRO_PATH_CLOSE_PATH:
-+      /* Make it look like it's a line_to to last_move_to */
-+      data = (&last_move_to) - 1;
-+      /* fall through */
-   case CAIRO_PATH_LINE_TO:
-       {
- 	ratio = the_x / parametrization[i];
-@@ -424,8 +432,6 @@
- 	*y +=  dx * ratio;
-       }
-       break;
--  case CAIRO_PATH_CLOSE_PATH:
--      break;
-   default:
-       g_assert_not_reached ();
-   }
-diff -aur old/pango/pango-impl-utils.h new/pango/pango-impl-utils.h
---- old/pango/pango-impl-utils.h	2008-12-06 14:35:22.291559359 +0800
-+++ new/pango/pango-impl-utils.h	2008-12-06 14:35:03.550729660 +0800
-@@ -23,6 +23,7 @@
- #ifndef __PANGO_IMPL_UTILS_H__
- #define __PANGO_IMPL_UTILS_H__
- 
-+#include <glib.h>
- #include <glib-object.h>
- #include <pango/pango.h>
- 
-@@ -92,6 +93,36 @@
- 			       PangoRectangle   *ink_rect,
- 			       PangoRectangle   *logical_rect);
- 
-+
-+/* We define these functions static here because we don't want to add public API
-+ * for them (if anything, it belongs to glib, but glib found it trivial enough
-+ * not to add API for).  At some point metrics calculations will be
-+ * centralized and this mess can be minimized.  Or so I hope.
-+ */
-+
-+static inline G_GNUC_UNUSED int
-+pango_unichar_width (gunichar c)
-+{
-+  return G_UNLIKELY (g_unichar_iszerowidth (c)) ? 0 :
-+	   G_UNLIKELY (g_unichar_iswide (c)) ? 2 : 1;
-+}
-+
-+static G_GNUC_UNUSED glong
-+pango_utf8_strwidth (const gchar *p)
-+{
-+  glong len = 0;
-+  g_return_val_if_fail (p != NULL, 0);
-+
-+  while (*p)
-+    {
-+      len += pango_unichar_width (g_utf8_get_char (p));
-+      p = g_utf8_next_char (p);
-+    }
-+
-+  return len;
-+}
-+
-+
- G_END_DECLS
- 
- #endif /* __PANGO_IMPL_UTILS_H__ */
-diff -aur old/pango/pangocairo-atsuifont.c new/pango/pangocairo-atsuifont.c
---- old/pango/pangocairo-atsuifont.c	2008-12-06 14:35:23.464057615 +0800
-+++ new/pango/pangocairo-atsuifont.c	2008-12-06 14:35:04.914061436 +0800
-@@ -24,6 +24,7 @@
- 
- #import <Cocoa/Cocoa.h>
- 
-+#include "pango-impl-utils.h"
- #include "pangoatsui-private.h"
- #include "pangocairo.h"
- #include "pangocairo-private.h"
-@@ -148,7 +149,7 @@
-   pango_layout_set_text (layout, sample_str, -1);
-   pango_layout_get_extents (layout, NULL, &extents);
- 
--  metrics->approximate_char_width = extents.width / g_utf8_strlen (sample_str, -1);
-+  metrics->approximate_char_width = extents.width / pango_utf8_strwidth (sample_str);
- 
-   pango_layout_set_text (layout, "0123456789", -1);
-   metrics->approximate_digit_width = max_glyph_width (layout);
-@@ -174,6 +175,10 @@
- static void
- pango_cairo_atsui_font_finalize (GObject *object)
- {
-+  PangoCairoATSUIFont *cafont = (PangoCairoATSUIFont *) object;
-+
-+  _pango_cairo_font_private_finalize (&cafont->cf_priv);
-+
-   G_OBJECT_CLASS (pango_cairo_atsui_font_parent_class)->finalize (object);
- }
- 
-@@ -191,7 +196,7 @@
- }
- 
- static void
--pango_cairo_atsui_font_init (PangoCairoATSUIFont *cafont)
-+pango_cairo_atsui_font_init (PangoCairoATSUIFont *cafont G_GNUC_UNUSED)
- {
- }
- 
-diff -aur old/pango/pangocairo-fcfont.c new/pango/pangocairo-fcfont.c
---- old/pango/pangocairo-fcfont.c	2008-12-06 14:35:22.840724772 +0800
-+++ new/pango/pangocairo-fcfont.c	2008-12-06 14:35:04.294060844 +0800
-@@ -88,7 +88,7 @@
- static void
- pango_cairo_fc_font_finalize (GObject *object)
- {
--  PangoCairoFcFont *cffont = (PangoCairoFcFont *) (object);
-+  PangoCairoFcFont *cffont = (PangoCairoFcFont *) object;
- 
-   _pango_cairo_font_private_finalize (&cffont->cf_priv);
- 
-@@ -162,7 +162,7 @@
- }
- 
- static void
--pango_cairo_fc_font_init (PangoCairoFcFont *cffont)
-+pango_cairo_fc_font_init (PangoCairoFcFont *cffont G_GNUC_UNUSED)
- {
- }
- 
-diff -aur old/pango/pangocairo-font.c new/pango/pangocairo-font.c
---- old/pango/pangocairo-font.c	2008-12-06 14:35:23.387391067 +0800
-+++ new/pango/pangocairo-font.c	2008-12-06 14:35:04.840728398 +0800
-@@ -560,14 +560,18 @@
- 
-   if (cf_priv->scaled_font)
-     cairo_scaled_font_destroy (cf_priv->scaled_font);
-+  cf_priv->scaled_font = NULL;
- 
-   _pango_cairo_font_hex_box_info_destroy (cf_priv->hbi);
-+  cf_priv->hbi = NULL;
- 
-   if (cf_priv->glyph_extents_cache)
-     g_free (cf_priv->glyph_extents_cache);
-+  cf_priv->glyph_extents_cache = NULL;
- 
-   g_slist_foreach (cf_priv->metrics_by_lang, (GFunc)free_metrics_info, NULL);
-   g_slist_free (cf_priv->metrics_by_lang);
-+  cf_priv->metrics_by_lang = NULL;
- }
- 
- gboolean
-diff -aur old/pango/pangocairo-win32font.c new/pango/pangocairo-win32font.c
---- old/pango/pangocairo-win32font.c	2008-12-06 14:35:22.500726273 +0800
-+++ new/pango/pangocairo-win32font.c	2008-12-06 14:35:03.990726207 +0800
-@@ -150,7 +150,7 @@
-   pango_layout_set_text (layout, sample_str, -1);
-   pango_layout_get_extents (layout, NULL, &extents);
- 
--  metrics->approximate_char_width = extents.width / g_utf8_strlen (sample_str, -1);
-+  metrics->approximate_char_width = extents.width / pango_utf8_strwidth (sample_str);
- 
-   pango_layout_set_text (layout, "0123456789", -1);
-   metrics->approximate_digit_width = max_glyph_width (layout);
-@@ -164,6 +164,10 @@
- static void
- pango_cairo_win32_font_finalize (GObject *object)
- {
-+  PangoCairoWin32Font *cwfont = (PangoCairoWin32Font *) object;
-+
-+  _pango_cairo_font_private_finalize (&cwfont->cf_priv);
-+
-   G_OBJECT_CLASS (pango_cairo_win32_font_parent_class)->finalize (object);
- }
- 
-@@ -225,7 +229,7 @@
- }
- 
- static void
--pango_cairo_win32_font_init (PangoCairoWin32Font *cwfont)
-+pango_cairo_win32_font_init (PangoCairoWin32Font *cwfont G_GNUC_UNUSED)
- {
- }
- 
-diff -aur old/pango/pangofc-font.c new/pango/pangofc-font.c
---- old/pango/pangofc-font.c	2008-12-06 14:35:23.117390557 +0800
-+++ new/pango/pangofc-font.c	2008-12-06 14:35:04.564059609 +0800
-@@ -496,7 +496,7 @@
-   pango_layout_get_extents (layout, NULL, &extents);
- 
-   metrics->approximate_char_width =
--    extents.width / g_utf8_strlen (sample_str, -1);
-+    extents.width / pango_utf8_strwidth (sample_str);
- 
-   pango_layout_set_text (layout, "0123456789", -1);
-   metrics->approximate_digit_width = max_glyph_width (layout);
diff --git a/abs/extra-testing/pango/pango.install b/abs/extra-testing/pango/pango.install
deleted file mode 100644
index 9978739..0000000
--- a/abs/extra-testing/pango/pango.install
+++ /dev/null
@@ -1,26 +0,0 @@
-# arg 1:  the new package version
-post_install() {
-	# we need to ldconfig first, in case xfree86's libs aren't
-	# in ld.so.cache yet
-	sbin/ldconfig -r .
-	usr/bin/pango-querymodules >etc/pango/pango.modules
-}
-
-# arg 1:  the new package version
-# arg 2:  the old package version
-post_upgrade() {
-	if [ -f usr/etc/pango/pango.modules ]; then
-		rm usr/etc/pango/pango.modules
-	fi
-	post_install $1
-}
-
-# arg 1:  the old package version
-pre_remove() {
-	rm etc/pango/pango.modules
-}
-
-op=$1
-shift
-
-$op $*
diff --git a/abs/extra-testing/perl-net-ssleay/PKGBUILD b/abs/extra-testing/perl-net-ssleay/PKGBUILD
deleted file mode 100644
index d2ead9d..0000000
--- a/abs/extra-testing/perl-net-ssleay/PKGBUILD
+++ /dev/null
@@ -1,33 +0,0 @@
-# $Id: PKGBUILD 356 2008-04-18 22:56:27Z aaron $
-# Maintainer: eric <eric@archlinux.org>
-# Contributor: Manolis Tzanidakis
-
-pkgname=perl-net-ssleay
-_realname=Net_SSLeay.pm
-pkgver=1.30
-pkgrel=2
-pkgdesc="Perl extension for using OpenSSL"
-arch=(i686 x86_64)
-license=('custom:BSD')
-url="http://search.cpan.org/dist/${_realname}/"
-depends=('perl>=5.10.0' 'openssl')
-options=(!emptydirs)
-replaces=('net-ssleay')
-provides=('net-ssleay')
-source=(http://www.cpan.org/authors/id/F/FL/FLORA/${_realname}-${pkgver}.tar.gz)
-md5sums=('b0cd6c1681bbc0695d81be5cd852d1d0')
-
-build() {
-  cd ${startdir}/src/${_realname}-${pkgver}
-  # install module in vendor directories.
-  PERL_MM_USE_DEFAULT=1 perl Makefile.PL -- INSTALLDIRS=vendor || return 1
-  make  || return 1
-  make install DESTDIR=${startdir}/pkg || return 1
-
-  # remove perllocal.pod and .packlist
-  find ${startdir}/pkg -name perllocal.pod -delete
-  find ${startdir}/pkg -name .packlist -delete
-
-  install -D -m644 README ${startdir}/pkg/usr/share/licenses/${pkgname}/README
-}
-# vim: ts=2 sw=2 et ft=sh
diff --git a/abs/extra-testing/pixman/PKGBUILD b/abs/extra-testing/pixman/PKGBUILD
deleted file mode 100644
index 306acd9..0000000
--- a/abs/extra-testing/pixman/PKGBUILD
+++ /dev/null
@@ -1,21 +0,0 @@
-# $Id: PKGBUILD 12786 2008-09-20 08:34:14Z jgc $
-# Maintainer: Jan de Groot <jgc@archlinux.org>
-# Contributor: Alexander Baldeck <alexander@archlinux.org>
-pkgname=pixman
-pkgver=0.12.0
-pkgrel=1
-pkgdesc="Pixman library"
-arch=(i686 x86_64)
-url="http://xorg.freedesktop.org"
-license=()
-depends=('glibc')
-options=('!libtool')
-source=(http://xorg.freedesktop.org/releases/individual/lib/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('494af78c1c7d825c9ad6815d7b91f17d')
-
-build() {
-  cd "${srcdir}/${pkgname}-${pkgver}"
-  ./configure --prefix=/usr --disable-static || return 1
-  make || return 1
-  make DESTDIR="${pkgdir}" install || return 1
-}
diff --git a/abs/extra-testing/pycairo/PKGBUILD b/abs/extra-testing/pycairo/PKGBUILD
deleted file mode 100644
index 507cd3d..0000000
--- a/abs/extra-testing/pycairo/PKGBUILD
+++ /dev/null
@@ -1,21 +0,0 @@
-# $Id: PKGBUILD 22071 2008-12-21 16:30:10Z jgc $
-# Maintainer: Jan de Groot <jgc@archlinux.org>
-
-pkgname=pycairo
-pkgver=1.8.0
-pkgrel=1
-pkgdesc="Python bindings for the cairo graphics library"
-arch=(i686 x86_64)
-license=('LGPL' 'MPL')
-depends=('python' 'cairo>=1.8.6')
-options=('!libtool')
-source=(http://cairographics.org/releases/${pkgname}-${pkgver}.tar.gz)
-url="http://www.cairographics.org/"
-md5sums=('847f5377c32228a656819f5bd18eb6b4')
-
-build() {
-  cd "${srcdir}/${pkgname}-${pkgver}"
-  ./configure --prefix=/usr || return 1
-  make || return 1
-  make DESTDIR="${pkgdir}" install || return 1
-}
diff --git a/abs/extra-testing/pygobject/PKGBUILD b/abs/extra-testing/pygobject/PKGBUILD
deleted file mode 100644
index e6e4548..0000000
--- a/abs/extra-testing/pygobject/PKGBUILD
+++ /dev/null
@@ -1,21 +0,0 @@
-# $Id: PKGBUILD 16706 2008-10-22 02:32:50Z allan $
-# Maintainer: Jan de Groot <jgc@archlinux.org>
-
-pkgname=pygobject
-pkgver=2.15.4
-pkgrel=2
-pkgdesc="Python bindings for GObject"
-arch=(i686 x86_64)
-license=('LGPL')
-depends=('python>=2.5.2-5' 'glib2>=2.18.1')
-source=(http://ftp.gnome.org/pub/gnome/sources/pygobject/2.15/${pkgname}-${pkgver}.tar.bz2)
-options=('!libtool')
-url="http://www.pygtk.org/"
-md5sums=('df59affe5b8fd7148506c3473d479868')
-
-build() {
-  cd "${srcdir}/${pkgname}-${pkgver}"
-  ./configure --prefix=/usr || return 1
-  make || return 1
-  make DESTDIR="${pkgdir}" install || return 1
-}
diff --git a/abs/extra-testing/pygtk/PKGBUILD b/abs/extra-testing/pygtk/PKGBUILD
deleted file mode 100644
index 3588c76..0000000
--- a/abs/extra-testing/pygtk/PKGBUILD
+++ /dev/null
@@ -1,23 +0,0 @@
-# $Id: PKGBUILD 25979 2009-02-02 01:56:42Z douglas $
-# Maintainer: Jan de Groot <jgc@archlinux.org>
-# Contributor: Sarah Hay <sarahhay@mb.sympatico.ca>
-
-pkgname=pygtk
-pkgver=2.14.0
-pkgrel=1
-pkgdesc="Python bindings for the GTK widget set"
-arch=(i686 x86_64)
-license=('LGPL')
-depends=('libglade>=2.6.3' 'pycairo>=1.6.4' 'pygobject>=2.15.4' 'python-numeric>=24.2-2')
-options=('!libtool')
-url="http://www.pygtk.org/"
-source=(http://ftp.gnome.org/pub/gnome/sources/pygtk/2.14/${pkgname}-${pkgver}.tar.bz2)
-
-build() {
-  cd "${srcdir}/${pkgname}-${pkgver}"
-  ./configure --prefix=/usr || return 1
-  make || return 1
-  make DESTDIR="${pkgdir}" install || return 1
-  install -m644 gtk/gtk-extrafuncs.defs "${pkgdir}/usr/share/pygtk/2.0/defs/" || return 1
-}
-md5sums=('b5fec3a9493a394d0ba2b8d2b337c4c5')
diff --git a/abs/extra-testing/rsync/ChangeLog b/abs/extra-testing/rsync/ChangeLog
deleted file mode 100644
index c6ae50d..0000000
--- a/abs/extra-testing/rsync/ChangeLog
+++ /dev/null
@@ -1,25 +0,0 @@
-2008-12-29  Eric Belanger  <eric@archlinux.org>
-
-	* rsync 3.0.5-1
-	* Upstream update
-
-2008-09-06  Eric Belanger  <eric@archlinux.org>
-
-	* rsync 3.0.4-1
-	* Upstream update
-
-2008-07-05  Eric Belanger  <eric@archlinux.org>
-
-	* rsync 3.0.3-1
-	* Upstream update
-
-2008-04-13  Eric Belanger  <eric@archlinux.org>
-
-	* rsync 3.0.2-1
-	* Upstream update
-	
-2008-03-01  Eric Belanger  <eric@archlinux.org>
-
-	* rsync 3.0.0-1
-	* Upstream update
-	* Updated license
diff --git a/abs/extra-testing/rsync/PKGBUILD b/abs/extra-testing/rsync/PKGBUILD
deleted file mode 100644
index c2c5e2c..0000000
--- a/abs/extra-testing/rsync/PKGBUILD
+++ /dev/null
@@ -1,33 +0,0 @@
-# $Id: PKGBUILD 22959 2008-12-30 04:53:36Z eric $
-# Maintainer: Eric Belanger <eric@archlinux.org>
-# Contributor: Judd Vinet <jvinet@zeroflux.org>
-
-pkgname=rsync
-pkgver=3.0.5
-pkgrel=1
-pkgdesc="A file transfer program to keep remote files in sync"
-arch=('i686' 'x86_64')
-url="http://samba.anu.edu.au/rsync/"
-license=('GPL3')
-depends=('acl')
-backup=('etc/rsyncd.conf' 'etc/xinetd.d/rsync')
-source=(http://rsync.samba.org/ftp/rsync/${pkgname}-${pkgver}.tar.gz \
-        rsyncd.conf rsyncd rsync.xinetd)
-md5sums=('a130e736c011572cb423b6245e97fc4b' '4395c0591638349b1a7aeaaa4da1f03a'\
-         '9de4d03d49f4b5c73ffd67d452716a49' 'ea3e9277dc908bc51f9eddc0f6b935c1')
-sha1sums=('d95e75af9456b0edca68bde17260c98261b4b8c5'
-          '48be09294134dfed888818872fe552a59c29147a'
-          'ebec275bbd0c11692c91dc59368349601bd9eaf4'
-          'fdb99785bc87ee13d77aa90dc1804f3f75dd7fc1')
-
-build() {
-  cd ${srcdir}/${pkgname}-${pkgver}
-  ./prepare-source || return 1
-  ./configure --prefix=/usr --with-included-popt \
-              --enable-acl-support --enable-xattr-support || return 1
-  make || return 1
-  make DESTDIR=${pkgdir} install || return 1
-  install -D -m 755 ../rsyncd ${pkgdir}/etc/rc.d/rsyncd || return 1
-  install -D -m 644 ../rsyncd.conf ${pkgdir}/etc/rsyncd.conf || return 1
-  install -D -m 644 ../rsync.xinetd ${pkgdir}/etc/xinetd.d/rsync || return 1
-}
diff --git a/abs/extra-testing/rsync/rsync.xinetd b/abs/extra-testing/rsync/rsync.xinetd
deleted file mode 100644
index f5b6b1e..0000000
--- a/abs/extra-testing/rsync/rsync.xinetd
+++ /dev/null
@@ -1,11 +0,0 @@
-service rsync
-{
-        socket_type             = stream
-        wait                    = no
-        user                    = root
-        server                  = /usr/bin/rsync
-        server_args             = --daemon
-        log_on_success  += HOST DURATION
-        log_on_failure  += HOST
-        disable                 = yes
-}
diff --git a/abs/extra-testing/rsync/rsyncd b/abs/extra-testing/rsync/rsyncd
deleted file mode 100644
index e1313dc..0000000
--- a/abs/extra-testing/rsync/rsyncd
+++ /dev/null
@@ -1,37 +0,0 @@
-#!/bin/bash
-
-. /etc/rc.conf
-. /etc/rc.d/functions
-
-case "$1" in
-  start)
-    stat_busy "Starting rsyncd"
-    [ ! -f /var/run/daemons/rsyncd ] && /usr/bin/rsync --daemon
-    if [ $? -gt 0 ]; then
-      stat_fail
-    else
-      pgrep -of "/usr/bin/rsync --daemon" > /var/run/rsyncd.pid
-      add_daemon rsyncd
-      stat_done
-    fi
-    ;;
-
-  stop)
-    stat_busy "Stopping rsyncd"
-    [ -f /var/run/rsyncd.pid ] && kill `cat /var/run/rsyncd.pid`
-    if [ $? -gt 0 ]; then
-      stat_fail
-    else
-      rm_daemon rsyncd
-      stat_done
-    fi
-    ;;
-  restart)
-    $0 stop
-    sleep 1
-    $0 start
-    ;;
-  *)
-    echo "usage: $0 {start|stop|restart}"
-esac
-exit 0
diff --git a/abs/extra-testing/rsync/rsyncd.conf b/abs/extra-testing/rsync/rsyncd.conf
deleted file mode 100644
index f7161f3..0000000
--- a/abs/extra-testing/rsync/rsyncd.conf
+++ /dev/null
@@ -1,16 +0,0 @@
-uid = nobody
-gid = nobody
-use chroot = no
-max connections = 4
-syslog facility = local5
-pid file = /var/run/rsyncd.pid
-
-[ftp]
-        path = /home/ftp
-        comment = ftp area
-
-#[cvs]
-#        path = /data/cvs
-#        comment = CVS repository (requires authentication)
-#        auth users = tridge, susan
-#        secrets file = /etc/rsyncd.secrets
diff --git a/abs/extra-testing/v4l-dvb-dvico/PKGBUILD b/abs/extra-testing/v4l-dvb-dvico/PKGBUILD
deleted file mode 100644
index 3673f9c..0000000
--- a/abs/extra-testing/v4l-dvb-dvico/PKGBUILD
+++ /dev/null
@@ -1,25 +0,0 @@
-# $Id: PKGBUILD 5936 2008-07-21 20:24:16Z thomas $
-# Maintainer: Cecil Watson<knoppmyth@gmail.com>
-
-pkgname=v4l-dvb
-_kernver=2.6.28-ARCH
-pkgver=1
-pkgrel=1
-pkgdesc="V4L-DVB drivers from mercurial"
-arch=('i686' 'x86_64')
-license=('GPL2')
-url="http://linuxtv.org/"
-depends=('kernel26')
-makedepends=(kernel-headers)
-install=v4l-dvb.install
-source=(http://linuxtv.org/hg/~pascoe/xc-test/archive/tip.tar.bz2)
-
-build() {
-  cd $startdir/src/xc-test-d4f7804a393c
-  patch -p0 < ../../fix-jdelvare-i2c-i2c-constify-client-address-data.patch
-  make KERNDIR=/lib/modules/$_kernver/build \
-  DESTDIR=$startdir/pkg KERNELRELEASE=$_kernver all || return 1
-  make KERNDIR=/lib/modules/$_kernver/build \
-  DESTDIR=$startdir/pkg KERNELRELEASE=$_kernver install || return 1
-  rm -fr $startdir/pkg/lib/modules/$_kernver/modules*
-}
diff --git a/abs/extra-testing/xcb-proto/PKGBUILD b/abs/extra-testing/xcb-proto/PKGBUILD
deleted file mode 100644
index e59e26b..0000000
--- a/abs/extra-testing/xcb-proto/PKGBUILD
+++ /dev/null
@@ -1,23 +0,0 @@
-# $Id: PKGBUILD 17316 2008-10-28 12:25:37Z douglas $
-# Maintainer: Alexander Baldeck <alexander@archlinux.org>
-# Contributor: Jan de Groot <jgc@archlinux.org>
-
-pkgname=xcb-proto
-pkgver=1.2
-pkgrel=2
-pkgdesc="XML-XCB protocol descriptions"
-arch=(i686 x86_64)
-url="http://xcb.freedesktop.org/"
-license=('custom')
-makedepends=('python' 'libxml2')
-source=(${url}/dist/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('09f912486d8a2353bb4b99ddc28ba3c7')
-
-build() {
-  cd ${srcdir}/${pkgname}-${pkgver}
-  ./configure --prefix=/usr || return 1
-  make || return 1
-  make DESTDIR=${pkgdir} install || return 1
-  install -m755 -d ${pkgdir}/usr/share/licenses/${pkgname}
-  install -m644 COPYING ${pkgdir}/usr/share/licenses/${pkgname}/ || return 1
-}
-- 
cgit v0.12