# 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 <dcoutts@gentoo.org> 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 <jer@gentoo.org> ghc-6.4.1-r2.ebuild:
Marked ~hppa (bug #125389).
-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
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-----
# 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
# 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=""
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}]"
}
#
-p | --pretend)
PRETEND=1
;;
- -o)
- shift
- OLD_GHC_VER="$1"
- ;;
- -n)
- shift
- NEW_GHC_VER="$1"
- ;;
*)
usage
echo "unrecognised option: $1"
#
#
-# 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-<version>
+# or similar.
+#
+# /usr/lib/ghc-bin-<version>
+# 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}"
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
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)"
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
# 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:
#
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."
}