summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArch Librarian <arch@canonical.com>2004-09-20 17:04:38 +0000
committerArch Librarian <arch@canonical.com>2004-09-20 17:04:38 +0000
commitc0eb6bc6c89ba41011b9e7ef2e94cdfa4c92e142 (patch)
tree3b2a704cb63706cd0423cfba5e1a295fc84944e9
parent80dcb3eed6c61ca712cdd6cb6042b3e4ba473f8a (diff)
* Have "apt-ftparchive release" strip the leading path ...
Author: mdz Date: 2004-01-02 21:48:13 GMT * Have "apt-ftparchive release" strip the leading path component from the checksum entries
-rw-r--r--debian/changelog4
-rw-r--r--ftparchive/apt-ftparchive.cc8
-rw-r--r--ftparchive/writer.cc13
-rw-r--r--po/apt-all.pot7
4 files changed, 22 insertions, 10 deletions
diff --git a/debian/changelog b/debian/changelog
index 7dece2e65..50af6a1f9 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -2,8 +2,10 @@ apt (0.5.18) unstable; urgency=low
* New no_NO.po file from Tollef Fog Heen <tfheen@debian.org> to fix
encoding problems (Closes: #225602)
+ * Have "apt-ftparchive release" strip the leading path component from
+ the checksum entries
- --
+ -- Matt Zimmerman <mdz@debian.org> Fri, 2 Jan 2004 11:24:35 -0800
apt (0.5.17) unstable; urgency=low
diff --git a/ftparchive/apt-ftparchive.cc b/ftparchive/apt-ftparchive.cc
index 287f40a10..64aa58f4c 100644
--- a/ftparchive/apt-ftparchive.cc
+++ b/ftparchive/apt-ftparchive.cc
@@ -1,6 +1,6 @@
// -*- mode: cpp; mode: fold -*-
// Description /*{{{*/
-// $Id: apt-ftparchive.cc,v 1.11 2003/12/26 22:50:52 mdz Exp $
+// $Id: apt-ftparchive.cc,v 1.12 2004/01/02 21:48:13 mdz Exp $
/* ######################################################################
apt-scanpackages - Efficient work-alike for dpkg-scanpackages
@@ -681,11 +681,15 @@ bool SimpleGenRelease(CommandLine &CmdL)
if (CmdL.FileSize() < 2)
return ShowHelp(CmdL);
+ string Dir = CmdL.FileList[1];
+
ReleaseWriter Release("");
+ Release.DirStrip = Dir;
+
if (_error->PendingError() == true)
return false;
- if (Release.RecursiveScan(CmdL.FileList[1]) == false)
+ if (Release.RecursiveScan(Dir) == false)
return false;
Release.Finish();
diff --git a/ftparchive/writer.cc b/ftparchive/writer.cc
index d7d843067..e495a4c45 100644
--- a/ftparchive/writer.cc
+++ b/ftparchive/writer.cc
@@ -1,6 +1,6 @@
// -*- mode: cpp; mode: fold -*-
// Description /*{{{*/
-// $Id: writer.cc,v 1.10 2003/12/26 23:09:30 mdz Exp $
+// $Id: writer.cc,v 1.11 2004/01/02 21:48:13 mdz Exp $
/* ######################################################################
Writer
@@ -849,9 +849,14 @@ bool ReleaseWriter::DoPackage(string FileName)
FileName.length() > DirStrip.length() &&
stringcmp(FileName.begin(),FileName.begin() + DirStrip.length(),
DirStrip.begin(),DirStrip.end()) == 0)
+ {
NewFileName = string(FileName.begin() + DirStrip.length(),FileName.end());
+ while (NewFileName[0] == '/')
+ NewFileName = string(FileName.begin() + 1,FileName.end());
+ }
else
NewFileName = FileName;
+
if (PathPrefix.empty() == false)
NewFileName = flCombine(PathPrefix,NewFileName);
@@ -862,16 +867,16 @@ bool ReleaseWriter::DoPackage(string FileName)
return false;
}
- CheckSums[FileName].size = fd.Size();
+ CheckSums[NewFileName].size = fd.Size();
MD5Summation MD5;
MD5.AddFD(fd.Fd(), fd.Size());
- CheckSums[FileName].MD5 = MD5.Result();
+ CheckSums[NewFileName].MD5 = MD5.Result();
fd.Seek(0);
SHA1Summation SHA1;
SHA1.AddFD(fd.Fd(), fd.Size());
- CheckSums[FileName].SHA1 = SHA1.Result();
+ CheckSums[NewFileName].SHA1 = SHA1.Result();
fd.Close();
diff --git a/po/apt-all.pot b/po/apt-all.pot
index 7a3d481c7..ab453fc27 100644
--- a/po/apt-all.pot
+++ b/po/apt-all.pot
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2003-12-26 12:44-0800\n"
+"POT-Creation-Date: 2004-01-02 11:31-0800\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -270,6 +270,7 @@ msgid ""
"Commands: packages binarypath [overridefile [pathprefix]]\n"
" sources srcpath [overridefile [pathprefix]]\n"
" contents path\n"
+" release path\n"
" generate config [groups]\n"
" clean config\n"
"\n"
@@ -305,11 +306,11 @@ msgid ""
" -o=? Set an arbitary configuration option"
msgstr ""
-#: ftparchive/apt-ftparchive.cc:749
+#: ftparchive/apt-ftparchive.cc:757
msgid "No selections matched"
msgstr ""
-#: ftparchive/apt-ftparchive.cc:822
+#: ftparchive/apt-ftparchive.cc:830
#, c-format
msgid "Some files are missing in the package file group `%s'"
msgstr ""