summaryrefslogtreecommitdiffstats
path: root/lib/libalpm/package.c
AgeCommit message (Collapse)AuthorFilesLines
2007-02-26* Enforce const char* params when using stringsAaron Griffin1-10/+11
* Unified some functions names "package" -> "pkg" for consistency * Removed the goofy 'faketarget' stuff used for dep testing * Renamed alpm_pkg_isin -> alpm_pkg_find * Renamed alpm_db_readpkg -> alpm_db_get_pkg
2007-02-23* The info level for this was wrong, causing replacements to not really workAaron Griffin1-2/+2
2007-02-23* Too much debugging output in the alpm_pkg_compare_versions functionAaron Griffin1-3/+0
* Using the wrong info level for replacements
2007-02-23* Modified the handling and output w.r.t. IgnorePkg entries. -Sy always ignoresAaron Griffin1-3/+5
these packages, but -S explicitly asks for confirmation.
2007-02-22* Cleaned up some debug outputAaron Griffin1-2/+2
* Fixed a segfault in the conflict checking code * Added an automatic failure in the case of -A/-U for a replacement of an existing package. This requires a large amount of work and is postponed for now. Example: If ncmpc is installed, pacman -U /path/to/ncmpc-svn.pkg.tar.gz will fail with and appropriate error message
2007-02-21* Fixed inconsistency of args- _alpm_db_read, _alpm_db_write.Dan McGee1-24/+24
2007-02-18Moved the update_depends function to trans.c, as it depends on a transactionAaron Griffin1-87/+0
object
2007-02-17* A whole mess of backup changesAaron Griffin1-0/+114
- the code should be clearer, more organized, commented, and have worthwhile variable names now - proactive backup=()s now work. That is, adding a file to a backup array does what it should on the upgrade to that package, no longer forcing you to wait a full upgrade cycle for it to take effect * ldconfig was being run twice on an upgrade operation - fixed * fixed another pm_fprintf/printf output corruption with the progress bars * refactored some duplicate code for adjusting 'requiredby' lists * Added config.rpath to .cvsignore
2007-02-16Added a 'contrib' directory for other stuff that might be a good idea to ↵Aaron Griffin1-2/+0
maintain here. * moved bash_completion from the "archlinux" script in the official bash_completion package * moved zsh_completion from the AUR zsh-pacman package
2007-02-14* Fixed _alpm_pkg_compare_versions so that it does not output warnings if ↵Aaron Griffin1-10/+13
versions match. (reported by Travis Willard)
2007-02-13* Refactored conflict checking within packages. Profiling from Dan showed anAaron Griffin1-0/+4
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 Griffin1-3/+7
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 Griffin1-13/+13
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 McGee1-1/+2
* Update .cvsignore files a bit.
2007-02-09* I made "alpm_versioncmp" public a while back, without noticing this was ↵Aaron Griffin1-1/+1
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 Griffin1-6/+4
2007-02-07Cleanup and more debug info for alpm_pkg_compare_versionsAaron Griffin1-11/+18
2007-02-06Cleaning up mistakes. :PDan McGee1-1/+1
2007-02-06Attempt #2 at -S/-Su unification: verify that the 'force' option has been ↵Aaron Griffin1-0/+5
read before comparing versions
2007-02-06Copy-pasta errors. 8)Aaron Griffin1-8/+8
2007-02-06Attempt to unify the -S and -Su version comparissons for when a package is newerAaron Griffin1-0/+32
See FS#5388
2007-02-04Implemented a crappy version of -Qu (query upgrades). This simply outputs theAaron Griffin1-0/+11
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 Griffin1-16/+27
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 Griffin1-17/+22
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 Griffin1-3/+6
a positive connotation. * Added a nice TODO
2007-01-30K. Piche <kevin.piche@cgi.com>Aaron Griffin1-0/+60
* ALPM_LOG_FUNCTION macro and all the great work to add this macro everywhere
2007-01-30K. Piche <kpiche@rogers.com>Aaron Griffin1-25/+25
* 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 Griffin1-1/+2
* 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 Griffin1-2/+2
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 Griffin1-0/+3
2007-01-19Moved some decls to make the "pkg_invalid" patch compile again.Aaron Griffin1-6/+9
2007-01-19Whoops. There's a 0 where there should be a 1.Aaron Griffin1-1/+1
2007-01-19Johannes Weiner <hannes@saeurebad.de>Aaron Griffin1-15/+8
* package cleanup (pkg_invalid) refactoring
2007-01-19Johannes Weiner <hannes@saeurebad.de>Aaron Griffin1-55/+6
* 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 Griffin1-36/+36
* 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 Griffin1-1/+0
* 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 Griffin1-30/+26
* 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 Griffin1-2/+302
(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 Griffin1-4/+25
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 Griffin1-0/+6
* makepkg attempt at multiple file integrity checks * honor "force" option on -S packages (not just -Su)
2006-11-14* Numerous mini valgrind fixes.Aaron Griffin1-3/+7
* 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 Griffin1-1/+1
* 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 Griffin1-3/+3
* 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 Griffin1-38/+81
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 Vinet1-23/+21
2006-05-15first stage of i18n stuff from VMiklosJudd Vinet1-8/+9
2006-03-08code cleanupAurelien Foret1-29/+13
2006-03-08all _alpm_XXX_cmp functions are now publicAurelien Foret1-0/+7
2006-03-07code cleanupAurelien Foret1-2/+3
2006-03-01added ERROR logs in case of malloc failures (patch from VMiklos ↵Aurelien Foret1-0/+1
<vmiklos@frugalware.org>)