summaryrefslogtreecommitdiff
path: root/apt-pkg/contrib/fileutl.cc
AgeCommit message (Collapse)Author
2012-01-18* apt-pkg/contrib/fileutl.h:David Kalnischkies
- store the offset in the internal fd before calculate size of the zlib-handled file to jump back to this place again It jumped back to the position of the content - which is wrong as the internal fd is compressed and even reseting to the beginning of the file doesn't work as zlib uses an internal buffer, so while we might haven't read anything yet zlib might have done so already…
2012-01-18improve error reporting in case of errors in combination with zlibDavid Kalnischkies
2011-12-18usage of Skipping in pipes can't work, so we ignore-read insteadDavid Kalnischkies
Also, read only one char in each step of ReadLine instead of back-"seeking"
2011-12-17keep track of where we are in a filedescriptor so we can use it as Tell()David Kalnischkies
information if we are working on a pipe which can't seek
2011-12-16try seeking on fds opened with OpenDescriptor before giving upDavid Kalnischkies
2011-12-15refactor compressor calling so that we don't (need to) export ExecCompressorDavid Kalnischkies
anymore and therefore are also able to drop quiet a bit of duplicated code
2011-12-14use FileFd instead of forking the compression childs by handDavid Kalnischkies
2011-12-13allow Open() and OpenDescriptor() to be called with a CompressorDavid Kalnischkies
2011-12-13note to myself: In case you rename something, make sure that you haveDavid Kalnischkies
renamed it everywhere as otherwise stuff "magically" starts to fail… Fixes commit 2209 as the mixture of #define names generates a lovely compilable but non-functional mixture of gzip usage…
2011-12-13Allow the FileFd to use an external Compressor to uncompress a given fileDavid Kalnischkies
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.
2011-12-11 - add a ReadLine methodDavid Kalnischkies
- drop the explicit export of gz-compression handling
2011-12-10* apt-pkg/contrib/fileutl.{h,cc}:David Kalnischkies
- implement a ModificationTime method for FileFd
2011-12-10enable FileFd to guess the compressor based on the filename if requested orDavid Kalnischkies
to search for compressed silbings of the given filename and use this guessing instead of hardcoding Gzip compression
2011-11-29split up the OpenMode into OpenMode and CompressionMode andDavid Kalnischkies
provide ReadOnly, WriteOnly and ReadWrite as flags alongside the additional flags as decompression will be one-way later, but certain parts really depend on Write* openmodes being ReadWrite opens, so we will have to fail for those.
2011-09-13merge with debian/experimentalDavid Kalnischkies
2011-09-13Support large files in the complete toolset. Indexes of thisDavid Kalnischkies
size are pretty unlikely for now, but we need it for deb packages which could become bigger than 4GB now (LP: #815895)
2011-09-13reorder includes: add <config.h> if needed and include it at firstDavid Kalnischkies
2011-07-28* apt-pkg/contrib/fileutl.{cc,h}:Michael Vogt
- add GetModificationTime() helper * apt-pkg/pkgcachegen.cc: - regenerate the cache if the sources.list changes to ensure that changes in the ordering there will be honored by apt * apt-pkg/sourcelist.{cc,h}: - add pkgSourceList::GetLastModifiedTime() helper
2011-03-10merged the lp:~mvo/apt/mvo branchMichael Vogt
2011-03-03* apt-pkg/contrib/fileutl.cc, apt-pkg/deb/dpkgpm.cc:Michael Vogt
- honor Dpkg::Chroot-Directory in the RunScripts*() methods
2011-02-14* apt-pkg/contrib/fileutl.cc:David Kalnischkies
- really detect bigendian machines by including config.h, so we can really (Closes: #612986) * apt-pkg/contrib/mmap.cc: - Base has as 'valid' failure states 0 and -1 so add a simple validData method to check for failure states
2011-02-14use inttypes to avoid suprises with different type sizesDavid Kalnischkies
2011-02-13* apt-pkg/contrib/fileutl.cc:David Kalnischkies
- reorder the loaded filesize bytes for big endian (Closes: #612986) Thanks to Jörg Sommer for the detailed analyse!
2011-01-13ignore non-regular files in GetListOfFilesInDir (Closes: #594694)David Kalnischkies
2011-01-12* apt-pkg/contrib/fileutl.cc:David Kalnischkies
- add a RealFileExists method and check that your configuration files are real files to avoid endless loops if not (Closes: #604401)
2010-10-21* apt-pkg/contrib/fileutl.cc:David Kalnischkies
- Add a FileFd::FileSize() method to get the size of the underlying file and not the size of the content in the file as FileFd::Size() does - the sizes can differ since the direct gzip integration * methods/{gzip,bzip2}.cc: - use FileSize() to determine if the file is invalid (Closes: #600852)
2010-10-13apt-pkg/contrib/fileutl.cc: fix FileFd::Size() for files that are empty or ↵Michael Vogt
for non-gzip files
2010-10-13* apt-pkg/contrib/fileutl.cc:Martin Pitt
- Fix FileFd::Size() for gzipped files to give the size of the uncompressed data. This fixes cache progress building progress going way over 100%.
2010-09-06rename the newly public CheckDirectory method to CreateAPTDirectoryIfNeededDavid Kalnischkies
to give a better indication what this method will do if called.
2010-09-02* apt-pkg/deb/dpkgpm.cc:David Kalnischkies
- create Dir::Log if needed to support /var/log as tmpfs or similar, inspired by Thomas Bechtold, thanks! (Closes: #523919, LP: #220239) Easily done by moving a private method from pkgAcquire into the public area of fileutl.cc to be able to use it also in here
2010-08-28* apt-pkg/contrib/fileutl.cc:David Kalnischkies
- apply SilentlyIgnore also on files without an extension
2010-08-10apt-pkg/contrib/fileutl.cc: Revert WriteEmpty to old behavior (LP: #613211)Julian Andres Klode
2010-08-10apt-pkg/contrib/fileutl.cc: Add WriteAtomic mode.Julian Andres Klode
2010-07-23* apt-pkg/contrib/fileutl.cc:Julian Andres Klode
- Add FileFd::OpenDescriptor() (needed for python-apt's #383617).
2010-07-11[ Martin Pitt ]David Kalnischkies
* 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.
2010-07-09check the state of the FileFd before renaming as otherwise the renameDavid Kalnischkies
will be tried twice e.g. in an "apt-get update" run and every other piece of code closing the FileFd manual before the destructor will do it again.
2010-07-06FileFd(): Drop file name extension check in ReadOnlyGzip modemartin@piware.de
Drop the ".gz" extension check in FileFd::Open() in ReadOnlyGzip mode, to not depend on a particular file extension. This allows rewriting the gzip method using internal decompression (on ".decomp" files). This requires a zlib bug workaround in FileFd::Close(): When opening an empty file with gzdopen(), gzclose() fails with Z_BUF_ERROR. Do not count this as a failure.
2010-07-05merge with debian-experimental-maDavid Kalnischkies
2010-06-29Fix the atomic replace.Julian Andres Klode
2010-06-29* apt-pkg/contrib/fileutl.cc:Julian Andres Klode
- Make FileFd replace files atomically in WriteTemp mode (for cache, etc).
2010-06-26* apt-pkg/contrib/fileutl.cc:David Kalnischkies
- show notice about ignored file instead of being always silent - add a Dir::Ignore-Files-Silently list option to control the notice *
2010-06-24Switch FileFd to not transparently gunzip, since that breaks code which ↵martin@piware.de
expects the compressed contents to stay (such as the copy backend, or when using file:// repositories. Instead, introduce a new ReadOnlyGzip mode and use that where needed
2010-06-09* apt-pkg/contrib/fileutl.{h,cc}:martin@piware.de
- Add support for transparent reading of gzipped files. - Link against zlib (in apt-pkg/makefile) and add zlib build dependency.
2010-04-07* apt-pkg/contrib/fileutl.cc:David Kalnischkies
- add a parent-guarded "mkdir -p" as CreateDirectory() * apt-pkg/acquire.{cc,h}: - add a delayed constructor with Setup() for success reporting - check for and create directories in Setup if needed instead of error out unfriendly in the Constructor (Closes: #523920, #525783) - optional handle a lock file in Setup() * cmdline/apt-get.cc: - remove the lock file handling and let Acquire take care of it instead
2010-04-04remove the ABI compatible stub for GetListOfFilesInDirDavid Kalnischkies
2010-01-23* apt-pkg/contrib/fileutl.cc:Michael Vogt
- Fix the newly introduced method GetListOfFilesInDir to not accept every file if no extension is enforced (= restore old behaviour). (Closes: #565213) * apt-pkg/policy.cc: - accept also partfiles with "pref" file extension as valid * apt-pkg/contrib/configuration.cc: - accept also partfiles with "conf" file extension as valid * doc/apt.conf.5.xml: - reorder description and split out syntax - add partfile name convention (Closes: #558348) * doc/apt_preferences.conf.5.xml: - describe partfile name convention also here * apt-pkg/deb/dpkgpm.cc: - don't segfault if term.log file can't be opened. Thanks Sam Brightman for the patch! (Closes: #475770) * doc/*: - replace the per language addendum with a global addendum - add a explanation why translations include (maybe) english parts to the new global addendum (Closes: #561636) * apt-pkg/contrib/strutl.cc: - fix malloc asseration fail with ja_JP.eucJP locale in apt-cache search. Thanks Kusanagi Kouichi! (Closes: #548884)
2010-01-08* French manpage translation updateMichael Vogt
* spot & fix various typos in all manpages * German manpage translation update * cmdline/apt-cache.cc: - remove translatable marker from the "%4i %s\n" string * buildlib/po4a_manpage.mak: - instruct debiandoc to build files with utf-8 encoding * buildlib/tools.m4: - fix some warning from the buildtools * apt-pkg/acquire-item.cc: - add configuration PDiffs::Limit-options to not download too many or too big patches (Closes: #554349) * debian/control: - let all packages depend on ${misc:Depends} * share/*-archive.gpg: - remove the horrible outdated files. We already depend on the keyring so we don't need to ship our own version * cmdline/apt-key: - errors out if wget is not installed (Closes: #545754) - add --keyring option as we have now possibly many * methods/gpgv.cc: - pass all keyrings (TrustedParts) to gpgv instead of using only one trusted.gpg keyring (Closes: #304846) * methods/https.cc: - finally merge the rest of the patchset from Arnaud Ebalard with the CRL and Issuers options, thanks! (Closes: #485963)
2009-08-03[apt-pkg/contrib/fileutl.cc] In function ExecWait(): fix compile warning:David Kalnischkies
warning: suggest explicit braces to avoid ambiguous ‘else’
2009-07-02* apt-pkg/acquire-worker.cc:Michael Vogt
- show error details of failed methods * apt-pkg/contrib/fileutl.cc: - if a process aborts with signal, show signal number * methods/http.cc: - ignore SIGPIPE, we deal with EPIPE from write in HttpMethod::ServerDie() (LP: #385144)
2008-05-23Apply patch to avoid truncating of arbitrary files. Thanks to BryanOtavio Salvador
Donlan <bdonlan@fushizen.net> for the patch. Closes: #482476