mirror of
				https://gitlab.archlinux.org/pacman/pacman.git
				synced 2025-11-03 08:54:41 +01:00 
			
		
		
		
	Compare commits
	
		
			1 Commits
		
	
	
		
			morganamil
			...
			morganamil
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					689223f40d | 
@@ -256,12 +256,6 @@ Upgrade Options (apply to '-S' and '-U')[[UO]]
 | 
			
		||||
	as explicitly installed so it will not be removed by the '\--recursive'
 | 
			
		||||
	remove operation.
 | 
			
		||||
 | 
			
		||||
*\--note*::
 | 
			
		||||
	Add an install note to packages. This will only apply to targets explicitly
 | 
			
		||||
	listed and not their dependencies. The note can be used to keep track of why
 | 
			
		||||
	a package was installed or any other info of note. The note can later be
 | 
			
		||||
	edited or removed with '\--D \--note' or '\--D \--rmnote' respectively.
 | 
			
		||||
 | 
			
		||||
*\--ignore* <package>::
 | 
			
		||||
	Directs pacman to ignore upgrades of package even if there is one
 | 
			
		||||
	available. Multiple packages can be specified by separating them
 | 
			
		||||
@@ -474,13 +468,6 @@ Database Options (apply to '-D')[[QO]]
 | 
			
		||||
	package installed even when it was initially installed as a dependency
 | 
			
		||||
	of another package.
 | 
			
		||||
 | 
			
		||||
*\--note*::
 | 
			
		||||
	Add or edit a package's install note. The note can be used to keep track of why
 | 
			
		||||
	a package was installed or any other info of note.
 | 
			
		||||
 | 
			
		||||
*\--rmnote*::
 | 
			
		||||
	Remove a package's install note.
 | 
			
		||||
 | 
			
		||||
*-k, \--check*::
 | 
			
		||||
	Check the local package database is internally consistent. This will
 | 
			
		||||
	check all required files are present and that installed packages have
 | 
			
		||||
 
 | 
			
		||||
