summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Callen <abcd@gentoo.org>2011-06-14 19:15:31 -0400
committerJonathan Callen <abcd@gentoo.org>2011-06-14 19:15:31 -0400
commitdf58cf7ceb48559764e1c4c6e97a41a029a56c5b (patch)
tree49731d2a3758bff94fcb01503a92488961dcf243
parente5a712fd0742e6f93871e8ed3a9cab078d335617 (diff)
downloadkde-df58cf7ceb48559764e1c4c6e97a41a029a56c5b.tar.gz
kde-df58cf7ceb48559764e1c4c6e97a41a029a56c5b.tar.bz2
kde-df58cf7ceb48559764e1c4c6e97a41a029a56c5b.zip
Simplify add_blocker a bit, remove more slotting bits
-rw-r--r--Documentation/CODE5
-rw-r--r--eclass/kde4-functions.eclass151
-rw-r--r--kde-base/kfmclient/Manifest32
-rw-r--r--kde-base/kfmclient/kfmclient-4.6.49.9999.ebuild4
-rw-r--r--kde-base/kfmclient/kfmclient-4.6.80.ebuild4
-rw-r--r--kde-base/kfmclient/kfmclient-9999.ebuild4
6 files changed, 78 insertions, 122 deletions
diff --git a/Documentation/CODE b/Documentation/CODE
index 8691c7b4f30..250046153d7 100644
--- a/Documentation/CODE
+++ b/Documentation/CODE
@@ -63,13 +63,10 @@ Examples:
# Block all versions of kdelibs <4.2.0
add_blocker kdelibs '<4.2.0'
- # Block all versions of kdelibs <=4.2.80 or <=4.3.2 or <4.3.65 or <=9999, depending on SLOT
- add_blocker kdelibs 4.2.80 4.3.2:4.3 '<4.3.65:4.4' 9999:live
-
# Block all versions of kde-menu (replaced by kdebase-menu)
add_blocker kde-menu
- # Block all versions of kdelibs in slot :4.1 or prior
+ # Block all versions of kdelibs in KDE 4.1 or prior
add_blocker kdelibs 4.1.50
For more details, read the comments in kde4-functions.eclass
diff --git a/eclass/kde4-functions.eclass b/eclass/kde4-functions.eclass
index c37cbdbf400..15e9661c81f 100644
--- a/eclass/kde4-functions.eclass
+++ b/eclass/kde4-functions.eclass
@@ -120,26 +120,24 @@ buildsycoca() {
# We no longer need to run kbuildsycoca4, as kded does that automatically, as needed
# fix permission for some directories
- for x in share/{config,kde4}; do
- [[ ${KDEDIR} == /usr ]] && DIRS=${EROOT}usr || DIRS="${EROOT}usr ${EROOT}${KDEDIR}"
- for y in ${DIRS}; do
- [[ -d "${y}/${x}" ]] || break # nothing to do if directory does not exist
- # fixes Bug 318237
- if use userland_BSD ; then
- [[ $(stat -f %p "${y}/${x}") != 40755 ]]
- local stat_rtn="$?"
- else
- [[ $(stat --format=%a "${y}/${x}") != 755 ]]
- local stat_rtn=$?
- fi
- if [[ $stat_rtn != 1 ]] ; then
- ewarn "QA Notice:"
- ewarn "Package ${PN} is breaking ${y}/${x} permissions."
- ewarn "Please report this issue to gentoo bugzilla."
- einfo "Permissions will get adjusted automatically now."
- find "${y}/${x}" -type d -print0 | xargs -0 chmod 755
- fi
- done
+ for x in usr/share/{config,kde4}; do
+ DIRS=${EROOT}usr
+ [[ -d "${EROOT}${x}" ]] || break # nothing to do if directory does not exist
+ # fixes Bug 318237
+ if use userland_BSD ; then
+ [[ $(stat -f %p "${EROOT}${x}") != 40755 ]]
+ local stat_rtn="$?"
+ else
+ [[ $(stat --format=%a "${EROOT}${x}") != 755 ]]
+ local stat_rtn=$?
+ fi
+ if [[ $stat_rtn != 1 ]] ; then
+ ewarn "QA Notice:"
+ ewarn "Package ${PN} is breaking ${EROOT}${x} permissions."
+ ewarn "Please report this issue to gentoo bugzilla."
+ einfo "Permissions will get adjusted automatically now."
+ find "${EROOT}${x}" -type d -print0 | xargs -0 chmod 755
+ fi
done
}
@@ -344,8 +342,15 @@ load_library_dependencies() {
# Create blocks for the current package in other slots
block_other_slots() {
debug-print-function ${FUNCNAME} "$@"
+ local slot
- _do_blocker ${PN} 0:${SLOT}
+ # Temporary HACK, remove this function after slotmove
+ # (moved from _do_blocker, as this only needs a very specialized listing)
+ for slot in "${KDE_SLOTS[@]}" "${KDE_LIVE_SLOTS[@]}"; do
+ if [[ ${slot} != ${SLOT} ]]; then
+ echo " !kde-base/${PN}:${slot}"
+ fi
+ done
}
# @FUNCTION: add_blocker
@@ -354,26 +359,21 @@ block_other_slots() {
# Useful for file-collision blocks.
# Parameters are package and version(s) to block.
# add_blocker kdelibs 4.2.4
-# If no version is specified, then all versions will be blocked
-# If any arguments (from 2 on) contain a ":", then different versions
-# are blocked in different slots. (Unlisted slots get the version without
-# a ":", if none, then all versions are blocked). The parameter is then of
-# the form VERSION:SLOT. Any VERSION of 0 means that no blocker will be
-# added for that slot (or, if no slot, then for any unlisted slot).
-# A parameter of the form :SLOT means to block all versions from that slot.
-# If VERSION begins with "<", then "!<foo" will be used instead of "!<=foo".
-# As a special case, if a parameter with slot "3.5" is passed, then that slot
-# may also be blocked.
+# If no version is specified, then all versions will be blocked.
+# If the version is 0, then no versions will be blocked.
+# If a second version ending in ":3.5" is passed, then the version listed for
+# that slot will be blocked as well.
+#
+# Examples:
+# # Block all versions of kdelibs
+# add_blocker kdelibs
#
-# Versions that match "4.x.50" are equivalent to all slots up to (and including)
-# "4.x", but nothing following slot "4.x"
+# # Block all versions of kdelibs older than 4.3.50
+# add_blocker kdelibs 4.3.50
#
-# As an example, if SLOT=live, then
-# add_blocker kdelibs 0 :4.3 '<4.3.96:4.4' 9999:live
-# will add the following to RDEPEND:
-# !kde-base/kdelibs:4.3
-# !<kde-base/kdelibs-4.3.96:4.4
-# !<=kde-base/kdelibs-9999:live
+# # Block kdelibs 3.5.10 and older, but not any version of
+# # kdelibs from KDE 4
+# add_blocker kdelibs 0 3.5.10:3.5
add_blocker() {
debug-print-function ${FUNCNAME} "$@"
@@ -401,12 +401,6 @@ add_kdebase_dep() {
ver=${KDE_OVERRIDE_MINIMAL}
elif [[ ${KDEBASE} != kde-base ]]; then
ver=${KDE_MINIMAL}
- # FIXME remove hack when kdepim-4.4.* is gone
- elif [[ ( ${KMNAME} == kdepim || ${PN} == kdepim-runtime ) && $(get_kde_version) == 4.4 && ${1} =~ ^(kde(pim)?libs|oxygen-icons)$ ]]; then
- ver=4.4.5
- # FIXME remove hack when kdepim-4.6beta is gone
- elif [[ ( ${KMNAME} == kdepim || ${PN} == kdepim-runtime ) && ${PV} == 4.5.98 && ${1} =~ ^(kde(pim)?libs|oxygen-icons)$ ]]; then
- ver=4.5.90
# if building stable-live version depend just on slot
# to allow merging packages against more stable basic stuff
elif [[ ${PV} == *.9999 ]]; then
@@ -417,13 +411,7 @@ add_kdebase_dep() {
[[ -z ${1} ]] && die "Missing parameter"
- local use=${2:+,${2}}
-
- if [[ ${ver} == live ]]; then
- echo " kde-base/${1}:live[aqua=${use}]"
- else
- echo " >=kde-base/${1}-${ver}[aqua=${use}]"
- fi
+ echo " >=kde-base/${1}-${ver}[aqua=${2:+,${2}}]"
}
# _greater_max_in_slot ver slot
@@ -472,53 +460,24 @@ _do_blocker() {
pkg=${pkg%\[*\]}
fi
- local param slot def="unset" var atom
- # The following variables will hold parameters that contain ":"
- # - block_3_5
- # - block_4_1
- # - block_4_2
- # - block_4_3
- # - block_4_4
- # - block_live
- for slot in 3.5 ${KDE_SLOTS[@]} ${KDE_LIVE_SLOTS[@]}; do
- local block_${slot//./_}="unset"
- done
-
- # This construct goes through each parameter passed, and sets
- # either def or block_* to the version passed
- for param; do
- # If the parameter does not have a ":" in it...
- if [[ ${param/:} == ${param} ]]; then
- def=${param}
- else # the parameter *does* have a ":" in it
- # so everything after the : is the slot...
- slot=${param#*:}
- # ...and everything before the : is the version
- local block_${slot//./_}=${param%:*}
- fi
- done
+ local slot ver="$1" atom old_ver="unset"
+ [[ "$2" == *:3.5 ]] && old_ver=${2::-4}
for slot in ${KDE_SLOTS[@]} ${KDE_LIVE_SLOTS[@]}; do
- # ${var} contains the name of the variable we care about for this slot
- # ${!var} is it's value
- var=block_${slot//./_}
- # if we didn't pass *:${slot}, then use the unsloted value
- [[ ${!var} == "unset" ]] && var=def
-
# If no version was passed, or the version is greater than the maximum
# possible version in this slot, block all versions in this slot
- if [[ ${!var} == "unset" ]] || [[ -z ${!var} ]] || _greater_max_in_slot ${!var#<} ${slot}; then
+ if [[ ${ver} == "unset" ]] || [[ -z ${ver} ]] || _greater_max_in_slot ${ver#<} ${slot}; then
atom=${pkg}
# If the version is "0" or less than the minimum possible version in
# this slot, do nothing
- elif [[ ${!var} == "0" ]] || _less_min_in_slot ${!var#<} ${slot}; then
+ elif [[ ${ver} == "0" ]] || _less_min_in_slot ${ver#<} ${slot}; then
continue
# If the version passed begins with a "<", then use "<" instead of "<="
- elif [[ ${!var:0:1} == "<" ]]; then
+ elif [[ ${ver::1} == "<" ]]; then
# this also removes the first character of the version, which is a "<"
- atom="<${pkg}-${!var:1}"
+ atom="<${pkg}-${ver:1}"
else
- atom="<=${pkg}-${!var}"
+ atom="<=${pkg}-${ver}"
fi
echo " !${atom}:${slot}${use:+[${use}]}"
done
@@ -527,13 +486,13 @@ _do_blocker() {
# default version passed, and no blocker is output *unless* a version
# is passed, or ":3.5" is passed to explicitly request a block on all
# 3.5 versions.
- if [[ ${block_3_5} != "unset" && ${block_3_5} != "0" ]]; then
- if [[ -z ${block_3_5} ]]; then
+ if [[ ${old_ver} != "unset" && ${old_ver} != "0" ]]; then
+ if [[ -z ${old_ver} ]]; then
atom=${pkg}
- elif [[ ${block_3_5:0:1} == "<" ]]; then
- atom="<${pkg}-${block_3_5:1}"
+ elif [[ ${old_ver::1} == "<" ]]; then
+ atom="<${pkg}-${old_ver:1}"
else
- atom="<=${pkg}-${block_3_5}"
+ atom="<=${pkg}-${old_ver}"
fi
echo " !${atom}:3.5${use:+[${use}]}"
fi
@@ -597,9 +556,9 @@ get_kde_version() {
local major=$(get_major_version ${ver})
local minor=$(get_version_component_range 2 ${ver})
local micro=$(get_version_component_range 3 ${ver})
- [[ ${ver} == 9999 ]] && echo live
- (( major == 4 && micro == 9999 )) && echo ${major}.${minor}
- if (( major == 4 && micro != 9999 )); then
+ if [[ ${ver} == 9999 ]]; then
+ echo live
+ else
(( micro < 50 )) && echo ${major}.${minor} || echo ${major}.$((minor + 1))
fi
}
diff --git a/kde-base/kfmclient/Manifest b/kde-base/kfmclient/Manifest
index 5bc813e9cde..77f3780e881 100644
--- a/kde-base/kfmclient/Manifest
+++ b/kde-base/kfmclient/Manifest
@@ -2,24 +2,24 @@
Hash: SHA512
DIST kde-baseapps-4.6.80.tar.bz2 2487943 RMD160 30f8e1f32f0780ccbcdfdd2aff7a6a29cbc58be9 SHA1 f89b848791628d675e26dd7e703bd79834d1c951 SHA256 d10c7d3ba65d369cc93f2853cf4adacd4d7131dfd0c715080d0faf4acf0b513f
-EBUILD kfmclient-4.6.49.9999.ebuild 914 RMD160 ce90de3af4cb45840a18cfbe1b6179d1d6c267e7 SHA1 75e29d7e7b54b8aae2e48adf95a07d0f3394370d SHA256 f336ba82a1c86953f898ecd8f1be99e2fbcf2d3dabbf4c0c883a6ab2c4ab9e09
-EBUILD kfmclient-4.6.80.ebuild 949 RMD160 b7316b25d84d64f19708fd92aec430d501d5e6f0 SHA1 f4067561467da59862388a6efaaae148b13b745a SHA256 3b1faa5acaae43c898e97ece02114f33c0e00c4ed1dcea01e4baa4600dce7ce4
-EBUILD kfmclient-9999.ebuild 914 RMD160 43fa22c6369fd09c2e5c343678d3ff5d80264baa SHA1 30c7bea2813085c0fa003fea0f643e6c447d9ee5 SHA256 2f071d82d8fcff8aa1ef1eab7f6895bb101fa4876090b44e04f5fea9c21e0c81
+EBUILD kfmclient-4.6.49.9999.ebuild 891 RMD160 bdb923095900987be5afa6150109260ac0db1030 SHA1 2edf2ccf2dd4d1dfc83a7297f37b95d2d5633a4d SHA256 2c0bd9cde248cb39470f614cbc2e7dfb9fc10c8ac9adc21c5aec1f43eed453b6
+EBUILD kfmclient-4.6.80.ebuild 926 RMD160 731d7ee26f881de391092099500acfe65454b3f8 SHA1 0c48ed253b03ac1ee12f1a5b9ef4c0d1547a7d00 SHA256 2a020a3aa82bab371cc1e22fc9d2bf1a67afc7d631b705aae26d992d7944bdff
+EBUILD kfmclient-9999.ebuild 891 RMD160 0fa68f07fb05028bf1067529a903cbbe6bf74704 SHA1 11cb457992a0bfb10092ab36af2ca038f651ad4b SHA256 f0348d4670d4cdc57a38ed513268cadb3073f033fddd2b98e6920acf8f94eae0
MISC metadata.xml 157 RMD160 09fb7b798f3f68127626e97c69e5215a0513ecbb SHA1 d5ffebb2f4248fc8f65ab21c3af6e4f5dbf8bf6e SHA256 01f6fa4357ce08e8b0f7900a51fa78c7f060fefc7c7da98acaec1e283dd59892
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.17 (GNU/Linux)
-iQIcBAEBCgAGBQJN8l6VAAoJENwGBM22xffe84sP/itJE5NcEagdw+kCBxlxybCN
-8aDdGXNru1TaMIGkd+tEFI25IF4hj+I42FztlmP77b36Ug5oAEo5NcF982SW9PPc
-I/FpwWnLLvznUoz2h+PYj16FhdJ2Rw3210MUYKLFwkBxq/AEEbgAcnctbX1/U2u0
-bSA4Tn4JsK4jtMi3DSj5uBGm2aaAIezd8apc/VT3SrGbjLitDeCuUSYbj9pNEunr
-HvTsZTivR6AuSJ6DYf6q5+OPd8klP0LKvtrZMv8jMS3PdJf3nvIwkryPyNS/HvSR
-PfZc3EffWTCg+yGLt25bZ6hHrxelNX2WyMA9PsifHUWKUmhCVxbK6tPGZUprtgnw
-aeqf/Bn8q3fnxfUjFo6Bp5hEjq22qJv/WgWuoXROGJhF+TH1QKhXWsbu0akWIs0L
-dYn2CT8A97X7x5fekicGwyGbBg+mXszK7Vd10BqufabtFTpzSLtSbZz+3RcmKTgj
-QKrHaA4i1a9n8pSRRExuqJo98I777mq1N+U9FTpVRpQbFktUBb7RxoYIL2gmERI6
-iuN8l7MC12vNkCQV3qBWPSBFZShF8kPnbvpDTXpzwiW/P1QlkgOn8If6OTPZ5axQ
-oyr151zw6GCs6HS8qWSXDWuM8VgaP6GWn7I1jWA4rYFLciWAUI7Oc/E4iN40sKUe
-YvOB64cs9PPWjGOkOANT
-=78nd
+iQIcBAEBCgAGBQJN9+P3AAoJELHSF2kinlg4uq4P/3h3zBhAQOV95myCXRjTx27v
+aZLqV7bDDyxZNkFyDWzQYIrkcPWvg6w3FesIX74Bjgll4RoIhSONaV3Vd4dFqKKG
+MOwc5pEcyIfaBofTv/JoJ6S4RXiWdZsvUhTIBDB76HpfXGD/mqxmP3AAqrtw3PYc
++Q3hnHSsoDoOAl0b2J533ed2qXxGLg95jvsDSkXcuW/NZfcHBXBHvp9wEqzDlvu8
+hRDUKDSAXcrf/RjviqL1pBM4VdvKXmwGWrvIjdS/9dgd4v1ZkgqZaPCrSN/FMrnH
+ZGOmvhhB9L8pvFHobAVdXF0ABzKO7Luyoigjtg6P6PBlkn+C6Wkri3OH7LOVOUdZ
+sGgxWk+E4yyegdWMJs09Q3P/L1OoEr0hjW4cu1b7uuhd7e+7evjb+fsCanhM3aVk
+L49yxgc2tw8Y/hcPDLkUslTdY+uIl/DoSx9e+uX3EOi+NK7MgSFlZnX5/+CkeuMK
+wWKPmzr1rfHVvU+lobkvQXF2e3UJhENYrP0K3P5RS7t3uqKHt5q7UI+Zsfv/DNAy
+XhCt1GBJL09Zvi5No2pF5mZw+R6Vv4zAdPNZkm/uw45Twe/VpYSvxnthF9BaXEZh
+fLuT4joo3m7At2YCn+Fk5AQtJS7ru3TxKKBHMu7N+kiA5gB//HbDXKoekl76fZ6q
+NPWQclJtfJn9UhRM4Aq2
+=vyjm
-----END PGP SIGNATURE-----
diff --git a/kde-base/kfmclient/kfmclient-4.6.49.9999.ebuild b/kde-base/kfmclient/kfmclient-4.6.49.9999.ebuild
index 8b2ca449b38..17ab6ac52a1 100644
--- a/kde-base/kfmclient/kfmclient-4.6.49.9999.ebuild
+++ b/kde-base/kfmclient/kfmclient-4.6.49.9999.ebuild
@@ -12,8 +12,8 @@ DESCRIPTION="KDE tool for opening URLs from the command line"
KEYWORDS=""
IUSE="debug"
-# Moved from kde-base/konqueror in 4.3.0-r2, 4.3.65-r1
-add_blocker konqueror 4.3.0-r1 4.3.65:4.4
+# Moved from kde-base/konqueror in 4.3.65-r1
+add_blocker konqueror 4.3.65
KMEXTRACTONLY="
konqueror/kfmclient.desktop
diff --git a/kde-base/kfmclient/kfmclient-4.6.80.ebuild b/kde-base/kfmclient/kfmclient-4.6.80.ebuild
index 5deac086d71..9abe643c9b2 100644
--- a/kde-base/kfmclient/kfmclient-4.6.80.ebuild
+++ b/kde-base/kfmclient/kfmclient-4.6.80.ebuild
@@ -12,8 +12,8 @@ DESCRIPTION="KDE tool for opening URLs from the command line"
KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
IUSE="debug"
-# Moved from kde-base/konqueror in 4.3.0-r2, 4.3.65-r1
-add_blocker konqueror 4.3.0-r1 4.3.65:4.4
+# Moved from kde-base/konqueror in 4.3.65-r1
+add_blocker konqueror 4.3.65
KMEXTRACTONLY="
konqueror/kfmclient.desktop
diff --git a/kde-base/kfmclient/kfmclient-9999.ebuild b/kde-base/kfmclient/kfmclient-9999.ebuild
index 30f6735d3d6..c9ed89a7d29 100644
--- a/kde-base/kfmclient/kfmclient-9999.ebuild
+++ b/kde-base/kfmclient/kfmclient-9999.ebuild
@@ -12,8 +12,8 @@ DESCRIPTION="KDE tool for opening URLs from the command line"
KEYWORDS=""
IUSE="debug"
-# Moved from kde-base/konqueror in 4.3.0-r2, 4.3.65-r1
-add_blocker konqueror 4.3.0-r1 4.3.65:4.4
+# Moved from kde-base/konqueror in 4.3.65-r1
+add_blocker konqueror 4.3.65
KMEXTRACTONLY="
konqueror/kfmclient.desktop