public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Fabian Groffen" <grobian@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] proj/portage:prefix commit in: /
Date: Sun, 23 Dec 2018 11:14:02 +0000 (UTC)	[thread overview]
Message-ID: <1545563578.6d68e3cef901f3322a80525b472fb04d1304de5a.grobian@gentoo> (raw)

commit:     6d68e3cef901f3322a80525b472fb04d1304de5a
Author:     Fabian Groffen <grobian <AT> gentoo <DOT> org>
AuthorDate: Sun Dec 23 11:12:58 2018 +0000
Commit:     Fabian Groffen <grobian <AT> gentoo <DOT> org>
CommitDate: Sun Dec 23 11:12:58 2018 +0000
URL:        https://gitweb.gentoo.org/proj/portage.git/commit/?id=6d68e3ce

Merge remote-tracking branch 'overlays-gentoo-org/master' into prefix

This also removes DEFAULT_PATH as part of merging daeb75b.

Bug: https://bugs.gentoo.org/585986
Signed-off-by: Fabian Groffen <grobian <AT> gentoo.org>

 .travis.yml                                        |  1 -
 NEWS                                               |  8 +++-
 bin/ebuild-helpers/portageq                        |  2 +-
 bin/save-ebuild-env.sh                             |  5 ++-
 cnf/make.conf.example                              | 12 +++---
 cnf/make.globals                                   | 15 +++----
 configure.ac                                       |  5 ---
 lib/_emerge/post_emerge.py                         |  2 +-
 lib/portage/dbapi/vartree.py                       |  2 +-
 lib/portage/elog/mod_echo.py                       |  2 +-
 lib/portage/elog/mod_save.py                       |  4 +-
 lib/portage/elog/mod_save_summary.py               |  4 +-
 lib/portage/emaint/modules/logs/__init__.py        |  2 +-
 lib/portage/emaint/modules/logs/logs.py            | 22 +++++------
 .../package/ebuild/_config/special_env_vars.py     |  7 ++--
 lib/portage/package/ebuild/config.py               | 11 ++++++
 lib/portage/package/ebuild/doebuild.py             | 28 ++++++++-----
 lib/portage/package/ebuild/prepare_build_dirs.py   | 26 ++++++------
 lib/portage/tests/emerge/test_simple.py            |  2 +-
 lib/portage/tests/resolver/ResolverPlayground.py   | 34 ++++++++++++++++
 lib/portage/util/ExtractKernelVersion.py           | 17 ++++++--
 man/ebuild.5                                       |  2 +-
 man/emaint.1                                       |  6 +--
 man/emerge.1                                       |  8 ++--
 man/make.conf.5                                    | 46 ++++++++++++----------
 man/portage.5                                      |  2 +-
 subst-install.in                                   |  1 -
 travis.sh                                          |  1 -
 28 files changed, 173 insertions(+), 104 deletions(-)

diff --cc .travis.yml
index 16eaafc43,ab0b8d304..4f94e36a3
--- a/.travis.yml
+++ b/.travis.yml
@@@ -19,21 -19,6 +19,20 @@@ install
  
  script:
      - printf "[build_ext]\nportage-ext-modules=true" >> setup.cfg
 +    - find . -type f -exec
 +          sed -e "s|@PORTAGE_EPREFIX@||"
 +              -e "s|@PORTAGE_BASE@|${PWD}|"
 +              -e "s|@PORTAGE_MV@|$(type -P mv)|"
 +              -e "s|@PORTAGE_BASH@|$(type -P bash)|"
 +              -e "s|@PREFIX_PORTAGE_PYTHON@|$(type -P python)|"
-               -e "s|@DEFAULT_PATH@|/usr/bin:/bin|"
 +              -e "s|@EXTRA_PATH@|/usr/sbin:/sbin|"
 +              -e "s|@portagegroup@|$(id -gn)|"
 +              -e "s|@portageuser@|$(id -un)|"
 +              -e "s|@rootuser@|$(id -un)|"
 +              -e "s|@rootuid@|$(id -u)|"
 +              -e "s|@rootgid@|$(id -g)|"
 +              -e "s|@sysconfdir@|/etc|"
 +              -i '{}' +
      - ./setup.py test
      - ./setup.py install --root=/tmp/install-root
      - if [[ ${TRAVIS_PYTHON_VERSION} == ?.? ]]; then
