summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* Re-enable REMOVE_PKGS test in pactest suiteNagy Gabor2009-09-08
| | | | | | | | | With the help of --ask switch it is possible to test remove_unresolvable feature, so I reverted the change of commit f2061c5f on ignore005.py with --ask=32 added. Signed-off-by: Nagy Gabor <ngaba@bibl.u-szeged.hu> Signed-off-by: Dan McGee <dan@archlinux.org>
* Remove transaction typeXavier Chantry2009-09-08
| | | | | | | | | | | | | | | This basically started with this change : /* Transaction */ struct __pmtrans_t { - pmtranstype_t type; pmtransflag_t flags; pmtransstate_t state; - alpm_list_t *packages; /* list of (pmpkg_t *) */ + alpm_list_t *add; /* list of (pmpkg_t *) */ + alpm_list_t *remove; /* list of (pmpkg_t *) */ And then I have to modify all the code accordingly.
* Use sync.c for upgrade transaction prepare and commitNagy Gabor2009-09-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch utilizes the power of sync.c to fix FS#3492 and FS#5798. Now an upgrade transaction is just a sync transaction internally (in alpm), so all sync features are available with -U as well: * conflict resolving * sync dependencies from sync repos * remove unresolvable targets See http://www.archlinux.org/pipermail/pacman-dev/2009-June/008725.html for the concept. We use "mixed" target list, where PKG_FROM_FILE origin indicates local package file, PKG_FROM_CACHE indicates sync package. The front-end can add only one type of packages (depending on transaction type) atm, but if alpm resolves dependencies for -U, we may get a real mixed trans->packages list. _alpm_pkg_free_trans() was modified so that it can handle both target types _alpm_add_prepare() was removed, we use _alpm_sync_prepare() instead _alpm_add_commit() was renamed to _alpm_upgrade_targets() sync.c (and deps.c) was modified slightly to handle mixed target lists, the modifications are straightforward. There is one notable change here: We don't create new upgrade trans in sync.c, we replace the pkgcache entries with the loaded package files in the target list (this is a bit hackish) and call _alpm_upgrade_targets(). This implies a TODO (pkg->origin_data.db is not accessible anymore), but it doesn't hurt anything with pacman front-end, so it will be fixed later (otherwise this patch would be huge). I updated the documentation of -U and I added a new pactest, upgrade090.py, to test the syncdeps feature of -U. Signed-off-by: Nagy Gabor <ngaba@bibl.u-szeged.hu> Signed-off-by: Dan McGee <dan@archlinux.org>
* Do not remove conflict by defaultNagy Gabor2009-09-08
| | | | | | | | | | | | | | | | | | | | When a conflict is detected, pacman asks if the user wants to remove the conflicting package. In many cases this is a bad idea. e.g. udev conflicts with initscripts (initscripts<2009.07). Remove initscripts [Y/n] This changes the query to [y/N]. The --noconfirm behavior has been also changed, because it chooses the default answer. Since the yes answer is more interesting in our pactests dealing with conflicts, I inserted '--ask=4' to all of them with one exception: sync042.py tests the no answer. (I also fixed a typo in sync043.py) Original-work-by: Allan McRae <allan@archlinux.org> Signed-off-by: Nagy Gabor <ngaba@bibl.u-szeged.hu>
* Re-add the non-user friendly --ask optionXavier Chantry2009-09-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This re-implements the --ask option which was removed in commit 1ff8e7f364a9f640ada7526384646d510ac29967. This option does not have to be exposed to the user (help,doc,etc), but is very very useful for pactest if we want to have more coverage there. This was rewritten in a smarter way, without code duplication. And with a different behavior : this option is now only used to inverse default behavior to questions. We still use bit operations based on the following struct : /* Transaction Conversations (ie, questions) */ typedef enum _pmtransconv_t { PM_TRANS_CONV_INSTALL_IGNOREPKG = 0x01, PM_TRANS_CONV_REPLACE_PKG = 0x02, PM_TRANS_CONV_CONFLICT_PKG = 0x04, PM_TRANS_CONV_CORRUPTED_PKG = 0x08, PM_TRANS_CONV_LOCAL_NEWER = 0x10, PM_TRANS_CONV_REMOVE_PKGS = 0x20, } pmtransconv_t; for each conv matched, the default answer is inversed. --ask 0 : all default answers are preserved --ask 4 : only conflict question is inversed --ask 63 : all questions are inversed (63 == 1+2+4+8+16+32) Signed-off-by: Xavier Chantry <shiningxc@gmail.com> Signed-off-by: Dan McGee <dan@archlinux.org>
* Add a new reason field to pmconflict_t structNagy Gabor2009-09-08
| | | | | | | | | | | | | Sometimes "foo conflicts with bar" information is not enough, see this thread: http://bbs.archlinux.org/viewtopic.php?id=77647. That's why I added a new reason field to our pmconflict_t struct that stores the packager- defined conflict that induced the fact that package1 conflicts with package2. I modified the front-end (in callback.c, sync.c, upgrade.c) to print this new information as well. Signed-off-by: Nagy Gabor <ngaba@bibl.u-szeged.hu>
* Change Y/n to y/N with REMOVE_PKGS (remove_unresolvable) callbackNagy Gabor2009-09-08
| | | | | | | | | | | | | | | The main reason for this change is that scripts could not catch the removed targets with -S --noconfirm (the return value was 0). So the effect of a pacman command may have differed from the expected one. Moreover, for my taste the default no answer is better (I wanted to install the specified targets, not a subset of them). I had to change some pactest files as well, because now the default behavior is not to remove unresolvable targets. In fact, the only pactest file that tested this feature was ignore005.py. Signed-off-by: Nagy Gabor <ngaba@bibl.u-szeged.hu> Signed-off-by: Dan McGee <dan@archlinux.org>
* Allow '-Su foo' operationXavier Chantry2009-09-08
| | | | | | | | | | | This implements FS#15581 '-Su foo' should be more or less equivalent do '-Su ; -S foo' Note : I moved a block of code to a new process_target function Signed-off-by: Xavier Chantry <shiningxc@gmail.com> Signed-off-by: Dan McGee <dan@archlinux.org>
* Merge branch 'maint'Dan McGee2009-09-07
|\
| * Update doc and vim syntax for arch=anyXavier Chantry2009-09-07
| | | | | | | | | | | | | | This fixes FS#15870 Signed-off-by: Xavier Chantry <shiningxc@gmail.com> Signed-off-by: Dan McGee <dan@archlinux.org>
| * Update the doc for --sourceXavier Chantry2009-09-07
| | | | | | | | | | | | | | | | | | | | | | See FS#15984 After commit 02acf65, the --source behavior changed. Thanks to Dan for actually writing the new sentence :) Signed-off-by: Xavier Chantry <shiningxc@gmail.com> Signed-off-by: Dan McGee <dan@archlinux.org>
| * Add 3.3.0 release to index.txtDan McGee2009-09-06
| |
* | rewrite strreplaceXavier Chantry2009-09-07
| | | | | | | | | | | | | | | | | | | | | | | | * just do one malloc call * p = realloc(p, new_size) was not good (see http://www.iso-9899.info/wiki/Why_not_realloc) * use more efficient strncpy instead of strncat Signed-off-by: Xavier Chantry <shiningxc@gmail.com> Signed-off-by: Dan McGee <dan@archlinux.org>
* | use strreplace in the xfercommand codeXavier Chantry2009-09-07
| | | | | | | | | | | | | | | | this operation was re-implemented using static strings, instead of using the existing strreplace function Signed-off-by: Xavier Chantry <shiningxc@gmail.com> Signed-off-by: Dan McGee <dan@archlinux.org>
* | fix small memleak in an error caseXavier Chantry2009-09-06
| | | | | | | | | | Signed-off-by: Xavier Chantry <shiningxc@gmail.com> Signed-off-by: Dan McGee <dan@archlinux.org>
* | libalpm/util.c : remove _alpm_strreplaceXavier Chantry2009-09-06
| | | | | | | | | | | | | | | | | | This function is unused since commit 358cc5804a2df873180e6d9ef2420ab3247f8437. Signed-off-by: Xavier Chantry <shiningxc@gmail.com> [Dan: also kill from util.h] Signed-off-by: Dan McGee <dan@archlinux.org>
* | sanity check for optdepends syntaxXavier Chantry2009-09-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | only allow optdepends like: pkgname: description some (real) examples of invalid optdepends: 'tcl, python and/or ruby: to use corresponding binding' 'xorg-fonts-75dpi : X bitmap fonts needed for the interface' 'ruby-htmlentities (AUR): for one provider named Deastore' 'xpdf - for pdf' Signed-off-by: Xavier Chantry <shiningxc@gmail.com> [Allan: rebase off de39a1f6 and adjust man page] Signed-off-by: Allan McRae <allan@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
* | Don't wrap lines when we don't have a column sizeOleg Finkelshteyn2009-09-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | For example when we are not in a tty, there is no point in wrapping the output. This actually makes the job harder for scripts. $ pacman -Si binutils | grep Desc Description : A set of programs to assemble and manipulate binary and The description was cut because the rest was on the following line. Signed-off-by: Xavier Chantry <shiningxc@gmail.com> [Dan: use printf everywhere] Signed-off-by: Dan McGee <dan@archlinux.org>
* | Log commandline in pacman/alpm logXavier Chantry2009-09-06
| | | | | | | | | | | | | | | | This implements FS#11452. Original-work-by: silvio <silvio@port1024.net> Signed-off-by: Xavier Chantry <shiningxc@gmail.com> Signed-off-by: Dan McGee <dan@archlinux.org>
* | Add pactest for 'any' architectureXavier Chantry2009-09-06
| | | | | | | | | | Signed-off-by: Xavier Chantry <shiningxc@gmail.com> Signed-off-by: Dan McGee <dan@archlinux.org>
* | makepkg : check for invalid backup entryXavier Chantry2009-09-06
| | | | | | | | | | | | | | | | This implements FS#13551 Signed-off-by: Xavier Chantry <shiningxc@gmail.com> Signed-off-by: Allan McRae <allan@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
* | makepkg : refactor run_build and run_packageXavier Chantry2009-09-06
| | | | | | | | | | | | | | | | These two functions were very similar. Signed-off-by: Xavier Chantry <shiningxc@gmail.com> Signed-off-by: Allan McRae <allan@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
* | makepkg: exit on error during build() or package()Henning Garus2009-09-06
| | | | | | | | | | | | | | | | | | | | | | Set the ERR trap to abort upon encountering an error during the execution of a build or package function. Activate set -E, which lets functions inherit the ERR trap. Signed-off-by: Henning Garus <henning.garus@gmail.com> Signed-off-by: Allan McRae <allan@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
* | Merge branch 'maint'Dan McGee2009-09-06
|\|
| * fix typos in makepkg.sh.inFrancois Charette2009-09-06
| | | | | | | | | | Signed-off-by: Allan McRae <allan@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
| * makepkg: always keep sources symlinksXavier Chantry2009-09-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Make bunzip2/xz/gunzip decompressing to stdout, because gzip does not offer something like a -k option. The selection of the decompression command for gzip/bzip2/xz compressed files now also depends on the file suffix, since we need to strip the extensions to get the output filename. Thanks to Cedric Staniewski <cedric@gmx.ca> for reporting this issue and contributing patches. Signed-off-by: Xavier Chantry <shiningxc@gmail.com> Signed-off-by: Dan McGee <dan@archlinux.org>
| * Configure: Check if libfetch version is >= 2.21Henning Garus2009-09-06
| | | | | | | | | | | | | | | | | | | | | | | | | | Commit 6f97842 started using libfetch's conditional GET. This requires libfetch to be version 2.21 or greater. Change configure.ac to check for the existence of the last_modified field in the url struct, which was introduced with libfetch 2.21. Signed-off-by: Henning Garus <henning.garus@gmail.com> [Xav : moved AC_CHECK_MEMBER outside of AC_CHECK_LIB] Signed-off-by: Xavier Chantry <shiningxc@gmail.com> Signed-off-by: Dan McGee <dan@archlinux.org>
| * update russian translationSergey Tereschenko2009-09-06
| | | | | | | | | | Signed-off-by: Xavier Chantry <shiningxc@gmail.com> Signed-off-by: Dan McGee <dan@archlinux.org>
| * makepkg: new --skipinteg optionXavier Chantry2009-09-06
| | | | | | | | | | | | | | | | | | Implements FS#15830 This option allows to build a PKGBUILD with no checksums Signed-off-by: Xavier Chantry <shiningxc@gmail.com> Signed-off-by: Dan McGee <dan@archlinux.org>
* | Allow $arch to be used in ServerXavier Chantry2009-09-06
| | | | | | | | | | | | | | | | | | | | | | similarly to the $repo variable, Server can now contain $arch, which will be automatically replaced by the appropriate architecture. This allows us to have one universal mirrorlist file, for both i686 and x86_64, woohoo! Signed-off-by: Xavier Chantry <shiningxc@gmail.com> Signed-off-by: Dan McGee <dan@archlinux.org>
* | Check package arch before installingXavier Chantry2009-09-06
| | | | | | | | | | | | | | This implements FS#15622 Signed-off-by: Xavier Chantry <shiningxc@gmail.com> Signed-off-by: Dan McGee <dan@archlinux.org>
* | Add Architecture and --arch optionXavier Chantry2009-09-06
| | | | | | | | | | Signed-off-by: Xavier Chantry <shiningxc@gmail.com> Signed-off-by: Dan McGee <dan@archlinux.org>
* | Merge branch 'maint'Dan McGee2009-08-18
|\| | | | | | | | | Conflicts: lib/libalpm/dload.c
| * testdb : less verboseXavier Chantry2009-08-18
| | | | | | | | | | | | | | http://bbs.archlinux.org/viewtopic.php?id=77396 Signed-off-by: Xavier Chantry <shiningxc@gmail.com> Signed-off-by: Dan McGee <dan@archlinux.org>
| * dload.c : change the way to check for mtimesXavier Chantry2009-08-18
| | | | | | | | | | | | | | | | | | | | | | | | libfetch supports checking mtime so we do not need to do it manually. when the databases are already up-to-date, initiating a connection with fetchXGet and closing it right after with fetchIO_close took a very long time (up to 10min!) on some network. Signed-off-by: Xavier Chantry <shiningxc@gmail.com> Signed-off-by: Dan McGee <dan@archlinux.org> (cherry picked from commit d7675e393ff3cecb5408c243898ebaae80c5988d)
| * re-add -g CFLAGS with --enable-debugXavier Chantry2009-08-18
| | | | | | | | | | | | | | | | | | | | | | after commit 8feccaed7861010caefa4f7b9824a6, -g was no longer added with --enable-debug. So if CFLAGS was set (if unset, it defaults to -g -O2) and didn't contain -g, we ended with no debug symbols.. Signed-off-by: Xavier Chantry <shiningxc@gmail.com> Signed-off-by: Dan McGee <dan@archlinux.org>
| * query.c : return 1 when no package matchXavier Chantry2009-08-18
| | | | | | | | | | | | | | | | | | For example, if no package is outdated, -Qu will return 1. This implements FS#15938 Signed-off-by: Xavier Chantry <shiningxc@gmail.com> Signed-off-by: Dan McGee <dan@archlinux.org>
| * Quiet ShowSize with -Ss and -QsXavier Chantry2009-08-18
| | | | | | | | | | | | | | | | | | This fixes FS#15923 PS : duplicated code ftw Signed-off-by: Xavier Chantry <shiningxc@gmail.com> Signed-off-by: Dan McGee <dan@archlinux.org>
| * Make fetch timeout actually 10 secondsDan McGee2009-08-13
| | | | | | | | | | | | | | | | | | We had 10000 as our timeout value, assuming it was expressed in ms. This is false after looking at the current code, so reset it back to 10 seconds. Addresses FS#15369. Signed-off-by: Dan McGee <dan@archlinux.org>
* | dload.c : various fixesXavier Chantry2009-08-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - fix one memleak if get_filename failed - cleanup according to Joerg's feedback: "url_for_string: If fetchParseURL returned successful, you should always have a scheme set. The logic for anonftp should only be needed for very broken server -- do you know of any such? download_internal: Specifying 'p' is now a nop -- it is tried by default first with fall-back to active FTP." Signed-off-by: Xavier Chantry <shiningxc@gmail.com> [Dan: remove from pacman.conf and pacman.conf.5] Signed-off-by: Dan McGee <dan@archlinux.org>
* | Merge branch 'maint'Dan McGee2009-08-08
|\|
| * Fix for FS#15810Nagy Gabor2009-08-08
| | | | | | | | | | | | | | | | Skip the SyncFirst dialog, if all the -S packages are SyncFirst packages. Signed-off-by: Nagy Gabor <ngaba@bibl.u-szeged.hu> Signed-off-by: Xavier Chantry <shiningxc@gmail.com> Signed-off-by: Dan McGee <dan@archlinux.org>
| * Remove builddeps from option parserAllan McRae2009-08-08
| | | | | | | | | | | | | | Leftover from commit ae5ef3b9 Signed-off-by: Allan McRae <allan@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
| * makepkg: change to pkgdir before creating PKGINFO fileAllan McRae2009-08-08
| | | | | | | | | | | | | | | | Commit 01f9ae63 moved that creation of the PKGINFO file to before changing to pkgdir. This causes issues when using the -R option (FS#15851). Signed-off-by: Allan McRae <allan@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
| * repo-add: clarify one messageXavier Chantry2009-08-03
| | | | | | | | | | Signed-off-by: Xavier Chantry <shiningxc@gmail.com> Signed-off-by: Dan McGee <dan@archlinux.org>
| * Add a missing newline.Xavier Chantry2009-08-03
| | | | | | | | | | Signed-off-by: Xavier Chantry <shiningxc@gmail.com> Signed-off-by: Dan McGee <dan@archlinux.org>
| * Use full path to ldconfigMarc - A. Dahlhaus2009-08-03
| | | | | | | | | | | | | | | | | | | | If /sbin is not in the PATH and sudo is used, ldconfig cannot be found. So use /sbin/ldconfig instead. The code checked for the existence of /sbin/ldconfig anyway.. Signed-off-by: Marc - A. Dahlhaus <mad@wol.de> Signed-off-by: Xavier Chantry <shiningxc@gmail.com> Signed-off-by: Dan McGee <dan@archlinux.org>
* | Fix nonsensical replaceDan McGee2009-08-08
| | | | | | | | Signed-off-by: Dan McGee <dan@archlinux.org>
* | Pass all xsltproc-opts in one argumentDan McGee2009-08-08
| | | | | | | | Signed-off-by: Dan McGee <dan@archlinux.org>
* | dload.c : only call fwrite onceXavier Chantry2009-08-08
| | | | | | | | | | | | | | | | | | I assume the loop was never iterated more than once, because the write location was not updated at each loop iteration (buffer instead of buffer + nwritten), yet we never had reports of corrupted download. Signed-off-by: Xavier Chantry <shiningxc@gmail.com> Signed-off-by: Dan McGee <dan@archlinux.org>