pacman/lib/libalpm
Nagy Gabor 03021713e5 _alpm_db_add_pkgincache rework
Commit 8240da6cb3 broke some alpm hierarchy
and introduced a new memleak (trans->packages was never freed in case of add
transaction, even if the transaction wasn't committed), so it is reverted
now.

We follow a different approach to reduce memory usage:
_alpm_db_add_pkgincache doesn't duplicate the whole package before adding
it to the cache, only the package name and version (INFRQ_BASE).
This method needs very small extra memory (compared to the reverted method),
and after transaction commit we use less memory than before (since the
big 'files' fields are not copied to cache), this is useful in GUIs.

Note: The old add_pkgincache was a bit broken, since pkg->origin wasn't
filled in correctly.

Signed-off-by: Nagy Gabor <ngaba@bibl.u-szeged.hu>
Acked-by: Xavier Chantry <shiningxc@gmail.com>
Signed-off-by: Dan McGee <dan@archlinux.org>
2008-07-15 19:16:42 -05:00
..
po Merge branch 'maint' 2008-07-07 21:39:42 -05:00
.gitignore Remove unnecessary entries from .gitignore files 2007-07-16 16:49:28 -04:00
Makefile.am Refactor pkg_load/parse_descfile into a new backend file 2008-05-11 20:07:55 -05:00
add.c Fix some memleaks in alpm/add.c 2008-07-15 19:13:30 -05:00
add.h Update GNU GPL boilerplate and copyright dates 2007-12-10 22:55:39 -06:00
alpm.c Remove unnecessary header file, move one macro to util.c 2008-04-06 20:20:20 -05:00
alpm.h sync_addtarget rework 2008-07-13 09:16:55 -05:00
alpm_list.c Cleanup usages of alpm_list_find and alpm_list_remove. 2008-05-13 15:49:02 -05:00
alpm_list.h Cleanup usages of alpm_list_find and alpm_list_remove. 2008-05-13 15:49:02 -05:00
backup.c memleak fix: ensure backup fname isn't lost if unused 2008-03-23 16:55:52 -05:00
backup.h Update GNU GPL boilerplate and copyright dates 2007-12-10 22:55:39 -06:00
be_files.c Use access() instead of stat() when possible 2008-06-15 22:52:27 -05:00
be_package.c Don't display filename on -Qip operation. 2008-06-04 16:25:31 -05:00
cache.c _alpm_db_add_pkgincache rework 2008-07-15 19:16:42 -05:00
cache.h Update GNU GPL boilerplate and copyright dates 2007-12-10 22:55:39 -06:00
conflict.c Remove an outdated exception check in file conflict code 2008-05-13 15:49:02 -05:00
conflict.h New _alpm_conflict_dup function 2008-01-27 11:54:25 -06:00
db.c Use correct C type for file sizes 2008-06-04 15:38:47 -05:00
db.h Fix rewinddir regression by cleaning up db_scan 2008-05-13 18:44:13 -05:00
delta.c Use correct C type for file sizes 2008-06-04 15:38:47 -05:00
delta.h Use correct C type for file sizes 2008-06-04 15:38:47 -05:00
deps.c sync_addtarget rework 2008-07-13 09:16:55 -05:00
deps.h sync_addtarget rework 2008-07-13 09:16:55 -05:00
dload.c Use correct C type for file sizes 2008-06-04 15:38:47 -05:00
dload.h Remove unnecessary import in dload.h 2008-04-10 20:53:28 -05:00
error.c Fix some fallout from the delta/download changes 2008-04-26 13:03:53 -05:00
graph.h Use correct C type for file sizes 2008-06-04 15:38:47 -05:00
group.c Cleanup usages of alpm_list_find and alpm_list_remove. 2008-05-13 15:49:02 -05:00
group.h Cleanup usages of alpm_list_find and alpm_list_remove. 2008-05-13 15:49:02 -05:00
handle.c Reimplement TotalDownload functionality 2008-06-04 15:38:53 -05:00
handle.h Reimplement TotalDownload functionality 2008-06-04 15:38:53 -05:00
log.c Remove unnecessary header file, move one macro to util.c 2008-04-06 20:20:20 -05:00
log.h Update GNU GPL boilerplate and copyright dates 2007-12-10 22:55:39 -06:00
md5.c libalpm/md5: Fix license header 2008-06-03 21:31:31 -05:00
md5.h libalpm/md5: Fix license header 2008-06-03 21:31:31 -05:00
package.c New _alpm_dep_edge function 2008-07-07 21:04:16 -05:00
package.h Use correct C type for file sizes 2008-06-04 15:38:47 -05:00
remove.c Fix for remove052.py by moving recursedeps before checkdeps. 2008-05-29 06:37:20 -05:00
remove.h Update GNU GPL boilerplate and copyright dates 2007-12-10 22:55:39 -06:00
sync.c sync_addtarget rework 2008-07-13 09:16:55 -05:00
sync.h pmsyncpkg_t cleanup 2008-01-27 12:05:33 -06:00
trans.c _alpm_db_add_pkgincache rework 2008-07-15 19:16:42 -05:00
trans.h Remove trans->targets 2008-03-10 18:57:36 -05:00
util.c Use access() instead of stat() when possible 2008-06-15 22:52:27 -05:00
util.h Remove unnecessary NULL check in FREE() macro 2008-04-19 15:59:40 -05:00