Re: [gentoo-portage-dev] bin/isolated-functions.sh USERLAND setting

2022-07-28 Thread Arfrever Frehtes Taifersar Arahesis
2022-07-28 17:47 UTCに、Fabian Groffen は書いた:
> bin/isolated-functions.sh does the following bit:
>
> if [[ -z ${USERLAND} ]] ; then
>case $(uname -s) in
>*BSD|DragonFly)
>export USERLAND="BSD"
>;;
>*)
>export USERLAND="GNU"
>;;
>esac
> fi
>
> (after which it uses USERLAND for a single purpose, to export XARGS to
> either GNU '[g]xargs -r', or BSD 'xargs')
>
> This bit is problematic for Prefix, because Prefix may run on *BSD, but
> use USERLAND=GNU.

But this code starts with 'if [[ -z ${USERLAND} ]]', so it should not
be run when USERLAND="GNU".

USERLAND="GNU" is set in make.defaults, which is parsed by Portage
early (at Python side) and these values are passed by Portage to
ebuild.sh subprocess.



Re: [gentoo-portage-dev] [PATCH] emake: explicitly set SHELL

2022-07-28 Thread Arfrever Frehtes Taifersar Arahesis
2022-07-26 07:03 UTCに、Florian Schmaus は書いた:
> But then I wondered if "make SHELL=$BROOT/bin/sh" wouldn't override
> explicitly set SHELL values in Makefiles. Assume a package has
>
> SHELL = /bin/zsh
>
> in one of its Makefiles. Then emake would reset this to 'sh'. Which
> appears like it could cause build issues.
>
> If this is the case, then I am not sure what we can do about it. It
> appears fragile, if not impossible, to ask 'make' which value for SHELL
> it would assume, so that emake could adjust the path. Another option
> could be that affected packages define a variable in their ebuild, e.g.
> EMAKE_SHELL="zsh", which emake could extend with BROOT before passing
> the resulting value as SHELL to make.

If there was such package, it could just override SHELL on emake invocation:

src_compile() {
emake SHELL="${BROOT}/bin/zsh"
# Or:
emake SHELL="$(type -P zsh)"
}



Re: [gentoo-portage-dev] [PATCH] install-qa-check.d: Add a QA check for installing xattrs

2021-09-29 Thread Arfrever Frehtes Taifersar Arahesis
Not relying on preservation of xatrs would be a gentoo.git tree policy.

If such policy is created, new QA check file would belong in
gentoo.git repository in metadata/install-qa-check.d directory, not in
Portage repository.
(And there is no need to delete any xattr-related code in Portage in future.)

Creation of such policy would need discussion on gentoo-dev mailing
list and/or formal vote in QA team.



[gentoo-portage-dev] [PATCH] emerge --verbose --quiet-repo-display: Delete deprecated code

2014-12-13 Thread Arfrever Frehtes Taifersar Arahesis
[[[
emerge --verbose --quiet-repo-display: Delete deprecated code.

Use portage.repository.config.RepoConfigLoader.__iter__() instead of deprecated
PORTDIR and PORTDIR_OVERLAY.
1 call to deprecated 
portage.repository.config.RepoConfigLoader.mainRepoLocation()
has been deleted.
]]]

--
Arfrever Frehtes Taifersar Arahesis
--- pym/_emerge/resolver/output_helpers.py
+++ pym/_emerge/resolver/output_helpers.py
@@ -39,24 +39,13 @@
 		self._unknown_repo = False
 		repo_paths = set()
 		for root_config in roots.values():
-			portdir = root_config.settings.get(PORTDIR)
-			if portdir:
-repo_paths.add(portdir)
-			overlays = root_config.settings.get(PORTDIR_OVERLAY)
-			if overlays:
-repo_paths.update(shlex_split(overlays))
+			for repo in root_config.settings.repositories:
+repo_paths.add(repo.location)
 		repo_paths = list(repo_paths)
 		self._repo_paths = repo_paths
 		self._repo_paths_real = [ os.path.realpath(repo_path) \
 			for repo_path in repo_paths ]
 
-		# pre-allocate index for PORTDIR so that it always has index 0.
-		for root_config in roots.values():
-			portdb = root_config.trees[porttree].dbapi
-			portdir = portdb.repositories.mainRepoLocation()
-			if portdir:
-self.repoStr(portdir)
-
 	def repoStr(self, repo_path_real):
 		real_index = -1
 		if repo_path_real:
@@ -80,7 +69,7 @@
 		shown_repos = self._shown_repos
 		unknown_repo = self._unknown_repo
 		if shown_repos or self._unknown_repo:
-			output.append(Portage tree and overlays:\n)
+			output.append(Repositories:\n)
 		show_repo_paths = list(shown_repos)
 		for repo_path, repo_index in shown_repos.items():
 			show_repo_paths[repo_index] = repo_path


signature.asc
Description: This is a digitally signed message part.


[gentoo-portage-dev] [PATCH] portageq pquery: Search ebuilds in all repositories be default

2014-12-13 Thread Arfrever Frehtes Taifersar Arahesis
[[[
portageq pquery: Search ebuilds in all repositories be default.

--all-repos option is no longer supported.
1 call to deprecated portage.repository.config.RepoConfigLoader.mainRepo() 
function
has been deleted.
]]]

--
Arfrever Frehtes Taifersar Arahesis
--- bin/portageq
+++ bin/portageq
@@ -1075,14 +1075,10 @@
 			herds.extend(x.split(,))
 		xml_matchers.append(HerdMatcher(herds))
 
-	repos = []
-	if opts.all_repos:
-		repos.extend(portdb.repositories.get_repo_for_location(location)
-			for location in portdb.porttrees)
-	elif opts.repo is not None:
-		repos.append(portdb.repositories[opts.repo])
+	if opts.repo is not None:
+		repos = [portdb.repositories[opts.repo]]
 	else:
-		repos.append(portdb.repositories.mainRepo())
+		repos = list(portdb.repositories)
 
 	if not atoms:
 		names = None
@@ -1220,12 +1216,8 @@
 },
 {
 	longopt: --repo,
-	help: repo to use (default is PORTDIR if omitted)
+	help: repository to use (all repositories are used by default)
 },
-{
-	longopt: --all-repos,
-	help: search all repos
-}
 			)
 		),
 		(


signature.asc
Description: This is a digitally signed message part.


[gentoo-portage-dev] [PATCH] portage.dbapi.bintree.binarytree: Delete PORTDIR-reliant microoptimization in index of binary packages

2014-12-13 Thread Arfrever Frehtes Taifersar Arahesis
[[[
portage.dbapi.bintree.binarytree: Delete PORTDIR-reliant microoptimization in 
index of binary packages.

This microoptimization cannot work when no main repository exists.
]]]

--
Arfrever Frehtes Taifersar Arahesis
--- pym/portage/dbapi/bintree.py
+++ pym/portage/dbapi/bintree.py
@@ -360,16 +360,6 @@
 repository   : ,
 			}
 