diff --cc bin/save-ebuild-env.sh
index bb17382d4,947ac79d5..1cfd79f23
mode 100755,100644..100755
--- a/bin/save-ebuild-env.sh
+++ b/bin/save-ebuild-env.sh
@@@ -122,9 -118,6 +122,10 @@@ __save_ebuild_env() 
  	# user config variables
  	unset DOC_SYMLINKS_DIR INSTALL_MASK PKG_INSTALL_MASK
  
- 	# Prefix additions
- 	unset DEFAULT_PATH EXTRA_PATH PORTAGE_GROUP PORTAGE_USER
++	# PREFIX LOCAL: Prefix additions
++	unset EXTRA_PATH PORTAGE_GROUP PORTAGE_USER
++	# END PREFIX LOCAL
 +
  	declare -p
  	declare -fp
  	if [[ ${BASH_VERSINFO[0]} == 3 ]]; then
diff --cc cnf/make.conf.example
index ad290c7e6,ffebd24d4..81b9c0328
--- a/cnf/make.conf.example
+++ b/cnf/make.conf.example
@@@ -128,9 -128,9 +128,9 @@@
  #     up to several hundred megs, or even a few gigs. Note that
  #     locations under /usr/portage are not necessarily safe for data
  #     storage. See the PORTDIR documentation for more information.
 -#PKGDIR=/usr/portage/packages
 +#PKGDIR=@PORTAGE_EPREFIX@/usr/portage/packages
  #
- # PORT_LOGDIR is the location where portage will store all the logs it
+ # PORTAGE_LOGDIR is the location where portage will store all the logs it
  #     creates from each individual merge. They are stored as
  #     ${CATEGORY}:${PF}:YYYYMMDD-HHMMSS.log in the directory specified.
  #     If the directory does not exist, it will be created automatically and
diff --cc cnf/make.globals
index 24a42cba6,5a3015ae2..5013957ea
--- a/cnf/make.globals
+++ b/cnf/make.globals
@@@ -103,35 -101,15 +104,35 @@@ PORTAGE_RSYNC_OPTS="--recursive --link
  PORTAGE_SYNC_STALE="30"
  
  # Executed before emerge exit if FEATURES=clean-logs is enabled.
- PORT_LOGDIR_CLEAN="find \"\${PORT_LOGDIR}\" -type f ! -name \"summary.log*\" -mtime +7 -delete"
+ PORTAGE_LOGDIR_CLEAN="find \"\${PORTAGE_LOGDIR}\" -type f ! -name \"summary.log*\" -mtime +7 -delete"
  
  # Minimal CONFIG_PROTECT
 +# NOTE: in Prefix, these are NOT prefixed on purpose, because the
 +# profiles define them too
  CONFIG_PROTECT="/etc"
  CONFIG_PROTECT_MASK="/etc/env.d"
  
  # Disable auto-use
  USE_ORDER="env:pkg:conf:defaults:pkginternal:features:repo:env.d"
  
++# PREFIX LOCAL: additional vars set during install
 +# Default portage user/group
 +PORTAGE_USER='@portageuser@'
 +PORTAGE_GROUP='@portagegroup@'
 +PORTAGE_ROOT_USER='@rootuser@'
 +
 +# Default ownership of installed files.
 +PORTAGE_INST_UID="@rootuid@"
 +PORTAGE_INST_GID="@rootgid@"
 +
- # Default PATH for ebuild env
- DEFAULT_PATH="@DEFAULT_PATH@"
 +# Any extra PATHs to add to the ebuild environment's PATH (if any)
 +EXTRA_PATH="@EXTRA_PATH@"
 +
 +# The offset prefix this Portage was configured with (not used by
 +# Portage itself)
 +CONFIGURE_EPREFIX="@PORTAGE_EPREFIX@"
++# END PREFIX LOCAL
 +
  # Mode bits for ${WORKDIR} (see ebuild.5).
  PORTAGE_WORKDIR_MODE="0700"
  
