1
0
mirror of https://github.com/moparisthebest/pacman synced 2024-11-13 21:05:05 -05:00
Commit Graph

181 Commits

Author SHA1 Message Date
Dan McGee
75efcbbff6 Clean up gettext on the libalpm side
Remove inclusion of libintl.h from all files, because we can do it once
in util.c where the _() macro is defined.

Signed-off-by: Dan McGee <dan@archlinux.org>
2007-04-26 19:39:53 -04:00
Dan McGee
c03277f83d add.c and remove.c cleanup
Unification and cleanup of the add.c and remove.c code. It looks remarkably
similar, so this may be a candidate for functionalization at a later time.

Signed-off-by: Dan McGee <dan@archlinux.org>
2007-04-25 11:07:48 -04:00
Aaron Griffin
76f816b9f7 Backport changes from 3.0.1
* Align makepkg -g checksums (Tom Killian <tom@archlinux.org>)
* Use additional case-sensitive string compare to defeat locale issues (tr_TR)
* Added Russian mirror
* Fix a -R failure when trying to remove the same target twice
* Bump configure.ac version to 3.0.1

Signed-off-by: Aaron Griffin <aaronmgriffin@gmail.com>
2007-04-04 00:30:14 -05:00
Dan McGee
bbe55b5ce9 Doxygen fixups for libalpm
We haven't done a whole lot with Doxygen so far, so this updates some of the
things that have changed a lot- namely, the now public exposure of alpm_list.
All functions in this file have now been Doxygen commented, and a few other
things in alpm.c were fixed as well. In addition, the Doxygen config file
was updated.

Signed-off-by: Dan McGee <dan@archlinux.org>
2007-03-29 00:40:49 -04:00
Dan McGee
7f7da2b5fc * Fix group comparison issue and associated compilation warnings by using
the alpm strcmp operation which takes void* references.
* We had this great visibility patch, but never actually took advantage of
  it. Added the right compile flag to make it work and added some more
  SYMEXPORTs where necessary to have a successful compile.
2007-03-11 21:10:02 +00:00
Dan McGee
5baba84397 * Added missing header include guards in md5.h and sha1.h.
* Some header cleanup on the pacman side of things - we had alpm.h instead
  alpm_list.h in a few headers.
* removed an extra slash in path-building snprintf in server.c.
2007-03-06 01:21:41 +00:00
Dan McGee
869e81e1cf This commit looks much more monumental than it is. Almost all just #include
reordering and adding ones that were forgotten (noticed when trying to
compile after reordering).

* Updated the HACKING file to include information on #include usage.
* print -> vprint in "making dir" function in pactest.
2007-03-05 22:13:33 +00:00
Dan McGee
facb99098d * Failure to #include config.h cost us here, we lost all NLS in alpm.c. 2007-03-05 19:21:33 +00:00
Aaron Griffin
cdb46ef3fa * Fixed a whole mess of extra '/' pathing issues when a different root is
specified
* Use db->path when appropriate
* Commented out the FAKEROOT checks in libalpm.  This should never ever be done.
  TODO test this quite a bit, as this will never cause the transactions to fail
  if RW operations are requested... right now it is totally up to the front end
  to decide when to fail
* Use realpath() to canonicalize the root path when specified, so
  _alpm_makepath() doesn't freak out
* Fixed some output/indent of MDFile and SHAFile algorithms
* More efficient sprintf() usage in MDFile/SHAFile
* Added real error output to _alpm_makepath
2007-03-04 09:08:54 +00:00
Aaron Griffin
7f5dada885 Big commit this time:
* Moved entirely to alpm_pkg_get_* accessors, to read data on demand
* Mostly removed the INFRQ_ parameters from outside the be_files backend (making
  the backend more extensible in the long run)
* packages created from _alpm_db_scan now have the db and origin set (making
  accessors actually work for these packages)
* removed _alpm_db_ensure_pkgcache

* totally revamped the _alpm_checkconflicts function, making it cleaner and
  easier to read (and thus fix in the long run) - maintainable code ftw
  NOTE: feel free to rename the functions... I couldn't think of anything better

* removed an extra loop in sync.c:find_replacements - no sense in looping over
  an entire DB while strcmp'ing the name, when we have get_pkgfromcache

