From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <gentoo-commits+bounces-1132649-garchives=archives.gentoo.org@lists.gentoo.org>
Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80])
	(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
	(No client certificate requested)
	by finch.gentoo.org (Postfix) with ESMTPS id D3043138334
	for <garchives@archives.gentoo.org>; Sun, 22 Dec 2019 20:34:52 +0000 (UTC)
Received: from pigeon.gentoo.org (localhost [127.0.0.1])
	by pigeon.gentoo.org (Postfix) with SMTP id 1B5FAE0B35;
	Sun, 22 Dec 2019 20:34:52 +0000 (UTC)
Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183])
	(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
	(No client certificate requested)
	by pigeon.gentoo.org (Postfix) with ESMTPS id E30A8E0B34
	for <gentoo-commits@lists.gentoo.org>; Sun, 22 Dec 2019 20:34:51 +0000 (UTC)
Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52])
	(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
	(No client certificate requested)
	by smtp.gentoo.org (Postfix) with ESMTPS id 8D5B634DA8B
	for <gentoo-commits@lists.gentoo.org>; Sun, 22 Dec 2019 20:34:50 +0000 (UTC)
Received: from localhost.localdomain (localhost [IPv6:::1])
	by oystercatcher.gentoo.org (Postfix) with ESMTP id 9C31D14C29
	for <gentoo-commits@lists.gentoo.org>; Sun, 22 Dec 2019 20:34:48 +0000 (UTC)
From: "Andreas Sturmlechner" <asturm@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Content-Transfer-Encoding: 8bit
Content-type: text/plain; charset=UTF-8
Reply-To: gentoo-dev@lists.gentoo.org, "Andreas Sturmlechner" <asturm@gentoo.org>
Message-ID: <1577045194.749ca048e97ab86232907aa1caa13b4104779d32.asturm@gentoo>
Subject: [gentoo-commits] proj/kde:master commit in: kde-plasma/plasma-workspace/
X-VCS-Repository: proj/kde
X-VCS-Files: kde-plasma/plasma-workspace/plasma-workspace-5.17.49.9999.ebuild kde-plasma/plasma-workspace/plasma-workspace-9999.ebuild
X-VCS-Directories: kde-plasma/plasma-workspace/
X-VCS-Committer: asturm
X-VCS-Committer-Name: Andreas Sturmlechner
X-VCS-Revision: 749ca048e97ab86232907aa1caa13b4104779d32
X-VCS-Branch: master
Date: Sun, 22 Dec 2019 20:34:48 +0000 (UTC)
Precedence: bulk
List-Post: <mailto:gentoo-commits@lists.gentoo.org>
List-Help: <mailto:gentoo-commits+help@lists.gentoo.org>
List-Unsubscribe: <mailto:gentoo-commits+unsubscribe@lists.gentoo.org>
List-Subscribe: <mailto:gentoo-commits+subscribe@lists.gentoo.org>
List-Id: Gentoo Linux mail <gentoo-commits.gentoo.org>
X-BeenThere: gentoo-commits@lists.gentoo.org
X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply
X-Archives-Salt: 1f6d9270-8243-4dd5-ad6f-2ceb45f11a2b
X-Archives-Hash: c9704cc6a3631898366c73ff3c23edcf

commit:     749ca048e97ab86232907aa1caa13b4104779d32
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Sun Dec 22 17:06:58 2019 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Sun Dec 22 20:06:34 2019 +0000
URL:        https://gitweb.gentoo.org/proj/kde.git/commit/?id=749ca048

kde-plasma/plasma-workspace: Improve old script detection/migration

- Drop mkdir and chmod commands
- Add missing || die
- No need for subshells to detect constant paths
- Use md5sum to detect if existing scripts were modified at all
- Clean up pre-5.17.4 scripts, they were owned by plasma-workspace anyway

Bug: https://bugs.gentoo.org/688366
Package-Manager: Portage-2.3.82, Repoman-2.3.20
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 .../plasma-workspace-5.17.49.9999.ebuild           | 112 ++++++++++++---------
 .../plasma-workspace/plasma-workspace-9999.ebuild  |  83 ++++++++-------
 2 files changed, 112 insertions(+), 83 deletions(-)

diff --git a/kde-plasma/plasma-workspace/plasma-workspace-5.17.49.9999.ebuild b/kde-plasma/plasma-workspace/plasma-workspace-5.17.49.9999.ebuild
index 88f5a6d01f..a79c18f580 100644
--- a/kde-plasma/plasma-workspace/plasma-workspace-5.17.49.9999.ebuild
+++ b/kde-plasma/plasma-workspace/plasma-workspace-5.17.49.9999.ebuild
@@ -22,6 +22,14 @@ REQUIRED_USE="gps? ( geolocation )"
 
 # drop qtgui subslot operator when QT_MINIMAL >= 5.14.0
 COMMON_DEPEND="
+	>=dev-qt/qtdbus-${QTMIN}:5
+	>=dev-qt/qtdeclarative-${QTMIN}:5[widgets]
+	>=dev-qt/qtgui-${QTMIN}:5=[jpeg]
+	>=dev-qt/qtnetwork-${QTMIN}:5
+	>=dev-qt/qtsql-${QTMIN}:5
+	>=dev-qt/qtwidgets-${QTMIN}:5
+	>=dev-qt/qtx11extras-${QTMIN}:5
+	>=dev-qt/qtxml-${QTMIN}:5
 	>=kde-frameworks/kactivities-${KFMIN}:5
 	>=kde-frameworks/kactivities-stats-${KFMIN}:5
 	>=kde-frameworks/kauth-${KFMIN}:5
@@ -65,14 +73,6 @@ COMMON_DEPEND="
 	>=kde-plasma/libkscreen-${PVCUT}:5
 	>=kde-plasma/libksysguard-${PVCUT}:5
 	>=kde-plasma/libkworkspace-${PVCUT}:5
-	>=dev-qt/qtdbus-${QTMIN}:5
-	>=dev-qt/qtdeclarative-${QTMIN}:5[widgets]
-	>=dev-qt/qtgui-${QTMIN}:5=[jpeg]
-	>=dev-qt/qtnetwork-${QTMIN}:5
-	>=dev-qt/qtsql-${QTMIN}:5
-	>=dev-qt/qtwidgets-${QTMIN}:5
-	>=dev-qt/qtx11extras-${QTMIN}:5
-	>=dev-qt/qtxml-${QTMIN}:5
 	media-libs/phonon[qt5(+)]
 	sys-libs/zlib
 	x11-libs/libICE
@@ -98,18 +98,18 @@ DEPEND="${COMMON_DEPEND}
 	x11-base/xorg-proto
 "
 RDEPEND="${COMMON_DEPEND}
-	>=kde-frameworks/kdesu-${KFMIN}:5
-	>=kde-frameworks/kirigami-${KFMIN}:5
-	>=kde-apps/kio-extras-19.04.3:5
-	>=kde-plasma/ksysguard-${PVCUT}:5
-	>=kde-plasma/milou-${PVCUT}:5
-	>=kde-plasma/plasma-integration-${PVCUT}:5
+	app-text/iso-codes
 	>=dev-qt/qdbus-${QTMIN}:5
 	>=dev-qt/qtgraphicaleffects-${QTMIN}:5
 	>=dev-qt/qtpaths-${QTMIN}:5
 	>=dev-qt/qtquickcontrols-${QTMIN}:5[widgets]
 	>=dev-qt/qtquickcontrols2-${QTMIN}:5
-	app-text/iso-codes
+	>=kde-apps/kio-extras-19.04.3:5
+	>=kde-frameworks/kdesu-${KFMIN}:5
+	>=kde-frameworks/kirigami-${KFMIN}:5
+	>=kde-plasma/ksysguard-${PVCUT}:5
+	>=kde-plasma/milou-${PVCUT}:5
+	>=kde-plasma/plasma-integration-${PVCUT}:5
 	x11-apps/xmessage
 	x11-apps/xprop
 	x11-apps/xrdb
@@ -129,15 +129,42 @@ PATCHES=(
 
 RESTRICT+=" test"
 
-# used for agent scripts migration
-OLDST=/etc/plasma/startup/10-agent-startup.sh
-NEWST=/etc/xdg/plasma-workspace/env/10-agent-startup.sh
-OLDSH=/etc/plasma/shutdown/10-agent-shutdown.sh
-NEWSH=/etc/xdg/plasma-workspace/shutdown/10-agent-shutdown.sh
+pkg_setup() {
+	ecm_pkg_setup
+
+	local md5
+	local srcfile=/etc/plasma/XX/10-agent-XX.sh
+	local newdir="${EPREFIX}"/etc/xdg/plasma-workspace
+
+	if [[ -f "${EROOT}"${srcfile//XX/startup} ]]; then
+		md5=$(md5sum "${EROOT}"${srcfile//XX/startup})
+		if [[ ${md5%% *} != 90caaabb40b56bfbe65388841a6dd6ca ]]; then
+			elog "Existing modified ${EPREFIX}${srcfile//XX/startup} detected."
+			elog "Copying to ${newdir}/env/10-agent-startup.sh..."
+			cp -v "${EROOT}"${srcfile//XX/startup} "${T}"/ || die
+		fi
+	fi
+
+	if [[ -f "${EROOT}"${srcfile//XX/shutdown} ]]; then
+		md5=$(md5sum "${EROOT}"${srcfile//XX/shutdown})
+		if [[ ${md5%% *} != d7bffa0273f92abd999c7c3c43dbc23d ]]; then
+			elog "Existing modified ${EPREFIX}${srcfile//XX/shutdown} detected."
+			elog "Copying to ${newdir}/shutdown/10-agent-shutdown.sh..."
+			cp -v "${EROOT}"${srcfile//XX/shutdown} "${T}"/ || die
+		fi
+	fi
+}
 
 src_prepare() {
 	ecm_src_prepare
 
+	if [[ ! -f "${T}"/10-agent-startup.sh ]]; then
+		cp "${FILESDIR}"/10-agent-startup.sh "${T}"/ || die
+	fi
+	if [[ ! -f "${T}"/10-agent-shutdown.sh ]]; then
+		cp "${FILESDIR}"/10-agent-shutdown.sh "${T}"/ || die
+	fi
+
 	cmake_comment_add_subdirectory libkworkspace
 	# delete colliding libkworkspace translations
 	if [[ ${KDE_BUILD_TYPE} = release ]]; then
@@ -165,41 +192,28 @@ src_install() {
 	ecm_src_install
 
 	# default startup and shutdown scripts
-	insinto "$(dirname ${NEWST})"
-	doins "${FILESDIR}/$(basename ${NEWST})"
+	insinto /etc/xdg/plasma-workspace/env
+	doins "${T}"/10-agent-startup.sh
 
-	insinto "$(dirname ${NEWSH})"
-	doins "${FILESDIR}/$(basename ${NEWSH})"
-	fperms +x "${NEWSH}"
-}
-
-pkg_preinst() {
-	ecm_pkg_preinst
-
-	# migrate existing agent scripts to new layout if no files there yet
-	if [[ -r "${EROOT}${OLDST}" && ! -f "${EROOT}${NEWST}" ]]; then
-		mkdir -p "${EROOT}$(dirname ${NEWST})" && cp "${EROOT}${OLDST}" "${EROOT}${NEWST}" && \
-		elog "${EROOT}${OLDST} has been migrated to ${EROOT}${NEWST}, please delete old file."
-	fi
-	if [[ -r "${EROOT}${OLDSH}" && ! -f "${EROOT}${NEWSH}" ]]; then
-		mkdir -p "${EROOT}$(dirname ${NEWSH})" && cp "${EROOT}${OLDSH}" "${EROOT}${NEWSH}" && \
-		chmod +x "${EROOT}${NEWSH}" && \
-		elog "${EROOT}${OLDSH} has been migrated to ${EROOT}${NEWSH}, please delete old file."
-	fi
+	insinto /etc/xdg/plasma-workspace/shutdown
+	doins "${T}"/10-agent-shutdown.sh
+	fperms +x /etc/xdg/plasma-workspace/shutdown/10-agent-shutdown.sh
 }
 
 pkg_postinst () {
 	ecm_pkg_postinst
 
-	# warn about any leftover user scripts
-	if [[ -d "${EROOT}"/etc/plasma/startup && -n "$(ls "${EROOT}"/etc/plasma/startup)" ]] || \
-	[[ -d "${EROOT}"/etc/plasma/shutdown && -n "$(ls "${EROOT}"/etc/plasma/shutdown)" ]]; then
-		elog "You appear to have scripts in ${EROOT}/etc/plasma/{startup,shutdown}."
-		elog "They will no longer work since plasma-workspace-5.17"
+	# Clean up pre-5.17.4 scripts
+	if [[ -e "${EROOT}"/etc/plasma/startup/10-agent-startup.sh ]]; then
+		rm "${EROOT}"/etc/plasma/startup/10-agent-startup.sh || die
+		elog "Removed obsolete ${EPREFIX}/etc/plasma/startup/10-agent-startup.sh"
+	fi
+	if [[ -e "${EROOT}"/etc/plasma/shutdown/10-agent-shutdown.sh ]]; then
+		rm "${EROOT}"/etc/plasma/shutdown/10-agent-shutdown.sh || die
+		elog "Removed obsolete ${EPREFIX}/etc/plasma/shutdown/10-agent-shutdown.sh"
 	fi
 
-	elog " * Edit ${EROOT}${NEWST} and uncomment"
-	elog "   the lines enabling ssh-agent."
-	elog " * Edit ${EROOT}${NEWSH} uncomment"
-	elog "   the respective lines to properly kill the agent when the session ends."
+	elog "To enable gpg-agent and/or ssh-agent in Plasma sessions,"
+	elog "edit ${EPREFIX}/etc/xdg/plasma-workspace/env/10-agent-startup.sh"
+	elog "and ${EPREFIX}/etc/xdg/plasma-workspace/shutdown/10-agent-shutdown.sh"
 }

diff --git a/kde-plasma/plasma-workspace/plasma-workspace-9999.ebuild b/kde-plasma/plasma-workspace/plasma-workspace-9999.ebuild
index 967f124f40..c6f09ef208 100644
--- a/kde-plasma/plasma-workspace/plasma-workspace-9999.ebuild
+++ b/kde-plasma/plasma-workspace/plasma-workspace-9999.ebuild
@@ -12,6 +12,7 @@ VIRTUALX_REQUIRED="test"
 inherit ecm kde.org
 
 DESCRIPTION="KDE Plasma workspace"
+
 LICENSE="GPL-2" # TODO: CHECK
 SLOT="5"
 KEYWORDS=""
@@ -127,15 +128,42 @@ PATCHES=( "${FILESDIR}/${PN}-5.14.2-split-libkworkspace.patch" )
 
 RESTRICT+=" test"
 
-# used for agent scripts migration
-OLDST=/etc/plasma/startup/10-agent-startup.sh
-NEWST=/etc/xdg/plasma-workspace/env/10-agent-startup.sh
-OLDSH=/etc/plasma/shutdown/10-agent-shutdown.sh
-NEWSH=/etc/xdg/plasma-workspace/shutdown/10-agent-shutdown.sh
+pkg_setup() {
+	ecm_pkg_setup
+
+	local md5
+	local srcfile=/etc/plasma/XX/10-agent-XX.sh
+	local newdir="${EPREFIX}"/etc/xdg/plasma-workspace
+
+	if [[ -f "${EROOT}"${srcfile//XX/startup} ]]; then
+		md5=$(md5sum "${EROOT}"${srcfile//XX/startup})
+		if [[ ${md5%% *} != 90caaabb40b56bfbe65388841a6dd6ca ]]; then
+			elog "Existing modified ${EPREFIX}${srcfile//XX/startup} detected."
+			elog "Copying to ${newdir}/env/10-agent-startup.sh..."
+			cp -v "${EROOT}"${srcfile//XX/startup} "${T}"/ || die
+		fi
+	fi
+
+	if [[ -f "${EROOT}"${srcfile//XX/shutdown} ]]; then
+		md5=$(md5sum "${EROOT}"${srcfile//XX/shutdown})
+		if [[ ${md5%% *} != d7bffa0273f92abd999c7c3c43dbc23d ]]; then
+			elog "Existing modified ${EPREFIX}${srcfile//XX/shutdown} detected."
+			elog "Copying to ${newdir}/shutdown/10-agent-shutdown.sh..."
+			cp -v "${EROOT}"${srcfile//XX/shutdown} "${T}"/ || die
+		fi
+	fi
+}
 
 src_prepare() {
 	ecm_src_prepare
 
+	if [[ ! -f "${T}"/10-agent-startup.sh ]]; then
+		cp "${FILESDIR}"/10-agent-startup.sh "${T}"/ || die
+	fi
+	if [[ ! -f "${T}"/10-agent-shutdown.sh ]]; then
+		cp "${FILESDIR}"/10-agent-shutdown.sh "${T}"/ || die
+	fi
+
 	cmake_comment_add_subdirectory libkworkspace
 	# delete colliding libkworkspace translations
 	if [[ ${KDE_BUILD_TYPE} = release ]]; then
@@ -164,41 +192,28 @@ src_install() {
 	ecm_src_install
 
 	# default startup and shutdown scripts
-	insinto "$(dirname ${NEWST})"
-	doins "${FILESDIR}/$(basename ${NEWST})"
-
-	insinto "$(dirname ${NEWSH})"
-	doins "${FILESDIR}/$(basename ${NEWSH})"
-	fperms +x "${NEWSH}"
-}
+	insinto /etc/xdg/plasma-workspace/env
+	doins "${T}"/10-agent-startup.sh
 
-pkg_preinst() {
-	ecm_pkg_preinst
-
-	# migrate existing agent scripts to new layout if no files there yet
-	if [[ -r "${EROOT}${OLDST}" && ! -f "${EROOT}${NEWST}" ]]; then
-		mkdir -p "${EROOT}$(dirname ${NEWST})" && cp "${EROOT}${OLDST}" "${EROOT}${NEWST}" && \
-		elog "${EROOT}${OLDST} has been migrated to ${EROOT}${NEWST}, please delete old file."
-	fi
-	if [[ -r "${EROOT}${OLDSH}" && ! -f "${EROOT}${NEWSH}" ]]; then
-		mkdir -p "${EROOT}$(dirname ${NEWSH})" && cp "${EROOT}${OLDSH}" "${EROOT}${NEWSH}" && \
-		chmod +x "${EROOT}${NEWSH}" && \
-		elog "${EROOT}${OLDSH} has been migrated to ${EROOT}${NEWSH}, please delete old file."
-	fi
+	insinto /etc/xdg/plasma-workspace/shutdown
+	doins "${T}"/10-agent-shutdown.sh
+	fperms +x /etc/xdg/plasma-workspace/shutdown/10-agent-shutdown.sh
 }
 
 pkg_postinst () {
 	ecm_pkg_postinst
 
-	# warn about any leftover user scripts
-	if [[ -d "${EROOT}"/etc/plasma/startup && -n "$(ls "${EROOT}"/etc/plasma/startup)" ]] || \
-	[[ -d "${EROOT}"/etc/plasma/shutdown && -n "$(ls "${EROOT}"/etc/plasma/shutdown)" ]]; then
-		elog "You appear to have scripts in ${EROOT}/etc/plasma/{startup,shutdown}."
-		elog "They will no longer work since plasma-workspace-5.17"
+	# Clean up pre-5.17.4 scripts
+	if [[ -e "${EROOT}"/etc/plasma/startup/10-agent-startup.sh ]]; then
+		rm "${EROOT}"/etc/plasma/startup/10-agent-startup.sh || die
+		elog "Removed obsolete ${EPREFIX}/etc/plasma/startup/10-agent-startup.sh"
+	fi
+	if [[ -e "${EROOT}"/etc/plasma/shutdown/10-agent-shutdown.sh ]]; then
+		rm "${EROOT}"/etc/plasma/shutdown/10-agent-shutdown.sh || die
+		elog "Removed obsolete ${EPREFIX}/etc/plasma/shutdown/10-agent-shutdown.sh"
 	fi
 
-	elog " * Edit ${EROOT}${NEWST} and uncomment"
-	elog "   the lines enabling ssh-agent."
-	elog " * Edit ${EROOT}${NEWSH} uncomment"
-	elog "   the respective lines to properly kill the agent when the session ends."
+	elog "To enable gpg-agent and/or ssh-agent in Plasma sessions,"
+	elog "edit ${EPREFIX}/etc/xdg/plasma-workspace/env/10-agent-startup.sh"
+	elog "and ${EPREFIX}/etc/xdg/plasma-workspace/shutdown/10-agent-shutdown.sh"
 }