From: Duncan Coutts Date: Mon, 13 Mar 2006 17:16:20 +0000 (+0000) Subject: Improvements to ghc-updater thanks to kosmikus and with help from ferdy X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=9dda7de22ed0c35bfef9eefcce6c04d8dc8844be;p=gentoo.git Improvements to ghc-updater thanks to kosmikus and with help from ferdy Package-Manager: portage-2.1_pre5-r4 --- diff --git a/dev-lang/ghc/ChangeLog b/dev-lang/ghc/ChangeLog index 69165b02ecf3..fef8989695e8 100644 --- a/dev-lang/ghc/ChangeLog +++ b/dev-lang/ghc/ChangeLog @@ -1,6 +1,10 @@ # ChangeLog for dev-lang/ghc # Copyright 2002-2006 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/dev-lang/ghc/ChangeLog,v 1.82 2006/03/13 13:34:17 jer Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-lang/ghc/ChangeLog,v 1.83 2006/03/13 17:16:20 dcoutts Exp $ + + 13 Mar 2006; Duncan Coutts files/ghc-updater, + ghc-6.4.1-r2.ebuild: + Improvements to ghc-updater thanks to kosmikus and with help from ferdy 13 Mar 2006; Jeroen Roovers ghc-6.4.1-r2.ebuild: Marked ~hppa (bug #125389). diff --git a/dev-lang/ghc/Manifest b/dev-lang/ghc/Manifest index b5d7dbc43701..35d4d16c6c49 100644 --- a/dev-lang/ghc/Manifest +++ b/dev-lang/ghc/Manifest @@ -1,6 +1,9 @@ -MD5 b0d8f2d2cc16c3e7edcd7693606ee4a7 ChangeLog 14428 -RMD160 4edfc629b4bb36a4675dabd23e8420865788afe3 ChangeLog 14428 -SHA256 71e6f01282873e7166d44e97551fe901430e25192f0ed32e2a556ad59e8c4617 ChangeLog 14428 +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA1 + +MD5 dec90029ac3ef52da17b63d2828b13a3 ChangeLog 14599 +RMD160 b24392445020b6a0e2b4d99fdece8dfc353cafaa ChangeLog 14599 +SHA256 d59145b2ab957936b08e94cf7a1bc4b2c76c0af119d66d9be682fd6b7ad6884f ChangeLog 14599 MD5 7e423c353b08a2c05693d13f21e067d0 files/depsort.py 1958 RMD160 4192ad9ed14064a9da42ce1faedcf28996094da3 files/depsort.py 1958 SHA256 7406f639d17b8acab6a1db7e398e74379b44950d4821bc36901abd3455d63b3d files/depsort.py 1958 @@ -25,18 +28,25 @@ SHA256 7519b2fa9a9faf4c3545ed471803f85bc102b2428eb9c53ea15ae457271d28b9 files/gh MD5 f55d9cead45de0979d9650dccde5e168 files/ghc-6.4.1-openal.patch 1270 RMD160 fa7b57dc78cc36c9d74e55bc4873e6efc321f353 files/ghc-6.4.1-openal.patch 1270 SHA256 fe6db1cf73571bca4af195321112985201e695cf67ed889cf626e5dc2b54b67e files/ghc-6.4.1-openal.patch 1270 -MD5 af174f2e566a288f0e2276883a866827 files/ghc-updater 9075 -RMD160 8fd05ff7a0bdc19b5d0041906de8c6f7e1b99a8f files/ghc-updater 9075 -SHA256 3da2c1642c63c98e2b2fa8634496ad5e0a62404aaf4775c9a2eee6463c036216 files/ghc-updater 9075 +MD5 e7ba0887c43fd8333a4d1bd92c184244 files/ghc-updater 9045 +RMD160 b044a26add18464b583702f3cac667521c5eb06f files/ghc-updater 9045 +SHA256 eafc2eb58a9c1ad0263fd498cad00f50b0d04860cd8e26aa201910f77d74efbe files/ghc-updater 9045 MD5 49113531ecf3c15247194f067ffe00bd ghc-6.2.2.ebuild 5582 RMD160 b028ea26d634687c73fd8d688f6088d253230f33 ghc-6.2.2.ebuild 5582 SHA256 4473941a958beec2da286f5823b62def6737504cd0524a4dcd6aa777847ccd1d ghc-6.2.2.ebuild 5582 -MD5 6a18274465ad19002c0b8b9879f3f3c7 ghc-6.4.1-r2.ebuild 6467 -RMD160 f7f5a963fc7492cc02962dee04598bbadf8bb51e ghc-6.4.1-r2.ebuild 6467 -SHA256 ecb2234bda7ddb07b6bd1ed1fc1b3ca60e6de2a2c3529a709826766a029b45cf ghc-6.4.1-r2.ebuild 6467 +MD5 24b2e3fc858f218f2bc437e51a1e87af ghc-6.4.1-r2.ebuild 6535 +RMD160 7b8597e0623dd89e5472e864a0fdc5a82a31cb83 ghc-6.4.1-r2.ebuild 6535 +SHA256 e5c6fbdd2935eb5b6a24f0c6fb8dfddad0bfca205696719a2e4f418b439e0878 ghc-6.4.1-r2.ebuild 6535 MD5 9620778937a1aff6ef88863c81222cfc ghc-6.4.ebuild 6109 RMD160 a6588f6fdd9d5420e13ba1ef545ae35cf647a523 ghc-6.4.ebuild 6109 SHA256 8bd0631d7a331b61f8686d8c1db0ed7d30a689a723ff53d9a029e3f8ea406a25 ghc-6.4.ebuild 6109 MD5 c694674dcbef799cd4fdb6914683ebff metadata.xml 223 RMD160 7783e6057effb8b8f0b79cffe8b557b32c633839 metadata.xml 223 SHA256 1d00c8be162a6cb87b3de440b3e63e10b39c12d56e8fbfe592e75aed872b2508 metadata.xml 223 +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v1.4.2.2 (GNU/Linux) + +iD8DBQFEFajZ/B0cxt+cq+wRAp88AJ9aPsxm0Fn/CiLXJLBcpn2KuOY2AACdGfkk +HCVNWd2A0hZBVCaYewcvcco= +=djd8 +-----END PGP SIGNATURE----- diff --git a/dev-lang/ghc/files/ghc-updater b/dev-lang/ghc/files/ghc-updater index e013ee931936..32e3343c88ca 100755 --- a/dev-lang/ghc/files/ghc-updater +++ b/dev-lang/ghc/files/ghc-updater @@ -7,7 +7,6 @@ # This script can be run as many times as you like. It will log the # results in /var/log/ghc-updater.log # -# OLD_GHC_VER = old ghc version we are upgrading from # NEW_GHC_VER = new ghc version we are upgrading to # PKGS_EXCEPTIONS = packages that should NOT be re-emerged for any reason # PKGS_MANUAL = packages that should be re-emerged even if they don't @@ -22,9 +21,10 @@ # PKGS_MASKED = list of packages that are installed, but masked. # -OLD_GHC_VER=$(ls -d /usr/lib/ghc-* | sed 's:^.*ghc-::' \ - | sort -g | tail -n 2 | head -n 1) +shopt -s nullglob + NEW_GHC_VER=$(ghc --version | sed 's:^.*version ::') +NEW_GHC_LIBDIR=$(ghc --print-libdir) PKGS_EXCEPTIONS="dev-lang/ghc dev-lang/ghc-bin" PKGS_MANUAL="" @@ -50,8 +50,6 @@ usage() { echo "usage: ghc-updater [options]" echo " -h, -?, --help help" echo " -p, --pretend pretend (don't do anything)" - echo " -o version set old ghc version to upgrade from [default: ${OLD_GHC_VER}]" - echo " -n version set new ghc version to upgrade to [default: ${NEW_GHC_VER}]" } # @@ -68,14 +66,6 @@ while [ -n "$1" ]; do -p | --pretend) PRETEND=1 ;; - -o) - shift - OLD_GHC_VER="$1" - ;; - -n) - shift - NEW_GHC_VER="$1" - ;; *) usage echo "unrecognised option: $1" @@ -145,14 +135,22 @@ fi # # -# Find all packages that have installed something in -# /usr/lib/ghc-${OLD_GHC_VER} -# /usr/lib/ghc-bin-${OLD_GHC_VER} +# Find all packages that have installed something in +# directories of the form +# /usr/lib/ghc- +# or similar. +# +# /usr/lib/ghc-bin- +# is included because an old ghc-bin ebuild was buggy and +# installed to a wrong dir. # -OLD_PACKAGES_DIR="/usr/lib/ghc-${OLD_GHC_VER} /usr/lib/ghc-bin-${OLD_GHC_VER} \ - /opt/ghc/lib/ghc-${OLD_GHC_VER}" +OLD_PACKAGES_DIR="" +# Exclude new library dir and lib symlinks: +for d in /{usr,opt/ghc}/lib{,64}/ghc{,-bin}-*; do + [[ "${d}" == ${NEW_GHC_LIBDIR} ]] || [[ -L ${d%/*} ]] || OLD_PACKAGES_DIR="${OLD_PACKAGES_DIR}${d} " +done -eloginfo "Starting GHC Updater from ${OLD_GHC_VER} to ${NEW_GHC_VER} :" +eloginfo "Starting GHC Updater to $(which ghc), version ${NEW_GHC_VER} :" eloginfo "Searching for packages with files in the directories:" eloginfo "${OLD_PACKAGES_DIR}" @@ -175,9 +173,9 @@ for content in `find ${PKG_DBDIR} -name CONTENTS`; do fi for d in ${OLD_PACKAGES_DIR}; do - if fgrep "${d}" ${content} > /dev/null; then + if fgrep "${d}/" ${content} > /dev/null; then PKGS_TO_REMERGE="${PKGS_TO_REMERGE} ${CATPKGVER}" - elogecho "Adding to list: ${CATPKGVER}" + elogecho "${CATPKGVER} has files in ${d}" fi done done @@ -194,7 +192,7 @@ PKGS_MISSING="" MASKED_STRING="been masked" BLOCKED_STRING="is blocking" -MISSING_STRING="there are no masked or unmasked ebuilds to satisfy" +MISSING_STRING='there are no ebuilds to satisfy' for pkg in ${PKGS_TO_REMERGE}; do emerge_output="$(emerge -p '>='$pkg 2>&1)" @@ -226,7 +224,11 @@ if [[ -z ${DEPSORT} ]]; then fi PKGS_OK_SORTED="$(${PORTAGE_PYTHON} ${DEPSORT} ${PKGS_OK} | xargs)" -eloginfo "Preparing to merge these packages in this order:" +if [[ -n ${PRETEND} ]]; then + eloginfo "These are the packages that would be merged, in order:" +else + eloginfo "Preparing to merge these packages in this order:" +fi for pkg in $PKGS_OK_SORTED; do elogecho ">=$pkg" done diff --git a/dev-lang/ghc/ghc-6.4.1-r2.ebuild b/dev-lang/ghc/ghc-6.4.1-r2.ebuild index 55f87988284f..a22808a06a6a 100644 --- a/dev-lang/ghc/ghc-6.4.1-r2.ebuild +++ b/dev-lang/ghc/ghc-6.4.1-r2.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2006 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/dev-lang/ghc/ghc-6.4.1-r2.ebuild,v 1.5 2006/03/13 13:34:17 jer Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-lang/ghc/ghc-6.4.1-r2.ebuild,v 1.6 2006/03/13 17:16:20 dcoutts Exp $ # Brief explanation of the bootstrap logic: # @@ -198,8 +198,9 @@ pkg_postinst () { einfo "want to unmerge it. It is no longer needed." einfo ewarn "IMPORTANT:" - ewarn "If you upgrade from another ghc version, please run" - ewarn "/usr/sbin/ghc-updater to re-merge all ghc-based" - ewarn "Haskell libraries." + ewarn "If you have upgraded from another version of ghc or" + ewarn "if you have switched from ghc-bin to ghc, please run:" + ewarn " /usr/sbin/ghc-updater" + ewarn "to re-merge all ghc-based Haskell libraries." }