-			# It is especially important to populate keys like
-			# repository that save space when entries can
-			# inherit them from the header. If an existing
-			# pkgindex header already defines these keys, then
-			# they will appropriately override our defaults.
-			main_repo = self.settings.repositories.mainRepo()
-			if main_repo is not None and not main_repo.missing_repo_name:
-self._pkgindex_default_header_data[repository] = \
-	main_repo.name
-
 			self._pkgindex_translated_keys = (
 (DESCRIPTION   ,   DESC),
 (repository,   REPO),


signature.asc
Description: This is a digitally signed message part.


[gentoo-portage-dev] [PATCH] portage.tests.dbapi.test_portdb_cache: Delete deprecated code.

2014-12-13 Thread Arfrever Frehtes Taifersar Arahesis
[[[
portage.tests.dbapi.test_portdb_cache: Delete deprecated code.

9 calls to deprecated 
portage.repository.config.RepoConfigLoader.mainRepoLocation()
function have been deleted.
]]]

--
Arfrever Frehtes Taifersar Arahesis
--- pym/portage/tests/dbapi/test_portdb_cache.py
+++ pym/portage/tests/dbapi/test_portdb_cache.py
@@ -47,7 +47,7 @@
 			(lambda: not os.path.exists(md5_cache_dir),),
 			python_cmd + (textwrap.dedent(
 import os, sys, portage
-if portage.portdb.repositories.mainRepoLocation() in portage.portdb._pregen_auxdb:
+if portage.portdb.repositories['test_repo'].location in portage.portdb._pregen_auxdb:
 	sys.exit(1)
 			),),
 
@@ -56,13 +56,13 @@
 			(lambda: os.path.exists(md5_cache_dir),),
 			python_cmd + (textwrap.dedent(
 import os, sys, portage
-if portage.portdb.repositories.mainRepoLocation() not in portage.portdb._pregen_auxdb:
+if portage.portdb.repositories['test_repo'].location not in portage.portdb._pregen_auxdb:
 	sys.exit(1)
 			),),
 			python_cmd + (textwrap.dedent(
 import os, sys, portage
 from portage.cache.flat_hash import md5_database
-if not isinstance(portage.portdb._pregen_auxdb[portage.portdb.repositories.mainRepoLocation()], md5_database):
+if not isinstance(portage.portdb._pregen_auxdb[portage.portdb.repositories['test_repo'].location], md5_database):
 	sys.exit(1)
 			),),
 
@@ -73,13 +73,13 @@
 			(lambda: os.path.exists(md5_cache_dir),),
 			python_cmd + (textwrap.dedent(
 import os, sys, portage
-if portage.portdb.repositories.mainRepoLocation() not in portage.portdb._pregen_auxdb:
+if portage.portdb.repositories['test_repo'].location not in portage.portdb._pregen_auxdb:
 	sys.exit(1)
 			),),
 			python_cmd + (textwrap.dedent(
 import os, sys, portage
 from portage.cache.flat_hash import md5_database
-if not isinstance(portage.portdb._pregen_auxdb[portage.portdb.repositories.mainRepoLocation()], md5_database):
+if not isinstance(portage.portdb._pregen_auxdb[portage.portdb.repositories['test_repo'].location], md5_database):
 	sys.exit(1)
 			),),
 
@@ -90,13 +90,13 @@
 (cache-formats = pms md5-dict, layout_conf_path,,
 			(portage_python, -b, -Wd, -Wi::DeprecationWarning, -c) + (textwrap.dedent(
 import os, sys, portage
-if portage.portdb.repositories.mainRepoLocation() not in portage.portdb._pregen_auxdb:
+if portage.portdb.repositories['test_repo'].location not in portage.portdb._pregen_auxdb:
 	sys.exit(1)
 			),),
 			(portage_python, -b, -Wd, -Wi::DeprecationWarning, -c) + (textwrap.dedent(
 import os, sys, portage
 from portage.cache.metadata import database as pms_database
-if not isinstance(portage.portdb._pregen_auxdb[portage.portdb.repositories.mainRepoLocation()], pms_database):
+if not isinstance(portage.portdb._pregen_auxdb[portage.portdb.repositories['test_repo'].location], pms_database):
 	sys.exit(1)
 			),),
 
@@ -105,13 +105,13 @@
 			(BASH_BINARY, -c, rm %s % portage._shell_quote(layout_conf_path)),
 			python_cmd + (textwrap.dedent(
 import os, sys, portage
-if portage.portdb.repositories.mainRepoLocation() not in portage.portdb._pregen_auxdb:
+if portage.portdb.repositories['test_repo'].location not in portage.portdb._pregen_auxdb:
 	sys.exit(1)
 			),),
 			python_cmd + (textwrap.dedent(
 import os, sys, portage
 from portage.cache.flat_hash import md5_database
-if not isinstance(portage.portdb._pregen_auxdb[portage.portdb.repositories.mainRepoLocation()], md5_database):
+if not isinstance(portage.portdb._pregen_auxdb[portage.portdb.repositories['test_repo'].location], md5_database):
 	sys.exit(1)
 			),),
 		)


signature.asc
Description: This is a digitally signed message part.


[gentoo-portage-dev] [PATCH] portage.tests.glsa.test_security_set: Delete deprecated code

2014-12-13 Thread Arfrever Frehtes Taifersar Arahesis
[[[
portage.tests.glsa.test_security_set: Delete deprecated code.

1 call to deprecated 
portage.repository.config.RepoConfigLoader.mainRepoLocation()
function has been deleted.
]]]

--
Arfrever Frehtes Taifersar Arahesis
--- pym/portage/tests/glsa/test_security_set.py
+++ pym/portage/tests/glsa/test_security_set.py
@@ -1,4 +1,4 @@
-# Copyright 2013 Gentoo Foundation
+# Copyright 2013-2014 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 
 from __future__ import unicode_literals
@@ -129,8 +129,7 @@
 		try:
 
 			portdb = playground.trees[playground.eroot][porttree].dbapi
-			glsa_dir = os.path.join(
-portdb.repositories.mainRepoLocation(), 'metadata', 'glsa')
+			glsa_dir = os.path.join(portdb.repositories['test_repo'].location, 'metadata', 'glsa')
 			portage.util.ensure_dirs(glsa_dir)
 			for glsa in glsas:
 with io.open(os.path.join(glsa_dir,


signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-portage-dev] [PATCH] emerge --info: Check metadata/timestamp.chk in all repositories

2014-12-13 Thread Arfrever Frehtes Taifersar Arahesis
New patch without os.path.isfile().

[[[
emerge --info: Check metadata/timestamp.chk in all repositories.

1 use of deprecated PORTDIR has been deleted.
]]]

--
Arfrever Frehtes Taifersar Arahesis
--- pym/_emerge/actions.py
+++ pym/_emerge/actions.py
@@ -1452,6 +1452,7 @@
 	vardb = trees[eroot][vartree].dbapi
 	portdb = trees[eroot]['porttree'].dbapi
 	bindb = trees[eroot][bintree].dbapi
+	repos = portdb.settings.repositories
 	for x in myfiles:
 		any_match = False
 		cp_exists = bool(vardb.match(x.cp))
@@ -1554,13 +1555,10 @@
 			line += ,%10d free % (vm_info[swap.free] // 1024,)
 		append(line)
 
-	lastSync = portage.grabfile(os.path.join(
-		settings[PORTDIR], metadata, timestamp.chk))
-	if lastSync:
-		lastSync = lastSync[0]
-	else:
-		lastSync = Unknown
-	append(Timestamp of tree: %s % (lastSync,))
+	for repo in repos:
+		last_sync = portage.grabfile(os.path.join(repo.location, metadata, timestamp.chk))
+		if last_sync:
+			append(Timestamp of repository %s: %s % (repo.name, last_sync[0]))
 
 	# Searching contents for the /bin/sh provider is somewhat
 	# slow. Therefore, use the basename of the symlink target
@@ -1707,7 +1705,6 @@
 		append(%s %s % \
 			((cp + :).ljust(cp_max_len + 1), versions))
 
-	repos = portdb.settings.repositories
 	append(Repositories:\n)
 	for repo in repos:
 		append(repo.info_string())


signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-portage-dev] [PATCH] emerge --info: Modernize output of configuration of repositories

2014-12-12 Thread Arfrever Frehtes Taifersar Arahesis
[[[
emerge --info: Modernize output of configuration of repositories.

- Always print detailed configuration of repositories.
- Always skip PORTAGE_REPOSITORIES variable.
- Always skip deprecated PORTDIR, PORTDIR_OVERLAY and SYNC variables.
]]]

--
Arfrever Frehtes Taifersar Arahesis
--- pym/_emerge/actions.py
+++ pym/_emerge/actions.py
@@ -1713,13 +1713,9 @@ def action_info(settings, trees, myopts, myfiles):
 			((cp + :).ljust(cp_max_len + 1), versions))
 
 	repos = portdb.settings.repositories
-	if --verbose in myopts:
-		append(Repositories:\n)
-		for repo in repos:
-			append(repo.info_string())
-	else:
-		append(Repositories: %s % \
-			 .join(repo.name for repo in repos))
+	append(Repositories:\n)
+	for repo in repos:
+		append(repo.info_string())
 
 	installed_sets = sorted(s for s in
 		root_config.sets['selected'].getNonAtoms() if s.startswith(SETPREFIX))
@@ -1732,8 +1728,8 @@ def action_info(settings, trees, myopts, myfiles):
 		myvars = list(settings)
 	else:
 		myvars = ['GENTOO_MIRRORS', 'CONFIG_PROTECT', 'CONFIG_PROTECT_MASK',
-		  'PORTDIR', 'DISTDIR', 'PKGDIR', 'PORTAGE_TMPDIR',
-		  'PORTDIR_OVERLAY', 'PORTAGE_BUNZIP2_COMMAND',
+		  'DISTDIR', 'PKGDIR', 'PORTAGE_TMPDIR',
+		  'PORTAGE_BUNZIP2_COMMAND',
 		  'PORTAGE_BZIP2_COMMAND',
 		  'USE', 'CHOST', 'CFLAGS', 'CXXFLAGS',
 		  'ACCEPT_KEYWORDS', 'ACCEPT_LICENSE', 'FEATURES',
@@ -1745,11 +1741,18 @@ def action_info(settings, trees, myopts, myfiles):
 		'PORTAGE_BZIP2_COMMAND' : 'bzip2',
 	}
 
-	myvars = portage.util.unique_array(myvars)
+	skipped_vars = ['PORTAGE_REPOSITORIES']
+	# Deprecated variables
+	skipped_vars.extend(('PORTDIR', 'PORTDIR_OVERLAY', 'SYNC'))
+
+	myvars = set(myvars)
+	myvars.difference_update(skipped_vars)
+	myvars = sorted(myvars)
+
 	use_expand = settings.get('USE_EXPAND', '').split()
 	use_expand.sort()
 	unset_vars = []
-	myvars.sort()
+
 	for k in myvars:
 		v = settings.get(k)
 		if v is not None:


signature.asc
Description: This is a digitally signed message part.


[gentoo-portage-dev] [PATCH] emerge --info: Always print ::repository

2014-12-12 Thread Arfrever Frehtes Taifersar Arahesis
[[[
emerge --info: Always print ::repository.

1 call to deprecated portage.repository.config.RepoConfigLoader.mainRepo() 
function
has been deleted.
]]]

--
Arfrever Frehtes Taifersar Arahesis
--- pym/_emerge/actions.py
+++ pym/_emerge/actions.py
@@ -42,7 +42,7 @@ from portage.const import GLOBAL_CONFIG_PATH, VCS_DIRS, _DEPCLEAN_LIB_CHECK_DEFA
 from portage.const import SUPPORTED_BINPKG_FORMATS, TIMESTAMP_FORMAT
 from portage.dbapi.dep_expand import dep_expand
 from portage.dbapi._expand_new_virt import expand_new_virt
-from portage.dep import Atom
+from portage.dep import Atom, _repo_separator, _slot_separator
 from portage.eclass_cache import hashed_path
 from portage.exception import InvalidAtom, InvalidData, ParseError
 from portage.output import blue, colorize, create_color_func, darkgreen, \
@@ -1668,9 +1668,6 @@ def action_info(settings, trees, myopts, myfiles):
 
 	myvars = sorted(set(atoms))
 
-	main_repo = portdb.repositories.mainRepo()
-	if main_repo is not None:
-		main_repo = main_repo.name
 	cp_map = {}
 	cp_max_len = 0
 
@@ -1692,12 +1689,10 @@ def action_info(settings, trees, myopts, myfiles):
 if len(matched_cp)  cp_max_len:
 	cp_max_len = len(matched_cp)
 repo = vardb.aux_get(cpv, [repository])[0]
-if repo == main_repo:
-	repo_suffix = 
-elif not repo:
-	repo_suffix = ::unknown repository
+if repo:
+	repo_suffix = _repo_separator + repo
 else:
-	repo_suffix = :: + repo
+	repo_suffix = _repo_separator + unknown repository
 
 if matched_cp == orig_atom.cp:
 	provide_suffix = 
@@ -1826,13 +1821,13 @@ def action_info(settings, trees, myopts, myfiles):
 
 			if pkg_type == installed:
 append(\n%s was built with the following: % \
-	colorize(INFORM, str(pkg.cpv)))
+	colorize(INFORM, str(pkg.cpv + _repo_separator + pkg.repo)))
 			elif pkg_type == ebuild:
