summaryrefslogtreecommitdiff
path: root/lib/libalpm/package.c
AgeCommit message (Collapse)Author
2007-02-14* Fixed _alpm_pkg_compare_versions so that it does not output warnings if ↵Aaron Griffin
versions match. (reported by Travis Willard)
2007-02-13* Refactored conflict checking within packages. Profiling from Dan showed anAaron Griffin
unbelievable amount of strcmp() calls (25 million) due to the list searching. This has been reimplemented with a set-intersection scheme, due to the fact that file lists are always ordered. - NEEDS TESTING * Minor clean up, "globalized" the str_cmp helper to match the alpm comparison signature, so we can use it elsewhere.
2007-02-13Removed desc_localized for the time being. We don't have localizedAaron Griffin
descriptions, nor do we actually build them with the newest makepkg. The actual implementation in here seems like it could be done better, and it soaks a large amount of CPU time according to profilers.
2007-02-10* Package file parsing - fixed size and isize - isize is the "size" variableAaron Griffin
from the PKGINFO, and size is the stat() size of the archive * Removed the useless 'output' param from package.c:parse_descfile * Installation progress - Call progress callback once at 0% for initialization - 'needdisp' was useless - alpm_list_count is called an excessive amount in these nested loops. Now we only call it once per iteration - Use the compressed sizes for PROGRESS calcs as uncompressed (isize) is not exact (it is missing metadata sizes), and thus produces > 100% numbers
2007-02-09* Fix compile errors/warnings.Dan McGee
* Update .cvsignore files a bit.
2007-02-09* I made "alpm_versioncmp" public a while back, without noticing this was ↵Aaron Griffin
already done (alpm_pkg_vercmp). I dropped this change, making versioncmp "private" again. (alpm_versioncmp -> _alpm_versioncmp, hidden symbol) * Make alpm_get_upgrades use the same version check that -Su and -S use.
2007-02-07Only honor 'force' if versions are NOT identicalAaron Griffin
2007-02-07Cleanup and more debug info for alpm_pkg_compare_versionsAaron Griffin
2007-02-06Cleaning up mistakes. :PDan McGee
2007-02-06Attempt #2 at -S/-Su unification: verify that the 'force' option has been ↵Aaron Griffin
read before comparing versions
2007-02-06Copy-pasta errors. 8)Aaron Griffin
2007-02-06Attempt to unify the -S and -Su version comparissons for when a package is newerAaron Griffin
See FS#5388
2007-02-04Implemented a crappy version of -Qu (query upgrades). This simply outputs theAaron Griffin
packages to be upgraded in a -Su operation. Much of the code is duplicated from sync.c. TODO: move the implementation to upgrades.c, and reimplement the sync_sysupgrade function in terms of this: trans->packages = alpm_get_upgrades();
2007-02-04* Added archive verification when loading package metadata for -u and -AAaron Griffin
operations (now aborts on a corrupt archive) * Fixed the pm_fprintf newline error that was plaguing us. It seems a line resetting 'neednl' was removed a while back (by me). This causes all the output errors we've been seeing
2007-02-01Loading package data from a file was ALWAYS generating the filelist, instead ofAaron Griffin
using the in-package one. This is now fixed, and an autogenerated one is used as a last resort. This fixes the bug where /.CHANGELOG showed up in -Ql.
2007-02-01* !strcmp reads funny (as "not string compare" - switch those to == 0, which hasAaron Griffin
a positive connotation. * Added a nice TODO
2007-01-30K. Piche <kevin.piche@cgi.com>Aaron Griffin
* ALPM_LOG_FUNCTION macro and all the great work to add this macro everywhere
2007-01-30K. Piche <kpiche@rogers.com>Aaron Griffin
* gcc visiblity changes Also modified _alpm_versioncmp -> alpm_versioncmp (public function) as per K. Piche's suggestions
2007-01-24* Shuffled some of the alpm_list free funtions - still not perfect, but betterAaron Griffin
* Added alpm_list_remove_node for single list node removal * Proper error checking/output for failed db_read/db_write (missing files) * Invalid packages (missing files) are now removed from the package cache * -Qs and -Ss output now look the same * config.rpath causes errors on one machine I had, so I added it to CVS * Fixed a "clobbered memory" issue when installing groups - only the outer list should be free'd, not the contained data
2007-01-24This mainly deals with code clarity- removing currently unneededAaron Griffin
optimizations in order to make the code much more readable and type-checkable. Every enum in the library now has it's own type that should be used instead of the generic 'unsigned char'. In addition, several #define statements dealing with constants were converted to enums. Signed-off-by: Dan McGee <dpmcgee@gmail.com>
2007-01-22* Added a check for .FILELIST for package validity in addition to .PKGINFOAaron Griffin
2007-01-19Moved some decls to make the "pkg_invalid" patch compile again.Aaron Griffin
2007-01-19Whoops. There's a 0 where there should be a 1.Aaron Griffin
2007-01-19Johannes Weiner <hannes@saeurebad.de>Aaron Griffin
* package cleanup (pkg_invalid) refactoring
2007-01-19Johannes Weiner <hannes@saeurebad.de>Aaron Griffin
* use calloc to zero-out new packages (far more ideal) * use memcpy to copy primatives when copying package structures
2007-01-19Preliminary checkin for alpm_list conversionAaron Griffin
* renamed pmlist_t -> alpm_list_t * made alpm_list_t a public type (alpm_list.h header) * removed additional storage for registered DBs in pacman source * some code cleanup * removed duplicate (pm)list_display functions from pacman source * misc code cleanup
2007-01-18Dan McGee <dpmcgee@gmail.com>Aaron Griffin
* Removed some unnecessary headers and library links * Made things static if possible * Cleaned up makefiles a bit * Fixed some old comments in the code * Fixed some errors the static code checker splint pointed out * Backwards arguments in a memset call in _alpm_db_read (could have been worse) * Other various small fixes Other: * Default to 80 columns when getcols cannot determine display width * Removal of ._install as a valid install file in packages
2006-11-22* Completed getinfo api changes (pmmissing_t, pmtrans_t, etc)Aaron Griffin
* Modified some dependancy checking * Changed "performing local database upgrade" message to be more clear * Change 'usize' to 'isize' in database files * Scriptlet output is now sent to pacman's log file * Limited some debugging output to be more clear
2006-11-20* repo-add script - to add entries to a db file directly from package data ↵Aaron Griffin
(no PKGBUILD) * libalpm api changes - move from a _getinfo(p, WHAT_WE_WANT) scheme to a typesafe _get_what_we_want(p) scheme [not 100% complete yet] * some const correctness changes * removal of PM_* types in alpm.h in favor of the pm*_t types used throughout libalpm
2006-11-15* Initial changes to gensync - makepkg changes were not checked in from anotherAaron Griffin
machine - still pending * Addition of _alpm_pkg_makefilename to simplify the with/without -ARCH prefix scheme we're going with for the interim
2006-11-14* has_archname changesAaron Griffin
* makepkg attempt at multiple file integrity checks * honor "force" option on -S packages (not just -Su)
2006-11-14* Numerous mini valgrind fixes.Aaron Griffin
* Addition of hacky architecture check in the _splitname function * Removal of libfetch from the archlinux proper - it has been renamed to libdownload and can be found at http://phraktured.net/libdownload * Merge of _some_ of the Frugalware makepkg change - this may still be incomplete * Removal of libftp from cvs proper * PKGBUILD manpage now says 'PKGBUILD' instead of FrugalBuild (he he)
2006-10-31Numerous changes:Aaron Griffin
* Furthered the "lazy caching" to force the pkgcache to read nothing (INFRQ_NONE) by default. Anything requiring package data should now check the infolevel of each package and attempt to update it. This could be ironed out a bit more later (by using the front-end get_info function * Switched to libfetch. Drastic changes to the download code and the callback progress bar functions. Also fixed the return value of _alpm_downloadfiles_forreal. Downloading now supports http, ftp, https, and files urls, along with 'mtime's and numerous other fancy features from libfetch.
2006-10-20A handful of minor changes:Aaron Griffin
* Removed the PMList typedef, in favor of the same naming scheme other structs use 'pmlist_t' * Added a time stamp on debug output, to make it more informational * Moved alpm_db_register to _alpm_db_register, making the public function not take a callback parameter
2006-10-15Merged frugalware changes (too many to list). Also added some config fileAaron Griffin
handling changes (support [sections] to carry over to included files - this helps with backwards compatibility with existing pacman config files)
2006-09-28removed libtar support in favour of libarchiveJudd Vinet
2006-05-15first stage of i18n stuff from VMiklosJudd Vinet
2006-03-08code cleanupAurelien Foret
2006-03-08all _alpm_XXX_cmp functions are now publicAurelien Foret
2006-03-07code cleanupAurelien Foret
2006-03-01added ERROR logs in case of malloc failures (patch from VMiklos ↵Aurelien Foret
<vmiklos@frugalware.org>)
2006-02-22improved _alpm_list_free handlingAurelien Foret
2006-02-20dropped the MALLOC macroAurelien Foret
2006-02-17prepend library function names with _alpm (helped with the patch from ↵Aurelien Foret
VMiklos <vmiklos@frugalware.org>) added log and event callbacks to sync_commit internal transactions
2006-02-16- db_write: add support to write both local and sync entriesAurelien Foret
- code cleanup
2006-01-18more code cleanup yetAurelien Foret
2006-01-10added ALLDEPS transaction flag mainly to handle "makepkg -s"Aurelien Foret
2006-01-09- merged pkg_new and pkg_dummy functionsAurelien Foret
- renamed _alpm_log_action to _alpm_logaction
2006-01-02patch from VMiklos - use PACKAGE_VERSION instead of PACMAN_VERSIONJudd Vinet
2005-12-28Fixed some memory leaks (patch from Essien Ita Essien <essiene@datavibe.net>)Aurelien Foret