- apt (0.9.7.9~exp3ubuntu1) UNRELEASEDsaucy; urgency=low
++apt (0.9.9ubuntu1) UNRELEASEDsaucy; urgency=low
+
- * merged from debian
++ * merged from the debian/sid branch
+
- -- Michael Vogt <michael.vogt@ubuntu.com> Tue, 30 Apr 2013 10:28:43 +0200
++ -- Michael Vogt <michael.vogt@ubuntu.com> Tue, 02 Jul 2013 16:48:08 +0200
+
- apt (0.9.7.9~exp3) experimental; urgency=low
+ apt (0.9.9) unstable; urgency=low
+
+ [ Michael Vogt ]
+ * improve debug output for the Debug::pkgProblemResolver and
+ Debug::pkgDepCache::AutoInstall
+ * improve apt-cdrom output when no CD-ROM can be auto-detected
+ * document --no-auto-detect in apt-cdrom
+
+ [ David Kalnischkies ]
+ * build the en manpages in subdirectory doc/en
+ * remove -ldl from cdrom and -lutil from apt-get linkage
+ * rewrite pkgOrderList::DepRemove to stop incorrect immediate setting
+ (Closes: 645713)
+ * prefer Essentials over Removals in ordering score
+ * fix priority sorting by prefering higher in MarkInstall
+ * try all providers in order if uninstallable in MarkInstall
+ * do unpacks before configures in SmartConfigure (Closes: #707578)
+ * fix support for multiple patterns in apt-cache search (Closes: #691453)
+ * set Fail flag in FileFd on all errors consistently
+ * don't explicitly init ExtractTar InFd with invalid fd
+ * OpenDescriptor should autoclose fd always on error (Closes: #704608)
+ * fail in CopyFile if the FileFds have error flag set
+ * ensure state-dir exists before coyping cdrom files
+ * fix file location for configure-index.gz in apt.conf(5) (Closes: #711921)
+ * handle missing "Description" in apt-cache show (Closes: #712435)
+ * try defaults if auto-detection failed in apt-cdrom (Closes: #712433)
+ * support \n and \r\n line endings in ReadMessages
+ * do not redownload unchanged InRelease files
+ * trigger NODATA error for invalid InRelease files (Closes: #712486)
+
+ -- Michael Vogt <mvo@debian.org> Tue, 02 Jul 2013 08:58:33 +0200
+
+ apt (0.9.8.2) unstable; urgency=low
+
+ [ Programs translations ]
+ * French translation : typo fix. Closes: #677272
+
+ [ Guillem Jover ]
+ * Update Vcs fields (Closes: #708562)
+
+ [ Michael Vogt ]
+ * buildlib/apti18n.h.in:
+ - fix build failure when building without NLS (closes: #671587)
+
+ [ Gregoire Menuel ]
+ * Fix double free (closes: #711045)
+
+ [ Raphael Geissert ]
+ * Fix crash when the "mirror" method does not find any entry
+ (closes: #699303)
+
+ [ Johan Kiviniemi ]
+ * cmdline/apt-key:
+ - Create new keyrings with mode 0644 instead of 0600.
+ - Accept a nonexistent --keyring file with the adv subcommand as well.
+
+ -- Michael Vogt <mvo@debian.org> Thu, 06 Jun 2013 19:15:14 +0200
+
+ apt (0.9.8.1) unstable; urgency=low
+
+ [ David Kalnischkies ]
+ * apt-pkg/indexcopy.cc:
+ - non-inline RunGPGV methods to restore ABI compatibility with previous
+ versions to fix partial upgrades (Closes: #707771)
+
+ [ Michael Vogt ]
+ * moved source to http://git.debian.org/apt/apt.git
+ * updated gbp.conf to match what bzr-buildpackage is doing
+ * remove .bzr-buildpackage/default.conf (superseeded by gbp.conf)
+
+ -- Michael Vogt <mvo@debian.org> Thu, 16 May 2013 14:50:43 +0200
+
+ apt (0.9.8) unstable; urgency=low
+
+ [ Ludovico Cavedon ]
+ * properly handle if-modfied-since with libcurl/https
+ (closes: #705648)
+
+ [ Andreas Beckman ]
+ * apt-pkg/algorithms.cc:
+ - Do not propagate negative scores from rdepends. Propagating the absolute
+ value of a negative score may boost obsolete packages and keep them
+ installed instead of installing their successors. (Closes: #699759)
++
++ [ Michael Vogt ]
++ * apt-pkg/sourcelist.cc:
++ - fix segfault when a hostname contains a [, thanks to
++ Tzafrir Cohen (closes: #704653)
++ * debian/control:
++ - replace manpages-it (closes: #704723)
++
++ [ David Kalnischkies ]
++ * various simple changes to fix cppcheck warnings
++ * apt-pkg/pkgcachegen.cc:
++ - do not store the MD5Sum for every description language variant as
++ it will be the same for all so it can be shared to save cache space
++ - handle language tags for descriptions are unique strings to be shared
++ - factor version string creation out of NewDepends, so we can easily reuse
++ version strings e.g. for implicit multi-arch dependencies
++ - equal comparisions are used mostly in same-source relations,
++ so use this to try to reuse some version strings
++ - sort group and package names in the hashtable on insert
++ - share version strings between same versions (of different architectures)
++ to save some space and allow quick comparisions later on
++ * apt-pkg/pkgcache.cc:
++ - assume sorted hashtable entries for groups/packages
++ * apt-pkg/cacheiterators.h:
++ - provide DepIterator::IsSatisfied as a nicer shorthand for DepCheck
++ * apt-pkg/deb/debversion.cc:
++ - add a string-equal shortcut for equal version comparisions
++
++ [ Marc Deslauriers ]
++ * make apt-ftparchive generate missing deb-src hashes (LP: #1078697)
++
++ [ Yaroslav Halchenko ]
++ * Fix English spelling error in a message ('A error'). Unfuzzy
++ translations. Closes: #705087
++
++ [ Programs translations ]
++ * French translation completed (Christian Perrier)
++
++ [ Manpages translations ]
++ * French translation completed (Christian Perrier)
++
++ [ Daniel Hartwig ]
++ * apt-pkg/contrib/strutl.cc:
++ - include port in shortened URIs (e.g. with apt-cache policy, progress
++ display) thanks to James McCoy (Closes: #154868, #322074)
++ - percent-encode username and password when writing URIs
++ * methods/http.cc:
++ - properly escape IP-literals (e.g. IPv6 address) when building
++ Host headers and URIs (Closes: #620344)
++ * methods/https.cc:
++ - use https_proxy environment variable if present, falling back to
++ http_proxy otherwise
++ - use authentication credentials from proxy URI
++ (Closes: #651640, LP: #1087512)
++ - environment variables do not override an explicit no proxy
++ directive ("DIRECT") in apt.conf
++ - disregard all_proxy environment variable, like other methods
++
++ -- Michael Vogt <mvo@debian.org> Wed, 08 May 2013 18:43:28 +0200
+
++apt (0.9.7.9~exp3) experimental; urgency=low
+
[ Michael Vogt ]
* apt-pkg/sourcelist.cc:
- fix segfault when a hostname contains a [, thanks to
#, fuzzy
msgid ""
msgstr ""
++<<<<<<< HEAD
+"Project-Id-Version: apt 0.9.7.7ubuntu3\n"
+"Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n"
+"POT-Creation-Date: 2013-04-11 14:52+0200\n"
++=======
+ "Project-Id-Version: apt 0.9.8.1\n"
+ "Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n"
+ "POT-Creation-Date: 2013-06-26 07:37+0200\n"
++>>>>>>> upstream/debian/sid
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
msgid " Version table:"
msgstr ""
++<<<<<<< HEAD
+#: cmdline/apt-cache.cc:1683 cmdline/apt-cdrom.cc:198 cmdline/apt-config.cc:81
+#: cmdline/apt-get.cc:3366 cmdline/apt-mark.cc:375
++=======
+ #: cmdline/apt-cache.cc:1723 cmdline/apt-cdrom.cc:206 cmdline/apt-config.cc:81
+ #: cmdline/apt-get.cc:3361 cmdline/apt-mark.cc:375
++>>>>>>> upstream/debian/sid
#: cmdline/apt-extracttemplates.cc:229 ftparchive/apt-ftparchive.cc:591
#: cmdline/apt-internal-solver.cc:33 cmdline/apt-sortpkgs.cc:147
#, c-format
msgid "Do you want to continue [Y/n]? "
msgstr ""
++<<<<<<< HEAD
+#: cmdline/apt-get.cc:1356 cmdline/apt-get.cc:2656 apt-pkg/algorithms.cc:1554
++=======
+ #: cmdline/apt-get.cc:1356 cmdline/apt-get.cc:2655 apt-pkg/algorithms.cc:1562
++>>>>>>> upstream/debian/sid
#, c-format
msgid "Failed to fetch %s %s\n"
msgstr ""
msgid "Calculating upgrade... "
msgstr ""
++<<<<<<< HEAD
+#: cmdline/apt-get.cc:2188 methods/ftp.cc:711 methods/connect.cc:115
++=======
+ #: cmdline/apt-get.cc:2187 methods/ftp.cc:711 methods/connect.cc:116
++>>>>>>> upstream/debian/sid
msgid "Failed"
msgstr ""
msgid "Changelog for %s (%s)"
msgstr ""
++<<<<<<< HEAD
+#: cmdline/apt-get.cc:3371
+msgid "Supported modules:"
+msgstr ""
+
+#: cmdline/apt-get.cc:3412
++=======
+ #: cmdline/apt-get.cc:3366
+ msgid "Supported modules:"
+ msgstr ""
+
+ #: cmdline/apt-get.cc:3407
++>>>>>>> upstream/debian/sid
msgid ""
"Usage: apt-get [options] command\n"
" apt-get [options] install|remove pkg1 [pkg2 ...]\n"
" This APT has Super Cow Powers.\n"
msgstr ""
++<<<<<<< HEAD
+#: cmdline/apt-get.cc:3577
++=======
+ #: cmdline/apt-get.cc:3572
++>>>>>>> upstream/debian/sid
msgid ""
"NOTE: This is only a simulation!\n"
" apt-get needs root privileges for real execution.\n"
msgstr ""
#: cmdline/apt-mark.cc:245 cmdline/apt-mark.cc:326
++<<<<<<< HEAD
+#: apt-pkg/contrib/fileutl.cc:828 apt-pkg/deb/dpkgpm.cc:1001
++=======
+ #: apt-pkg/contrib/fileutl.cc:829 apt-pkg/contrib/gpgv.cc:223
+ #: apt-pkg/deb/dpkgpm.cc:1002
++>>>>>>> upstream/debian/sid
#, c-format
msgid "Waited for %s but it wasn't there"
msgstr ""
msgid "Server closed the connection"
msgstr ""
++<<<<<<< HEAD
+#: methods/ftp.cc:349 methods/rsh.cc:199 apt-pkg/contrib/fileutl.cc:1274
+#: apt-pkg/contrib/fileutl.cc:1283 apt-pkg/contrib/fileutl.cc:1286
++=======
+ #: methods/ftp.cc:349 methods/rsh.cc:199 apt-pkg/contrib/fileutl.cc:1263
+ #: apt-pkg/contrib/fileutl.cc:1272 apt-pkg/contrib/fileutl.cc:1275
++>>>>>>> upstream/debian/sid
msgid "Read error"
msgstr ""
msgstr ""
#: methods/ftp.cc:457 methods/rred.cc:238 methods/rsh.cc:241
++<<<<<<< HEAD
+#: apt-pkg/contrib/fileutl.cc:1372 apt-pkg/contrib/fileutl.cc:1381
+#: apt-pkg/contrib/fileutl.cc:1384 apt-pkg/contrib/fileutl.cc:1410
++=======
+ #: apt-pkg/contrib/fileutl.cc:1359 apt-pkg/contrib/fileutl.cc:1368
+ #: apt-pkg/contrib/fileutl.cc:1371 apt-pkg/contrib/fileutl.cc:1396
++>>>>>>> upstream/debian/sid
msgid "Write error"
msgstr ""
msgid "Unable to connect to %s:%s:"
msgstr ""
++<<<<<<< HEAD
+#: methods/gpgv.cc:180
++=======
+ #: methods/gpgv.cc:166
++>>>>>>> upstream/debian/sid
msgid ""
"Internal error: Good signature, but could not determine key fingerprint?!"
msgstr ""
++<<<<<<< HEAD
+#: methods/gpgv.cc:185
+msgid "At least one invalid signature was encountered."
+msgstr ""
+
+#: methods/gpgv.cc:189
+msgid "Could not execute 'gpgv' to verify signature (is gpgv installed?)"
+msgstr ""
+
+#: methods/gpgv.cc:194
+msgid "Unknown error executing gpgv"
+msgstr ""
+
+#: methods/gpgv.cc:228 methods/gpgv.cc:235
+msgid "The following signatures were invalid:\n"
+msgstr ""
+
+#: methods/gpgv.cc:242
++=======
+ #: methods/gpgv.cc:170
+ msgid "At least one invalid signature was encountered."
+ msgstr ""
+
+ #: methods/gpgv.cc:172
+ msgid "Could not execute 'gpgv' to verify signature (is gpgv installed?)"
+ msgstr ""
+
+ #. TRANSLATORS: %s is a single techy word like 'NODATA'
+ #: methods/gpgv.cc:178
+ #, c-format
+ msgid ""
+ "Clearsigned file isn't valid, got '%s' (does the network require "
+ "authentication?)"
+ msgstr ""
+
+ #: methods/gpgv.cc:182
+ msgid "Unknown error executing gpgv"
+ msgstr ""
+
+ #: methods/gpgv.cc:215 methods/gpgv.cc:222
+ msgid "The following signatures were invalid:\n"
+ msgstr ""
+
+ #: methods/gpgv.cc:229
++>>>>>>> upstream/debian/sid
msgid ""
"The following signatures couldn't be verified because the public key is not "
"available:\n"
msgid "Unknown date format"
msgstr ""
++<<<<<<< HEAD
+#: methods/http.cc:818
+msgid "Select failed"
+msgstr ""
+
+#: methods/http.cc:823
+msgid "Connection timed out"
+msgstr ""
+
+#: methods/http.cc:846
+msgid "Error writing to output file"
+msgstr ""
+
+#: methods/http.cc:877
+msgid "Error writing to file"
+msgstr ""
+
+#: methods/http.cc:905
+msgid "Error writing to the file"
+msgstr ""
+
+#: methods/http.cc:919
+msgid "Error reading from server. Remote end closed connection"
+msgstr ""
+
+#: methods/http.cc:921
++=======
+ #: methods/http.cc:827
+ msgid "Select failed"
+ msgstr ""
+
+ #: methods/http.cc:832
+ msgid "Connection timed out"
+ msgstr ""
+
+ #: methods/http.cc:855
+ msgid "Error writing to output file"
+ msgstr ""
+
+ #: methods/http.cc:886
+ msgid "Error writing to file"
+ msgstr ""
+
+ #: methods/http.cc:914
+ msgid "Error writing to the file"
+ msgstr ""
+
+ #: methods/http.cc:928
+ msgid "Error reading from server. Remote end closed connection"
+ msgstr ""
+
+ #: methods/http.cc:930
++>>>>>>> upstream/debian/sid
msgid "Error reading from server"
msgstr ""
#. Only warn if there are no sources.list.d.
#. Only warn if there is no sources.list file.
++<<<<<<< HEAD
+#: methods/mirror.cc:95 apt-inst/extract.cc:465
+#: apt-pkg/contrib/cdromutl.cc:183 apt-pkg/contrib/fileutl.cc:400
+#: apt-pkg/contrib/fileutl.cc:513 apt-pkg/sourcelist.cc:208
+#: apt-pkg/sourcelist.cc:214 apt-pkg/acquire.cc:485 apt-pkg/init.cc:109
+#: apt-pkg/init.cc:117 apt-pkg/clean.cc:36 apt-pkg/policy.cc:362
++=======
+ #: methods/mirror.cc:95 apt-inst/extract.cc:464
+ #: apt-pkg/contrib/cdromutl.cc:183 apt-pkg/contrib/fileutl.cc:401
+ #: apt-pkg/contrib/fileutl.cc:514 apt-pkg/sourcelist.cc:208
+ #: apt-pkg/sourcelist.cc:214 apt-pkg/acquire.cc:485 apt-pkg/init.cc:108
+ #: apt-pkg/init.cc:116 apt-pkg/clean.cc:36 apt-pkg/policy.cc:362
++>>>>>>> upstream/debian/sid
#, c-format
msgid "Unable to read %s"
msgstr ""
" -o=? Set an arbitrary configuration option, eg -o dir::cache=/tmp\n"
msgstr ""
++<<<<<<< HEAD
+#: cmdline/apt-extracttemplates.cc:271 apt-pkg/pkgcachegen.cc:1339
++=======
+ #: cmdline/apt-extracttemplates.cc:271 apt-pkg/pkgcachegen.cc:1388
++>>>>>>> upstream/debian/sid
#, c-format
msgid "Unable to write to %s"
msgstr ""
msgid "%lis"
msgstr ""
++<<<<<<< HEAD
+#: apt-pkg/contrib/strutl.cc:1167
++=======
+ #: apt-pkg/contrib/strutl.cc:1173
++>>>>>>> upstream/debian/sid
#, c-format
msgid "Selection %s not found"
msgstr ""
msgid "Sub-process %s received signal %u."
msgstr ""
++<<<<<<< HEAD
+#: apt-pkg/contrib/fileutl.cc:846
++=======
+ #: apt-pkg/contrib/fileutl.cc:847 apt-pkg/contrib/gpgv.cc:243
++>>>>>>> upstream/debian/sid
#, c-format
msgid "Sub-process %s returned an error code (%u)"
msgstr ""
++<<<<<<< HEAD
+#: apt-pkg/contrib/fileutl.cc:848
++=======
+ #: apt-pkg/contrib/fileutl.cc:849 apt-pkg/contrib/gpgv.cc:236
++>>>>>>> upstream/debian/sid
#, c-format
msgid "Sub-process %s exited unexpectedly"
msgstr ""
++<<<<<<< HEAD
+#: apt-pkg/contrib/fileutl.cc:1004 apt-pkg/indexcopy.cc:659
++=======
+ #: apt-pkg/contrib/fileutl.cc:985
++>>>>>>> upstream/debian/sid
#, c-format
msgid "Could not open file %s"
msgstr ""
++<<<<<<< HEAD
+#: apt-pkg/contrib/fileutl.cc:1066
++=======
+ #: apt-pkg/contrib/fileutl.cc:1062
++>>>>>>> upstream/debian/sid
#, c-format
msgid "Could not open file descriptor %d"
msgstr ""
++<<<<<<< HEAD
+#: apt-pkg/contrib/fileutl.cc:1156
+msgid "Failed to create subprocess IPC"
+msgstr ""
+
+#: apt-pkg/contrib/fileutl.cc:1212
+msgid "Failed to exec compressor "
+msgstr ""
+
+#: apt-pkg/contrib/fileutl.cc:1309
++=======
+ #: apt-pkg/contrib/fileutl.cc:1147
+ msgid "Failed to create subprocess IPC"
+ msgstr ""
+
+ #: apt-pkg/contrib/fileutl.cc:1202
+ msgid "Failed to exec compressor "
+ msgstr ""
+
+ #: apt-pkg/contrib/fileutl.cc:1297
++>>>>>>> upstream/debian/sid
#, c-format
msgid "read, still have %llu to read but none left"
msgstr ""
++<<<<<<< HEAD
+#: apt-pkg/contrib/fileutl.cc:1398 apt-pkg/contrib/fileutl.cc:1420
++=======
+ #: apt-pkg/contrib/fileutl.cc:1384 apt-pkg/contrib/fileutl.cc:1406
++>>>>>>> upstream/debian/sid
#, c-format
msgid "write, still have %llu to write but couldn't"
msgstr ""
++<<<<<<< HEAD
+#: apt-pkg/contrib/fileutl.cc:1736
++=======
+ #: apt-pkg/contrib/fileutl.cc:1681
++>>>>>>> upstream/debian/sid
#, c-format
msgid "Problem closing the file %s"
msgstr ""
++<<<<<<< HEAD
+#: apt-pkg/contrib/fileutl.cc:1748
++=======
+ #: apt-pkg/contrib/fileutl.cc:1693
++>>>>>>> upstream/debian/sid
#, c-format
msgid "Problem renaming the file %s to %s"
msgstr ""
++<<<<<<< HEAD
+#: apt-pkg/contrib/fileutl.cc:1759
++=======
+ #: apt-pkg/contrib/fileutl.cc:1704
++>>>>>>> upstream/debian/sid
#, c-format
msgid "Problem unlinking the file %s"
msgstr ""
++<<<<<<< HEAD
+#: apt-pkg/contrib/fileutl.cc:1774
++=======
+ #: apt-pkg/contrib/fileutl.cc:1717
++>>>>>>> upstream/debian/sid
msgid "Problem syncing the file"
msgstr ""
"The package %s needs to be reinstalled, but I can't find an archive for it."
msgstr ""
++<<<<<<< HEAD
+#: apt-pkg/algorithms.cc:1228
++=======
+ #: apt-pkg/algorithms.cc:1234
++>>>>>>> upstream/debian/sid
msgid ""
"Error, pkgProblemResolver::Resolve generated breaks, this may be caused by "
"held packages."
msgstr ""
++<<<<<<< HEAD
+#: apt-pkg/algorithms.cc:1230
+msgid "Unable to correct problems, you have held broken packages."
+msgstr ""
+
+#: apt-pkg/algorithms.cc:1580 apt-pkg/algorithms.cc:1582
++=======
+ #: apt-pkg/algorithms.cc:1236
+ msgid "Unable to correct problems, you have held broken packages."
+ msgstr ""
+
+ #: apt-pkg/algorithms.cc:1588 apt-pkg/algorithms.cc:1590
++>>>>>>> upstream/debian/sid
msgid ""
"Some index files failed to download. They have been ignored, or old ones "
"used instead."
#. TRANSLATOR: The first placeholder is a package name,
#. the other two should be copied verbatim as they include debug info
#: apt-pkg/pkgcachegen.cc:218 apt-pkg/pkgcachegen.cc:228
++<<<<<<< HEAD
+#: apt-pkg/pkgcachegen.cc:294 apt-pkg/pkgcachegen.cc:325
+#: apt-pkg/pkgcachegen.cc:333 apt-pkg/pkgcachegen.cc:375
+#: apt-pkg/pkgcachegen.cc:379 apt-pkg/pkgcachegen.cc:396
+#: apt-pkg/pkgcachegen.cc:406 apt-pkg/pkgcachegen.cc:410
+#: apt-pkg/pkgcachegen.cc:414 apt-pkg/pkgcachegen.cc:435
+#: apt-pkg/pkgcachegen.cc:477 apt-pkg/pkgcachegen.cc:517
+#: apt-pkg/pkgcachegen.cc:525 apt-pkg/pkgcachegen.cc:556
+#: apt-pkg/pkgcachegen.cc:570
++=======
+ #: apt-pkg/pkgcachegen.cc:294 apt-pkg/pkgcachegen.cc:321
+ #: apt-pkg/pkgcachegen.cc:334 apt-pkg/pkgcachegen.cc:376
+ #: apt-pkg/pkgcachegen.cc:380 apt-pkg/pkgcachegen.cc:397
+ #: apt-pkg/pkgcachegen.cc:405 apt-pkg/pkgcachegen.cc:409
+ #: apt-pkg/pkgcachegen.cc:413 apt-pkg/pkgcachegen.cc:434
+ #: apt-pkg/pkgcachegen.cc:473 apt-pkg/pkgcachegen.cc:511
+ #: apt-pkg/pkgcachegen.cc:518 apt-pkg/pkgcachegen.cc:549
+ #: apt-pkg/pkgcachegen.cc:563
++>>>>>>> upstream/debian/sid
#, c-format
msgid "Error occurred while processing %s (%s%d)"
msgstr ""
msgid "Wow, you exceeded the number of dependencies this APT is capable of."
msgstr ""
++<<<<<<< HEAD
+#: apt-pkg/pkgcachegen.cc:577
++=======
+ #: apt-pkg/pkgcachegen.cc:570
++>>>>>>> upstream/debian/sid
#, c-format
msgid "Package %s %s was not found while processing file dependencies"
msgstr ""
++<<<<<<< HEAD
+#: apt-pkg/pkgcachegen.cc:1150
++=======
+ #: apt-pkg/pkgcachegen.cc:1199
++>>>>>>> upstream/debian/sid
#, c-format
msgid "Couldn't stat source package list %s"
msgstr ""
++<<<<<<< HEAD
+#: apt-pkg/pkgcachegen.cc:1238 apt-pkg/pkgcachegen.cc:1342
+#: apt-pkg/pkgcachegen.cc:1348 apt-pkg/pkgcachegen.cc:1505
+msgid "Reading package lists"
+msgstr ""
+
+#: apt-pkg/pkgcachegen.cc:1255
+msgid "Collecting File Provides"
+msgstr ""
+
+#: apt-pkg/pkgcachegen.cc:1447 apt-pkg/pkgcachegen.cc:1454
++=======
+ #: apt-pkg/pkgcachegen.cc:1287 apt-pkg/pkgcachegen.cc:1391
+ #: apt-pkg/pkgcachegen.cc:1397 apt-pkg/pkgcachegen.cc:1554
+ msgid "Reading package lists"
+ msgstr ""
+
+ #: apt-pkg/pkgcachegen.cc:1304
+ msgid "Collecting File Provides"
+ msgstr ""
+
+ #: apt-pkg/pkgcachegen.cc:1496 apt-pkg/pkgcachegen.cc:1503
++>>>>>>> upstream/debian/sid
msgid "IO Error saving source cache"
msgstr ""
msgid "MD5Sum mismatch"
msgstr ""
++<<<<<<< HEAD
+#: apt-pkg/acquire-item.cc:870 apt-pkg/acquire-item.cc:1870
+#: apt-pkg/acquire-item.cc:2013
+msgid "Hash Sum mismatch"
+msgstr ""
+
+#: apt-pkg/acquire-item.cc:1381
++=======
+ #: apt-pkg/acquire-item.cc:870 apt-pkg/acquire-item.cc:1876
+ #: apt-pkg/acquire-item.cc:2019
+ msgid "Hash Sum mismatch"
+ msgstr ""
+
+ #: apt-pkg/acquire-item.cc:1377
++>>>>>>> upstream/debian/sid
#, c-format
msgid ""
"Unable to find expected entry '%s' in Release file (Wrong sources.list entry "
"or malformed file)"
msgstr ""
++<<<<<<< HEAD
+#: apt-pkg/acquire-item.cc:1397
++=======
+ #: apt-pkg/acquire-item.cc:1393
++>>>>>>> upstream/debian/sid
#, c-format
msgid "Unable to find hash sum for '%s' in Release file"
msgstr ""
++<<<<<<< HEAD
+#: apt-pkg/acquire-item.cc:1439
+msgid "There is no public key available for the following key IDs:\n"
+msgstr ""
+
+#: apt-pkg/acquire-item.cc:1477
++=======
+ #: apt-pkg/acquire-item.cc:1435
+ msgid "There is no public key available for the following key IDs:\n"
+ msgstr ""
+
+ #: apt-pkg/acquire-item.cc:1473
++>>>>>>> upstream/debian/sid
#, c-format
msgid ""
"Release file for %s is expired (invalid since %s). Updates for this "
"repository will not be applied."
msgstr ""
++<<<<<<< HEAD
+#: apt-pkg/acquire-item.cc:1499
++=======
+ #: apt-pkg/acquire-item.cc:1495
++>>>>>>> upstream/debian/sid
#, c-format
msgid "Conflicting distribution: %s (expected %s but got %s)"
msgstr ""
++<<<<<<< HEAD
+#: apt-pkg/acquire-item.cc:1532
++=======
+ #: apt-pkg/acquire-item.cc:1525
++>>>>>>> upstream/debian/sid
#, c-format
msgid ""
-"An error occurred during the signature verification. The repository is not "
+"A error occurred during the signature verification. The repository is not "
"updated and the previous index files will be used. GPG error: %s: %s\n"
msgstr ""
#. Invalid signature file, reject (LP: #346386) (Closes: #627642)
++<<<<<<< HEAD
+#: apt-pkg/acquire-item.cc:1542 apt-pkg/acquire-item.cc:1547
++=======
+ #: apt-pkg/acquire-item.cc:1535 apt-pkg/acquire-item.cc:1540
++>>>>>>> upstream/debian/sid
#, c-format
msgid "GPG error: %s: %s"
msgstr ""
++<<<<<<< HEAD
+#: apt-pkg/acquire-item.cc:1646
++=======
+ #: apt-pkg/acquire-item.cc:1652
++>>>>>>> upstream/debian/sid
#, c-format
msgid ""
"I wasn't able to locate a file for the %s package. This might mean you need "
"to manually fix this package. (due to missing arch)"
msgstr ""
++<<<<<<< HEAD
+#: apt-pkg/acquire-item.cc:1705
++=======
+ #: apt-pkg/acquire-item.cc:1711
++>>>>>>> upstream/debian/sid
#, c-format
msgid ""
"I wasn't able to locate a file for the %s package. This might mean you need "
"to manually fix this package."
msgstr ""
++<<<<<<< HEAD
+#: apt-pkg/acquire-item.cc:1764
++=======
+ #: apt-pkg/acquire-item.cc:1770
++>>>>>>> upstream/debian/sid
#, c-format
msgid ""
"The package index files are corrupted. No Filename: field for package %s."
msgstr ""
++<<<<<<< HEAD
+#: apt-pkg/acquire-item.cc:1862
++=======
+ #: apt-pkg/acquire-item.cc:1868
++>>>>>>> upstream/debian/sid
msgid "Size mismatch"
msgstr ""
msgid "Source list entries for this disc are:\n"
msgstr ""
++<<<<<<< HEAD
+#: apt-pkg/indexcopy.cc:236 apt-pkg/indexcopy.cc:880
++=======
+ #: apt-pkg/indexcopy.cc:236 apt-pkg/indexcopy.cc:774
++>>>>>>> upstream/debian/sid
#, c-format
msgid "Wrote %i records.\n"
msgstr ""
++<<<<<<< HEAD
+#: apt-pkg/indexcopy.cc:238 apt-pkg/indexcopy.cc:882
++=======
+ #: apt-pkg/indexcopy.cc:238 apt-pkg/indexcopy.cc:776
++>>>>>>> upstream/debian/sid
#, c-format
msgid "Wrote %i records with %i missing files.\n"
msgstr ""
++<<<<<<< HEAD
+#: apt-pkg/indexcopy.cc:241 apt-pkg/indexcopy.cc:885
++=======
+ #: apt-pkg/indexcopy.cc:241 apt-pkg/indexcopy.cc:779
++>>>>>>> upstream/debian/sid
#, c-format
msgid "Wrote %i records with %i mismatched files\n"
msgstr ""
++<<<<<<< HEAD
+#: apt-pkg/indexcopy.cc:244 apt-pkg/indexcopy.cc:888
++=======
+ #: apt-pkg/indexcopy.cc:244 apt-pkg/indexcopy.cc:782
++>>>>>>> upstream/debian/sid
#, c-format
msgid "Wrote %i records with %i missing files and %i mismatched files\n"
msgstr ""
return 2;
}
- std::clog << "Serving ANY file on port: " << port << std::endl;
-
+ FileFd pidfile;
+ if (_config->FindB("aptwebserver::fork", false) == true)
+ {
+ std::string const pidfilename = _config->Find("aptwebserver::pidfile", "aptwebserver.pid");
+ int const pidfilefd = GetLock(pidfilename);
+ if (pidfilefd < 0 || pidfile.OpenDescriptor(pidfilefd, FileFd::WriteOnly) == false)
+ {
+ _error->Errno("aptwebserver", "Couldn't acquire lock on pidfile '%s'", pidfilename.c_str());
+ _error->DumpErrors(std::cerr);
+ return 3;
+ }
+
+ pid_t child = fork();
+ if (child < 0)
+ {
+ _error->Errno("aptwebserver", "Forking failed");
+ _error->DumpErrors(std::cerr);
+ return 4;
+ }
+ else if (child != 0)
+ {
+ // successfully forked: ready to serve!
+ std::string pidcontent;
+ strprintf(pidcontent, "%d", child);
+ pidfile.Write(pidcontent.c_str(), pidcontent.size());
+ if (_error->PendingError() == true)
+ {
+ _error->DumpErrors(std::cerr);
+ return 5;
+ }
+ std::cout << "Successfully forked as " << child << std::endl;
+ return 0;
+ }
+ }
+
-
+ if (simulate_broken_server) {
+ std::clog << "Simulating a broken web server that return nonsense "
+ "for all querries" << std::endl;
+ } else {
+ std::clog << "Serving ANY file on port: " << port << std::endl;
+ }
listen(sock, 1);
/*}}}*/
continue;
}
- else if (RealFileExists(filename) == true) {
+ if (simulate_broken_server == true) {
+ std::string data("ni ni ni\n");
+ addDataHeaders(headers, data);
+ sendHead(client, 200, headers);
+ sendData(client, data);
++ continue;
+ }
++
+ // string replacements in the requested filename
+ ::Configuration::Item const *Replaces = _config->Tree("aptwebserver::redirect::replace");
+ if (Replaces != NULL)
+ {
+ std::string redirect = "/" + filename;
+ for (::Configuration::Item *I = Replaces->Child; I != NULL; I = I->Next)
+ redirect = SubstVar(redirect, I->Tag, I->Value);
+ redirect.erase(0,1);
+ if (redirect != filename)
+ {
+ sendRedirect(client, 301, redirect, *m, sendContent);
+ continue;
+ }
+ }
+
+ ::Configuration::Item const *Overwrite = _config->Tree("aptwebserver::overwrite");
+ if (Overwrite != NULL)
+ {
+ for (::Configuration::Item *I = Overwrite->Child; I != NULL; I = I->Next)
+ {
+ regex_t *pattern = new regex_t;
+ int const res = regcomp(pattern, I->Tag.c_str(), REG_EXTENDED | REG_ICASE | REG_NOSUB);
+ if (res != 0)
+ {
+ char error[300];
+ regerror(res, pattern, error, sizeof(error));
+ sendError(client, 500, *m, sendContent, error);
+ continue;
+ }
+ if (regexec(pattern, filename.c_str(), 0, 0, 0) == 0)
+ {
+ filename = _config->Find("aptwebserver::overwrite::" + I->Tag + "::filename", filename);
+ if (filename[0] == '/')
+ filename.erase(0,1);
+ regfree(pattern);
+ break;
+ }
+ regfree(pattern);
+ }
+ }
+
+ // deal with the request
+ if (RealFileExists(filename) == true)
+ {
FileFd data(filename, FileFd::ReadOnly);
std::string condition = LookupTag(*m, "If-Modified-Since", "");
- if (condition.empty() == false) {
+ if (condition.empty() == false)
+ {
time_t cache;
if (RFC1123StrToTime(condition.c_str(), cache) == true &&
- cache >= data.ModificationTime()) {
+ cache >= data.ModificationTime())
+ {
sendHead(client, 304, headers);
continue;
}