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