You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

debindexfile.cc 27 KiB

Merge apt--authentication--0 Patches applied: * apt@arch.ubuntu.com/apt--experimental--0.6--base-0 tag of apt@arch.ubuntu.com/apt--MAIN--0--patch-1190 * apt@arch.ubuntu.com/apt--experimental--0.6--patch-1 Creation of branch v0_6 * apt@arch.ubuntu.com/apt--experimental--0.6--patch-2 Creation of branch v0_6 * apt@arch.ubuntu.com/apt--experimental--0.6--patch-3 Creation of branch v0_6 * apt@arch.ubuntu.com/apt--experimental--0.6--patch-4 Creation of branch v0_6 * apt@arch.ubuntu.com/apt--experimental--0.6--patch-5 Creation of branch v0_6 * apt@arch.ubuntu.com/apt--experimental--0.6--patch-6 Creation of branch v0_6 * apt@arch.ubuntu.com/apt--experimental--0.6--patch-7 Merge working copy of v0.6 * apt@arch.ubuntu.com/apt--experimental--0.6--patch-8 0.6.0 is headed for experimental, not unstable * apt@arch.ubuntu.com/apt--experimental--0.6--patch-9 Date * apt@arch.ubuntu.com/apt--experimental--0.6--patch-10 Update LIB_APT_PKG_MAJOR * apt@arch.ubuntu.com/apt--experimental--0.6--patch-11 - Fix a heap corruption bug in pkgSrcRecords::pkgSrcRec... * apt@arch.ubuntu.com/apt--experimental--0.6--patch-12 Resynch * apt@arch.ubuntu.com/apt--experimental--0.6--patch-13 * Merge apt 0.5.17 * apt@arch.ubuntu.com/apt--experimental--0.6--patch-14 * Rearrange Release file authentication code to be more... * apt@arch.ubuntu.com/apt--experimental--0.6--patch-15 * Convert distribution "../project/experimental" to "ex... * apt@arch.ubuntu.com/apt--experimental--0.6--patch-16 Merge 1.11 * apt@arch.ubuntu.com/apt--experimental--0.6--patch-17 Merge 1.7 * apt@arch.ubuntu.com/apt--experimental--0.6--patch-18 Merge 1.10 * apt@arch.ubuntu.com/apt--experimental--0.6--patch-19 * Make a number of Release file errors into warnings; f... * apt@arch.ubuntu.com/apt--experimental--0.6--patch-20 * Add space between package names when multiple unauthe... * apt@arch.ubuntu.com/apt--experimental--0.6--patch-21 * Provide apt-key with a secret keyring and a trustdb, ... * apt@arch.ubuntu.com/apt--experimental--0.6--patch-22 * Fix typo in apt-key(8) (standard input is '-', not '/') * apt@arch.ubuntu.com/apt--experimental--0.6--patch-23 0.6.2 * apt@arch.ubuntu.com/apt--experimental--0.6--patch-24 Resynch * apt@arch.ubuntu.com/apt--experimental--0.6--patch-25 * Fix MetaIndexURI for flat ("foo/") sources * apt@arch.ubuntu.com/apt--experimental--0.6--patch-26 0.6.3 * apt@arch.ubuntu.com/apt--experimental--0.6--patch-27 * Use the top-level Release file in LoadReleaseInfo, ra... * apt@arch.ubuntu.com/apt--experimental--0.6--patch-28 0.6.4 * apt@arch.ubuntu.com/apt--experimental--0.6--patch-29 Clarify * apt@arch.ubuntu.com/apt--experimental--0.6--patch-30 * Move the authentication check into a separate functio... * apt@arch.ubuntu.com/apt--experimental--0.6--patch-31 * Fix display of unauthenticated packages when they are... * apt@arch.ubuntu.com/apt--experimental--0.6--patch-32 * Move the authentication check into a separate functio... * apt@arch.ubuntu.com/apt--experimental--0.6--patch-33 * Restore the ugly hack I removed from indexRecords::Lo... * apt@arch.ubuntu.com/apt--experimental--0.6--patch-34 0.6.6 * apt@arch.ubuntu.com/apt--experimental--0.6--patch-35 * Forgot to revert part of the changes to tagfile in 0.... * apt@arch.ubuntu.com/apt--experimental--0.6--patch-36 * Add a config option and corresponding command line option * apt@arch.ubuntu.com/apt--experimental--0.6--patch-37 0.6.8 * apt@arch.ubuntu.com/apt--experimental--0.6--patch-38 hopefully avoid more segfaults * apt@arch.ubuntu.com/apt--experimental--0.6--patch-39 XXX * apt@arch.ubuntu.com/apt--experimental--0.6--patch-40 * Another tagfile workaround * apt@arch.ubuntu.com/apt--experimental--0.6--patch-41 * Use "Codename" (woody, sarge, etc.) to supply the val... * apt@arch.ubuntu.com/apt--experimental--0.6--patch-42 * Support IMS requests of Release.gpg and Release * apt@arch.ubuntu.com/apt--experimental--0.6--patch-43 * Have pkgAcquireIndex calculate an MD5 sum if one is n... * apt@arch.ubuntu.com/apt--experimental--0.6--patch-44 * Merge 0.5.18 * apt@arch.ubuntu.com/apt--experimental--0.6--patch-45 apt (0.6.13) experimental; urgency=low * apt@arch.ubuntu.com/apt--experimental--0.6--patch-46 0.6.13 * apt@arch.ubuntu.com/apt--experimental--0.6--patch-47 Merge 0.5.20 * apt@arch.ubuntu.com/apt--experimental--0.6--patch-48 The source list works a bit differently in 0.6; fix the... * apt@arch.ubuntu.com/apt--experimental--0.6--patch-49 * s/Debug::Acquire::gpg/&v/ * apt@arch.ubuntu.com/apt--experimental--0.6--patch-50 * Honor the [vendor] syntax in sources.list again (thou... * apt@arch.ubuntu.com/apt--experimental--0.6--patch-51 * Don't ship vendors.list(5) since it isn't used yet * apt@arch.ubuntu.com/apt--experimental--0.6--patch-52 * Revert change from 0.6.10; it was right in the first ... * apt@arch.ubuntu.com/apt--experimental--0.6--patch-53 * Fix some cases where the .gpg file could be left in p... * apt@arch.ubuntu.com/apt--experimental--0.6--patch-54 Print a warning if gnupg is not installed * apt@arch.ubuntu.com/apt--experimental--0.6--patch-55 * Handle more IMS stuff correctly * apt@arch.ubuntu.com/apt--experimental--0.6--patch-56 0.6.17 * apt@arch.ubuntu.com/apt--experimental--0.6--patch-57 * Merge 0.5.21 * apt@arch.ubuntu.com/apt--experimental--0.6--patch-58 * Add new Debian Archive Automatic Signing Key to the d... * apt@arch.ubuntu.com/apt--experimental--0.6--patch-59 0.6.18 * apt@arch.ubuntu.com/apt--experimental--0.6--patch-60 * Merge 0.5.22 * apt@arch.ubuntu.com/apt--experimental--0.6--patch-61 * Convert apt-key(8) to docbook XML * apt@arch.ubuntu.com/apt--experimental--0.6--patch-62 Merge 0.5.23 * apt@arch.ubuntu.com/apt--experimental--0.6--patch-63 Remove bogus partial 0.5.22 changelog entry * apt@arch.ubuntu.com/apt--experimental--0.6--patch-64 Make the auth warning a bit less redundant * apt@arch.ubuntu.com/apt--experimental--0.6--patch-65 * Merge 0.5.24 * apt@arch.ubuntu.com/apt--experimental--0.6--patch-66 * Make the unauthenticated packages prompt more intuiti... * apt@arch.ubuntu.com/apt--experimental--0.6--patch-67 Merge 0.5.25 * apt@arch.ubuntu.com/apt--experimental--0.6--patch-68 * Remove obsolete pkgIterator::TargetVer() (Closes: #230159) * apt@arch.ubuntu.com/apt--experimental--0.6--patch-69 * Reverse test in CheckAuth to match new prompt (Closes... * apt@arch.ubuntu.com/apt--experimental--0.6--patch-70 Update version * apt@arch.ubuntu.com/apt--experimental--0.6--patch-71 Fix backwards sense of CheckAuth prompt * apt@arch.ubuntu.com/apt--experimental--0.6--patch-72 0.6.24 * apt@arch.ubuntu.com/apt--experimental--0.6--patch-73 Close bug * apt@arch.ubuntu.com/apt--experimental--0.6--patch-74 * Fix handling of two-part sources for sources.list deb... * apt@arch.ubuntu.com/apt--experimental--0.6--patch-75 0.6.25 * apt@packages.debian.org/apt--authentication--0--base-0 tag of apt@arch.ubuntu.com/apt--experimental--0.6--patch-75 * apt@packages.debian.org/apt--authentication--0--patch-1 Michael Vogt's merge of apt--experimental--0 onto apt--main--0 * apt@packages.debian.org/apt--authentication--0--patch-2 Merge from apt--main--0 * apt@packages.debian.org/apt--authentication--0--patch-3 Merge from main * apt@packages.debian.org/apt--authentication--0--patch-4 Merge from main * apt@packages.debian.org/apt--authentication--0--patch-5 Update version number in configure.in * apt@packages.debian.org/apt--authentication--0--patch-6 Merge from main * apt@packages.debian.org/apt--authentication--0--patch-7 Merge from main * apt@packages.debian.org/apt--authentication--0--patch-8 Merge from mvo's branch * apt@packages.debian.org/apt--authentication--0--patch-9 Merge from mvo's tree * apt@packages.debian.org/apt--authentication--0--patch-10 Merge from mvo * apt@packages.debian.org/apt--authentication--0--patch-11 Fix permissions AGAIN * michael.vogt@canonical.com--2004--laptop/apt--authentication-mvo--0--base-0 tag of michael.vogt@canonical.com--2004/apt--authentication-mvo--0--patch-12 * michael.vogt@canonical.com--2004--laptop/apt--authentication-mvo--0--patch-1 * star-merged matt's changes (bz2 support for data-members in debs) * michael.vogt@canonical.com--2004/apt--authentication-mvo--0--patch-1 tag of apt@packages.debian.org/apt--authentication--0--base-0 * michael.vogt@canonical.com--2004/apt--authentication-mvo--0--patch-2 merged "tla apply-delta -A foo@ apt@arch.ubuntu.com/apt--MAIN--0--patch-1190 apt@arch.ubuntu.com/apt--MAIN--0--patch-1343" and cleaned up conflicts * michael.vogt@canonical.com--2004/apt--authentication-mvo--0--patch-3 * missing bits from the merge added * michael.vogt@canonical.com--2004/apt--authentication-mvo--0--patch-4 * star-merged with apt@packages.debian.org/apt--main--0 * michael.vogt@canonical.com--2004/apt--authentication-mvo--0--patch-5 * tree-synced to the apt--authentication tree * michael.vogt@canonical.com--2004/apt--authentication-mvo--0--patch-6 * use the ubuntu-key in this version * michael.vogt@canonical.com--2004/apt--authentication-mvo--0--patch-7 * imported the patches from mdz * michael.vogt@canonical.com--2004/apt--authentication-mvo--0--patch-8 * apt-get update --print-uris works now as before (fallback to 0.5.x behaviour) * michael.vogt@canonical.com--2004/apt--authentication-mvo--0--patch-9 * fix for the "if any source unauthenticated, all other sources are unauthenticated too" problem * michael.vogt@canonical.com--2004/apt--authentication-mvo--0--patch-10 * reworked the "--print-uris" patch. it no longer uses: "APT::Get::Print-URIs" in the library * michael.vogt@canonical.com--2004/apt--authentication-mvo--0--patch-11 * version of the library set to 3.6 * michael.vogt@canonical.com--2004/apt--authentication-mvo--0--patch-12 * changelog finallized, will upload to people.ubuntulinux.org/~mvo/apt-authentication * michael.vogt@canonical.com--2004/apt--main-authentication--0--base-0 tag of apt@packages.debian.org/apt--main--0--patch-22 * michael.vogt@canonical.com--2004/apt--main-authentication--0--patch-1 * star-merge from apt--experimental--0.6 * michael.vogt@canonical.com--2004/apt--main-authentication--0--patch-2 * compile failure fix for methods/http.cc, po-file fixes
17 years ago
Merge apt--authentication--0 Patches applied: * apt@arch.ubuntu.com/apt--experimental--0.6--base-0 tag of apt@arch.ubuntu.com/apt--MAIN--0--patch-1190 * apt@arch.ubuntu.com/apt--experimental--0.6--patch-1 Creation of branch v0_6 * apt@arch.ubuntu.com/apt--experimental--0.6--patch-2 Creation of branch v0_6 * apt@arch.ubuntu.com/apt--experimental--0.6--patch-3 Creation of branch v0_6 * apt@arch.ubuntu.com/apt--experimental--0.6--patch-4 Creation of branch v0_6 * apt@arch.ubuntu.com/apt--experimental--0.6--patch-5 Creation of branch v0_6 * apt@arch.ubuntu.com/apt--experimental--0.6--patch-6 Creation of branch v0_6 * apt@arch.ubuntu.com/apt--experimental--0.6--patch-7 Merge working copy of v0.6 * apt@arch.ubuntu.com/apt--experimental--0.6--patch-8 0.6.0 is headed for experimental, not unstable * apt@arch.ubuntu.com/apt--experimental--0.6--patch-9 Date * apt@arch.ubuntu.com/apt--experimental--0.6--patch-10 Update LIB_APT_PKG_MAJOR * apt@arch.ubuntu.com/apt--experimental--0.6--patch-11 - Fix a heap corruption bug in pkgSrcRecords::pkgSrcRec... * apt@arch.ubuntu.com/apt--experimental--0.6--patch-12 Resynch * apt@arch.ubuntu.com/apt--experimental--0.6--patch-13 * Merge apt 0.5.17 * apt@arch.ubuntu.com/apt--experimental--0.6--patch-14 * Rearrange Release file authentication code to be more... * apt@arch.ubuntu.com/apt--experimental--0.6--patch-15 * Convert distribution "../project/experimental" to "ex... * apt@arch.ubuntu.com/apt--experimental--0.6--patch-16 Merge 1.11 * apt@arch.ubuntu.com/apt--experimental--0.6--patch-17 Merge 1.7 * apt@arch.ubuntu.com/apt--experimental--0.6--patch-18 Merge 1.10 * apt@arch.ubuntu.com/apt--experimental--0.6--patch-19 * Make a number of Release file errors into warnings; f... * apt@arch.ubuntu.com/apt--experimental--0.6--patch-20 * Add space between package names when multiple unauthe... * apt@arch.ubuntu.com/apt--experimental--0.6--patch-21 * Provide apt-key with a secret keyring and a trustdb, ... * apt@arch.ubuntu.com/apt--experimental--0.6--patch-22 * Fix typo in apt-key(8) (standard input is '-', not '/') * apt@arch.ubuntu.com/apt--experimental--0.6--patch-23 0.6.2 * apt@arch.ubuntu.com/apt--experimental--0.6--patch-24 Resynch * apt@arch.ubuntu.com/apt--experimental--0.6--patch-25 * Fix MetaIndexURI for flat ("foo/") sources * apt@arch.ubuntu.com/apt--experimental--0.6--patch-26 0.6.3 * apt@arch.ubuntu.com/apt--experimental--0.6--patch-27 * Use the top-level Release file in LoadReleaseInfo, ra... * apt@arch.ubuntu.com/apt--experimental--0.6--patch-28 0.6.4 * apt@arch.ubuntu.com/apt--experimental--0.6--patch-29 Clarify * apt@arch.ubuntu.com/apt--experimental--0.6--patch-30 * Move the authentication check into a separate functio... * apt@arch.ubuntu.com/apt--experimental--0.6--patch-31 * Fix display of unauthenticated packages when they are... * apt@arch.ubuntu.com/apt--experimental--0.6--patch-32 * Move the authentication check into a separate functio... * apt@arch.ubuntu.com/apt--experimental--0.6--patch-33 * Restore the ugly hack I removed from indexRecords::Lo... * apt@arch.ubuntu.com/apt--experimental--0.6--patch-34 0.6.6 * apt@arch.ubuntu.com/apt--experimental--0.6--patch-35 * Forgot to revert part of the changes to tagfile in 0.... * apt@arch.ubuntu.com/apt--experimental--0.6--patch-36 * Add a config option and corresponding command line option * apt@arch.ubuntu.com/apt--experimental--0.6--patch-37 0.6.8 * apt@arch.ubuntu.com/apt--experimental--0.6--patch-38 hopefully avoid more segfaults * apt@arch.ubuntu.com/apt--experimental--0.6--patch-39 XXX * apt@arch.ubuntu.com/apt--experimental--0.6--patch-40 * Another tagfile workaround * apt@arch.ubuntu.com/apt--experimental--0.6--patch-41 * Use "Codename" (woody, sarge, etc.) to supply the val... * apt@arch.ubuntu.com/apt--experimental--0.6--patch-42 * Support IMS requests of Release.gpg and Release * apt@arch.ubuntu.com/apt--experimental--0.6--patch-43 * Have pkgAcquireIndex calculate an MD5 sum if one is n... * apt@arch.ubuntu.com/apt--experimental--0.6--patch-44 * Merge 0.5.18 * apt@arch.ubuntu.com/apt--experimental--0.6--patch-45 apt (0.6.13) experimental; urgency=low * apt@arch.ubuntu.com/apt--experimental--0.6--patch-46 0.6.13 * apt@arch.ubuntu.com/apt--experimental--0.6--patch-47 Merge 0.5.20 * apt@arch.ubuntu.com/apt--experimental--0.6--patch-48 The source list works a bit differently in 0.6; fix the... * apt@arch.ubuntu.com/apt--experimental--0.6--patch-49 * s/Debug::Acquire::gpg/&v/ * apt@arch.ubuntu.com/apt--experimental--0.6--patch-50 * Honor the [vendor] syntax in sources.list again (thou... * apt@arch.ubuntu.com/apt--experimental--0.6--patch-51 * Don't ship vendors.list(5) since it isn't used yet * apt@arch.ubuntu.com/apt--experimental--0.6--patch-52 * Revert change from 0.6.10; it was right in the first ... * apt@arch.ubuntu.com/apt--experimental--0.6--patch-53 * Fix some cases where the .gpg file could be left in p... * apt@arch.ubuntu.com/apt--experimental--0.6--patch-54 Print a warning if gnupg is not installed * apt@arch.ubuntu.com/apt--experimental--0.6--patch-55 * Handle more IMS stuff correctly * apt@arch.ubuntu.com/apt--experimental--0.6--patch-56 0.6.17 * apt@arch.ubuntu.com/apt--experimental--0.6--patch-57 * Merge 0.5.21 * apt@arch.ubuntu.com/apt--experimental--0.6--patch-58 * Add new Debian Archive Automatic Signing Key to the d... * apt@arch.ubuntu.com/apt--experimental--0.6--patch-59 0.6.18 * apt@arch.ubuntu.com/apt--experimental--0.6--patch-60 * Merge 0.5.22 * apt@arch.ubuntu.com/apt--experimental--0.6--patch-61 * Convert apt-key(8) to docbook XML * apt@arch.ubuntu.com/apt--experimental--0.6--patch-62 Merge 0.5.23 * apt@arch.ubuntu.com/apt--experimental--0.6--patch-63 Remove bogus partial 0.5.22 changelog entry * apt@arch.ubuntu.com/apt--experimental--0.6--patch-64 Make the auth warning a bit less redundant * apt@arch.ubuntu.com/apt--experimental--0.6--patch-65 * Merge 0.5.24 * apt@arch.ubuntu.com/apt--experimental--0.6--patch-66 * Make the unauthenticated packages prompt more intuiti... * apt@arch.ubuntu.com/apt--experimental--0.6--patch-67 Merge 0.5.25 * apt@arch.ubuntu.com/apt--experimental--0.6--patch-68 * Remove obsolete pkgIterator::TargetVer() (Closes: #230159) * apt@arch.ubuntu.com/apt--experimental--0.6--patch-69 * Reverse test in CheckAuth to match new prompt (Closes... * apt@arch.ubuntu.com/apt--experimental--0.6--patch-70 Update version * apt@arch.ubuntu.com/apt--experimental--0.6--patch-71 Fix backwards sense of CheckAuth prompt * apt@arch.ubuntu.com/apt--experimental--0.6--patch-72 0.6.24 * apt@arch.ubuntu.com/apt--experimental--0.6--patch-73 Close bug * apt@arch.ubuntu.com/apt--experimental--0.6--patch-74 * Fix handling of two-part sources for sources.list deb... * apt@arch.ubuntu.com/apt--experimental--0.6--patch-75 0.6.25 * apt@packages.debian.org/apt--authentication--0--base-0 tag of apt@arch.ubuntu.com/apt--experimental--0.6--patch-75 * apt@packages.debian.org/apt--authentication--0--patch-1 Michael Vogt's merge of apt--experimental--0 onto apt--main--0 * apt@packages.debian.org/apt--authentication--0--patch-2 Merge from apt--main--0 * apt@packages.debian.org/apt--authentication--0--patch-3 Merge from main * apt@packages.debian.org/apt--authentication--0--patch-4 Merge from main * apt@packages.debian.org/apt--authentication--0--patch-5 Update version number in configure.in * apt@packages.debian.org/apt--authentication--0--patch-6 Merge from main * apt@packages.debian.org/apt--authentication--0--patch-7 Merge from main * apt@packages.debian.org/apt--authentication--0--patch-8 Merge from mvo's branch * apt@packages.debian.org/apt--authentication--0--patch-9 Merge from mvo's tree * apt@packages.debian.org/apt--authentication--0--patch-10 Merge from mvo * apt@packages.debian.org/apt--authentication--0--patch-11 Fix permissions AGAIN * michael.vogt@canonical.com--2004--laptop/apt--authentication-mvo--0--base-0 tag of michael.vogt@canonical.com--2004/apt--authentication-mvo--0--patch-12 * michael.vogt@canonical.com--2004--laptop/apt--authentication-mvo--0--patch-1 * star-merged matt's changes (bz2 support for data-members in debs) * michael.vogt@canonical.com--2004/apt--authentication-mvo--0--patch-1 tag of apt@packages.debian.org/apt--authentication--0--base-0 * michael.vogt@canonical.com--2004/apt--authentication-mvo--0--patch-2 merged "tla apply-delta -A foo@ apt@arch.ubuntu.com/apt--MAIN--0--patch-1190 apt@arch.ubuntu.com/apt--MAIN--0--patch-1343" and cleaned up conflicts * michael.vogt@canonical.com--2004/apt--authentication-mvo--0--patch-3 * missing bits from the merge added * michael.vogt@canonical.com--2004/apt--authentication-mvo--0--patch-4 * star-merged with apt@packages.debian.org/apt--main--0 * michael.vogt@canonical.com--2004/apt--authentication-mvo--0--patch-5 * tree-synced to the apt--authentication tree * michael.vogt@canonical.com--2004/apt--authentication-mvo--0--patch-6 * use the ubuntu-key in this version * michael.vogt@canonical.com--2004/apt--authentication-mvo--0--patch-7 * imported the patches from mdz * michael.vogt@canonical.com--2004/apt--authentication-mvo--0--patch-8 * apt-get update --print-uris works now as before (fallback to 0.5.x behaviour) * michael.vogt@canonical.com--2004/apt--authentication-mvo--0--patch-9 * fix for the "if any source unauthenticated, all other sources are unauthenticated too" problem * michael.vogt@canonical.com--2004/apt--authentication-mvo--0--patch-10 * reworked the "--print-uris" patch. it no longer uses: "APT::Get::Print-URIs" in the library * michael.vogt@canonical.com--2004/apt--authentication-mvo--0--patch-11 * version of the library set to 3.6 * michael.vogt@canonical.com--2004/apt--authentication-mvo--0--patch-12 * changelog finallized, will upload to people.ubuntulinux.org/~mvo/apt-authentication * michael.vogt@canonical.com--2004/apt--main-authentication--0--base-0 tag of apt@packages.debian.org/apt--main--0--patch-22 * michael.vogt@canonical.com--2004/apt--main-authentication--0--patch-1 * star-merge from apt--experimental--0.6 * michael.vogt@canonical.com--2004/apt--main-authentication--0--patch-2 * compile failure fix for methods/http.cc, po-file fixes
17 years ago
* updated with mainline Patches applied: * andrelop@debian.org/apt--translation--0--base-0 tag of apt@packages.debian.org/apt--main--0--patch-79 * andrelop@debian.org/apt--translation--0--patch-1 Sync with Matt version. * andrelop@debian.org/apt--translation--0--patch-2 Update pt_BR translation * andrelop@debian.org/apt--translation--0--patch-3 Sync with bubulle's branch. * apt@packages.debian.org/apt--main--0--patch-88 Change debian/bugscript to use #!/bin/bash (Closes: #313402) * apt@packages.debian.org/apt--main--0--patch-89 Branch for Debian * apt@packages.debian.org/apt--main--0--patch-90 Update version in configure * apt@packages.debian.org/apt--main--0--patch-91 Fix French man page build * apt@packages.debian.org/apt--main--0--patch-92 Add the current Debian archive signing key * apt@packages.debian.org/apt--main--0--patch-93 Merge with mvo * apt@packages.debian.org/apt--main--0--patch-94 Update changelog * apt@packages.debian.org/apt--main--0--patch-95 Merge Christian's branch * apt@packages.debian.org/apt--main--0--patch-96 Update changelog * apt@packages.debian.org/apt--main--0--patch-97 Update priority of apt-utils to important, to match the override file * apt@packages.debian.org/apt--main--0--patch-98 Install only one keyring on each branch (Closes: #316119) * apt@packages.debian.org/apt--main--0--patch-99 Finalize 0.6.39 * apt@packages.debian.org/apt--main--0--patch-100 Use debian.org address in mainline * apt@packages.debian.org/apt--main--0--patch-101 Update pot file * apt@packages.debian.org/apt--main--0--patch-102 Open 0.6.40 * apt@packages.debian.org/apt--main--0--patch-103 Patch from Jordi Mallach to mark some additional strings for translation * apt@packages.debian.org/apt--main--0--patch-104 Updated Catalan translation from Jordi Mallach * apt@packages.debian.org/apt--main--0--patch-105 Merge from bubulle@debian.org--2005/apt--main--0 * apt@packages.debian.org/apt--main--0--patch-106 Restore lost changelog entries * apt@packages.debian.org/apt--main--0--patch-107 Merge michael.vogt@ubuntu.com--2005/apt--progress-reporting--0 * apt@packages.debian.org/apt--main--0--patch-108 Merge michael.vogt@ubuntu.com--2005/apt--progress-reporting--0 * apt@packages.debian.org/apt--main--0--patch-109 Merge michael.vogt@ubuntu.com--2005/apt--progress-reporting--0 * apt@packages.debian.org/apt--main--0--patch-110 Merge michael.vogt@ubuntu.com--2005/apt--progress-reporting--0 * bubulle@debian.org--2005/apt--main--0--patch-82 Fix permissions * bubulle@debian.org--2005/apt--main--0--patch-83 French translation spellchecked * bubulle@debian.org--2005/apt--main--0--patch-84 Spell corrections in German translations * bubulle@debian.org--2005/apt--main--0--patch-85 Correct some file permissions * bubulle@debian.org--2005/apt--main--0--patch-86 Correct Hebrew translation * bubulle@debian.org--2005/apt--main--0--patch-87 Sync Portuguese translation with the POT file * bubulle@debian.org--2005/apt--main--0--patch-88 Updated Danish translation (not yet complete) * bubulle@debian.org--2005/apt--main--0--patch-89 Sync with Andre Luis Lopes and Otavio branches * bubulle@debian.org--2005/apt--main--0--patch-90 Merge with Matt * bubulle@debian.org--2005/apt--main--0--patch-91 Updated Slovak translation * bubulle@debian.org--2005/apt--main--0--patch-92 Add apt-key French man page * bubulle@debian.org--2005/apt--main--0--patch-93 Update Greek translations * bubulle@debian.org--2005/apt--main--0--patch-94 Merge with Matt * bubulle@debian.org--2005/apt--main--0--patch-95 Sync PO files with the POT file/French translation update * michael.vogt@ubuntu.com--2005/apt--fixes--0--patch-5 * merged with apt--main--0 * michael.vogt@ubuntu.com--2005/apt--fixes--0--patch-6 * build fix for apt--main--0 * michael.vogt@ubuntu.com--2005/apt--mvo--0--patch-22 * added myself to uploaders, changelog is signed with mvo@debian.org and in sync with the debian/experimental upload * michael.vogt@ubuntu.com--2005/apt--mvo--0--patch-23 * apt-cache show <virtual-pkg> shows all virtual packages instead of nothing (thanks to otavio) * michael.vogt@ubuntu.com--2005/apt--mvo--0--patch-24 * changelog updated * michael.vogt@ubuntu.com--2005/apt--mvo--0--patch-25 * make pinning on component work again (we just use the section, as apt-0.6 don't use per-section Release files anymore) * michael.vogt@ubuntu.com--2005/apt--mvo--0--patch-27 * updated the changelog * michael.vogt@ubuntu.com--2005/apt--mvo--0--patch-28 * merged with my apt--fixes--0 branch * michael.vogt@ubuntu.com--2005/apt--mvo--0--patch-29 * added a missing OpProgress::Done() in depCache::Init(), removed the show-virtual-packages patch in apt-cache because matt does not like him :/ * michael.vogt@ubuntu.com--2005/apt--mvo--0--patch-30 * fix a stupid bug in the depcache::Init() code * michael.vogt@ubuntu.com--2005/apt--mvo--0--patch-31 * merged/removed conflicts with apt--main--0 * michael.vogt@ubuntu.com--2005/apt--mvo--0--patch-32 * merged apt--main and make sure that the po files come from apt--main (because they are more recent) * michael.vogt@ubuntu.com--2005/apt--progress-reporting--0--base-0 tag of apt@packages.debian.org/apt--main--0--patch-85 * michael.vogt@ubuntu.com--2005/apt--progress-reporting--0--patch-1 * inital proof of concept code, understands what dpkg tells it already * michael.vogt@ubuntu.com--2005/apt--progress-reporting--0--patch-2 * progress reporting works now * michael.vogt@ubuntu.com--2005/apt--progress-reporting--0--patch-3 * added "APT::Status-Fd" variable * michael.vogt@ubuntu.com--2005/apt--progress-reporting--0--patch-4 * do i18n now too * michael.vogt@ubuntu.com--2005/apt--progress-reporting--0--patch-5 * define N_(x) if it is not defined already * michael.vogt@ubuntu.com--2005/apt--progress-reporting--0--patch-6 * PackageManager::DoInstall(int status_fd) added (does not break the ABI) * michael.vogt@ubuntu.com--2005/apt--progress-reporting--0--patch-7 * merged with apt--fixes--0 to make it build again * michael.vogt@ubuntu.com--2005/apt--progress-reporting--0--patch-8 * added support for "error" and "conffile-prompt" messages from dpkg * michael.vogt@ubuntu.com--2005/apt--progress-reporting--0--patch-9 merge with main * michael.vogt@ubuntu.com--2005/apt--progress-reporting--0--patch-10 * use sizeof() for all snprintf() uses; fix a potential line break problem in the status reading code; changed the N_() to _() calls * michael.vogt@ubuntu.com--2005/apt--progress-reporting--0--patch-11 * added APT::KeepFDs configuration list for file descriptors that apt should leave open (needed for various frontends like debconf, synaptic) * michael.vogt@ubuntu.com--2005/apt--progress-reporting--0--patch-12 * fixed a API breakage * michael.vogt@ubuntu.com--2005/apt--progress-reporting--0--patch-13 * doc added, should be releasable now * michael.vogt@ubuntu.com--2005/apt--progress-reporting--0--patch-14 * merged with apt--main--0 * michael.vogt@ubuntu.com--2005/apt--progress-reporting--0--patch-15 * more source comments, added Debug::DpkgPM debug code to inspect the dpkg<->apt communication, broke the abi (ok with matt) * michael.vogt@ubuntu.com--2005/apt--progress-reporting--0--patch-16 * the progress reporting has it's own "Debug::pkgDPkgProgressReporting" debug variable now * michael.vogt@ubuntu.com--2005/apt--progress-reporting--0--patch-17 * merged PackageOps and TranslatedPackageOps into a single Map with the new DpkgState struct * michael.vogt@ubuntu.com--2005/apt--progress-reporting--0--patch-18 * clear the APT::Keep-Fds configuration when it's no longer needed * michael.vogt@ubuntu.com--2005/apt--progress-reporting--0--patch-19 * rewrote the reading from dpkg so that it never blocks * michael.vogt@ubuntu.com--2005/apt--progress-reporting--0--patch-20 * merged the two status arrays into one * michael.vogt@ubuntu.com--2005/apt--progress-reporting--0--patch-21 * added support for download progress reporting too (for Kamion and base-config) * michael.vogt@ubuntu.com--2005/apt--progress-reporting--0--patch-22 * ABI break; added Configuration::Clear(string List, {int,string} value) added (to remove a single Value from a list); test/conf_clear.cc added * michael.vogt@ubuntu.com--2005/apt--progress-reporting--0--patch-23 * remvoed a debug string * michael.vogt@ubuntu.com--2005/apt--progress-reporting--0--patch-24 * soname changed, fixed a bug in the parsing code when dpkg send the same state more than once (at the end) * michael.vogt@ubuntu.com--2005/apt--progress-reporting--0--patch-25 * merged with apt@packages.debian.org/apt--main--0, added changelog entry for the 0.6.40.1 upload * michael.vogt@ubuntu.com--2005/apt--progress-reporting--0--patch-26 * fix a bug when out-of-order states are send from dpkg * michael.vogt@ubuntu.com--2005/apt--progress-reporting--0--patch-27 * changelog update * michael.vogt@ubuntu.com--2005/apt--progress-reporting--0--patch-28 * a real changelog entry now * michael.vogt@ubuntu.com--2005/apt--progress-reporting--0--patch-29 * changelog finalized * michael.vogt@ubuntu.com--2005/apt--progress-reporting--0--patch-30 * propper (and sane) support for pmerror and pmconffile added
16 years ago
Merge apt--authentication--0 Patches applied: * apt@arch.ubuntu.com/apt--experimental--0.6--base-0 tag of apt@arch.ubuntu.com/apt--MAIN--0--patch-1190 * apt@arch.ubuntu.com/apt--experimental--0.6--patch-1 Creation of branch v0_6 * apt@arch.ubuntu.com/apt--experimental--0.6--patch-2 Creation of branch v0_6 * apt@arch.ubuntu.com/apt--experimental--0.6--patch-3 Creation of branch v0_6 * apt@arch.ubuntu.com/apt--experimental--0.6--patch-4 Creation of branch v0_6 * apt@arch.ubuntu.com/apt--experimental--0.6--patch-5 Creation of branch v0_6 * apt@arch.ubuntu.com/apt--experimental--0.6--patch-6 Creation of branch v0_6 * apt@arch.ubuntu.com/apt--experimental--0.6--patch-7 Merge working copy of v0.6 * apt@arch.ubuntu.com/apt--experimental--0.6--patch-8 0.6.0 is headed for experimental, not unstable * apt@arch.ubuntu.com/apt--experimental--0.6--patch-9 Date * apt@arch.ubuntu.com/apt--experimental--0.6--patch-10 Update LIB_APT_PKG_MAJOR * apt@arch.ubuntu.com/apt--experimental--0.6--patch-11 - Fix a heap corruption bug in pkgSrcRecords::pkgSrcRec... * apt@arch.ubuntu.com/apt--experimental--0.6--patch-12 Resynch * apt@arch.ubuntu.com/apt--experimental--0.6--patch-13 * Merge apt 0.5.17 * apt@arch.ubuntu.com/apt--experimental--0.6--patch-14 * Rearrange Release file authentication code to be more... * apt@arch.ubuntu.com/apt--experimental--0.6--patch-15 * Convert distribution "../project/experimental" to "ex... * apt@arch.ubuntu.com/apt--experimental--0.6--patch-16 Merge 1.11 * apt@arch.ubuntu.com/apt--experimental--0.6--patch-17 Merge 1.7 * apt@arch.ubuntu.com/apt--experimental--0.6--patch-18 Merge 1.10 * apt@arch.ubuntu.com/apt--experimental--0.6--patch-19 * Make a number of Release file errors into warnings; f... * apt@arch.ubuntu.com/apt--experimental--0.6--patch-20 * Add space between package names when multiple unauthe... * apt@arch.ubuntu.com/apt--experimental--0.6--patch-21 * Provide apt-key with a secret keyring and a trustdb, ... * apt@arch.ubuntu.com/apt--experimental--0.6--patch-22 * Fix typo in apt-key(8) (standard input is '-', not '/') * apt@arch.ubuntu.com/apt--experimental--0.6--patch-23 0.6.2 * apt@arch.ubuntu.com/apt--experimental--0.6--patch-24 Resynch * apt@arch.ubuntu.com/apt--experimental--0.6--patch-25 * Fix MetaIndexURI for flat ("foo/") sources * apt@arch.ubuntu.com/apt--experimental--0.6--patch-26 0.6.3 * apt@arch.ubuntu.com/apt--experimental--0.6--patch-27 * Use the top-level Release file in LoadReleaseInfo, ra... * apt@arch.ubuntu.com/apt--experimental--0.6--patch-28 0.6.4 * apt@arch.ubuntu.com/apt--experimental--0.6--patch-29 Clarify * apt@arch.ubuntu.com/apt--experimental--0.6--patch-30 * Move the authentication check into a separate functio... * apt@arch.ubuntu.com/apt--experimental--0.6--patch-31 * Fix display of unauthenticated packages when they are... * apt@arch.ubuntu.com/apt--experimental--0.6--patch-32 * Move the authentication check into a separate functio... * apt@arch.ubuntu.com/apt--experimental--0.6--patch-33 * Restore the ugly hack I removed from indexRecords::Lo... * apt@arch.ubuntu.com/apt--experimental--0.6--patch-34 0.6.6 * apt@arch.ubuntu.com/apt--experimental--0.6--patch-35 * Forgot to revert part of the changes to tagfile in 0.... * apt@arch.ubuntu.com/apt--experimental--0.6--patch-36 * Add a config option and corresponding command line option * apt@arch.ubuntu.com/apt--experimental--0.6--patch-37 0.6.8 * apt@arch.ubuntu.com/apt--experimental--0.6--patch-38 hopefully avoid more segfaults * apt@arch.ubuntu.com/apt--experimental--0.6--patch-39 XXX * apt@arch.ubuntu.com/apt--experimental--0.6--patch-40 * Another tagfile workaround * apt@arch.ubuntu.com/apt--experimental--0.6--patch-41 * Use "Codename" (woody, sarge, etc.) to supply the val... * apt@arch.ubuntu.com/apt--experimental--0.6--patch-42 * Support IMS requests of Release.gpg and Release * apt@arch.ubuntu.com/apt--experimental--0.6--patch-43 * Have pkgAcquireIndex calculate an MD5 sum if one is n... * apt@arch.ubuntu.com/apt--experimental--0.6--patch-44 * Merge 0.5.18 * apt@arch.ubuntu.com/apt--experimental--0.6--patch-45 apt (0.6.13) experimental; urgency=low * apt@arch.ubuntu.com/apt--experimental--0.6--patch-46 0.6.13 * apt@arch.ubuntu.com/apt--experimental--0.6--patch-47 Merge 0.5.20 * apt@arch.ubuntu.com/apt--experimental--0.6--patch-48 The source list works a bit differently in 0.6; fix the... * apt@arch.ubuntu.com/apt--experimental--0.6--patch-49 * s/Debug::Acquire::gpg/&v/ * apt@arch.ubuntu.com/apt--experimental--0.6--patch-50 * Honor the [vendor] syntax in sources.list again (thou... * apt@arch.ubuntu.com/apt--experimental--0.6--patch-51 * Don't ship vendors.list(5) since it isn't used yet * apt@arch.ubuntu.com/apt--experimental--0.6--patch-52 * Revert change from 0.6.10; it was right in the first ... * apt@arch.ubuntu.com/apt--experimental--0.6--patch-53 * Fix some cases where the .gpg file could be left in p... * apt@arch.ubuntu.com/apt--experimental--0.6--patch-54 Print a warning if gnupg is not installed * apt@arch.ubuntu.com/apt--experimental--0.6--patch-55 * Handle more IMS stuff correctly * apt@arch.ubuntu.com/apt--experimental--0.6--patch-56 0.6.17 * apt@arch.ubuntu.com/apt--experimental--0.6--patch-57 * Merge 0.5.21 * apt@arch.ubuntu.com/apt--experimental--0.6--patch-58 * Add new Debian Archive Automatic Signing Key to the d... * apt@arch.ubuntu.com/apt--experimental--0.6--patch-59 0.6.18 * apt@arch.ubuntu.com/apt--experimental--0.6--patch-60 * Merge 0.5.22 * apt@arch.ubuntu.com/apt--experimental--0.6--patch-61 * Convert apt-key(8) to docbook XML * apt@arch.ubuntu.com/apt--experimental--0.6--patch-62 Merge 0.5.23 * apt@arch.ubuntu.com/apt--experimental--0.6--patch-63 Remove bogus partial 0.5.22 changelog entry * apt@arch.ubuntu.com/apt--experimental--0.6--patch-64 Make the auth warning a bit less redundant * apt@arch.ubuntu.com/apt--experimental--0.6--patch-65 * Merge 0.5.24 * apt@arch.ubuntu.com/apt--experimental--0.6--patch-66 * Make the unauthenticated packages prompt more intuiti... * apt@arch.ubuntu.com/apt--experimental--0.6--patch-67 Merge 0.5.25 * apt@arch.ubuntu.com/apt--experimental--0.6--patch-68 * Remove obsolete pkgIterator::TargetVer() (Closes: #230159) * apt@arch.ubuntu.com/apt--experimental--0.6--patch-69 * Reverse test in CheckAuth to match new prompt (Closes... * apt@arch.ubuntu.com/apt--experimental--0.6--patch-70 Update version * apt@arch.ubuntu.com/apt--experimental--0.6--patch-71 Fix backwards sense of CheckAuth prompt * apt@arch.ubuntu.com/apt--experimental--0.6--patch-72 0.6.24 * apt@arch.ubuntu.com/apt--experimental--0.6--patch-73 Close bug * apt@arch.ubuntu.com/apt--experimental--0.6--patch-74 * Fix handling of two-part sources for sources.list deb... * apt@arch.ubuntu.com/apt--experimental--0.6--patch-75 0.6.25 * apt@packages.debian.org/apt--authentication--0--base-0 tag of apt@arch.ubuntu.com/apt--experimental--0.6--patch-75 * apt@packages.debian.org/apt--authentication--0--patch-1 Michael Vogt's merge of apt--experimental--0 onto apt--main--0 * apt@packages.debian.org/apt--authentication--0--patch-2 Merge from apt--main--0 * apt@packages.debian.org/apt--authentication--0--patch-3 Merge from main * apt@packages.debian.org/apt--authentication--0--patch-4 Merge from main * apt@packages.debian.org/apt--authentication--0--patch-5 Update version number in configure.in * apt@packages.debian.org/apt--authentication--0--patch-6 Merge from main * apt@packages.debian.org/apt--authentication--0--patch-7 Merge from main * apt@packages.debian.org/apt--authentication--0--patch-8 Merge from mvo's branch * apt@packages.debian.org/apt--authentication--0--patch-9 Merge from mvo's tree * apt@packages.debian.org/apt--authentication--0--patch-10 Merge from mvo * apt@packages.debian.org/apt--authentication--0--patch-11 Fix permissions AGAIN * michael.vogt@canonical.com--2004--laptop/apt--authentication-mvo--0--base-0 tag of michael.vogt@canonical.com--2004/apt--authentication-mvo--0--patch-12 * michael.vogt@canonical.com--2004--laptop/apt--authentication-mvo--0--patch-1 * star-merged matt's changes (bz2 support for data-members in debs) * michael.vogt@canonical.com--2004/apt--authentication-mvo--0--patch-1 tag of apt@packages.debian.org/apt--authentication--0--base-0 * michael.vogt@canonical.com--2004/apt--authentication-mvo--0--patch-2 merged "tla apply-delta -A foo@ apt@arch.ubuntu.com/apt--MAIN--0--patch-1190 apt@arch.ubuntu.com/apt--MAIN--0--patch-1343" and cleaned up conflicts * michael.vogt@canonical.com--2004/apt--authentication-mvo--0--patch-3 * missing bits from the merge added * michael.vogt@canonical.com--2004/apt--authentication-mvo--0--patch-4 * star-merged with apt@packages.debian.org/apt--main--0 * michael.vogt@canonical.com--2004/apt--authentication-mvo--0--patch-5 * tree-synced to the apt--authentication tree * michael.vogt@canonical.com--2004/apt--authentication-mvo--0--patch-6 * use the ubuntu-key in this version * michael.vogt@canonical.com--2004/apt--authentication-mvo--0--patch-7 * imported the patches from mdz * michael.vogt@canonical.com--2004/apt--authentication-mvo--0--patch-8 * apt-get update --print-uris works now as before (fallback to 0.5.x behaviour) * michael.vogt@canonical.com--2004/apt--authentication-mvo--0--patch-9 * fix for the "if any source unauthenticated, all other sources are unauthenticated too" problem * michael.vogt@canonical.com--2004/apt--authentication-mvo--0--patch-10 * reworked the "--print-uris" patch. it no longer uses: "APT::Get::Print-URIs" in the library * michael.vogt@canonical.com--2004/apt--authentication-mvo--0--patch-11 * version of the library set to 3.6 * michael.vogt@canonical.com--2004/apt--authentication-mvo--0--patch-12 * changelog finallized, will upload to people.ubuntulinux.org/~mvo/apt-authentication * michael.vogt@canonical.com--2004/apt--main-authentication--0--base-0 tag of apt@packages.debian.org/apt--main--0--patch-22 * michael.vogt@canonical.com--2004/apt--main-authentication--0--patch-1 * star-merge from apt--experimental--0.6 * michael.vogt@canonical.com--2004/apt--main-authentication--0--patch-2 * compile failure fix for methods/http.cc, po-file fixes
17 years ago
[ Martin Pitt ] * debian/rules: - Make DEB_BUILD_OPTIONS=noopt actually work by passing the right CXXFLAGS. * apt-pkg/contrib/fileutl.{h,cc}: - Add support for reading of gzipped files with the new "ReadOnlyGzip" OpenMode. (Closes: #188407) - Link against zlib (in apt-pkg/makefile) and add zlib build dependency. - [ABI BREAK] This adds a new private member to FileFd, but its initialization is in the public header file. * configure.in: - Check for zlib library and headers. * apt-pkg/acquire-item.cc, apt-pkg/deb/debindexfile.cc, apt-pkg/deb/debrecords.cc, apt-pkg/deb/debsrcrecords.h, cmdline/apt-cache.cc: - Open Packages, Sources, and Translations indexes in "ReadOnlyGzip" mode. * apt-pkg/deb/debindexfile.cc: - If we do not find uncompressed package/source/translation indexes, look for gzip compressed ones. * apt-pkg/acquire-item.cc: - If the Acquire::GzipIndexes option is true and we download a gzipped index file, keep it as it is (and rename to .gz) instead of uncompressing it. * doc/apt.conf.5.xml: - Document the new Acquire::GzipIndexes option. * doc/po/apt-doc.pot, doc/po/de.po: - German translation of new Acquire::GzipIndexes option. * Add test/test-indexes.sh: - Test behaviour of index retrieval and usage, in particular with uncompressed and gzip compressed indexes. * methods/gzip.cc: With FileFd now being able to read gzipped files, there is no need for the gzip method any more to spawn an external gzip process. Rewrite it to use FileFd directly, which makes the code a lot simpler, and also using less memory and overhead.
11 years ago
* updated with mainline Patches applied: * andrelop@debian.org/apt--translation--0--base-0 tag of apt@packages.debian.org/apt--main--0--patch-79 * andrelop@debian.org/apt--translation--0--patch-1 Sync with Matt version. * andrelop@debian.org/apt--translation--0--patch-2 Update pt_BR translation * andrelop@debian.org/apt--translation--0--patch-3 Sync with bubulle's branch. * apt@packages.debian.org/apt--main--0--patch-88 Change debian/bugscript to use #!/bin/bash (Closes: #313402) * apt@packages.debian.org/apt--main--0--patch-89 Branch for Debian * apt@packages.debian.org/apt--main--0--patch-90 Update version in configure * apt@packages.debian.org/apt--main--0--patch-91 Fix French man page build * apt@packages.debian.org/apt--main--0--patch-92 Add the current Debian archive signing key * apt@packages.debian.org/apt--main--0--patch-93 Merge with mvo * apt@packages.debian.org/apt--main--0--patch-94 Update changelog * apt@packages.debian.org/apt--main--0--patch-95 Merge Christian's branch * apt@packages.debian.org/apt--main--0--patch-96 Update changelog * apt@packages.debian.org/apt--main--0--patch-97 Update priority of apt-utils to important, to match the override file * apt@packages.debian.org/apt--main--0--patch-98 Install only one keyring on each branch (Closes: #316119) * apt@packages.debian.org/apt--main--0--patch-99 Finalize 0.6.39 * apt@packages.debian.org/apt--main--0--patch-100 Use debian.org address in mainline * apt@packages.debian.org/apt--main--0--patch-101 Update pot file * apt@packages.debian.org/apt--main--0--patch-102 Open 0.6.40 * apt@packages.debian.org/apt--main--0--patch-103 Patch from Jordi Mallach to mark some additional strings for translation * apt@packages.debian.org/apt--main--0--patch-104 Updated Catalan translation from Jordi Mallach * apt@packages.debian.org/apt--main--0--patch-105 Merge from bubulle@debian.org--2005/apt--main--0 * apt@packages.debian.org/apt--main--0--patch-106 Restore lost changelog entries * apt@packages.debian.org/apt--main--0--patch-107 Merge michael.vogt@ubuntu.com--2005/apt--progress-reporting--0 * apt@packages.debian.org/apt--main--0--patch-108 Merge michael.vogt@ubuntu.com--2005/apt--progress-reporting--0 * apt@packages.debian.org/apt--main--0--patch-109 Merge michael.vogt@ubuntu.com--2005/apt--progress-reporting--0 * apt@packages.debian.org/apt--main--0--patch-110 Merge michael.vogt@ubuntu.com--2005/apt--progress-reporting--0 * bubulle@debian.org--2005/apt--main--0--patch-82 Fix permissions * bubulle@debian.org--2005/apt--main--0--patch-83 French translation spellchecked * bubulle@debian.org--2005/apt--main--0--patch-84 Spell corrections in German translations * bubulle@debian.org--2005/apt--main--0--patch-85 Correct some file permissions * bubulle@debian.org--2005/apt--main--0--patch-86 Correct Hebrew translation * bubulle@debian.org--2005/apt--main--0--patch-87 Sync Portuguese translation with the POT file * bubulle@debian.org--2005/apt--main--0--patch-88 Updated Danish translation (not yet complete) * bubulle@debian.org--2005/apt--main--0--patch-89 Sync with Andre Luis Lopes and Otavio branches * bubulle@debian.org--2005/apt--main--0--patch-90 Merge with Matt * bubulle@debian.org--2005/apt--main--0--patch-91 Updated Slovak translation * bubulle@debian.org--2005/apt--main--0--patch-92 Add apt-key French man page * bubulle@debian.org--2005/apt--main--0--patch-93 Update Greek translations * bubulle@debian.org--2005/apt--main--0--patch-94 Merge with Matt * bubulle@debian.org--2005/apt--main--0--patch-95 Sync PO files with the POT file/French translation update * michael.vogt@ubuntu.com--2005/apt--fixes--0--patch-5 * merged with apt--main--0 * michael.vogt@ubuntu.com--2005/apt--fixes--0--patch-6 * build fix for apt--main--0 * michael.vogt@ubuntu.com--2005/apt--mvo--0--patch-22 * added myself to uploaders, changelog is signed with mvo@debian.org and in sync with the debian/experimental upload * michael.vogt@ubuntu.com--2005/apt--mvo--0--patch-23 * apt-cache show <virtual-pkg> shows all virtual packages instead of nothing (thanks to otavio) * michael.vogt@ubuntu.com--2005/apt--mvo--0--patch-24 * changelog updated * michael.vogt@ubuntu.com--2005/apt--mvo--0--patch-25 * make pinning on component work again (we just use the section, as apt-0.6 don't use per-section Release files anymore) * michael.vogt@ubuntu.com--2005/apt--mvo--0--patch-27 * updated the changelog * michael.vogt@ubuntu.com--2005/apt--mvo--0--patch-28 * merged with my apt--fixes--0 branch * michael.vogt@ubuntu.com--2005/apt--mvo--0--patch-29 * added a missing OpProgress::Done() in depCache::Init(), removed the show-virtual-packages patch in apt-cache because matt does not like him :/ * michael.vogt@ubuntu.com--2005/apt--mvo--0--patch-30 * fix a stupid bug in the depcache::Init() code * michael.vogt@ubuntu.com--2005/apt--mvo--0--patch-31 * merged/removed conflicts with apt--main--0 * michael.vogt@ubuntu.com--2005/apt--mvo--0--patch-32 * merged apt--main and make sure that the po files come from apt--main (because they are more recent) * michael.vogt@ubuntu.com--2005/apt--progress-reporting--0--base-0 tag of apt@packages.debian.org/apt--main--0--patch-85 * michael.vogt@ubuntu.com--2005/apt--progress-reporting--0--patch-1 * inital proof of concept code, understands what dpkg tells it already * michael.vogt@ubuntu.com--2005/apt--progress-reporting--0--patch-2 * progress reporting works now * michael.vogt@ubuntu.com--2005/apt--progress-reporting--0--patch-3 * added "APT::Status-Fd" variable * michael.vogt@ubuntu.com--2005/apt--progress-reporting--0--patch-4 * do i18n now too * michael.vogt@ubuntu.com--2005/apt--progress-reporting--0--patch-5 * define N_(x) if it is not defined already * michael.vogt@ubuntu.com--2005/apt--progress-reporting--0--patch-6 * PackageManager::DoInstall(int status_fd) added (does not break the ABI) * michael.vogt@ubuntu.com--2005/apt--progress-reporting--0--patch-7 * merged with apt--fixes--0 to make it build again * michael.vogt@ubuntu.com--2005/apt--progress-reporting--0--patch-8 * added support for "error" and "conffile-prompt" messages from dpkg * michael.vogt@ubuntu.com--2005/apt--progress-reporting--0--patch-9 merge with main * michael.vogt@ubuntu.com--2005/apt--progress-reporting--0--patch-10 * use sizeof() for all snprintf() uses; fix a potential line break problem in the status reading code; changed the N_() to _() calls * michael.vogt@ubuntu.com--2005/apt--progress-reporting--0--patch-11 * added APT::KeepFDs configuration list for file descriptors that apt should leave open (needed for various frontends like debconf, synaptic) * michael.vogt@ubuntu.com--2005/apt--progress-reporting--0--patch-12 * fixed a API breakage * michael.vogt@ubuntu.com--2005/apt--progress-reporting--0--patch-13 * doc added, should be releasable now * michael.vogt@ubuntu.com--2005/apt--progress-reporting--0--patch-14 * merged with apt--main--0 * michael.vogt@ubuntu.com--2005/apt--progress-reporting--0--patch-15 * more source comments, added Debug::DpkgPM debug code to inspect the dpkg<->apt communication, broke the abi (ok with matt) * michael.vogt@ubuntu.com--2005/apt--progress-reporting--0--patch-16 * the progress reporting has it's own "Debug::pkgDPkgProgressReporting" debug variable now * michael.vogt@ubuntu.com--2005/apt--progress-reporting--0--patch-17 * merged PackageOps and TranslatedPackageOps into a single Map with the new DpkgState struct * michael.vogt@ubuntu.com--2005/apt--progress-reporting--0--patch-18 * clear the APT::Keep-Fds configuration when it's no longer needed * michael.vogt@ubuntu.com--2005/apt--progress-reporting--0--patch-19 * rewrote the reading from dpkg so that it never blocks * michael.vogt@ubuntu.com--2005/apt--progress-reporting--0--patch-20 * merged the two status arrays into one * michael.vogt@ubuntu.com--2005/apt--progress-reporting--0--patch-21 * added support for download progress reporting too (for Kamion and base-config) * michael.vogt@ubuntu.com--2005/apt--progress-reporting--0--patch-22 * ABI break; added Configuration::Clear(string List, {int,string} value) added (to remove a single Value from a list); test/conf_clear.cc added * michael.vogt@ubuntu.com--2005/apt--progress-reporting--0--patch-23 * remvoed a debug string * michael.vogt@ubuntu.com--2005/apt--progress-reporting--0--patch-24 * soname changed, fixed a bug in the parsing code when dpkg send the same state more than once (at the end) * michael.vogt@ubuntu.com--2005/apt--progress-reporting--0--patch-25 * merged with apt@packages.debian.org/apt--main--0, added changelog entry for the 0.6.40.1 upload * michael.vogt@ubuntu.com--2005/apt--progress-reporting--0--patch-26 * fix a bug when out-of-order states are send from dpkg * michael.vogt@ubuntu.com--2005/apt--progress-reporting--0--patch-27 * changelog update * michael.vogt@ubuntu.com--2005/apt--progress-reporting--0--patch-28 * a real changelog entry now * michael.vogt@ubuntu.com--2005/apt--progress-reporting--0--patch-29 * changelog finalized * michael.vogt@ubuntu.com--2005/apt--progress-reporting--0--patch-30 * propper (and sane) support for pmerror and pmconffile added
16 years ago
Merge apt--authentication--0 Patches applied: * apt@arch.ubuntu.com/apt--experimental--0.6--base-0 tag of apt@arch.ubuntu.com/apt--MAIN--0--patch-1190 * apt@arch.ubuntu.com/apt--experimental--0.6--patch-1 Creation of branch v0_6 * apt@arch.ubuntu.com/apt--experimental--0.6--patch-2 Creation of branch v0_6 * apt@arch.ubuntu.com/apt--experimental--0.6--patch-3 Creation of branch v0_6 * apt@arch.ubuntu.com/apt--experimental--0.6--patch-4 Creation of branch v0_6 * apt@arch.ubuntu.com/apt--experimental--0.6--patch-5 Creation of branch v0_6 * apt@arch.ubuntu.com/apt--experimental--0.6--patch-6 Creation of branch v0_6 * apt@arch.ubuntu.com/apt--experimental--0.6--patch-7 Merge working copy of v0.6 * apt@arch.ubuntu.com/apt--experimental--0.6--patch-8 0.6.0 is headed for experimental, not unstable * apt@arch.ubuntu.com/apt--experimental--0.6--patch-9 Date * apt@arch.ubuntu.com/apt--experimental--0.6--patch-10 Update LIB_APT_PKG_MAJOR * apt@arch.ubuntu.com/apt--experimental--0.6--patch-11 - Fix a heap corruption bug in pkgSrcRecords::pkgSrcRec... * apt@arch.ubuntu.com/apt--experimental--0.6--patch-12 Resynch * apt@arch.ubuntu.com/apt--experimental--0.6--patch-13 * Merge apt 0.5.17 * apt@arch.ubuntu.com/apt--experimental--0.6--patch-14 * Rearrange Release file authentication code to be more... * apt@arch.ubuntu.com/apt--experimental--0.6--patch-15 * Convert distribution "../project/experimental" to "ex... * apt@arch.ubuntu.com/apt--experimental--0.6--patch-16 Merge 1.11 * apt@arch.ubuntu.com/apt--experimental--0.6--patch-17 Merge 1.7 * apt@arch.ubuntu.com/apt--experimental--0.6--patch-18 Merge 1.10 * apt@arch.ubuntu.com/apt--experimental--0.6--patch-19 * Make a number of Release file errors into warnings; f... * apt@arch.ubuntu.com/apt--experimental--0.6--patch-20 * Add space between package names when multiple unauthe... * apt@arch.ubuntu.com/apt--experimental--0.6--patch-21 * Provide apt-key with a secret keyring and a trustdb, ... * apt@arch.ubuntu.com/apt--experimental--0.6--patch-22 * Fix typo in apt-key(8) (standard input is '-', not '/') * apt@arch.ubuntu.com/apt--experimental--0.6--patch-23 0.6.2 * apt@arch.ubuntu.com/apt--experimental--0.6--patch-24 Resynch * apt@arch.ubuntu.com/apt--experimental--0.6--patch-25 * Fix MetaIndexURI for flat ("foo/") sources * apt@arch.ubuntu.com/apt--experimental--0.6--patch-26 0.6.3 * apt@arch.ubuntu.com/apt--experimental--0.6--patch-27 * Use the top-level Release file in LoadReleaseInfo, ra... * apt@arch.ubuntu.com/apt--experimental--0.6--patch-28 0.6.4 * apt@arch.ubuntu.com/apt--experimental--0.6--patch-29 Clarify * apt@arch.ubuntu.com/apt--experimental--0.6--patch-30 * Move the authentication check into a separate functio... * apt@arch.ubuntu.com/apt--experimental--0.6--patch-31 * Fix display of unauthenticated packages when they are... * apt@arch.ubuntu.com/apt--experimental--0.6--patch-32 * Move the authentication check into a separate functio... * apt@arch.ubuntu.com/apt--experimental--0.6--patch-33 * Restore the ugly hack I removed from indexRecords::Lo... * apt@arch.ubuntu.com/apt--experimental--0.6--patch-34 0.6.6 * apt@arch.ubuntu.com/apt--experimental--0.6--patch-35 * Forgot to revert part of the changes to tagfile in 0.... * apt@arch.ubuntu.com/apt--experimental--0.6--patch-36 * Add a config option and corresponding command line option * apt@arch.ubuntu.com/apt--experimental--0.6--patch-37 0.6.8 * apt@arch.ubuntu.com/apt--experimental--0.6--patch-38 hopefully avoid more segfaults * apt@arch.ubuntu.com/apt--experimental--0.6--patch-39 XXX * apt@arch.ubuntu.com/apt--experimental--0.6--patch-40 * Another tagfile workaround * apt@arch.ubuntu.com/apt--experimental--0.6--patch-41 * Use "Codename" (woody, sarge, etc.) to supply the val... * apt@arch.ubuntu.com/apt--experimental--0.6--patch-42 * Support IMS requests of Release.gpg and Release * apt@arch.ubuntu.com/apt--experimental--0.6--patch-43 * Have pkgAcquireIndex calculate an MD5 sum if one is n... * apt@arch.ubuntu.com/apt--experimental--0.6--patch-44 * Merge 0.5.18 * apt@arch.ubuntu.com/apt--experimental--0.6--patch-45 apt (0.6.13) experimental; urgency=low * apt@arch.ubuntu.com/apt--experimental--0.6--patch-46 0.6.13 * apt@arch.ubuntu.com/apt--experimental--0.6--patch-47 Merge 0.5.20 * apt@arch.ubuntu.com/apt--experimental--0.6--patch-48 The source list works a bit differently in 0.6; fix the... * apt@arch.ubuntu.com/apt--experimental--0.6--patch-49 * s/Debug::Acquire::gpg/&v/ * apt@arch.ubuntu.com/apt--experimental--0.6--patch-50 * Honor the [vendor] syntax in sources.list again (thou... * apt@arch.ubuntu.com/apt--experimental--0.6--patch-51 * Don't ship vendors.list(5) since it isn't used yet * apt@arch.ubuntu.com/apt--experimental--0.6--patch-52 * Revert change from 0.6.10; it was right in the first ... * apt@arch.ubuntu.com/apt--experimental--0.6--patch-53 * Fix some cases where the .gpg file could be left in p... * apt@arch.ubuntu.com/apt--experimental--0.6--patch-54 Print a warning if gnupg is not installed * apt@arch.ubuntu.com/apt--experimental--0.6--patch-55 * Handle more IMS stuff correctly * apt@arch.ubuntu.com/apt--experimental--0.6--patch-56 0.6.17 * apt@arch.ubuntu.com/apt--experimental--0.6--patch-57 * Merge 0.5.21 * apt@arch.ubuntu.com/apt--experimental--0.6--patch-58 * Add new Debian Archive Automatic Signing Key to the d... * apt@arch.ubuntu.com/apt--experimental--0.6--patch-59 0.6.18 * apt@arch.ubuntu.com/apt--experimental--0.6--patch-60 * Merge 0.5.22 * apt@arch.ubuntu.com/apt--experimental--0.6--patch-61 * Convert apt-key(8) to docbook XML * apt@arch.ubuntu.com/apt--experimental--0.6--patch-62 Merge 0.5.23 * apt@arch.ubuntu.com/apt--experimental--0.6--patch-63 Remove bogus partial 0.5.22 changelog entry * apt@arch.ubuntu.com/apt--experimental--0.6--patch-64 Make the auth warning a bit less redundant * apt@arch.ubuntu.com/apt--experimental--0.6--patch-65 * Merge 0.5.24 * apt@arch.ubuntu.com/apt--experimental--0.6--patch-66 * Make the unauthenticated packages prompt more intuiti... * apt@arch.ubuntu.com/apt--experimental--0.6--patch-67 Merge 0.5.25 * apt@arch.ubuntu.com/apt--experimental--0.6--patch-68 * Remove obsolete pkgIterator::TargetVer() (Closes: #230159) * apt@arch.ubuntu.com/apt--experimental--0.6--patch-69 * Reverse test in CheckAuth to match new prompt (Closes... * apt@arch.ubuntu.com/apt--experimental--0.6--patch-70 Update version * apt@arch.ubuntu.com/apt--experimental--0.6--patch-71 Fix backwards sense of CheckAuth prompt * apt@arch.ubuntu.com/apt--experimental--0.6--patch-72 0.6.24 * apt@arch.ubuntu.com/apt--experimental--0.6--patch-73 Close bug * apt@arch.ubuntu.com/apt--experimental--0.6--patch-74 * Fix handling of two-part sources for sources.list deb... * apt@arch.ubuntu.com/apt--experimental--0.6--patch-75 0.6.25 * apt@packages.debian.org/apt--authentication--0--base-0 tag of apt@arch.ubuntu.com/apt--experimental--0.6--patch-75 * apt@packages.debian.org/apt--authentication--0--patch-1 Michael Vogt's merge of apt--experimental--0 onto apt--main--0 * apt@packages.debian.org/apt--authentication--0--patch-2 Merge from apt--main--0 * apt@packages.debian.org/apt--authentication--0--patch-3 Merge from main * apt@packages.debian.org/apt--authentication--0--patch-4 Merge from main * apt@packages.debian.org/apt--authentication--0--patch-5 Update version number in configure.in * apt@packages.debian.org/apt--authentication--0--patch-6 Merge from main * apt@packages.debian.org/apt--authentication--0--patch-7 Merge from main * apt@packages.debian.org/apt--authentication--0--patch-8 Merge from mvo's branch * apt@packages.debian.org/apt--authentication--0--patch-9 Merge from mvo's tree * apt@packages.debian.org/apt--authentication--0--patch-10 Merge from mvo * apt@packages.debian.org/apt--authentication--0--patch-11 Fix permissions AGAIN * michael.vogt@canonical.com--2004--laptop/apt--authentication-mvo--0--base-0 tag of michael.vogt@canonical.com--2004/apt--authentication-mvo--0--patch-12 * michael.vogt@canonical.com--2004--laptop/apt--authentication-mvo--0--patch-1 * star-merged matt's changes (bz2 support for data-members in debs) * michael.vogt@canonical.com--2004/apt--authentication-mvo--0--patch-1 tag of apt@packages.debian.org/apt--authentication--0--base-0 * michael.vogt@canonical.com--2004/apt--authentication-mvo--0--patch-2 merged "tla apply-delta -A foo@ apt@arch.ubuntu.com/apt--MAIN--0--patch-1190 apt@arch.ubuntu.com/apt--MAIN--0--patch-1343" and cleaned up conflicts * michael.vogt@canonical.com--2004/apt--authentication-mvo--0--patch-3 * missing bits from the merge added * michael.vogt@canonical.com--2004/apt--authentication-mvo--0--patch-4 * star-merged with apt@packages.debian.org/apt--main--0 * michael.vogt@canonical.com--2004/apt--authentication-mvo--0--patch-5 * tree-synced to the apt--authentication tree * michael.vogt@canonical.com--2004/apt--authentication-mvo--0--patch-6 * use the ubuntu-key in this version * michael.vogt@canonical.com--2004/apt--authentication-mvo--0--patch-7 * imported the patches from mdz * michael.vogt@canonical.com--2004/apt--authentication-mvo--0--patch-8 * apt-get update --print-uris works now as before (fallback to 0.5.x behaviour) * michael.vogt@canonical.com--2004/apt--authentication-mvo--0--patch-9 * fix for the "if any source unauthenticated, all other sources are unauthenticated too" problem * michael.vogt@canonical.com--2004/apt--authentication-mvo--0--patch-10 * reworked the "--print-uris" patch. it no longer uses: "APT::Get::Print-URIs" in the library * michael.vogt@canonical.com--2004/apt--authentication-mvo--0--patch-11 * version of the library set to 3.6 * michael.vogt@canonical.com--2004/apt--authentication-mvo--0--patch-12 * changelog finallized, will upload to people.ubuntulinux.org/~mvo/apt-authentication * michael.vogt@canonical.com--2004/apt--main-authentication--0--base-0 tag of apt@packages.debian.org/apt--main--0--patch-22 * michael.vogt@canonical.com--2004/apt--main-authentication--0--patch-1 * star-merge from apt--experimental--0.6 * michael.vogt@canonical.com--2004/apt--main-authentication--0--patch-2 * compile failure fix for methods/http.cc, po-file fixes
17 years ago
7 years ago
7 years ago
7 years ago
7 years ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911
  1. // -*- mode: cpp; mode: fold -*-
  2. // Description /*{{{*/
  3. // $Id: debindexfile.cc,v 1.5.2.3 2004/01/04 19:11:00 mdz Exp $
  4. /* ######################################################################
  5. Debian Specific sources.list types and the three sorts of Debian
  6. index files.
  7. ##################################################################### */
  8. /*}}}*/
  9. // Include Files /*{{{*/
  10. #include <config.h>
  11. #include <apt-pkg/debindexfile.h>
  12. #include <apt-pkg/debsrcrecords.h>
  13. #include <apt-pkg/deblistparser.h>
  14. #include <apt-pkg/debrecords.h>
  15. #include <apt-pkg/configuration.h>
  16. #include <apt-pkg/progress.h>
  17. #include <apt-pkg/error.h>
  18. #include <apt-pkg/strutl.h>
  19. #include <apt-pkg/acquire-item.h>
  20. #include <apt-pkg/debmetaindex.h>
  21. #include <apt-pkg/gpgv.h>
  22. #include <apt-pkg/fileutl.h>
  23. #include <apt-pkg/indexfile.h>
  24. #include <apt-pkg/mmap.h>
  25. #include <apt-pkg/pkgcache.h>
  26. #include <apt-pkg/cacheiterators.h>
  27. #include <apt-pkg/pkgcachegen.h>
  28. #include <apt-pkg/pkgrecords.h>
  29. #include <apt-pkg/srcrecords.h>
  30. #include <apt-pkg/sptr.h>
  31. #include <stdio.h>
  32. #include <iostream>
  33. #include <sstream>
  34. #include <string>
  35. #include <sys/stat.h>
  36. /*}}}*/
  37. using std::string;
  38. // SourcesIndex::debSourcesIndex - Constructor /*{{{*/
  39. // ---------------------------------------------------------------------
  40. /* */
  41. debSourcesIndex::debSourcesIndex(string URI,string Dist,string Section,bool Trusted) :
  42. pkgIndexFile(Trusted), URI(URI), Dist(Dist), Section(Section)
  43. {
  44. }
  45. /*}}}*/
  46. // SourcesIndex::SourceInfo - Short 1 liner describing a source /*{{{*/
  47. // ---------------------------------------------------------------------
  48. /* The result looks like:
  49. http://foo/debian/ stable/main src 1.1.1 (dsc) */
  50. string debSourcesIndex::SourceInfo(pkgSrcRecords::Parser const &Record,
  51. pkgSrcRecords::File const &File) const
  52. {
  53. string Res;
  54. Res = ::URI::NoUserPassword(URI) + ' ';
  55. if (Dist[Dist.size() - 1] == '/')
  56. {
  57. if (Dist != "/")
  58. Res += Dist;
  59. }
  60. else
  61. Res += Dist + '/' + Section;
  62. Res += " ";
  63. Res += Record.Package();
  64. Res += " ";
  65. Res += Record.Version();
  66. if (File.Type.empty() == false)
  67. Res += " (" + File.Type + ")";
  68. return Res;
  69. }
  70. /*}}}*/
  71. // SourcesIndex::CreateSrcParser - Get a parser for the source files /*{{{*/
  72. // ---------------------------------------------------------------------
  73. /* */
  74. pkgSrcRecords::Parser *debSourcesIndex::CreateSrcParser() const
  75. {
  76. string SourcesURI = _config->FindDir("Dir::State::lists") +
  77. URItoFileName(IndexURI("Sources"));
  78. std::vector<std::string> types = APT::Configuration::getCompressionTypes();
  79. for (std::vector<std::string>::const_iterator t = types.begin(); t != types.end(); ++t)
  80. {
  81. string p;
  82. p = SourcesURI + '.' + *t;
  83. if (FileExists(p))
  84. return new debSrcRecordParser(p, this);
  85. }
  86. if (FileExists(SourcesURI))
  87. return new debSrcRecordParser(SourcesURI, this);
  88. return NULL;
  89. }
  90. /*}}}*/
  91. // SourcesIndex::Describe - Give a descriptive path to the index /*{{{*/
  92. // ---------------------------------------------------------------------
  93. /* */
  94. string debSourcesIndex::Describe(bool Short) const
  95. {
  96. char S[300];
  97. if (Short == true)
  98. snprintf(S,sizeof(S),"%s",Info("Sources").c_str());
  99. else
  100. snprintf(S,sizeof(S),"%s (%s)",Info("Sources").c_str(),
  101. IndexFile("Sources").c_str());
  102. return S;
  103. }
  104. /*}}}*/
  105. // SourcesIndex::Info - One liner describing the index URI /*{{{*/
  106. // ---------------------------------------------------------------------
  107. /* */
  108. string debSourcesIndex::Info(const char *Type) const
  109. {
  110. string Info = ::URI::NoUserPassword(URI) + ' ';
  111. if (Dist[Dist.size() - 1] == '/')
  112. {
  113. if (Dist != "/")
  114. Info += Dist;
  115. }
  116. else
  117. Info += Dist + '/' + Section;
  118. Info += " ";
  119. Info += Type;
  120. return Info;
  121. }
  122. /*}}}*/
  123. // SourcesIndex::Index* - Return the URI to the index files /*{{{*/
  124. // ---------------------------------------------------------------------
  125. /* */
  126. string debSourcesIndex::IndexFile(const char *Type) const
  127. {
  128. string s = URItoFileName(IndexURI(Type));
  129. std::vector<std::string> types = APT::Configuration::getCompressionTypes();
  130. for (std::vector<std::string>::const_iterator t = types.begin(); t != types.end(); ++t)
  131. {
  132. string p = s + '.' + *t;
  133. if (FileExists(p))
  134. return p;
  135. }
  136. return s;
  137. }
  138. string debSourcesIndex::IndexURI(const char *Type) const
  139. {
  140. string Res;
  141. if (Dist[Dist.size() - 1] == '/')
  142. {
  143. if (Dist != "/")
  144. Res = URI + Dist;
  145. else
  146. Res = URI;
  147. }
  148. else
  149. Res = URI + "dists/" + Dist + '/' + Section +
  150. "/source/";
  151. Res += Type;
  152. return Res;
  153. }
  154. /*}}}*/
  155. // SourcesIndex::Exists - Check if the index is available /*{{{*/
  156. // ---------------------------------------------------------------------
  157. /* */
  158. bool debSourcesIndex::Exists() const
  159. {
  160. return FileExists(IndexFile("Sources"));
  161. }
  162. /*}}}*/
  163. // SourcesIndex::Size - Return the size of the index /*{{{*/
  164. // ---------------------------------------------------------------------
  165. /* */
  166. unsigned long debSourcesIndex::Size() const
  167. {
  168. unsigned long size = 0;
  169. /* we need to ignore errors here; if the lists are absent, just return 0 */
  170. _error->PushToStack();
  171. FileFd f(IndexFile("Sources"), FileFd::ReadOnly, FileFd::Extension);
  172. if (!f.Failed())
  173. size = f.Size();
  174. if (_error->PendingError() == true)
  175. size = 0;
  176. _error->RevertToStack();
  177. return size;
  178. }
  179. /*}}}*/
  180. // PackagesIndex::debPackagesIndex - Contructor /*{{{*/
  181. // ---------------------------------------------------------------------
  182. /* */
  183. debPackagesIndex::debPackagesIndex(string const &URI, string const &Dist, string const &Section,
  184. bool const &Trusted, string const &Arch) :
  185. pkgIndexFile(Trusted), URI(URI), Dist(Dist), Section(Section), Architecture(Arch)
  186. {
  187. if (Architecture == "native")
  188. Architecture = _config->Find("APT::Architecture");
  189. }
  190. /*}}}*/
  191. // PackagesIndex::ArchiveInfo - Short version of the archive url /*{{{*/
  192. // ---------------------------------------------------------------------
  193. /* This is a shorter version that is designed to be < 60 chars or so */
  194. string debPackagesIndex::ArchiveInfo(pkgCache::VerIterator Ver) const
  195. {
  196. string Res = ::URI::NoUserPassword(URI) + ' ';
  197. if (Dist[Dist.size() - 1] == '/')
  198. {
  199. if (Dist != "/")
  200. Res += Dist;
  201. }
  202. else
  203. Res += Dist + '/' + Section;
  204. Res += " ";
  205. Res += Ver.ParentPkg().Name();
  206. Res += " ";
  207. if (Dist[Dist.size() - 1] != '/')
  208. Res.append(Ver.Arch()).append(" ");
  209. Res += Ver.VerStr();
  210. return Res;
  211. }
  212. /*}}}*/
  213. // PackagesIndex::Describe - Give a descriptive path to the index /*{{{*/
  214. // ---------------------------------------------------------------------
  215. /* This should help the user find the index in the sources.list and
  216. in the filesystem for problem solving */
  217. string debPackagesIndex::Describe(bool Short) const
  218. {
  219. char S[300];
  220. if (Short == true)
  221. snprintf(S,sizeof(S),"%s",Info("Packages").c_str());
  222. else
  223. snprintf(S,sizeof(S),"%s (%s)",Info("Packages").c_str(),
  224. IndexFile("Packages").c_str());
  225. return S;
  226. }
  227. /*}}}*/
  228. // PackagesIndex::Info - One liner describing the index URI /*{{{*/
  229. // ---------------------------------------------------------------------
  230. /* */
  231. string debPackagesIndex::Info(const char *Type) const
  232. {
  233. string Info = ::URI::NoUserPassword(URI) + ' ';
  234. if (Dist[Dist.size() - 1] == '/')
  235. {
  236. if (Dist != "/")
  237. Info += Dist;
  238. }
  239. else
  240. Info += Dist + '/' + Section;
  241. Info += " ";
  242. if (Dist[Dist.size() - 1] != '/')
  243. Info += Architecture + " ";
  244. Info += Type;
  245. return Info;
  246. }
  247. /*}}}*/
  248. // PackagesIndex::Index* - Return the URI to the index files /*{{{*/
  249. // ---------------------------------------------------------------------
  250. /* */
  251. string debPackagesIndex::IndexFile(const char *Type) const
  252. {
  253. string s =_config->FindDir("Dir::State::lists") + URItoFileName(IndexURI(Type));
  254. std::vector<std::string> types = APT::Configuration::getCompressionTypes();
  255. for (std::vector<std::string>::const_iterator t = types.begin(); t != types.end(); ++t)
  256. {
  257. string p = s + '.' + *t;
  258. if (FileExists(p))
  259. return p;
  260. }
  261. return s;
  262. }
  263. string debPackagesIndex::IndexURI(const char *Type) const
  264. {
  265. string Res;
  266. if (Dist[Dist.size() - 1] == '/')
  267. {
  268. if (Dist != "/")
  269. Res = URI + Dist;
  270. else
  271. Res = URI;
  272. }
  273. else
  274. Res = URI + "dists/" + Dist + '/' + Section +
  275. "/binary-" + Architecture + '/';
  276. Res += Type;
  277. return Res;
  278. }
  279. /*}}}*/
  280. // PackagesIndex::Exists - Check if the index is available /*{{{*/
  281. // ---------------------------------------------------------------------
  282. /* */
  283. bool debPackagesIndex::Exists() const
  284. {
  285. return FileExists(IndexFile("Packages"));
  286. }
  287. /*}}}*/
  288. // PackagesIndex::Size - Return the size of the index /*{{{*/
  289. // ---------------------------------------------------------------------
  290. /* This is really only used for progress reporting. */
  291. unsigned long debPackagesIndex::Size() const
  292. {
  293. unsigned long size = 0;
  294. /* we need to ignore errors here; if the lists are absent, just return 0 */
  295. _error->PushToStack();
  296. FileFd f(IndexFile("Packages"), FileFd::ReadOnly, FileFd::Extension);
  297. if (!f.Failed())
  298. size = f.Size();
  299. if (_error->PendingError() == true)
  300. size = 0;
  301. _error->RevertToStack();
  302. return size;
  303. }
  304. /*}}}*/
  305. // PackagesIndex::Merge - Load the index file into a cache /*{{{*/
  306. // ---------------------------------------------------------------------
  307. /* */
  308. bool debPackagesIndex::Merge(pkgCacheGenerator &Gen,OpProgress *Prog) const
  309. {
  310. string PackageFile = IndexFile("Packages");
  311. FileFd Pkg(PackageFile,FileFd::ReadOnly, FileFd::Extension);
  312. debListParser Parser(&Pkg, Architecture);
  313. if (_error->PendingError() == true)
  314. return _error->Error("Problem opening %s",PackageFile.c_str());
  315. if (Prog != NULL)
  316. Prog->SubProgress(0,Info("Packages"));
  317. ::URI Tmp(URI);
  318. if (Gen.SelectFile(PackageFile,Tmp.Host,*this) == false)
  319. return _error->Error("Problem with SelectFile %s",PackageFile.c_str());
  320. // Store the IMS information
  321. pkgCache::PkgFileIterator File = Gen.GetCurFile();
  322. pkgCacheGenerator::Dynamic<pkgCache::PkgFileIterator> DynFile(File);
  323. File->Size = Pkg.FileSize();
  324. File->mtime = Pkg.ModificationTime();
  325. if (Gen.MergeList(Parser) == false)
  326. return _error->Error("Problem with MergeList %s",PackageFile.c_str());
  327. // Check the release file
  328. string ReleaseFile = debReleaseIndex(URI,Dist).MetaIndexFile("InRelease");
  329. bool releaseExists = false;
  330. if (FileExists(ReleaseFile) == true)
  331. releaseExists = true;
  332. else
  333. ReleaseFile = debReleaseIndex(URI,Dist).MetaIndexFile("Release");
  334. if (releaseExists == true || FileExists(ReleaseFile) == true)
  335. {
  336. FileFd Rel;
  337. // Beware: The 'Release' file might be clearsigned in case the
  338. // signature for an 'InRelease' file couldn't be checked
  339. if (OpenMaybeClearSignedFile(ReleaseFile, Rel) == false)
  340. return false;
  341. if (_error->PendingError() == true)
  342. return false;
  343. Parser.LoadReleaseInfo(File,Rel,Section);
  344. }
  345. return true;
  346. }
  347. /*}}}*/
  348. // PackagesIndex::FindInCache - Find this index /*{{{*/
  349. // ---------------------------------------------------------------------
  350. /* */
  351. pkgCache::PkgFileIterator debPackagesIndex::FindInCache(pkgCache &Cache) const
  352. {
  353. string FileName = IndexFile("Packages");
  354. pkgCache::PkgFileIterator File = Cache.FileBegin();
  355. for (; File.end() == false; ++File)
  356. {
  357. if (File.FileName() == NULL || FileName != File.FileName())
  358. continue;
  359. struct stat St;
  360. if (stat(File.FileName(),&St) != 0)
  361. {
  362. if (_config->FindB("Debug::pkgCacheGen", false))
  363. std::clog << "PackagesIndex::FindInCache - stat failed on " << File.FileName() << std::endl;
  364. return pkgCache::PkgFileIterator(Cache);
  365. }
  366. if ((unsigned)St.st_size != File->Size || St.st_mtime != File->mtime)
  367. {
  368. if (_config->FindB("Debug::pkgCacheGen", false))
  369. std::clog << "PackagesIndex::FindInCache - size (" << St.st_size << " <> " << File->Size
  370. << ") or mtime (" << St.st_mtime << " <> " << File->mtime
  371. << ") doesn't match for " << File.FileName() << std::endl;
  372. return pkgCache::PkgFileIterator(Cache);
  373. }
  374. return File;
  375. }
  376. return File;
  377. }
  378. /*}}}*/
  379. // TranslationsIndex::debTranslationsIndex - Contructor /*{{{*/
  380. // ---------------------------------------------------------------------
  381. /* */
  382. debTranslationsIndex::debTranslationsIndex(std::string const &URI, std::string const &Dist,
  383. std::string const &Section, std::string const &Translation) :
  384. pkgIndexFile(true), URI(URI), Dist(Dist), Section(Section),
  385. Language(Translation)
  386. {}
  387. /*}}}*/
  388. // TranslationIndex::Trans* - Return the URI to the translation files /*{{{*/
  389. // ---------------------------------------------------------------------
  390. /* */
  391. string debTranslationsIndex::IndexFile(const char *Type) const
  392. {
  393. string s =_config->FindDir("Dir::State::lists") + URItoFileName(IndexURI(Type));
  394. std::vector<std::string> types = APT::Configuration::getCompressionTypes();
  395. for (std::vector<std::string>::const_iterator t = types.begin(); t != types.end(); ++t)
  396. {
  397. string p = s + '.' + *t;
  398. if (FileExists(p))
  399. return p;
  400. }
  401. return s;
  402. }
  403. string debTranslationsIndex::IndexURI(const char *Type) const
  404. {
  405. string Res;
  406. if (Dist[Dist.size() - 1] == '/')
  407. {
  408. if (Dist != "/")
  409. Res = URI + Dist;
  410. else
  411. Res = URI;
  412. }
  413. else
  414. Res = URI + "dists/" + Dist + '/' + Section +
  415. "/i18n/Translation-";
  416. Res += Type;
  417. return Res;
  418. }
  419. /*}}}*/
  420. // TranslationsIndex::Describe - Give a descriptive path to the index /*{{{*/
  421. // ---------------------------------------------------------------------
  422. /* This should help the user find the index in the sources.list and
  423. in the filesystem for problem solving */
  424. string debTranslationsIndex::Describe(bool Short) const
  425. {
  426. std::string S;
  427. if (Short == true)
  428. strprintf(S,"%s",Info(TranslationFile().c_str()).c_str());
  429. else
  430. strprintf(S,"%s (%s)",Info(TranslationFile().c_str()).c_str(),
  431. IndexFile(Language.c_str()).c_str());
  432. return S;
  433. }
  434. /*}}}*/
  435. // TranslationsIndex::Info - One liner describing the index URI /*{{{*/
  436. // ---------------------------------------------------------------------
  437. /* */
  438. string debTranslationsIndex::Info(const char *Type) const
  439. {
  440. string Info = ::URI::NoUserPassword(URI) + ' ';
  441. if (Dist[Dist.size() - 1] == '/')
  442. {
  443. if (Dist != "/")
  444. Info += Dist;
  445. }
  446. else
  447. Info += Dist + '/' + Section;
  448. Info += " ";
  449. Info += Type;
  450. return Info;
  451. }
  452. /*}}}*/
  453. bool debTranslationsIndex::HasPackages() const /*{{{*/
  454. {
  455. return FileExists(IndexFile(Language.c_str()));
  456. }
  457. /*}}}*/
  458. // TranslationsIndex::Exists - Check if the index is available /*{{{*/
  459. // ---------------------------------------------------------------------
  460. /* */
  461. bool debTranslationsIndex::Exists() const
  462. {
  463. return FileExists(IndexFile(Language.c_str()));
  464. }
  465. /*}}}*/
  466. // TranslationsIndex::Size - Return the size of the index /*{{{*/
  467. // ---------------------------------------------------------------------
  468. /* This is really only used for progress reporting. */
  469. unsigned long debTranslationsIndex::Size() const
  470. {
  471. unsigned long size = 0;
  472. /* we need to ignore errors here; if the lists are absent, just return 0 */
  473. _error->PushToStack();
  474. FileFd f(IndexFile(Language.c_str()), FileFd::ReadOnly, FileFd::Extension);
  475. if (!f.Failed())
  476. size = f.Size();
  477. if (_error->PendingError() == true)
  478. size = 0;
  479. _error->RevertToStack();
  480. return size;
  481. }
  482. /*}}}*/
  483. // TranslationsIndex::Merge - Load the index file into a cache /*{{{*/
  484. // ---------------------------------------------------------------------
  485. /* */
  486. bool debTranslationsIndex::Merge(pkgCacheGenerator &Gen,OpProgress *Prog) const
  487. {
  488. // Check the translation file, if in use
  489. string TranslationFile = IndexFile(Language.c_str());
  490. if (FileExists(TranslationFile))
  491. {
  492. FileFd Trans(TranslationFile,FileFd::ReadOnly, FileFd::Extension);
  493. debTranslationsParser TransParser(&Trans);
  494. if (_error->PendingError() == true)
  495. return false;
  496. if (Prog != NULL)
  497. Prog->SubProgress(0, Info(TranslationFile.c_str()));
  498. if (Gen.SelectFile(TranslationFile,string(),*this) == false)
  499. return _error->Error("Problem with SelectFile %s",TranslationFile.c_str());
  500. // Store the IMS information
  501. pkgCache::PkgFileIterator TransFile = Gen.GetCurFile();
  502. TransFile->Size = Trans.FileSize();
  503. TransFile->mtime = Trans.ModificationTime();
  504. if (Gen.MergeList(TransParser) == false)
  505. return _error->Error("Problem with MergeList %s",TranslationFile.c_str());
  506. }
  507. return true;
  508. }
  509. /*}}}*/
  510. // TranslationsIndex::FindInCache - Find this index /*{{{*/
  511. // ---------------------------------------------------------------------
  512. /* */
  513. pkgCache::PkgFileIterator debTranslationsIndex::FindInCache(pkgCache &Cache) const
  514. {
  515. string FileName = IndexFile(Language.c_str());
  516. pkgCache::PkgFileIterator File = Cache.FileBegin();
  517. for (; File.end() == false; ++File)
  518. {
  519. if (FileName != File.FileName())
  520. continue;
  521. struct stat St;
  522. if (stat(File.FileName(),&St) != 0)
  523. {
  524. if (_config->FindB("Debug::pkgCacheGen", false))
  525. std::clog << "TranslationIndex::FindInCache - stat failed on " << File.FileName() << std::endl;
  526. return pkgCache::PkgFileIterator(Cache);
  527. }
  528. if ((unsigned)St.st_size != File->Size || St.st_mtime != File->mtime)
  529. {
  530. if (_config->FindB("Debug::pkgCacheGen", false))
  531. std::clog << "TranslationIndex::FindInCache - size (" << St.st_size << " <> " << File->Size
  532. << ") or mtime (" << St.st_mtime << " <> " << File->mtime
  533. << ") doesn't match for " << File.FileName() << std::endl;
  534. return pkgCache::PkgFileIterator(Cache);
  535. }
  536. return File;
  537. }
  538. return File;
  539. }
  540. /*}}}*/
  541. // StatusIndex::debStatusIndex - Constructor /*{{{*/
  542. // ---------------------------------------------------------------------
  543. /* */
  544. debStatusIndex::debStatusIndex(string File) : pkgIndexFile(true), File(File)
  545. {
  546. }
  547. /*}}}*/
  548. // StatusIndex::Size - Return the size of the index /*{{{*/
  549. // ---------------------------------------------------------------------
  550. /* */
  551. unsigned long debStatusIndex::Size() const
  552. {
  553. struct stat S;
  554. if (stat(File.c_str(),&S) != 0)
  555. return 0;
  556. return S.st_size;
  557. }
  558. /*}}}*/
  559. // StatusIndex::Merge - Load the index file into a cache /*{{{*/
  560. // ---------------------------------------------------------------------
  561. /* */
  562. bool debStatusIndex::Merge(pkgCacheGenerator &Gen,OpProgress *Prog) const
  563. {
  564. FileFd Pkg(File,FileFd::ReadOnly, FileFd::Extension);
  565. if (_error->PendingError() == true)
  566. return false;
  567. debListParser Parser(&Pkg);
  568. if (_error->PendingError() == true)
  569. return false;
  570. if (Prog != NULL)
  571. Prog->SubProgress(0,File);
  572. if (Gen.SelectFile(File,string(),*this,pkgCache::Flag::NotSource) == false)
  573. return _error->Error("Problem with SelectFile %s",File.c_str());
  574. // Store the IMS information
  575. pkgCache::PkgFileIterator CFile = Gen.GetCurFile();
  576. CFile->Size = Pkg.FileSize();
  577. CFile->mtime = Pkg.ModificationTime();
  578. map_stringitem_t const storage = Gen.StoreString(pkgCacheGenerator::MIXED, "now");
  579. CFile->Archive = storage;
  580. if (Gen.MergeList(Parser) == false)
  581. return _error->Error("Problem with MergeList %s",File.c_str());
  582. return true;
  583. }
  584. /*}}}*/
  585. // StatusIndex::FindInCache - Find this index /*{{{*/
  586. // ---------------------------------------------------------------------
  587. /* */
  588. pkgCache::PkgFileIterator debStatusIndex::FindInCache(pkgCache &Cache) const
  589. {
  590. pkgCache::PkgFileIterator File = Cache.FileBegin();
  591. for (; File.end() == false; ++File)
  592. {
  593. if (this->File != File.FileName())
  594. continue;
  595. struct stat St;
  596. if (stat(File.FileName(),&St) != 0)
  597. {
  598. if (_config->FindB("Debug::pkgCacheGen", false))
  599. std::clog << "StatusIndex::FindInCache - stat failed on " << File.FileName() << std::endl;
  600. return pkgCache::PkgFileIterator(Cache);
  601. }
  602. if ((unsigned)St.st_size != File->Size || St.st_mtime != File->mtime)
  603. {
  604. if (_config->FindB("Debug::pkgCacheGen", false))
  605. std::clog << "StatusIndex::FindInCache - size (" << St.st_size << " <> " << File->Size
  606. << ") or mtime (" << St.st_mtime << " <> " << File->mtime
  607. << ") doesn't match for " << File.FileName() << std::endl;
  608. return pkgCache::PkgFileIterator(Cache);
  609. }
  610. return File;
  611. }
  612. return File;
  613. }
  614. /*}}}*/
  615. // StatusIndex::Exists - Check if the index is available /*{{{*/
  616. // ---------------------------------------------------------------------
  617. /* */
  618. APT_CONST bool debStatusIndex::Exists() const
  619. {
  620. // Abort if the file does not exist.
  621. return true;
  622. }
  623. /*}}}*/
  624. // debDebPkgFile - Single .deb file /*{{{*/
  625. debDebPkgFileIndex::debDebPkgFileIndex(std::string DebFile)
  626. : pkgIndexFile(true), DebFile(DebFile)
  627. {
  628. DebFileFullPath = flAbsPath(DebFile);
  629. }
  630. std::string debDebPkgFileIndex::ArchiveURI(std::string /*File*/) const
  631. {
  632. return "file:" + DebFileFullPath;
  633. }
  634. bool debDebPkgFileIndex::Exists() const
  635. {
  636. return FileExists(DebFile);
  637. }
  638. bool debDebPkgFileIndex::GetContent(std::ostream &content, std::string const &debfile)
  639. {
  640. // get the control data out of the deb file via dpkg-deb -I
  641. std::string dpkg = _config->Find("Dir::Bin::dpkg","dpkg-deb");
  642. std::vector<const char *> Args;
  643. Args.push_back(dpkg.c_str());
  644. Args.push_back("-I");
  645. Args.push_back(debfile.c_str());
  646. Args.push_back("control");
  647. Args.push_back(NULL);
  648. FileFd PipeFd;
  649. pid_t Child;
  650. if(Popen((const char**)&Args[0], PipeFd, Child, FileFd::ReadOnly) == false)
  651. return _error->Error("Popen failed");
  652. char buffer[1024];
  653. do {
  654. unsigned long long actual = 0;
  655. if (PipeFd.Read(buffer, sizeof(buffer)-1, &actual) == false)
  656. return _error->Errno("read", "Failed to read dpkg pipe");
  657. if (actual == 0)
  658. break;
  659. buffer[actual] = '\0';
  660. content << buffer;
  661. } while(true);
  662. ExecWait(Child, "Popen");
  663. content << "Filename: " << debfile << "\n";
  664. struct stat Buf;
  665. if (stat(debfile.c_str(), &Buf) != 0)
  666. return false;
  667. content << "Size: " << Buf.st_size << "\n";
  668. return true;
  669. }
  670. bool debDebPkgFileIndex::Merge(pkgCacheGenerator& Gen, OpProgress* Prog) const
  671. {
  672. if(Prog)
  673. Prog->SubProgress(0, "Reading deb file");
  674. // write the control data to a tempfile
  675. SPtr<FileFd> DebControl = GetTempFile("deb-file-" + flNotDir(DebFile));
  676. if(DebControl == NULL)
  677. return false;
  678. std::ostringstream content;
  679. if (GetContent(content, DebFile) == false)
  680. return false;
  681. std::string const contentstr = content.str();
  682. DebControl->Write(contentstr.c_str(), contentstr.length());
  683. // rewind for the listparser
  684. DebControl->Seek(0);
  685. // and give it to the list parser
  686. debDebFileParser Parser(DebControl, DebFile);
  687. if(Gen.SelectFile(DebFile, "local", *this, pkgCache::Flag::LocalSource) == false)
  688. return _error->Error("Problem with SelectFile %s", DebFile.c_str());
  689. pkgCache::PkgFileIterator File = Gen.GetCurFile();
  690. File->Size = DebControl->Size();
  691. File->mtime = DebControl->ModificationTime();
  692. if (Gen.MergeList(Parser) == false)
  693. return _error->Error("Problem with MergeLister for %s", DebFile.c_str());
  694. return true;
  695. }
  696. pkgCache::PkgFileIterator debDebPkgFileIndex::FindInCache(pkgCache &Cache) const
  697. {
  698. pkgCache::PkgFileIterator File = Cache.FileBegin();
  699. for (; File.end() == false; ++File)
  700. {
  701. if (File.FileName() == NULL || DebFile != File.FileName())
  702. continue;
  703. return File;
  704. }
  705. return File;
  706. }
  707. unsigned long debDebPkgFileIndex::Size() const
  708. {
  709. struct stat buf;
  710. if(stat(DebFile.c_str(), &buf) != 0)
  711. return 0;
  712. return buf.st_size;
  713. }
  714. /*}}}*/
  715. // debDscFileIndex stuff
  716. debDscFileIndex::debDscFileIndex(std::string &DscFile)
  717. : pkgIndexFile(true), DscFile(DscFile)
  718. {
  719. }
  720. bool debDscFileIndex::Exists() const
  721. {
  722. return FileExists(DscFile);
  723. }
  724. unsigned long debDscFileIndex::Size() const
  725. {
  726. struct stat buf;
  727. if(stat(DscFile.c_str(), &buf) == 0)
  728. return buf.st_size;
  729. return 0;
  730. }
  731. // DscFileIndex::CreateSrcParser - Get a parser for the .dsc file /*{{{*/
  732. pkgSrcRecords::Parser *debDscFileIndex::CreateSrcParser() const
  733. {
  734. if (!FileExists(DscFile))
  735. return NULL;
  736. return new debDscRecordParser(DscFile,this);
  737. }
  738. /*}}}*/
  739. // Index File types for Debian /*{{{*/
  740. class APT_HIDDEN debIFTypeSrc : public pkgIndexFile::Type
  741. {
  742. public:
  743. debIFTypeSrc() {Label = "Debian Source Index";};
  744. };
  745. class APT_HIDDEN debIFTypePkg : public pkgIndexFile::Type
  746. {
  747. public:
  748. virtual pkgRecords::Parser *CreatePkgParser(pkgCache::PkgFileIterator File) const
  749. {
  750. return new debRecordParser(File.FileName(),*File.Cache());
  751. };
  752. debIFTypePkg() {Label = "Debian Package Index";};
  753. };
  754. class APT_HIDDEN debIFTypeTrans : public debIFTypePkg
  755. {
  756. public:
  757. debIFTypeTrans() {Label = "Debian Translation Index";};
  758. };
  759. class APT_HIDDEN debIFTypeStatus : public pkgIndexFile::Type
  760. {
  761. public:
  762. virtual pkgRecords::Parser *CreatePkgParser(pkgCache::PkgFileIterator File) const
  763. {
  764. return new debRecordParser(File.FileName(),*File.Cache());
  765. };
  766. debIFTypeStatus() {Label = "Debian dpkg status file";};
  767. };
  768. class APT_HIDDEN debIFTypeDebPkgFile : public pkgIndexFile::Type
  769. {
  770. public:
  771. virtual pkgRecords::Parser *CreatePkgParser(pkgCache::PkgFileIterator File) const
  772. {
  773. return new debDebFileRecordParser(File.FileName());
  774. };
  775. debIFTypeDebPkgFile() {Label = "deb Package file";};
  776. };
  777. class APT_HIDDEN debIFTypeDscFile : public pkgIndexFile::Type
  778. {
  779. public:
  780. virtual pkgSrcRecords::Parser *CreateSrcPkgParser(std::string DscFile) const
  781. {
  782. return new debDscRecordParser(DscFile, NULL);
  783. };
  784. debIFTypeDscFile() {Label = "dsc File Source Index";};
  785. };
  786. class APT_HIDDEN debIFTypeDebianSourceDir : public pkgIndexFile::Type
  787. {
  788. public:
  789. virtual pkgSrcRecords::Parser *CreateSrcPkgParser(std::string SourceDir) const
  790. {
  791. return new debDscRecordParser(SourceDir + string("/debian/control"), NULL);
  792. };
  793. debIFTypeDebianSourceDir() {Label = "debian/control File Source Index";};
  794. };
  795. APT_HIDDEN debIFTypeSrc _apt_Src;
  796. APT_HIDDEN debIFTypePkg _apt_Pkg;
  797. APT_HIDDEN debIFTypeTrans _apt_Trans;
  798. APT_HIDDEN debIFTypeStatus _apt_Status;
  799. APT_HIDDEN debIFTypeDebPkgFile _apt_DebPkgFile;
  800. // file based pseudo indexes
  801. APT_HIDDEN debIFTypeDscFile _apt_DscFile;
  802. APT_HIDDEN debIFTypeDebianSourceDir _apt_DebianSourceDir;
  803. const pkgIndexFile::Type *debSourcesIndex::GetType() const
  804. {
  805. return &_apt_Src;
  806. }
  807. const pkgIndexFile::Type *debPackagesIndex::GetType() const
  808. {
  809. return &_apt_Pkg;
  810. }
  811. const pkgIndexFile::Type *debTranslationsIndex::GetType() const
  812. {
  813. return &_apt_Trans;
  814. }
  815. const pkgIndexFile::Type *debStatusIndex::GetType() const
  816. {
  817. return &_apt_Status;
  818. }
  819. const pkgIndexFile::Type *debDebPkgFileIndex::GetType() const
  820. {
  821. return &_apt_DebPkgFile;
  822. }
  823. const pkgIndexFile::Type *debDscFileIndex::GetType() const
  824. {
  825. return &_apt_DscFile;
  826. }
  827. const pkgIndexFile::Type *debDebianSourceDirIndex::GetType() const
  828. {
  829. return &_apt_DebianSourceDir;
  830. }
  831. /*}}}*/
  832. debStatusIndex::~debStatusIndex() {}
  833. debPackagesIndex::~debPackagesIndex() {}
  834. debTranslationsIndex::~debTranslationsIndex() {}
  835. debSourcesIndex::~debSourcesIndex() {}
  836. debDebPkgFileIndex::~debDebPkgFileIndex() {}