@@ -431,22 +431,8 @@ static int commit_single_pkg(alpm_handle_t *handle, alpm_pkg_t *newpkg,
 | 
			
		||||
 | 
			
		||||
	ASSERT(trans != NULL, return -1);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
	if(_alpm_db_get_pkgfromcache(db, newpkg->name)) {
 | 
			
		||||
			oldpkg = newpkg->oldpkg;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	/* set note on package only if it was explicitly added to transaction */
 | 
			
		||||
	if(trans->note && newpkg->reason == ALPM_PKG_REASON_EXPLICIT) {
 | 
			
		||||
		STRDUP(newpkg->note, trans->note,
 | 
			
		||||
				RET_ERR(handle, ALPM_ERR_MEMORY, -1));
 | 
			
		||||
	} else if(oldpkg && oldpkg->note) {
 | 
			
		||||
		STRDUP(newpkg->note,oldpkg->note,
 | 
			
		||||
				RET_ERR(handle, ALPM_ERR_MEMORY, -1));
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if(oldpkg) {
 | 
			
		||||
	/* see if this is an upgrade. if so, remove the old package first */
 | 
			
		||||
	if(_alpm_db_get_pkgfromcache(db, newpkg->name) && (oldpkg = newpkg->oldpkg)) {
 | 
			
		||||
		int cmp = _alpm_pkg_compare_versions(newpkg, oldpkg);
 | 
			
		||||
		if(cmp < 0) {
 | 
			
		||||
			log_msg = "downgrading";
 | 
			
		||||
 
 | 
			
		||||
@@ -2429,12 +2429,6 @@ const char *alpm_pkg_get_desc(alpm_pkg_t *pkg);
 | 
			
		||||
 */
 | 
			
		||||
const char *alpm_pkg_get_url(alpm_pkg_t *pkg);
 | 
			
		||||
 | 
			
		||||
/** Returns the package note.
 | 
			
		||||
 * @param pkg a pointer to package
 | 
			
		||||
 * @return a reference to an internal string
 | 
			
		||||
 */
 | 
			
		||||
char *alpm_pkg_get_note(alpm_pkg_t *pkg);
 | 
			
		||||
 | 
			
		||||
/** Returns the build timestamp of the package.
 | 
			
		||||
 * @param pkg a pointer to package
 | 
			
		||||
 * @return the timestamp of the build time
 | 
			
		||||
@@ -2613,15 +2607,6 @@ off_t alpm_pkg_download_size(alpm_pkg_t *newpkg);
 | 
			
		||||
 */
 | 
			
		||||
int alpm_pkg_set_reason(alpm_pkg_t *pkg, alpm_pkgreason_t reason);
 | 
			
		||||
 | 
			
		||||
/** Set install note for a package in the local database.
 | 
			
		||||
 * The provided package object must be from the local database or this method
 | 
			
		||||
 * will fail. The write to the local database is performed immediately.
 | 
			
		||||
 * @param pkg the package to edit
 | 
			
		||||
 * @param note the new install note, null to remove a note
 | 
			
		||||
 * @return 0 on success, -1 on error (pm_errno is set accordingly)
 | 
			
		||||
 */
 | 
			
		||||
int alpm_pkg_set_note(alpm_pkg_t *pkg, char *note);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/* End of libalpm_pkg_t accessors */
 | 
			
		||||
/** @} */
 | 
			
		||||
@@ -2771,16 +2756,6 @@ alpm_list_t *alpm_trans_get_add(alpm_handle_t *handle);
 | 
			
		||||
 */
 | 
			
		||||
alpm_list_t *alpm_trans_get_remove(alpm_handle_t *handle);
 | 
			
		||||
 | 
			
		||||
/** Sets the install note for a transaction
 | 
			
		||||
 *
 | 
			
		||||
 * All target packages will gain the note, dependencies will not.
 | 
			
		||||
 *
 | 
			
		||||
 * @param handle the context handle
 | 
			
		||||
 * @note the the note, may not contain new lines
 | 
			
		||||
 * @return 0 on success, -1 on error (pm_errno is set accordingly)
 | 
			
		||||
 */
 | 
			
		||||
int alpm_trans_set_note(alpm_handle_t *handle, char *note);
 | 
			
		||||
 | 
			
		||||
/** Initialize the transaction.
 | 
			
		||||
 * @param handle the context handle
 | 
			
		||||
 * @param flags flags of the transaction (like nodeps, etc; see alpm_transflag_t)
 | 
			
		||||
 
 | 
			
		||||
@@ -81,12 +81,6 @@ static const char *_cache_get_url(alpm_pkg_t *pkg)
 | 
			
		||||
	return pkg->url;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static char *_cache_get_note(alpm_pkg_t *pkg)
 | 
			
		||||
{
 | 
			
		||||
	LAZY_LOAD(INFRQ_DESC);
 | 
			
		||||
	return pkg->note;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static alpm_time_t _cache_get_builddate(alpm_pkg_t *pkg)
 | 
			
		||||
{
 | 
			
		||||
	LAZY_LOAD(INFRQ_DESC);
 | 
			
		||||
@@ -336,7 +330,6 @@ static const struct pkg_operations local_pkg_ops = {
 | 
			
		||||
	.get_base = _cache_get_base,
 | 
			
		||||
	.get_desc = _cache_get_desc,
 | 
			
		||||
	.get_url = _cache_get_url,
 | 
			
		||||
	.get_note = _cache_get_note,
 | 
			
		||||
	.get_builddate = _cache_get_builddate,
 | 
			
		||||
	.get_installdate = _cache_get_installdate,
 | 
			
		||||
	.get_packager = _cache_get_packager,
 | 
			
		||||
@@ -759,8 +752,6 @@ static int local_db_read(alpm_pkg_t *info, int inforeq)
 | 
			
		||||
				READ_AND_STORE_ALL(info->groups);
 | 
			
		||||
			} else if(strcmp(line, "%URL%") == 0) {
 | 
			
		||||
				READ_AND_STORE(info->url);
 | 
			
		||||
			} else if(strcmp(line, "%NOTE%") == 0) {
 | 
			
		||||
				READ_AND_STORE(info->note);
 | 
			
		||||
			} else if(strcmp(line, "%LICENSE%") == 0) {
 | 
			
		||||
				READ_AND_STORE_ALL(info->licenses);
 | 
			
		||||
			} else if(strcmp(line, "%ARCH%") == 0) {
 | 
			
		||||
@@ -1049,11 +1040,6 @@ int _alpm_local_db_write(alpm_db_t *db, alpm_pkg_t *info, int inforeq)
 | 
			
		||||
		write_deps(fp, "%CONFLICTS%", info->conflicts);
 | 
			
		||||
		write_deps(fp, "%PROVIDES%", info->provides);
 | 
			
		||||
 | 
			
		||||
		if(info->note) {
 | 
			
		||||
			fprintf(fp, "%%NOTE%%\n"
 | 
			
		||||
							"%s\n\n", info->note);
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		fclose(fp);
 | 
			
		||||
		fp = NULL;
 | 
			
		||||
	}
 | 
			
		||||
@@ -1172,31 +1158,6 @@ int SYMEXPORT alpm_pkg_set_reason(alpm_pkg_t *pkg, alpm_pkgreason_t reason)
 | 
			
		||||
	return 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
int SYMEXPORT alpm_pkg_set_note(alpm_pkg_t *pkg, char *note)
 | 
			
		||||
{
 | 
			
		||||
	ASSERT(pkg != NULL, return -1);
 | 
			
		||||
	ASSERT(pkg->origin == ALPM_PKG_FROM_LOCALDB,
 | 
			
		||||
			RET_ERR(pkg->handle, ALPM_ERR_WRONG_ARGS, -1));
 | 
			
		||||
	ASSERT(pkg->origin_data.db == pkg->handle->db_local,
 | 
			
		||||
			RET_ERR(pkg->handle, ALPM_ERR_WRONG_ARGS, -1));
 | 
			
		||||
 | 
			
		||||
	_alpm_log(pkg->handle, ALPM_LOG_DEBUG,
 | 
			
		||||
			"setting note for %s: %s\n", pkg->name, note);
 | 
			
		||||
	LAZY_LOAD(INFRQ_DESC);
 | 
			
		||||
	FREE(pkg->note);
 | 
			
		||||
	if(note) {
 | 
			
		||||
		ASSERT(!strchr(note, '\n'), RET_ERR(pkg->handle, ALPM_ERR_WRONG_ARGS, -1));
 | 
			
		||||
		STRDUP(pkg->note, note,
 | 
			
		||||
				RET_ERR(pkg->handle, ALPM_ERR_MEMORY, -1));
 | 
			
		||||
	}
 | 
			
		||||
	/* write DESC */
 | 
			
		||||
	if(_alpm_local_db_write(pkg->handle->db_local, pkg, INFRQ_DESC)) {
 | 
			
		||||
		RET_ERR(pkg->handle, ALPM_ERR_DB_WRITE, -1);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static const struct db_operations local_db_ops = {
 | 
			
		||||
	.validate         = local_db_validate,
 | 
			
		||||
	.populate         = local_db_populate,
 | 
			
		||||
 
 | 
			
		||||
@@ -405,7 +405,6 @@ int _alpm_db_search(alpm_db_t *db, const alpm_list_t *needles,
 | 
			
		||||
			const char *matched = NULL;
 | 
			
		||||
			const char *name = pkg->name;
 | 
			
		||||
			const char *desc = alpm_pkg_get_desc(pkg);
 | 
			
		||||
			const char *note = alpm_pkg_get_note(pkg);
 | 
			
		||||
 | 
			
		||||
			/* check name as regex AND as plain text */
 | 
			
		||||
			if(name && (regexec(®, name, 0, 0, 0) == 0 || strstr(name, targ))) {
 | 
			
		||||
@@ -415,11 +414,6 @@ int _alpm_db_search(alpm_db_t *db, const alpm_list_t *needles,
 | 
			
		||||
			else if(desc && regexec(®, desc, 0, 0, 0) == 0) {
 | 
			
		||||
				matched = desc;
 | 
			
		||||
			}
 | 
			
		||||
			/* check note */
 | 
			
		||||
			else if(note && regexec(®, note, 0, 0, 0) == 0) {
 | 
			
		||||
				matched = note;
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			/* TODO: should we be doing this, and should we print something
 | 
			
		||||
			 * differently when we do match it since it isn't currently printed? */
 | 
			
		||||
			if(!matched) {
 | 
			
		||||
 
 | 
			
		||||
@@ -57,7 +57,7 @@ int SYMEXPORT alpm_pkg_checkmd5sum(alpm_pkg_t *pkg)
 | 
			
		||||
	ASSERT(pkg->origin == ALPM_PKG_FROM_SYNCDB,
 | 
			
		||||
			RET_ERR(pkg->handle, ALPM_ERR_WRONG_ARGS, -1));
 | 
			
		||||
 | 
			
		||||
	fpath = _alpm_filecache_find(pkg->handle, pkg->filename);
 | 
			
		||||
	fpath = _alpm_cache_find_pkg(pkg, 0);
 | 
			
		||||
 | 
			
		||||
	retval = _alpm_test_checksum(fpath, pkg->md5sum, ALPM_PKG_VALIDATION_MD5SUM);
 | 
			
		||||
 | 
			
		||||
@@ -78,7 +78,6 @@ int SYMEXPORT alpm_pkg_checkmd5sum(alpm_pkg_t *pkg)
 | 
			
		||||
static const char *_pkg_get_base(alpm_pkg_t *pkg)        { return pkg->base; }
 | 
			
		||||
static const char *_pkg_get_desc(alpm_pkg_t *pkg)        { return pkg->desc; }
 | 
			
		||||
static const char *_pkg_get_url(alpm_pkg_t *pkg)         { return pkg->url; }
 | 
			
		||||
static char *_pkg_get_note(alpm_pkg_t *pkg)        { return pkg->note; }
 | 
			
		||||
static alpm_time_t _pkg_get_builddate(alpm_pkg_t *pkg)   { return pkg->builddate; }
 | 
			
		||||
static alpm_time_t _pkg_get_installdate(alpm_pkg_t *pkg) { return pkg->installdate; }
 | 
			
		||||
static const char *_pkg_get_packager(alpm_pkg_t *pkg)    { return pkg->packager; }
 | 
			
		||||
@@ -143,7 +142,6 @@ const struct pkg_operations default_pkg_ops = {
 | 
			
		||||
	.get_base        = _pkg_get_base,
 | 
			
		||||
	.get_desc        = _pkg_get_desc,
 | 
			
		||||
	.get_url         = _pkg_get_url,
 | 
			
		||||
	.get_note        = _pkg_get_note,
 | 
			
		||||
	.get_builddate   = _pkg_get_builddate,
 | 
			
		||||
	.get_installdate = _pkg_get_installdate,
 | 
			
		||||
	.get_packager    = _pkg_get_packager,
 | 
			
		||||
@@ -228,13 +226,6 @@ const char SYMEXPORT *alpm_pkg_get_url(alpm_pkg_t *pkg)
 | 
			
		||||
	return pkg->ops->get_url(pkg);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
char SYMEXPORT *alpm_pkg_get_note(alpm_pkg_t *pkg)
 | 
			
		||||
{
 | 
			
		||||
	ASSERT(pkg != NULL, return NULL);
 | 
			
		||||
	pkg->handle->pm_errno = ALPM_ERR_OK;
 | 
			
		||||
	return pkg->ops->get_note(pkg);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
alpm_time_t SYMEXPORT alpm_pkg_get_builddate(alpm_pkg_t *pkg)
 | 
			
		||||
{
 | 
			
		||||
	ASSERT(pkg != NULL, return -1);
 | 
			
		||||
@@ -292,7 +283,7 @@ int SYMEXPORT alpm_pkg_get_sig(alpm_pkg_t *pkg, unsigned char **sig, size_t *sig
 | 
			
		||||
		alpm_errno_t err;
 | 
			
		||||
		int ret = -1;
 | 
			
		||||
 | 
			
		||||
		pkgpath = _alpm_filecache_find(pkg->handle, pkg->filename);
 | 
			
		||||
		pkgpath = _alpm_cache_find_pkg(pkg, 0);
 | 
			
		||||
		if(!pkgpath) {
 | 
			
		||||
			GOTO_ERR(pkg->handle, ALPM_ERR_PKG_NOT_FOUND, cleanup);
 | 
			
		||||
		}
 | 
			
		||||
@@ -619,7 +610,6 @@ int _alpm_pkg_dup(alpm_pkg_t *pkg, alpm_pkg_t **new_ptr)
 | 
			
		||||
	STRDUP(newpkg->version, pkg->version, goto cleanup);
 | 
			
		||||
	STRDUP(newpkg->desc, pkg->desc, goto cleanup);
 | 
			
		||||
	STRDUP(newpkg->url, pkg->url, goto cleanup);
 | 
			
		||||
	STRDUP(newpkg->note, pkg->note, goto cleanup);
 | 
			
		||||
	newpkg->builddate = pkg->builddate;
 | 
			
		||||
	newpkg->installdate = pkg->installdate;
 | 
			
		||||
	STRDUP(newpkg->packager, pkg->packager, goto cleanup);
 | 
			
		||||
@@ -693,7 +683,6 @@ void _alpm_pkg_free(alpm_pkg_t *pkg)
 | 
			
		||||
	FREE(pkg->version);
 | 
			
		||||
	FREE(pkg->desc);
 | 
			
		||||
	FREE(pkg->url);
 | 
			
		||||
	FREE(pkg->note);
 | 
			
		||||
	FREE(pkg->packager);
 | 
			
		||||
	FREE(pkg->md5sum);
 | 
			
		||||
	FREE(pkg->sha256sum);
 | 
			
		||||
 
 | 
			
		||||
@@ -46,7 +46,6 @@ struct pkg_operations {
 | 
			
		||||
	const char *(*get_base) (alpm_pkg_t *);
 | 
			
		||||
	const char *(*get_desc) (alpm_pkg_t *);
 | 
			
		||||
	const char *(*get_url) (alpm_pkg_t *);
 | 
			
		||||
	char *(*get_note) (alpm_pkg_t *);
 | 
			
		||||
	alpm_time_t (*get_builddate) (alpm_pkg_t *);
 | 
			
		||||
	alpm_time_t (*get_installdate) (alpm_pkg_t *);
 | 
			
		||||
	const char *(*get_packager) (alpm_pkg_t *);
 | 
			
		||||
@@ -94,7 +93,6 @@ struct _alpm_pkg_t {
 | 
			
		||||
	char *version;
 | 
			
		||||
	char *desc;
 | 
			
		||||
	char *url;
 | 
			
		||||
	char *note;
 | 
			
		||||
	char *packager;
 | 
			
		||||
	char *md5sum;
 | 
			
		||||
	char *sha256sum;
 | 
			
		||||
 
 | 
			
		||||
@@ -323,7 +323,7 @@ static int compute_download_size(alpm_pkg_t *newpkg)
 | 
			
		||||
 | 
			
		||||
	ASSERT(newpkg->filename != NULL, RET_ERR(handle, ALPM_ERR_PKG_INVALID_NAME, -1));
 | 
			
		||||
	fname = newpkg->filename;
 | 
			
		||||
	fpath = _alpm_filecache_find(handle, fname);
 | 
			
		||||
	fpath = _alpm_cache_find_pkg(newpkg, 0);
 | 
			
		||||
 | 
			
		||||
	/* downloaded file exists, so there's nothing to grab */
 | 
			
		||||
	if(fpath) {
 | 
			
		||||
@@ -333,7 +333,7 @@ static int compute_download_size(alpm_pkg_t *newpkg)
 | 
			
		||||
 | 
			
		||||
	CALLOC(fnamepart, strlen(fname) + 6, sizeof(char), return -1);
 | 
			
		||||
	sprintf(fnamepart, "%s.part", fname);
 | 
			
		||||
	fpath = _alpm_filecache_find(handle, fnamepart);
 | 
			
		||||
	fpath = _alpm_cache_find_pkg(newpkg, 1);
 | 
			
		||||
	if(fpath) {
 | 
			
		||||
		struct stat st;
 | 
			
		||||
		if(stat(fpath, &st) == 0) {
 | 
			
		||||
@@ -737,21 +737,13 @@ static int find_dl_candidates(alpm_handle_t *handle, alpm_list_t **files)
 | 
			
		||||
 | 
			
		||||
			ASSERT(spkg->filename != NULL, RET_ERR(handle, ALPM_ERR_PKG_INVALID_NAME, -1));
 | 
			
		||||
 | 
			
		||||
			need_download = spkg->download_size != 0 || !_alpm_filecache_exists(handle, spkg->filename);
 | 
			
		||||
			need_download = spkg->download_size != 0 || !_alpm_cache_pkg_exists(spkg, 0);
 | 
			
		||||
			/* even if the package file in the cache we need to check for
 | 
			
		||||
			 * accompanion *.sig file as well.
 | 
			
		||||
			 * If *.sig is not cached then force download the package + its signature file.
 | 
			
		||||
			 */
 | 
			
		||||
			if(!need_download && (siglevel & ALPM_SIG_PACKAGE)) {
 | 
			
		||||
				char *sig_filename = NULL;
 | 
			
		||||
				int len = strlen(spkg->filename) + 5;
 | 
			
		||||
 | 
			
		||||
				MALLOC(sig_filename, len, RET_ERR(handle, ALPM_ERR_MEMORY, -1));
 | 
			
		||||
				snprintf(sig_filename, len, "%s.sig", spkg->filename);
 | 
			
		||||
 | 
			
		||||
				need_download = !_alpm_filecache_exists(handle, sig_filename);
 | 
			
		||||
 | 
			
		||||
				FREE(sig_filename);
 | 
			
		||||
				need_download = !_alpm_cache_pkg_exists(spkg, 1);
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			if(need_download) {
 | 
			
		||||
@@ -990,7 +982,7 @@ static int check_validity(alpm_handle_t *handle,
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		current_bytes += v.pkg->size;
 | 
			
		||||
		v.path = _alpm_filecache_find(handle, v.pkg->filename);
 | 
			
		||||
		v.path = _alpm_cache_find_pkg(v.pkg, 0);
 | 
			
		||||
		v.siglevel = alpm_db_get_siglevel(alpm_pkg_get_db(v.pkg));
 | 
			
		||||
 | 
			
		||||
		if(_alpm_pkg_validate_internal(handle, v.path, v.pkg,
 | 
			
		||||
@@ -1080,7 +1072,8 @@ static int load_packages(alpm_handle_t *handle, alpm_list_t **data,
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		current_bytes += spkg->size;
 | 
			
		||||
		filepath = _alpm_filecache_find(handle, spkg->filename);
 | 
			
		||||
 | 
			
		||||
		filepath = _alpm_cache_find_pkg(spkg, 0);
 | 
			
		||||
 | 
			
		||||
		/* load the package file and replace pkgcache entry with it in the target list */
 | 
			
		||||
		/* TODO: alpm_pkg_get_db() will not work on this target anymore */
 | 
			
		||||
 
 | 
			
		||||
@@ -298,7 +298,6 @@ void _alpm_trans_free(alpm_trans_t *trans)
 | 
			
		||||
	alpm_list_free(trans->add);
 | 
			
		||||
	alpm_list_free_inner(trans->remove, (alpm_list_fn_free)_alpm_pkg_free);
 | 
			
		||||
	alpm_list_free(trans->remove);
 | 
			
		||||
	FREE(trans->note);
 | 
			
		||||
 | 
			
		||||
	FREELIST(trans->skip_remove);
 | 
			
		||||
 | 
			
		||||
@@ -451,19 +450,3 @@ alpm_list_t SYMEXPORT *alpm_trans_get_remove(alpm_handle_t *handle)
 | 
			
		||||
 | 
			
		||||
	return handle->trans->remove;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
int SYMEXPORT alpm_trans_set_note(alpm_handle_t *handle, char *note) {
 | 
			
		||||
	CHECK_HANDLE(handle, return -1);
 | 
			
		||||
	ASSERT(handle->trans != NULL, RET_ERR(handle, ALPM_ERR_TRANS_NULL, -1));
 | 
			
		||||
	ASSERT(handle->trans->state == STATE_INITIALIZED, RET_ERR(handle, ALPM_ERR_TRANS_NOT_INITIALIZED, -1));
 | 
			
		||||
 | 
			
		||||
	if(handle->trans->note) {
 | 
			
		||||
		ASSERT(!strchr(handle->trans->note, '\n'), RET_ERR(handle, ALPM_ERR_WRONG_ARGS, -1));
 | 
			
		||||
		free(handle->trans->note);
 | 
			
		||||
		handle->trans->note = NULL;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	STRDUP(handle->trans->note, note, RET_ERR(handle, ALPM_ERR_MEMORY, -1));
 | 
			
		||||
	return 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -39,7 +39,6 @@ typedef enum _alpm_transstate_t {
 | 
			
		||||
typedef struct _alpm_trans_t {
 | 
			
		||||
	/* bitfield of alpm_transflag_t flags */
 | 
			
		||||
	int flags;
 | 
			
		||||
	char *note;
 | 
			
		||||
	alpm_transstate_t state;
 | 
			
		||||
	alpm_list_t *unresolvable;  /* list of (alpm_pkg_t *) */
 | 
			
		||||
	alpm_list_t *add;           /* list of (alpm_pkg_t *) */
 | 
			
		||||
 
 | 
			
		||||
@@ -815,6 +815,37 @@ int _alpm_str_cmp(const void *s1, const void *s2)
 | 
			
		||||
	return strcmp(s1, s2);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
char *_alpm_cache_find_pkg(alpm_pkg_t *pkg, int sig) {
 | 
			
		||||
	alpm_handle_t *handle = pkg->handle;
 | 
			
		||||
	struct stat buf;
 | 
			
		||||
	alpm_list_t *servers = pkg->origin_data.db->servers;
 | 
			
		||||
	char *retpath;
 | 
			
		||||
	char filepath[PATH_MAX];
 | 
			
		||||
 | 
			
		||||
	for(alpm_list_t *j = servers; j; j = j->next) {
 | 
			
		||||
		char *server = j->data;
 | 
			
		||||
 | 
			
		||||
		if(strncmp("file://", server, strlen("file://")) == 0) {
 | 
			
		||||
			int len = strlen(server) - strlen("file://") + 1 + strlen(pkg->filename) + 1;
 | 
			
		||||
 | 
			
		||||
			if(sig) {
 | 
			
		||||
				len += strlen(".sig");
 | 
			
		||||
				snprintf(filepath, len, "%s/%s", server + strlen("file://"), pkg->filename);
 | 
			
		||||
			} else {
 | 
			
		||||
				snprintf(filepath, len, "%s/%s.sig", server + strlen("file://"), pkg->filename);
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			if(stat(filepath, &buf) == 0 && S_ISREG(buf.st_mode)) {
 | 
			
		||||
				STRDUP(retpath, filepath, RET_ERR(handle, ALPM_ERR_MEMORY, NULL));
 | 
			
		||||
				_alpm_log(handle, ALPM_LOG_DEBUG, "found pkg in repo cache: %s\n", retpath);
 | 
			
		||||
				return retpath;
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return _alpm_filecache_find(handle, pkg->filename);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/** Find a filename in a registered alpm cachedir.
 | 
			
		||||
 * @param handle the context handle
 | 
			
		||||
 * @param filename name of file to find
 | 
			
		||||
@@ -846,10 +877,10 @@ char *_alpm_filecache_find(alpm_handle_t *handle, const char *filename)
 | 
			
		||||
 * @param filename name of file to find
 | 
			
		||||
 * @return 0 if the filename was not found, 1 otherwise
 | 
			
		||||
 */
 | 
			
		||||
int _alpm_filecache_exists(alpm_handle_t *handle, const char *filename)
 | 
			
		||||
int _alpm_cache_pkg_exists(alpm_pkg_t *pkg, int sig)
 | 
			
		||||
{
 | 
			
		||||
	int res;
 | 
			
		||||
	char *fpath = _alpm_filecache_find(handle, filename);
 | 
			
		||||
	char *fpath = _alpm_cache_find_pkg(pkg, sig);
 | 
			
		||||
	res = (fpath != NULL);
 | 
			
		||||
	FREE(fpath);
 | 
			
		||||
	return res;
 | 
			
		||||
 
 | 
			
		||||
@@ -133,9 +133,10 @@ int _alpm_run_chroot(alpm_handle_t *handle, const char *cmd, char *const argv[],
 | 
			
		||||
		_alpm_cb_io in_cb, void *in_ctx);
 | 
			
		||||
int _alpm_ldconfig(alpm_handle_t *handle);
 | 
			
		||||
int _alpm_str_cmp(const void *s1, const void *s2);
 | 
			
		||||
char *_alpm_cache_find_pkg(alpm_pkg_t *pkg, int sig);
 | 
			
		||||
char *_alpm_filecache_find(alpm_handle_t *handle, const char *filename);
 | 
			
		||||
/* Checks whether a file exists in cache */
 | 
			
		||||
int _alpm_filecache_exists(alpm_handle_t *handle, const char *filename);
 | 
			
		||||
int _alpm_cache_pkg_exists(alpm_pkg_t *pkg, int sig);
 | 
			
		||||
const char *_alpm_filecache_setup(alpm_handle_t *handle);
 | 
			
		||||
/* Unlike many uses of alpm_pkgvalidation_t, _alpm_test_checksum expects
 | 
			
		||||
 * an enum value rather than a bitfield. */
 | 
			
		||||
 
 | 
			
		||||
@@ -155,7 +155,6 @@ int config_free(config_t *oldconfig)
 | 
			
		||||
	free(oldconfig->dbpath);
 | 
			
		||||
	free(oldconfig->logfile);
 | 
			
		||||
	free(oldconfig->gpgdir);
 | 
			
		||||
	free(oldconfig->note);
 | 
			
		||||
	FREELIST(oldconfig->hookdirs);
 | 
			
		||||
	FREELIST(oldconfig->cachedirs);
 | 
			
		||||
	free(oldconfig->xfercommand);
 | 
			
		||||
 
 | 
			
		||||
@@ -99,8 +99,6 @@ typedef struct __config_t {
 | 
			
		||||
	unsigned int ask;
 | 
			
		||||
	/* Bitfield of alpm_transflag_t */
 | 
			
		||||
	int flags;
 | 
			
		||||
	char *note;
 | 
			
		||||
	int rmnote;
 | 
			
		||||
	/* Bitfields of alpm_siglevel_t */
 | 
			
		||||
	int siglevel;
 | 
			
		||||
	int localfilesiglevel;
 | 
			
		||||
@@ -172,8 +170,6 @@ enum {
 | 
			
		||||
	OP_IGNOREGROUP,
 | 
			
		||||
	OP_NEEDED,
 | 
			
		||||
	OP_ASEXPLICIT,
 | 
			
		||||
	OP_NOTE,
 | 
			
		||||
	OP_RMNOTE,
 | 
			
		||||
	OP_ARCH,
 | 
			
		||||
	OP_PRINTFORMAT,
 | 
			
		||||
	OP_GPGDIR,
 | 
			
		||||
 
 | 
			
		||||
@@ -38,12 +38,11 @@
 | 
			
		||||
 *
 | 
			
		||||
 * @return 0 on success, 1 on failure
 | 
			
		||||
 */
 | 
			
		||||
static int change_pkg(alpm_list_t *targets)
 | 
			
		||||
static int change_install_reason(alpm_list_t *targets)
 | 
			
		||||
{
 | 
			
		||||
	alpm_list_t *i;
 | 
			
		||||
	alpm_db_t *db_local;
 | 
			
		||||
	int ret = 0;
 | 
			
		||||
	int set_reason = 0;
 | 
			
		||||
 | 
			
		||||
	alpm_pkgreason_t reason;
 | 
			
		||||
 | 
			
		||||
@@ -54,10 +53,11 @@ static int change_pkg(alpm_list_t *targets)
 | 
			
		||||
 | 
			
		||||
	if(config->flags & ALPM_TRANS_FLAG_ALLDEPS) { /* --asdeps */
 | 
			
		||||
		reason = ALPM_PKG_REASON_DEPEND;
 | 
			
		||||
		set_reason = 1;
 | 
			
		||||
	} else if(config->flags & ALPM_TRANS_FLAG_ALLEXPLICIT) { /* --asexplicit */
 | 
			
		||||
		reason = ALPM_PKG_REASON_EXPLICIT;
 | 
			
		||||
		set_reason = 1;
 | 
			
		||||
	} else {
 | 
			
		||||
		pm_printf(ALPM_LOG_ERROR, _("no install reason specified (use -h for help)\n"));
 | 
			
		||||
		return 1;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	/* Lock database */
 | 
			
		||||
@@ -69,46 +69,19 @@ static int change_pkg(alpm_list_t *targets)
 | 
			
		||||
	for(i = targets; i; i = alpm_list_next(i)) {
 | 
			
		||||
		char *pkgname = i->data;
 | 
			
		||||
		alpm_pkg_t *pkg = alpm_db_get_pkg(db_local, pkgname);
 | 
			
		||||
 | 
			
		||||
		if(!pkg) {
 | 
			
		||||
			pm_printf(ALPM_LOG_ERROR, _("package '%s' was not found"), pkgname);
 | 
			
		||||
		if(!pkg || alpm_pkg_set_reason(pkg, reason)) {
 | 
			
		||||
			pm_printf(ALPM_LOG_ERROR, _("could not set install reason for package %s (%s)\n"),
 | 
			
		||||
							pkgname, alpm_strerror(alpm_errno(config->handle)));
 | 
			
		||||
			ret = 1;
 | 
			
		||||
			continue;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		if(set_reason) {
 | 
			
		||||
			if(alpm_pkg_set_reason(pkg, reason)) {
 | 
			
		||||
				pm_printf(ALPM_LOG_ERROR, _("could not set install reason for package %s (%s)\n"),
 | 
			
		||||
								pkgname, alpm_strerror(alpm_errno(config->handle)));
 | 
			
		||||
				ret = 1;
 | 
			
		||||
			} else {
 | 
			
		||||
				if(!config->quiet) {
 | 
			
		||||
					if(reason == ALPM_PKG_REASON_DEPEND) {
 | 
			
		||||
						printf(_("%s: install reason has been set to 'installed as dependency'\n"), pkgname);
 | 
			
		||||
					} else {
 | 
			
		||||
						printf(_("%s: install reason has been set to 'explicitly installed'\n"), pkgname);
 | 
			
		||||
					}
 | 
			
		||||
		} else {
 | 
			
		||||
			if(!config->quiet) {
 | 
			
		||||
				if(reason == ALPM_PKG_REASON_DEPEND) {
 | 
			
		||||
					printf(_("%s: install reason has been set to 'installed as dependency'\n"), pkgname);
 | 
			
		||||
				} else {
 | 
			
		||||
					printf(_("%s: install reason has been set to 'explicitly installed'\n"), pkgname);
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		if(config->rmnote) {
 | 
			
		||||
			if(alpm_pkg_set_note(pkg, NULL)) {
 | 
			
		||||
				pm_printf(ALPM_LOG_ERROR, _("could not set install note for package %s (%s)\n"),
 | 
			
		||||
								pkgname, alpm_strerror(alpm_errno(config->handle)));
 | 
			
		||||
				ret = 1;
 | 
			
		||||
			} else if(!config->quiet) {
 | 
			
		||||
				printf(_("%s: note removed\n"), pkgname);
 | 
			
		||||
			}
 | 
			
		||||
		} else if(config->note) {
 | 
			
		||||
			if(alpm_pkg_set_note(pkg, config->note)) {
 | 
			
		||||
				pm_printf(ALPM_LOG_ERROR, _("could not set install note for package %s (%s)\n"),
 | 
			
		||||
								pkgname, alpm_strerror(alpm_errno(config->handle)));
 | 
			
		||||
				ret = 1;
 | 
			
		||||
			} else if(!config->quiet) {
 | 
			
		||||
				printf(_("%s: note set\n"), pkgname);
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	/* Unlock database */
 | 
			
		||||
@@ -323,9 +296,8 @@ int pacman_database(alpm_list_t *targets)
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if(config->note || config->rmnote ||
 | 
			
		||||
			(config->flags & (ALPM_TRANS_FLAG_ALLDEPS | ALPM_TRANS_FLAG_ALLEXPLICIT))) {
 | 
			
		||||
		ret = change_pkg(targets);
 | 
			
		||||
	if(config->flags & (ALPM_TRANS_FLAG_ALLDEPS | ALPM_TRANS_FLAG_ALLEXPLICIT)) {
 | 
			
		||||
		ret = change_install_reason(targets);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return ret;
 | 
			
		||||
 
 | 
			
		||||
@@ -70,7 +70,6 @@ enum {
 | 
			
		||||
	T_URL,
 | 
			
		||||
	T_VALIDATED_BY,
 | 
			
		||||
	T_VERSION,
 | 
			
		||||
	T_NOTE,
 | 
			
		||||
	/* the following is a sentinel and should remain in last position */
 | 
			
		||||
	_T_MAX
 | 
			
		||||
};
 | 
			
		||||
@@ -125,7 +124,6 @@ static void make_aligned_titles(void)
 | 
			
		||||
	buf[T_URL] = _("URL");
 | 
			
		||||
	buf[T_VALIDATED_BY] = _("Validated By");
 | 
			
		||||
	buf[T_VERSION] = _("Version");
 | 
			
		||||
	buf[T_NOTE] = _("Note");
 | 
			
		||||
 | 
			
		||||
	for(i = 0; i < ARRAYSIZE(wbuf); i++) {
 | 
			
		||||
		wlen[i] = mbstowcs(wbuf[i], buf[i], strlen(buf[i]) + 1);
 | 
			
		||||
@@ -303,7 +301,6 @@ void dump_pkg_full(alpm_pkg_t *pkg, int extra)
 | 
			
		||||
	if(from == ALPM_PKG_FROM_LOCALDB) {
 | 
			
		||||
		string_display(titles[T_INSTALL_DATE], idatestr, cols);
 | 
			
		||||
		string_display(titles[T_INSTALL_REASON], reason, cols);
 | 
			
		||||
		string_display(titles[T_NOTE], alpm_pkg_get_note(pkg), cols);
 | 
			
		||||
	}
 | 
			
		||||
	if(from == ALPM_PKG_FROM_FILE || from == ALPM_PKG_FROM_LOCALDB) {
 | 
			
		||||
		string_display(titles[T_INSTALL_SCRIPT],
 | 
			
		||||
 
 | 
			
		||||
@@ -169,8 +169,6 @@ static void usage(int op, const char * const myname)
 | 
			
		||||
			printf("%s:\n", str_opt);
 | 
			
		||||
			addlist(_("      --asdeps         mark packages as non-explicitly installed\n"));
 | 
			
		||||
			addlist(_("      --asexplicit     mark packages as explicitly installed\n"));
 | 
			
		||||
			addlist(_("      --note <note>    add or edit a packages install notes\n"));
 | 
			
		||||
			addlist(_("      --rmnote         remove install note from packages\n"));
 | 
			
		||||
			addlist(_("  -k, --check          test local database for validity (-kk for sync databases)\n"));
 | 
			
		||||
			addlist(_("  -q, --quiet          suppress output of success messages\n"));
 | 
			
		||||
		} else if(op == PM_OP_DEPTEST) {
 | 
			
		||||
@@ -195,7 +193,6 @@ static void usage(int op, const char * const myname)
 | 
			
		||||
				          "                       overwrite conflicting files (can be used more than once)\n"));
 | 
			
		||||
				addlist(_("      --asdeps         install packages as non-explicitly installed\n"));
 | 
			
		||||
				addlist(_("      --asexplicit     install packages as explicitly installed\n"));
 | 
			
		||||
				addlist(_("      --note <note>    add an install note to packages\n"));
 | 
			
		||||
				addlist(_("      --ignore <pkg>   ignore a package upgrade (can be used more than once)\n"));
 | 
			
		||||
				addlist(_("      --ignoregroup <grp>\n"
 | 
			
		||||
				          "                       ignore a group upgrade (can be used more than once)\n"));
 | 
			
		||||
@@ -484,12 +481,6 @@ static int parsearg_database(int opt)
 | 
			
		||||
		case OP_ASEXPLICIT:
 | 
			
		||||
			config->flags |= ALPM_TRANS_FLAG_ALLEXPLICIT;
 | 
			
		||||
			break;
 | 
			
		||||
		case OP_NOTE:
 | 
			
		||||
			config->note = strdup(optarg);
 | 
			
		||||
			break;
 | 
			
		||||
		case OP_RMNOTE:
 | 
			
		||||
			config->rmnote = 1;
 | 
			
		||||
			break;
 | 
			
		||||
		case OP_CHECK:
 | 
			
		||||
		case 'k':
 | 
			
		||||
			(config->op_q_check)++;
 | 
			
		||||
@@ -510,11 +501,7 @@ static void checkargs_database(void)
 | 
			
		||||
			&& config->flags & ALPM_TRANS_FLAG_ALLEXPLICIT,
 | 
			
		||||
			"--asdeps", "--asexplicit");
 | 
			
		||||
 | 
			
		||||
	invalid_opt(config->note && config->rmnote, "--note", "--rmnote");
 | 
			
		||||
 | 
			
		||||
	if(config->op_q_check) {
 | 
			
		||||
	invalid_opt(config->note != NULL, "--note", "--check");
 | 
			
		||||
	invalid_opt(config->rmnote, "--rmnote", "--check");
 | 
			
		||||
		invalid_opt(config->flags & ALPM_TRANS_FLAG_ALLDEPS,
 | 
			
		||||
				"--asdeps", "--check");
 | 
			
		||||
		invalid_opt(config->flags & ALPM_TRANS_FLAG_ALLEXPLICIT,
 | 
			
		||||
@@ -741,9 +728,6 @@ static int parsearg_upgrade(int opt)
 | 
			
		||||
		case OP_ASEXPLICIT:
 | 
			
		||||
			config->flags |= ALPM_TRANS_FLAG_ALLEXPLICIT;
 | 
			
		||||
			break;
 | 
			
		||||
		case OP_NOTE:
 | 
			
		||||
			config->note = strdup(optarg);
 | 
			
		||||
			break;
 | 
			
		||||
		case OP_NEEDED:
 | 
			
		||||
			config->flags |= ALPM_TRANS_FLAG_NEEDED;
 | 
			
		||||
			break;
 | 
			
		||||
@@ -958,8 +942,6 @@ static int parseargs(int argc, char *argv[])
 | 
			
		||||
		{"ignoregroup", required_argument, 0, OP_IGNOREGROUP},
 | 
			
		||||
		{"needed",     no_argument,       0, OP_NEEDED},
 | 
			
		||||
		{"asexplicit",     no_argument,   0, OP_ASEXPLICIT},
 | 
			
		||||
		{"note",       required_argument, 0, OP_NOTE},
 | 
			
		||||
		{"rmnote",     no_argument,       0, OP_RMNOTE},
 | 
			
		||||
		{"arch",       required_argument, 0, OP_ARCH},
 | 
			
		||||
		{"print-format", required_argument, 0, OP_PRINTFORMAT},
 | 
			
		||||
		{"gpgdir",     required_argument, 0, OP_GPGDIR},
 | 
			
		||||
 
 | 
			
		||||
@@ -329,15 +329,9 @@ static int display(alpm_pkg_t *pkg)
 | 
			
		||||
			&& !config->op_q_changelog && !config->op_q_check) {
 | 
			
		||||
		if(!config->quiet) {
 | 
			
		||||
			const colstr_t *colstr = &config->colstr;
 | 
			
		||||
			char *note = alpm_pkg_get_note(pkg);
 | 
			
		||||
 | 
			
		||||
			printf("%s%s %s%s%s", colstr->title, alpm_pkg_get_name(pkg),
 | 
			
		||||
					colstr->version, alpm_pkg_get_version(pkg), colstr->nocolor);
 | 
			
		||||
 | 
			
		||||
			if(note) {
 | 
			
		||||
				printf(" (%s)", note);
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			if(config->op_q_upgrade) {
 | 
			
		||||
				int usage;
 | 
			
		||||
				alpm_pkg_t *newpkg = alpm_sync_get_new_version(pkg, alpm_get_syncdbs(config->handle));
 | 
			
		||||
 
 | 
			
		||||
@@ -72,15 +72,6 @@ int trans_init(int flags, int check_valid)
 | 
			
		||||
		trans_init_error();
 | 
			
		||||
		return -1;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if(config->note) {
 | 
			
		||||
		ret = alpm_trans_set_note(config->handle, config->note);
 | 
			
		||||
		if(ret == -1) {
 | 
			
		||||
			trans_init_error();
 | 
			
		||||
			return -1;
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -9,8 +9,6 @@ pacman_tests = [
 | 
			
		||||
  'tests/config002.py',
 | 
			
		||||
  'tests/database001.py',
 | 
			
		||||
  'tests/database002.py',
 | 
			
		||||
  'tests/database003.py',
 | 
			
		||||
  'tests/database004.py',
 | 
			
		||||
  'tests/database010.py',
 | 
			
		||||
  'tests/database011.py',
 | 
			
		||||
  'tests/database012.py',
 | 
			
		||||
@@ -176,7 +174,6 @@ pacman_tests = [
 | 
			
		||||
  'tests/symlink020.py',
 | 
			
		||||
  'tests/symlink021.py',
 | 
			
		||||
  'tests/sync-failover-404-with-body.py',
 | 
			
		||||
  'tests/sync-keep-note.py',
 | 
			
		||||
  'tests/sync-install-assumeinstalled.py',
 | 
			
		||||
  'tests/sync-nodepversion01.py',
 | 
			
		||||
  'tests/sync-nodepversion02.py',
 | 
			
		||||
@@ -184,7 +181,6 @@ pacman_tests = [
 | 
			
		||||
  'tests/sync-nodepversion04.py',
 | 
			
		||||
  'tests/sync-nodepversion05.py',
 | 
			
		||||
  'tests/sync-nodepversion06.py',
 | 
			
		||||
  'tests/sync-note-targets-only.py',
 | 
			
		||||
  'tests/sync-sysupgrade-print-replaced-packages.py',
 | 
			
		||||
  'tests/sync-update-assumeinstalled.py',
 | 
			
		||||
  'tests/sync-update-package-removing-required-provides.py',
 | 
			
		||||
 
 | 
			
		||||
@@ -121,8 +121,6 @@ class pmdb(object):
 | 
			
		||||
                pkg.groups = _getsection(fd)
 | 
			
		||||
            elif line == "%URL%":
 | 
			
		||||
                pkg.url = fd.readline().strip("\n")
 | 
			
		||||
            elif line == "%NOTE%":
 | 
			
		||||
                pkg.note = fd.readline().strip("\n")
 | 
			
		||||
            elif line == "%LICENSE%":
 | 
			
		||||
                pkg.license = _getsection(fd)
 | 
			
		||||
            elif line == "%ARCH%":
 | 
			
		||||
@@ -210,7 +208,6 @@ class pmdb(object):
 | 
			
		||||
            make_section(data, "INSTALLDATE", pkg.installdate)
 | 
			
		||||
            make_section(data, "SIZE", pkg.size)
 | 
			
		||||
            make_section(data, "REASON", pkg.reason)
 | 
			
		||||
            make_section(data, "NOTE", pkg.note)
 | 
			
		||||
        else:
 | 
			
		||||
            make_section(data, "FILENAME", pkg.filename())
 | 
			
		||||
            make_section(data, "REPLACES", pkg.replaces)
 | 
			
		||||
 
 | 
			
		||||
@@ -34,7 +34,6 @@ class pmpkg(object):
 | 
			
		||||
        self.desc = ""
 | 
			
		||||
        self.groups = []
 | 
			
		||||
        self.url = ""
 | 
			
		||||
        self.note = ""
 | 
			
		||||
        self.license = []
 | 
			
		||||
        self.arch = ""
 | 
			
		||||
        self.builddate = ""
 | 
			
		||||
@@ -72,7 +71,6 @@ class pmpkg(object):
 | 
			
		||||
        s.append("url: %s" % self.url)
 | 
			
		||||
        s.append("files: %s" % " ".join(self.files))
 | 
			
		||||
        s.append("reason: %d" % self.reason)
 | 
			
		||||
        s.append("note: %s" % self.note)
 | 
			
		||||
        return "\n".join(s)
 | 
			
		||||
 | 
			
		||||
    def fullname(self):
 | 
			
		||||
 
 | 
			
		||||
@@ -108,9 +108,6 @@ class pmrule(object):
 | 
			
		||||
                        if f.startswith(value + "\t"):
 | 
			
		||||
                            success = 1
 | 
			
		||||
                            break;
 | 
			
		||||
                elif case == "NOTE":
 | 
			
		||||
                    if newpkg.note != value:
 | 
			
		||||
                        success = 0
 | 
			
		||||
                else:
 | 
			
		||||
                    tap.diag("PKG rule '%s' not found" % case)
 | 
			
		||||
                    success = -1
 | 
			
		||||
 
 | 
			
		||||
@@ -322,7 +322,7 @@ class pmtest(object):
 | 
			
		||||
                self.result["success"] += 1
 | 
			
		||||
            else:
 | 
			
		||||
                self.result["fail"] += 1
 | 
			
		||||
            tap.ok(success == 1, i)
 | 
			
		||||
            tap.ok(success, i)
 | 
			
		||||
 | 
			
		||||
    def configfile(self):
 | 
			
		||||
        return os.path.join(self.root, util.PACCONF)
 | 
			
		||||
 
 | 
			
		||||
@@ -1,10 +0,0 @@
 | 
			
		||||
self.description = "-D --note :D"
 | 
			
		||||
 | 
			
		||||
lp = pmpkg("pkg")
 | 
			
		||||
self.addpkg2db("local", lp)
 | 
			
		||||
 | 
			
		||||
self.args = "-D pkg --note :D"
 | 
			
		||||
 | 
			
		||||
self.addrule("PACMAN_RETCODE=0")
 | 
			
		||||
self.addrule("PKG_EXIST=pkg")
 | 
			
		||||
self.addrule("PKG_NOTE=pkg|:D")
 | 
			
		||||
@@ -1,11 +0,0 @@
 | 
			
		||||
self.description = "-D --rmnote"
 | 
			
		||||
 | 
			
		||||
lp = pmpkg("pkg")
 | 
			
		||||
lp.note = "D:"
 | 
			
		||||
self.addpkg2db("local", lp)
 | 
			
		||||
 | 
			
		||||
self.args = "-D pkg --rmnote"
 | 
			
		||||
 | 
			
		||||
self.addrule("PACMAN_RETCODE=0")
 | 
			
		||||
self.addrule("PKG_EXIST=pkg")
 | 
			
		||||
self.addrule("PKG_NOTE=pkg|")
 | 
			
		||||
@@ -1,14 +0,0 @@
 | 
			
		||||
self.description = "Sync a package keeping the existing note"
 | 
			
		||||
 | 
			
		||||
sp = pmpkg("pkg")
 | 
			
		||||
self.addpkg2db("sync", sp)
 | 
			
		||||
 | 
			
		||||
lp = pmpkg("pkg")
 | 
			
		||||
lp.note = "this is a note"
 | 
			
		||||
self.addpkg2db("local", lp)
 | 
			
		||||
 | 
			
		||||
self.args = "-S pkg"
 | 
			
		||||
 | 
			
		||||
self.addrule("PACMAN_RETCODE=0")
 | 
			
		||||
self.addrule("PKG_EXIST=pkg")
 | 
			
		||||
self.addrule("PKG_NOTE=pkg|this is a note")
 | 
			
		||||
@@ -1,30 +0,0 @@
 | 
			
		||||
self.description = "Make sure note is only set for targets"
 | 
			
		||||
 | 
			
		||||
sp1 = pmpkg("pkg1", "1.0-2")
 | 
			
		||||
sp1.depends = ["pkg2"]
 | 
			
		||||
 | 
			
		||||
sp2 = pmpkg("pkg2")
 | 
			
		||||
 | 
			
		||||
sp3 = pmpkg("pkg3")
 | 
			
		||||
sp3.depends = ["pkg4"]
 | 
			
		||||
 | 
			
		||||
sp4 = pmpkg("pkg4")
 | 
			
		||||
 | 
			
		||||
for p in sp1, sp2, sp3, sp4:
 | 
			
		||||
	self.addpkg2db("sync", p)
 | 
			
		||||
 | 
			
		||||
lp1 = pmpkg("pkg1")
 | 
			
		||||
self.addpkg2db("local", lp1)
 | 
			
		||||
 | 
			
		||||
self.args = "-S pkg1 pkg3 --note aaaa"
 | 
			
		||||
 | 
			
		||||
self.addrule("PACMAN_RETCODE=0")
 | 
			
		||||
self.addrule("PKG_EXIST=pkg1")
 | 
			
		||||
self.addrule("PKG_EXIST=pkg2")
 | 
			
		||||
self.addrule("PKG_EXIST=pkg3")
 | 
			
		||||
self.addrule("PKG_EXIST=pkg4")
 | 
			
		||||
 | 
			
		||||
self.addrule("PKG_NOTE=pkg1|aaaa")
 | 
			
		||||
self.addrule("PKG_NOTE=pkg2|")
 | 
			
		||||
self.addrule("PKG_NOTE=pkg3|aaaa")
 | 
			
		||||
self.addrule("PKG_NOTE=pkg4|")
 | 
			
		||||
		Reference in New Issue
	
	Block a user