-append(\n%s would be build with the following: % \
-	colorize(INFORM, str(pkg.cpv)))
+append(\n%s would be built with the following: % \
+	colorize(INFORM, str(pkg.cpv + _repo_separator + pkg.repo)))
 			elif pkg_type == binary:
 append(\n%s (non-installed binary) was built with the following: % \
-	colorize(INFORM, str(pkg.cpv)))
+	colorize(INFORM, str(pkg.cpv + _repo_separator + pkg.repo)))
 
 			append('%s' % pkg_use_display(pkg, myopts))
 			if pkg_type == installed:
@@ -2015,10 +2010,10 @@ def action_uninstall(settings, trees, ldpath_mtimes,
 		atom = = + atom + - + \
 			portage.versions.cpv_getversion(cpv)
 	if ext_atom.slot:
-		atom += : + ext_atom.slot
+		atom += _slot_separator + ext_atom.slot
 		require_metadata = True
 	if ext_atom.repo:
-		atom += :: + ext_atom.repo
+		atom += _repo_separator + ext_atom.repo
 		require_metadata = True
 
 	atom = Atom(atom, allow_repo=True)


signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-portage-dev] [PATCH] Almost always print ::repository

2014-12-10 Thread Arfrever Frehtes Taifersar Arahesis
[[[
Almost always print ::repository in list of packages for installation.

--verbose-main-repo-display option is no longer supported.
3 calls to deprecated portage.repository.config.RepoConfigLoader.mainRepo() 
function
have been deleted.
]]]

