From: "Sergei Trofimovich" <slyfox@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] proj/crossdev:master commit in: /
Date: Fri, 31 Jan 2020 07:36:54 +0000 (UTC) [thread overview]
Message-ID: <1580456209.be107b6d5b572d9f13e64b4b53dc687f74193c56.slyfox@gentoo> (raw)
commit: be107b6d5b572d9f13e64b4b53dc687f74193c56
Author: Göktürk Yüksek <gokturk <AT> gentoo <DOT> org>
AuthorDate: Fri Jan 31 02:56:07 2020 +0000
Commit: Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
CommitDate: Fri Jan 31 07:36:49 2020 +0000
URL: https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=be107b6d
crossdev: remove the output overlay during uninstallation when possible
If the output overlay is created solely for one specific CTARGET, and
not modified by the user in any way, it makes no sense to leave it
behind.
Remove the output overlay if the following conditions are met:
- The profiles/categories is empty
- metadata/layout.conf is managed by crossdev
- The only files in the overlay are profiles/categories and metadata/layout.conf
Signed-off-by: Göktürk Yüksek <gokturk <AT> gentoo.org>
Signed-off-by: Sergei Trofimovich <slyfox <AT> gentoo.org>
crossdev | 26 ++++++++++++++++++++++----
1 file changed, 22 insertions(+), 4 deletions(-)
diff --git a/crossdev b/crossdev
index 9427cf1..4576e0f 100755
--- a/crossdev
+++ b/crossdev
@@ -562,6 +562,24 @@ uninstall() {
sed -e "/cross-${CTARGET}/d" \
-i "${CROSSDEV_OVERLAY}"/profiles/categories
fi
+ # If profiles/categories is empty, see if we can remove the output overlay entirely
+ # The conservative criteria for removal are as follows:
+ # - The profiles/categories is empty
+ # - metadata/layout.conf is managed by crossdev
+ # - The only files in the overlay are profiles/categories and metadata/layout.conf
+ # Otherwise, we leave the overlay alone
+ if [[ ! -s "${CROSSDEV_OVERLAY}"/profiles/categories ]]; then
+ # Check if layout.conf is managed by crossdev
+ if grep -qs "^${AUTOGEN_TAG}" "${CROSSDEV_OVERLAY}"/metadata/layout.conf; then
+ # Check that there are no other files
+ local i=0
+ while IFS="" read -d $'\0' -r; do
+ i=$((i + 1))
+ done < <(find "${CROSSDEV_OVERLAY}" -type f -print0)
+ # Remove the overlay if we can
+ [[ ${i} -eq 2 ]] && rm -r "${CROSSDEV_OVERLAY}"
+ fi
+ fi
# crossdev stopped creating 'package.keywords' in Jan 2020
for f in categories package.{accept_keywords,env,mask,keywords,use} profile/package.use.{force,mask} ; do
f="${CONFIGROOT}/${f}"
@@ -736,6 +754,7 @@ SEARCH_OVERLAYS=""
CROSSDEV_OVERLAY=""
CROSSDEV_OVERLAY_NAME=""
CROSSDEV_OVERLAY_CREATE_REPOS_CONF=""
+AUTOGEN_TAG="# Autogenerated and managed by crossdev"
# These flags are always disabled for cross-gcc; either usually/always broken, or
# not tested, or doesn't make sense, or no one simply cares about them
GUSE_DISABLE="-boundschecking -d -gcj -gtk -libffi -mudflap -objc -objc++ -objc-gc"
@@ -1206,7 +1225,6 @@ set_metadata() {
# a layout.conf file so portage can find them. this is a crapshoot
# when diff overlay sources have conflicting eclasses, but nothing
# we really can do about that.
- local autogen_tag="# Autogenerated and managed by crossdev"
local meta=${CROSSDEV_OVERLAY}/metadata
local repo_name
local layout=${meta}/layout.conf
@@ -1219,7 +1237,7 @@ set_metadata() {
xmkdir -p "${meta}"
if [[ -e ${layout} ]] ; then
- if ! grep -qs "^${autogen_tag}" "${layout}" ; then
+ if ! grep -qs "^${AUTOGEN_TAG}" "${layout}" ; then
einfo "leaving metadata/layout.conf alone in ${CROSSDEV_OVERLAY}"
return
fi
@@ -1273,7 +1291,7 @@ set_metadata() {
# write out that layout.conf!
cat <<-EOF > "${layout}" || die "could not write ${layout}"
- ${autogen_tag}
+ ${AUTOGEN_TAG}
# Delete the above line if you want to manage this file yourself
masters = ${masters% }
repo-name = ${repo_name}
@@ -1283,7 +1301,7 @@ set_metadata() {
# If there is no repos.conf entry for the output overlay, create one here
if [[ -n ${CROSSDEV_OVERLAY_CREATE_REPOS_CONF} ]]; then
cat <<-EOF > "${CROSSDEV_OVERLAY_CREATE_REPOS_CONF}" || die "could not create the repo conf"
- ${autogen_tag}
+ ${AUTOGEN_TAG}
[${repo_name}]
location = ${CROSSDEV_OVERLAY}
masters = ${masters% }
next reply other threads:[~2020-01-31 7:36 UTC|newest]
Thread overview: 240+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-01-31 7:36 Sergei Trofimovich [this message]
-- strict thread matches above, loose matches on Subject: below --
2025-02-03 17:14 [gentoo-commits] proj/crossdev:master commit in: / Mike Gilbert
2025-01-12 18:39 Sam James
2025-01-04 15:20 Sam James
2025-01-02 23:26 Sam James
2025-01-02 23:24 Sam James
2025-01-02 23:24 Sam James
2025-01-02 23:24 Sam James
2024-12-25 0:45 Sam James
2024-12-25 0:43 Sam James
2024-12-25 0:42 Sam James
2024-12-25 0:42 Sam James
2024-12-25 0:42 Sam James
2024-12-15 18:29 Sam James
2024-12-14 18:14 Sam James
2024-12-02 21:40 Sam James
2024-12-02 15:27 Sam James
2024-12-02 9:42 Sam James
2024-12-01 23:05 Sam James
2024-11-30 10:18 Sam James
2024-11-30 5:12 Sam James
2024-11-30 2:55 Sam James
2024-11-30 2:08 Sam James
2024-11-30 2:08 Sam James
2024-10-15 7:13 Sam James
2024-10-15 7:13 Sam James
2024-07-02 21:01 James Le Cuirot
2024-06-16 13:47 Luca Barbato
2024-05-07 16:06 Sam James
2024-05-07 13:04 Sam James
2024-05-07 13:01 Sam James
2024-05-04 11:57 Sam James
2024-05-04 11:52 Sam James
2024-05-04 11:52 Sam James
2024-05-04 11:52 Sam James
2024-05-04 11:48 Sam James
2024-05-04 11:48 Sam James
2024-01-26 9:31 Sam James
2024-01-17 4:51 Sam James
2023-09-26 18:30 Sam James
2023-09-23 12:26 Sam James
2023-08-31 1:32 Sam James
2023-08-31 1:15 Sam James
2023-03-21 22:41 Sam James
2023-02-25 1:14 Sam James
2023-02-02 17:40 Sam James
2023-02-02 17:40 Sam James
2023-01-14 17:58 Sam James
2022-12-28 15:17 Sam James
2022-12-28 15:17 Sam James
2022-11-18 17:57 Mike Gilbert
2022-11-18 17:57 Mike Gilbert
2022-07-09 3:45 Sam James
2022-07-09 3:45 Sam James
2022-07-09 3:45 Sam James
2022-05-02 23:19 Sam James
2022-04-24 16:30 Sam James
2022-04-19 20:25 Sam James
2022-03-17 23:42 Sam James
2022-03-06 2:08 Sam James
2022-02-20 2:19 Sam James
2022-02-11 22:53 Andreas K. Hüttel
2022-01-31 2:06 Sam James
2022-01-28 12:30 Mike Frysinger
2021-11-21 13:08 Sam James
2021-10-27 17:20 Mike Frysinger
2021-10-27 9:19 Mike Frysinger
2021-10-27 8:56 Mike Frysinger
2021-10-27 8:55 Mike Frysinger
2021-07-17 23:38 Sergei Trofimovich
2021-06-21 21:23 Sergei Trofimovich
2021-06-21 21:23 Sergei Trofimovich
2021-06-21 21:23 Sergei Trofimovich
2021-06-21 21:23 Sergei Trofimovich
2021-06-08 22:44 Sergei Trofimovich
2021-06-07 20:44 Sergei Trofimovich
2021-01-05 23:25 Sergei Trofimovich
2021-01-05 23:25 Sergei Trofimovich
2021-01-05 23:25 Sergei Trofimovich
2020-12-31 12:23 Sergei Trofimovich
2020-11-29 22:30 Sergei Trofimovich
2020-11-22 20:41 Sergei Trofimovich
2020-11-08 13:26 Sergei Trofimovich
2020-11-08 13:26 Sergei Trofimovich
2020-08-01 19:50 Sergei Trofimovich
2020-03-26 23:52 Sergei Trofimovich
2020-01-31 7:36 Sergei Trofimovich
2020-01-31 7:36 Sergei Trofimovich
2020-01-30 8:36 Sergei Trofimovich
2020-01-29 23:20 Sergei Trofimovich
2020-01-25 21:17 Sergei Trofimovich
2020-01-25 12:05 Sergei Trofimovich
2020-01-25 12:05 Sergei Trofimovich
2019-12-22 22:32 Sergei Trofimovich
2019-12-22 22:04 Sergei Trofimovich
2019-12-22 22:01 Sergei Trofimovich
2019-10-21 22:54 Sergei Trofimovich
2019-10-21 22:50 Sergei Trofimovich
2019-10-14 7:35 Sergei Trofimovich
2019-09-08 11:16 Sergei Trofimovich
2019-09-01 19:02 Sergei Trofimovich
2019-09-01 16:14 Sergei Trofimovich
2019-08-25 9:38 Sergei Trofimovich
2019-06-08 18:20 Sergei Trofimovich
2019-03-18 22:54 Sergei Trofimovich
2018-10-18 22:26 Sergei Trofimovich
2018-10-17 21:45 Sergei Trofimovich
2018-09-27 23:44 Jason Donenfeld
2018-09-18 22:44 Sergei Trofimovich
2018-08-18 15:42 Sergei Trofimovich
2018-07-24 23:44 Sergei Trofimovich
2018-05-08 21:40 Sergei Trofimovich
2018-04-10 7:15 Sergei Trofimovich
2018-04-09 20:46 Sergei Trofimovich
2018-04-07 15:57 Sergei Trofimovich
2018-04-07 11:21 Sergei Trofimovich
2018-04-07 10:56 Sergei Trofimovich
2018-04-07 7:27 Sergei Trofimovich
2018-04-05 22:16 Sergei Trofimovich
2018-03-02 22:32 Sergei Trofimovich
2018-02-03 9:39 Sergei Trofimovich
2018-01-20 12:37 Sergei Trofimovich
2018-01-07 20:15 Sergei Trofimovich
2018-01-05 23:27 Sergei Trofimovich
2017-12-30 21:21 Sergei Trofimovich
2017-12-30 17:41 Sergei Trofimovich
2017-12-30 17:41 Sergei Trofimovich
2017-12-30 14:52 Sergei Trofimovich
2017-12-30 14:46 Sergei Trofimovich
2017-12-29 20:44 Sergei Trofimovich
2017-12-28 17:47 Sergei Trofimovich
2017-12-27 18:10 Sergei Trofimovich
2017-12-12 21:35 Steve Arnold
2017-11-23 18:18 Steve Arnold
2017-11-21 23:01 Sergei Trofimovich
2017-11-21 22:13 Sergei Trofimovich
2017-11-19 23:03 Sergei Trofimovich
2017-10-24 17:38 Steve Arnold
2017-10-14 23:46 Steve Arnold
2017-10-14 23:46 Steve Arnold
2017-10-14 23:46 Steve Arnold
2017-10-13 17:56 Steve Arnold
2017-10-13 16:31 Steve Arnold
2017-10-13 16:31 Steve Arnold
2017-10-13 16:31 Steve Arnold
2017-10-13 16:31 Steve Arnold
2016-06-02 15:56 Mike Frysinger
2016-06-02 15:56 Mike Frysinger
2016-06-02 15:56 Mike Frysinger
2016-06-02 15:56 Mike Frysinger
2016-01-16 6:38 Mike Frysinger
2015-10-16 3:19 Mike Frysinger
2015-08-13 2:45 Mike Frysinger
2015-06-02 17:01 Mike Frysinger
2015-05-30 4:46 Mike Frysinger
2015-05-23 5:35 Mike Frysinger
2015-04-18 22:58 Mike Frysinger
2014-10-31 1:56 Mike Frysinger
2014-10-31 1:56 Mike Frysinger
2014-10-31 0:52 Mike Frysinger
2014-09-17 21:41 Mike Frysinger
2014-01-18 18:42 Mike Frysinger
2013-11-07 20:32 Mike Frysinger
2013-11-07 20:28 Mike Frysinger
2013-10-12 20:15 Mike Frysinger
2013-10-11 19:05 Mike Frysinger
2013-10-11 18:48 Mike Frysinger
2013-09-30 0:21 Mike Frysinger
2013-06-28 5:42 Mike Frysinger
2013-06-28 5:14 Mike Frysinger
2013-04-20 2:50 Mike Frysinger
2013-03-28 16:20 Mike Frysinger
2013-03-28 16:20 Mike Frysinger
2013-02-18 20:11 Mike Frysinger
2012-12-25 21:44 Mike Frysinger
2012-11-18 7:56 Mike Frysinger
2012-11-11 9:10 Mike Frysinger
2012-11-05 8:37 Mike Frysinger
2012-10-02 3:23 Mike Frysinger
2012-09-13 5:13 Mike Frysinger
2012-09-13 5:05 Mike Frysinger
2012-08-30 18:16 Mike Frysinger
2012-08-20 21:36 Mike Frysinger
2012-08-17 21:20 Mike Frysinger
2012-07-31 16:19 Mike Frysinger
2012-07-30 3:01 Mike Frysinger
2012-06-09 5:23 Mike Frysinger
2012-06-09 5:23 Mike Frysinger
2012-06-03 9:03 Mike Frysinger
2012-06-03 9:03 Mike Frysinger
2012-06-03 9:03 Mike Frysinger
2012-06-03 9:03 Mike Frysinger
2012-05-30 15:28 Mike Frysinger
2012-05-30 15:28 Mike Frysinger
2012-05-30 15:28 Mike Frysinger
2012-05-30 15:28 Mike Frysinger
2012-03-07 18:31 Mike Frysinger
2012-03-05 23:15 Mike Frysinger
2012-03-05 23:15 Mike Frysinger
2012-03-05 23:15 Mike Frysinger
2012-03-01 18:43 Mike Frysinger
2012-03-01 18:43 Mike Frysinger
2012-03-01 18:43 Mike Frysinger
2012-03-01 18:43 Mike Frysinger
2012-02-29 17:18 Mike Frysinger
2012-02-29 16:22 Mike Frysinger
2012-02-29 16:22 Mike Frysinger
2012-02-29 16:22 Mike Frysinger
2012-02-27 22:50 Mike Frysinger
2012-02-27 22:47 Mike Frysinger
2012-02-24 22:23 Mike Frysinger
2012-02-14 20:24 Mike Frysinger
2012-02-14 20:24 Mike Frysinger
2012-02-14 20:24 Mike Frysinger
2012-02-14 20:24 Mike Frysinger
2012-02-14 20:24 Mike Frysinger
2012-02-14 20:24 Mike Frysinger
2012-02-14 20:24 Mike Frysinger
2011-12-21 21:06 Mike Frysinger
2011-12-21 21:06 Mike Frysinger
2011-12-13 19:06 Mike Frysinger
2011-12-06 21:50 Mike Frysinger
2011-11-18 20:44 Mike Frysinger
2011-10-31 3:30 Mike Frysinger
2011-10-18 17:36 Mike Frysinger
2011-10-11 22:22 Mike Frysinger
2011-08-25 15:50 Mike Frysinger
2011-08-19 18:05 Mike Frysinger
2011-08-19 18:05 Mike Frysinger
2011-08-18 20:06 Mike Frysinger
2011-08-18 20:06 Mike Frysinger
2011-08-18 20:06 Mike Frysinger
2011-08-15 22:25 Mike Frysinger
2011-08-12 18:59 Mike Frysinger
2011-07-05 6:44 Mike Frysinger
2011-03-27 6:07 Mike Frysinger
2011-03-11 4:22 Mike Frysinger
2011-03-11 4:22 Mike Frysinger
2011-03-11 4:22 Mike Frysinger
2011-02-14 3:08 Mike Frysinger
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=1580456209.be107b6d5b572d9f13e64b4b53dc687f74193c56.slyfox@gentoo \
--to=slyfox@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