commit:     128e5981559b7760c537e43574f5936648e236d4
Author:     Ian Stakenvicius <axs <AT> gentoo <DOT> org>
AuthorDate: Mon Jul 25 14:36:41 2016 +0000
Commit:     Ian Stakenvicius <axs <AT> gentoo <DOT> org>
CommitDate: Mon Jul 25 14:38:57 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=128e5981

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(-)

diff --git a/x11-misc/slim/slim-1.3.6-r3.ebuild 
b/x11-misc/slim/slim-1.3.6-r3.ebuild
index 72bfdfb..0fd5038 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 7e79bb0..53e9a60 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 86ea64f..bea6571 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"

Reply via email to