[pacman-dev] [PATCH] Improve error message when package is missing required signature
William Giokas
1007380 at gmail.com
Sun May 19 13:03:17 EDT 2013
On Sun, May 19, 2013 at 10:44:21PM +1000, Allan McRae wrote:
> When attempting to install a package (either via -S or -U) and the
> signature is missing, the current error message "invalid or corrupted
> package (PGP signature)" is very unclear. Instead inform the user
> that the package is missing the required signature.
>
> Partial fix for FS#34741.
>
> Signed-off-by: Allan McRae <allan at archlinux.org>
> ---
This causes a whole bunch of tests to fail. I ran a bisect on your working
branch, and e35a061 (this commit) was bad. The full output of the
make check results is at the bottom.
> lib/libalpm/alpm.h | 1 +
> lib/libalpm/be_package.c | 6 +++++-
> lib/libalpm/error.c | 2 ++
> 3 files changed, 8 insertions(+), 1 deletion(-)
>
> diff --git a/lib/libalpm/alpm.h b/lib/libalpm/alpm.h
> index 2277a69..806cd95 100644
> --- a/lib/libalpm/alpm.h
> +++ b/lib/libalpm/alpm.h
> @@ -1267,6 +1267,7 @@ typedef enum _alpm_errno_t {
> ALPM_ERR_PKG_INVALID,
> ALPM_ERR_PKG_INVALID_CHECKSUM,
> ALPM_ERR_PKG_INVALID_SIG,
> + ALPM_ERR_PKG_MISSING_SIG,
> ALPM_ERR_PKG_OPEN,
> ALPM_ERR_PKG_CANT_REMOVE,
> ALPM_ERR_PKG_INVALID_NAME,
> diff --git a/lib/libalpm/be_package.c b/lib/libalpm/be_package.c
> index cfe5fb3..ea48b6e 100644
> --- a/lib/libalpm/be_package.c
> +++ b/lib/libalpm/be_package.c
> @@ -323,9 +323,13 @@ int _alpm_pkg_validate_internal(alpm_handle_t *handle,
> }
>
> /* even if we don't have a sig, run the check code if level tells us to */
> - if(has_sig || level & ALPM_SIG_PACKAGE) {
> + if(level & ALPM_SIG_PACKAGE) {
> const char *sig = syncpkg ? syncpkg->base64_sig : NULL;
> _alpm_log(handle, ALPM_LOG_DEBUG, "sig data: %s\n", sig ? sig : "<from .sig>");
> + if(!sig) {
> + handle->pm_errno = ALPM_ERR_PKG_MISSING_SIG;
> + return -1;
> + }
> if(_alpm_check_pgp_helper(handle, pkgfile, sig,
> level & ALPM_SIG_PACKAGE_OPTIONAL, level & ALPM_SIG_PACKAGE_MARGINAL_OK,
> level & ALPM_SIG_PACKAGE_UNKNOWN_OK, sigdata)) {
> diff --git a/lib/libalpm/error.c b/lib/libalpm/error.c
> index a59f4fe..8622180 100644
> --- a/lib/libalpm/error.c
> +++ b/lib/libalpm/error.c
> @@ -111,6 +111,8 @@ const char SYMEXPORT *alpm_strerror(alpm_errno_t err)
> return _("invalid or corrupted package (checksum)");
> case ALPM_ERR_PKG_INVALID_SIG:
> return _("invalid or corrupted package (PGP signature)");
> + case ALPM_ERR_PKG_MISSING_SIG:
> + return _("package missing required signature");
> case ALPM_ERR_PKG_OPEN:
> return _("cannot open package file");
> case ALPM_ERR_PKG_CANT_REMOVE:
================================================================================
Results
--------------------------------------------------------------------------------
Passed:
[PASS] clean001 Rules: OK = 5 FAIL = 0 SKIP = 0
[PASS] clean002 Rules: OK = 5 FAIL = 0 SKIP = 0
[PASS] clean003 Rules: OK = 3 FAIL = 0 SKIP = 0
[PASS] clean004 Rules: OK = 6 FAIL = 0 SKIP = 0
[PASS] clean005 Rules: OK = 6 FAIL = 0 SKIP = 0
[PASS] config001 Rules: OK = 1 FAIL = 0 SKIP = 0
[PASS] config002 Rules: OK = 1 FAIL = 0 SKIP = 0
[PASS] database001 Rules: OK = 3 FAIL = 0 SKIP = 0
[PASS] database002 Rules: OK = 3 FAIL = 0 SKIP = 0
[PASS] database010 Rules: OK = 4 FAIL = 0 SKIP = 0
[PASS] depconflict100 Rules: OK = 4 FAIL = 0 SKIP = 0
[PASS] depconflict120 Rules: OK = 4 FAIL = 0 SKIP = 0
[PASS] deptest001 Rules: OK = 5 FAIL = 0 SKIP = 0
[PASS] epoch001 Rules: OK = 2 FAIL = 0 SKIP = 0
[PASS] epoch002 Rules: OK = 2 FAIL = 0 SKIP = 0
[PASS] epoch003 Rules: OK = 2 FAIL = 0 SKIP = 0
[PASS] epoch004 Rules: OK = 4 FAIL = 0 SKIP = 0
[PASS] epoch005 Rules: OK = 6 FAIL = 0 SKIP = 0
[PASS] epoch010 Rules: OK = 2 FAIL = 0 SKIP = 0
[PASS] epoch011 Rules: OK = 2 FAIL = 0 SKIP = 0
[PASS] epoch012 Rules: OK = 2 FAIL = 0 SKIP = 0
[PASS] fileconflict001 Rules: OK = 5 FAIL = 0 SKIP = 0
[PASS] fileconflict002 Rules: OK = 4 FAIL = 0 SKIP = 0
[PASS] fileconflict003 Rules: OK = 3 FAIL = 0 SKIP = 0
[PASS] fileconflict004 Rules: OK = 4 FAIL = 0 SKIP = 0
[PASS] fileconflict005 Rules: OK = 3 FAIL = 0 SKIP = 0
[PASS] fileconflict006 Rules: OK = 3 FAIL = 0 SKIP = 0
[PASS] fileconflict008 Rules: OK = 3 FAIL = 0 SKIP = 0
[PASS] fileconflict009 Rules: OK = 4 FAIL = 0 SKIP = 0
[PASS] fileconflict010 Rules: OK = 4 FAIL = 0 SKIP = 0
[PASS] fileconflict011 Rules: OK = 3 FAIL = 0 SKIP = 0
[PASS] fileconflict012 Rules: OK = 3 FAIL = 0 SKIP = 0
[PASS] fileconflict013 Rules: OK = 2 FAIL = 0 SKIP = 0
[PASS] fileconflict015 Rules: OK = 3 FAIL = 0 SKIP = 0
[PASS] fileconflict016 Rules: OK = 3 FAIL = 0 SKIP = 0
[PASS] fileconflict017 Rules: OK = 3 FAIL = 0 SKIP = 0
[PASS] fileconflict020 Rules: OK = 3 FAIL = 0 SKIP = 0
[PASS] fileconflict021 Rules: OK = 3 FAIL = 0 SKIP = 0
[PASS] fileconflict022 Rules: OK = 4 FAIL = 0 SKIP = 0
[PASS] fileconflict023 Rules: OK = 3 FAIL = 0 SKIP = 0
[PASS] fileconflict024 Rules: OK = 2 FAIL = 0 SKIP = 0
[PASS] fileconflict025 Rules: OK = 3 FAIL = 0 SKIP = 0
[PASS] ignore001 Rules: OK = 3 FAIL = 0 SKIP = 0
[PASS] ignore002 Rules: OK = 5 FAIL = 0 SKIP = 0
[PASS] ignore003 Rules: OK = 5 FAIL = 0 SKIP = 0
[PASS] ignore004 Rules: OK = 6 FAIL = 0 SKIP = 0
[PASS] ignore005 Rules: OK = 6 FAIL = 0 SKIP = 0
[PASS] ignore006 Rules: OK = 2 FAIL = 0 SKIP = 0
[PASS] ignore007 Rules: OK = 4 FAIL = 0 SKIP = 0
[PASS] ignore008 Rules: OK = 4 FAIL = 0 SKIP = 0
[PASS] ldconfig003 Rules: OK = 2 FAIL = 0 SKIP = 0
[PASS] pacman001 Rules: OK = 1 FAIL = 0 SKIP = 0
[PASS] pacman002 Rules: OK = 1 FAIL = 0 SKIP = 0
[PASS] pacman003 Rules: OK = 1 FAIL = 0 SKIP = 0
[PASS] pacman004 Rules: OK = 1 FAIL = 0 SKIP = 0
[PASS] pacman005 Rules: OK = 1 FAIL = 0 SKIP = 0
[PASS] provision001 Rules: OK = 2 FAIL = 0 SKIP = 0
[PASS] provision002 Rules: OK = 4 FAIL = 0 SKIP = 0
[PASS] provision003 Rules: OK = 4 FAIL = 0 SKIP = 0
[PASS] provision004 Rules: OK = 4 FAIL = 0 SKIP = 0
[PASS] provision010 Rules: OK = 3 FAIL = 0 SKIP = 0
[PASS] provision012 Rules: OK = 3 FAIL = 0 SKIP = 0
[PASS] provision020 Rules: OK = 3 FAIL = 0 SKIP = 0
[PASS] provision021 Rules: OK = 3 FAIL = 0 SKIP = 0
[PASS] provision022 Rules: OK = 3 FAIL = 0 SKIP = 0
[PASS] query001 Rules: OK = 2 FAIL = 0 SKIP = 0
[PASS] query002 Rules: OK = 4 FAIL = 0 SKIP = 0
[PASS] query003 Rules: OK = 2 FAIL = 0 SKIP = 0
[PASS] query004 Rules: OK = 2 FAIL = 0 SKIP = 0
[PASS] query005 Rules: OK = 4 FAIL = 0 SKIP = 0
[PASS] query007 Rules: OK = 1 FAIL = 0 SKIP = 0
[PASS] query010 Rules: OK = 2 FAIL = 0 SKIP = 0
[PASS] query011 Rules: OK = 2 FAIL = 0 SKIP = 0
[PASS] query012 Rules: OK = 2 FAIL = 0 SKIP = 0
[PASS] reason001 Rules: OK = 4 FAIL = 0 SKIP = 0
[PASS] remove001 Rules: OK = 2 FAIL = 0 SKIP = 0
[PASS] remove002 Rules: OK = 4 FAIL = 0 SKIP = 0
[PASS] remove010 Rules: OK = 4 FAIL = 0 SKIP = 0
[PASS] remove011 Rules: OK = 4 FAIL = 0 SKIP = 0
[PASS] remove012 Rules: OK = 7 FAIL = 0 SKIP = 0
[PASS] remove020 Rules: OK = 4 FAIL = 0 SKIP = 0
[PASS] remove021 Rules: OK = 4 FAIL = 0 SKIP = 0
[PASS] remove030 Rules: OK = 2 FAIL = 0 SKIP = 0
[PASS] remove031 Rules: OK = 2 FAIL = 0 SKIP = 0
[PASS] remove040 Rules: OK = 3 FAIL = 0 SKIP = 0
[PASS] remove041 Rules: OK = 3 FAIL = 0 SKIP = 0
[PASS] remove042 Rules: OK = 3 FAIL = 0 SKIP = 0
[PASS] remove043 Rules: OK = 3 FAIL = 0 SKIP = 0
[PASS] remove044 Rules: OK = 3 FAIL = 0 SKIP = 0
[PASS] remove045 Rules: OK = 5 FAIL = 0 SKIP = 0
[PASS] remove047 Rules: OK = 5 FAIL = 0 SKIP = 0
[PASS] remove049 Rules: OK = 4 FAIL = 0 SKIP = 0
[PASS] remove050 Rules: OK = 4 FAIL = 0 SKIP = 0
[PASS] remove051 Rules: OK = 4 FAIL = 0 SKIP = 0
[PASS] remove052 Rules: OK = 4 FAIL = 0 SKIP = 0
[PASS] remove060 Rules: OK = 4 FAIL = 0 SKIP = 0
[PASS] remove070 Rules: OK = 8 FAIL = 0 SKIP = 0
[PASS] remove071 Rules: OK = 14 FAIL = 0 SKIP = 0
[PASS] replace101 Rules: OK = 4 FAIL = 0 SKIP = 0
[PASS] replace102 Rules: OK = 4 FAIL = 0 SKIP = 0
[PASS] replace103 Rules: OK = 3 FAIL = 0 SKIP = 0
[PASS] replace104 Rules: OK = 6 FAIL = 0 SKIP = 0
[PASS] scriptlet002 Rules: OK = 3 FAIL = 0 SKIP = 0
[PASS] sign001 Rules: OK = 1 FAIL = 0 SKIP = 0
[PASS] sign002 Rules: OK = 2 FAIL = 0 SKIP = 0
[PASS] smoke002 Rules: OK = 3 FAIL = 0 SKIP = 0
[PASS] smoke003 Rules: OK = 8 FAIL = 0 SKIP = 0
[PASS] smoke004 Rules: OK = 1 FAIL = 0 SKIP = 0
[PASS] symlink002 Rules: OK = 15 FAIL = 0 SKIP = 0
[PASS] symlink010 Rules: OK = 8 FAIL = 0 SKIP = 0
[PASS] symlink011 Rules: OK = 8 FAIL = 0 SKIP = 0
[PASS] symlink012 Rules: OK = 8 FAIL = 0 SKIP = 0
[PASS] sync001 Rules: OK = 4 FAIL = 0 SKIP = 0
[PASS] sync002 Rules: OK = 4 FAIL = 0 SKIP = 0
[PASS] sync003 Rules: OK = 2 FAIL = 0 SKIP = 0
[PASS] sync009 Rules: OK = 4 FAIL = 0 SKIP = 0
[PASS] sync010 Rules: OK = 11 FAIL = 0 SKIP = 0
[PASS] sync011 Rules: OK = 4 FAIL = 0 SKIP = 0
[PASS] sync012 Rules: OK = 4 FAIL = 0 SKIP = 0
[PASS] sync020 Rules: OK = 4 FAIL = 0 SKIP = 0
[PASS] sync021 Rules: OK = 4 FAIL = 0 SKIP = 0
[PASS] sync022 Rules: OK = 5 FAIL = 0 SKIP = 0
[PASS] sync023 Rules: OK = 5 FAIL = 0 SKIP = 0
[PASS] sync024 Rules: OK = 5 FAIL = 0 SKIP = 0
[PASS] sync030 Rules: OK = 5 FAIL = 0 SKIP = 0
[PASS] sync031 Rules: OK = 5 FAIL = 0 SKIP = 0
[PASS] sync040 Rules: OK = 3 FAIL = 0 SKIP = 0
[PASS] sync041 Rules: OK = 3 FAIL = 0 SKIP = 0
[PASS] sync042 Rules: OK = 3 FAIL = 0 SKIP = 0
[PASS] sync043 Rules: OK = 4 FAIL = 0 SKIP = 0
[PASS] sync044 Rules: OK = 5 FAIL = 0 SKIP = 0
[PASS] sync045 Rules: OK = 4 FAIL = 0 SKIP = 0
[PASS] sync050 Rules: OK = 3 FAIL = 0 SKIP = 0
[PASS] sync1000 Rules: OK = 2 FAIL = 0 SKIP = 0
[PASS] sync1003 Rules: OK = 6 FAIL = 0 SKIP = 0
[PASS] sync1004 Rules: OK = 2 FAIL = 0 SKIP = 0
[PASS] sync1008 Rules: OK = 3 FAIL = 0 SKIP = 0
[PASS] sync100 Rules: OK = 2 FAIL = 0 SKIP = 0
[PASS] sync101 Rules: OK = 3 FAIL = 0 SKIP = 0
[PASS] sync102 Rules: OK = 5 FAIL = 0 SKIP = 0
[PASS] sync103 Rules: OK = 3 FAIL = 0 SKIP = 0
[PASS] sync104 Rules: OK = 2 FAIL = 0 SKIP = 0
[PASS] sync1100 Rules: OK = 4 FAIL = 0 SKIP = 0
[PASS] sync1101 Rules: OK = 2 FAIL = 0 SKIP = 0
[PASS] sync1102 Rules: OK = 3 FAIL = 0 SKIP = 0
[PASS] sync1103 Rules: OK = 2 FAIL = 0 SKIP = 0
[PASS] sync1104 Rules: OK = 3 FAIL = 0 SKIP = 0
[PASS] sync1105 Rules: OK = 3 FAIL = 0 SKIP = 0
[PASS] sync110 Rules: OK = 4 FAIL = 0 SKIP = 0
[PASS] sync120 Rules: OK = 3 FAIL = 0 SKIP = 0
[PASS] sync130 Rules: OK = 3 FAIL = 0 SKIP = 0
[PASS] sync131 Rules: OK = 4 FAIL = 0 SKIP = 0
[PASS] sync132 Rules: OK = 3 FAIL = 0 SKIP = 0
[PASS] sync133 Rules: OK = 3 FAIL = 0 SKIP = 0
[PASS] sync134 Rules: OK = 4 FAIL = 0 SKIP = 0
[PASS] sync135 Rules: OK = 7 FAIL = 0 SKIP = 0
[PASS] sync136 Rules: OK = 2 FAIL = 0 SKIP = 0
[PASS] sync137 Rules: OK = 2 FAIL = 0 SKIP = 0
[PASS] sync138 Rules: OK = 3 FAIL = 0 SKIP = 0
[PASS] sync139 Rules: OK = 3 FAIL = 0 SKIP = 0
[PASS] sync140 Rules: OK = 4 FAIL = 0 SKIP = 0
[PASS] sync141 Rules: OK = 4 FAIL = 0 SKIP = 0
[PASS] sync150 Rules: OK = 5 FAIL = 0 SKIP = 0
[PASS] sync200 Rules: OK = 1 FAIL = 0 SKIP = 0
[PASS] sync300 Rules: OK = 3 FAIL = 0 SKIP = 0
[PASS] sync306 Rules: OK = 2 FAIL = 0 SKIP = 0
[PASS] sync400 Rules: OK = 5 FAIL = 0 SKIP = 0
[PASS] sync401 Rules: OK = 4 FAIL = 0 SKIP = 0
[PASS] sync402 Rules: OK = 4 FAIL = 0 SKIP = 0
[PASS] sync404 Rules: OK = 5 FAIL = 0 SKIP = 0
[PASS] sync405 Rules: OK = 5 FAIL = 0 SKIP = 0
[PASS] sync407 Rules: OK = 8 FAIL = 0 SKIP = 0
[PASS] sync500 Rules: OK = 4 FAIL = 0 SKIP = 0
[PASS] sync501 Rules: OK = 4 FAIL = 0 SKIP = 0
[PASS] sync502 Rules: OK = 5 FAIL = 0 SKIP = 0
[PASS] sync503 Rules: OK = 4 FAIL = 0 SKIP = 0
[PASS] sync600 Rules: OK = 26 FAIL = 0 SKIP = 0
[PASS] sync890 Rules: OK = 4 FAIL = 0 SKIP = 0
[PASS] sync891 Rules: OK = 4 FAIL = 0 SKIP = 0
[PASS] sync892 Rules: OK = 4 FAIL = 0 SKIP = 0
[PASS] sync893 Rules: OK = 3 FAIL = 0 SKIP = 0
[PASS] sync895 Rules: OK = 4 FAIL = 0 SKIP = 0
[PASS] sync896 Rules: OK = 4 FAIL = 0 SKIP = 0
[PASS] sync897 Rules: OK = 4 FAIL = 0 SKIP = 0
[PASS] sync898 Rules: OK = 3 FAIL = 0 SKIP = 0
[PASS] sync899 Rules: OK = 3 FAIL = 0 SKIP = 0
[PASS] sync900 Rules: OK = 5 FAIL = 0 SKIP = 0
[PASS] sync901 Rules: OK = 5 FAIL = 0 SKIP = 0
[PASS] sync990 Rules: OK = 4 FAIL = 0 SKIP = 0
[PASS] sync992 Rules: OK = 4 FAIL = 0 SKIP = 0
[PASS] sync993 Rules: OK = 4 FAIL = 0 SKIP = 0
[PASS] sync999 Rules: OK = 3 FAIL = 0 SKIP = 0
[PASS] sync-nodepversion01 Rules: OK = 4 FAIL = 0 SKIP = 0
[PASS] sync-nodepversion02 Rules: OK = 3 FAIL = 0 SKIP = 0
[PASS] sync-nodepversion03 Rules: OK = 3 FAIL = 0 SKIP = 0
[PASS] sync-nodepversion04 Rules: OK = 3 FAIL = 0 SKIP = 0
[PASS] sync-nodepversion05 Rules: OK = 3 FAIL = 0 SKIP = 0
[PASS] sync-nodepversion06 Rules: OK = 3 FAIL = 0 SKIP = 0
[PASS] trans001 Rules: OK = 4 FAIL = 0 SKIP = 0
[PASS] unresolvable001 Rules: OK = 4 FAIL = 0 SKIP = 0
[PASS] upgrade011 Rules: OK = 2 FAIL = 0 SKIP = 0
[PASS] upgrade013 Rules: OK = 3 FAIL = 0 SKIP = 0
[PASS] upgrade029 Rules: OK = 6 FAIL = 0 SKIP = 0
[PASS] upgrade050 Rules: OK = 3 FAIL = 0 SKIP = 0
[PASS] upgrade052 Rules: OK = 4 FAIL = 0 SKIP = 0
[PASS] upgrade058 Rules: OK = 2 FAIL = 0 SKIP = 0
[PASS] upgrade059 Rules: OK = 4 FAIL = 0 SKIP = 0
[PASS] upgrade060 Rules: OK = 3 FAIL = 0 SKIP = 0
[PASS] upgrade061 Rules: OK = 3 FAIL = 0 SKIP = 0
[PASS] upgrade071 Rules: OK = 4 FAIL = 0 SKIP = 0
[PASS] upgrade075 Rules: OK = 3 FAIL = 0 SKIP = 0
[PASS] upgrade076 Rules: OK = 4 FAIL = 0 SKIP = 0
[PASS] upgrade077 Rules: OK = 4 FAIL = 0 SKIP = 0
[PASS] upgrade081 Rules: OK = 4 FAIL = 0 SKIP = 0
[PASS] upgrade083 Rules: OK = 4 FAIL = 0 SKIP = 0
[PASS] xfercommand001 Rules: OK = 10 FAIL = 0 SKIP = 0
--------------------------------------------------------------------------------
Expected Failures:
[FAIL] replace100 Rules: OK = 5 FAIL = 1 SKIP = 0
Sysupgrade with a replace and dependency chain
[FAIL] replace110 Rules: OK = 5 FAIL = 2 SKIP = 0
Replace a package with a file in 'backup' (local modified)
[FAIL] sync403 Rules: OK = 1 FAIL = 3 SKIP = 0
Choice between two providers (2)
[FAIL] sync406 Rules: OK = 1 FAIL = 5 SKIP = 0
phonon/qt issue (2)
[FAIL] sync700 Rules: OK = 0 FAIL = 3 SKIP = 0
do not remove directory symlink if another package has file in its path
[FAIL] sync701 Rules: OK = 0 FAIL = 3 SKIP = 0
do not remove directory symlink if incoming package has file in its path (order 1)
[FAIL] sync702 Rules: OK = 0 FAIL = 3 SKIP = 0
do not remove directory symlink if incoming package has file in its path (order 2)
[FAIL] upgrade078 Rules: OK = 3 FAIL = 8 SKIP = 0
-U --recursive upgrades outdated dependencies
--------------------------------------------------------------------------------
Unexpected Passes:
[PASS] query006 Rules: OK = 6 FAIL = 0 SKIP = 0
--------------------------------------------------------------------------------
Failed:
[FAIL] database011 Rules: OK = 2 FAIL = 2 SKIP = 0
Install a package with --dbonly, no files touched
[FAIL] database012 Rules: OK = 4 FAIL = 2 SKIP = 0
Upgrade a package with --dbonly, no files touched
[FAIL] depconflict110 Rules: OK = 0 FAIL = 3 SKIP = 0
conflict with version (conflict)
[FAIL] depconflict111 Rules: OK = 1 FAIL = 2 SKIP = 0
conflict with version (no conflict)
[FAIL] dummy001 Rules: OK = 0 FAIL = 1 SKIP = 0
Dummy test case (modify for own use)
[FAIL] fileconflict007 Rules: OK = 1 FAIL = 2 SKIP = 0
Fileconflict with symlinks (klibc case)
[FAIL] ldconfig001 Rules: OK = 0 FAIL = 2 SKIP = 0
Make sure ldconfig runs on an upgrade operation
[FAIL] ldconfig002 Rules: OK = 0 FAIL = 3 SKIP = 0
Make sure ldconfig runs on an upgrade operation
[FAIL] mode001 Rules: OK = 0 FAIL = 3 SKIP = 0
Check the mode of default files in a package
[FAIL] mode002 Rules: OK = 0 FAIL = 3 SKIP = 0
Check execute mode on files in a package
[FAIL] mode003 Rules: OK = 3 FAIL = 3 SKIP = 0
Backup file permissions test (same as orig)
[FAIL] provision011 Rules: OK = 1 FAIL = 2 SKIP = 0
provision>=1.0-2 dependency (2)
[FAIL] scriptlet001 Rules: OK = 0 FAIL = 3 SKIP = 0
Scriptlet test (pre/post install)
[FAIL] smoke001 Rules: OK = 0 FAIL = 4 SKIP = 0
Install a thousand packages in a single transaction
[FAIL] symlink001 Rules: OK = 2 FAIL = 5 SKIP = 0
Dir symlinks overwritten on install (the perl/git bug)
[FAIL] type001 Rules: OK = 0 FAIL = 6 SKIP = 0
Check the types of default files in a package
[FAIL] upgrade001 Rules: OK = 0 FAIL = 4 SKIP = 0
Upgrade a package (newer version)
[FAIL] upgrade002 Rules: OK = 1 FAIL = 3 SKIP = 0
Upgrade a package (same version)
[FAIL] upgrade003 Rules: OK = 0 FAIL = 4 SKIP = 0
Upgrade a package (older version)
[FAIL] upgrade004 Rules: OK = 0 FAIL = 4 SKIP = 0
Upgrade a package (not installed)
[FAIL] upgrade005 Rules: OK = 0 FAIL = 10 SKIP = 0
Install a set of three packages
[FAIL] upgrade006 Rules: OK = 1 FAIL = 5 SKIP = 0
Upgrade a package with several files
[FAIL] upgrade010 Rules: OK = 2 FAIL = 2 SKIP = 0
Upgrade a package, with a file in NoUpgrade
[FAIL] upgrade012 Rules: OK = 0 FAIL = 4 SKIP = 0
Install a package with a filesystem conflict (--force)
[FAIL] upgrade014 Rules: OK = 0 FAIL = 11 SKIP = 0
Install two packages with a conflicting file (--force)
[FAIL] upgrade015 Rules: OK = 2 FAIL = 3 SKIP = 0
Install a package with an existing file (--force)
[FAIL] upgrade016 Rules: OK = 1 FAIL = 4 SKIP = 0
Install a package with an existing file (--force, new modified)
[FAIL] upgrade020 Rules: OK = 2 FAIL = 3 SKIP = 0
Upgrade a package, with a file in 'backup' (local unchanged, new modified)
[FAIL] upgrade021 Rules: OK = 3 FAIL = 2 SKIP = 0
Upgrade a package, with a file in 'backup' (local modified, new unchanged)
[FAIL] upgrade022 Rules: OK = 2 FAIL = 3 SKIP = 0
Upgrade a package, with a file in 'backup' (local and new modified)
[FAIL] upgrade023 Rules: OK = 2 FAIL = 3 SKIP = 0
Upgrade a package, with a backup file in the NEW package only
[FAIL] upgrade024 Rules: OK = 0 FAIL = 4 SKIP = 0
Upgrade a package, with a file leaving 'backup'
[FAIL] upgrade025 Rules: OK = 2 FAIL = 3 SKIP = 0
Upgrade a package, with a file leaving 'backup' but staying in the pkg
[FAIL] upgrade026 Rules: OK = 1 FAIL = 4 SKIP = 0
Upgrade a package, with a file leaving the pkg but staying in 'backup'
[FAIL] upgrade027 Rules: OK = 3 FAIL = 3 SKIP = 0
Upgrade a package, with a file entering the pkg in 'backup' (changed)
[FAIL] upgrade028 Rules: OK = 4 FAIL = 2 SKIP = 0
Upgrade a package, with a file entering the pkg in 'backup' (unchanged)
[FAIL] upgrade030 Rules: OK = 2 FAIL = 1 SKIP = 0
Upgrade packages with various reasons
[FAIL] upgrade031 Rules: OK = 0 FAIL = 5 SKIP = 0
Install packages non-explicitly
[FAIL] upgrade032 Rules: OK = 0 FAIL = 5 SKIP = 0
Install packages explicitly
[FAIL] upgrade040 Rules: OK = 3 FAIL = 4 SKIP = 0
File relocation between two packages
[FAIL] upgrade041 Rules: OK = 3 FAIL = 4 SKIP = 0
File relocation between two packages (reverse order)
[FAIL] upgrade042 Rules: OK = 2 FAIL = 4 SKIP = 0
Backup file relocation
[FAIL] upgrade043 Rules: OK = 2 FAIL = 4 SKIP = 0
Backup file relocation (reverse order)
[FAIL] upgrade045 Rules: OK = 0 FAIL = 3 SKIP = 0
FS#9235, backup file is broken symlink
[FAIL] upgrade046 Rules: OK = 3 FAIL = 4 SKIP = 0
File relocation between two packages (reverse order, --force)
[FAIL] upgrade051 Rules: OK = 0 FAIL = 3 SKIP = 0
Upgrade to a package that provides another package
[FAIL] upgrade053 Rules: OK = 1 FAIL = 2 SKIP = 0
Upgrade a package with dependency on provided package (same)
[FAIL] upgrade054 Rules: OK = 1 FAIL = 2 SKIP = 0
Upgrade a package with dependency on provided package (different)
[FAIL] upgrade055 Rules: OK = 3 FAIL = 2 SKIP = 0
Upgrade a package that provides one of two imaginary packages
[FAIL] upgrade056 Rules: OK = 2 FAIL = 2 SKIP = 0
Upgrade a package that removes a provide but another package still provides it
[FAIL] upgrade057 Rules: OK = 3 FAIL = 2 SKIP = 0
Upgrade a package that both provides and is a dependency
[FAIL] upgrade070 Rules: OK = 1 FAIL = 3 SKIP = 0
Install a package with a file in NoExtract
[FAIL] upgrade072 Rules: OK = 0 FAIL = 5 SKIP = 0
Install a package with a missing dependency (nodeps)
[FAIL] upgrade073 Rules: OK = 0 FAIL = 11 SKIP = 0
Install a package with cascaded dependencies
[FAIL] upgrade074 Rules: OK = 1 FAIL = 2 SKIP = 0
pkg2<2.0 dependency (satisfy)
[FAIL] upgrade080 Rules: OK = 0 FAIL = 4 SKIP = 0
Install a package (correct architecture)
[FAIL] upgrade082 Rules: OK = 0 FAIL = 4 SKIP = 0
Install a package (correct architecture, auto)
[FAIL] upgrade084 Rules: OK = 0 FAIL = 4 SKIP = 0
Install a package ('any' architecture)
[FAIL] upgrade090 Rules: OK = 1 FAIL = 8 SKIP = 0
-U syncdeps test
--------------------------------------------------------------------------------
Total = 284
Pass = 216 ( 76.06%)
Expected Fail = 8 ( 2.82%)
Unexpected Pass = 1 ( 0.35%)
Fail = 59 ( 20.77%)
--
William Giokas | KaiSforza
GnuPG Key: 0x73CD09CF
Fingerprint: F73F 50EF BBE2 9846 8306 E6B8 6902 06D8 73CD 09CF
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: not available
URL: <http://mailman.archlinux.org/pipermail/pacman-dev/attachments/20130519/291a6e09/attachment-0001.asc>
More information about the pacman-dev
mailing list