Other:
* package struct "license" -> "licenses"
* Created _alpm_sync_find (duplicate code in some places, find_pkginsync
* Minor const correctness changes along the way
* fixed a couple extra '/' pathing issues (non-issues really)
* removed a duplicate pkg_cmp function
2007-03-03 08:13:59 +00:00
Dan McGee
efca1cc010 * Modified values of INFRQ_* options so we start at 0x01 and not 0x00. This
allows for the same bit operators to be used across the board on pkg_get
  operations.
* Changed name of INFRQ_NONE -> INFRQ_BASE to more clearly reflect what it
  does (loads pkg name and version).
* Added a few missing things on package functions, such as SYMEXPORT and
  ALPM_LOG_FUNC.
* Slight updates to pmenv to print 'pass' and 'fail' instead of 'passed' and
  'failed'. Keeps output a bit more concise.
* Fixed a doxygen comment spelling error. :P
2007-03-01 19:07:38 +00:00
Aaron Griffin
8fbdd03cce * Enforce const char* params when using strings
* 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-26 08:38:48 +00:00
Dan McGee
98db5dcc23 * Removed needless checking of package infolevel- leave it to the
alpm_pkg_get functions to do this.
2007-02-14 05:34:21 +00:00
Aaron Griffin
af48c695eb Removed desc_localized for the time being. We don't have localized
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-13 01:46:33 +00:00
Aaron Griffin
dfb1f1e237 * Updated the README file
* Removed the handle->needles param.  It's not needed not that alpm_list_t is
  public
2007-02-12 04:45:21 +00:00
Aaron Griffin
c55ea22c58 * 'add' percentages now cap at 100% (see the comment)
* downloaded packages now pass ONLY the package name to the callback
2007-02-10 09:36:36 +00:00
Dan McGee
73402a1459 * Fix compile errors/warnings.
* Update .cvsignore files a bit.
2007-02-09 21:54:57 +00:00
Aaron Griffin
f8cd4858ca * I made "alpm_versioncmp" public a while back, without noticing this was 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-09 21:08:10 +00:00
Dan McGee
155aeb40fd Spruced up the TODOs a bit, got rid of some of them since a lot of it was
duplicate anyway. Also removed the last of the ORE tags and replaced them
with TODOs.
2007-02-07 22:08:37 +00:00
Aaron Griffin
3d07ad9539 Copy/pasta error in alpm_get_upgrades that caused a segfault 2007-02-07 06:19:40 +00:00
Aaron Griffin
63000584b6 Implemented a crappy version of -Qu (query upgrades). This simply outputs the
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 08:26:52 +00:00
Aaron Griffin
670319c2fb Debug logging changes:
* The --debug params were goofy.  New setup allows --debug without params,
  --debug=<level> where level 1=debug output, 2=debug and download output,
  3=debug, download, and function tracing output.  This seems more sane to me.
* Removed PM_LOG_FLOW1 and PM_LOG_FLOW2.  They were just confusing.  When adding
  new functions, it is near impossible to determin if your output should be
  "flow1" or "flow2" without tracking all the way up the call chain.  Rarely
  would one ever say "ok, lets just show "flow2" output.  These have both been
  replaced with PM_LOG_DEBUG
* Removed the need for the root parameter on alpm_initialize. it is now
  defaulted to PM_ROOT just like dbpath and cachedir.  This allows alpm to be
  initialized BEFORE option parsing in the front end, saving us some duplicate
  variables in the frontend.
* Cleaned up front end variables due to early alpm_initialize call.
2007-01-31 06:10:21 +00:00
Aaron Griffin
da648bc24c K. Piche <kevin.piche@cgi.com>
* ALPM_LOG_FUNCTION macro and all the great work to add this macro everywhere
2007-01-30 08:14:10 +00:00
Aaron Griffin
195e30e8aa K. Piche <kpiche@rogers.com>
* gcc visiblity changes

Also modified _alpm_versioncmp -> alpm_versioncmp (public function) as per K.
Piche's suggestions
2007-01-30 07:47:19 +00:00
Dan McGee
1799afc9c1 Discussed on IRC for a bit, this makes the following changes for clarity:
* alpm_list_is_in    --> alpm_list_find
* alpm_list_is_strin --> alpm_list_find_str
* Flip parameters of both functions to be inline with rest of alpm_list.

First commit, woohoo.
2007-01-30 03:46:33 +00:00
Aaron Griffin
e22336673a Dan McGee <dpmcgee@gmail.com>
* Lots of code cleanup, and type fixes
* Make 'makeworld' a bit more in-line with the other stuff
* Make -Si and -Qi operations appear the same
2007-01-26 02:13:16 +00:00
Aaron Griffin
1b61cc8c69 This mainly deals with code clarity- removing currently unneeded
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-24 03:02:53 +00:00
Aaron Griffin
6167017264 Preliminary checkin for alpm_list conversion
* 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-19 09:28:44 +00:00
Aaron Griffin
86b136bb59 Dan McGee <dpmcgee@gmail.com>
* 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
2007-01-18 16:52:57 +00:00
Aaron Griffin
244fb2a264 * Dan McGee <dpmcgee@gmail.com>
Documentation cleanup
2007-01-11 17:32:49 +00:00
Aaron Griffin
043a49701f * bug fix FS#6100 - fix --print-uris output 2007-01-03 08:05:13 +00:00
Aaron Griffin
08dca1593f * Cosmetic changes and typo fixes
* IgnorePkg and --ignore work again
* Partial changes to support removal of conflicts for -U and -A (INCOMPLETE)
2006-12-01 09:32:29 +00:00
Aaron Griffin
986409f9bd * Completed getinfo api changes (pmmissing_t, pmtrans_t, etc)
* 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-22 09:03:41 +00:00
Aaron Griffin
aa1c0ba9f8 * repo-add script - to add entries to a db file directly from package data (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-20 09:10:23 +00:00
Aaron Griffin
00ce9ea739 * Initial changes to gensync - makepkg changes were not checked in from another
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-15 07:50:37 +00:00
Aaron Griffin
4470e5ce01 * Numerous mini valgrind fixes.
* 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-11-14 07:58:42 +00:00
Aaron Griffin
3e608e7e85 * Improved mcheck output
* Added minor libalpm const correctness
* Mini-memory fixes
2006-11-08 08:14:29 +00:00
Aaron Griffin
55f178c629 * Fixed an error message that should be a debug message
* Fixed "the big segfault" - dbs_sync list was being modified while iterating
* over the list, big No-No.  Now using a while loop over alpm_list_count.
2006-11-08 06:52:50 +00:00
Aaron Griffin
3bf918dc4e Fixed pacman -U:
* Accidental database read of a file-based package (whoops)
    * Proper fetching of url-based -U or -A
Removed some newlines from _alpm_log calls, to make debug output more concise
2006-11-01 06:30:47 +00:00
Aaron Griffin
af2fb3324a Numerous changes:
*   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-31 06:39:59 +00:00
Aaron Griffin
a4355d8d73 Fri Oct 27 21:54:32 CEST 2006 VMiklos <vmiklos@frugalware.org>
* alpm_parse_config(): add missing sanity checks
From: http://darcs.frugalware.org/patches/pacman/20061027195432-e2957-0dcda6bdb2d7516d6a5047185bc14ccdf3fb83fc.patch
2006-10-27 21:15:26 +00:00
Aaron Griffin
e8275fa964 Moved downloaded db unpacking to the backend files, to easier allow conversion
from db to whatever format we need.
2006-10-25 18:15:25 +00:00
Aaron Griffin
e21f4c8f2e Added PM_DLFNM_LEN define, via VMiklos
http://darcs.frugalware.org/darcsweb/darcsweb.cgi?r=pacman;a=commitdiff;h=20061023154138-e2957-de4837230b091cbc2136306e1c55a4b79cc72fc8.gz
2006-10-24 04:33:40 +00:00
Aaron Griffin
93311212bd Fixes from frugalware: few 'typos' included while patching
Also re-added Judd's dependancy fix in libalpm/deps.c
2006-10-21 20:16:55 +00:00
Aaron Griffin
1568fd98d8 Minor changes:
* Moved the pmhandle_t extern decl around
    * Fixed a doxygen complaint
2006-10-21 01:27:35 +00:00
Aaron Griffin
7131b7ac87 A handful of minor changes:
* 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-20 06:26:55 +00:00
Aaron Griffin
e7f886aac3 From VMiklos <vmiklos@frugalware.org>
* alpm_db_update() fix up the level parameter
till now when it was "1", it meant false, which was not in sync with the C logic :)
2006-10-19 15:28:52 +00:00
Aaron Griffin
7e61ca7912 Fixed doxygen comments 2006-10-19 15:11:12 +00:00
Aaron Griffin
d37ad04873 Merged frugalware changes (too many to list). Also added some config file
handling changes (support [sections] to carry over to included files - this
helps with backwards compatibility with existing pacman config files)
2006-10-15 19:31:03 +00:00
Judd Vinet
54008798ef Patch from FW: Better control over CTRL-C interruptions -- do not leave the DB in an inconsistent state 2006-07-14 23:15:07 +00:00
Judd Vinet
bb787e26ee first stage of i18n stuff from VMiklos 2006-05-15 02:19:57 +00:00
Aurelien Foret
839a64df41 fixed a regression (patch from VMiklos <vmiklos@frugalware.org>) 2006-03-21 19:38:00 +00:00
Aurelien Foret
ad2c7463c9 put back treename in db->path 2006-03-14 22:53:42 +00:00
Aurelien Foret
4f42a0accb all _alpm_XXX_cmp functions are now public 2006-03-08 18:07:58 +00:00
Aurelien Foret
fa5e6cef75 prepare code for cache loaded with only DEPENDS 2006-03-07 20:45:38 +00:00
Aurelien Foret
1bd8f57a18 - changed flags type from char to int
- downloadonly implies FLAG_NOCONFLICTS
2006-03-04 15:33:44 +00:00
Aurelien Foret
297c5284b6 fixed alpm_db_update extraction path 2006-03-04 14:58:28 +00:00
Aurelien Foret
e2faeb46e1 reworked the db object to prepare future integration with different backends 2006-03-02 19:06:52 +00:00
Aurelien Foret
9d4713e2a3 checkmd5sums enhancements 2006-02-20 20:55:53 +00:00
Aurelien Foret
be39f49a54 prepend library function names with _alpm (helped with the patch from VMiklos <vmiklos@frugalware.org>)
added log and event callbacks to sync_commit internal transactions
2006-02-17 22:35:26 +00:00
Aurelien Foret
58a7e85534 - db_write: add support to write both local and sync entries
- code cleanup
2006-02-16 21:02:39 +00:00
Aurelien Foret
dc0bacf18c removed a leftover comment 2006-02-15 22:55:54 +00:00
Aurelien Foret
6e76fd8af3 - merged db_open and db_create into one single function
- moved the .lastupdate support to the frontend
2006-02-15 22:51:28 +00:00
Aurelien Foret
5aa5142815 error codes cleanup 2006-02-07 22:01:50 +00:00
Aurelien Foret
298c1a8e97 added alpm_pkg_checkmd5sum() to check md5sums for package from the cache 2006-02-05 09:57:29 +00:00
Aurelien Foret
325e3b6b98 added a pmconflict_t structure to handle file conflicts 2006-02-05 09:27:26 +00:00
Aurelien Foret
54de80b1ea doxygen support: added @brief field (patch from VMiklos <vmiklos@frugalware.org>) 2006-02-01 17:58:02 +00:00
Aurelien Foret
173d18f3f8 Added a missing trans_release call upon lib shutdown (patch from VMiklos <vmiklos@frugalware.org>) 2006-02-01 06:40:53 +00:00
Aurelien Foret
1042f1e7ce removed unlock code from alpm_release() 2006-01-29 16:53:16 +00:00
Aurelien Foret
831ff882ae reworked lock handling (patch from VMiklos <vmiklos@frugalware.org>) 2006-01-26 22:16:57 +00:00
Aurelien Foret
7818e6f745 doxygen comments update (patch from VMiklos <vmiklos@frugalware.org>) 2006-01-26 19:52:47 +00:00
Aurelien Foret
a10584aec4 document package, group, sync and transaction functions (patch from VMiklos <vmiklos@frugalware.org>) 2006-01-21 19:29:10 +00:00
Aurelien Foret
1c9041814b added more doxygen comments (patch from VMiklos <vmiklos@frugalware.org>) 2006-01-11 21:44:11 +00:00
Aurelien Foret
fd6ce1f4cb - merged pkg_new and pkg_dummy functions
- renamed _alpm_log_action to _alpm_logaction
2006-01-09 20:16:00 +00:00
Aurelien Foret
86e5c8bc06 sync_commit can now return conflicting files with a trans_prepare like data structure (patch from VMiklos <vmiklos@frugalware.org>) 2006-01-07 18:42:44 +00:00
Aurelien Foret
e405204915 removed a restriction: the data parameter of XXX_prepare functions can be NULL 2006-01-07 18:25:28 +00:00
Aurelien Foret
2c22045ba8 - fixed a regression with pacman 2.x (reworked patch from VMiklos <vmiklos@frugalware.org>):
if pacman is desiganted as a target in a sysupgrade operation, it should be able to upgrade itself first upon user request.
- removed uneeded sanity checks in alpm interface calls
- replaced printf by MSG in pacman
2006-01-06 14:00:03 +00:00
Aurelien Foret
4819d21c74 terminated .lastupdate implementation for HTTP protocol 2006-01-05 19:37:54 +00:00
Aurelien Foret
5839652c41 code cleanup 2006-01-02 20:28:46 +00:00
Aurelien Foret
656a887d35 more sanity checks: do not add or remove databases while a trasaction is running 2006-01-02 16:20:50 +00:00
Judd Vinet
6bd15469b1 renamed rpmvercmp to versioncmp, added some fixes from isteve@bofh.cz 2005-12-26 16:48:37 +00:00
Judd Vinet
326c66f0ca patch from VMiklos: regarding the documentation, groups have to be renamed from foo to alpm_foo 2005-12-19 23:32:16 +00:00
Aurelien Foret
bf865c2da5 cleanup 2005-11-07 13:01:10 +00:00
Aurelien Foret
5d5d7d6339 do not free the cache right before using it! 2005-10-22 08:29:12 +00:00
Aurelien Foret
6b7b9787d5 - more sanity checks
- alpm_pkg_free can now return an error code
2005-10-10 15:03:35 +00:00
Judd Vinet
586370b744 started some doxygen comment blocks 2005-10-09 07:42:06 +00:00
Judd Vinet
a36ded25eb added conversation callback support for transactions 2005-10-09 06:09:57 +00:00
Judd Vinet
6f75de92b5 added more error messages, enabled the db permission check in trans_commit 2005-10-08 23:40:49 +00:00
Aurelien Foret
8ffb82a691 Code update to make use of PKG_FULLNAME_LEN 2005-10-08 21:36:47 +00:00
Aurelien Foret
05ab859eab Reworked the cache handling to only load DEPENDS info by default 2005-10-08 21:32:14 +00:00
Aurelien Foret
0d6a2edaa8 Moved the REPLACES and FORCE package fields from DESC to DEPENDS db entry 2005-10-08 20:43:25 +00:00
Judd Vinet
79031ccd1a patch from vmiklos -- properly remove each db entry instead of rmrf'ing the whole thing 2005-10-07 16:38:17 +00:00
Aurelien Foret
af15744967 Applied reworked patch from VMiklos (vmiklos@frugalware.org)
Close the lock file descriptor upon handle release
2005-10-05 21:50:58 +00:00
Judd Vinet
a2192570fb changed license package field to a list 2005-07-22 01:59:11 +00:00
Aurelien Foret
a26095f8fc event transaction callback rework to prepare the introduction of a conversation callback 2005-05-04 19:55:23 +00:00
Aurelien Foret
f3975acf90 code cleanup 2005-05-03 17:44:53 +00:00
Aurelien Foret
54f6a1cb12 make use of the new list_remove implementation 2005-05-03 17:43:02 +00:00
Aurelien Foret
a93521aca3 do not register an already registered db 2005-05-02 17:54:44 +00:00
Aurelien Foret
7c04fe95ac added support for the package reason field 2005-04-24 20:11:10 +00:00
Aurelien Foret
abbb2cfcf0 code cleanup 2005-04-24 18:58:34 +00:00