Update of /cvsroot/fink/dists/10.4/unstable/main/finkinfo/base
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13272

Modified Files:
        apt.info apt.patch 
Log Message:
Make apt correctly read .debs containing "nobody"-owned files

Index: apt.patch
===================================================================
RCS file: /cvsroot/fink/dists/10.4/unstable/main/finkinfo/base/apt.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- apt.patch   20 Jan 2006 20:19:36 -0000      1.1
+++ apt.patch   28 Feb 2006 07:32:37 -0000      1.2
@@ -1155,3 +1155,36 @@
 +done
 +
 +exit 0
+diff -urN apt-0.5.4/apt-inst/contrib/extracttar.cc 
apt-new/apt-inst/contrib/extracttar.cc
+--- apt-0.5.4/apt-inst/contrib/extracttar.cc   2001-05-27 19:47:09.000000000 
-0400
++++ apt-new/apt-inst/contrib/extracttar.cc     2005-11-25 06:27:24.000000000 
-0500
+@@ -144,6 +144,18 @@
+    return true;
+ }
+                                                                       /*}}}*/
++
++// Handle the ridiculous way that tar stores large numbers
++static bool TarUIDToNum(const char *Str, unsigned long &Res, unsigned Len) {
++       switch (*Str) {
++               case '\200':
++                       Res = ntohl(*((unsigned long *)(Str + Len - 
sizeof(unsigned long))));
++                       return true;
++               default:
++                       return StrToNum(Str+1, Res, Len-1, 8);
++       }
++}
++
+ // ExtractTar::Go - Perform extraction                                        
/*{{{*/
+ // ---------------------------------------------------------------------
+ /* This reads each 512 byte block from the archive and extracts the header
+@@ -193,8 +205,8 @@
+       unsigned long UID;
+       unsigned long GID;
+       if (StrToNum(Tar->Mode,Itm.Mode,sizeof(Tar->Mode),8) == false ||
+-        StrToNum(Tar->UserID,UID,sizeof(Tar->UserID),8) == false ||
+-        StrToNum(Tar->GroupID,GID,sizeof(Tar->GroupID),8) == false ||
++      TarUIDToNum(Tar->UserID,Itm.UID,sizeof(Tar->UserID)) == false ||
++      TarUIDToNum(Tar->GroupID,Itm.GID,sizeof(Tar->GroupID)) == false ||
+         StrToNum(Tar->Size,Itm.Size,sizeof(Tar->Size),8) == false ||
+         StrToNum(Tar->MTime,Itm.MTime,sizeof(Tar->MTime),8) == false ||
+         StrToNum(Tar->Major,Itm.Major,sizeof(Tar->Major),8) == false ||

Index: apt.info
===================================================================
RCS file: /cvsroot/fink/dists/10.4/unstable/main/finkinfo/base/apt.info,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- apt.info    20 Jan 2006 20:54:59 -0000      1.1
+++ apt.info    28 Feb 2006 07:32:37 -0000      1.2
@@ -1,6 +1,6 @@
 Package: apt
 Version: 0.5.4
-Revision: 1052
+Revision: 1053
 GCC: 4.0
 Depends: %N-shlibs (= %v-%r)
 BuildDepends: fink-prebinding



-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642
_______________________________________________
Fink-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/fink-commits

Reply via email to