--
Arfrever Frehtes Taifersar Arahesis
--- man/emerge.1
+++ man/emerge.1
@@ -897,9 +897,6 @@
 Make slot conflicts more verbose. Note that this may in some cases output
 hundreds of packages for slot conflicts.
 .TP
-.BR \-\-verbose\-main\-repo\-display
-In the package merge list display, print ::repository even for main repository.
-.TP
 .BR \-\-verbose\-slot\-rebuilds [ y | n ]
 Turns on/off the extra emerge output to list which packages are causing rebuilds.
 The default is set to y (on).
--- pym/_emerge/depgraph.py
+++ pym/_emerge/depgraph.py
@@ -4293,14 +4293,9 @@
 		child = None
 		all_parents = self._dynamic_config._parent_atoms
 		graph = self._dynamic_config.digraph
-		verbose_main_repo_display = --verbose-main-repo-display in \
-			self._frozen_config.myopts
 
 		def format_pkg(pkg):
-			pkg_name = %s % (pkg.cpv,)
-			if verbose_main_repo_display or pkg.repo != \
-pkg.root_config.settings.repositories.mainRepo().name:
-pkg_name += _repo_separator + pkg.repo
+			pkg_name = %s%s%s % (pkg.cpv, _repo_separator, pkg.repo)
 			return pkg_name
 
 		if target_atom is not None and isinstance(node, Package):
--- pym/_emerge/main.py
+++ pym/_emerge/main.py
@@ -50,7 +50,6 @@
 --tree,
 --unordered-display,
 --update,
---verbose-main-repo-display,
 ]
 
 shortmapping={
--- pym/_emerge/resolver/output.py
+++ pym/_emerge/resolver/output.py
@@ -387,9 +387,7 @@
 		if old_pkg.slot != old_pkg.sub_slot or \
 			old_pkg.slot == pkg.slot and old_pkg.sub_slot != pkg.sub_slot:
 			key += / + old_pkg.sub_slot
-	if not self.quiet_repo_display and (self.verbose_main_repo_display or
-		self.portdb.repositories.mainRepo() is None or
-		any(x.repo != self.portdb.repositories.mainRepo().name for x in myoldbest + [pkg])):
+	if not self.quiet_repo_display:
 		key += _repo_separator + old_pkg.repo
 versions.append(key)
 			myoldbest_str = blue([+, .join(versions)+])
@@ -422,9 +420,7 @@
 		@param pkg_info: dictionary
 		@rtype string
 		
-		if not self.quiet_repo_display and (self.verbose_main_repo_display or
-			self.portdb.repositories.mainRepo() is None or
-			any(x.repo != self.portdb.repositories.mainRepo().name for x in pkg_info.oldbest_list + [pkg])):
+		if not self.quiet_repo_display:
 			pkg_str += _repo_separator + pkg.repo
 		return pkg_str
 
@@ -819,7 +815,6 @@
 			# and disable the entire repo display in this case.
 			repoadd_set = set()
 
-		self.verbose_main_repo_display = --verbose-main-repo-display in depgraph._frozen_config.myopts
 		self.restrict_fetch_list = {}
 
 		for mylist_index in range(len(mylist)):


signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-portage-dev] [PATCH] emerge --info: Modernize output of configuration of repositories

2014-12-09 Thread Arfrever Frehtes Taifersar Arahesis
2014-12-09 09:50 Alexander Berntsen napisał(a):
 On 08/12/14 20:04, Arfrever Frehtes Taifersar Arahesis wrote:
  +   for skipped_var in skipped_vars: +  try: +
  myvars.remove(skipped_var) +except ValueError: +
  pass +
 wat

It is deleting elements from a list.

 mylist = [ab, cd, ef]
 mylist
['ab', 'cd', 'ef']
 mylist.remove(cd)
 mylist
['ab', 'ef']
 mylist.remove(cd)
Traceback (most recent call last):
  File stdin, line 1, in module
ValueError: list.remove(x): x not in list


--
Arfrever Frehtes Taifersar Arahesis


signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-portage-dev] [PATCH] Almost always print ::repository

2014-12-09 Thread Arfrever Frehtes Taifersar Arahesis
2014-12-09 09:30 Alexander Berntsen napisał(a):
 As for the patch itself: I like the idea, but where is this requested?

It is part of work for deleting any remaining uses of deprecated PORTDIR, 
PORTDIR_OVERLAY and SYNC variables,
mainRepo() and mainRepoLocation() functions, main-repo attribute.

 Also, I would prefer to remove the old option entirely.

OK.

--
Arfrever Frehtes Taifersar Arahesis


signature.asc
Description: This is a digitally signed message part.


[gentoo-portage-dev] [PATCH] emerge --info: Modernize output of configuration of repositories

2014-12-08 Thread Arfrever Frehtes Taifersar Arahesis
[[[
emerge --info: Modernize output of configuration of repositories.

- Always print detailed configuration of repositories.
- Always skip PORTAGE_REPOSITORIES variable.
- Always skip deprecated PORTDIR, PORTDIR_OVERLAY and SYNC variables.
]]]

--
Arfrever Frehtes Taifersar Arahesis
--- pym/_emerge/actions.py
+++ pym/_emerge/actions.py
@@ -1707,13 +1707,9 @@
 			((cp + :).ljust(cp_max_len + 1), versions))
 
 	repos = portdb.settings.repositories
-	if --verbose in myopts:
-		append(Repositories:\n)
-		for repo in repos:
-			append(repo.info_string())
-	else:
-		append(Repositories: %s % \
-			 .join(repo.name for repo in repos))
+	append(Repositories:\n)
+	for repo in repos:
+		append(repo.info_string())
 
 	installed_sets = sorted(s for s in
 		root_config.sets['selected'].getNonAtoms() if s.startswith(SETPREFIX))
