summaryrefslogtreecommitdiff
path: root/apt-pkg/deb/deblistparser.cc
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'debian/sid' into debian/experimentalMichael Vogt2014-07-081-1/+2
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: apt-pkg/deb/deblistparser.cc doc/po/apt-doc.pot doc/po/de.po doc/po/es.po doc/po/fr.po doc/po/it.po doc/po/ja.po doc/po/pl.po doc/po/pt.po doc/po/pt_BR.po po/da.po po/mr.po po/vi.po
| * handle moved mmap after UniqFindTagWrite callDavid Kalnischkies2014-07-071-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | A call to UniqFindTagWrite can trigger the need for a bigger mmap, which is usually done by moving it, but with this move all pointers into it become invalid (and have to be remapped). The compiler calculates the pointer before the execution of the call though, so it tries to store the returned value at the old location, resulting in a segfault. We solve this by use of a temprorary variable as we did in the other instances of this problem before. Closes: #753941
* | remove the Section member from package structDavid Kalnischkies2014-06-181-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A version belongs to a section and has hence a section member of its own. A package on the other hand can have multiple versions from different sections. This was "solved" by using the section which was parsed first as order of sources.list defines, but that is obviously a horribly unpredictable thing. We therefore directly remove this struct member to free some space and mark the access method as deprecated, which is told to return the section of the 'newest' known version, which is at least predictable, but possible not what it returned before – but nobody knows. Users are way better of with the Section() as returned by the version they are dealing with. It is likely the same for all versions of a package, but in the few cases it isn't, it is important (like packages moving from main/* to contrib/* or into oldlibs …).
* | cleanup datatypes mix used in binary cacheDavid Kalnischkies2014-06-181-3/+3
| | | | | | | | | | | | | | | | We had a wild mixture of (unsigned) int, long and long long here without much sense, so this commit adds a few typedefs to get some sense in the typesystem and ensures that a ID isn't sometimes computed as int, stored as long and compared with a long long… as this could potentially bite us later on as the size of the archive only increases over time.
* | parse and retrieve multiple Descriptions in one recordDavid Kalnischkies2014-05-091-22/+18
| | | | | | | | | | | | | | | | It seems unlikely for now that proper archives will carry multiple Description-* stanzas in the Packages (or Translation-*) file, but sometimes apt eats its own output as shown by the usage of the CD team and it would be interesting to let apt output multiple translations e.g. in 'apt-cache show'.
* | WIP local deb installMichael Vogt2014-04-281-0/+20
|/
* abstract version hash comparison a bitDavid Kalnischkies2014-03-131-0/+21
| | | | | | | | In #737085 we see that apt can be confused if informations about versions only differ slightly. This commit adds a way of at least adding a few more data points with the next abi break to help a bit with it. Git-Dch: Ignore
* factor out parsing of MultiArch flagDavid Kalnischkies2014-03-131-21/+26
| | | | Git-Dch: Ignore
* cleanup headers and especially #includes everywhereDavid Kalnischkies2014-03-131-0/+9
| | | | | | | | Beside being a bit cleaner it hopefully also resolves oddball problems I have with high levels of parallel jobs. Git-Dch: Ignore Reported-By: iwyu (include-what-you-use)
* fix -Wmissing-field-initializers warningsDavid Kalnischkies2014-03-131-4/+4
| | | | | Reported-By: gcc Git-Dch: Ignore
* support DEB_BUILD_PROFILES and -P for build profilesDavid Kalnischkies2014-03-131-1/+1
| | | | | | | | | | Inspired by the rest of the patch in 661537, but abstract the parsing of various ways of setting the build profiles more so it can potentially be reused and all apt parts have the same behaviour. Especially config options, cmdline options and environment will not be combined as proposed as this isn't APTs usual behaviour and dpkg doesn't do it either, so one overrides the other as it normally does.
* implement BuildProfileSpec support as dpkg has in 1.17.2Johannes Schauer2014-03-131-4/+87
| | | | | | | | Build-dependencies are now able to include a <profile.foo …> specification limiting usage similar to already supported [arch …]. More details: https://wiki.debian.org/BuildProfileSpec Closes: 661537
* Fix typos in documentation (codespell)Michael Vogt2014-02-221-1/+1
|
* don't strip :any from dependencies in single-archDavid Kalnischkies2013-09-261-4/+2
| | | | | | | | | | | The parser goes a bit to far by stripping :any from dependencies in a single architecture environment. the flag "Multi-Arch: allowed" doesn't care any architecture restrictions in that case (as in single arch everything is native), but it still limits the possible versions statisfying the dependency so stripping :any over-simplifies in upgrade situations from "Multi-Arch: none" to "Multi-Arch: allowed". Closes: 723586
* init the pkgTagFile with the size of the Release fileDavid Kalnischkies2013-08-151-1/+1
| | | | | | | Release files are basically one big Section, so we might safe some Resize circles by starting with the filesize. Git-Dch: Ignore
* use pkgTagFile to parse "header" of Release filesDavid Kalnischkies2013-08-081-85/+19
| | | | | | | | | | The handwritten parsing here was mostly done as we couldn't trust the Release file we got, but nowadays we are sure that the Release file is valid and contains just a single section we want it to include. Beside reducing code it also fixes a bug: Fieldnames in deb822 formatted files are case-insensitive and pkgTagFile does it correctly, but this selfbuilt stuff here didn't.
* handle missing "Description" in apt-cache showDavid Kalnischkies2013-06-201-1/+5
| | | | | | | | | | | | do not blindly assume that all packages stanzas have a "Description:" field in 'apt-cache show' as well as in the cache creation itself. We instead assume now that if the stanza has a Description, it will not be the first field as we look out for "\nDescription" to take care of MD5sum as well as (maybe ignored) translated Descriptions embedded in the package stanza. Closes: #712435
* merged bundle from davidMichael Vogt2013-04-081-7/+7
|\
| * micro-optimize and enhance readability of ListParser::VersionHashDavid Kalnischkies2013-04-011-7/+7
| |
* | merged lp:~mvo/apt/fix-inrelease5Michael Vogt2013-04-021-11/+1
|\ \ | |/ |/|
| * * apt-pkg/deb/debindexfile.cc,David Kalnischkies2013-03-181-11/+1
| | | | | | | | | | | | | | | | | | | | | | apt-pkg/deb/deblistparser.cc: - use OpenMaybeClearSignedFile to be free from detecting and skipping clearsigning metadata in dsc and Release files We can't write a "clean" file to disk as not all acquire methods copy Release files before checking them (e.g. cdrom), so this reverts recombining, but uses the method we use for dsc files also in the two places we deal with Release files
* | fix pkgProblemResolver::Scores, thanks to Paul Wise. Michael Vogt2013-01-081-6/+7
|/ | | Closes: #697577
* handle packages without a mandatory architecture (debian-policy §5.3)David Kalnischkies2012-09-091-4/+18
| | | | | by introducing a pseudo-architecture 'none' so that the small group of users with these packages can get right of them without introducing too much hassle for other users (Closes: #686346)
* * apt-pkg/deb/deblistparser.cc:David Kalnischkies2012-07-091-1/+2
| | | | - negative dependencies need to apply to all architectures, but those with a specific architecture only apply to this one
* do not dereference the storage for the unique strings as the pointer canDavid Kalnischkies2012-06-161-7/+9
| | | | | change at the time of writing the strings, so first store it temporary and then save the index in the (possibily new) pointer location
* * apt-pkg/deb/deblistparser.cc:David Kalnischkies2012-06-141-27/+5
| | | | | - use PackageArchitectureMatchesSpecification filter * apt-pkg/cachefilter.cc: - add PackageArchitectureMatchesSpecification (Closes: #672603)
* * deb/deblistparser.cc:David Kalnischkies2012-06-141-23/+30
| | | | - ensure that mixed positive/negative architecture wildcards are handled in the same way as dpkg handles them
* * apt-pkg/deb/deblistparser.cc:Thibaut Girka2012-06-111-3/+17
| | | | - add support for arch-specific qualifiers in dependencies
* * apt-pkg/deb/deblistparser.cc:David Kalnischkies2012-06-101-6/+5
| | | | | - set pkgCacheGen::Essential to "all" again (Closes: #675449) * apt-pkg/algorithms.cc: - force install only for one essential package out of a group
* * apt-pkg/deb/deblistparser.cc:David Kalnischkies2012-05-021-5/+12
| | | - check length and containing chars for a given description md5sum
* * apt-pkg/deb/deblistparser.cc:David Kalnischkies2012-04-181-2/+8
| | | - only treat the native apt as essential by default
* * apt-pkg/deb/deblistparser.cc:Julian Andres Klode2012-03-051-1/+1
| | | - Set the Essential flag on APT instead of only Important
* Allow the FileFd to use an external Compressor to uncompress a given fileDavid Kalnischkies2011-12-131-0/+1
| | | | | | | | | | | internally so that it is exported and can be used like a "normal" uncompressed file with FileFd This allows us to hide th zlib usage in the implementation and use gzip instead if we don't have zlib builtin (the same for other compressors). The code includes quiet a few FIXME's so while all tests are working it shouldn't be used just yet outside of libapt as it might break.
* * apt-pkg/deb/deblistparser.cc:David Kalnischkies2011-11-031-0/+3
| | | - M-A: foreign packages provide for other archs, too
* merge with my debian-sid branchDavid Kalnischkies2011-10-301-13/+8
|\
| * convert a few for-loop char finds to proper strchr and memchrDavid Kalnischkies2011-09-211-13/+8
| |
* | * apt-pkg/pkgcachegen.cc:David Kalnischkies2011-10-111-4/+1
| | | | | | - refactor MergeList by creating -Group, -Package and -Version specialist
* | merge with current debian apt/experimentalDavid Kalnischkies2011-10-051-12/+20
|\ \
| * \ * apt-pkg/contrib/configuration.cc:Michael Vogt2011-10-051-12/+20
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - fix double delete (LP: #848907) - ignore only the invalid regexp instead of all options * apt-pkg/acquire-item.h, apt-pkg/deb/debmetaindex.cc: - fix fetching language information by adding OptionalSubIndexTarget * methods/https.cc: - cleanup broken downloads properly * ftparchive/cachedb.cc: - fix buffersize in bytes2hex * apt-pkg/deb/deblistparser.cc: - fix crash when the dynamic mmap needs to be grown in LoadReleaseInfo (LP: #854090)
| | * | merged fix from donkultMichael Vogt2011-09-261-12/+20
| | | |
* | | | use forward declaration in headers if possible instead of includesDavid Kalnischkies2011-09-191-0/+1
| | | |
* | | | do not pollute namespace in the headers with using (Closes: #500198)David Kalnischkies2011-09-191-0/+2
|/ / /
* | | merge with debian/experimentalDavid Kalnischkies2011-09-131-9/+26
|\ \ \
| * \ \ merged from the debian-sid branchMichael Vogt2011-08-151-1/+1
| |\ \ \ | | |/ / | |/| / | | |/
| | * cppcheck complains about some possible speed improvements which could beDavid Kalnischkies2011-08-111-1/+1
| | | | | | | | | | | | | | | | | | done on the mirco-optimazation level, so lets fix them: (performance) Possible inefficient checking for emptiness. (performance) Prefer prefix ++/-- operators for non-primitive types.
| * | merged from debian-aptMichael Vogt2011-07-281-5/+19
| |\|
| | * merged from lp:~donkult/apt/sidMichael Vogt2011-07-281-5/+19
| | |\
| | | * * apt-pkg/deb/deblistparser.cc:David Kalnischkies2011-07-271-1/+5
| | |/ | | | | | | - do not assume that the last char on a line is a \n (Closes: #633350)
| * | * merged latest fixes from debian-sidMichael Vogt2011-07-281-3/+6
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * apt-pkg/contrib/sha1.cc: - fix illegally casts of on-stack buffer to a type requiring more alignment than it has resulting in segfaults on sparc (Closes: #634696) * apt-pkg/contrib/cdromutl.cc: - fix escape problem when looking for the mounted devices * apt-pkg/contrib/strutl.{h,cc}, test/libapt/strutil_test.cc: - add new DeEscapeString() similar to DeQuoteString but unescape character escapes like \0XX and \xXX (plus added test) * refresh po/* * cmdline/apt-get.cc: - fix missing download progress in apt-get download - do not require unused partial dirs in 'source' (Closes: #633510) - buildconflicts effect all architectures - implement MultiarchCross for build-dep and source (Closes: #632221) * cmdline/apt-key: - use a tmpfile instead of /etc/apt/secring.gpg (Closes: #632596) * debian/apt.postinst: - remove /etc/apt/secring.gpg if it is an empty file * doc/apt-cache.8.xml: - apply madison typofix from John Feuerstein, thanks! (Closes: #633455) * apt-pkg/policy.cc: - emit an error on unknown APT::Default-Release value (Closes: #407511) * apt-pkg/aptconfiguration.cc: - ensure that native architecture is if not specified otherwise the first architecture in the Architectures vector * apt-pkg/deb/deblistparser.cc: - Strip only :any and :native if MultiArch should be stripped as it is save to ignore them in non-MultiArch contexts but if the dependency is a specific architecture (and not the native) do not strip
| | * * apt-pkg/deb/deblistparser.cc:David Kalnischkies2011-07-251-3/+6
| | | | | | | | | | | | | | | - Strip only :any and :native if MultiArch should be stripped as it is save to ignore them in non-MultiArch contexts but if the dependency is a specific architecture (and not the native) do not strip