Update of /cvsroot/fink/dists/10.4-transitional/unstable/main/finkinfo/base In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv32467/10.4-transitional/unstable/main/finkinfo/base
Modified Files: apt.info apt.patch Log Message: Backport negative-UID patch. Index: apt.patch =================================================================== RCS file: /cvsroot/fink/dists/10.4-transitional/unstable/main/finkinfo/base/apt.patch,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- apt.patch 10 Jun 2005 14:17:51 -0000 1.2 +++ apt.patch 28 Feb 2006 22:45:09 -0000 1.3 @@ -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-transitional/unstable/main/finkinfo/base/apt.info,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- apt.info 18 Aug 2005 05:33:59 -0000 1.3 +++ apt.info 28 Feb 2006 22:45:09 -0000 1.4 @@ -1,6 +1,6 @@ Package: apt Version: 0.5.4 -Revision: 52 +Revision: 53 GCC: 3.3 Depends: %N-shlibs (= %v-%r) BuildDepends: fink-prebinding @@ -142,6 +142,8 @@ dmacks - Implemented "--ignore-breakage" cmdline flag to 'apt-get install' (first appears in: 10.2-gcc3.3/0.5.4-41, 10.3/0.5.4-51) + +Patch extracttar.cc so it understands negative UIDs, such as -2 for 'nobody'. << DescPackaging: << Previous versions by Christoph Pfisterer. ------------------------------------------------------- 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 Fink-commits@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/fink-commits