@@ -1726,8 +1722,8 @@
 		myvars = list(settings)
 	else:
 		myvars = ['GENTOO_MIRRORS', 'CONFIG_PROTECT', 'CONFIG_PROTECT_MASK',
-		  'PORTDIR', 'DISTDIR', 'PKGDIR', 'PORTAGE_TMPDIR',
-		  'PORTDIR_OVERLAY', 'PORTAGE_BUNZIP2_COMMAND',
+		  'DISTDIR', 'PKGDIR', 'PORTAGE_TMPDIR',
+		  'PORTAGE_BUNZIP2_COMMAND',
 		  'PORTAGE_BZIP2_COMMAND',
 		  'USE', 'CHOST', 'CFLAGS', 'CXXFLAGS',
 		  'ACCEPT_KEYWORDS', 'ACCEPT_LICENSE', 'FEATURES',
@@ -1735,6 +1731,16 @@
 
 		myvars.extend(portage.util.grabfile(settings[PORTDIR]+/profiles/info_vars))
 
+	skipped_vars = ['PORTAGE_REPOSITORIES', '_']
+	# Deprecated variables
+	skipped_vars.extend(('PORTDIR', 'PORTDIR_OVERLAY', 'SYNC'))
+
+	for skipped_var in skipped_vars:
+		try:
+			myvars.remove(skipped_var)
+		except ValueError:
+			pass
+
 	myvars_ignore_defaults = {
 		'PORTAGE_BZIP2_COMMAND' : 'bzip2',
 	}


signature.asc
Description: This is a digitally signed message part.


[gentoo-portage-dev] [PATCH] Sort PORTAGE_ARCHLIST

2014-12-08 Thread Arfrever Frehtes Taifersar Arahesis
Currently PORTAGE_ARCHLIST has random value:
$ bin/portageq envvar PORTAGE_ARCHLIST
x64-macos x86-linux amd64-fbsd ppc x86 x86-macos x86-winnt hppa alpha 
sparc64-solaris x86-freebsd ppc-openbsd x86-solaris s390 m68k mips ppc64-linux 
ia64-linux x64-openbsd amd64-linux x86-cygwin amd64 sparc64-freebsd ppc64 
ia64-hpux sparc-solaris ia64 ppc-macos x86-interix x86-openbsd arm arm64 
hppa-hpux arm-linux sparc x64-solaris m68k-mint sh x86-netbsd sparc-fbsd 
ppc-aix x86-fbsd x64-freebsd
$ bin/portageq envvar PORTAGE_ARCHLIST
arm-linux sparc64-solaris x86-openbsd ppc64-linux ppc-macos x64-macos 
sparc-solaris ppc mips hppa-hpux ppc-aix x86-linux sparc x86-macos x86 
ia64-hpux x86-fbsd arm64 x64-freebsd ppc64 amd64 x86-winnt alpha x86-freebsd sh 
x86-solaris sparc64-freebsd m68k amd64-fbsd s390 x64-openbsd ia64 x86-netbsd 
amd64-linux ppc-openbsd arm x86-interix ia64-linux x64-solaris sparc-fbsd hppa 
m68k-mint x86-cygwin
$ bin/portageq envvar PORTAGE_ARCHLIST
x86-netbsd x86-solaris x86-winnt x64-solaris amd64 x86-fbsd x86-interix 
m68k-mint x64-macos arm64 hppa x86-freebsd amd64-fbsd m68k x86-openbsd ppc 
sparc x64-freebsd ppc-aix ia64 x86 sparc-solaris x86-macos arm ppc-openbsd 
alpha sh mips ppc64 sparc64-solaris sparc-fbsd ppc64-linux ia64-linux 
sparc64-freebsd arm-linux hppa-hpux amd64-linux s390 x64-openbsd ia64-hpux 
x86-linux x86-cygwin ppc-macos
$ bin/portageq envvar PORTAGE_ARCHLIST
sparc64-solaris arm-linux x86-openbsd x86-macos ia64-linux x86-fbsd ppc64-linux 
hppa amd64 x64-macos ia64-hpux hppa-hpux ia64 sparc-solaris sparc-fbsd 
amd64-fbsd alpha mips x86-cygwin x86-interix ppc64 amd64-linux x86-freebsd m68k 
s390 ppc-openbsd x64-freebsd ppc-macos sparc64-freebsd arm ppc-aix x86-netbsd 
x86-solaris x64-openbsd x86-winnt sparc x86-linux m68k-mint x64-solaris sh x86 
ppc arm64

I suggest to make it predictable.

[[[
Sort PORTAGE_ARCHLIST.
]]]

--
Arfrever Frehtes Taifersar Arahesis
--- pym/portage/package/ebuild/config.py
+++ pym/portage/package/ebuild/config.py
@@ -779,7 +779,7 @@
 
 			archlist = [grabfile(os.path.join(x, arch.list)) \
 for x in locations_manager.profile_and_user_locations]
-			archlist = stack_lists(archlist, incremental=1)
+			archlist = sorted(stack_lists(archlist, incremental=1))
 			self.configdict[conf][PORTAGE_ARCHLIST] =  .join(archlist)
 
 			pkgprovidedlines = [grabfile(


signature.asc
Description: This is a digitally signed message part.


[gentoo-portage-dev] Support for per-repository per-attribute environmental variables

2014-12-08 Thread Arfrever Frehtes Taifersar Arahesis
I suggest to add support for per-repository per-attribute environmental 
variables in Portage.
These variables would be used when PORTAGE_REPOSITORIES is not set.

Example of setting of them by user and detection of them by Portage:

$ env \
 PORTAGE_REPOSITORY:gentoo:location=/var/db/repositories/gentoo-cvs \
 PORTAGE_REPOSITORY:gentoo:sync-type=cvs \
 PORTAGE_REPOSITORY:gentoo:sync-uri=:pserver:anonym...@anoncvs.gentoo.org:/var/cvsroot
  \
 python -c 'import os, pprint; pprint.pprint([x for x in os.environ.items() if 
 x[0].startswith(PORTAGE_REPOSITORY:)])'
[('PORTAGE_REPOSITORY:gentoo:sync-type', 'cvs'),
 ('PORTAGE_REPOSITORY:gentoo:location', '/var/db/repositories/gentoo-cvs'),
 ('PORTAGE_REPOSITORY:gentoo:sync-uri',
  ':pserver:anonym...@anoncvs.gentoo.org:/var/cvsroot')]

A separator between components of names of these variables cannot be any 
character valid in names of repositories.

--
Arfrever Frehtes Taifersar Arahesis


signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-portage-dev] [PATCH] sync: allow overriding sync-user for the repository

2014-12-07 Thread Arfrever Frehtes Taifersar Arahesis
I would suggest to have a separate sync-group attribute and to support only 
user in sync-user attribute.


signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-portage-dev] [PATCH] Apply 'nonfatal' to helpers only

2014-08-18 Thread Arfrever Frehtes Taifersar Arahesis
2014-08-18 11:02 Michał Górny napisał(a):
 Make 'nonfatal' modifier affect helpers only rather than disabling 'die'
 completely. This improves the PMS conformance.

It is better to leave current code, until there is replacement functionality.

--
Arfrever Frehtes Taifersar Arahesis


signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-portage-dev] Helping out

2014-01-07 Thread Arfrever Frehtes Taifersar Arahesis
2014-01-06 21:46 Jesus Rivero (Neurogeek) napisał(a):
 Let me know what do you need from me.

You can help in porting various functions to not use deprecated objects.
Examples:
  PORTDIR   (when used as internal config variable)
  PORTDIR_OVERLAY   (when used as internal config variable)
  mainRepo  (outside pym/portage/repository/config.py)
  mainRepoLocation  (outside pym/portage/repository/config.py)
  porttree_root

--
Arfrever Frehtes Taifersar Arahesis


signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-portage-dev] [PATCH] make.conf.5: Document PYTHON_TARGETS, bug #493180

2013-12-03 Thread Arfrever Frehtes Taifersar Arahesis
Portage's documentation is inappropriate place for this.
Please do not commit this patch.

--
Arfrever Frehtes Taifersar Arahesis


signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-portage-dev] [PATCH] Further document repos.conf

2013-12-02 Thread Arfrever Frehtes Taifersar Arahesis
2013-12-02 01:28 Alexander Berntsen napisał(a):
 Another trivial one. Fixes bug #491426.

Wrong section (/etc/portage/make.profile/ or /etc/make.profile/ instead of 
/etc/portage/). I will fix it.

When changing a manual, please remember to update date in first line in manual.

--
Arfrever Frehtes Taifersar Arahesis


signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-portage-dev] [PATCH] xattr: centralize the various shims in one place

2013-10-22 Thread Arfrever Frehtes Taifersar Arahesis
2013-10-21 05:00 Mike Frysinger napisał(a):
 On Wednesday 16 October 2013 23:42:26 Arfrever Frehtes Taifersar wrote:
  - cStringIO module should not be used. io module is a replacement available
  since Python 2.6.
 
 unfortunately, that doesn't work as well as it should.  python 2.7's 
 interface 
 is annoyingly different when using other python 2.7 modules.  i'll have the 
 code import the old module and then fallback to using the new io module.

(io.StringIO works only with unicode strings.
When bytes-compatible functions are really needed, then io.BytesIO can be used, 
which works only with bytes.
cStringIO.StringIO is designed to work with bytes, but 
cStringIO.StringIO().write(instance_of_unicode)
implicitly encodes its argument to bytes.)

In your another patch, 
portage.tests.bin.test_prepstrip.PrepStripFull._prepstrip() passes an instance 
of
cStringIO.StringIO class to portage.bin.prepstrip.main(), which passes it to 
portage.bin.prepstrip.Prepstrip(),
which passes it to print(), portage.elog.messages.eqawarn() and 
portage.elog.messages.ewarn().

pym/portage/bin/prepstrip.py should have:
from __future__ import unicode_literals

Then print('...', file=out) calls will work with an instance of io.StringIO 
class.

(portage.elog.messages.eqawarn() and portage.elog.messages.ewarn() internally 
decode message,
so they already work with out=io.StringIO, but not out=io.BytesIO.)

--
Arfrever Frehtes Taifersar Arahesis


signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-portage-dev] [PATCH v2] xattr: centralize the various shims in one place

2013-10-22 Thread Arfrever Frehtes Taifersar Arahesis
:
 - if exclude is not None and isinstance(attrs[0], 
 bytes):
 - exclude = 
 exclude.encode(_encodings['fs'])
 - exclude = _get_xattr_excluder(exclude)
 + if attrs:
 + if exclude is not None and isinstance(attrs[0], bytes):
 + exclude = exclude.encode(_encodings['fs'])
 + exclude = _get_xattr_excluder(exclude)
  
 - for attr in attrs:
 - if exclude(attr):
 - continue
 - try:
 - xattr.set(dest, attr, xattr.get(src, 
 attr))
 - raise_exception = False
 - except IOError:
 - raise_exception = True
 - if raise_exception:
 - raise 
 OperationNotSupported(_(Filesystem containing file '%s' 
 - does not support extended 
 attribute '%s') %
 - (_unicode_decode(dest), 
 _unicode_decode(attr)))
 - else:
 + for attr in attrs:
 + if exclude(attr):
 + continue
   try:
 - with open(_os.devnull, 'wb') as f:
 - subprocess.call([getfattr, --version], 
 stdout=f)
 - subprocess.call([setfattr, --version], 
 stdout=f)
 - except OSError:
 - def _copyxattr(src, dest, exclude=None):
 - # TODO: implement exclude
 - getfattr_process = 
 subprocess.Popen([getfattr, -d, --absolute-names, src], 
 stdout=subprocess.PIPE)
 - getfattr_process.wait()
 - extended_attributes = 
 getfattr_process.stdout.readlines()
 - getfattr_process.stdout.close()
 - if extended_attributes:
 - extended_attributes[0] = b# file:  + 
 _unicode_encode(dest) + b\n
 - setfattr_process = 
 subprocess.Popen([setfattr, --restore=-], stdin=subprocess.PIPE, 
 stderr=subprocess.PIPE)
 - 
 setfattr_process.communicate(input=b.join(extended_attributes))
 - if setfattr_process.returncode != 0:
 - raise 
 OperationNotSupported(Filesystem containing file '%s' does not support 
 extended attributes % dest)
 - else:
 - def _copyxattr(src, dest, exclude=None):
 - pass
 + xattr.set(dest, attr, xattr.get(src, attr))
 + raise_exception = False
 + except (OSError, IOError):
 + raise_exception = True
 + if raise_exception:
 + raise OperationNotSupported(_(Filesystem containing 
 file '%s' 
 + does not support extended attribute '%s') %
 + (_unicode_decode(dest), _unicode_decode(attr)))
  
  def movefile(src, dest, newmtime=None, sstat=None, mysettings=None,
   hardlink_candidates=None, encoding=_encodings['fs']):
 

--
Arfrever Frehtes Taifersar Arahesis


signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-portage-dev] [PATCH] xattr: centralize the various shims in one place

