rpm/lib
Michael Schroeder ae0347cfb2 Improve hardlink handling in the disk space calculation
Before this commit, rpm simply did not take hardlinks into account
when calculating disk space requirements. This made it fail
spectaculary for packages that contain a high number of hardlinks,
like glibc-locale.

We now "bind" the file size to the last hardlink member. This
is still not 100% correct as the last file may not get installed
in some cases or only the last file may be replaced. But it is
still much better than what rpm did before.
2018-02-19 13:24:58 +02:00
..
backend Only fallback to MDB_RDONLY if readonly database is requested 2017-08-28 19:33:40 +03:00
.gitignore build: Update .gitignore rules 2011-10-11 12:55:15 +03:00
Makefile.am Add LMDB backend to RPM 2017-08-17 12:49:06 +03:00
cpio.c Report cpio magic/header read failures as bad magic/header 2017-06-30 12:43:00 +03:00
cpio.h Fix doxygen warnings 2015-02-17 15:31:22 +01:00
depends.c Add support for 'unless' rich dependencies 2017-09-06 08:32:45 +03:00
formats.c Store signature/key creation time in a saner format internally 2017-04-13 14:44:05 +03:00
fprint.c Replace rpmdbCheckSignals() with rpmsqPoll() everywhere, eliminate from API 2016-12-14 18:57:58 +02:00
fprint.h Allow passing a shared pool for finger print cache 2012-09-14 14:21:10 +03:00
fsm.c Remove now redundant code and parameters from expandRegular() 2017-10-27 09:26:17 +03:00
fsm.h Fix doxygen warnings 2015-02-17 15:31:22 +01:00
gentagtbl.sh Use actual enum values in tag table sentinel to avoid int/enum mismatch 2010-09-21 15:26:25 +03:00
header.c Place file signatures into the signature header where they belong 2017-10-10 12:18:36 +03:00
header.h Eliminate the umphteen deprecated N(E)VR(A) etc getter APIs 2016-10-24 12:37:18 +03:00
header_internal.h Use a simple heuristic to test for source package headers 2017-06-28 10:20:19 +03:00
headerfmt.c Make queryformat array behavior consistent for all types 2017-08-30 16:57:09 +03:00
headerutil.c Don't reload to legacy image on headerCopy() 2017-03-01 15:38:34 +02:00
manifest.c Don't accept '-' in manifests 2015-11-18 15:53:52 +01:00
manifest.h Drop bogus const from rpmReadPackageManifest argvptr 2007-12-18 12:53:57 +02:00
misc.h Clean up rpmdb leftovers from an atexit() handler. 2016-12-13 11:19:03 +02:00
order.c Add support for 'unless' rich dependencies 2017-09-06 08:32:45 +03:00
package.c Fix "substatus" (eg NOKEY) regression on package read (#330) 2017-10-11 15:35:19 +03:00
poptALL.c Split cli verification flags out of qva_flags 2017-11-14 11:12:04 +02:00
poptI.c Accept --nocaps also for the package installation 2017-04-04 09:33:23 +03:00
poptQV.c Eliminate redundant VERIFY_FOO file verify bits 2017-11-13 15:55:01 +02:00
psm.c Fix progress bar printing for packages with wrong archive size (RhBug:1478051) 2018-02-09 13:35:36 +02:00
query.c Split cli verification flags out of qva_flags 2017-11-14 11:12:04 +02:00
relocation.c Eliminate a mindless switch-case in rpmInstallLoadMacros() 2016-12-09 09:20:10 +02:00
rpmal.c Add rpmalLookupTE helper 2017-08-10 09:46:13 +02:00
rpmal.h Add rpmalLookupTE helper 2017-08-10 09:46:13 +02:00
rpmarchive.h Add/fix a few missing/misleading doxygen annotations 2016-11-02 13:37:09 +02:00
rpmcallback.h Add RPMCALLBACK_ELEM_PROGRESS callback type 2016-01-28 17:03:54 +01:00
rpmchecksig.c Don't require signature header to be in single contiguous region (#270) 2017-11-29 11:24:09 +02:00
rpmchroot.c Add an error message + comments on open(".") behavior (RhBug:672576) 2011-01-28 13:19:53 +02:00
rpmchroot.h Add "c++ protection" to (hopefully) all of our internal headers 2010-09-21 15:21:12 +03:00
rpmcli.h Axe yet more unimplemented/unused/redundant cruft from query/verify flags 2017-11-14 11:27:54 +02:00
rpmdb.c Ensure all indexes get created on --rebuilddb 2017-10-05 11:35:51 +03:00
rpmdb.h Replace rpmdbCheckSignals() with rpmsqPoll() everywhere, eliminate from API 2016-12-14 18:57:58 +02:00
rpmdb_internal.h Fix doxygen warnings 2015-02-17 15:31:22 +01:00
rpmds.c Forbid 'if' richops in 'or' context and 'unless' richops in 'and' context 2017-09-22 14:38:27 +03:00
rpmds.h Forbid 'if' richops in 'or' context and 'unless' richops in 'and' context 2017-09-22 14:38:27 +03:00
rpmds_internal.h Eliminate rpmdsNotify() from the API + Python bindings 2017-03-28 16:34:12 +03:00
rpmfi.c Don't segfault on NULL fi in generated rpmfi iterators, doh 2017-12-13 10:39:53 +02:00
rpmfi.h Fix missing @param in rpmfilesVerify() and rpmfiVerify() doxygen doco 2016-12-01 11:39:04 +02:00
rpmfi_internal.h Add mode for updating with minimal writing (RhBug:783480) 2017-04-21 13:50:50 +03:00
rpmfiles.h Improve hardlink handling in the disk space calculation 2018-02-19 13:24:58 +02:00
rpmfs.c Reset file actions between rpmtsRun() calls (RhBug:1076552) 2014-03-21 12:44:03 +02:00
rpmfs.h Reset file actions between rpmtsRun() calls (RhBug:1076552) 2014-03-21 12:44:03 +02:00
rpmgi.c Remove some unnecessary assignments flagged by cppcheck 2016-07-29 17:41:36 +02:00
rpmgi.h Stop abusing enum typedefs for bitfield types 2010-09-21 11:10:14 +03:00
rpmhash.C Fix memory leak in rpmhash implementation 2014-09-16 11:12:10 +02:00
rpmhash.H Add alternative hash key add/get/check methods with prehashed key 2012-09-05 10:38:36 +03:00
rpminstall.c Split cli verification flags out of qva_flags 2017-11-14 11:12:04 +02:00
rpmlead.c Ensure rpmlead is fully initialized 2016-11-30 09:17:53 +02:00
rpmlead.h ...and finally bury the rpmlead datatype entirely inside rpmlead.c 2016-10-27 11:08:25 +03:00
rpmlib.h Make the rpm 4.4.x compat layer removal explicit via an error message 2017-08-11 14:11:53 +03:00
rpmliblua.c Add lua 5.2 support. 2012-10-09 08:28:52 +03:00
rpmliblua.h Add "c++ protection" to (hopefully) all of our internal headers 2010-09-21 15:21:12 +03:00
rpmlock.c Fix misleading error message when missing TTY (#355) 2018-02-12 13:18:13 +02:00
rpmlock.h Export rpmlock release method internally as well 2013-03-11 11:12:35 +02:00
rpmplugin.h Drop the experimental collection support 2014-06-17 16:27:24 +03:00
rpmplugins.c Fix misleading-indentation in rpmplugins.c 2016-09-21 10:10:09 +02:00
rpmplugins.h Fix doxygen warnings 2015-02-17 15:31:22 +01:00
rpmpol.h Stop abusing enum typedefs for bitfield types 2010-09-21 11:10:14 +03:00
rpmprob.c Revert the previous change, it caused regressions (rhbz:1303265) 2016-02-01 09:43:58 +01:00
rpmprob.h Spelling fixes. 2013-02-19 21:35:40 +02:00
rpmps.c Fix couple of incorrect sizeof() uses 2011-03-17 14:08:54 +02:00
rpmps.h Eliminate all fooUnlink() functions out of the API 2010-09-13 13:08:33 +03:00
rpmrc.c in linux, rename parisc to hppa 2017-07-18 15:22:02 +02:00
rpmscript.c Fix regression on SIGPIPE from scriptlet killing (RhBug:1264198) 2017-05-10 15:20:06 +03:00
rpmscript.h Now rpmScriptFromTriggertag() can load file trigger scripts. 2015-02-05 08:08:12 +01:00
rpmtag.h Fix another silly mistake in file signature move 2017-10-10 19:05:17 +03:00
rpmtd.c Eliminate the rest of idiotic assert()'s in rpmtd.c 2017-09-05 13:13:49 +03:00
rpmtd.h add short summaries to headers that miss one 2016-01-28 14:42:47 +01:00
rpmte.c Add TR_RPMDB element type for representing packages from the rpmdb 2017-10-03 16:13:19 +03:00
rpmte.h Add TR_RPMDB element type for representing packages from the rpmdb 2017-10-03 16:13:19 +03:00
rpmte_internal.h Add TR_RPMDB element type for representing packages from the rpmdb 2017-10-03 16:13:19 +03:00
rpmtriggers.c Eliminate file trigger second argument (aka $2) 2018-02-16 14:29:28 +02:00
rpmtriggers.h Fixups to file trigger internal api docs + comments 2017-12-13 12:06:45 +02:00
rpmts.c Refactor gpg-pubkey seal + digest calculation to helper function 2018-02-15 14:24:39 +02:00
rpmts.h Accept --nocaps also for the package installation 2017-04-04 09:33:23 +03:00
rpmts_internal.h Always execute scriptlet callbacks with owning header (RhBug:1485389) 2017-09-04 17:39:16 +03:00
rpmtypes.h Chainsaw rpmfi iteration apart from the actual file set 2013-11-07 14:27:26 +02:00
rpmug.c Generalize primary user/group for platforms (#210) 2017-05-18 16:50:18 +03:00
rpmug.h Initialize all the name services we need 2014-01-28 09:45:55 +02:00
rpmvercmp.c Spelling fixes. 2013-02-19 21:35:40 +02:00
rpmvs.c Only non-binary digests have hex strings to validate 2017-05-30 12:32:38 +03:00
rpmvs.h Separate sig/dig verify results from verbose error messages 2017-05-24 12:24:26 +03:00
signature.c Fix sigheader generation for big archives 2018-01-11 11:43:15 +02:00
signature.h Lift all the new signature stuff into new rpmvs.[ch] source + header 2017-04-28 10:41:58 +03:00
tagexts.c Make sure getNEVRA always sets td.data 2016-04-26 10:05:35 +02:00
tagname.c Make arrays static so valgrind does not complain about lost memory 2016-03-31 11:53:31 +02:00
transaction.c Improve hardlink handling in the disk space calculation 2018-02-19 13:24:58 +02:00
verify.c Fix %ghost/%missingok files causing bogus verify failures (RhBug:1533092) 2018-01-12 12:21:03 +02:00