[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