2013-10-16 Thread Arfrever Frehtes Taifersar Arahesis
 - if raise_exception:
 - raise OperationNotSupported(_(Filesystem 
 containing file '%s' 
 - does not support extended attribute 
 '%s') %
 - (_unicode_decode(dest), 
 _unicode_decode(attr)))
 -else:
 +def _copyxattr(src, dest, exclude=None):
 + Copy the extended attributes from |src| to |dest|
   try:
 - import xattr
 - except ImportError:
 - xattr = None
 - if xattr is not None:
 - def _copyxattr(src, dest, exclude=None):
 -
 - try:
 - attrs = xattr.list(src)
 - except IOError as e:
 - if e.errno != OperationNotSupported.errno:
 - raise
 - attrs = ()
 + attrs = xattr.list(src)
 + except (OSError, IOError) as e:
 + if e.errno != OperationNotSupported.errno:
 + raise
 + attrs = ()
  
 - if attrs:
 - if exclude is not None and isinstance(attrs[0], 
 bytes):
 - exclude = 
 exclude.encode(_encodings['fs'])
 - exclude = _get_xattr_excluder(exclude)
 + if attrs:
 + if exclude is not None and isinstance(attrs[0], bytes):
 + exclude = exclude.encode(_encodings['fs'])
 + exclude = _get_xattr_excluder(exclude)
  
 - for attr in attrs:
 - if exclude(attr):
 - continue
 - try:
 - xattr.set(dest, attr, xattr.get(src, 
 attr))
 - raise_exception = False
 - except IOError:
 - raise_exception = True
 - if raise_exception:
 - raise 
 OperationNotSupported(_(Filesystem containing file '%s' 
 - does not support extended 
 attribute '%s') %
 - (_unicode_decode(dest), 
 _unicode_decode(attr)))
 - else:
 + for attr in attrs:
 + if exclude(attr):
 + continue
   try:
 - with open(os.devnull, 'wb') as f:
 - subprocess.call([getfattr, --version], 
 stdout=f)
 - subprocess.call([setfattr, --version], 
 stdout=f)
 - except OSError:
 - def _copyxattr(src, dest, exclude=None):
 - # TODO: implement exclude
 - getfattr_process = 
 subprocess.Popen([getfattr, -d, --absolute-names, src], 
 stdout=subprocess.PIPE)
 - getfattr_process.wait()
 - extended_attributes = 
 getfattr_process.stdout.readlines()
 - getfattr_process.stdout.close()
 - if extended_attributes:
 - extended_attributes[0] = b# file:  + 
 _unicode_encode(dest) + b\n
 - setfattr_process = 
 subprocess.Popen([setfattr, --restore=-], stdin=subprocess.PIPE, 
 stderr=subprocess.PIPE)
 - 
 setfattr_process.communicate(input=b.join(extended_attributes))
 - if setfattr_process.returncode != 0:
 - raise 
 OperationNotSupported(Filesystem containing file '%s' does not support 
 extended attributes % dest)
 - else:
 - def _copyxattr(src, dest, exclude=None):
 - pass
 + xattr.set(dest, attr, xattr.get(src, attr))
 + raise_exception = False
 + except (OSError, IOError) as e:

Unused variable e

 + raise_exception = True
 + if raise_exception:
 + raise OperationNotSupported(_(Filesystem containing 
 file '%s' 
 + does not support extended attribute '%s') %
 + (_unicode_decode(dest), _unicode_decode(attr)))
  
  def movefile(src, dest, newmtime=None, sstat=None, mysettings=None,
   hardlink_candidates=None, encoding=_encodings['fs']):
 

--
Arfrever Frehtes Taifersar Arahesis


signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-portage-dev] [PATCH] xattr: centralize the various shims in one place

2013-10-16 Thread Arfrever Frehtes Taifersar Arahesis
2013-10-17 04:53 Mike Frysinger napisał(a):
 On Wednesday 16 October 2013 22:51:17 Mike Frysinger wrote:
  On Wednesday 16 October 2013 20:02:50 Arfrever Frehtes Taifersar Arahesis
  
  wrote:
   2013-10-16 23:03 Mike Frysinger napisał(a):
Rather than each module implementing its own shim around the various
methods for accessing extended attributes, start a dedicated module
that exports a consistent API.
   
   Some things are incompatible with Python 3.
   See other comments below.
  
  i can run a linter on the code (probably should make this a git hook).  i'm
  interested more in review on the bigger picture.
 
 also, none of your comments were py3 issues that i saw

I said other comments, so I meant comments not related to incompatibility 
with Python 3.

About incompatibility with Python 3:
- subprocess.check_output(), subprocess.Popen().stdout.read(), 
subprocess.Popen().stderr.read() return
  bytes, which is incorrectly compared with str in your patches.
- dict.iteritems() was renamed to dict.items() (and its return type was changed 
from dictionary-itemiterator
  to dict_items, but it does not matter here).
- Queue module was renamed to queue.
- cStringIO module should not be used. io module is a replacement available 
since Python 2.6.
- Maybe other problems...

--
Arfrever Frehtes Taifersar Arahesis


signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-portage-dev] A way to prevent useless rebuild?

2013-01-20 Thread Arfrever Frehtes Taifersar Arahesis
2013-01-20 13:22:42 Pacho Ramos napisał(a):
 I noticed go USE flag was masked on gcc:4.6, the problem is that I
 just compiled it a week ago with USE=-go... then, I would like to know
 if there is a way to prevent it from being rebuild again :| (It will
 take some time in my currently running system but on other machines I
 maintain it will take hours)

sed -e s/\(^\| \)go\($\| \)/\1\2/;s/^ //;s/  / /g;s/ $// -i 
/var/db/pkg/sys-devel/gcc-4.6.3/IUSE
touch /var/db/pkg/sys-devel/gcc-4.6.3
touch /var/db/pkg/sys-devel
touch /var/db/pkg

-- 
Arfrever Frehtes Taifersar Arahesis


signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-portage-dev] [PATCH] Repoman subversion support

2008-07-24 Thread Arfrever Frehtes Taifersar Arahesis
2008-07-24 12:19:18 Fabian Groffen napisał(a):
 On 14-05-2008 17:56:38 +0200, Fabian Groffen wrote:
  On 14-05-2008 16:27:28 +0200, Arfrever Frehtes Taifersar Arahesis wrote:
   2008-05-14 00:32 Marius Mauch [EMAIL PROTECTED] napisał(a):
Merged in r10325 with some minor changes (removed the 'svn update' bit
until someone remembers why exactly it's there
   
   During committing, only files, which are being committed, are being
   updated, so `svn up` is certainly a good idea. Please add it.
  
  Details here are that the code did this:
  
  if vcs == cvs:
  myf=open(checkdir+/CVS/Entries,r)
  if vcs == svn:
  myf=os.popen(svn update  /dev/null; svn list)
  
  genone's remark here refers to this `svn update`, of which I don't
  recall any more why I added it.  All I know is that I think I needed it
  for some reason to get a correct output of list.  However, I have no
  proof here, so he removed the svn update, which gives a non-announced
  possible modification of the local repository.
 
 I've seen numerous examples like bug 232825[1] now, and I'm almost
 confident the svn update resolved that problem.  Problem is that the
 file (a .rej in the case of the bug) exists in the local dir, but
 repoman doesn't notice it, since svn list doesn't return it (as '?').

`svn list` returns only files which actually exist in the repository. It
doesn't check working copy. You should use `svn st`.

-- 
Arfrever Frehtes Taifersar Arahesis


signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-portage-dev] FEATURE=preserved-libs issues

2008-07-07 Thread Arfrever Frehtes Taifersar Arahesis
2008-07-07 17:36:12 Paul Varner napisał(a):
 2. Upgrade to www-client/mozilla-firefox to version 3
 
 After upgrading, perserved-libs kept a couple of the older libraries
 around and wanted to remerge firefox.  emerge @preserved-libs did not
 get rid of the libraries and firefox would not run.

It might be an instance of Bug #220953.

 Is there a portage API function that I can use to tell it to remove the
 preserved-libs?