diff --cc configure.ac
index 6b8021ec6,000000000..9083824eb
mode 100644,000000..100644
--- a/configure.ac
+++ b/configure.ac
@@@ -1,140 -1,0 +1,135 @@@
 +dnl Process this file with autoconf to produce a configure script.
 +AC_INIT(portage-prefix, @version@, prefix@gentoo.org)
 +
 +AC_PREREQ([2.61])
 +
 +case "${prefix}" in
 +	'') 	AC_MSG_ERROR([bad value ${prefix} for --prefix, must not be empty]) ;;
 +	*/)		AC_MSG_ERROR([bad value ${prefix} for --prefix, must not end with '/']) ;;
 +	/*|NONE) ;;
 +	*) 		AC_MSG_ERROR([bad value ${prefix} for --prefix, must start with /]) ;;
 +esac
 +
 +AC_CANONICAL_BUILD
 +AC_CANONICAL_HOST
 +AC_CANONICAL_TARGET
 +
 +AM_INIT_AUTOMAKE
 +
 +dnl Checks for programs.
 +dnl store cflags prior, otherwise it's not propagated.
 +if test "x$CFLAGS" != "x"
 +then
 +	CFLAGS=$CFLAGS
 +fi
 +
 +AC_PREFIX_DEFAULT([/usr])
 +
 +AC_PROG_CC
 +AC_PROG_INSTALL
 +AC_PROG_LN_S
 +AC_PROG_EGREP
 +
 +GENTOO_PATH_XCU_ID()
 +GENTOO_PATH_PYTHON([2.7])
 +
 +AC_PATH_PROG(PORTAGE_RM, [rm], no)
 +AC_PATH_PROG(PORTAGE_MV, [mv], no)
 +AC_PATH_PROG(PORTAGE_BASENAME, [basename], no)
 +AC_PATH_PROG(PORTAGE_DIRNAME, [dirname], no)
 +dnl avoid bash internal variable messing up things here
 +GENTOO_PATH_GNUPROG(PORTAGE_BASH, [bash])
 +GENTOO_PATH_GNUPROG(PORTAGE_SED, [sed])
 +GENTOO_PATH_GNUPROG(PORTAGE_WGET, [wget])
 +GENTOO_PATH_GNUPROG(PORTAGE_FIND, [find])
 +GENTOO_PATH_GNUPROG(PORTAGE_XARGS, [xargs])
 +GENTOO_PATH_GNUPROG(PORTAGE_GREP, [grep])
 +
 +AC_ARG_WITH(portage-user,
 +AC_HELP_STRING([--with-portage-user=myuser],[use user 'myuser' as portage owner (default portage)]),
 +[case "${withval}" in
 +  ""|yes) AC_MSG_ERROR(bad value ${withval} for --with-portage-user);;
 +  *) portageuser="${withval}";;
 +esac],
 +[portageuser="portage"])
 +
 +AC_ARG_WITH(portage-group,
 +AC_HELP_STRING([--with-portage-group=mygroup],[use group 'mygroup' as portage users group (default portage)]),
 +[case "${withval}" in
 +  ""|yes) AC_MSG_ERROR(bad value ${withval} for --with-portage-group);;
 +  *) portagegroup="${withval}";;
 +esac],
 +[portagegroup="portage"])
 +
 +AC_ARG_WITH(root-user,
 +AC_HELP_STRING([--with-root-user=myuser],[uses 'myuser' as owner of installed files (default is portage-user)]),
 +[case "${withval}" in
 +  ""|yes) AC_MSG_ERROR(bad value ${withval} for --with-root-user);;
 +  *) rootuser="${withval}";;
 +esac],
 +[rootuser="${portageuser}"])
 +
 +AC_MSG_CHECKING([for user id of ${rootuser}])
 +dnl grab uid of rootuser
 +rootuid=`${XCU_ID} -u "${rootuser}"`
 +if test "x`echo ${rootuid} | ${EGREP} '^[[0-9]]+$'`" != "x"
 +then
 +	AC_MSG_RESULT([${rootuid}])
 +else
 +	AC_MSG_ERROR([error finding the user id of ${rootuser}])
 +fi
 +AC_MSG_CHECKING([for group id of ${rootuser}])
 +rootgid=`${XCU_ID} -g "${rootuser}"`
 +if test "x`echo ${rootgid} | ${EGREP} '^[[0-9]]+$'`" != "x"
 +then
 +	AC_MSG_RESULT([${rootgid}])
 +else
 +	AC_MSG_ERROR([error finding the group id of ${rootuser}])
 +fi
 +
 +AC_ARG_WITH(offset-prefix, 
 +AC_HELP_STRING([--with-offset-prefix],
 +			   [specify the installation prefix for all packages, defaults to an empty string]),
 +			   [PORTAGE_EPREFIX=$withval],
 +			   [PORTAGE_EPREFIX=''])
 +
 +if test "x$PORTAGE_EPREFIX" != "x"
 +then
 +	PORTAGE_EPREFIX=`${PREFIX_PORTAGE_PYTHON} -c "import os; print(os.path.normpath('$PORTAGE_EPREFIX'))"`
- 	DEFAULT_PATH="${PORTAGE_EPREFIX}/usr/sbin:${PORTAGE_EPREFIX}/usr/bin:${PORTAGE_EPREFIX}/sbin:${PORTAGE_EPREFIX}/bin"
- else
- 	# this is what trunk uses in ebuild.sh
- 	DEFAULT_PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
 +fi
 +
 +AC_ARG_WITH(extra-path, 
 +AC_HELP_STRING([--with-extra-path], [specify additional PATHs available to the portage build environment (use with care)]),
 +[EXTRA_PATH="$withval"],
 +[EXTRA_PATH=""])
 +
 +AC_SUBST(portageuser)
 +AC_SUBST(portagegroup)
 +AC_SUBST(rootuser)
 +AC_SUBST(rootuid)
 +AC_SUBST(rootgid)
 +AC_SUBST(PORTAGE_EPREFIX)
- AC_SUBST(DEFAULT_PATH)
 +AC_SUBST(EXTRA_PATH)
 +AC_SUBST(PORTAGE_BASE,['${exec_prefix}/lib/portage'])
 +
 +AC_SUBST(PORTAGE_RM)
 +AC_SUBST(PORTAGE_MV)
 +AC_SUBST(PORTAGE_BASENAME)
 +AC_SUBST(PORTAGE_DIRNAME)
 +AC_SUBST(PORTAGE_BASH)
 +AC_SUBST(PORTAGE_SED)
 +AC_SUBST(PORTAGE_WGET)
 +AC_SUBST(PORTAGE_FIND)
 +AC_SUBST(PORTAGE_XARGS)
 +AC_SUBST(PORTAGE_GREP)
 +
 +AC_CONFIG_FILES([subst-install], [chmod +x subst-install])
 +AC_CONFIG_FILES([
 +				 Makefile
 +				 man/Makefile
 +				 bin/Makefile
 +				 lib/Makefile
 +				 cnf/Makefile
 +])
 +
 +AC_OUTPUT
diff --cc lib/portage/package/ebuild/_config/special_env_vars.py
index e2ea8c393,f4f2bec2c..70a9c83c1
--- a/lib/portage/package/ebuild/_config/special_env_vars.py
+++ b/lib/portage/package/ebuild/_config/special_env_vars.py
@@@ -80,8 -80,6 +80,9 @@@ environ_whitelist += 
  	"ROOT", "ROOTPATH", "SYSROOT", "T", "TMP", "TMPDIR",
  	"USE_EXPAND", "USE_ORDER", "WORKDIR",
  	"XARGS", "__PORTAGE_TEST_HARDLINK_LOCKS",
- 	"DEFAULT_PATH", "EXTRA_PATH",
- 	"PORTAGE_GROUP", "PORTAGE_USER",
++	# PREFIX LOCAL
++	"EXTRA_PATH", "PORTAGE_GROUP", "PORTAGE_USER",
++	# END PREFIX LOCAL
  ]
  
  # user config variables
diff --cc lib/portage/package/ebuild/doebuild.py
index 83b1f66a9,47c69967c..77c9c713a
--- a/lib/portage/package/ebuild/doebuild.py
+++ b/lib/portage/package/ebuild/doebuild.py
@@@ -247,11 -243,16 +244,22 @@@ def _doebuild_path(settings, eapi=None)
  	for x in portage_bin_path:
  		path.append(os.path.join(x, "ebuild-helpers"))
  	path.extend(prerootpath)
- 	path.extend(defaultpath)
+ 
+ 	for prefix in prefixes:
+ 		prefix = prefix if prefix else "/"
+ 		for x in ("usr/local/sbin", "usr/local/bin", "usr/sbin", "usr/bin", "sbin", "bin"):
+ 			# Respect order defined in ROOTPATH
+ 			x_abs = os.path.join(prefix, x)
+ 			if x_abs not in rootpath_set:
+ 				path.append(x_abs)
+ 
  	path.extend(rootpath)
++
++	# PREFIX LOCAL: append EXTRA_PATH from make.globals
++	extrapath = [x for x in settings.get("EXTRA_PATH", "").split(":") if x]
 +	path.extend(extrapath)
 +	# END PREFIX LOCAL
 +
  	settings["PATH"] = ":".join(path)
  
  def doebuild_environment(myebuild, mydo, myroot=None, settings=None,
diff --cc subst-install.in
index 033fa981b,000000000..e9f375d76
mode 100644,000000..100644
--- a/subst-install.in
+++ b/subst-install.in
@@@ -1,75 -1,0 +1,74 @@@
 +#!@PORTAGE_BASH@
 +
 +# for expansion below we need some things to be defined
 +prefix="@prefix@"
 +exec_prefix="@exec_prefix@"
 +
 +# For bug #279550 we have to do some nasty trick to make sure that sed
 +# doesn't strip the backslash in the replacement value (because it can
 +# be a backreference) and hence escape those.  Eventually in strings we
 +# need to escape the backslash too, such that the single backslash
 +# doesn't get lost when considered an invalid escape
 +rootuser='@rootuser@'
 +portagegroup='@portagegroup@'
 +portageuser='@portageuser@'
 +rootuser=${rootuser//\\/\\\\}
 +portagegroup=${portagegroup//\\/\\\\\\\\}
 +portageuser=${portageuser//\\/\\\\\\\\}
 +
 +# there are many ways to do this all dynamic, but we only care for raw
 +# speed here, so let configure fill in this list and be done with it
 +at='@'
 +sedexp=(
- 	-e "s,${at}DEFAULT_PATH${at},@DEFAULT_PATH@,g"
 +	-e "s,${at}EXTRA_PATH${at},@EXTRA_PATH@,g"
 +	-e "s,${at}PORTAGE_BASE${at},@PORTAGE_BASE@,g"
 +	-e "s,${at}PORTAGE_BASH${at},@PORTAGE_BASH@,g"
 +	-e "s,${at}PORTAGE_EPREFIX${at},@PORTAGE_EPREFIX@,g"
 +	-e "s,${at}PORTAGE_MV${at},@PORTAGE_MV@,g"
 +	-e "s,${at}PREFIX_PORTAGE_PYTHON${at},@PREFIX_PORTAGE_PYTHON@,g"
 +	-e "s,${at}datadir${at},@datadir@,g"
 +	-e "s,${at}portagegroup${at},${portagegroup},g"
 +	-e "s,${at}portageuser${at},${portageuser},g"
 +	-e "s,${at}rootgid${at},@rootgid@,g"
 +	-e "s,${at}rootuid${at},@rootuid@,g"
 +	-e "s,${at}rootuser${at},${rootuser},g"
 +	-e "s,${at}sysconfdir${at},@sysconfdir@,g"
 +)
 +
 +sources=( )
 +target=
 +args=( "$@" )
 +
 +while [[ ${#@} != 0 ]] ; do
 +	case "$1" in
 +		-t)
 +			[[ -n ${target} ]] && sources=( "${sources[@]}" "${target##*/}" )
 +			shift
 +			target=":${1}"
 +		;;
 +		-*)
 +			shift
 +		;;
 +		*)
 +			if [[ -z ${target} ]] ; then
 +				target="${1}"
 +			elif [[ ${target} != ":"* ]] ; then
 +				sources=( "${sources[@]}" "${target##*/}" )
 +				target="${1}"
 +			else
 +				sources=( "${sources[@]}" "${1##*/}" )
 +			fi
 +		;;
 +	esac
 +	shift
 +done
 +
 +target=${target#:}
 +INSTALL="@INSTALL@"
 +echo @INSTALL_DATA@ "${args[@]}"
 +if [[ ! -d ${target} ]] ; then
 +	# either install will die, or it was just a single file copy
 +	@INSTALL_DATA@ "${args[@]}" && sed -i "${sedexp[@]}" "${target}"
 +else
 +	@INSTALL_DATA@ "${args[@]}" && sed -i "${sedexp[@]}" "${sources[@]/#/${target}/}"
 +fi
diff --cc travis.sh
index 3c03149e6,000000000..bcb95a9cb
mode 100755,000000..100755
--- a/travis.sh
+++ b/travis.sh
@@@ -1,32 -1,0 +1,31 @@@
 +#!/usr/bin/env bash
 +
 +# this script runs the tests as Travis would do (.travis.yml) and can be
 +# used to test the Prefix branch of portage on a non-Prefix system
 +
 +: ${TMPDIR=/var/tmp}
 +
 +HERE=$(dirname $(realpath ${BASH_SOURCE[0]}))
 +REPO=${HERE##*/}.$$
 +
 +cd ${TMPDIR}
 +git clone ${HERE} ${REPO}
 +
 +cd ${REPO}
 +printf "[build_ext]\nportage-ext-modules=true" >> setup.cfg
 +find . -type f -exec \
 +    sed -e "s|@PORTAGE_EPREFIX@||" \
 +		-e "s|@PORTAGE_BASE@|${PWD}|" \
 +        -e "s|@PORTAGE_MV@|$(type -P mv)|" \
 +        -e "s|@PORTAGE_BASH@|$(type -P bash)|" \
 +        -e "s|@PREFIX_PORTAGE_PYTHON@|$(type -P python)|" \
-         -e "s|@DEFAULT_PATH@|${EPREFIX}/usr/bin:${EPREFIX}/bin|" \
 +        -e "s|@EXTRA_PATH@|${EPREFIX}/usr/sbin:${EPREFIX}/sbin|" \
 +        -e "s|@portagegroup@|$(id -gn)|" \
 +        -e "s|@portageuser@|$(id -un)|" \
 +        -e "s|@rootuser@|$(id -un)|" \
 +        -e "s|@rootuid@|$(id -u)|" \
 +        -e "s|@rootgid@|$(id -g)|" \
 +        -e "s|@sysconfdir@|${EPREFIX}/etc|" \
 +        -i '{}' +
 +unset EPREFIX
 +./setup.py test


             reply	other threads:[~2018-12-23 11:14 UTC|newest]

Thread overview: 195+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-12-23 11:14 Fabian Groffen [this message]
  -- strict thread matches above, loose matches on Subject: below --
2024-02-25  9:40 [gentoo-commits] proj/portage:prefix commit in: / Fabian Groffen
2024-02-22  7:27 Fabian Groffen
2024-01-18 10:22 Fabian Groffen
2024-01-18  9:36 Fabian Groffen
2023-12-03 10:10 Fabian Groffen
2023-12-03  9:54 Fabian Groffen
2023-12-03  9:54 Fabian Groffen
2023-12-03  9:54 Fabian Groffen
2023-11-24 20:18 Fabian Groffen
2023-11-24 20:06 Fabian Groffen
2023-11-24 20:06 Fabian Groffen
2023-06-22  8:47 Fabian Groffen
2023-06-17  9:04 Fabian Groffen
2023-06-17  8:41 Fabian Groffen
2022-07-28 17:38 Fabian Groffen
2022-07-27 19:20 Fabian Groffen
2022-07-26 19:39 Fabian Groffen
2022-07-25 15:20 Fabian Groffen
2022-07-24 19:27 Fabian Groffen
2022-07-24 14:01 Fabian Groffen
2022-07-24  9:45 Fabian Groffen
2022-01-14 10:40 Fabian Groffen
2022-01-14 10:32 Fabian Groffen
2021-07-06  7:10 Fabian Groffen
2021-04-16 13:37 Fabian Groffen
2021-01-24  9:02 Fabian Groffen
2021-01-04 10:48 Fabian Groffen
2020-12-07 17:28 Fabian Groffen
2020-12-07 16:46 Fabian Groffen
2020-11-23  7:48 Fabian Groffen
2020-11-22 11:15 Fabian Groffen
2020-09-26 11:29 Fabian Groffen
2020-08-02 12:33 Fabian Groffen
2020-06-02 18:55 Fabian Groffen
2020-01-08 19:14 Fabian Groffen
2019-07-01 13:11 Fabian Groffen
2019-05-30  9:20 Fabian Groffen
2019-02-28 12:31 Fabian Groffen
2019-01-11 10:19 Fabian Groffen
2019-01-07 10:22 Fabian Groffen
2018-12-12 18:54 Fabian Groffen
2018-08-04  6:56 Fabian Groffen
2018-06-25  8:34 Fabian Groffen
2018-06-17 14:38 Fabian Groffen
2018-06-17 14:38 Fabian Groffen
2018-05-28 15:24 Fabian Groffen
2018-05-25 19:44 Fabian Groffen
2018-05-25 19:44 Fabian Groffen
2018-05-18 19:46 Fabian Groffen
2017-12-12  8:19 Fabian Groffen
2017-10-29 14:51 Fabian Groffen
2017-10-03  7:32 Fabian Groffen
2017-09-22 10:08 Fabian Groffen
2017-08-21 13:27 Fabian Groffen
2017-08-13  7:21 Fabian Groffen
2017-05-23 13:34 Fabian Groffen
2017-03-25  9:12 Fabian Groffen
2017-03-24 19:09 Fabian Groffen
2017-03-24  7:43 Fabian Groffen
2017-03-23 17:46 Fabian Groffen
2017-03-23 17:32 Fabian Groffen
2017-03-23 17:23 Fabian Groffen
2017-03-23 15:38 Fabian Groffen
2017-03-17  8:25 Fabian Groffen
2017-03-02  8:48 Fabian Groffen
2017-03-02  8:18 Fabian Groffen
2017-02-23 14:05 Fabian Groffen
2017-01-27 15:08 Fabian Groffen
2017-01-27 15:08 Fabian Groffen
2016-03-20 19:31 Fabian Groffen
2016-02-21 16:17 Fabian Groffen
2016-02-21 16:17 Fabian Groffen
2016-02-18 19:35 Fabian Groffen
2016-02-18 19:35 Fabian Groffen
2015-06-20  7:12 Fabian Groffen
2015-06-09 18:30 Fabian Groffen
2015-06-09 18:01 Fabian Groffen
2015-06-04 19:47 Fabian Groffen
2015-04-05  9:15 Fabian Groffen
2014-11-12 17:31 Fabian Groffen
2014-10-02 18:48 Fabian Groffen
2014-09-28 17:52 Fabian Groffen
2014-05-06 19:32 Fabian Groffen
2014-05-06 19:18 Fabian Groffen
2014-04-22 19:52 Fabian Groffen
2014-02-06 21:09 Fabian Groffen
2014-01-06  9:47 Fabian Groffen
2013-09-24 17:29 Fabian Groffen
2013-09-20 17:59 Fabian Groffen
2013-09-18 18:34 Fabian Groffen
2013-09-13 18:02 Fabian Groffen
2013-08-10 20:54 Fabian Groffen
2013-07-10  5:31 Fabian Groffen
2013-07-08 19:32 Fabian Groffen
2013-06-29  5:41 Fabian Groffen
2013-06-27 17:20 Fabian Groffen
2013-06-12  9:02 Fabian Groffen
2013-06-09 15:53 Fabian Groffen
2013-05-04 18:55 Fabian Groffen
2013-04-02 16:57 Fabian Groffen
2013-03-31 19:03 Fabian Groffen
2013-03-31 19:00 Fabian Groffen
2013-03-24  8:36 Fabian Groffen
2013-03-23 19:54 Fabian Groffen
2013-02-28 19:29 Fabian Groffen
2013-02-07 20:01 Fabian Groffen
2013-01-27 21:41 Fabian Groffen
2013-01-27 21:41 Fabian Groffen
2013-01-13 10:26 Fabian Groffen
2013-01-10 21:02 Fabian Groffen
2013-01-05 18:14 Fabian Groffen
2012-12-26 14:48 Fabian Groffen
2012-12-02 15:47 Fabian Groffen
2012-12-02 15:36 Fabian Groffen
2012-12-02 15:33 Fabian Groffen
2012-12-02 15:33 Fabian Groffen
2012-12-02 15:33 Fabian Groffen
2012-12-02 13:12 Fabian Groffen
2012-12-02 12:59 Fabian Groffen
2012-11-04 10:48 Fabian Groffen
2012-10-22 17:25 Fabian Groffen
2012-10-02 12:02 Fabian Groffen
2012-09-30 11:22 Fabian Groffen
2012-09-26 18:26 Fabian Groffen
2012-09-12 18:18 Fabian Groffen
2012-09-09  7:40 Fabian Groffen
2012-09-06 18:14 Fabian Groffen
2012-08-27  6:44 Fabian Groffen
2012-08-12  7:50 Fabian Groffen
2012-07-19 16:25 Fabian Groffen
2012-07-06  7:05 Fabian Groffen
2012-04-23 19:23 Fabian Groffen
2012-04-03 18:04 Fabian Groffen
2012-03-31 19:31 Fabian Groffen
2012-03-01 20:32 Fabian Groffen
2012-02-19  9:58 Fabian Groffen
2012-02-09  8:01 Fabian Groffen
2012-01-10 17:45 Fabian Groffen
2011-12-31 16:45 Fabian Groffen
2011-12-26  9:12 Fabian Groffen
2011-12-23  9:51 Fabian Groffen
2011-12-22  9:51 Fabian Groffen
2011-12-19 18:30 Fabian Groffen
2011-12-14 15:25 Fabian Groffen
2011-12-10 11:28 Fabian Groffen
2011-12-09 20:33 Fabian Groffen
2011-12-02 20:31 Fabian Groffen
2011-12-02 19:20 Fabian Groffen
2011-12-02 19:19 Fabian Groffen
2011-12-02 19:18 Fabian Groffen
2011-12-02 18:03 Fabian Groffen
2011-10-21 17:34 Fabian Groffen
2011-10-21 17:34 Fabian Groffen
2011-10-20 20:28 Fabian Groffen
2011-10-20 17:08 Fabian Groffen
2011-10-20 16:38 Fabian Groffen
2011-10-17 18:36 Fabian Groffen
2011-10-16 13:59 Fabian Groffen
2011-10-15 18:27 Fabian Groffen
2011-10-13  6:52 Fabian Groffen
2011-09-23 18:38 Fabian Groffen
2011-09-23 18:23 Fabian Groffen
2011-09-20 18:25 Fabian Groffen
2011-09-14 18:43 Fabian Groffen
2011-09-14 18:38 Fabian Groffen
2011-09-13 17:41 Fabian Groffen
2011-08-31 18:39 Fabian Groffen
2011-08-30 18:45 Fabian Groffen
2011-08-29 19:03 Fabian Groffen
2011-08-25 20:25 Fabian Groffen
2011-08-20 17:50 Fabian Groffen
2011-07-26 17:35 Fabian Groffen
2011-07-17  9:48 Fabian Groffen
2011-07-17  8:12 Fabian Groffen
2011-07-01 17:44 Fabian Groffen
2011-06-14 15:39 Fabian Groffen
2011-06-06 17:12 Fabian Groffen
2011-05-28  8:29 Fabian Groffen
2011-05-27 17:41 Fabian Groffen
2011-05-14 13:59 Fabian Groffen
2011-05-02 17:41 Fabian Groffen
2011-04-24 12:08 Fabian Groffen
2011-04-15 18:27 Fabian Groffen
2011-04-15 18:27 Fabian Groffen
2011-03-28 16:52 Fabian Groffen
2011-03-23 19:26 Fabian Groffen
2011-03-17 19:08 Fabian Groffen
2011-03-13 14:45 Fabian Groffen
2011-03-09 19:44 Fabian Groffen
2011-02-26 21:15 Fabian Groffen
2011-02-10 18:46 Fabian Groffen
2011-02-10 18:44 Fabian Groffen
2011-02-10 18:20 Fabian Groffen
2011-02-05 12:25 Fabian Groffen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1545563578.6d68e3cef901f3322a80525b472fb04d1304de5a.grobian@gentoo \
    --to=grobian@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox