Commit 0862c211c7a6e7136fe11a9fd85628e6dde6ccd8
1 parent
32b2c065
Revert from using $GAMMALIB in setup script (#1929)
Showing
4 changed files
with
146 additions
and
70 deletions
cscripts/Makefile.am
| 1 | ############################################################################# | 1 | ############################################################################# |
| 2 | # Makefile for cscripts scripts # | 2 | # Makefile for cscripts scripts # |
| 3 | # ------------------------------------------------------------------------- # | 3 | # ------------------------------------------------------------------------- # |
| 4 | -# Copyright (C) 2016 Juergen Knoedlseder # | 4 | +# Copyright (C) 2016-2017 Juergen Knoedlseder # |
| 5 | # ------------------------------------------------------------------------- # | 5 | # ------------------------------------------------------------------------- # |
| 6 | # # | 6 | # # |
| 7 | # This program is free software: you can redistribute it and/or modify # | 7 | # This program is free software: you can redistribute it and/or modify # |
dev/pkgbuild-macosx.sh
| 1 | -#!/bin/bash -f | 1 | +#!/bin/bash |
| 2 | # ========================================================================== | 2 | # ========================================================================== |
| 3 | # ctools Mac OS X package creation | 3 | # ctools Mac OS X package creation |
| 4 | # | 4 | # |
| @@ -17,6 +17,14 @@ | @@ -17,6 +17,14 @@ | ||
| 17 | # You should have received a copy of the GNU General Public License | 17 | # You should have received a copy of the GNU General Public License |
| 18 | # along with this program. If not, see <http://www.gnu.org/licenses/>. | 18 | # along with this program. If not, see <http://www.gnu.org/licenses/>. |
| 19 | # | 19 | # |
| 20 | +# ------------------------------------------------------------------------- | ||
| 21 | +# | ||
| 22 | +# This script installs the ctools and GammaLib packages in the location | ||
| 23 | +# /usr/local/gamma and then builds a Mac OS X package which is finally put | ||
| 24 | +# onto a disk image. Any existing content in /usr/local/gamma will be | ||
| 25 | +# destroyed. The script needs the priviledges to create a folder in | ||
| 26 | +# /usr/local. | ||
| 27 | +# | ||
| 20 | # ========================================================================== | 28 | # ========================================================================== |
| 21 | 29 | ||
| 22 | # ============================================= # | 30 | # ============================================= # |
| @@ -33,8 +41,8 @@ VERSION=$1 | @@ -33,8 +41,8 @@ VERSION=$1 | ||
| 33 | # Set software component versions # | 41 | # Set software component versions # |
| 34 | # =============================== # | 42 | # =============================== # |
| 35 | CFITSIO=cfitsio3410 | 43 | CFITSIO=cfitsio3410 |
| 36 | -NCURSES=ncurses-6.0 | ||
| 37 | -READLINE=readline-7.0 | 44 | +NCURSES=ncurses-5.9 |
| 45 | +READLINE=readline-6.3 | ||
| 38 | GAMMALIB=gammalib-$VERSION | 46 | GAMMALIB=gammalib-$VERSION |
| 39 | CTOOLS=ctools-$VERSION | 47 | CTOOLS=ctools-$VERSION |
| 40 | 48 | ||
| @@ -42,23 +50,33 @@ CTOOLS=ctools-$VERSION | @@ -42,23 +50,33 @@ CTOOLS=ctools-$VERSION | ||
| 42 | # ============== # | 50 | # ============== # |
| 43 | # Set parameters # | 51 | # Set parameters # |
| 44 | # ============== # | 52 | # ============== # |
| 53 | +INSTALLDIR=/usr/local/gamma | ||
| 45 | WRKDIR=$PWD/pkg_build | 54 | WRKDIR=$PWD/pkg_build |
| 46 | -INSTALLDIR=$WRKDIR/install | ||
| 47 | SRCDIR=$WRKDIR/src | 55 | SRCDIR=$WRKDIR/src |
| 48 | PKGDIR=$WRKDIR/pkg | 56 | PKGDIR=$WRKDIR/pkg |
| 49 | PRODDIR=$WRKDIR/prod | 57 | PRODDIR=$WRKDIR/prod |
| 50 | PLISTFILE=$PKGDIR/$CTOOLS-components.plist | 58 | PLISTFILE=$PKGDIR/$CTOOLS-components.plist |
| 51 | DISTFILE=$PRODDIR/$CTOOLS.dist | 59 | DISTFILE=$PRODDIR/$CTOOLS.dist |
| 52 | DMGFILE=$WRKDIR/$CTOOLS-macosx10.7.dmg | 60 | DMGFILE=$WRKDIR/$CTOOLS-macosx10.7.dmg |
| 61 | +LOGFILE=$PWD/pkg_build.log | ||
| 53 | 62 | ||
| 54 | 63 | ||
| 55 | -# ====================== # | ||
| 56 | -# Clean package creation # | ||
| 57 | -# ====================== # | 64 | +# ============================= # |
| 65 | +# Secure installation directory # | ||
| 66 | +# ============================= # | ||
| 67 | +if [ -d "$INSTALLDIR" ]; then | ||
| 68 | + mv $INSTALLDIR $INSTALLDIR.backup | ||
| 69 | +fi | ||
| 70 | + | ||
| 71 | + | ||
| 72 | +# ======================= # | ||
| 73 | +# Clean package directory # | ||
| 74 | +# ======================= # | ||
| 58 | rm -rf $INSTALLDIR | 75 | rm -rf $INSTALLDIR |
| 59 | rm -rf $PKGDIR | 76 | rm -rf $PKGDIR |
| 60 | rm -rf $PRODDIR | 77 | rm -rf $PRODDIR |
| 61 | rm -rf $DMGFILE | 78 | rm -rf $DMGFILE |
| 79 | +rm -rf $LOGFILE | ||
| 62 | 80 | ||
| 63 | 81 | ||
| 64 | # ============================= # | 82 | # ============================= # |
| @@ -69,10 +87,6 @@ mkdir -p $PKGDIR | @@ -69,10 +87,6 @@ mkdir -p $PKGDIR | ||
| 69 | mkdir -p $PRODDIR | 87 | mkdir -p $PRODDIR |
| 70 | 88 | ||
| 71 | 89 | ||
| 72 | -# Make sure that wget is installed | ||
| 73 | -# TODO: If not installed, execute "brew install wget" | ||
| 74 | - | ||
| 75 | - | ||
| 76 | # =============== # | 90 | # =============== # |
| 77 | # Install ncurses # | 91 | # Install ncurses # |
| 78 | # =============== # | 92 | # =============== # |
| @@ -87,9 +101,9 @@ if [ ! -d "$NCURSES" ]; then | @@ -87,9 +101,9 @@ if [ ! -d "$NCURSES" ]; then | ||
| 87 | fi | 101 | fi |
| 88 | fi | 102 | fi |
| 89 | cd $NCURSES | 103 | cd $NCURSES |
| 90 | -./configure --prefix=$INSTALLDIR --with-shared | ||
| 91 | -make | ||
| 92 | -make install | 104 | +./configure --prefix=$INSTALLDIR --with-shared | tee -a $LOGFILE |
| 105 | +make -j4 | tee -a $LOGFILE | ||
| 106 | +make install | tee -a $LOGFILE | ||
| 93 | 107 | ||
| 94 | 108 | ||
| 95 | # ================ # | 109 | # ================ # |
| @@ -106,9 +120,9 @@ if [ ! -d "$READLINE" ]; then | @@ -106,9 +120,9 @@ if [ ! -d "$READLINE" ]; then | ||
| 106 | fi | 120 | fi |
| 107 | fi | 121 | fi |
| 108 | cd $READLINE | 122 | cd $READLINE |
| 109 | -./configure --prefix=$INSTALLDIR | ||
| 110 | -make | ||
| 111 | -make install | 123 | +./configure --prefix=$INSTALLDIR | tee -a $LOGFILE |
| 124 | +make -j4 | tee -a $LOGFILE | ||
| 125 | +make install | tee -a $LOGFILE | ||
| 112 | 126 | ||
| 113 | 127 | ||
| 114 | # =============== # | 128 | # =============== # |
| @@ -125,9 +139,9 @@ if [ ! -d "cfitsio" ]; then | @@ -125,9 +139,9 @@ if [ ! -d "cfitsio" ]; then | ||
| 125 | fi | 139 | fi |
| 126 | fi | 140 | fi |
| 127 | cd cfitsio | 141 | cd cfitsio |
| 128 | -./configure --prefix=$INSTALLDIR | ||
| 129 | -make shared | ||
| 130 | -make install | 142 | +./configure --prefix=$INSTALLDIR | tee -a $LOGFILE |
| 143 | +make -j4 shared | tee -a $LOGFILE | ||
| 144 | +make install | tee -a $LOGFILE | ||
| 131 | 145 | ||
| 132 | 146 | ||
| 133 | # ================ # | 147 | # ================ # |
| @@ -178,9 +192,9 @@ if [ -d ".git" ]; then | @@ -178,9 +192,9 @@ if [ -d ".git" ]; then | ||
| 178 | ./autogen.sh | 192 | ./autogen.sh |
| 179 | fi | 193 | fi |
| 180 | # Build code | 194 | # Build code |
| 181 | -./configure --prefix=$INSTALLDIR | ||
| 182 | -make | ||
| 183 | -make install | 195 | +./configure --prefix=$INSTALLDIR | tee -a $LOGFILE |
| 196 | +make -j4 | tee -a $LOGFILE | ||
| 197 | +make install | tee -a $LOGFILE | ||
| 184 | 198 | ||
| 185 | 199 | ||
| 186 | # ============== # | 200 | # ============== # |
| @@ -222,9 +236,49 @@ if [ -d ".git" ]; then | @@ -222,9 +236,49 @@ if [ -d ".git" ]; then | ||
| 222 | ./autogen.sh | 236 | ./autogen.sh |
| 223 | fi | 237 | fi |
| 224 | # Build code | 238 | # Build code |
| 225 | -./configure --prefix=$INSTALLDIR | ||
| 226 | -make | ||
| 227 | -make install | 239 | +./configure --prefix=$INSTALLDIR | tee $LOGFILE |
| 240 | +make -j4 | tee $LOGFILE | ||
| 241 | +make install | tee $LOGFILE | ||
| 242 | + | ||
| 243 | + | ||
| 244 | +# ================= # | ||
| 245 | +# Post-process code # | ||
| 246 | +# ================= # | ||
| 247 | +# Change links in libraries | ||
| 248 | +for file in ${INSTALLDIR}/lib/*.dylib | ||
| 249 | +do | ||
| 250 | + echo $file | tee -a $LOGFILE | ||
| 251 | + install_name_tool -change "@rpath/libcfitsio.5.dylib" "$INSTALLDIR/lib/libcfitsio.5.dylib" $file | ||
| 252 | +done | ||
| 253 | + | ||
| 254 | +# Change links in binaries | ||
| 255 | +for file in ${INSTALLDIR}/bin/ct* | ||
| 256 | +do | ||
| 257 | + echo $file | tee -a $LOGFILE | ||
| 258 | + install_name_tool -change "@rpath/libcfitsio.5.dylib" "$INSTALLDIR/lib/libcfitsio.5.dylib" $file | ||
| 259 | +done | ||
| 260 | + | ||
| 261 | +# Change links in Python modules | ||
| 262 | +pythons="python2.7" | ||
| 263 | +for python in $pythons | ||
| 264 | +do | ||
| 265 | + # Print Python version | ||
| 266 | + echo $python | tee -a $LOGFILE | ||
| 267 | + | ||
| 268 | + # Change links in gammalib modules | ||
| 269 | + for file in ${INSTALLDIR}/lib/$python/site-packages/gammalib/_*.so | ||
| 270 | + do | ||
| 271 | + echo $file | tee -a $LOGFILE | ||
| 272 | + install_name_tool -change "@rpath/libcfitsio.5.dylib" "$INSTALLDIR/lib/libcfitsio.5.dylib" $file | ||
| 273 | + done | ||
| 274 | + | ||
| 275 | + # Change links in ctools modules | ||
| 276 | + for file in ${INSTALLDIR}/lib/$python/site-packages/ctools/_*.so | ||
| 277 | + do | ||
| 278 | + echo $file | tee -a $LOGFILE | ||
| 279 | + install_name_tool -change "@rpath/libcfitsio.5.dylib" "$INSTALLDIR/lib/libcfitsio.5.dylib" $file | ||
| 280 | + done | ||
| 281 | +done | ||
| 228 | 282 | ||
| 229 | 283 | ||
| 230 | # ====================== # | 284 | # ====================== # |
| @@ -239,6 +293,20 @@ pkgbuild --identifier cta.irap.omp.eu.ctools.pkg \ | @@ -239,6 +293,20 @@ pkgbuild --identifier cta.irap.omp.eu.ctools.pkg \ | ||
| 239 | $PKGDIR/$CTOOLS.pkg | 293 | $PKGDIR/$CTOOLS.pkg |
| 240 | 294 | ||
| 241 | 295 | ||
| 296 | +# ======================= # | ||
| 297 | +# Clean package directory # | ||
| 298 | +# ======================= # | ||
| 299 | +rm -rf $INSTALLDIR | ||
| 300 | + | ||
| 301 | + | ||
| 302 | +# ============================== # | ||
| 303 | +# Recover installation directory # | ||
| 304 | +# ============================== # | ||
| 305 | +if [ -d "$INSTALLDIR.backup" ]; then | ||
| 306 | + mv $INSTALLDIR.backup $INSTALLDIR | ||
| 307 | +fi | ||
| 308 | + | ||
| 309 | + | ||
| 242 | # ====================== # | 310 | # ====================== # |
| 243 | # Build Mac OS X product # | 311 | # Build Mac OS X product # |
| 244 | # ====================== # | 312 | # ====================== # |
dev/pkgcheck-macosx.sh
| 1 | -#!/bin/bash -f | 1 | +#!/bin/bash |
| 2 | # ========================================================================== | 2 | # ========================================================================== |
| 3 | # ctools Mac OS X package validation | 3 | # ctools Mac OS X package validation |
| 4 | # | 4 | # |
| @@ -32,72 +32,65 @@ VERSION=$1 | @@ -32,72 +32,65 @@ VERSION=$1 | ||
| 32 | # =============================== # | 32 | # =============================== # |
| 33 | # Set software component versions # | 33 | # Set software component versions # |
| 34 | # =============================== # | 34 | # =============================== # |
| 35 | -#CFITSIO=cfitsio3410 | ||
| 36 | -#NCURSES=ncurses-6.0 | ||
| 37 | -#READLINE=readline-7.0 | ||
| 38 | -#GAMMALIB=gammalib-$VERSION | ||
| 39 | CTOOLS=ctools-$VERSION | 35 | CTOOLS=ctools-$VERSION |
| 40 | 36 | ||
| 41 | 37 | ||
| 42 | # ============== # | 38 | # ============== # |
| 43 | # Set parameters # | 39 | # Set parameters # |
| 44 | # ============== # | 40 | # ============== # |
| 41 | +INSTALLDIR=/usr/local/gamma | ||
| 45 | WRKDIR=$PWD/pkg_check | 42 | WRKDIR=$PWD/pkg_check |
| 46 | PKGDIR=$PWD/pkg_build | 43 | PKGDIR=$PWD/pkg_build |
| 44 | +DMGFILE=$PKGDIR/$CTOOLS-macosx10.7.dmg | ||
| 45 | +LOGFILE=$PWD/pkg_check.log | ||
| 47 | 46 | ||
| 48 | 47 | ||
| 49 | -#INSTALLDIR=$WRKDIR/install | ||
| 50 | -#SRCDIR=$WRKDIR/src | ||
| 51 | -#PKGDIR=$WRKDIR/pkg | ||
| 52 | -#PRODDIR=$WRKDIR/prod | ||
| 53 | -#PLISTFILE=$PKGDIR/$CTOOLS-components.plist | ||
| 54 | -#DISTFILE=$PRODDIR/$CTOOLS.dist | ||
| 55 | -DMGFILE=$PKGDIR/$CTOOLS-macosx10.7.dmg | 48 | +# ============================= # |
| 49 | +# Secure installation directory # | ||
| 50 | +# ============================= # | ||
| 51 | +if [ -d "$INSTALLDIR" ]; then | ||
| 52 | + mv $INSTALLDIR $INSTALLDIR.backup | ||
| 53 | +fi | ||
| 56 | 54 | ||
| 57 | 55 | ||
| 58 | # ====================== # | 56 | # ====================== # |
| 59 | # Clean package creation # | 57 | # Clean package creation # |
| 60 | # ====================== # | 58 | # ====================== # |
| 61 | -umount $WRKDIR | ||
| 62 | -rm -rf $WRKDIR | 59 | +#umount $WRKDIR |
| 60 | +#rm -rf $WRKDIR | ||
| 63 | 61 | ||
| 64 | 62 | ||
| 65 | # ============================= # | 63 | # ============================= # |
| 66 | # Create package directory tree # | 64 | # Create package directory tree # |
| 67 | # ============================= # | 65 | # ============================= # |
| 68 | -mkdir -p $WRKDIR | 66 | +#mkdir -p $WRKDIR |
| 69 | 67 | ||
| 70 | 68 | ||
| 71 | # ================================= # | 69 | # ================================= # |
| 72 | # Create Mac OS X RAM disk (488 MB) # | 70 | # Create Mac OS X RAM disk (488 MB) # |
| 73 | # ================================= # | 71 | # ================================= # |
| 74 | -DEVICE=$(hdiutil attach ram://1000000 -nomount) | ||
| 75 | -diskutil erasevolume HFS+ 'ctools-test' $DEVICE | ||
| 76 | -umount -f /Volumes/ctools-test | ||
| 77 | -#sudo diskutil enableOwnership $DEVICE # You must be root for this command | ||
| 78 | -mount -t hfs $DEVICE $WRKDIR | 72 | +#DEVICE=$(hdiutil attach ram://1000000 -nomount) |
| 73 | +#diskutil erasevolume HFS+ 'ctools-test' $DEVICE | ||
| 74 | +#umount -f /Volumes/ctools-test | ||
| 75 | +#sudo diskutil enableOwnership $DEVICE | ||
| 76 | +#mount -t hfs $DEVICE $WRKDIR | ||
| 79 | 77 | ||
| 80 | 78 | ||
| 81 | # =============== # | 79 | # =============== # |
| 82 | # Install package # | 80 | # Install package # |
| 83 | # =============== # | 81 | # =============== # |
| 84 | -echo $DMGFILE | ||
| 85 | hdiutil attach $DMGFILE | 82 | hdiutil attach $DMGFILE |
| 86 | -sudo installer -pkg /Volumes/$CTOOLS/$CTOOLS.pkg -target $WRKDIR # You must be root for this command | 83 | +sudo installer -pkg /Volumes/$CTOOLS/$CTOOLS.pkg -target / |
| 87 | hdiutil detach /Volumes/$CTOOLS | 84 | hdiutil detach /Volumes/$CTOOLS |
| 88 | 85 | ||
| 89 | 86 | ||
| 90 | # ================= # | 87 | # ================= # |
| 91 | # Configure package # | 88 | # Configure package # |
| 92 | # ================= # | 89 | # ================= # |
| 93 | -env | ||
| 94 | -export GAMMALIB=$WRKDIR/usr/local/gamma | 90 | +export GAMMALIB=$INSTALLDIR |
| 95 | source $GAMMALIB/bin/gammalib-init.sh | 91 | source $GAMMALIB/bin/gammalib-init.sh |
| 96 | -export CTOOLS=$WRKDIR/usr/local/gamma | 92 | +export CTOOLS=$INSTALLDIR |
| 97 | source $CTOOLS/bin/ctools-init.sh | 93 | source $CTOOLS/bin/ctools-init.sh |
| 98 | -echo | ||
| 99 | -echo | ||
| 100 | -env | ||
| 101 | 94 | ||
| 102 | 95 | ||
| 103 | # ============ # | 96 | # ============ # |
| @@ -105,6 +98,21 @@ env | @@ -105,6 +98,21 @@ env | ||
| 105 | # ============ # | 98 | # ============ # |
| 106 | python -c 'import gammalib; gammalib.test()' | 99 | python -c 'import gammalib; gammalib.test()' |
| 107 | python -c 'import ctools; ctools.test()' | 100 | python -c 'import ctools; ctools.test()' |
| 101 | +python -c 'import cscripts; cscripts.test()' | ||
| 102 | + | ||
| 103 | + | ||
| 104 | +# ======================= # | ||
| 105 | +# Clean package directory # | ||
| 106 | +# ======================= # | ||
| 107 | +#rm -rf $INSTALLDIR | ||
| 108 | + | ||
| 109 | + | ||
| 110 | +# ============================== # | ||
| 111 | +# Recover installation directory # | ||
| 112 | +# ============================== # | ||
| 113 | +#if [ -d "$INSTALLDIR.backup" ]; then | ||
| 114 | +# mv $INSTALLDIR.backup $INSTALLDIR | ||
| 115 | +#fi | ||
| 108 | 116 | ||
| 109 | 117 | ||
| 110 | # =============== # | 118 | # =============== # |
src/ctools-setup.in
| @@ -26,23 +26,23 @@ fi | @@ -26,23 +26,23 @@ fi | ||
| 26 | # | 26 | # |
| 27 | # Set parameters | 27 | # Set parameters |
| 28 | # ============== | 28 | # ============== |
| 29 | -#prefix="@prefix@" | ||
| 30 | -#exec_prefix="@exec_prefix@" | ||
| 31 | -#ctools_bin="@bindir@" | ||
| 32 | -#ctools_lib="@libdir@" | ||
| 33 | -#python_dir="@pythondir@" | ||
| 34 | -#python_exec_dir="@pyexecdir@" | ||
| 35 | -#pkgconfig_dir="@libdir@/pkgconfig" | ||
| 36 | -#man_dir="@datadir@/doc/ctools/man" | ||
| 37 | -#caldb_dir="@datadir@/caldb" | ||
| 38 | -prefix="$CTOOLS" | ||
| 39 | -ctools_bin="$CTOOLS/bin" | ||
| 40 | -ctools_lib="$CTOOLS/lib" | 29 | +prefix="@prefix@" |
| 30 | +exec_prefix="@exec_prefix@" | ||
| 31 | +ctools_bin="@bindir@" | ||
| 32 | +ctools_lib="@libdir@" | ||
| 41 | python_dir="@pythondir@" | 33 | python_dir="@pythondir@" |
| 42 | python_exec_dir="@pyexecdir@" | 34 | python_exec_dir="@pyexecdir@" |
| 43 | -pkgconfig_dir="$CTOOLS/lib/pkgconfig" | ||
| 44 | -man_dir="$CTOOLS/share/doc/ctools/man" | ||
| 45 | -caldb_dir="$CTOOLS/share/caldb" | 35 | +pkgconfig_dir="@libdir@/pkgconfig" |
| 36 | +man_dir="@datadir@/doc/ctools/man" | ||
| 37 | +caldb_dir="@datadir@/caldb" | ||
| 38 | +#prefix="$CTOOLS" | ||
| 39 | +#ctools_bin="$CTOOLS/bin" | ||
| 40 | +#ctools_lib="$CTOOLS/lib" | ||
| 41 | +#python_dir="@pythondir@" | ||
| 42 | +#python_exec_dir="@pyexecdir@" | ||
| 43 | +#pkgconfig_dir="$CTOOLS/lib/pkgconfig" | ||
| 44 | +#man_dir="$CTOOLS/share/doc/ctools/man" | ||
| 45 | +#caldb_dir="$CTOOLS/share/caldb" | ||
| 46 | uname_system=`uname` | 46 | uname_system=`uname` |
| 47 | 47 | ||
| 48 | # | 48 | # |