diff options
Diffstat (limited to 'convert_pkg')
-rwxr-xr-x | convert_pkg | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/convert_pkg b/convert_pkg new file mode 100755 index 0000000..fa02fbe --- /dev/null +++ b/convert_pkg @@ -0,0 +1,52 @@ +#!/bin/sh +# +# A semi-disposable script to help convert Ureka IRAF package definitions into +# conda packages. This should be run in the astroconda-iraf repo as +# ./convert_pkg pkgname. It would probably be easy to put this in the Ureka +# scripts/ dir and generalize the paths but the conversion shouldn't need doing +# more than once. + +pkgname=$1 +PKGNAME=$(echo "$1" | tr a-z A-Z) +pkgdir=iraf."$pkgname" +urdefs=/rtfproc/unified_release/ur_work/urel/iraf_packages +uradd=/rtfproc/unified_release/ur_work/urel/addons/irafpkg/build_list +patches=/rtfproc/unified_release/ur_work/tmp_work/patches + +if [ ! -e "$pkgdir" ]; then + + version=$(awk "/[ \t]$pkgname[ \t]/ {print \$3}" "$uradd") + version_us=$(echo "$version" | tr - _) + + urpkg=$urdefs/$pkgname/$version + + fn=$(awk -F '=' '/^tarfile/ {print $2}' $urpkg/ur_conf) + + mkdir "$pkgdir" + sed -e "s|pkgname|$pkgname|" -e "s|PKGNAME|$PKGNAME|" template/meta.yaml \ + -e "s|VERSION|$version_us|" -e "s|FILENAME|$fn|" \ + > "$pkgdir/meta.yaml" + + + for f in bld.bat build.sh post-link.sh pre-unlink.sh; do + cp -p "template/$f" "$pkgdir/" + done + + sed -i -e "s|pkgname|$pkgname|" "$pkgdir/post-link.sh" "$pkgdir/pre-unlink.sh" + + for f in ur_extern.pkg ur_manifest ur_mkhelp_cmd ur_mkpkg_cmd ur_mkpkg_patterns; do + if [ -e "$urpkg/$f" ]; then + cp -p "$urpkg/$f" "$pkgdir/" + fi + done + + sed -i -e '/./,$!d' "$pkgdir/ur_extern.pkg" # no longer need leading space + + (cd /rtfproc/unified_release/scripts; ./convert_patches "$pkgname" "$version") + cp -p "${patches}/${pkgname}/ac.iraf.${pkgname}.patch" "$pkgdir/" + +else + echo "Already exists" >&2 + exit 1 +fi + |