From efe9ba671b2acb4b7cddedeba2aefc0d4fea01d4 Mon Sep 17 00:00:00 2001 From: Michael Vogt Date: Thu, 28 Sep 2006 11:22:44 +0200 Subject: * doc/examples/configure-index: - document the buildDeps debug option --- doc/examples/configure-index | 1 + 1 file changed, 1 insertion(+) diff --git a/doc/examples/configure-index b/doc/examples/configure-index index f8abd75ed..0f0abc30c 100644 --- a/doc/examples/configure-index +++ b/doc/examples/configure-index @@ -251,6 +251,7 @@ Debug pkgDPkgPM "false"; pkgDPkgProgressReporting "false"; pkgOrderList "false"; + BuildDeps "false"; pkgInitialize "false"; // This one will dump the configuration space NoLocking "false"; -- cgit v1.2.3 From 84cc6f7364d31321698ab3182bcd10d575710a49 Mon Sep 17 00:00:00 2001 From: Michael Vogt Date: Sat, 30 Sep 2006 14:14:04 +0200 Subject: * methods/gzip.cc: - just stop on empty files, don't call the extractor * debian/changelog: - merged the last debian upload - added entry for extractor --- debian/changelog | 9 ++++++++- methods/gzip.cc | 7 +++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/debian/changelog b/debian/changelog index 385c8ca23..a828d02c1 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +apt (0.6.46.1) unstable; urgency=low + + * methods/gzip.cc: + - deal with empty files + + -- + apt (0.6.46) unstable; urgency=low * debian/control: @@ -32,7 +39,7 @@ apt (0.6.46) unstable; urgency=low - reverted MMap use in the tagfile because it does not work across pipes (closes: #383487) - -- + -- Michael Vogt Thu, 21 Sep 2006 10:25:03 +0200 apt (0.6.45) unstable; urgency=low diff --git a/methods/gzip.cc b/methods/gzip.cc index 55ff33270..a8e816bf3 100644 --- a/methods/gzip.cc +++ b/methods/gzip.cc @@ -52,6 +52,13 @@ bool GzipMethod::Fetch(FetchItem *Itm) // Open the source and destination files FileFd From(Path,FileFd::ReadOnly); + // if the file is empty, just rename it and return + if(From.Size() == 0) + { + Rename(Path, Itm->DestFile); + return true; + } + int GzOut[2]; if (pipe(GzOut) < 0) return _error->Errno("pipe",_("Couldn't open pipe for %s"),Prog); -- cgit v1.2.3 From fa341c6aaca13173add9841ca05e473255d3923c Mon Sep 17 00:00:00 2001 From: Michael Vogt Date: Sat, 30 Sep 2006 14:16:55 +0200 Subject: * debian/rules: - Daniel Schepler to make apt bin-NMU able --- debian/changelog | 4 +++- debian/rules | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/debian/changelog b/debian/changelog index a828d02c1..448f4f1ee 100644 --- a/debian/changelog +++ b/debian/changelog @@ -2,7 +2,9 @@ apt (0.6.46.1) unstable; urgency=low * methods/gzip.cc: - deal with empty files - + * Applied patch from Daniel Schepler to make apt bin-NMU able. + (Closes: bug#359634) + -- apt (0.6.46) unstable; urgency=low diff --git a/debian/rules b/debian/rules index a8bf88762..02ee734bb 100755 --- a/debian/rules +++ b/debian/rules @@ -38,7 +38,7 @@ build: PKG=apt DEB_BUILD_PROG:=debuild --preserve-envvar PATH --preserve-envvar CCACHE_DIR -us -uc $(DEB_BUILD_PROG_OPTS) -APT_DEBVER=$(shell dpkg-parsechangelog |sed -n -e '/^Version:/s/^Version: //p') +APT_DEBVER=$(shell dpkg-parsechangelog |sed -n -e '/^Version:/s/^Version: //p' -e 's/\+.*$$//') APT_CONFVER=$(shell sed -n -e 's/^AC_DEFINE_UNQUOTED(VERSION,"\(.*\)")/\1/p' configure.in) APT_CVSTAG=$(shell echo "$(APT_DEBVER)" | sed -e 's/^/v/' -e 's/\./_/g') -- cgit v1.2.3 From 21e1008e144c50770997bc00dc1b27826a31064c Mon Sep 17 00:00:00 2001 From: Michael Vogt Date: Sat, 30 Sep 2006 14:28:00 +0200 Subject: * apt-pkg/deb/dpkgpm.cc: - translate the dpkg progress strings when they are used, not in the struct (thanks to Steinar Gunderson) * debian/changelog: - updated --- apt-pkg/deb/dpkgpm.cc | 22 +++++++++++----------- buildlib/apti18n.h.in | 2 ++ debian/changelog | 7 ++++++- 3 files changed, 19 insertions(+), 12 deletions(-) diff --git a/apt-pkg/deb/dpkgpm.cc b/apt-pkg/deb/dpkgpm.cc index bf0434ccc..2b167dbf6 100644 --- a/apt-pkg/deb/dpkgpm.cc +++ b/apt-pkg/deb/dpkgpm.cc @@ -355,28 +355,28 @@ bool pkgDPkgPM::Go(int OutStatusFd) static const struct DpkgState DpkgStatesOpMap[][5] = { // Install operation { - {"half-installed", _("Preparing %s")}, - {"unpacked", _("Unpacking %s") }, + {"half-installed", N_("Preparing %s")}, + {"unpacked", N_("Unpacking %s") }, {NULL, NULL} }, // Configure operation { - {"unpacked",_("Preparing to configure %s") }, - {"half-configured", _("Configuring %s") }, - { "installed", _("Installed %s")}, + {"unpacked",N_("Preparing to configure %s") }, + {"half-configured", N_("Configuring %s") }, + { "installed", N_("Installed %s")}, {NULL, NULL} }, // Remove operation { - {"half-configured", _("Preparing for removal of %s")}, - {"half-installed", _("Removing %s")}, - {"config-files", _("Removed %s")}, + {"half-configured", N_("Preparing for removal of %s")}, + {"half-installed", N_("Removing %s")}, + {"config-files", N_("Removed %s")}, {NULL, NULL} }, // Purge operation { - {"config-files", _("Preparing to completely remove %s")}, - {"not-installed", _("Completely removed %s")}, + {"config-files", N_("Preparing to completely remove %s")}, + {"not-installed", N_("Completely removed %s")}, {NULL, NULL} }, }; @@ -670,7 +670,7 @@ bool pkgDPkgPM::Go(int OutStatusFd) { // only read the translation if there is actually a next // action - const char *translation = states[PackageOpsDone[pkg]].str; + const char *translation = _(states[PackageOpsDone[pkg]].str); char s[200]; snprintf(s, sizeof(s), translation, pkg); diff --git a/buildlib/apti18n.h.in b/buildlib/apti18n.h.in index 812457643..a5b91b1ee 100644 --- a/buildlib/apti18n.h.in +++ b/buildlib/apti18n.h.in @@ -14,8 +14,10 @@ # else # define _(x) gettext(x) # endif +# define N_(x) x #else // apt will not use any gettext # define setlocale(a, b) # define _(x) x +# define N_(x) x #endif diff --git a/debian/changelog b/debian/changelog index 448f4f1ee..92c12b5a9 100644 --- a/debian/changelog +++ b/debian/changelog @@ -3,7 +3,12 @@ apt (0.6.46.1) unstable; urgency=low * methods/gzip.cc: - deal with empty files * Applied patch from Daniel Schepler to make apt bin-NMU able. - (Closes: bug#359634) + (closes: bug#359634) + * rebuild against current g++ because of: + http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29289 + (closes: #390189) + * fix broken i18n in the dpkg progress reporting, thanks to + Frans Pop and Steinar Gunderson. (closes: #389261) -- -- cgit v1.2.3 From 60a9e375317c42f6682704e2769b7b2776c7ec12 Mon Sep 17 00:00:00 2001 From: Michael Vogt Date: Sat, 30 Sep 2006 16:30:42 +0200 Subject: * methods/gzip.cc: - fix invalid reanem --- methods/gzip.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/methods/gzip.cc b/methods/gzip.cc index a8e816bf3..f732c0b86 100644 --- a/methods/gzip.cc +++ b/methods/gzip.cc @@ -55,7 +55,7 @@ bool GzipMethod::Fetch(FetchItem *Itm) // if the file is empty, just rename it and return if(From.Size() == 0) { - Rename(Path, Itm->DestFile); + rename(Path.c_str(), Itm->DestFile.c_str()); return true; } -- cgit v1.2.3 From c407612f82f02ed97ec879e48e3cd1c187b4f5ea Mon Sep 17 00:00:00 2001 From: Michael Vogt Date: Sat, 30 Sep 2006 22:50:41 +0200 Subject: * apt-pkg/tagfile.h: - increase the buffer in tagfile.cc for now, this really needs to become a dynamic buffer --- apt-pkg/tagfile.h | 2 +- debian/changelog | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/apt-pkg/tagfile.h b/apt-pkg/tagfile.h index f7f8155a5..35ffebda8 100644 --- a/apt-pkg/tagfile.h +++ b/apt-pkg/tagfile.h @@ -84,7 +84,7 @@ class pkgTagFile inline unsigned long Offset() {return iOffset;}; bool Jump(pkgTagSection &Tag,unsigned long Offset); - pkgTagFile(FileFd *F,unsigned long Size = 64*1024); + pkgTagFile(FileFd *F,unsigned long Size = 128*1024); ~pkgTagFile(); }; diff --git a/debian/changelog b/debian/changelog index db84bc65a..77c7cf698 100644 --- a/debian/changelog +++ b/debian/changelog @@ -13,6 +13,8 @@ apt (0.6.46.1) unstable; urgency=low * fi.po: Updated to 514t. Closes: #390149 * eu.po: Updated to 514t. Closes: #389725 * vi.po: Updated to 514t. Closes: #388555 + * use a bigger buffer in tagfile for now, this needs to + become much more dynamic (closes: #388708) -- -- cgit v1.2.3 From 75c541fdeda664bdf0e48e68a2aa5dae7015587c Mon Sep 17 00:00:00 2001 From: Michael Vogt Date: Mon, 2 Oct 2006 00:58:53 +0200 Subject: * apt-pkg/tagfile.cc,h: - make the internal buffer grow dynamically if required --- apt-pkg/tagfile.cc | 41 +++++++++++++++++++++++++++++++++++++---- apt-pkg/tagfile.h | 7 ++++--- debian/changelog | 4 ++-- 3 files changed, 43 insertions(+), 9 deletions(-) diff --git a/apt-pkg/tagfile.cc b/apt-pkg/tagfile.cc index 040562fff..223618cd1 100644 --- a/apt-pkg/tagfile.cc +++ b/apt-pkg/tagfile.cc @@ -59,19 +59,52 @@ pkgTagFile::~pkgTagFile() delete [] Buffer; } /*}}}*/ +// TagFile::Resize - Resize the internal buffer /*{{{*/ +// --------------------------------------------------------------------- +/* Resize the internal buffer (double it in size). Fail if a maximum size + * size is reached. + */ +bool pkgTagFile::Resize() +{ + char *tmp; + unsigned long EndSize = End - Start; + + // fail is the buffer grows too big + if(Size > 1024*1024+1) + return false; + + // get new buffer and use it + tmp = new char[2*Size]; + memcpy(tmp, Buffer, Size); + Size = Size*2; + delete [] Buffer; + Buffer = tmp; + + // update the start/end pointers to the new buffer + Start = Buffer; + End = Start + EndSize; + return true; +} + // TagFile::Step - Advance to the next section /*{{{*/ // --------------------------------------------------------------------- -/* If the Section Scanner fails we refill the buffer and try again. */ +/* If the Section Scanner fails we refill the buffer and try again. + * If that fails too, double the buffer size and try again until a + * maximum buffer is reached. + */ bool pkgTagFile::Step(pkgTagSection &Tag) { - if (Tag.Scan(Start,End - Start) == false) + while (Tag.Scan(Start,End - Start) == false) { if (Fill() == false) return false; - if (Tag.Scan(Start,End - Start) == false) + if(Tag.Scan(Start,End - Start)) + break; + + if (Resize() == false) return _error->Error(_("Unable to parse package file %s (1)"), - Fd.Name().c_str()); + Fd.Name().c_str()); } Start += Tag.size(); iOffset += Tag.size(); diff --git a/apt-pkg/tagfile.h b/apt-pkg/tagfile.h index 35ffebda8..70381ad13 100644 --- a/apt-pkg/tagfile.h +++ b/apt-pkg/tagfile.h @@ -75,16 +75,17 @@ class pkgTagFile bool Done; unsigned long iOffset; unsigned long Size; - + bool Fill(); - + bool Resize(); + public: bool Step(pkgTagSection &Section); inline unsigned long Offset() {return iOffset;}; bool Jump(pkgTagSection &Tag,unsigned long Offset); - pkgTagFile(FileFd *F,unsigned long Size = 128*1024); + pkgTagFile(FileFd *F,unsigned long Size = 32*1024); ~pkgTagFile(); }; diff --git a/debian/changelog b/debian/changelog index 77c7cf698..6b842898c 100644 --- a/debian/changelog +++ b/debian/changelog @@ -13,8 +13,8 @@ apt (0.6.46.1) unstable; urgency=low * fi.po: Updated to 514t. Closes: #390149 * eu.po: Updated to 514t. Closes: #389725 * vi.po: Updated to 514t. Closes: #388555 - * use a bigger buffer in tagfile for now, this needs to - become much more dynamic (closes: #388708) + * make the internal buffer in pkgTagFile grow dynamically + (closes: #388708) -- -- cgit v1.2.3