From 128e5981559b7760c537e43574f5936648e236d4 Mon Sep 17 00:00:00 2001 From: Ian Stakenvicius Date: Mon, 25 Jul 2016 10:36:41 -0400 Subject: x11-misc/slim: process ${REPLACING_VERSIONS} as a list Bug: http://bugs.gentoo.org/589540 Package-Manager: portage-2.2.28 --- x11-misc/slim/slim-1.3.6-r3.ebuild | 22 +++++++++++++++++++--- x11-misc/slim/slim-1.3.6-r5.ebuild | 22 +++++++++++++++++++--- x11-misc/slim/slim-9999.ebuild | 32 +++++++++++++++++++++++--------- 3 files changed, 61 insertions(+), 15 deletions(-) (limited to 'x11-misc/slim') diff --git a/x11-misc/slim/slim-1.3.6-r3.ebuild b/x11-misc/slim/slim-1.3.6-r3.ebuild index 72bfdfbcd384..0fd50387ee0b 100644 --- a/x11-misc/slim/slim-1.3.6-r3.ebuild +++ b/x11-misc/slim/slim-1.3.6-r3.ebuild @@ -87,15 +87,31 @@ src_install() { } pkg_postinst() { - # note, $REPLACING_VERSIONS will always contain 0 or 1 PV's for slim - if [[ -z ${REPLACING_VERSIONS} ]]; then + # massage ${REPLACING_VERSIONS} to come up with whether or not it's a new install + # or if it's older than 1.3.2-r7 + # Note - there should only ever be zero or one version as this package isn't slotted, + # so the logic doesn't worry about what happens if there's two, due to the case where + # a previous emerge attempt failed in the middle of qmerge. + local rv=none + for rv in ${REPLACING_VERSIONS} ; do + if version_is_at_least "1.3.2-r7" "${rv}" ; then + rv=newer + break; + fi + if version_is_at_least "1.0" "${rv}" ; then + rv=older + break; + fi + done + + if [[ ${rv} == none ]]; then elog elog "The configuration file is located at /etc/slim.conf." elog elog "If you wish ${PN} to start automatically, set DISPLAYMANAGER=\"${PN}\" " elog "in /etc/conf.d/xdm and run \"rc-update add xdm default\"." fi - if ! version_is_at_least "1.3.2-r7" "${REPLACING_VERSIONS:-1.0}" ; then + if [[ ${rv} != newer ]]; then elog elog "By default, ${PN} is set up to do proper X session selection, including ~/.xsession" elog "support, as well as selection between sessions available in" diff --git a/x11-misc/slim/slim-1.3.6-r5.ebuild b/x11-misc/slim/slim-1.3.6-r5.ebuild index 7e79bb00de51..53e9a60f20a7 100644 --- a/x11-misc/slim/slim-1.3.6-r5.ebuild +++ b/x11-misc/slim/slim-1.3.6-r5.ebuild @@ -90,15 +90,31 @@ src_install() { } pkg_postinst() { - # note, $REPLACING_VERSIONS will always contain 0 or 1 PV's for slim - if [[ -z ${REPLACING_VERSIONS} ]]; then + # massage ${REPLACING_VERSIONS} to come up with whether or not it's a new install + # or if it's older than 1.3.2-r7 + # Note - there should only ever be zero or one version as this package isn't slotted, + # so the logic doesn't worry about what happens if there's two, due to the case where + # a previous emerge attempt failed in the middle of qmerge. + local rv=none + for rv in ${REPLACING_VERSIONS} ; do + if version_is_at_least "1.3.2-r7" "${rv}" ; then + rv=newer + break; + fi + if version_is_at_least "1.0" "${rv}" ; then + rv=older + break; + fi + done + + if [[ ${rv} == none ]]; then elog elog "The configuration file is located at /etc/slim.conf." elog elog "If you wish ${PN} to start automatically, set DISPLAYMANAGER=\"${PN}\" " elog "in /etc/conf.d/xdm and run \"rc-update add xdm default\"." fi - if ! version_is_at_least "1.3.2-r7" "${REPLACING_VERSIONS:-1.0}" ; then + if [[ ${rv} != newer ]]; then elog elog "By default, ${PN} is set up to do proper X session selection, including ~/.xsession" elog "support, as well as selection between sessions available in" diff --git a/x11-misc/slim/slim-9999.ebuild b/x11-misc/slim/slim-9999.ebuild index 86ea64f7c08a..bea6571a4006 100644 --- a/x11-misc/slim/slim-9999.ebuild +++ b/x11-misc/slim/slim-9999.ebuild @@ -84,15 +84,31 @@ src_install() { } pkg_postinst() { - # note, $REPLACING_VERSIONS will always contain 0 or 1 PV's for slim - if [[ -z ${REPLACING_VERSIONS} ]]; then + # massage ${REPLACING_VERSIONS} to come up with whether or not it's a new install + # or if it's older than 1.3.2-r7 + # Note - there should only ever be zero or one version as this package isn't slotted, + # so the logic doesn't worry about what happens if there's two, due to the case where + # a previous emerge attempt failed in the middle of qmerge. + local rv=none + for rv in ${REPLACING_VERSIONS} ; do + if version_is_at_least "1.3.2-r7" "${rv}" ; then + rv=newer + break; + fi + if version_is_at_least "1.0" "${rv}" ; then + rv=older + break; + fi + done + + if [[ ${rv} == none ]]; then elog elog "The configuration file is located at /etc/slim.conf." elog elog "If you wish ${PN} to start automatically, set DISPLAYMANAGER=\"${PN}\" " elog "in /etc/conf.d/xdm and run \"rc-update add xdm default\"." fi - if ! version_is_at_least "1.3.6" "${REPLACING_VERSIONS:-1.0}" ; then + if [[ ${rv} != newer ]]; then elog elog "By default, ${PN} is set up to provide X session selection based on the" elog ".desktop entries in /usr/share/xsessions/ that are installed by each" @@ -109,12 +125,10 @@ pkg_postinst() { elog "/usr/share/doc/${PF} and change your login_cmd in /etc/slim.conf" elog "accordingly." elog - if ! version_is_at_least "1.3.2-r7" "${REPLACING_VERSIONS:-1.4}" ; then - ewarn "Please note that slim supports consolekit directly. Please do not use any " - ewarn "old work-arounds (including calls to 'ck-launch-session' in xinitrc scripts)" - ewarn "and enable USE=\"consolekit\" instead." - ewarn - fi + ewarn "Please note that slim supports consolekit directly. Please do not use any " + ewarn "old work-arounds (including calls to 'ck-launch-session' in xinitrc scripts)" + ewarn "and enable USE=\"consolekit\" instead." + ewarn fi if ! use pam; then elog "You have merged ${PN} without USE=\"pam\", this will cause ${PN} to fall back to" -- cgit v1.2.3-65-gdbad