You can use:
rm -f $(portageq list_preserved_libs / | sed -e s/^.* //)

-- 
Arfrever Frehtes Taifersar Arahesis


signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-portage-dev] [PATCH] Repoman subversion support

2008-05-14 Thread Arfrever Frehtes Taifersar Arahesis
2008-05-14 00:32 Marius Mauch [EMAIL PROTECTED] napisał(a):
 Merged in r10325 with some minor changes (removed the 'svn update' bit
 until someone remembers why exactly it's there

During committing, only files, which are being committed, are being
updated, so `svn up` is certainly a good idea. Please add it.


Re: [gentoo-portage-dev] localization.py

2007-10-21 Thread Arfrever Frehtes Taifersar Arahesis
2007-10-21 22:49:10 Marius Mauch napisał(a):
 On Sun, 21 Oct 2007 12:23:59 -0700
 Zac Medico [EMAIL PROTECTED] wrote:
 
  -BEGIN PGP SIGNED MESSAGE-
  Hash: SHA1
  
  Arfrever Frehtes Taifersar Arahesis wrote:
   Hello,
   
   Does localization.py exist for a reason?
   
  
  Over the years we've had a few people express a desire for
  internationalization and localization support in portage (bugs
  #13618, #32630, and #191189 and possible others).
  
  It seems like a nice idea to me, but I recall Marius being opposed
  to the idea due to some potential problems that he was concerned
  about. Unfortunately I don't have a link to the previous discussion
  but maybe somebody else does.
 
 Probably not the one you meant, but you can find a related
 discussion on the forums:
 http://forums.gentoo.org/viewtopic-t-500209.html

It seems that you just don't like German translation, so you could set
LC_ALL=C in make.conf.

Is there anything wrong in my patch?

-- 
Arfrever Frehtes Taifersar Arahesis


signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-portage-dev] localization.py

2007-10-19 Thread Arfrever Frehtes Taifersar Arahesis
2007-10-19 17:41:06 Andrew Gaffney napisał(a):
 Arfrever Frehtes Taifersar Arahesis wrote:
  Does localization.py exist for a reason?

 I don't see a localization.py.

So you have old Portage.

 There is a portage_localization.py, and it's used
 by portage.py and portage_locks.py.

But it could be used by almost all Portage Python modules.

My question is still current.

--
Arfrever Frehtes Taifersar Arahesis


signature.asc
Description: This is a digitally signed message part.


[gentoo-portage-dev] localization.py

2007-10-19 Thread Arfrever Frehtes Taifersar Arahesis
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Hello,

Does localization.py exist for a reason?

- -- 
Arfrever Frehtes Taifersar Arahesis
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.7 (GNU/Linux)

iD8DBQFHGM16/axNJ4Xo/ZERAsSGAJ9zzIxphOxnQW/g8LbTrXee5dE4gQCePrbA
/zCemc3wwkb/fPvU76Hh+oo=
=YD/c
-END PGP SIGNATURE-
-- 
[EMAIL PROTECTED] mailing list



[gentoo-portage-dev] portage.exception.OperationNotPermitted: chown('/var/lib/gentoo/news/news-gentoo.skip', 0, 250)

2007-10-19 Thread Arfrever Frehtes Taifersar Arahesis
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

$ emerge -p portage

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild   R   ] sys-apps/portage-
Traceback (most recent call last):
  File /usr/bin/emerge, line 18, in module
retval = _emerge.emerge_main()
  File /usr/lib/portage/pym/_emerge/__init__.py, line 6783, in emerge_main
display_news_notification(trees)
  File /usr/lib/portage/pym/_emerge/__init__.py, line 4613, in 
display_news_notification
portdb, vardb, NEWS_PATH, UNREAD_PATH, repo)
  File /usr/lib/portage/pym/_emerge/__init__.py, line 4781, in 
checkUpdatedNewsItems
return manager.getUnreadItems( repo_id, update=True )
  File /usr/lib/portage/pym/portage/news.py, line 115, in getUnreadItems
self.updateItems(repoid)
  File /usr/lib/portage/pym/portage/news.py, line 104, in updateItems
uid=int(self.config[PORTAGE_INST_UID]), gid=portage_gid, mode=0664)
  File /usr/lib/portage/pym/portage/util.py, line 594, in apply_permissions
raise OperationNotPermitted(func_call)
portage.exception.OperationNotPermitted: 
chown('/var/lib/gentoo/news/news-gentoo.skip', 0, 250)
$ 

It has happened since r8148.
This bug isn't reproducible when `emerge` is invoked by root.

- -- 
Arfrever Frehtes Taifersar Arahesis
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.7 (GNU/Linux)

iD8DBQFHGMu//axNJ4Xo/ZERAldCAJ9RtPHWKs79dtPjiKplD8/yWOBsngCdHEMd
fkxdTcnvMhVRfjmdhDyu8XU=
=+CgJ
-END PGP SIGNATURE-
-- 
[EMAIL PROTECTED] mailing list



[gentoo-portage-dev] License filtering and packages sets

2007-07-30 Thread Arfrever Frehtes Taifersar Arahesis
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Hi list,
I would like to know what is the status of license filtering and packages sets 
in trunk version of Portage. Documentation is very poor in these cases and I 
hope that I'm not disturbing you.

I heard that license filtering implementation is finished, so I tried to use 
ACCEPT_LICENSE, but I didn't get succesful results.
If it is possible, I would like that somebody explained how can license 
filtering and packages sets be used.

- -- 
Arfrever Frehtes Taifersar Arahesis
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.5 (GNU/Linux)

iD8DBQFGrlKC/axNJ4Xo/ZERAlMSAKCzyz9/Xtv3bYAdm8I2/tm4yvQFEACffakv
Kli1R2IxcfZ8al1KYWCfuvU=
=sR0g
-END PGP SIGNATURE-
-- 
[EMAIL PROTECTED] mailing list



Re: [gentoo-portage-dev] License filtering and packages sets

2007-07-30 Thread Arfrever Frehtes Taifersar Arahesis
2007-07-30 23:39:14 Zac Medico napisał(a):
 Arfrever Frehtes Taifersar Arahesis wrote:
  Hi list,
  I would like to know what is the status of license filtering and packages
  sets in trunk version of Portage. Documentation is very poor in these
  cases and I hope that I'm not disturbing you.
 
  I heard that license filtering implementation is finished, so I tried to
  use ACCEPT_LICENSE, but I didn't get succesful results.
  If it is possible, I would like that somebody explained how can license
  filtering and packages sets be used.

 Package sets aren't really useful yet since there is no support for
 them in emerge (other than system and world).

OK.

 The ACCEPT_LICENSE should work.  Simply put whichever licenses you
 want to accept in that variable and packages with licenses other
 than those that you've selected will be masked.  There is some more
 information on bug #152593.

Thanks. Now I see that I was testing ACCEPT_LICENSE= which as I now know 
disables filtering.

-- 
Arfrever Frehtes Taifersar Arahesis
--
[EMAIL PROTECTED] mailing list