summaryrefslogtreecommitdiff
path: root/apt-pkg/contrib/fileutl.h
Commit message (Collapse)AuthorAgeFilesLines
* add new pid_t ExecFork(std::set<int> KeepFDs) to get rid of the super ugly ↵Michael Vogt2013-10-311-0/+2
| | | | APT::Keep-Fds hack and also add a new PackageManagerProgressFd::StartDpkg() progress state
* * lp:~mvo/apt/add-glob-function:Michael Vogt2013-08-151-0/+3
| | | | | | | - add Glob() to fileutl.{cc,h} Conflicts: apt-pkg/contrib/fileutl.h debian/changelog
* set Fail flag in FileFd on all errors consistentlyDavid Kalnischkies2013-06-091-0/+4
| | | | | | Previously some errors would set the Fail flag while some didn't without a clear reason as all errors leave a bad FileFd behind, so we use a helper now to ensure that all errors set the flag.
* use a static FileFd::Write overload to reduce duplication of write()-retry codeDavid Kalnischkies2012-04-111-0/+1
|
* * apt-pkg/cachefile.cc:David Kalnischkies2012-02-111-0/+1
| | | - clean up lost atomic cachefiles with 'clean' (Closes: #650513)
* rework previous patch to avoid changing the inline codeMichael Vogt2012-02-031-4/+1
|
* * apt-pkg/contrib/fileutl.h:Michael Vogt2012-02-031-1/+4
| | | - fix compat with FileFd::OpenDescriptor() in ReadOnlyGzip mode
* * apt-pkg/contrib/fileutils.h:Michael Vogt2012-01-161-1/+1
| | | - fix segfault from python-apt testsuite
* refactor compressor calling so that we don't (need to) export ExecCompressorDavid Kalnischkies2011-12-151-8/+0
| | | | anymore and therefore are also able to drop quiet a bit of duplicated code
* use FileFd instead of forking the compression childs by handDavid Kalnischkies2011-12-141-10/+10
|
* allow Open() and OpenDescriptor() to be called with a CompressorDavid Kalnischkies2011-12-131-1/+3
|
* revert 2184.1.2: do not pollute namespace in headersDavid Kalnischkies2011-12-131-0/+4
| | | | | The breakage is just to big for now, so guard the change with #ifndef APT_8_CLEANER_HEADERS and be nice to library users
* Allow the FileFd to use an external Compressor to uncompress a given fileDavid Kalnischkies2011-12-131-0/+10
| | | | | | | | | | | 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.
* - add a ReadLine methodDavid Kalnischkies2011-12-111-11/+19
| | | - drop the explicit export of gz-compression handling
* * apt-pkg/contrib/fileutl.{h,cc}:David Kalnischkies2011-12-101-0/+1
| | | - implement a ModificationTime method for FileFd
* enable FileFd to guess the compressor based on the filename if requested orDavid Kalnischkies2011-12-101-3/+11
| | | | | to search for compressed silbings of the given filename and use this guessing instead of hardcoding Gzip compression
* split up the OpenMode into OpenMode and CompressionMode andDavid Kalnischkies2011-11-291-4/+26
| | | | | | | 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.
* do not pollute namespace in the headers with using (Closes: #500198)David Kalnischkies2011-09-191-22/+20
|
* merge with debian/experimentalDavid Kalnischkies2011-09-131-0/+1
|\
| * * apt-pkg/contrib/fileutl.{cc,h}:Michael Vogt2011-07-281-0/+1
| | | | | | | | | | | | | | | | - 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
* | Support large files in the complete toolset. Indexes of thisDavid Kalnischkies2011-09-131-10/+25
|/ | | | size are pretty unlikely for now, but we need it for deb packages which could become bigger than 4GB now (LP: #815895)
* * methods/rred.cc:David Kalnischkies2011-01-151-0/+1
| | | | | - operate optional on gzip compressed pdiffs * apt-pkg/acquire-item.cc: - don't uncompress downloaded pdiff files before feeding it to rred
* * apt-pkg/contrib/fileutl.cc:David Kalnischkies2011-01-121-0/+1
| | | | - add a RealFileExists method and check that your configuration files are real files to avoid endless loops if not (Closes: #604401)
* * apt-pkg/contrib/fileutl.cc:David Kalnischkies2010-10-211-0/+1
| | | | | | | - 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)
* rename the newly public CheckDirectory method to CreateAPTDirectoryIfNeededDavid Kalnischkies2010-09-061-1/+1
| | | | to give a better indication what this method will do if called.
* * apt-pkg/deb/dpkgpm.cc:David Kalnischkies2010-09-021-0/+9
| | | | | | | - 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
* apt-pkg/contrib/fileutl.cc: Add WriteAtomic mode.Julian Andres Klode2010-08-101-1/+2
|
* * apt-pkg/contrib/fileutl.cc:Julian Andres Klode2010-07-231-0/+4
| | | - Add FileFd::OpenDescriptor() (needed for python-apt's #383617).
* [ Martin Pitt ]David Kalnischkies2010-07-111-5/+8
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
| * Switch FileFd to not transparently gunzip, since that breaks code which ↵martin@piware.de2010-06-241-1/+1
| | | | | | | | 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
| * * apt-pkg/contrib/fileutl.{h,cc}:martin@piware.de2010-06-091-3/+6
| | | | | | | | - Add support for transparent reading of gzipped files. - Link against zlib (in apt-pkg/makefile) and add zlib build dependency.
* | * apt-pkg/contrib/fileutl.cc:Julian Andres Klode2010-06-291-1/+2
| | | | | | - Make FileFd replace files atomically in WriteTemp mode (for cache, etc).
* | * apt-pkg/contrib/fileutl.cc:David Kalnischkies2010-04-071-0/+3
| | | | | | | | | | | | | | | | | | | | - 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
* | remove the ABI compatible stub for GetListOfFilesInDirDavid Kalnischkies2010-04-041-4/+1
|/
* * apt-pkg/contrib/fileutl.cc:Michael Vogt2010-01-231-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | - 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)
* * French manpage translation updateMichael Vogt2010-01-081-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | * 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)
* * merged the apt--DoListUpdate branch, this provides a common interfaceMichael Vogt2008-01-041-0/+1
|\ | | | | | | for apt-get update like operations for the frontends and also provides hooks to run stuff in APT::Update::{Pre,Post}-Invoke
| * * apt-pkg/deb/dpkgpm.cc, apt-pkg/contrib/fileutl.{cc,h}:Michael Vogt2006-06-071-0/+1
| | | | | | | | | | | | - move the RunScripts() code into fileutl.{cc,h} * apt-pkg/cachefile.cc: - add support for "APT::Update::{Pre,Post}-Invoke" scripts
* | * removed the remaining #ifdef __GNUG__ that are no longer requiredMichael Vogt2006-10-021-2/+0
| |
* | * removed the pragma messMichael Vogt2006-10-021-1/+0
|/
* * merged from mainMichael Vogt2005-08-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Patches applied: * 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 * michael.vogt@ubuntu.com--2005/apt--fixes--0--patch-5 * merged with apt--main--0 * 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
* Merge michael.vogt@canonical.com--2004/apt--status-fd--0Matt Zimmerman2005-01-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Patches applied: * michael.vogt@canonical.com--2004--laptop/apt--status-fd--0--base-0 tag of apt@packages.debian.org/apt--main--0--patch-32 * michael.vogt@canonical.com--2004--laptop/apt--status-fd--0--patch-1 * michael.vogt@canonical.com--2004--laptop/apt--status-fd--0--patch-2 * changed version of the library * michael.vogt@canonical.com--2004--laptop/apt--status-fd--0--patch-3 * merged with matt again * michael.vogt@canonical.com--2004--laptop/apt--status-fd--0--patch-4 * merged with apt--main--0 and fixed permissions in po/ * michael.vogt@canonical.com--2004/apt--status-fd--0--patch-1 tag of michael.vogt@canonical.com--2004--laptop/apt--status-fd--0--patch-4 * michael.vogt@canonical.com--2004/apt--status-fd--0--patch-2 * merged with matt's tree * michael.vogt@canonical.com--2004/apt--status-fd--0--patch-3 * removed a stupid "<<<" merge in the changelog * michael.vogt@canonical.com--2004/apt--status-fd--0--patch-4 * star-merged with apt@packages.debian.org/apt--main--0 * michael.vogt@canonical.com--2004/apt--status-fd--0--patch-5 * removed the "pre-fork/post-fork" change and put it into it's own branch, star-merged with matt so that it applies cleanly * michael.vogt@canonical.com--2004/apt--status-fd--0--patch-6 * cleaned a incorrect log-file merge * michael.vogt@canonical.com--2004/apt--status-fd--0--patch-7 * removed a conflict in =tagging-method * michael.vogt@canonical.com--2004/apt--status-fd--0--patch-8 * cleaned up the delta so that it no longer contains unreleated whitespace changes
* Merge misc-abi-changesMatt Zimmerman2004-12-131-2/+2
| | | | | | | | | | | | | | | | | Patches applied: * apt@packages.debian.org/apt--misc-abi-changes--0--base-0 tag of apt@packages.debian.org/apt--main--0--patch-16 * apt@packages.debian.org/apt--misc-abi-changes--0--patch-1 Fix apt-get -s remove to not display the candidate version * apt@packages.debian.org/apt--misc-abi-changes--0--patch-2 Merge from main * apt@packages.debian.org/apt--misc-abi-changes--0--patch-3 Use pid_t throughout to hold process IDs
* G++3 fixes from RandolphArch Librarian2004-09-201-1/+3
| | | | | | Author: jgg Date: 2001-05-07 05:05:13 GMT G++3 fixes from Randolph
* Tag file can read from unseekable objectsArch Librarian2004-09-201-2/+9
| | | | | | Author: jgg Date: 2001-04-22 05:42:52 GMT Tag file can read from unseekable objects
* new tempfile writing mode (WriteTemp) for FileFd classArch Librarian2004-09-201-2/+2
| | | | | | Author: tausq Date: 2001-03-03 22:36:20 GMT new tempfile writing mode (WriteTemp) for FileFd class
* Join with aliencodeArch Librarian2004-09-201-2/+5
| | | | | | Author: jgg Date: 2001-02-20 07:03:16 GMT Join with aliencode
* Bug fixesArch Librarian2004-09-201-1/+2
| | | | | | Author: jgg Date: 1999-09-30 06:30:34 GMT Bug fixes
* Minor cleanups, fix for checksum lowercase bugArch Librarian2004-09-201-3/+6
| | | | | | Author: jgg Date: 1999-07-26 17:46:07 GMT Minor cleanups, fix for checksum lowercase bug
* Daniel Jacobowitz's gcc 2.95 C++ patchArch Librarian2004-09-201-1/+2
| | | | | | Author: jgg Date: 1999-07-20 05:53:32 GMT Daniel Jacobowitz's gcc 2.95 C++ patch