public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] proj/portage:master commit in: man/, bin/
@ 2011-05-01  1:23 Arfrever Frehtes Taifersar Arahesis
  0 siblings, 0 replies; 29+ messages in thread
From: Arfrever Frehtes Taifersar Arahesis @ 2011-05-01  1:23 UTC (permalink / raw
  To: gentoo-commits

commit:     81354e43b5acf25cadc42f6c093d52acf8f832fb
Author:     Arfrever Frehtes Taifersar Arahesis <Arfrever <AT> Gentoo <DOT> Org>
AuthorDate: Sun May  1 01:21:57 2011 +0000
Commit:     Arfrever Frehtes Taifersar Arahesis <arfrever <AT> gentoo <DOT> org>
CommitDate: Sun May  1 01:21:57 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=81354e43

Bug #365439: Add set_unless_changed() and unset_unless_changed().

---
 bin/ebuild.sh             |   28 ++++++++++++++++++++++++++++
 bin/isolated-functions.sh |    4 ++--
 man/portage.5             |   20 +++++++++++++++++---
 3 files changed, 47 insertions(+), 5 deletions(-)

diff --git a/bin/ebuild.sh b/bin/ebuild.sh
index c79d4c3..e652cb5 100755
--- a/bin/ebuild.sh
+++ b/bin/ebuild.sh
@@ -1639,6 +1639,34 @@ _ebuild_phase_funcs() {
 	esac
 }
 
+# Set given variable unless this variable has been already set (e.g. during emerge
+# invocation) to a value different than value set in make.conf.
+set_unless_changed() {
+	if [[ $# -ne 2 ]]; then
+		die "${FUNCNAME}() requires 2 arguments: VARIABLE VALUE"
+	fi
+
+	local variable="$1" value="$2"
+
+	if eval "[[ \${${variable}} == \$(env -u ${variable} portageq envvar ${variable}) ]]"; then
+		eval "${variable}=\"${value}\""
+	fi
+}
+
+# Unset given variable unless this variable has been set (e.g. during emerge
+# invocation) to a value different than value set in make.conf.
+unset_unless_changed() {
+	if [[ $# -ne 1 ]]; then
+		die "${FUNCNAME}() requires 1 argument: VARIABLE"
+	fi
+
+	local variable="$1"
+
+	if eval "[[ \${${variable}} == \$(env -u ${variable} portageq envvar ${variable}) ]]"; then
+		unset ${variable}
+	fi
+}
+
 PORTAGE_BASHRCS_SOURCED=0
 
 # @FUNCTION: source_all_bashrcs

diff --git a/bin/isolated-functions.sh b/bin/isolated-functions.sh
index 2f144a0..24443ac 100644
--- a/bin/isolated-functions.sh
+++ b/bin/isolated-functions.sh
@@ -585,8 +585,8 @@ save_ebuild_env() {
 			dyn_preinst dyn_help debug-print debug-print-function \
 			debug-print-section inherit EXPORT_FUNCTIONS remove_path_entry \
 			save_ebuild_env filter_readonly_variables preprocess_ebuild_env \
-			source_all_bashrcs ebuild_main \
-			ebuild_phase ebuild_phase_with_hooks \
+			set_unless_changed unset_unless_changed source_all_bashrcs \
+			ebuild_main ebuild_phase ebuild_phase_with_hooks \
 			_ebuild_arg_to_phase _ebuild_phase_funcs default \
 			_pipestatus \
 			${QA_INTERCEPTORS}

diff --git a/man/portage.5 b/man/portage.5
index fc51481..a210e8d 100644
--- a/man/portage.5
+++ b/man/portage.5
@@ -1,4 +1,4 @@
-.TH "PORTAGE" "5" "Feb 2011" "Portage VERSION" "Portage"
+.TH "PORTAGE" "5" "May 2011" "Portage VERSION" "Portage"
 .SH NAME
 portage \- the heart of Gentoo
 .SH "DESCRIPTION"
@@ -674,8 +674,22 @@ In this directory additional package\-specific bashrc files can be created.
 Note that if package\-specific environment variable settings are all that's
 needed, then \fB/etc/portage/package.env\fR should be used instead of the
 bashrc approach that is described here.
-Portage will source all of them after \fB/etc/portage/bashrc\fR in the following
-order:
+
+set_unless_changed and unset_unless_changed functions can be used to set or
+unset given variables only if these variable have not been set to values
+different than values set in make.conf. This functionality can be useful for
+temporary overriding of these variables during emerge invocation. Variables
+set in the usual VARIABLE=VALUE style will unconditionally override variables
+set during emerge invocation.
+
+.I Syntax:
+.nf
+set_unless_changed VARIABLE VALUE
+unset_unless_changed VALUE
+.fi
+
+Portage will source all of these bashrc files after \fB/etc/portage/bashrc\fR
+in the following order:
 .nr step 1 1
 .IP \n[step]. 3
 /etc/portage/env/${CATEGORY}/${PN}



^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [gentoo-commits] proj/portage:master commit in: man/, bin/
@ 2011-05-01 14:52 Arfrever Frehtes Taifersar Arahesis
  0 siblings, 0 replies; 29+ messages in thread
From: Arfrever Frehtes Taifersar Arahesis @ 2011-05-01 14:52 UTC (permalink / raw
  To: gentoo-commits

commit:     693681562c7795473efd0caaa05b8d52b28f75db
Author:     Arfrever Frehtes Taifersar Arahesis <Arfrever <AT> Gentoo <DOT> Org>
AuthorDate: Sun May  1 14:50:30 2011 +0000
Commit:     Arfrever Frehtes Taifersar Arahesis <arfrever <AT> gentoo <DOT> org>
CommitDate: Sun May  1 14:50:30 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=69368156

Support multiple arguments in set_unless_changed() and unset_unless_changed().
Use VARIABLE=VALUE syntax for arguments of set_unless_changed().

---
 bin/ebuild.sh |   43 +++++++++++++++++++++++++------------------
 man/portage.5 |    4 ++--
 2 files changed, 27 insertions(+), 20 deletions(-)

diff --git a/bin/ebuild.sh b/bin/ebuild.sh
index e652cb5..6593755 100755
--- a/bin/ebuild.sh
+++ b/bin/ebuild.sh
@@ -1639,32 +1639,39 @@ _ebuild_phase_funcs() {
 	esac
 }
 
-# Set given variable unless this variable has been already set (e.g. during emerge
-# invocation) to a value different than value set in make.conf.
+# Set given variables unless these variable have been already set (e.g. during emerge
+# invocation) to values different than values set in make.conf.
 set_unless_changed() {
-	if [[ $# -ne 2 ]]; then
-		die "${FUNCNAME}() requires 2 arguments: VARIABLE VALUE"
+	if [[ $# -lt 1 ]]; then
+		die "${FUNCNAME}() requires at least 1 argument: VARIABLE=VALUE"
 	fi
 
-	local variable="$1" value="$2"
-
-	if eval "[[ \${${variable}} == \$(env -u ${variable} portageq envvar ${variable}) ]]"; then
-		eval "${variable}=\"${value}\""
-	fi
+	local argument value variable
+	for argument in "$@"; do
+		if [[ ${argument} != *=* ]]; then
+			die "${FUNCNAME}(): Argument '${argument}' has incorrect syntax"
+		fi
+		variable="${argument%%=*}"
+		value="${argument#*=}"
+		if eval "[[ \${${variable}} == \$(env -u ${variable} portageq envvar ${variable}) ]]"; then
+			eval "${variable}=\"${value}\""
+		fi
+	done
 }
 
-# Unset given variable unless this variable has been set (e.g. during emerge
-# invocation) to a value different than value set in make.conf.
+# Unset given variables unless these variable have been set (e.g. during emerge
+# invocation) to values different than values set in make.conf.
 unset_unless_changed() {
-	if [[ $# -ne 1 ]]; then
-		die "${FUNCNAME}() requires 1 argument: VARIABLE"
+	if [[ $# -lt 1 ]]; then
+		die "${FUNCNAME}() requires at least 1 argument: VARIABLE"
 	fi
 
-	local variable="$1"
-
-	if eval "[[ \${${variable}} == \$(env -u ${variable} portageq envvar ${variable}) ]]"; then
-		unset ${variable}
-	fi
+	local variable
+	for variable in "$@"; do
+		if eval "[[ \${${variable}} == \$(env -u ${variable} portageq envvar ${variable}) ]]"; then
+			unset ${variable}
+		fi
+	done
 }
 
 PORTAGE_BASHRCS_SOURCED=0

diff --git a/man/portage.5 b/man/portage.5
index a210e8d..ece47e5 100644
--- a/man/portage.5
+++ b/man/portage.5
@@ -679,12 +679,12 @@ set_unless_changed and unset_unless_changed functions can be used to set or
 unset given variables only if these variable have not been set to values
 different than values set in make.conf. This functionality can be useful for
 temporary overriding of these variables during emerge invocation. Variables
-set in the usual VARIABLE=VALUE style will unconditionally override variables
+set without using set_unless_changed will unconditionally override variables
 set during emerge invocation.
 
 .I Syntax:
 .nf
-set_unless_changed VARIABLE VALUE
+set_unless_changed VARIABLE=VALUE
 unset_unless_changed VALUE
 .fi
 



^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [gentoo-commits] proj/portage:master commit in: man/, bin/
@ 2011-05-01 15:58 Zac Medico
  0 siblings, 0 replies; 29+ messages in thread
From: Zac Medico @ 2011-05-01 15:58 UTC (permalink / raw
  To: gentoo-commits

commit:     4e02baaa767e13c3b99ddeca1e9a8a05abd30783
Author:     Ulrich Mueller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sun May  1 15:57:33 2011 +0000
Commit:     Zac Medico <zmedico <AT> gentoo <DOT> org>
CommitDate: Sun May  1 15:57:33 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=4e02baaa

repoman: Check for PROVIDE.

This will fix bug #365505.

---
 bin/repoman   |    5 +++++
 man/repoman.1 |    3 +++
 2 files changed, 8 insertions(+), 0 deletions(-)

diff --git a/bin/repoman b/bin/repoman
index f3956d6..c89f2b8 100755
--- a/bin/repoman
+++ b/bin/repoman
@@ -366,6 +366,7 @@ qahelp={
 	"metadata.bad":"Bad metadata.xml files",
 	"metadata.warning":"Warnings in metadata.xml files",
 	"portage.internal":"The ebuild uses an internal Portage function",
+	"virtual.oldstyle":"The ebuild PROVIDEs an old-style virtual (see GLEP 37)",
 	"virtual.versioned":"PROVIDE contains virtuals with versions",
 	"virtual.exists":"PROVIDE contains existing package names",
 	"virtual.unavailable":"PROVIDE contains a virtual which contains no profile default",
@@ -1548,6 +1549,10 @@ for x in scanlist:
 				stats["virtual.exists"]+=1
 				fails["virtual.exists"].append(x+"/"+y+".ebuild: "+prov_cp)
 
+		if myaux.get("PROVIDE"):
+			stats["virtual.oldstyle"]+=1
+			fails["virtual.oldstyle"].append(relative_path)
+
 		for pos, missing_var in enumerate(missingvars):
 			if not myaux.get(missing_var):
 				if catdir == "virtual" and \

diff --git a/man/repoman.1 b/man/repoman.1
index 162b62b..7c34024 100644
--- a/man/repoman.1
+++ b/man/repoman.1
@@ -353,6 +353,9 @@ Ebuild uses D, ROOT, ED, EROOT or EPREFIX with helpers
 .B virtual.exists
 PROVIDE contains existing package names
 .TP
+.B virtual.oldstyle
+The ebuild PROVIDEs an old-style virtual (see GLEP 37)
+.TP
 .B virtual.unavailable
 PROVIDE contains a virtual which contains no profile default
 .TP



^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [gentoo-commits] proj/portage:master commit in: man/, bin/
@ 2011-06-24 10:23 Zac Medico
  0 siblings, 0 replies; 29+ messages in thread
From: Zac Medico @ 2011-06-24 10:23 UTC (permalink / raw
  To: gentoo-commits

commit:     f57036e346400a0a760668b9bc0e6c84b5d61304
Author:     Zac Medico <zmedico <AT> gentoo <DOT> org>
AuthorDate: Fri Jun 24 10:21:20 2011 +0000
Commit:     Zac Medico <zmedico <AT> gentoo <DOT> org>
CommitDate: Fri Jun 24 10:21:20 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=f57036e3

repoman: add new "dependency.unknown" warning

This checks for a dependency that refers to an unknown package (which
may be provided by an overlay), as requested in bug #372789.

---
 bin/repoman   |   25 +++++++++++++++++++++++++
 man/repoman.1 |    4 ++++
 2 files changed, 29 insertions(+), 0 deletions(-)

diff --git a/bin/repoman b/bin/repoman
index 487cc67..6145c89 100755
--- a/bin/repoman
+++ b/bin/repoman
@@ -286,6 +286,7 @@ qahelp={
 	"ebuild.notadded":"Ebuilds that exist but have not been added to cvs",
 	"ebuild.patches":"PATCHES variable should be a bash array to ensure white space safety",
 	"changelog.notadded":"ChangeLogs that exist but have not been added to cvs",
+	"dependency.unknown" : "Ebuild has a dependency that refers to an unknown package (which may be provided by an overlay)",
 	"file.executable":"Ebuilds, digests, metadata.xml, Manifest, and ChangeLog do note need the executable bit",
 	"file.size":"Files in the files directory must be under 20 KiB",
 	"file.size.fatal":"Files in the files directory must be under 60 KiB",
@@ -377,6 +378,7 @@ qacats.sort()
 qawarnings = set((
 "changelog.missing",
 "changelog.notadded",
+"dependency.unknown",
 "digest.assumed",
 "digest.unused",
 "ebuild.notadded",
@@ -1634,6 +1636,7 @@ for x in scanlist:
 				# packages that have empty KEYWORDS.
 				arches.append(['**', '**', ['**']])
 
+		unknown_pkgs = {}
 		baddepsyntax = False
 		badlicsyntax = False
 		badprovsyntax = False
@@ -1670,6 +1673,12 @@ for x in scanlist:
 					if atom == "||":
 						continue
 
+					if not atom.blocker and \
+						not portdb.cp_list(atom.cp) and \
+						not atom.cp.startswith("virtual/"):
+						unknown_pkgs.setdefault(atom.cp, set()).add(
+							(mytype, atom.unevaluated_atom))
+
 					is_blocker = atom.blocker
 
 					if mytype == "DEPEND" and \
@@ -1913,6 +1922,12 @@ for x in scanlist:
 
 						if success:
 							if atoms:
+								for atom in atoms:
+									if not atom.blocker:
+										# Don't bother with dependency.unknown
+										# for cases in which *DEPEND.bad is
+										# triggered.
+										unknown_pkgs.pop(atom.cp, None)
 
 								if not prof.sub_path:
 									# old-style virtuals currently aren't
@@ -1942,6 +1957,16 @@ for x in scanlist:
 								(relative_path, keyword,
 								prof, repr(atoms)))
 
+		if not baddepsyntax and unknown_pkgs:
+			all_unknown = set(*unknown_pkgs.values())
+			type_map = {}
+			for mytype, atom in all_unknown:
+				type_map.setdefault(mytype, set()).add(atom)
+			for mytype, atoms in type_map.items():
+				stats["dependency.unknown"] += 1
+				fails["dependency.unknown"].append("%s: %s: %s" %
+					(relative_path, mytype, ", ".join(sorted(atoms))))
+
 	# Check for 'all unstable' or 'all masked' -- ACCEPT_KEYWORDS is stripped
 	# XXX -- Needs to be implemented in dep code. Can't determine ~arch nicely.
 	#if not portage.portdb.xmatch("bestmatch-visible",x):

diff --git a/man/repoman.1 b/man/repoman.1
index 3d4cc53..9aa7180 100644
--- a/man/repoman.1
+++ b/man/repoman.1
@@ -247,6 +247,10 @@ Missing ChangeLog files
 .B changelog.notadded
 ChangeLogs that exist but have not been added to cvs
 .TP
+.B dependency.unknown
+Ebuild has a dependency that refers to an unknown package (which may be
+provided by an overlay)
+.TP
 .B digest.assumed
 Existing digest must be assumed correct (Package level only)
 .TP



^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [gentoo-commits] proj/portage:master commit in: man/, bin/
@ 2011-08-11  3:00 Zac Medico
  0 siblings, 0 replies; 29+ messages in thread
From: Zac Medico @ 2011-08-11  3:00 UTC (permalink / raw
  To: gentoo-commits

commit:     178ba38609cab75b22aa771e4155cc9011130a2e
Author:     Zac Medico <zmedico <AT> gentoo <DOT> org>
AuthorDate: Thu Aug 11 03:00:11 2011 +0000
Commit:     Zac Medico <zmedico <AT> gentoo <DOT> org>
CommitDate: Thu Aug 11 03:00:11 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=178ba386

repoman: add --if-modified option to check less

This is useful if you want to do a repo-level or category-level commit
but you only want to run checks for the packages that have uncommitted
modifications.

---
 bin/repoman   |   15 +++++++++++++++
 man/repoman.1 |    3 +++
 2 files changed, 18 insertions(+), 0 deletions(-)

diff --git a/bin/repoman b/bin/repoman
index f1fbc24..e806b31 100755
--- a/bin/repoman
+++ b/bin/repoman
@@ -209,6 +209,10 @@ def ParseArgs(argv, qahelp):
 	parser.add_option('-x', '--xmlparse', dest='xml_parse', action='store_true',
 		default=False, help='forces the metadata.xml parse check to be carried out')
 
+	parser.add_option(
+		'--if-modified', type='choice', choices=('y', 'n'), default='n',
+		help='only check packages that have uncommitted modifications')
+
 	parser.add_option('-i', '--ignore-arches', dest='ignore_arches', action='store_true',
 		default=False, help='ignore arch-specific failures (where arch != host)')
 
@@ -1068,6 +1072,17 @@ for x in scanlist:
 	if repolevel < 2:
 		checkdir_relative = os.path.join(catdir, checkdir_relative)
 	checkdir_relative = os.path.join(".", checkdir_relative)
+
+	if vcs and options.if_modified == "y":
+		checkdir_modified = False
+		checkdir_pattern = checkdir_relative.rstrip(os.sep) + os.sep
+		for f in chain(mychanged, mynew):
+			if f.startswith(checkdir_pattern):
+				checkdir_modified = True
+				break
+		if not checkdir_modified:
+			continue
+
 	generated_manifest = False
 
 	if options.mode == "manifest" or \

diff --git a/man/repoman.1 b/man/repoman.1
index 9aa7180..8d06ae4 100644
--- a/man/repoman.1
+++ b/man/repoman.1
@@ -41,6 +41,9 @@ Forces the metadata.xml parse check to be carried out
 \fB-v\fR, \fB--verbose\fR
 Displays every package name while checking
 .TP
+\fB\-\-if\-modified=<y|n>\fR
+Only check packages that have uncommitted modifications
+.TP
 \fB\-i\fR, \fB\-\-ignore\-arches\fR
 Ignore arch-specific failures (where arch != host)
 .TP



^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [gentoo-commits] proj/portage:master commit in: man/, bin/
@ 2011-08-13 13:52 Zac Medico
  0 siblings, 0 replies; 29+ messages in thread
From: Zac Medico @ 2011-08-13 13:52 UTC (permalink / raw
  To: gentoo-commits

commit:     38bbbfaeac507a3ee030c73428b9af5b60ec425b
Author:     Zac Medico <zmedico <AT> gentoo <DOT> org>
AuthorDate: Sat Aug 13 13:51:43 2011 +0000
Commit:     Zac Medico <zmedico <AT> gentoo <DOT> org>
CommitDate: Sat Aug 13 13:51:43 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=38bbbfae

egencache: add --portdir-overlay option

This will fix bug #353648.

---
 bin/egencache   |    9 +++++++++
 man/egencache.1 |    4 ++++
 2 files changed, 13 insertions(+), 0 deletions(-)

diff --git a/bin/egencache b/bin/egencache
index 1b4265d..6d8df35 100755
--- a/bin/egencache
+++ b/bin/egencache
@@ -87,6 +87,9 @@ def parse_args(args):
 	common.add_option("--portdir",
 		help="override the portage tree location",
 		dest="portdir")
+	common.add_option("--portdir-overlay",
+		help="override the PORTDIR_OVERLAY variable (requires that --repo is also specified)",
+		dest="portdir_overlay")
 	common.add_option("--tolerant",
 		action="store_true",
 		help="exit successfully if only minor errors occurred")
@@ -164,6 +167,10 @@ def parse_args(args):
 		parser.error("Not a directory: --cache-dir='%s'" % \
 			(options.cache_dir,))
 
+	if options.portdir_overlay is not None and \
+		options.repo is None:
+		parser.error("--portdir-overlay option requires --repo option")
+
 	for atom in args:
 		try:
 			atom = portage.dep.Atom(atom)
@@ -764,6 +771,8 @@ def egencache_main(args):
 
 	if options.repo is None:
 		env['PORTDIR_OVERLAY'] = ''
+	elif options.portdir_overlay:
+		env['PORTDIR_OVERLAY'] = options.portdir_overlay
 
 	if options.cache_dir is not None:
 		env['PORTAGE_DEPCACHEDIR'] = options.cache_dir

diff --git a/man/egencache.1 b/man/egencache.1
index 56c2602..9094595 100644
--- a/man/egencache.1
+++ b/man/egencache.1
@@ -47,6 +47,10 @@ Specifies that maximum load allowed when spawning multiple jobs.
 .BR "\-\-portdir=PORTDIR"
 Override the portage tree location.
 .TP
+.BR "\-\-portdir\-overlay=PORTDIR_OVERLAY"
+Override the PORTDIR_OVERLAY variable (requires that
+\-\-repo is also specified).
+.TP
 .BR "\-\-preserve\-comments"
 Preserve the comments found in the output use.local.desc file. This requires
 the output file to exist before egencache is called.



^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [gentoo-commits] proj/portage:master commit in: man/, bin/
@ 2011-08-31  3:05 Zac Medico
  0 siblings, 0 replies; 29+ messages in thread
From: Zac Medico @ 2011-08-31  3:05 UTC (permalink / raw
  To: gentoo-commits

commit:     10344709eeba075dc3954889f7f08e309bf33251
Author:     Zac Medico <zmedico <AT> gentoo <DOT> org>
AuthorDate: Wed Aug 31 03:04:17 2011 +0000
Commit:     Zac Medico <zmedico <AT> gentoo <DOT> org>
CommitDate: Wed Aug 31 03:04:17 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=10344709

repoman: enable dependency.unknown for blockers

This will fix bug #381087.

---
 bin/repoman   |    5 ++---
 man/repoman.1 |    3 ++-
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/bin/repoman b/bin/repoman
index d9ecfc4..6ec84e5 100755
--- a/bin/repoman
+++ b/bin/repoman
@@ -291,7 +291,7 @@ qahelp={
 	"ebuild.notadded":"Ebuilds that exist but have not been added to cvs",
 	"ebuild.patches":"PATCHES variable should be a bash array to ensure white space safety",
 	"changelog.notadded":"ChangeLogs that exist but have not been added to cvs",
-	"dependency.unknown" : "Ebuild has a dependency that refers to an unknown package (which may be provided by an overlay)",
+	"dependency.unknown" : "Ebuild has a dependency that refers to an unknown package (which may be valid if it is a blocker for a renamed/removed package, or is an alternative choice provided by an overlay)",
 	"file.executable":"Ebuilds, digests, metadata.xml, Manifest, and ChangeLog do note need the executable bit",
 	"file.size":"Files in the files directory must be under 20 KiB",
 	"file.size.fatal":"Files in the files directory must be under 60 KiB",
@@ -1700,8 +1700,7 @@ for x in scanlist:
 					if atom == "||":
 						continue
 
-					if not atom.blocker and \
-						not portdb.cp_list(atom.cp) and \
+					if not portdb.cp_list(atom.cp) and \
 						not atom.cp.startswith("virtual/"):
 						unknown_pkgs.setdefault(atom.cp, set()).add(
 							(mytype, atom.unevaluated_atom))

diff --git a/man/repoman.1 b/man/repoman.1
index 8d06ae4..f0c9eff 100644
--- a/man/repoman.1
+++ b/man/repoman.1
@@ -252,7 +252,8 @@ ChangeLogs that exist but have not been added to cvs
 .TP
 .B dependency.unknown
 Ebuild has a dependency that refers to an unknown package (which may be
-provided by an overlay)
+valid if it is a blocker for a renamed/removed package, or is an
+alternative choice provided by an overlay)
 .TP
 .B digest.assumed
 Existing digest must be assumed correct (Package level only)



^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [gentoo-commits] proj/portage:master commit in: man/, bin/
@ 2011-10-14 18:06 Zac Medico
  0 siblings, 0 replies; 29+ messages in thread
From: Zac Medico @ 2011-10-14 18:06 UTC (permalink / raw
  To: gentoo-commits

commit:     f03e9dbd874e6731683c0050d827318bd14360fb
Author:     Zac Medico <zmedico <AT> gentoo <DOT> org>
AuthorDate: Fri Oct 14 17:55:31 2011 +0000
Commit:     Zac Medico <zmedico <AT> gentoo <DOT> org>
CommitDate: Fri Oct 14 17:55:31 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=f03e9dbd

repoman: add --echangelog=<y|n> for bug #337853

This option will call echangelog for each package that has modified
files and does not have a modified ChangeLog. Gentoo's council has
decided that this option will be enabled by default for the "gentoo"
repository. If desired, we can add a metadata/layout.conf setting so
that other repositories can control the default behavior.

---
 bin/repoman   |  174 ++++++++++++++++++++++++++++++++++++++------------------
 man/repoman.1 |    3 +
 2 files changed, 121 insertions(+), 56 deletions(-)

diff --git a/bin/repoman b/bin/repoman
index 65c1f40..47ae974 100755
--- a/bin/repoman
+++ b/bin/repoman
@@ -18,6 +18,7 @@ import optparse
 import re
 import signal
 import stat
+import subprocess
 import sys
 import tempfile
 import textwrap
@@ -195,6 +196,10 @@ def ParseArgs(argv, qahelp):
 	parser.add_option('-q', '--quiet', dest="quiet", action="count", default=0,
 		help='do not print unnecessary messages')
 
+	parser.add_option(
+		'--echangelog', type='choice', choices=('y', 'n'), metavar="<y|n>",
+		help='for commit mode, call echangelog if ChangeLog is unmodified')
+
 	parser.add_option('-f', '--force', dest='force', default=False, action='store_true',
 		help='Commit with QA violations')
 
@@ -539,12 +544,6 @@ else:
 	else:
 		vcs = None
 
-# Note: We don't use ChangeLogs in distributed SCMs.
-# It will be generated on server side from scm log,
-# before package moves to the rsync server.
-# This is needed because we try to avoid merge collisions.
-check_changelog = vcs in ('cvs', 'svn')
-
 # Disable copyright/mtime check if vcs does not preserve mtime (bug #324075).
 vcs_preserves_mtime = vcs not in ('git',)
 
@@ -634,6 +633,30 @@ if "commit" == options.mode and \
 		print(prefix + line)
 	sys.exit(1)
 
+if options.echangelog is None and \
+	repo_config.name == "gentoo":
+	# Bug #337853 - gentoo's council says to enable
+	# --echangelog by default for the "gentoo" repo
+	options.echangelog = 'y'
+
+if vcs is None:
+	options.echangelog = 'n'
+
+if 'commit' == options.mode and \
+	options.echangelog == 'y' and \
+	find_binary('echangelog') is None:
+	logging.error("echangelog not found, and --echangelog is enabled")
+	sys.exit(1)
+
+# The --echangelog option causes automatic ChangeLog generation,
+# which invalidates changelog.ebuildadded and changelog.missing
+# checks.
+# Note: We don't use ChangeLogs in distributed SCMs.
+# It will be generated on server side from scm log,
+# before package moves to the rsync server.
+# This is needed because we try to avoid merge collisions.
+check_changelog = options.echangelog != 'y' and vcs in ('cvs', 'svn')
+
 # Generate an appropriate PORTDIR_OVERLAY value for passing into the
 # profile-specific config constructor calls.
 env = os.environ.copy()
@@ -2339,6 +2362,95 @@ else:
 	mydirty = []
 
 	print("* %s files being committed..." % green(str(len(myupdates))), end=' ')
+
+	commitmessage = options.commitmsg
+	if options.commitmsgfile:
+		try:
+			f = io.open(_unicode_encode(options.commitmsgfile,
+			encoding=_encodings['fs'], errors='strict'),
+			mode='r', encoding=_encodings['content'], errors='replace')
+			commitmessage = f.read()
+			f.close()
+			del f
+		except (IOError, OSError) as e:
+			if e.errno == errno.ENOENT:
+				portage.writemsg("!!! File Not Found: --commitmsgfile='%s'\n" % options.commitmsgfile)
+			else:
+				raise
+		# We've read the content so the file is no longer needed.
+		commitmessagefile = None
+	if not commitmessage or not commitmessage.strip():
+		try:
+			editor = os.environ.get("EDITOR")
+			if editor and utilities.editor_is_executable(editor):
+				commitmessage = utilities.get_commit_message_with_editor(
+					editor, message=qa_output)
+			else:
+				commitmessage = utilities.get_commit_message_with_stdin()
+		except KeyboardInterrupt:
+			exithandler()
+		if not commitmessage or not commitmessage.strip():
+			print("* no commit message?  aborting commit.")
+			sys.exit(1)
+	commitmessage = commitmessage.rstrip()
+	changelog_msg = commitmessage
+	portage_version = getattr(portage, "VERSION", None)
+	if portage_version is None:
+		sys.stderr.write("Failed to insert portage version in message!\n")
+		sys.stderr.flush()
+		portage_version = "Unknown"
+	unameout = platform.system() + " "
+	if platform.system() in ["Darwin", "SunOS"]:
+		unameout += platform.processor()
+	else:
+		unameout += platform.machine()
+	commitmessage += "\n\n(Portage version: %s/%s/%s" % \
+		(portage_version, vcs, unameout)
+	if options.force:
+		commitmessage += ", RepoMan options: --force"
+	commitmessage += ")"
+
+	if options.ask and userquery('Commit changes?', True) != 'Yes':
+		print("* aborting commit.")
+		sys.exit(1)
+
+	if options.echangelog == 'y':
+		logging.info("checking for unmodified ChangeLog files")
+		for x in scanlist:
+			catdir, pkgdir = x.split("/")
+			checkdir = repodir + "/" + x
+			checkdir_relative = ""
+			if repolevel < 3:
+				checkdir_relative = os.path.join(pkgdir, checkdir_relative)
+			if repolevel < 2:
+				checkdir_relative = os.path.join(catdir, checkdir_relative)
+			checkdir_relative = os.path.join(".", checkdir_relative)
+
+			changelog_path = os.path.join(checkdir_relative, "ChangeLog")
+			changelog_modified = changelog_path in modified_changelogs
+			if changelog_modified:
+				continue
+
+			checkdir_modified = False
+			checkdir_pattern = checkdir_relative.rstrip(os.sep) + os.sep
+			for f in chain(myupdates, myremoved):
+				if f.startswith(checkdir_pattern):
+					checkdir_modified = True
+					break
+			if not checkdir_modified:
+				continue
+
+			myupdates.append(changelog_path)
+			logging.info("calling echangelog for package %s" % x)
+			echangelog_args = ["echangelog", "--vcs", vcs, changelog_msg]
+			if options.pretend:
+				print("(%s)" % (" ".join(echangelog_args),))
+				continue
+			retcode = subprocess.call(echangelog_args, cwd=checkdir)
+			if retcode != os.EX_OK:
+				logging.error("echangelog exited with '%s' status" % retcode)
+				sys.exit(retcode)
+
 	if vcs not in ('cvs', 'svn'):
 		# With git, bzr and hg, there's never any keyword expansion, so
 		# there's no need to regenerate manifests and all files will be
@@ -2393,56 +2505,6 @@ else:
 	logging.info("myupdates: %s", myupdates)
 	logging.info("myheaders: %s", myheaders)
 
-	commitmessage = options.commitmsg
-	if options.commitmsgfile:
-		try:
-			f = io.open(_unicode_encode(options.commitmsgfile,
-			encoding=_encodings['fs'], errors='strict'),
-			mode='r', encoding=_encodings['content'], errors='replace')
-			commitmessage = f.read()
-			f.close()
-			del f
-		except (IOError, OSError) as e:
-			if e.errno == errno.ENOENT:
-				portage.writemsg("!!! File Not Found: --commitmsgfile='%s'\n" % options.commitmsgfile)
-			else:
-				raise
-		# We've read the content so the file is no longer needed.
-		commitmessagefile = None
-	if not commitmessage or not commitmessage.strip():
-		try:
-			editor = os.environ.get("EDITOR")
-			if editor and utilities.editor_is_executable(editor):
-				commitmessage = utilities.get_commit_message_with_editor(
-					editor, message=qa_output)
-			else:
-				commitmessage = utilities.get_commit_message_with_stdin()
-		except KeyboardInterrupt:
-			exithandler()
-		if not commitmessage or not commitmessage.strip():
-			print("* no commit message?  aborting commit.")
-			sys.exit(1)
-	commitmessage = commitmessage.rstrip()
-	portage_version = getattr(portage, "VERSION", None)
-	if portage_version is None:
-		sys.stderr.write("Failed to insert portage version in message!\n")
-		sys.stderr.flush()
-		portage_version = "Unknown"
-	unameout = platform.system() + " "
-	if platform.system() in ["Darwin", "SunOS"]:
-		unameout += platform.processor()
-	else:
-		unameout += platform.machine()
-	commitmessage += "\n\n(Portage version: %s/%s/%s" % \
-		(portage_version, vcs, unameout)
-	if options.force:
-		commitmessage += ", RepoMan options: --force"
-	commitmessage += ")"
-
-	if options.ask and userquery('Commit changes?', True) != 'Yes':
-		print("* aborting commit.")
-		sys.exit(1)
-
 	# Handle the case where committed files have keywords which
 	# will change and need a priming commit before the Manifest
 	# can be committed.

diff --git a/man/repoman.1 b/man/repoman.1
index bc54657..4d3a59b 100644
--- a/man/repoman.1
+++ b/man/repoman.1
@@ -41,6 +41,9 @@ Forces the metadata.xml parse check to be carried out
 \fB-v\fR, \fB--verbose\fR
 Displays every package name while checking
 .TP
+\fB\-\-echangelog=<y|n>\fR
+For commit mode, call echangelog if ChangeLog is unmodified
+.TP
 \fB\-\-if\-modified=<y|n>\fR
 Only check packages that have uncommitted modifications
 .TP



^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [gentoo-commits] proj/portage:master commit in: man/, bin/
@ 2011-10-17  4:22 Zac Medico
  0 siblings, 0 replies; 29+ messages in thread
From: Zac Medico @ 2011-10-17  4:22 UTC (permalink / raw
  To: gentoo-commits

commit:     17a76f21f811e7e5741fa259ef5a635fddfdb75a
Author:     Zac Medico <zmedico <AT> gentoo <DOT> org>
AuthorDate: Mon Oct 17 04:22:18 2011 +0000
Commit:     Zac Medico <zmedico <AT> gentoo <DOT> org>
CommitDate: Mon Oct 17 04:22:18 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=17a76f21

repoman: support --echangelog=force

Allows forced ChangeLog generation even when the vcs has detected that
the ChangeLog has already been modified.

---
 bin/repoman   |   11 ++++++-----
 man/repoman.1 |    5 +++--
 2 files changed, 9 insertions(+), 7 deletions(-)

diff --git a/bin/repoman b/bin/repoman
index ba810c6..ad1e688 100755
--- a/bin/repoman
+++ b/bin/repoman
@@ -195,8 +195,9 @@ def ParseArgs(argv, qahelp):
 		help='do not print unnecessary messages')
 
 	parser.add_option(
-		'--echangelog', type='choice', choices=('y', 'n'), metavar="<y|n>",
-		help='for commit mode, call echangelog if ChangeLog is unmodified')
+		'--echangelog', type='choice', choices=('y', 'n', 'force'), metavar="<y|n|force>",
+		help='for commit mode, call echangelog if ChangeLog is unmodified (or '
+		'regardless of modification if \'force\' is specified)')
 
 	parser.add_option('-f', '--force', dest='force', default=False, action='store_true',
 		help='Commit with QA violations')
@@ -654,7 +655,7 @@ if vcs is None:
 # This is needed because they try to avoid merge collisions.
 # Gentoo's Council decided to always use the ChangeLog file.
 # TODO: shouldn't this just be switched on the repo, iso the VCS?
-check_changelog = options.echangelog != 'y' and vcs in ('cvs', 'svn')
+check_changelog = options.echangelog not in ('y', 'force') and vcs in ('cvs', 'svn')
 
 # Generate an appropriate PORTDIR_OVERLAY value for passing into the
 # profile-specific config constructor calls.
@@ -2419,7 +2420,7 @@ else:
 		print("* aborting commit.")
 		sys.exit(1)
 
-	if options.echangelog == 'y':
+	if options.echangelog in ('y', 'force'):
 		logging.info("checking for unmodified ChangeLog files")
 		for x in sorted(vcs_files_to_cps(
 			chain(myupdates, mymanifests, myremoved))):
@@ -2434,7 +2435,7 @@ else:
 
 			changelog_path = os.path.join(checkdir_relative, "ChangeLog")
 			changelog_modified = changelog_path in modified_changelogs
-			if changelog_modified:
+			if changelog_modified and options.echangelog != 'force':
 				continue
 
 			# get changes for this package

diff --git a/man/repoman.1 b/man/repoman.1
index 4d22e8d..2e4c86c 100644
--- a/man/repoman.1
+++ b/man/repoman.1
@@ -41,8 +41,9 @@ Forces the metadata.xml parse check to be carried out
 \fB-v\fR, \fB--verbose\fR
 Displays every package name while checking
 .TP
-\fB\-\-echangelog=<y|n>\fR
-For commit mode, call echangelog if ChangeLog is unmodified
+\fB\-\-echangelog=<y|n|force>\fR
+For commit mode, call echangelog if ChangeLog is unmodified (or
+regardless of modification if 'force' is specified)
 .TP
 \fB\-\-if\-modified=<y|n>\fR
 Only check packages that have uncommitted modifications



^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [gentoo-commits] proj/portage:master commit in: man/, bin/
@ 2011-12-21 20:04 Zac Medico
  0 siblings, 0 replies; 29+ messages in thread
From: Zac Medico @ 2011-12-21 20:04 UTC (permalink / raw
  To: gentoo-commits

commit:     a164fd421a445bb12c1b2f127600d915cb4df057
Author:     Zac Medico <zmedico <AT> gentoo <DOT> org>
AuthorDate: Wed Dec 21 20:03:45 2011 +0000
Commit:     Zac Medico <zmedico <AT> gentoo <DOT> org>
CommitDate: Wed Dec 21 20:03:45 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=a164fd42

s/QA_DT_SWITCHES/QA_CFLAGS_IGNORED/

---
 bin/misc-functions.sh |   10 +++++-----
 man/ebuild.5          |    2 +-
 man/make.conf.5       |    2 +-
 3 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/bin/misc-functions.sh b/bin/misc-functions.sh
index b6bd8ed..4a1a223 100755
--- a/bin/misc-functions.sh
+++ b/bin/misc-functions.sh
@@ -311,20 +311,20 @@ install_qa_check() {
 		# Check for files built without respecting CFLAGS
 		if [[ "${CFLAGS}" == *-frecord-gcc-switches* ]] && \
 			! has binchecks ${RESTRICT} ; then
-			qa_var="QA_DT_SWITCHES_${ARCH/-/_}"
-			eval "[[ -n \${!qa_var} ]] && QA_DT_SWITCHES=(\"\${${qa_var}[@]}\")"
+			qa_var="QA_CFLAGS_IGNORED_${ARCH/-/_}"
+			eval "[[ -n \${!qa_var} ]] && QA_CFLAGS_IGNORED=(\"\${${qa_var}[@]}\")"
 			f=$(scanelf -qyRF '%k %p' -k \!.GCC.command.line "${ED}" | sed -e "s:\!.GCC.command.line ::")
 			if [[ -n ${f} ]] ; then
 				echo "${f}" > "${T}"/scanelf-ignored-CFLAGS.log
 				if [ "${QA_STRICT_DT_SWITCHES-unset}" == unset ] ; then
-					if [[ ${#QA_DT_SWITCHES[@]} -gt 1 ]] ; then
-						for x in "${QA_DT_SWITCHES[@]}" ; do
+					if [[ ${#QA_CFLAGS_IGNORED[@]} -gt 1 ]] ; then
+						for x in "${QA_CFLAGS_IGNORED[@]}" ; do
 							sed -e "s#^${x#/}\$##" -i "${T}"/scanelf-ignored-CFLAGS.log
 						done
 					else
 						local shopts=$-
 						set -o noglob
-						for x in ${QA_DT_SWITCHES} ; do
+						for x in ${QA_CFLAGS_IGNORED} ; do
 							sed -e "s#^${x#/}\$##" -i "${T}"/scanelf-ignored-CFLAGS.log
 						done
 						set +o noglob

diff --git a/man/ebuild.5 b/man/ebuild.5
index 1216ac1..a9a26a7 100644
--- a/man/ebuild.5
+++ b/man/ebuild.5
@@ -602,7 +602,7 @@ This should contain a list of file paths, relative to the image directory, of
 files that contain writable and executable segments.  These are rare.
 The paths may contain fnmatch patterns.
 .TP
-\fBQA_DT_SWITCHES\fR
+\fBQA_CFLAGS_IGNORED\fR
 This should contain a list of file paths, relative to the image directory, of
 files that do not contain .GCC.command.line sections. The paths may contain
 regular expressions with escape\-quoted special characters.

diff --git a/man/make.conf.5 b/man/make.conf.5
index f9d69b7..86b4d4b 100644
--- a/man/make.conf.5
+++ b/man/make.conf.5
@@ -815,7 +815,7 @@ Set this to cause portage to ignore any \fIQA_TEXTREL\fR override
 settings from ebuilds.  See also \fBebuild\fR(5).
 .TP
 \fBQA_STRICT_DT_SWITCHES = \fI"set"\fR
-Set this to cause portage to ignore any \fIQA_DT_SWITCHES\fR override
+Set this to cause portage to ignore any \fIQA_CFLAGS_IGNORED\fR override
 settings from ebuilds.  See also \fBebuild\fR(5).
 .TP
 \fBQA_STRICT_DT_HASH = \fI"set"\fR



^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [gentoo-commits] proj/portage:master commit in: man/, bin/
@ 2011-12-21 20:08 Zac Medico
  0 siblings, 0 replies; 29+ messages in thread
From: Zac Medico @ 2011-12-21 20:08 UTC (permalink / raw
  To: gentoo-commits

commit:     f8c9c0075097c5457a9c69315bce4ea898924451
Author:     Zac Medico <zmedico <AT> gentoo <DOT> org>
AuthorDate: Wed Dec 21 20:07:37 2011 +0000
Commit:     Zac Medico <zmedico <AT> gentoo <DOT> org>
CommitDate: Wed Dec 21 20:07:37 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=f8c9c007

s/QA_STRICT_DT_SWITCHES/QA_STRICT_CFLAGS_IGNORED/

---
 bin/misc-functions.sh |    2 +-
 man/make.conf.5       |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/bin/misc-functions.sh b/bin/misc-functions.sh
index 4a1a223..4cba51a 100755
--- a/bin/misc-functions.sh
+++ b/bin/misc-functions.sh
@@ -316,7 +316,7 @@ install_qa_check() {
 			f=$(scanelf -qyRF '%k %p' -k \!.GCC.command.line "${ED}" | sed -e "s:\!.GCC.command.line ::")
 			if [[ -n ${f} ]] ; then
 				echo "${f}" > "${T}"/scanelf-ignored-CFLAGS.log
-				if [ "${QA_STRICT_DT_SWITCHES-unset}" == unset ] ; then
+				if [ "${QA_STRICT_CFLAGS_IGNORED-unset}" == unset ] ; then
 					if [[ ${#QA_CFLAGS_IGNORED[@]} -gt 1 ]] ; then
 						for x in "${QA_CFLAGS_IGNORED[@]}" ; do
 							sed -e "s#^${x#/}\$##" -i "${T}"/scanelf-ignored-CFLAGS.log

diff --git a/man/make.conf.5 b/man/make.conf.5
index 86b4d4b..eff180e 100644
--- a/man/make.conf.5
+++ b/man/make.conf.5
@@ -814,7 +814,7 @@ settings from ebuilds.  See also \fBebuild\fR(5).
 Set this to cause portage to ignore any \fIQA_TEXTREL\fR override
 settings from ebuilds.  See also \fBebuild\fR(5).
 .TP
-\fBQA_STRICT_DT_SWITCHES = \fI"set"\fR
+\fBQA_STRICT_CFLAGS_IGNORED = \fI"set"\fR
 Set this to cause portage to ignore any \fIQA_CFLAGS_IGNORED\fR override
 settings from ebuilds.  See also \fBebuild\fR(5).
 .TP



^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [gentoo-commits] proj/portage:master commit in: man/, bin/
@ 2011-12-22 23:43 Zac Medico
  0 siblings, 0 replies; 29+ messages in thread
From: Zac Medico @ 2011-12-22 23:43 UTC (permalink / raw
  To: gentoo-commits

commit:     bbe1a2f0a2e4f6f611db015b17d81d6b8083e36c
Author:     Zac Medico <zmedico <AT> gentoo <DOT> org>
AuthorDate: Thu Dec 22 23:42:06 2011 +0000
Commit:     Zac Medico <zmedico <AT> gentoo <DOT> org>
CommitDate: Thu Dec 22 23:42:06 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=bbe1a2f0

Share variables for CFLAGS and LDFLAGS checks.

The rationale is that any exceptions to either of these checks will
probably apply to both checks. So, QA_CFLAGS_IGNORED and QA_DT_HASH
are merged into QA_FLAGS_IGNORED, and QA_STRICT_CFLAGS_IGNORED and
QA_STRICT_DT_HASH are merged into QA_STRICT_FLAGS_IGNORED.

---
 bin/misc-functions.sh |   77 ++++++++++++++++++++++++++++---------------------
 man/ebuild.5          |   11 ++++---
 man/make.conf.5       |    7 ++--
 3 files changed, 54 insertions(+), 41 deletions(-)

diff --git a/bin/misc-functions.sh b/bin/misc-functions.sh
index c74b4a4..dcfdceb 100755
--- a/bin/misc-functions.sh
+++ b/bin/misc-functions.sh
@@ -308,6 +308,41 @@ install_qa_check() {
 			sleep 1
 		fi
 
+		# Merge QA_FLAGS_IGNORED and QA_DT_HASH into a single array, since
+		# QA_DT_HASH is deprecated.
+		qa_var="QA_FLAGS_IGNORED_${ARCH/-/_}"
+		eval "[[ -n \${!qa_var} ]] && QA_FLAGS_IGNORED=(\"\${${qa_var}[@]}\")"
+		if [[ ${#QA_FLAGS_IGNORED[@]} -eq 1 ]] ; then
+			local shopts=$-
+			set -o noglob
+			QA_FLAGS_IGNORED=(${QA_FLAGS_IGNORED})
+			set +o noglob
+			set -${shopts}
+		fi
+
+		qa_var="QA_DT_HASH_${ARCH/-/_}"
+		eval "[[ -n \${!qa_var} ]] && QA_DT_HASH=(\"\${${qa_var}[@]}\")"
+		if [[ ${#QA_DT_HASH[@]} -eq 1 ]] ; then
+			local shopts=$-
+			set -o noglob
+			QA_DT_HASH=(${QA_DT_HASH})
+			set +o noglob
+			set -${shopts}
+		fi
+
+		if [[ -n ${QA_DT_HASH} ]] ; then
+			QA_FLAGS_IGNORED=("${QA_FLAGS_IGNORED[@]}" "${QA_DT_HASH[@]}")
+			unset QA_DT_HASH
+		fi
+
+		# Merge QA_STRICT_FLAGS_IGNORED and QA_STRICT_DT_HASH, since
+		# QA_STRICT_DT_HASH is deprecated
+		if [ "${QA_STRICT_FLAGS_IGNORED-unset}" = unset ] && \
+			[ "${QA_STRICT_DT_HASH-unset}" != unset ] ; then
+			QA_STRICT_FLAGS_IGNORED=1
+			unset QA_STRICT_DT_HASH
+		fi
+
 		# Check for files built without respecting *FLAGS. Note that
 		# -frecord-gcc-switches must be in all *FLAGS variables, in
 		# order to avoid false positive results here.
@@ -316,25 +351,13 @@ install_qa_check() {
 			[[ "${FFLAGS}" == *-frecord-gcc-switches* ]] && \
 			[[ "${FCFLAGS}" == *-frecord-gcc-switches* ]] && \
 			! has binchecks ${RESTRICT} ; then
-			qa_var="QA_CFLAGS_IGNORED_${ARCH/-/_}"
-			eval "[[ -n \${!qa_var} ]] && QA_CFLAGS_IGNORED=(\"\${${qa_var}[@]}\")"
 			f=$(scanelf -qyRF '%k %p' -k \!.GCC.command.line "${ED}" | sed -e "s:\!.GCC.command.line ::")
 			if [[ -n ${f} ]] ; then
 				echo "${f}" > "${T}"/scanelf-ignored-CFLAGS.log
-				if [ "${QA_STRICT_CFLAGS_IGNORED-unset}" == unset ] ; then
-					if [[ ${#QA_CFLAGS_IGNORED[@]} -gt 1 ]] ; then
-						for x in "${QA_CFLAGS_IGNORED[@]}" ; do
-							sed -e "s#^${x#/}\$##" -i "${T}"/scanelf-ignored-CFLAGS.log
-						done
-					else
-						local shopts=$-
-						set -o noglob
-						for x in ${QA_CFLAGS_IGNORED} ; do
-							sed -e "s#^${x#/}\$##" -i "${T}"/scanelf-ignored-CFLAGS.log
-						done
-						set +o noglob
-						set -${shopts}
-					fi
+				if [ "${QA_STRICT_FLAGS_IGNORED-unset}" = unset ] ; then
+					for x in "${QA_FLAGS_IGNORED[@]}" ; do
+						sed -e "s#^${x#/}\$##" -i "${T}"/scanelf-ignored-CFLAGS.log
+					done
 				fi
 				# Filter anything under /usr/lib/debug/ in order to avoid
 				# duplicate warnings for splitdebug files.
@@ -356,26 +379,14 @@ install_qa_check() {
 
 		# Check for files built without respecting LDFLAGS
 		if [[ "${LDFLAGS}" == *,--hash-style=gnu* ]] && \
-			! has binchecks ${RESTRICT} ; then
-			qa_var="QA_DT_HASH_${ARCH/-/_}"
-			eval "[[ -n \${!qa_var} ]] && QA_DT_HASH=(\"\${${qa_var}[@]}\")"
+			! has binchecks ${RESTRICT} ; then 
 			f=$(scanelf -qyRF '%k %p' -k .hash "${ED}" | sed -e "s:\.hash ::")
 			if [[ -n ${f} ]] ; then
 				echo "${f}" > "${T}"/scanelf-ignored-LDFLAGS.log
-				if [ "${QA_STRICT_DT_HASH-unset}" == unset ] ; then
-					if [[ ${#QA_DT_HASH[@]} -gt 1 ]] ; then
-						for x in "${QA_DT_HASH[@]}" ; do
-							sed -e "s#^${x#/}\$##" -i "${T}"/scanelf-ignored-LDFLAGS.log
-						done
-					else
-						local shopts=$-
-						set -o noglob
-						for x in ${QA_DT_HASH} ; do
-							sed -e "s#^${x#/}\$##" -i "${T}"/scanelf-ignored-LDFLAGS.log
-						done
-						set +o noglob
-						set -${shopts}
-					fi
+				if [ "${QA_STRICT_FLAGS_IGNORED-unset}" = unset ] ; then
+					for x in "${QA_FLAGS_IGNORED[@]}" ; do
+						sed -e "s#^${x#/}\$##" -i "${T}"/scanelf-ignored-LDFLAGS.log
+					done
 				fi
 				# Filter anything under /usr/lib/debug/ in order to avoid
 				# duplicate warnings for splitdebug files.

diff --git a/man/ebuild.5 b/man/ebuild.5
index 4f2f3a8..afa2731 100644
--- a/man/ebuild.5
+++ b/man/ebuild.5
@@ -602,19 +602,20 @@ This should contain a list of file paths, relative to the image directory, of
 files that contain writable and executable segments.  These are rare.
 The paths may contain fnmatch patterns.
 .TP
-\fBQA_CFLAGS_IGNORED\fR
+\fBQA_FLAGS_IGNORED\fR
 This should contain a list of file paths, relative to the image directory, of
-files that do not contain .GCC.command.line sections. The paths may contain
-regular expressions with escape\-quoted special characters.
+files that do not contain .hash or .GCC.command.line sections. The paths may
+contain regular expressions with escape\-quoted special characters.
 .br
 This variable is intended to be used on files of binary packages which ignore
-CFLAGS, CXXFLAGS, FFLAGS, and FCFLAGS variables.
+CFLAGS, CXXFLAGS, FFLAGS, FCFLAGS, and LDFLAGS variables.
 .TP
 .TP
 \fBQA_DT_HASH\fR
 This should contain a list of file paths, relative to the image directory, of
 files that contain .hash sections. The paths may contain regular expressions
-with escape\-quoted special characters.
+with escape\-quoted special characters. This variable is deprecated. Use
+\fBQA_FLAGS_IGNORED\f instead.
 .br
 This variable is intended to be used on files of binary packages which ignore
 LDFLAGS variable.

diff --git a/man/make.conf.5 b/man/make.conf.5
index eff180e..8a66c21 100644
--- a/man/make.conf.5
+++ b/man/make.conf.5
@@ -814,13 +814,14 @@ settings from ebuilds.  See also \fBebuild\fR(5).
 Set this to cause portage to ignore any \fIQA_TEXTREL\fR override
 settings from ebuilds.  See also \fBebuild\fR(5).
 .TP
-\fBQA_STRICT_CFLAGS_IGNORED = \fI"set"\fR
-Set this to cause portage to ignore any \fIQA_CFLAGS_IGNORED\fR override
+\fBQA_STRICT_FLAGS_IGNORED = \fI"set"\fR
+Set this to cause portage to ignore any \fIQA_FLAGS_IGNORED\fR override
 settings from ebuilds.  See also \fBebuild\fR(5).
 .TP
 \fBQA_STRICT_DT_HASH = \fI"set"\fR
 Set this to cause portage to ignore any \fIQA_DT_HASH\fR override
-settings from ebuilds.  See also \fBebuild\fR(5).
+settings from ebuilds. This variable is deprecated. Use
+\fIQA_STRICT_FLAGS_IGNORED\fR instead.
 .TP
 \fBQA_STRICT_PRESTRIPPED = \fI"set"\fR
 Set this to cause portage to ignore any \fIQA_PRESTRIPPED\fR override



^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [gentoo-commits] proj/portage:master commit in: man/, bin/
@ 2012-01-02  7:48 Zac Medico
  0 siblings, 0 replies; 29+ messages in thread
From: Zac Medico @ 2012-01-02  7:48 UTC (permalink / raw
  To: gentoo-commits

commit:     2fce72c6af32d2d1ffc92684e810f221185cdda8
Author:     Zac Medico <zmedico <AT> gentoo <DOT> org>
AuthorDate: Mon Jan  2 07:48:07 2012 +0000
Commit:     Zac Medico <zmedico <AT> gentoo <DOT> org>
CommitDate: Mon Jan  2 07:48:07 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=2fce72c6

repoman: remove ebuild.allmasked check

This check it pretty useless, since there packages don't necessarily
need to have any stable keywords, and nobody relies on this check to
decide when to keyword something. Also, remove references to the
ebuild.nostable which doesn't seem to exist anymore.

---
 bin/repoman   |   15 ---------------
 man/repoman.1 |    6 ------
 2 files changed, 0 insertions(+), 21 deletions(-)

diff --git a/bin/repoman b/bin/repoman
index 1933489..6e91254 100755
--- a/bin/repoman
+++ b/bin/repoman
@@ -373,8 +373,6 @@ qahelp={
 	"digest.assumed":"Existing digest must be assumed correct (Package level only)",
 	"digest.missing":"Some files listed in SRC_URI aren't referenced in the Manifest",
 	"digest.unused":"Some files listed in the Manifest aren't referenced in SRC_URI",
-	"ebuild.nostable":"There are no ebuilds that are marked as stable for your ARCH",
-	"ebuild.allmasked":"All ebuilds are masked for this package (Package level only)",
 	"ebuild.majorsyn":"This ebuild has a major syntax error that may cause the ebuild to fail partially or fully",
 	"ebuild.minorsyn":"This ebuild has a minor syntax error that contravenes gentoo coding style",
 	"ebuild.badheader":"This ebuild has a malformed header",
@@ -399,8 +397,6 @@ qawarnings = set((
 "digest.assumed",
 "digest.unused",
 "ebuild.notadded",
-"ebuild.nostable",
-"ebuild.allmasked",
 "ebuild.nesteddie",
 "desktop.invalid",
 "DEPEND.badmasked","RDEPEND.badmasked","PDEPEND.badmasked",
@@ -1593,7 +1589,6 @@ for x in effective_scanlist:
 	changelog_path = os.path.join(checkdir_relative, "ChangeLog")
 	changelog_modified = changelog_path in modified_changelogs
 
-	allmasked = True
 	# detect unused local USE-descriptions
 	used_useflags = set()
 
@@ -1776,7 +1771,6 @@ for x in effective_scanlist:
 					arches.append([keyword, keyword[1:], [keyword[1:], keyword]])
 				else:
 					arches.append([keyword, keyword, [keyword]])
-					allmasked = False
 			if not arches:
 				# Use an empty profile for checking dependencies of
 				# packages that have empty KEYWORDS.
@@ -2115,15 +2109,6 @@ for x in effective_scanlist:
 				fails["dependency.unknown"].append("%s: %s: %s" %
 					(relative_path, mytype, ", ".join(sorted(atoms))))
 
-	# Check for 'all unstable' or 'all masked' -- ACCEPT_KEYWORDS is stripped
-	# XXX -- Needs to be implemented in dep code. Can't determine ~arch nicely.
-	#if not portage.portdb.xmatch("bestmatch-visible",x):
-	#    stats["ebuild.nostable"]+=1
-	#    fails["ebuild.nostable"].append(x)
-	if ebuildlist and allmasked and repolevel == 3:
-		stats["ebuild.allmasked"]+=1
-		fails["ebuild.allmasked"].append(x)
-
 	# check if there are unused local USE-descriptions in metadata.xml
 	# (unless there are any invalids, to avoid noise)
 	if allvalid:

diff --git a/man/repoman.1 b/man/repoman.1
index 7bc5c45..f53a19e 100644
--- a/man/repoman.1
+++ b/man/repoman.1
@@ -274,9 +274,6 @@ Some files listed in SRC_URI aren't referenced in the Manifest
 .B digest.unused
 Some files listed in the Manifest aren't referenced in SRC_URI
 .TP
-.B ebuild.allmasked
-All ebuilds are masked for this package (Package level only)
-.TP
 .B ebuild.badheader
 This ebuild has a malformed header
 .TP
@@ -295,9 +292,6 @@ Ebuild files that do not have the same name as their parent directory
 .B ebuild.nesteddie
 Placing 'die' inside ( ) prints an error, but doesn't stop the ebuild.
 .TP
-.B ebuild.nostable
-There are no ebuilds that are marked as stable for your ARCH
-.TP
 .B ebuild.notadded
 Ebuilds that exist but have not been added to cvs
 .TP



^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [gentoo-commits] proj/portage:master commit in: man/, bin/
@ 2012-03-11  2:44 Mike Frysinger
  0 siblings, 0 replies; 29+ messages in thread
From: Mike Frysinger @ 2012-03-11  2:44 UTC (permalink / raw
  To: gentoo-commits

commit:     188aedeb2822f5c86a0586fd3350800565da5c6c
Author:     Mike Frysinger <vapier <AT> gentoo <DOT> org>
AuthorDate: Sun Mar 11 02:43:30 2012 +0000
Commit:     Mike Frysinger <vapier <AT> gentoo <DOT> org>
CommitDate: Sun Mar 11 02:44:22 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=188aedeb

etc-update: support scan paths on the command line

URL: http://bugs.gentoo.org/59235
Reported-by: Cory Visi <merlin <AT> gentoo.org>
Signed-off-by: Mike Frysinger <vapier <AT> gentoo.org>

---
 bin/etc-update   |   12 ++++++++----
 man/etc-update.1 |    5 +++--
 2 files changed, 11 insertions(+), 6 deletions(-)

diff --git a/bin/etc-update b/bin/etc-update
index 989d367..c49c4b8 100755
--- a/bin/etc-update
+++ b/bin/etc-update
@@ -52,7 +52,7 @@ scan() {
 	local find_opts
 	local path
 
-	for path in ${CONFIG_PROTECT} ; do
+	for path in ${SCAN_PATHS} ; do
 		path="${EROOT%/}${path}"
 
 		[[ -w ${path} ]] || die "Need write access to ${path}"
@@ -544,7 +544,9 @@ usage() {
 	cat <<-EOF
 	etc-update: Handle configuration file updates
 
-	Usage: etc-update [options]
+	Usage: etc-update [options] [paths to scan]
+
+	If no paths are specified, then \${CONFIG_PROTECT} will be used.
 
 	Options:
 	  -d, --debug    Enable shell debugging
@@ -581,7 +583,8 @@ while [[ -n $1 ]] ; do
 		-v|--verbose) VERBOSE=true;;
 		-V|--version) emerge --version; exit 0;;
 		--automode)   parse_automode_flag $2 && shift || usage 1 "Invalid mode '$2'";;
-		*)            usage 1 "Invalid option '$1'";;
+		-*)           usage 1 "Invalid option '$1'";;
+		*)            break;;
 	esac
 	shift
 done
@@ -599,6 +602,7 @@ portage_vars=(
 )
 eval $(portageq envvar -v ${portage_vars[@]})
 export PORTAGE_TMPDIR
+SCAN_PATHS=${*:-${CONFIG_PROTECT}}
 
 TMP="${PORTAGE_TMPDIR}/etc-update-$$"
 trap "die terminated" SIGTERM
@@ -663,7 +667,7 @@ else
 fi
 
 if ${VERBOSE} ; then
-	for v in ${portage_vars[@]} ${cfg_vars[@]} TMP ; do
+	for v in ${portage_vars[@]} ${cfg_vars[@]} TMP SCAN_PATHS ; do
 		echo "${v}=${!v}"
 	done
 fi

diff --git a/man/etc-update.1 b/man/etc-update.1
index bebef5b..85d102d 100644
--- a/man/etc-update.1
+++ b/man/etc-update.1
@@ -3,7 +3,7 @@
 etc-update \- handle configuration file updates
 .SH SYNOPSIS
 .BR etc-update
-[\fIoptions\fR] [\fI--automode <mode>\fR]
+[\fIoptions\fR] [\fI--automode <mode>\fR] [\fIpaths to scan\fR]
 .SH DESCRIPTION
 .I etc-update
 is supposed to be run after merging a new package to see if
@@ -13,7 +13,8 @@ configuration file will override an old one,
 will prompt the user for a decision.
 .PP
 .I etc-update
-will check all directories in the \fICONFIG_PROTECT\fR variable.  All
+will check all directories specified on the command line.  If no paths
+are given, then the \fICONFIG_PROTECT\fR variable will be used.  All
 config files found in \fICONFIG_PROTECT_MASK\fR will automatically be
 updated for you by \fIetc-update\fR.  See \fBmake.conf\fR(5) for more
 information.



^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [gentoo-commits] proj/portage:master commit in: man/, bin/
@ 2012-03-11  2:56 Mike Frysinger
  0 siblings, 0 replies; 29+ messages in thread
From: Mike Frysinger @ 2012-03-11  2:56 UTC (permalink / raw
  To: gentoo-commits

commit:     2b3f235988b45c3c11d57fedad12587b1536fdac
Author:     Mike Frysinger <vapier <AT> gentoo <DOT> org>
AuthorDate: Sun Mar 11 02:54:59 2012 +0000
Commit:     Mike Frysinger <vapier <AT> gentoo <DOT> org>
CommitDate: Sun Mar 11 02:54:59 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=2b3f2359

etc-update: add a --preen flag

Add a flag to merge just trivial updates and then quit.

URL: http://bugs.gentoo.org/159080
Reported-by: Iván Pérez Domínguez <iperez <AT> babel.ls.fi.upm.es>
Signed-off-by: Mike Frysinger <vapier <AT> gentoo.org>

---
 bin/etc-update   |    5 +++++
 man/etc-update.1 |    5 ++++-
 2 files changed, 9 insertions(+), 1 deletions(-)

diff --git a/bin/etc-update b/bin/etc-update
index c49c4b8..cd63ae1 100755
--- a/bin/etc-update
+++ b/bin/etc-update
@@ -551,6 +551,7 @@ usage() {
 	Options:
 	  -d, --debug    Enable shell debugging
 	  -h, --help     Show help and run away
+	  -p, --preen    Automerge trivial changes only and quit
 	  -v, --verbose  Show settings and such along the way
 	  -V, --version  Show version and trundle away
 
@@ -574,12 +575,14 @@ declare -i count=0
 declare input=0
 declare title="Gentoo's etc-update tool!"
 
+PREEN=false
 SET_X=false
 VERBOSE=false
 while [[ -n $1 ]] ; do
 	case $1 in
 		-d|--debug)   SET_X=true;;
 		-h|--help)    usage;;
+		-p|--preen)   PREEN=true;;
 		-v|--verbose) VERBOSE=true;;
 		-V|--version) emerge --version; exit 0;;
 		--automode)   parse_automode_flag $2 && shift || usage 1 "Invalid mode '$2'";;
@@ -674,6 +677,8 @@ fi
 
 scan
 
+${PREEN} && exit 0
+
 until (( input == -1 )); do
 	if (( count == 0 )); then
 		die "Nothing left to do; exiting. :)" 0

diff --git a/man/etc-update.1 b/man/etc-update.1
index 85d102d..366e850 100644
--- a/man/etc-update.1
+++ b/man/etc-update.1
@@ -27,9 +27,12 @@ for finding the aforementioned config protect variables.
 .BR \-d ", " \-\-debug
 Run with shell tracing enabled.
 .TP
-.BR \h ", " \-\-help
+.BR \-h ", " \-\-help
 Surprisingly, show the help output.
 .TP
+.BR \-p ", " \-\-preen
+Automerge trivial changes only and quit.
+.TP
 .BR \-v ", " \-\-verbose
 Show settings and important decision info while running.
 .TP



^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [gentoo-commits] proj/portage:master commit in: man/, bin/
@ 2012-03-17 21:33 Zac Medico
  0 siblings, 0 replies; 29+ messages in thread
From: Zac Medico @ 2012-03-17 21:33 UTC (permalink / raw
  To: gentoo-commits

commit:     cc2c9e5a50abd63f42aca05f1ace0b2af07e982f
Author:     Zac Medico <zmedico <AT> gentoo <DOT> org>
AuthorDate: Sat Mar 17 21:31:55 2012 +0000
Commit:     Zac Medico <zmedico <AT> gentoo <DOT> org>
CommitDate: Sat Mar 17 21:31:55 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=cc2c9e5a

repoman: add --digest=<y|n> option, bug #406875

---
 bin/repoman   |   10 ++++++++--
 man/repoman.1 |   17 ++++++++++++++++-
 2 files changed, 24 insertions(+), 3 deletions(-)

diff --git a/bin/repoman b/bin/repoman
index 80fcde2..c5db186 100755
--- a/bin/repoman
+++ b/bin/repoman
@@ -188,6 +188,10 @@ def ParseArgs(argv, qahelp):
 	parser.add_option('-M', '--commitmsgfile', dest='commitmsgfile',
 		help='specify a path to a file that contains a commit message')
 
+	parser.add_option('--digest',
+		type='choice', choices=('y', 'n'), metavar='<y|n>',
+		help='Automatically update Manifest digests for modified files')
+
 	parser.add_option('-p', '--pretend', dest='pretend', default=False,
 		action='store_true', help='don\'t commit or fix anything; just show what would be done')
 	
@@ -656,6 +660,9 @@ if vcs is None:
 # TODO: shouldn't this just be switched on the repo, iso the VCS?
 check_changelog = options.echangelog not in ('y', 'force') and vcs in ('cvs', 'svn')
 
+if 'digest' in repoman_settings.features and options.digest != 'n':
+	options.digest = 'y'
+
 logging.debug("vcs: %s" % (vcs,))
 logging.debug("repo config: %s" % (repo_config,))
 logging.debug("options: %s" % (options,))
@@ -1236,8 +1243,7 @@ for x in effective_scanlist:
 	generated_manifest = False
 
 	if options.mode == "manifest" or \
-	  (options.mode != 'manifest-check' and \
-	  'digest' in repoman_settings.features) or \
+	  (options.mode != 'manifest-check' and options.digest == 'y') or \
 	  options.mode in ('commit', 'fix') and not options.pretend:
 		auto_assumed = set()
 		fetchlist_dict = portage.FetchlistDict(checkdir,

diff --git a/man/repoman.1 b/man/repoman.1
index ddabbbb..37babcd 100644
--- a/man/repoman.1
+++ b/man/repoman.1
@@ -1,4 +1,4 @@
-.TH "REPOMAN" "1" "Feb 2012" "Portage VERSION" "Portage"
+.TH "REPOMAN" "1" "Mar 2012" "Portage VERSION" "Portage"
 .SH NAME
 repoman \- Gentoo's program to enforce a minimal level of quality assurance in packages added to the portage tree
 .SH SYNOPSIS
@@ -15,6 +15,21 @@ Note: \fBrepoman commit\fR only works \fIinside local\fR cvs, git, or subversion
 \fB-a\fR, \fB--ask\fR
 Request a confirmation before commiting
 .TP
+\fB\-\-digest=<y|n>\fR
+Automatically update Manifest digests for modified files. This
+option triggers a behavior that is very similar to that enabled
+by FEATURES="digest" in \fBmake.conf\fR(5). In order to enable
+this behavior by default for repoman alone, add
+\fB\-\-digest=y\fR to the \fIREPOMAN_DEFAULT_OPTS\fR variable in
+\fBmake.conf\fR(5). The \fBmanifest\-check\fR mode will
+automatically ignore the \-\-digest option.
+
+\fBNOTE:\fR
+This option does not trigger update of digests for Manifest DIST
+entries that already exist. Replacement of existing Manifest
+DIST entries can be forced by using the \fBmanifest\fR mode
+together with the \fB\-\-force\fR option.
+.TP
 \fB--force\fR
 Force commit to proceed, regardless of QA issues. For convenience, this option
 causes the most time consuming QA checks to be skipped. The commit message will



^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [gentoo-commits] proj/portage:master commit in: man/, bin/
@ 2012-06-17 15:46 Zac Medico
  0 siblings, 0 replies; 29+ messages in thread
From: Zac Medico @ 2012-06-17 15:46 UTC (permalink / raw
  To: gentoo-commits

commit:     4cd3da7f48b74abfc48d36cf2c700c4eebfcbb40
Author:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
AuthorDate: Sun Jun 17 08:42:51 2012 +0000
Commit:     Zac Medico <zmedico <AT> gentoo <DOT> org>
CommitDate: Sun Jun 17 15:45:01 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=4cd3da7f

repoman: add 'VIRTUAL.suspect' class of warnings

Searches all the *DEPENDS against static
map of:
    { 'package' : 'virtual' }

Example output:

>  VIRTUAL.suspect               1
>   dev-haskell/cabal/cabal-1.15.0_pre20120608.ebuild: consider using 'virtual/pkgconfig' insted of 'dev-util/pkgconf'

Signed-off-by: Sergei Trofimovich <slyfox <AT> gentoo.org>

---
 bin/repoman   |   18 ++++++++++++++++++
 man/repoman.1 |    4 ++++
 2 files changed, 22 insertions(+), 0 deletions(-)

diff --git a/bin/repoman b/bin/repoman
index 7204f50..795c7ce 100755
--- a/bin/repoman
+++ b/bin/repoman
@@ -393,6 +393,7 @@ qahelp={
 	"metadata.warning":"Warnings in metadata.xml files",
 	"portage.internal":"The ebuild uses an internal Portage function",
 	"virtual.oldstyle":"The ebuild PROVIDEs an old-style virtual (see GLEP 37)",
+	"virtual.suspect":"Ebuild contains a package that usually should be pulled via virtual/, not directly.",
 	"usage.obsolete":"The ebuild makes use of an obsolete construct",
 	"upstream.workaround":"The ebuild works around an upstream bug, an upstream bug should be filed and tracked in bugs.gentoo.org"
 }
@@ -424,6 +425,7 @@ qawarnings = set((
 "PDEPEND.suspect",
 "RDEPEND.implicit",
 "RDEPEND.suspect",
+"virtual.suspect",
 "RESTRICT.invalid",
 "ebuild.minorsyn",
 "ebuild.badheader",
@@ -513,6 +515,13 @@ suspect_rdepend = frozenset([
 	"x11-misc/imake",
 ])
 
+suspect_virtual = {
+	"dev-util/pkg-config-lite":"virtual/pkgconfig",
+	"dev-util/pkgconf":"virtual/pkgconfig",
+	"dev-util/pkgconfig":"virtual/pkgconfig",
+	"dev-util/pkgconfig-openbsd":"virtual/pkgconfig",
+}
+
 metadata_dtd_uri = 'http://www.gentoo.org/dtd/metadata.dtd'
 # force refetch if the local copy creation time is older than this
 metadata_dtd_ctime_interval = 60 * 60 * 24 * 7 # 7 days
@@ -1884,6 +1893,15 @@ for x in effective_scanlist:
 
 					is_blocker = atom.blocker
 
+					if catdir != "virtual":
+						if not is_blocker and \
+							atom.cp in suspect_virtual:
+							stats['virtual.suspect'] += 1
+							fails['virtual.suspect'].append(
+								relative_path +
+								": %s: consider using '%s' instead of '%s'" %
+								(mytype, suspect_virtual[atom.cp], atom))
+
 					if mytype == "DEPEND" and \
 						not is_blocker and \
 						not inherited_java_eclass and \

diff --git a/man/repoman.1 b/man/repoman.1
index 26575a9..b8c0f48 100644
--- a/man/repoman.1
+++ b/man/repoman.1
@@ -382,6 +382,10 @@ Ebuild uses D, ROOT, ED, EROOT or EPREFIX with helpers
 The ebuild PROVIDEs an old-style virtual (see GLEP 37). This is an error
 unless "allow\-provide\-virtuals = true" is set in metadata/layout.conf.
 .TP
+.B virtual.suspect
+Ebuild contains a package that usually should be pulled via virtual/,
+not directly.
+.TP
 .B wxwidgets.eclassnotused
 Ebuild DEPENDs on x11-libs/wxGTK without inheriting wxwidgets.eclass. Refer to
 bug #305469 for more information.



^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [gentoo-commits] proj/portage:master commit in: man/, bin/
@ 2012-09-24  3:47 Mike Frysinger
  0 siblings, 0 replies; 29+ messages in thread
From: Mike Frysinger @ 2012-09-24  3:47 UTC (permalink / raw
  To: gentoo-commits

commit:     2211b72119817163dd28207b137590dc51bbe2f1
Author:     Mike Frysinger <vapier <AT> gentoo <DOT> org>
AuthorDate: Mon Sep 24 00:38:43 2012 +0000
Commit:     Mike Frysinger <vapier <AT> gentoo <DOT> org>
CommitDate: Mon Sep 24 03:47:16 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=2211b721

drop support for QA_DT_HASH/QA_STRICT_DT_HASH

These variables have been deprecated in favor of the new variables
QA_STRICT_FLAGS_IGNORED/QA_FLAGS_IGNORED, and the tree has been
converted over to the new ones, so drop the old vars.

Signed-off-by: Mike Frysinger <vapier <AT> gentoo.org>

---
 bin/misc-functions.sh |   25 -------------------------
 man/ebuild.5          |    9 ---------
 man/make.conf.5       |    5 -----
 3 files changed, 0 insertions(+), 39 deletions(-)

diff --git a/bin/misc-functions.sh b/bin/misc-functions.sh
index c8b7cc8..55d37f2 100755
--- a/bin/misc-functions.sh
+++ b/bin/misc-functions.sh
@@ -167,8 +167,6 @@ install_qa_check() {
 
 	cd "${ED}" || die "cd failed"
 
-	# Merge QA_FLAGS_IGNORED and QA_DT_HASH into a single array, since
-	# QA_DT_HASH is deprecated.
 	qa_var="QA_FLAGS_IGNORED_${ARCH/-/_}"
 	eval "[[ -n \${!qa_var} ]] && QA_FLAGS_IGNORED=(\"\${${qa_var}[@]}\")"
 	if [[ ${#QA_FLAGS_IGNORED[@]} -eq 1 ]] ; then
@@ -179,29 +177,6 @@ install_qa_check() {
 		set -${shopts}
 	fi
 
-	qa_var="QA_DT_HASH_${ARCH/-/_}"
-	eval "[[ -n \${!qa_var} ]] && QA_DT_HASH=(\"\${${qa_var}[@]}\")"
-	if [[ ${#QA_DT_HASH[@]} -eq 1 ]] ; then
-		local shopts=$-
-		set -o noglob
-		QA_DT_HASH=(${QA_DT_HASH})
-		set +o noglob
-		set -${shopts}
-	fi
-
-	if [[ -n ${QA_DT_HASH} ]] ; then
-		QA_FLAGS_IGNORED=("${QA_FLAGS_IGNORED[@]}" "${QA_DT_HASH[@]}")
-		unset QA_DT_HASH
-	fi
-
-	# Merge QA_STRICT_FLAGS_IGNORED and QA_STRICT_DT_HASH, since
-	# QA_STRICT_DT_HASH is deprecated
-	if [ "${QA_STRICT_FLAGS_IGNORED-unset}" = unset ] && \
-		[ "${QA_STRICT_DT_HASH-unset}" != unset ] ; then
-		QA_STRICT_FLAGS_IGNORED=1
-		unset QA_STRICT_DT_HASH
-	fi
-
 	# Check for files built without respecting *FLAGS. Note that
 	# -frecord-gcc-switches must be in all *FLAGS variables, in
 	# order to avoid false positive results here.

diff --git a/man/ebuild.5 b/man/ebuild.5
index d340c85..45819d7 100644
--- a/man/ebuild.5
+++ b/man/ebuild.5
@@ -701,15 +701,6 @@ The paths may contain regular expressions with escape\-quoted special characters
 This variable is intended to be used on files of binary packages which ignore
 CFLAGS, CXXFLAGS, FFLAGS, FCFLAGS, and LDFLAGS variables.
 .TP
-.B QA_DT_HASH
-This should contain a list of file paths, relative to the image directory, of
-files that contain .hash sections. The paths may contain regular expressions
-with escape\-quoted special characters. This variable is deprecated. Use
-\fBQA_FLAGS_IGNORED\fR instead.
-
-This variable is intended to be used on files of binary packages which ignore
-LDFLAGS variable.
-.TP
 .B QA_PRESTRIPPED
 This should contain a list of file paths, relative to the image directory, of
 files that contain pre-stripped binaries. The paths may contain regular

diff --git a/man/make.conf.5 b/man/make.conf.5
index 483c08b..b8ed475 100644
--- a/man/make.conf.5
+++ b/man/make.conf.5
@@ -895,11 +895,6 @@ settings from ebuilds.  See also \fBebuild\fR(5).
 Set this to cause portage to ignore any \fIQA_FLAGS_IGNORED\fR override
 settings from ebuilds.  See also \fBebuild\fR(5).
 .TP
-\fBQA_STRICT_DT_HASH = \fI"set"\fR
-Set this to cause portage to ignore any \fIQA_DT_HASH\fR override
-settings from ebuilds. This variable is deprecated. Use
-\fIQA_STRICT_FLAGS_IGNORED\fR instead.
-.TP
 \fBQA_STRICT_PRESTRIPPED = \fI"set"\fR
 Set this to cause portage to ignore any \fIQA_PRESTRIPPED\fR override
 settings from ebuilds.  See also \fBebuild\fR(5).


^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [gentoo-commits] proj/portage:master commit in: man/, bin/
@ 2012-09-24 20:26 Zac Medico
  0 siblings, 0 replies; 29+ messages in thread
From: Zac Medico @ 2012-09-24 20:26 UTC (permalink / raw
  To: gentoo-commits

commit:     774778214c28dff5a845714d32712bf86cd29a63
Author:     Zac Medico <zmedico <AT> gentoo <DOT> org>
AuthorDate: Mon Sep 24 20:26:24 2012 +0000
Commit:     Zac Medico <zmedico <AT> gentoo <DOT> org>
CommitDate: Mon Sep 24 20:26:24 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=77477821

repoman: support HDEPEND for EAPI 5-hdepend

---
 bin/repoman   |   31 +++++++++++++++++++------------
 man/repoman.1 |   18 ++++++++++++++++++
 2 files changed, 37 insertions(+), 12 deletions(-)

diff --git a/bin/repoman b/bin/repoman
index b463cbe..a8c539a 100755
--- a/bin/repoman
+++ b/bin/repoman
@@ -334,22 +334,28 @@ qahelp={
 	"HOMEPAGE.missing":"Ebuilds that have a missing or empty HOMEPAGE variable",
 	"HOMEPAGE.virtual":"Virtuals that have a non-empty HOMEPAGE variable",
 	"DEPEND.bad":"User-visible ebuilds with bad DEPEND settings (matched against *visible* ebuilds)",
+	"HDEPEND.bad":"User-visible ebuilds with bad HDEPEND settings (matched against *visible* ebuilds)",
 	"RDEPEND.bad":"User-visible ebuilds with bad RDEPEND settings (matched against *visible* ebuilds)",
 	"PDEPEND.bad":"User-visible ebuilds with bad PDEPEND settings (matched against *visible* ebuilds)",
 	"DEPEND.badmasked":"Masked ebuilds with bad DEPEND settings (matched against *all* ebuilds)",
+	"HDEPEND.badmasked":"Masked ebuilds with bad HDEPEND settings (matched against *all* ebuilds)",
 	"RDEPEND.badmasked":"Masked ebuilds with RDEPEND settings (matched against *all* ebuilds)",
 	"PDEPEND.badmasked":"Masked ebuilds with PDEPEND settings (matched against *all* ebuilds)",
 	"DEPEND.badindev":"User-visible ebuilds with bad DEPEND settings (matched against *visible* ebuilds) in developing arch",
+	"HDEPEND.badindev":"User-visible ebuilds with bad HDEPEND settings (matched against *visible* ebuilds) in developing arch",
 	"RDEPEND.badindev":"User-visible ebuilds with bad RDEPEND settings (matched against *visible* ebuilds) in developing arch",
 	"PDEPEND.badindev":"User-visible ebuilds with bad PDEPEND settings (matched against *visible* ebuilds) in developing arch",
 	"DEPEND.badmaskedindev":"Masked ebuilds with bad DEPEND settings (matched against *all* ebuilds) in developing arch",
+	"HDEPEND.badmaskedindev":"Masked ebuilds with bad HDEPEND settings (matched against *all* ebuilds) in developing arch",
 	"RDEPEND.badmaskedindev":"Masked ebuilds with RDEPEND settings (matched against *all* ebuilds) in developing arch",
 	"PDEPEND.badmaskedindev":"Masked ebuilds with PDEPEND settings (matched against *all* ebuilds) in developing arch",
 	"PDEPEND.suspect":"PDEPEND contains a package that usually only belongs in DEPEND.",
 	"DEPEND.syntax":"Syntax error in DEPEND (usually an extra/missing space/parenthesis)",
+	"HDEPEND.syntax":"Syntax error in HDEPEND (usually an extra/missing space/parenthesis)",
 	"RDEPEND.syntax":"Syntax error in RDEPEND (usually an extra/missing space/parenthesis)",
 	"PDEPEND.syntax":"Syntax error in PDEPEND (usually an extra/missing space/parenthesis)",
 	"DEPEND.badtilde":"DEPEND uses the ~ dep operator with a non-zero revision part, which is useless (the revision is ignored)",
+	"HDEPEND.badtilde":"HDEPEND uses the ~ dep operator with a non-zero revision part, which is useless (the revision is ignored)",
 	"RDEPEND.badtilde":"RDEPEND uses the ~ dep operator with a non-zero revision part, which is useless (the revision is ignored)",
 	"PDEPEND.badtilde":"PDEPEND uses the ~ dep operator with a non-zero revision part, which is useless (the revision is ignored)",
 	"LICENSE.syntax":"Syntax error in LICENSE (usually an extra/missing space/parenthesis)",
@@ -402,10 +408,10 @@ qawarnings = set((
 "digest.unused",
 "ebuild.notadded",
 "ebuild.nesteddie",
-"DEPEND.badmasked","RDEPEND.badmasked","PDEPEND.badmasked",
-"DEPEND.badindev","RDEPEND.badindev","PDEPEND.badindev",
-"DEPEND.badmaskedindev","RDEPEND.badmaskedindev","PDEPEND.badmaskedindev",
-"DEPEND.badtilde", "RDEPEND.badtilde", "PDEPEND.badtilde",
+"DEPEND.badmasked", "HDEPEND.badmasked", "RDEPEND.badmasked", "PDEPEND.badmasked",
+"DEPEND.badindev", "HDEPEND.badindev", "RDEPEND.badindev", "PDEPEND.badindev",
+"DEPEND.badmaskedindev", "HDEPEND.badmaskedindev", "RDEPEND.badmaskedindev", "PDEPEND.badmaskedindev",
+"DEPEND.badtilde", "HDEPEND.badtilde", "RDEPEND.badtilde", "PDEPEND.badtilde",
 "DESCRIPTION.toolong",
 "EAPI.deprecated",
 "HOMEPAGE.virtual",
@@ -1884,12 +1890,13 @@ for x in effective_scanlist:
 		inherited_wxwidgets_eclass = "wxwidgets" in inherited
 		operator_tokens = set(["||", "(", ")"])
 		type_list, badsyntax = [], []
-		for mytype in ("DEPEND", "RDEPEND", "PDEPEND",
+		for mytype in ("DEPEND", "HDEPEND", "RDEPEND", "PDEPEND",
 			"LICENSE", "PROPERTIES", "PROVIDE"):
 			mydepstr = myaux[mytype]
 
+			buildtime = mytype in ('DEPEND', 'HDEPEND')
 			token_class = None
-			if mytype in ("DEPEND", "RDEPEND", "PDEPEND"):
+			if mytype.endswith("DEPEND"):
 				token_class=portage.dep.Atom
 
 			try:
@@ -1899,7 +1906,7 @@ for x in effective_scanlist:
 				atoms = None
 				badsyntax.append(str(e))
 
-			if atoms and mytype in ("DEPEND", "RDEPEND", "PDEPEND"):
+			if atoms and mytype.endswith("DEPEND"):
 				if mytype in ("RDEPEND", "PDEPEND") and \
 					"test?" in mydepstr.split():
 					stats[mytype + '.suspect'] += 1
@@ -1929,20 +1936,20 @@ for x in effective_scanlist:
 								": %s: consider using '%s' instead of '%s'" %
 								(mytype, suspect_virtual[atom.cp], atom))
 
-					if mytype == "DEPEND" and \
+					if buildtime and \
 						not is_blocker and \
 						not inherited_java_eclass and \
 						atom.cp == "virtual/jdk":
 						stats['java.eclassesnotused'] += 1
 						fails['java.eclassesnotused'].append(relative_path)
-					elif mytype == "DEPEND" and \
+					elif buildtime and \
 						not is_blocker and \
 						not inherited_wxwidgets_eclass and \
 						atom.cp == "x11-libs/wxGTK":
 						stats['wxwidgets.eclassnotused'] += 1
 						fails['wxwidgets.eclassnotused'].append(
-							relative_path + ": DEPENDs on x11-libs/wxGTK"
-							" without inheriting wxwidgets.eclass")
+							(relative_path + ": %ss on x11-libs/wxGTK"
+							" without inheriting wxwidgets.eclass") % mytype)
 					elif mytype in ("PDEPEND", "RDEPEND"):
 						if not is_blocker and \
 							atom.cp in suspect_rdepend:
@@ -2159,7 +2166,7 @@ for x in effective_scanlist:
 					if prof.status == "dev":
 						suffix=suffix+"indev"
 
-					for mytype,mypos in [["DEPEND",len(missingvars)],["RDEPEND",len(missingvars)+1],["PDEPEND",len(missingvars)+2]]:
+					for mytype in ("DEPEND", "HDEPEND", "PDEPEND", "RDEPEND"):
 						
 						mykey=mytype+".bad"+suffix
 						myvalue = myaux[mytype]

diff --git a/man/repoman.1 b/man/repoman.1
index 0ea835a..530927d 100644
--- a/man/repoman.1
+++ b/man/repoman.1
@@ -158,6 +158,24 @@ Ebuilds that use features that are only available with a different EAPI
 .B EAPI.unsupported
 Ebuilds that have an unsupported EAPI version (you must upgrade portage)
 .TP
+.B HDEPEND.bad
+User-visible ebuilds with bad HDEPEND settings (matched against *visible* ebuilds)
+.TP
+.B HDEPEND.badindev
+User-visible ebuilds with bad HDEPEND settings (matched against *visible* ebuilds) in developing arch
+.TP
+.B HDEPEND.badmasked
+Masked ebuilds with bad HDEPEND settings (matched against *all* ebuilds)
+.TP
+.B HDEPEND.badmaskedindev
+Masked ebuilds with bad HDEPEND settings (matched against *all* ebuilds) in developing arch
+.TP
+.B HDEPEND.badtilde
+HDEPEND uses the ~ dep operator with a non-zero revision part, which is useless (the revision is ignored)
+.TP
+.B HDEPEND.syntax
+Syntax error in HDEPEND (usually an extra/missing space/parenthesis)
+.TP
 .B HOMEPAGE.missing
 Ebuilds that have a missing or empty HOMEPAGE variable
 .TP


^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [gentoo-commits] proj/portage:master commit in: man/, bin/
@ 2012-10-11  3:10 Zac Medico
  0 siblings, 0 replies; 29+ messages in thread
From: Zac Medico @ 2012-10-11  3:10 UTC (permalink / raw
  To: gentoo-commits

commit:     55ab494c406947d67ba7d54208b4cd5e981db579
Author:     Zac Medico <zmedico <AT> gentoo <DOT> org>
AuthorDate: Thu Oct 11 03:07:01 2012 +0000
Commit:     Zac Medico <zmedico <AT> gentoo <DOT> org>
CommitDate: Thu Oct 11 03:08:08 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=55ab494c

Add QA_MULTILIB_PATHS for bug #437910.

---
 bin/misc-functions.sh |   34 +++++++++++++++++++++++++++-------
 man/ebuild.5          |    7 ++++++-
 man/make.conf.5       |    6 +++++-
 3 files changed, 38 insertions(+), 9 deletions(-)

diff --git a/bin/misc-functions.sh b/bin/misc-functions.sh
index 7db6676..4a1c46d 100755
--- a/bin/misc-functions.sh
+++ b/bin/misc-functions.sh
@@ -783,21 +783,41 @@ install_qa_check() {
 	   [[ -x /usr/bin/file && -x /usr/bin/find ]] && \
 	   [[ -n ${MULTILIB_STRICT_DIRS} && -n ${MULTILIB_STRICT_DENY} ]]
 	then
-		local abort=no dir file firstrun=yes
+		rm -f "${T}/multilib-strict.log"
+		local abort=no dir file
 		MULTILIB_STRICT_EXEMPT=$(echo ${MULTILIB_STRICT_EXEMPT} | sed -e 's:\([(|)]\):\\\1:g')
 		for dir in ${MULTILIB_STRICT_DIRS} ; do
 			[[ -d ${ED}/${dir} ]] || continue
 			for file in $(find ${ED}/${dir} -type f | grep -v "^${ED}/${dir}/${MULTILIB_STRICT_EXEMPT}"); do
 				if file ${file} | egrep -q "${MULTILIB_STRICT_DENY}" ; then
-					if [[ ${firstrun} == yes ]] ; then
-						echo "Files matching a file type that is not allowed:"
-						firstrun=no
-					fi
-					abort=yes
-					echo "   ${file#${ED}//}"
+					echo "${file#${ED}//}" >> "${T}/multilib-strict.log"
 				fi
 			done
 		done
+
+		if [[ -s ${T}/multilib-strict.log ]] ; then
+			if [[ ${#QA_MULTILIB_PATHS[@]} -eq 1 ]] ; then
+				local shopts=$-
+				set -o noglob
+				QA_MULTILIB_PATHS=(${QA_MULTILIB_PATHS})
+				set +o noglob
+				set -${shopts}
+			fi
+			if [ "${QA_STRICT_MULTILIB_PATHS-unset}" = unset ] ; then
+				for x in "${QA_MULTILIB_PATHS[@]}" ; do
+					sed -e "s#^${x#/}\$##" -i "${T}/multilib-strict.log"
+				done
+				sed -e "/^\$/d" -i "${T}/multilib-strict.log"
+			fi
+			if [[ -s ${T}/multilib-strict.log ]] ; then
+				abort=yes
+				echo "Files matching a file type that is not allowed:"
+				while read -r ; do
+					echo "   ${REPLY}"
+				done < "${T}/multilib-strict.log"
+			fi
+		fi
+
 		[[ ${abort} == yes ]] && die "multilib-strict check failed!"
 	fi
 

diff --git a/man/ebuild.5 b/man/ebuild.5
index 0d5e448..cca00dd 100644
--- a/man/ebuild.5
+++ b/man/ebuild.5
@@ -1,4 +1,4 @@
-.TH "EBUILD" "5" "Sep 2012" "Portage VERSION" "Portage"
+.TH "EBUILD" "5" "Oct 2012" "Portage VERSION" "Portage"
 
 .SH "NAME"
 ebuild \- the internal format, variables, and functions in an ebuild script
@@ -760,6 +760,11 @@ The paths may contain regular expressions with escape\-quoted special characters
 This variable is intended to be used on files of binary packages which ignore
 CFLAGS, CXXFLAGS, FFLAGS, FCFLAGS, and LDFLAGS variables.
 .TP
+.B QA_MULTILIB_PATHS
+This should contain a list of file paths, relative to the image directory, of
+files that should be ignored for the multilib\-strict checks.
+The paths may contain regular expressions with escape\-quoted special characters.
+.TP
 .B QA_PRESTRIPPED
 This should contain a list of file paths, relative to the image directory, of
 files that contain pre-stripped binaries. The paths may contain regular

diff --git a/man/make.conf.5 b/man/make.conf.5
index 61daa90..0f5bd54 100644
--- a/man/make.conf.5
+++ b/man/make.conf.5
@@ -1,4 +1,4 @@
-.TH "MAKE.CONF" "5" "Sep 2012" "Portage VERSION" "Portage"
+.TH "MAKE.CONF" "5" "Oct 2012" "Portage VERSION" "Portage"
 .SH "NAME"
 make.conf \- custom settings for Portage
 .SH "SYNOPSIS"
@@ -895,6 +895,10 @@ settings from ebuilds.  See also \fBebuild\fR(5).
 Set this to cause portage to ignore any \fIQA_FLAGS_IGNORED\fR override
 settings from ebuilds.  See also \fBebuild\fR(5).
 .TP
+\fBQA_STRICT_MULTILIB_PATHS = \fI"set"\fR
+Set this to cause portage to ignore any \fIQA_MULTILIB_PATHS\fR override
+settings from ebuilds.  See also \fBebuild\fR(5).
+.TP
 \fBQA_STRICT_PRESTRIPPED = \fI"set"\fR
 Set this to cause portage to ignore any \fIQA_PRESTRIPPED\fR override
 settings from ebuilds.  See also \fBebuild\fR(5).


^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [gentoo-commits] proj/portage:master commit in: man/, bin/
@ 2012-10-31 21:32 Zac Medico
  0 siblings, 0 replies; 29+ messages in thread
From: Zac Medico @ 2012-10-31 21:32 UTC (permalink / raw
  To: gentoo-commits

commit:     658c0fd5940b9547cbdf09d4d4ea6552cfbd542a
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Wed Oct 31 17:42:20 2012 +0000
Commit:     Zac Medico <zmedico <AT> gentoo <DOT> org>
CommitDate: Wed Oct 31 21:30:35 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=658c0fd5

repoman: add check for deprecated licenses, bug 440638

---
 bin/repoman   |   12 ++++++++++++
 man/repoman.1 |    5 ++++-
 2 files changed, 16 insertions(+), 1 deletions(-)

diff --git a/bin/repoman b/bin/repoman
index 1502d6b..553b1d2 100755
--- a/bin/repoman
+++ b/bin/repoman
@@ -359,6 +359,7 @@ qahelp={
 	"IUSE.invalid":"This ebuild has a variable in IUSE that is not in the use.desc or its metadata.xml file",
 	"IUSE.missing":"This ebuild has a USE conditional which references a flag that is not listed in IUSE",
 	"LICENSE.invalid":"This ebuild is listing a license that doesnt exist in portages license/ dir.",
+	"LICENSE.deprecated":"This ebuild is listing a deprecated license.",
 	"KEYWORDS.invalid":"This ebuild contains KEYWORDS that are not listed in profiles/arch.list or for which no valid profile was found",
 	"RDEPEND.implicit":"RDEPEND is unset in the ebuild which triggers implicit RDEPEND=$DEPEND assignment (prior to EAPI 4)",
 	"RDEPEND.suspect":"RDEPEND contains a package that usually only belongs in DEPEND.",
@@ -398,6 +399,7 @@ qawarnings = set((
 "DESCRIPTION.toolong",
 "EAPI.deprecated",
 "HOMEPAGE.virtual",
+"LICENSE.deprecated",
 "LICENSE.virtual",
 "KEYWORDS.dropped",
 "KEYWORDS.stupid",
@@ -922,6 +924,13 @@ for x in repoman_settings.archlist():
 		print(red("up with the "+x+" team."))
 		print()
 
+global_noiselimit = portage.util.noiselimit
+# Suppress error message if @DEPRECATED license group doesn't exist
+portage.util.noiselimit = -2
+liclist_deprecated = \
+	set(repoman_settings._license_manager.expandLicenseTokens(["@DEPRECATED"]))
+portage.util.noiselimit = global_noiselimit
+
 if not liclist:
 	logging.fatal("Couldn't find licenses?")
 	sys.exit(1)
@@ -2014,6 +2023,9 @@ for x in effective_scanlist:
 				if lic not in liclist and lic != "||":
 					stats["LICENSE.invalid"]=stats["LICENSE.invalid"]+1
 					fails["LICENSE.invalid"].append(x+"/"+y+".ebuild: %s" % lic)
+				elif lic in liclist_deprecated:
+					stats["LICENSE.deprecated"] = stats["LICENSE.deprecated"] + 1
+					fails["LICENSE.deprecated"].append("%s: %s" % (relative_path, lic))
 
 		#keyword checks
 		myuse = myaux["KEYWORDS"].split()

diff --git a/man/repoman.1 b/man/repoman.1
index 6dd75e8..e715f05 100644
--- a/man/repoman.1
+++ b/man/repoman.1
@@ -1,4 +1,4 @@
-.TH "REPOMAN" "1" "June 2012" "Portage VERSION" "Portage"
+.TH "REPOMAN" "1" "Oct 2012" "Portage VERSION" "Portage"
 .SH NAME
 repoman \- Gentoo's program to enforce a minimal level of quality assurance in packages added to the portage tree
 .SH SYNOPSIS
@@ -167,6 +167,9 @@ Ebuilds that have been added directly with stable KEYWORDS
 .B KEYWORDS.stupid
 Ebuilds that use KEYWORDS=-* instead of package.mask
 .TP
+.B LICENSE.deprecated
+This ebuild is listing a deprecated license.
+.TP
 .B LICENSE.invalid
 This ebuild is listing a license that doesnt exist in portages license/ dir.
 .TP


^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [gentoo-commits] proj/portage:master commit in: man/, bin/
@ 2013-04-28 22:06 Zac Medico
  0 siblings, 0 replies; 29+ messages in thread
From: Zac Medico @ 2013-04-28 22:06 UTC (permalink / raw
  To: gentoo-commits

commit:     9f14442ada82b5a076b1ea0093f0e9f133c10b47
Author:     Zac Medico <zmedico <AT> gentoo <DOT> org>
AuthorDate: Sun Apr 28 22:05:44 2013 +0000
Commit:     Zac Medico <zmedico <AT> gentoo <DOT> org>
CommitDate: Sun Apr 28 22:05:44 2013 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=9f14442a

repoman: add --include-arches, bug #466116

---
 bin/repoman   |   15 +++++++++++++++
 man/repoman.1 |    4 ++++
 2 files changed, 19 insertions(+), 0 deletions(-)

diff --git a/bin/repoman b/bin/repoman
index ca4aa0a..ca4fb53 100755
--- a/bin/repoman
+++ b/bin/repoman
@@ -235,6 +235,11 @@ def ParseArgs(argv, qahelp):
 	parser.add_option('-I', '--ignore-masked', dest='ignore_masked', action='store_true',
 		default=False, help='ignore masked packages (not allowed with commit mode)')
 
+	parser.add_option('--include-arches', dest='include_arches',
+		metavar='ARCHES', action='append',
+		help='A space separated list of arches used to '
+		'filter the selection of profiles for dependency checks')
+
 	parser.add_option('-d', '--include-dev', dest='include_dev', action='store_true',
 		default=False, help='include dev profiles in dependency checks')
 
@@ -1267,6 +1272,11 @@ arch_caches = {}
 arch_xmatch_caches = {}
 shared_xmatch_caches = {"cp-list":{}}
 
+include_arches = None
+if options.include_arches:
+	include_arches = set()
+	include_arches.update(*[x.split() for x in options.include_arches])
+
 # Disable the "ebuild.notadded" check when not in commit mode and
 # running `svn status` in every package dir will be too expensive.
 
@@ -2223,6 +2233,11 @@ for x in effective_scanlist:
 				# A missing profile will create an error further down
 				# during the KEYWORDS verification.
 				continue
+
+			if include_arches is not None:
+				if arch not in include_arches:
+					continue
+
 			relevant_profiles.extend((keyword, groups, prof)
 				for prof in profiles[arch])
 

diff --git a/man/repoman.1 b/man/repoman.1
index e715f05..912ba65 100644
--- a/man/repoman.1
+++ b/man/repoman.1
@@ -75,6 +75,10 @@ Do not use the \fIREPOMAN_DEFAULT_OPTS\fR environment variable.
 \fB\-I\fR, \fB\-\-ignore\-masked\fR
 Ignore masked packages (not allowed with commit mode)
 .TP
+.BR "\-\-include\-arches " ARCHES
+A space separated list of arches used to filter the selection of
+profiles for dependency checks.
+.TP
 \fB\-d\fR, \fB\-\-include\-dev\fR
 Include dev profiles in dependency checks.
 .TP


^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [gentoo-commits] proj/portage:master commit in: man/, bin/
@ 2013-05-18 18:47 Zac Medico
  0 siblings, 0 replies; 29+ messages in thread
From: Zac Medico @ 2013-05-18 18:47 UTC (permalink / raw
  To: gentoo-commits

commit:     ddd0c4a77dbbc48e65565a392b00949f71c18778
Author:     Zac Medico <zmedico <AT> gentoo <DOT> org>
AuthorDate: Sat May 18 18:47:03 2013 +0000
Commit:     Zac Medico <zmedico <AT> gentoo <DOT> org>
CommitDate: Sat May 18 18:47:03 2013 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=ddd0c4a7

docs: metadata/cache is now md5-cache bug #470154

---
 bin/egencache   |   10 +++++-----
 man/egencache.1 |    8 ++++----
 man/emerge.1    |    4 ++--
 man/make.conf.5 |   12 +++---------
 4 files changed, 14 insertions(+), 20 deletions(-)

diff --git a/bin/egencache b/bin/egencache
index 59d5c3b..133903d 100755
--- a/bin/egencache
+++ b/bin/egencache
@@ -82,7 +82,7 @@ def parse_args(args):
 	actions = optparse.OptionGroup(parser, 'Actions')
 	actions.add_option("--update",
 		action="store_true",
-		help="update metadata/cache/ (generate as necessary)")
+		help="update metadata/md5-cache/ (generate as necessary)")
 	actions.add_option("--update-use-local-desc",
 		action="store_true",
 		help="update the use.local.desc file from metadata.xml")
@@ -387,8 +387,8 @@ class GenCache(object):
 				self.returncode |= 1
 				writemsg_level(
 					"Error listing cache entries for " + \
-					"'%s/metadata/cache': %s, continuing...\n" % \
-					(self._portdb.porttree_root, ce),
+					"'%s': %s, continuing...\n" % \
+					(trg_cache.location, ce),
 					level=logging.ERROR, noiselevel=-1)
 
 		else:
@@ -409,8 +409,8 @@ class GenCache(object):
 				self.returncode |= 1
 				writemsg_level(
 					"Error listing cache entries for " + \
-					"'%s/metadata/cache': %s, continuing...\n" % \
-					(self._portdb.porttree_root, ce),
+					"'%s': %s, continuing...\n" % \
+					(trg_cache.location, ce),
 					level=logging.ERROR, noiselevel=-1)
 
 		if cp_missing:

diff --git a/man/egencache.1 b/man/egencache.1
index 7f942c7..825a300 100644
--- a/man/egencache.1
+++ b/man/egencache.1
@@ -1,4 +1,4 @@
-.TH "EGENCACHE" "1" "Dec 2012" "Portage VERSION" "Portage"
+.TH "EGENCACHE" "1" "May 2013" "Portage VERSION" "Portage"
 .SH "NAME"
 egencache \- generate metadata cache for ebuild repositories
 .SH "SYNOPSIS"
@@ -6,12 +6,12 @@ egencache \- generate metadata cache for ebuild repositories
 .I [options] --update [ATOM]\fR...
 .SH "DESCRIPTION"
 The egencache program generates metadata cache for ebuild repositories and
-stores it in the \fImetadata/cache/\fR directory within the repository itself,
-for distribution.
+stores it in the \fImetadata/md5\-cache/\fR directory within the repository
+itself, for distribution.
 .SH ACTIONS
 .TP
 .BR "\-\-update [ATOM] ... "
-Update the \fImetadata/cache/\fR directory (generate metadata as necessary).
+Update the \fImetadata/md5\-cache/\fR directory (generate metadata as necessary).
 If no package atoms are specified then all will be updated. See ebuild(5)
 for the details on package atom syntax.
 .TP

diff --git a/man/emerge.1 b/man/emerge.1
index 23b023c..b4b5002 100644
--- a/man/emerge.1
+++ b/man/emerge.1
@@ -1,4 +1,4 @@
-.TH "EMERGE" "1" "Feb 2013" "Portage VERSION" "Portage"
+.TH "EMERGE" "1" "May 2013" "Portage VERSION" "Portage"
 .SH "NAME"
 emerge \- Command\-line interface to the Portage system
 .SH "SYNOPSIS"
@@ -170,7 +170,7 @@ with the \fI\-\-verbose\fR option.
 Displays a list of available package sets.
 .TP
 .BR \-\-metadata
-Transfers metadata cache from ${PORTDIR}/metadata/cache/ to
+Transfers metadata cache from ${PORTDIR}/metadata/md5\-cache/ to
 /var/cache/edb/dep/ as is normally done on the
 tail end of an rsync update using \fBemerge \-\-sync\fR.  This process
 populates the cache database that portage uses for pre-parsed lookups of

diff --git a/man/make.conf.5 b/man/make.conf.5
index f54c93f..9b4121c 100644
--- a/man/make.conf.5
+++ b/man/make.conf.5
@@ -1,4 +1,4 @@
-.TH "MAKE.CONF" "5" "Apr 2013" "Portage VERSION" "Portage"
+.TH "MAKE.CONF" "5" "May 2013" "Portage VERSION" "Portage"
 .SH "NAME"
 make.conf \- custom settings for Portage
 .SH "SYNOPSIS"
@@ -391,14 +391,8 @@ This feature is enabled by default.
 Automatically perform a metadata transfer when `emerge \-\-sync` is run.
 In versions of portage >=2.1.5, this feature is disabled by
 default. When metadata\-transfer is disabled, metadata cache from the
-${PORTDIR}/metadata/cache/ directory will be used directly (if available)
-and eclasses in ${PORTDIR}/eclass/ must not be modified except by
-`emerge \-\-sync` operations since the cache validation mechanism
-will not recognize eclass modifications. Normally, this issue only
-pertains to users of the rsync tree since the cvs tree does not contain
-a metadata/cache/ directory. Users of the rsync tree who want to modify
-eclasses should use \fBPORTDIR_OVERLAY\fR in order for the cache
-validation mechanism to work correctly.
+${PORTDIR}/metadata/md5\-cache/ directory will be used directly
+(if available).
 .TP
 .B mirror
 Fetch everything in \fBSRC_URI\fR regardless of \fBUSE\fR settings,


^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [gentoo-commits] proj/portage:master commit in: man/, bin/
@ 2013-07-13  9:35 Arfrever Frehtes Taifersar Arahesis
  0 siblings, 0 replies; 29+ messages in thread
From: Arfrever Frehtes Taifersar Arahesis @ 2013-07-13  9:35 UTC (permalink / raw
  To: gentoo-commits

commit:     5c3f81a00732df9e7520568e2bc4922e9111d005
Author:     Arfrever Frehtes Taifersar Arahesis <Arfrever <AT> Apache <DOT> Org>
AuthorDate: Sat Jul 13 09:35:18 2013 +0000
Commit:     Arfrever Frehtes Taifersar Arahesis <arfrever.fta <AT> gmail <DOT> com>
CommitDate: Sat Jul 13 09:35:18 2013 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=5c3f81a0

egencache: Support --repositories-configuration option.

---
 bin/egencache   | 17 ++++++++++++-----
 man/egencache.1 | 12 +++++++++---
 2 files changed, 21 insertions(+), 8 deletions(-)

diff --git a/bin/egencache b/bin/egencache
index 71f012a..2c5dddc 100755
--- a/bin/egencache
+++ b/bin/egencache
@@ -108,11 +108,14 @@ def parse_args(args):
 		help="override the PORTAGE_GPG_KEY variable",
 		dest="gpg_key")
 	common.add_option("--portdir",
-		help="override the portage tree location",
+		help="override the portage tree location (deprecated in favor of --repositories-configuration)",
 		dest="portdir")
 	common.add_option("--portdir-overlay",
-		help="override the PORTDIR_OVERLAY variable (requires that --repo is also specified)",
+		help="override the PORTDIR_OVERLAY variable (requires that --repo is also specified) (deprecated in favor of --repositories-configuration)",
 		dest="portdir_overlay")
+	common.add_option("--repositories-configuration",
+		help="override configuration of repositories (in format of repos.conf) (requires that --repo is also specified)",
+		dest="repositories_configuration")
 	common.add_option("--sign-manifests",
 		type="choice",
 		choices=('y', 'n'),
@@ -209,9 +212,11 @@ def parse_args(args):
 			parser.error("Write access denied: --cache-dir='%s'" % \
 				(options.cache_dir,))
 
-	if options.portdir_overlay is not None and \
-		options.repo is None:
-		parser.error("--portdir-overlay option requires --repo option")
+	if options.repo is None:
+		if options.repositories_configuration is not None:
+			parser.error("--repositories-configuration option requires --repo option")
+		if options.portdir_overlay is not None:
+			parser.error("--portdir-overlay option requires --repo option")
 
 	for atom in args:
 		try:
@@ -859,6 +864,8 @@ def egencache_main(args):
 
 	if options.repo is None:
 		env['PORTDIR_OVERLAY'] = ''
+	elif options.repositories_configuration is not None:
+		env['PORTAGE_REPOSITORIES'] = options.repositories_configuration
 	elif options.portdir_overlay:
 		env['PORTDIR_OVERLAY'] = options.portdir_overlay
 

diff --git a/man/egencache.1 b/man/egencache.1
index 825a300..81c3bbb 100644
--- a/man/egencache.1
+++ b/man/egencache.1
@@ -1,4 +1,4 @@
-.TH "EGENCACHE" "1" "May 2013" "Portage VERSION" "Portage"
+.TH "EGENCACHE" "1" "Jul 2013" "Portage VERSION" "Portage"
 .SH "NAME"
 egencache \- generate metadata cache for ebuild repositories
 .SH "SYNOPSIS"
@@ -57,11 +57,13 @@ Also see the related \fB\-\-load\-average\fR option.
 Specifies that maximum load allowed when spawning multiple jobs.
 .TP
 .BR "\-\-portdir=PORTDIR"
-Override the portage tree location.
+Override the portage tree location. This option is deprecated in favor of
+\-\-repositories\-configuration option.
 .TP
 .BR "\-\-portdir\-overlay=PORTDIR_OVERLAY"
 Override the PORTDIR_OVERLAY variable (requires that
-\-\-repo is also specified).
+\-\-repo is also specified). This option is deprecated in favor of
+\-\-repositories\-configuration option.
 .TP
 .BR "\-\-preserve\-comments"
 Preserve the comments found in the output use.local.desc file. This requires
@@ -73,6 +75,10 @@ The name should correspond the value of a \fBrepo_name\fR entry (see
 \fBportage\fR(5)) from one of the repositories that is configured via the
 \fBPORTDIR\fR or \fBPORTDIR_OVERLAY\fR variables (see \fBmake.conf\fR(5)).
 .TP
+.BR "\-\-repositories\-configuration=REPOSITORIES_CONFIGURATION"
+Override configuration of repositories. The argument of this option has
+the same format as repos.conf (see \fBportage\fR(5)).
+.TP
 .BR "\-\-rsync"
 When used together with the \fB\-\-update\fR action, this enables a workaround
 for cases in which the content of a cache entry changes and neither the file


^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [gentoo-commits] proj/portage:master commit in: man/, bin/
@ 2013-07-23 20:42 Arfrever Frehtes Taifersar Arahesis
  0 siblings, 0 replies; 29+ messages in thread
From: Arfrever Frehtes Taifersar Arahesis @ 2013-07-23 20:42 UTC (permalink / raw
  To: gentoo-commits

commit:     04612ddc5200e7cd796fb0b49b69d77b5e502ab3
Author:     Arfrever Frehtes Taifersar Arahesis <Arfrever <AT> Apache <DOT> Org>
AuthorDate: Tue Jul 23 20:41:20 2013 +0000
Commit:     Arfrever Frehtes Taifersar Arahesis <arfrever.fta <AT> gmail <DOT> com>
CommitDate: Tue Jul 23 20:41:20 2013 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=04612ddc

egencache: Require --repo option.

---
 bin/egencache   | 31 +++++++++----------------------
 man/egencache.1 | 10 ++++------
 2 files changed, 13 insertions(+), 28 deletions(-)

diff --git a/bin/egencache b/bin/egencache
index 2c5dddc..921c461 100755
--- a/bin/egencache
+++ b/bin/egencache
@@ -97,7 +97,7 @@ def parse_args(args):
 	common = optparse.OptionGroup(parser, 'Common options')
 	common.add_option("--repo",
 		action="store",
-		help="name of repo to operate on (default repo is located at $PORTDIR)")
+		help="name of repo to operate on")
 	common.add_option("--config-root",
 		help="location of portage config files",
 		dest="portage_configroot")
@@ -111,10 +111,10 @@ def parse_args(args):
 		help="override the portage tree location (deprecated in favor of --repositories-configuration)",
 		dest="portdir")
 	common.add_option("--portdir-overlay",
-		help="override the PORTDIR_OVERLAY variable (requires that --repo is also specified) (deprecated in favor of --repositories-configuration)",
+		help="override the PORTDIR_OVERLAY variable (deprecated in favor of --repositories-configuration)",
 		dest="portdir_overlay")
 	common.add_option("--repositories-configuration",
-		help="override configuration of repositories (in format of repos.conf) (requires that --repo is also specified)",
+		help="override configuration of repositories (in format of repos.conf)",
 		dest="repositories_configuration")
 	common.add_option("--sign-manifests",
 		type="choice",
@@ -213,10 +213,7 @@ def parse_args(args):
 				(options.cache_dir,))
 
 	if options.repo is None:
-		if options.repositories_configuration is not None:
-			parser.error("--repositories-configuration option requires --repo option")
-		if options.portdir_overlay is not None:
-			parser.error("--portdir-overlay option requires --repo option")
+		parser.error("--repo option is required")
 
 	for atom in args:
 		try:
@@ -862,9 +859,7 @@ def egencache_main(args):
 
 	config_root = options.config_root
 
-	if options.repo is None:
-		env['PORTDIR_OVERLAY'] = ''
-	elif options.repositories_configuration is not None:
+	if options.repositories_configuration is not None:
 		env['PORTAGE_REPOSITORIES'] = options.repositories_configuration
 	elif options.portdir_overlay:
 		env['PORTDIR_OVERLAY'] = options.portdir_overlay
@@ -897,18 +892,10 @@ def egencache_main(args):
 		parser.error('No action specified')
 		return 1
 
-	repo_path = None
-	if options.repo is not None:
-		repo_path = settings.repositories.treemap.get(options.repo)
-		if repo_path is None:
-			parser.error("Unable to locate repository named '%s'" % \
-				(options.repo,))
-			return 1
-	else:
-		repo_path = settings.repositories.mainRepoLocation()
-		if not repo_path:
-			parser.error("PORTDIR is undefined")
-			return 1
+	repo_path = settings.repositories.treemap.get(options.repo)
+	if repo_path is None:
+		parser.error("Unable to locate repository named '%s'" % (options.repo,))
+		return 1
 
 	repo_config = settings.repositories.get_repo_for_location(repo_path)
 

diff --git a/man/egencache.1 b/man/egencache.1
index 81c3bbb..34e0b7b 100644
--- a/man/egencache.1
+++ b/man/egencache.1
@@ -61,8 +61,7 @@ Override the portage tree location. This option is deprecated in favor of
 \-\-repositories\-configuration option.
 .TP
 .BR "\-\-portdir\-overlay=PORTDIR_OVERLAY"
-Override the PORTDIR_OVERLAY variable (requires that
-\-\-repo is also specified). This option is deprecated in favor of
+Override the PORTDIR_OVERLAY variable. This option is deprecated in favor of
 \-\-repositories\-configuration option.
 .TP
 .BR "\-\-preserve\-comments"
@@ -70,10 +69,8 @@ Preserve the comments found in the output use.local.desc file. This requires
 the output file to exist before egencache is called.
 .TP
 .BR "\-\-repo=REPO"
-Name of the repo to operate on (default repo is located at \fBPORTDIR\fR).
-The name should correspond the value of a \fBrepo_name\fR entry (see
-\fBportage\fR(5)) from one of the repositories that is configured via the
-\fBPORTDIR\fR or \fBPORTDIR_OVERLAY\fR variables (see \fBmake.conf\fR(5)).
+Name of the repo to operate on. The name should correspond the value of
+a \fBrepo_name\fR entry (see \fBportage\fR(5)) from one of the repositories.
 .TP
 .BR "\-\-repositories\-configuration=REPOSITORIES_CONFIGURATION"
 Override configuration of repositories. The argument of this option has
@@ -153,6 +150,7 @@ Please report bugs via http://bugs.gentoo.org/
 .SH "AUTHORS"
 .nf
 Zac Medico <zmedico@gentoo.org>
+Arfrever Frehtes Taifersar Arahesis <arfrever@apache.org>
 .fi
 .SH "FILES"
 .TP


^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [gentoo-commits] proj/portage:master commit in: man/, bin/
@ 2013-08-04 20:51 Zac Medico
  0 siblings, 0 replies; 29+ messages in thread
From: Zac Medico @ 2013-08-04 20:51 UTC (permalink / raw
  To: gentoo-commits

commit:     ca3a34f30fe5e8600fc8965343356e7b79a541d8
Author:     Manuel Rüger <mrueg <AT> gentoo <DOT> org>
AuthorDate: Sun Aug  4 13:08:16 2013 +0000
Commit:     Zac Medico <zmedico <AT> gentoo <DOT> org>
CommitDate: Sun Aug  4 20:49:54 2013 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=ca3a34f3

Add repoman check for deprecated ruby targets, fixes bug #469616

---
 bin/repoman   | 16 ++++++++++++++++
 man/repoman.1 |  3 +++
 2 files changed, 19 insertions(+)

diff --git a/bin/repoman b/bin/repoman
index 452ca48..4ffe10d 100755
--- a/bin/repoman
+++ b/bin/repoman
@@ -324,6 +324,7 @@ qahelp = {
 	"LIVEVCS.unmasked": "This ebuild is a live checkout from a VCS but has keywords and is not masked in the global package.mask.",
 	"IUSE.invalid": "This ebuild has a variable in IUSE that is not in the use.desc or its metadata.xml file",
 	"IUSE.missing": "This ebuild has a USE conditional which references a flag that is not listed in IUSE",
+	"IUSE.rubydeprecated": "The ebuild has set a ruby interpreter in USE_RUBY, that is not available as a ruby target anymore",
 	"LICENSE.invalid": "This ebuild is listing a license that doesnt exist in portages license/ dir.",
 	"LICENSE.deprecated": "This ebuild is listing a deprecated license.",
 	"KEYWORDS.invalid": "This ebuild contains KEYWORDS that are not listed in profiles/arch.list or for which no valid profile was found",
@@ -392,6 +393,7 @@ qawarnings = set((
 "upstream.workaround",
 "LIVEVCS.stable",
 "LIVEVCS.unmasked",
+"IUSE.rubydeprecated",
 ))
 
 if portage.const._ENABLE_INHERIT_CHECK:
@@ -476,6 +478,11 @@ suspect_virtual = {
 	"dev-libs/libusb-compat":"virtual/libusb",
 }
 
+ruby_deprecated = {
+	"ruby_targets_rbx",
+	"ruby_targets_ree18",
+}
+
 metadata_xml_encoding = 'UTF-8'
 metadata_xml_declaration = '<?xml version="1.0" encoding="%s"?>' % \
 	(metadata_xml_encoding,)
@@ -2105,6 +2112,15 @@ for x in effective_scanlist:
 		for mypos in range(len(myuse)):
 			stats["IUSE.invalid"] += 1
 			fails["IUSE.invalid"].append(x + "/" + y + ".ebuild: %s" % myuse[mypos])
+		
+		# Check for outdated RUBY targets
+		if "ruby-ng" in inherited or "ruby-fakegem" in inherited or "ruby" in inherited:
+			ruby_intersection = pkg.iuse.all.intersection(ruby_deprecated)
+			if ruby_intersection:
+				for myruby in ruby_intersection:
+					stats["IUSE.rubydeprecated"] += 1
+					fails["IUSE.rubydeprecated"].append(
+						(relative_path + ": Deprecated ruby target: %s") % myruby)
 
 		# license checks
 		if not badlicsyntax:

diff --git a/man/repoman.1 b/man/repoman.1
index a025350..d4ced1d 100644
--- a/man/repoman.1
+++ b/man/repoman.1
@@ -347,6 +347,9 @@ metadata/layout.conf settings.
 The ebuild uses an EAPI which is deprecated by the repository's
 metadata/layout.conf settings.
 .TP
+.B IUSE.rubydeprecated
+The ebuild has set a ruby interpreter in USE_RUBY, that is not available as a ruby target anymore
+.TP
 .B portage.internal
 The ebuild uses an internal Portage function or variable
 .TP


^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [gentoo-commits] proj/portage:master commit in: man/, bin/
@ 2013-08-22  2:01 Zac Medico
  0 siblings, 0 replies; 29+ messages in thread
From: Zac Medico @ 2013-08-22  2:01 UTC (permalink / raw
  To: gentoo-commits

commit:     12eae4696bd2ae1d8f67dd8faa496eb74b5466d6
Author:     Zac Medico <zmedico <AT> gentoo <DOT> org>
AuthorDate: Thu Aug 22 01:54:59 2013 +0000
Commit:     Zac Medico <zmedico <AT> gentoo <DOT> org>
CommitDate: Thu Aug 22 01:58:49 2013 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=12eae469

repoman: --include-exp-profiles, bug #481326

---
 bin/repoman   | 8 ++++++--
 man/repoman.1 | 5 ++++-
 2 files changed, 10 insertions(+), 3 deletions(-)

diff --git a/bin/repoman b/bin/repoman
index 731509d..31ae747 100755
--- a/bin/repoman
+++ b/bin/repoman
@@ -218,6 +218,9 @@ def ParseArgs(argv, qahelp):
 	parser.add_argument('-d', '--include-dev', dest='include_dev', action='store_true',
 		default=False, help='include dev profiles in dependency checks')
 
+	parser.add_argument('-e', '--include-exp-profiles', choices=('y', 'n'),
+		default=False, help='include exp profiles in dependency checks')
+
 	parser.add_argument('--unmatched-removal', dest='unmatched_removal', action='store_true',
 		default=False, help='enable strict checking of package.mask and package.unmask files for unmatched removal atoms')
 
@@ -2243,8 +2246,9 @@ for x in effective_scanlist:
 
 		for keyword, groups, prof in relevant_profiles:
 
-				if prof.status not in ("stable", "dev") or \
-					prof.status == "dev" and not options.include_dev:
+				if not (prof.status == "stable" or \
+					(prof.status == "dev" and options.include_dev) or \
+					(prof.status == "exp" and options.include_exp_profiles == 'y')):
 					continue
 
 				dep_settings = arch_caches.get(prof.sub_path)

diff --git a/man/repoman.1 b/man/repoman.1
index 3a04771..36e36f8 100644
--- a/man/repoman.1
+++ b/man/repoman.1
@@ -1,4 +1,4 @@
-.TH "REPOMAN" "1" "May 2013" "Portage VERSION" "Portage"
+.TH "REPOMAN" "1" "Aug 2013" "Portage VERSION" "Portage"
 .SH NAME
 repoman \- Gentoo's program to enforce a minimal level of quality assurance in
 packages added to the portage tree
@@ -88,6 +88,9 @@ profiles for dependency checks.
 \fB\-d\fR, \fB\-\-include\-dev\fR
 Include dev profiles in dependency checks.
 .TP
+\fB\-e\fR, \fB\-\-include\-exp\-profiles\fR
+Include exp profiles in dependency checks.
+.TP
 \fB\-\-unmatched\-removal\fR
 Enable strict checking of package.mask and package.unmask files for
 unmatched removal atoms.


^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [gentoo-commits] proj/portage:master commit in: man/, bin/
@ 2013-08-22  4:06 Zac Medico
  0 siblings, 0 replies; 29+ messages in thread
From: Zac Medico @ 2013-08-22  4:06 UTC (permalink / raw
  To: gentoo-commits

commit:     39b43a74393cef78a4f17212afd49281d732307f
Author:     Zac Medico <zmedico <AT> gentoo <DOT> org>
AuthorDate: Thu Aug 22 04:06:01 2013 +0000
Commit:     Zac Medico <zmedico <AT> gentoo <DOT> org>
CommitDate: Thu Aug 22 04:06:01 2013 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=39b43a74

repoman: tweak help for --include-exp-profiles

---
 bin/repoman   | 3 ++-
 man/repoman.1 | 2 +-
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/bin/repoman b/bin/repoman
index 5250af0..1a02050 100755
--- a/bin/repoman
+++ b/bin/repoman
@@ -219,7 +219,8 @@ def ParseArgs(argv, qahelp):
 		default=False, help='include dev profiles in dependency checks')
 
 	parser.add_argument('-e', '--include-exp-profiles', choices=('y', 'n'),
-		default=False, help='include exp profiles in dependency checks')
+		default=False, help='include exp profiles in dependency checks',
+		metavar='<y|n>')
 
 	parser.add_argument('--unmatched-removal', dest='unmatched_removal', action='store_true',
 		default=False, help='enable strict checking of package.mask and package.unmask files for unmatched removal atoms')

diff --git a/man/repoman.1 b/man/repoman.1
index 36e36f8..a78f94e 100644
--- a/man/repoman.1
+++ b/man/repoman.1
@@ -88,7 +88,7 @@ profiles for dependency checks.
 \fB\-d\fR, \fB\-\-include\-dev\fR
 Include dev profiles in dependency checks.
 .TP
-\fB\-e\fR, \fB\-\-include\-exp\-profiles\fR
+\fB\-e <y|n>\fR, \fB\-\-include\-exp\-profiles=<y|n>\fR
 Include exp profiles in dependency checks.
 .TP
 \fB\-\-unmatched\-removal\fR


^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [gentoo-commits] proj/portage:master commit in: man/, bin/
@ 2019-08-30 17:05 Zac Medico
  0 siblings, 0 replies; 29+ messages in thread
From: Zac Medico @ 2019-08-30 17:05 UTC (permalink / raw
  To: gentoo-commits

commit:     57e5ea479030de69e43252bd8dc6c93e6a87369a
Author:     Zac Medico <zmedico <AT> gentoo <DOT> org>
AuthorDate: Thu Aug 29 17:49:54 2019 +0000
Commit:     Zac Medico <zmedico <AT> gentoo <DOT> org>
CommitDate: Thu Aug 29 19:27:19 2019 +0000
URL:        https://gitweb.gentoo.org/proj/portage.git/commit/?id=57e5ea47

glsa-check: Add --quiet option

This patch is a forward port of the following commit:

https://gitweb.gentoo.org/proj/gentoolkit.git/commit/?id=cd5a8e80f949f649b6d2b174bc899f1f092684fd

commit cd5a8e80f949f649b6d2b174bc899f1f092684fd
Author:     fuzzyray <fuzzyray <AT> gentoo.org>
AuthorDate: 2009-05-07 22:15:50 +0000
Commit:     fuzzyray <fuzzyray <AT> gentoo.org>
CommitDate: 2009-05-07 22:15:50 +0000

    Add patch from Robert Buchholz: Add quiet option
    Incorporate option to quiet down glsa-check, based on a patch by Thilo
    Bangert <bangert <AT> gentoo.org> in bug #170784.
    This option will also suppress sending of empty mail, based on a patch
    by Christian Gut <cycloon <AT> is-root.org> in bug #182990.

    svn path=/trunk/gentoolkit/; revision=633

Bug: https://bugs.gentoo.org/692872
Signed-off-by: Zac Medico <zmedico <AT> gentoo.org>

 bin/glsa-check   | 17 +++++++++++------
 man/glsa-check.1 |  3 +++
 2 files changed, 14 insertions(+), 6 deletions(-)

diff --git a/bin/glsa-check b/bin/glsa-check
index 83ea6b7c3..bfcbaa61f 100755
--- a/bin/glsa-check
+++ b/bin/glsa-check
@@ -57,6 +57,8 @@ modes.add_argument("-m", "--mail", action="store_const",
 		help="Send a mail with the given GLSAs to the administrator")
 parser.add_argument("-V", "--version", action="store_true",
 		help="Show information about glsa-check")
+parser.add_argument("-q", "--quiet", action="store_true", dest="quiet",
+		help="Be less verbose and do not send empty mail")
 parser.add_argument("-v", "--verbose", action="store_true", dest="verbose",
 		help="Print more messages")
 parser.add_argument("-n", "--nocolor", action="store_true",
@@ -80,6 +82,7 @@ if options.version:
 mode = options.mode
 least_change = options.least_change
 list_cve = options.list_cve
+quiet = options.quiet
 verbose = options.verbose
 
 # Sanity checking
@@ -153,9 +156,10 @@ def summarylist(myglsalist, fd1=sys.stdout, fd2=sys.stderr, encoding="utf-8"):
 		fd2 = fd2.buffer
 	fd1 = codecs.getwriter(encoding)(fd1)
 	fd2 = codecs.getwriter(encoding)(fd2)
-	fd2.write(white("[A]")+" means this GLSA was marked as applied (injected),\n")
-	fd2.write(green("[U]")+" means the system is not affected and\n")
-	fd2.write(red("[N]")+" indicates that the system might be affected.\n\n")
+	if not quiet:
+		fd2.write(white("[A]")+" means this GLSA was marked as applied (injected),\n")
+		fd2.write(green("[U]")+" means the system is not affected and\n")
+		fd2.write(red("[N]")+" indicates that the system might be affected.\n\n")
 
 	myglsalist.sort()
 	for myid in myglsalist:
@@ -231,7 +235,7 @@ if mode in ["dump", "fix", "inject", "pretend"]:
 					# using emerge for the actual merging as it contains the dependency
 					# code and we want to be consistent in behaviour. Also this functionality
 					# will be integrated in emerge later, so it shouldn't hurt much.
-					emergecmd = "emerge --oneshot " + " =" + pkg
+					emergecmd = "emerge --oneshot" + (" --quiet" if quiet else "") + " =" + pkg
 					if verbose:
 						sys.stderr.write(emergecmd+"\n")
 					exitcode = os.system(emergecmd)
@@ -331,8 +335,9 @@ if mode == "mail":
 		myattachments.append(MIMEText(attachment, _charset="utf8"))
 		myfd.close()
 
-	mymessage = portage.mail.create_message(myfrom, myrecipient, mysubject, summary, myattachments)
-	portage.mail.send_mail(portage.settings, mymessage)
+	if glsalist or not quiet:
+		mymessage = portage.mail.create_message(myfrom, myrecipient, mysubject, summary, myattachments)
+		portage.mail.send_mail(portage.settings, mymessage)
 
 	sys.exit(0)
 

diff --git a/man/glsa-check.1 b/man/glsa-check.1
index a0d49d4dd..f1041737f 100644
--- a/man/glsa-check.1
+++ b/man/glsa-check.1
@@ -37,6 +37,9 @@
 \fBV\fR, \fB\-\-version\fR Show information about \fBglsa\-check\fR\.
 .
 .P
+\fB\-q\fR, \fB\-\-quiet\fR Be less verbose and do not send empty mail\.
+.
+.P
 \fB\-v\fR, \fB\-\-verbose\fR Print more messages\.
 .
 .P


^ permalink raw reply related	[flat|nested] 29+ messages in thread

end of thread, other threads:[~2019-08-30 17:05 UTC | newest]

Thread overview: 29+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-05-01 15:58 [gentoo-commits] proj/portage:master commit in: man/, bin/ Zac Medico
  -- strict thread matches above, loose matches on Subject: below --
2019-08-30 17:05 Zac Medico
2013-08-22  4:06 Zac Medico
2013-08-22  2:01 Zac Medico
2013-08-04 20:51 Zac Medico
2013-07-23 20:42 Arfrever Frehtes Taifersar Arahesis
2013-07-13  9:35 Arfrever Frehtes Taifersar Arahesis
2013-05-18 18:47 Zac Medico
2013-04-28 22:06 Zac Medico
2012-10-31 21:32 Zac Medico
2012-10-11  3:10 Zac Medico
2012-09-24 20:26 Zac Medico
2012-09-24  3:47 Mike Frysinger
2012-06-17 15:46 Zac Medico
2012-03-17 21:33 Zac Medico
2012-03-11  2:56 Mike Frysinger
2012-03-11  2:44 Mike Frysinger
2012-01-02  7:48 Zac Medico
2011-12-22 23:43 Zac Medico
2011-12-21 20:08 Zac Medico
2011-12-21 20:04 Zac Medico
2011-10-17  4:22 Zac Medico
2011-10-14 18:06 Zac Medico
2011-08-31  3:05 Zac Medico
2011-08-13 13:52 Zac Medico
2011-08-11  3:00 Zac Medico
2011-06-24 10:23 Zac Medico
2011-05-01 14:52 Arfrever Frehtes Taifersar Arahesis
2011-05-01  1:23 Arfrever Frehtes Taifersar Arahesis

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox