summaryrefslogtreecommitdiff
path: root/bin
diff options
context:
space:
mode:
authorFlorian Fischer <vlooe@web.de>2009-06-20 19:48:59 +0200
committerFlorian Fischer <vlooe@web.de>2009-06-20 19:48:59 +0200
commit18460c3b77a3a5004de72a3c2423f1963440ddc1 (patch)
tree3fa1b8e0606863d3b76f6fbfc3c4f47f5afbf4de /bin
parentfixed DEPEND of x11-libs/qt-webkit-4.5.1 (diff)
downloadmultilib-portage-18460c3b77a3a5004de72a3c2423f1963440ddc1.tar.gz
multilib-portage-18460c3b77a3a5004de72a3c2423f1963440ddc1.tar.bz2
multilib-portage-18460c3b77a3a5004de72a3c2423f1963440ddc1.zip
added the abi-wrapper and its neccessary changes
Diffstat (limited to 'bin')
-rw-r--r--bin/check_prep_ml_binaries.sh34
1 files changed, 34 insertions, 0 deletions
diff --git a/bin/check_prep_ml_binaries.sh b/bin/check_prep_ml_binaries.sh
new file mode 100644
index 000000000..c11e17f54
--- /dev/null
+++ b/bin/check_prep_ml_binaries.sh
@@ -0,0 +1,34 @@
+#!/bin/bash
+
+PACKAGES="$(cat doc/prep_ml_binaries | sed "s/#.*$//" | cut -d " " -f 1)"
+
+EXCLUDES=""
+for EXCLUDE in $(cat doc/prep_ml_binaries.exclude | sed "s/#.*//"); do
+ EXCLUDES="${EXCLUDES} -not -name ${EXCLUDE}"
+done
+
+for PACKAGE in ${PACKAGES}; do
+ EBUILDS="$(find ${PACKAGE} -name "*.ebuild" ${EXCLUDES})"
+ find ${PACKAGE} -name "*.ebuild" ${EXCLUDES}
+ EBUILD_CHANGED=""
+ for EBUILD in ${EBUILDS}; do
+ EBUILD_PREP_ML="$(grep prep_ml_binaries ${EBUILD} | tr "\t" "")"
+ PREP_ML="$(grep ${PACKAGE} doc/prep_ml_binaries | cut -d " " -f 2-)"
+ echo "EBUILD:${EBUILD}"
+ echo "EBUILD_PREP_ML:${EBUILD_PREP_ML}"
+ echo "PREP_ML:${PREP_ML}"
+ if [[ -z ${EBUILD_PREP_ML} ]]; then
+ EBUILD_CHANGED="yes"
+ echo -e "\033[1;31m\"${PREP_ML}\" added automatically to ${EBUILD}\033[0m"
+ if [[ -z "$(grep multilib-native_src_install_internal ${EBUILD})" ]]; then
+ echo -e "\nmultilib-native_src_install_internal() {\n\tmultilib-native_check_inherited_funcs src_install\n\t${PREP_ML}\n}" >> ${EBUILD}
+ else
+ sed -i "/^multilib-native_src_install_internal.*/ { :asdf ; /\n\}/! { N ; b asdf }; s@\n\}\$@\n\n\t${PREP_ML}&@ }" ${EBUILD}
+ fi
+ fi
+ done
+ if [[ -n ${EBUILD_CHANGED} ]]; then
+ ebuild ${EBUILD} manifest
+ egencache --update --repo=multilib ${PACKAGE}
+ fi
+done