Browse Source

Changes to fix failing nginx builds (#2487)

* Changes to fix failing nginx builds

* Resolved issues due to unixodbc root installation

* Fied failing nginx build

* Fixed incorrect paths during sed replace for unixodbc

* Local non root installation of apache/httpd 2.4 and removed sudo references Attempt-1

* Forot to comment the chown www-data line from apache-postgresql setup

* ffead-cpp folder was getting removed due to apache local installation fix
Sumeet Chhetri 8 years ago
parent
commit
c76c226486

+ 12 - 9
frameworks/C++/ffead-cpp/setup-apache2-mysql.sh

@@ -1,15 +1,18 @@
 #!/bin/bash
 
-fw_depends mysql apache ffead-cpp-apache
+fw_depends mysql ffead-cpp-apache
 
-export FFEAD_CPP_PATH=/var/www/ffead-cpp-2.0
+export FFEAD_CPP_PATH=${IROOT}/httpd/htdocs/ffead-cpp-2.0
 export LD_LIBRARY_PATH=$IROOT:$FFEAD_CPP_PATH/lib:$LD_LIBRARY_PATH
 echo $FFEAD_CPP_PATH
 echo $LD_LIBRARY_PATH
-sudo rm -f $FFEAD_CPP_PATH/*.cntrl
-sudo rm -f $FFEAD_CPP_PATH/tmp/*.sess
-sudo cp $FFEAD_CPP_PATH/web/te-benchmark/config/sdormmysql.xml $FFEAD_CPP_PATH/web/te-benchmark/config/sdorm.xml
-sudo rm -rf $FFEAD_CPP_PATH/lib
-sudo cp -Rf $FFEAD_CPP_PATH/libsql $FFEAD_CPP_PATH/lib
-sudo cp $FFEAD_CPP_PATH/web/te-benchmark/sql-src/TeBkWorldsql.h $FFEAD_CPP_PATH/web/te-benchmark/include/TeBkWorld.h
-sudo /etc/init.d/apache2 restart > ffead.log 2>&1
+rm -f $FFEAD_CPP_PATH/*.cntrl
+rm -f $FFEAD_CPP_PATH/tmp/*.sess
+cp $FFEAD_CPP_PATH/web/te-benchmark/config/sdormmysql.xml $FFEAD_CPP_PATH/web/te-benchmark/config/sdorm.xml
+rm -rf $FFEAD_CPP_PATH/lib
+cp -Rf $FFEAD_CPP_PATH/libsql $FFEAD_CPP_PATH/lib
+cp $FFEAD_CPP_PATH/web/te-benchmark/sql-src/TeBkWorldsql.h $FFEAD_CPP_PATH/web/te-benchmark/include/TeBkWorld.h
+#chown -R www-data:www-data $FFEAD_CPP_PATH
+export ODBCINI=$IROOT/odbc.ini
+export ODBCSYSINI=$IROOT
+${IROOT}/httpd/bin/apachectl start > ffead.log 2>&1

+ 12 - 9
frameworks/C++/ffead-cpp/setup-apache2-postgresql.sh

@@ -1,15 +1,18 @@
 #!/bin/bash
 
-fw_depends postgresql apache ffead-cpp-apache
+fw_depends postgresql ffead-cpp-apache
 
-export FFEAD_CPP_PATH=/var/www/ffead-cpp-2.0
+export FFEAD_CPP_PATH=${IROOT}/httpd/htdocs/ffead-cpp-2.0
 export LD_LIBRARY_PATH=$IROOT:$FFEAD_CPP_PATH/lib:$LD_LIBRARY_PATH
 echo $FFEAD_CPP_PATH
 echo $LD_LIBRARY_PATH
-sudo rm -f $FFEAD_CPP_PATH/*.cntrl
-sudo rm -f $FFEAD_CPP_PATH/tmp/*.sess
-sudo cp $FFEAD_CPP_PATH/web/te-benchmark/config/sdormpostgresql.xml $FFEAD_CPP_PATH/web/te-benchmark/config/sdorm.xml
-sudo rm -rf $FFEAD_CPP_PATH/lib
-sudo cp -Rf $FFEAD_CPP_PATH/libsql $FFEAD_CPP_PATH/lib
-sudo cp $FFEAD_CPP_PATH/web/te-benchmark/sql-src/TeBkWorldsql.h $FFEAD_CPP_PATH/web/te-benchmark/include/TeBkWorld.h
-sudo /etc/init.d/apache2 restart > ffead.log 2>&1
+rm -f $FFEAD_CPP_PATH/*.cntrl
+rm -f $FFEAD_CPP_PATH/tmp/*.sess
+cp $FFEAD_CPP_PATH/web/te-benchmark/config/sdormpostgresql.xml $FFEAD_CPP_PATH/web/te-benchmark/config/sdorm.xml
+rm -rf $FFEAD_CPP_PATH/lib
+cp -Rf $FFEAD_CPP_PATH/libsql $FFEAD_CPP_PATH/lib
+cp $FFEAD_CPP_PATH/web/te-benchmark/sql-src/TeBkWorldsql.h $FFEAD_CPP_PATH/web/te-benchmark/include/TeBkWorld.h
+#chown -R www-data:www-data $FFEAD_CPP_PATH
+export ODBCINI=$IROOT/odbc.ini
+export ODBCSYSINI=$IROOT
+${IROOT}/httpd/bin/apachectl start > ffead.log 2>&1

+ 12 - 9
frameworks/C++/ffead-cpp/setup-apache2.sh

@@ -1,15 +1,18 @@
 #!/bin/bash
 
-fw_depends apache mongodb ffead-cpp-apache
+fw_depends mongodb ffead-cpp-apache
 
-export FFEAD_CPP_PATH=/var/www/ffead-cpp-2.0
+export FFEAD_CPP_PATH=${IROOT}/httpd/htdocs/ffead-cpp-2.0
 export LD_LIBRARY_PATH=$IROOT:$FFEAD_CPP_PATH/lib:$LD_LIBRARY_PATH
 echo $FFEAD_CPP_PATH
 echo $LD_LIBRARY_PATH
-sudo rm -f $FFEAD_CPP_PATH/*.cntrl
-sudo rm -f $FFEAD_CPP_PATH/tmp/*.sess
-sudo cp $FFEAD_CPP_PATH/web/te-benchmark/config/sdormmongo.xml $FFEAD_CPP_PATH/web/te-benchmark/config/sdorm.xml
-sudo rm -rf $FFEAD_CPP_PATH/lib
-sudo cp -Rf $FFEAD_CPP_PATH/libmongo $FFEAD_CPP_PATH/lib
-sudo cp $FFEAD_CPP_PATH/web/te-benchmark/sql-src/TeBkWorldmongo.h $FFEAD_CPP_PATH/web/te-benchmark/include/TeBkWorld.h
-sudo /etc/init.d/apache2 restart > ffead.log 2>&1
+rm -f $FFEAD_CPP_PATH/*.cntrl
+rm -f $FFEAD_CPP_PATH/tmp/*.sess
+cp $FFEAD_CPP_PATH/web/te-benchmark/config/sdormmongo.xml $FFEAD_CPP_PATH/web/te-benchmark/config/sdorm.xml
+rm -rf $FFEAD_CPP_PATH/lib
+cp -Rf $FFEAD_CPP_PATH/libmongo $FFEAD_CPP_PATH/lib
+cp $FFEAD_CPP_PATH/web/te-benchmark/sql-src/TeBkWorldmongo.h $FFEAD_CPP_PATH/web/te-benchmark/include/TeBkWorld.h
+#chown -R www-data:www-data $FFEAD_CPP_PATH
+export ODBCINI=$IROOT/odbc.ini
+export ODBCSYSINI=$IROOT
+${IROOT}/httpd/bin/apachectl start > ffead.log 2>&1

+ 4 - 2
frameworks/C++/ffead-cpp/setup-mysql.sh

@@ -2,7 +2,7 @@
 
 fw_depends mysql ffead-cpp
 
-export FFEAD_CPP_PATH=$TROOT/ffead-cpp-2.0
+export FFEAD_CPP_PATH=$IROOT/ffead-cpp-2.0
 export LD_LIBRARY_PATH=$IROOT:$FFEAD_CPP_PATH/lib:$LD_LIBRARY_PATH
 echo $FFEAD_CPP_PATH
 echo $LD_LIBRARY_PATH
@@ -12,5 +12,7 @@ cp $FFEAD_CPP_PATH/web/te-benchmark/config/sdormmysql.xml $FFEAD_CPP_PATH/web/te
 rm -rf $FFEAD_CPP_PATH/lib
 cp -Rf $FFEAD_CPP_PATH/libsql $FFEAD_CPP_PATH/lib
 cp $FFEAD_CPP_PATH/web/te-benchmark/sql-src/TeBkWorldsql.h $FFEAD_CPP_PATH/web/te-benchmark/include/TeBkWorld.h
-$TROOT/ffead-cpp-2.0/CHS $FFEAD_CPP_PATH > ffead.log 2>&1
+export ODBCINI=$IROOT/odbc.ini
+export ODBCSYSINI=$IROOT
+$IROOT/ffead-cpp-2.0/CHS $FFEAD_CPP_PATH > ffead.log 2>&1
 

+ 1 - 1
frameworks/C++/ffead-cpp/setup-nginx-mysql.sh

@@ -2,7 +2,7 @@
 
 fw_depends mysql ffead-cpp-nginx
 
-export FFEAD_CPP_PATH=$TROOT/ffead-cpp-2.0
+export FFEAD_CPP_PATH=$IROOT/ffead-cpp-2.0
 export LD_LIBRARY_PATH=$IROOT:$FFEAD_CPP_PATH/lib:$LD_LIBRARY_PATH
 echo $FFEAD_CPP_PATH
 echo $LD_LIBRARY_PATH

+ 3 - 1
frameworks/C++/ffead-cpp/setup-nginx-postgresql.sh

@@ -2,7 +2,7 @@
 
 fw_depends postgresql ffead-cpp-nginx
 
-export FFEAD_CPP_PATH=$TROOT/ffead-cpp-2.0
+export FFEAD_CPP_PATH=$IROOT/ffead-cpp-2.0
 export LD_LIBRARY_PATH=$IROOT:$FFEAD_CPP_PATH/lib:$LD_LIBRARY_PATH
 echo $FFEAD_CPP_PATH
 echo $LD_LIBRARY_PATH
@@ -12,4 +12,6 @@ cp $FFEAD_CPP_PATH/web/te-benchmark/config/sdormpostgresql.xml $FFEAD_CPP_PATH/w
 rm -rf $FFEAD_CPP_PATH/lib
 cp -Rf $FFEAD_CPP_PATH/libsql $FFEAD_CPP_PATH/lib
 cp $FFEAD_CPP_PATH/web/te-benchmark/sql-src/TeBkWorldsql.h $FFEAD_CPP_PATH/web/te-benchmark/include/TeBkWorld.h
+export ODBCINI=$IROOT/odbc.ini
+export ODBCSYSINI=$IROOT
 $IROOT/nginxfc/sbin/nginx > ffead.log 2>&1

+ 1 - 1
frameworks/C++/ffead-cpp/setup-nginx.sh

@@ -2,7 +2,7 @@
 
 fw_depends mongodb ffead-cpp-nginx
 
-export FFEAD_CPP_PATH=$TROOT/ffead-cpp-2.0
+export FFEAD_CPP_PATH=$IROOT/ffead-cpp-2.0
 export LD_LIBRARY_PATH=$IROOT:$FFEAD_CPP_PATH/lib:$LD_LIBRARY_PATH
 echo $FFEAD_CPP_PATH
 echo $LD_LIBRARY_PATH

+ 4 - 2
frameworks/C++/ffead-cpp/setup-postgresql.sh

@@ -2,7 +2,7 @@
 
 fw_depends postgresql ffead-cpp
 
-export FFEAD_CPP_PATH=$TROOT/ffead-cpp-2.0
+export FFEAD_CPP_PATH=$IROOT/ffead-cpp-2.0
 export LD_LIBRARY_PATH=$IROOT:$FFEAD_CPP_PATH/lib:$LD_LIBRARY_PATH
 echo $FFEAD_CPP_PATH
 echo $LD_LIBRARY_PATH
@@ -12,5 +12,7 @@ cp $FFEAD_CPP_PATH/web/te-benchmark/config/sdormpostgresql.xml $FFEAD_CPP_PATH/w
 rm -rf $FFEAD_CPP_PATH/lib
 cp -Rf $FFEAD_CPP_PATH/libsql $FFEAD_CPP_PATH/lib
 cp $FFEAD_CPP_PATH/web/te-benchmark/sql-src/TeBkWorldsql.h $FFEAD_CPP_PATH/web/te-benchmark/include/TeBkWorld.h
-$TROOT/ffead-cpp-2.0/CHS $FFEAD_CPP_PATH > ffead.log 2>&1
+export ODBCINI=$IROOT/odbc.ini
+export ODBCSYSINI=$IROOT
+$IROOT/ffead-cpp-2.0/CHS $FFEAD_CPP_PATH > ffead.log 2>&1
 

+ 2 - 2
frameworks/C++/ffead-cpp/setup.sh

@@ -2,7 +2,7 @@
 
 fw_depends mongodb ffead-cpp
 
-export FFEAD_CPP_PATH=$TROOT/ffead-cpp-2.0
+export FFEAD_CPP_PATH=$IROOT/ffead-cpp-2.0
 export LD_LIBRARY_PATH=$IROOT:$FFEAD_CPP_PATH/lib:$LD_LIBRARY_PATH
 echo $FFEAD_CPP_PATH
 echo $LD_LIBRARY_PATH
@@ -12,5 +12,5 @@ cp $FFEAD_CPP_PATH/web/te-benchmark/config/sdormmongo.xml $FFEAD_CPP_PATH/web/te
 rm -rf $FFEAD_CPP_PATH/lib
 cp -Rf $FFEAD_CPP_PATH/libmongo $FFEAD_CPP_PATH/lib
 cp $FFEAD_CPP_PATH/web/te-benchmark/sql-src/TeBkWorldmongo.h $FFEAD_CPP_PATH/web/te-benchmark/include/TeBkWorld.h
-$TROOT/ffead-cpp-2.0/CHS $FFEAD_CPP_PATH > ffead.log 2>&1
+$IROOT/ffead-cpp-2.0/CHS $FFEAD_CPP_PATH > ffead.log 2>&1
 

+ 80 - 34
toolset/setup/linux/frameworks/ffead-cpp-apache.sh

@@ -5,48 +5,97 @@ fw_installed ffead-cpp-apache && return 0
 fw_get -o unixODBC-2.3.4.tar.gz ftp://ftp.unixodbc.org/pub/unixODBC/unixODBC-2.3.4.tar.gz
 fw_untar unixODBC-2.3.4.tar.gz
 cd unixODBC-2.3.4
-./configure --enable-stats=no --enable-gui=no --enable-drivers=no --enable-iconv --with-iconv-char-enc=UTF8 --with-iconv-ucode-enc=UTF16LE --libdir=/usr/lib/x86_64-linux-gnu --prefix=/usr --sysconfdir=/etc
-sudo make install
-
-sudo apt-get install -y build-essential
-sudo apt-get install -y uuid-dev libmyodbc odbc-postgresql
-
-fw_get -o ffead-cpp-2.0.tar.gz https://github.com/sumeetchhetri/ffead-cpp/releases/download/2.0/ffead-cpp-2.0-te-bin.tar.gz
-fw_untar ffead-cpp-2.0.tar.gz
-
-sudo rm -rf /var/www/ffead-cpp-2.0
-sudo cp -R ffead-cpp-2.0-bin/ /var/www
-sudo mv /var/www/ffead-cpp-2.0-bin /var/www/ffead-cpp-2.0
-rm -rf ffead-cpp-2.0/
-
-sudo sed -i 's|localhost|'${DBHOST}'|g' ${TROOT}/ffead-cpp-2.0/web/te-benchmark/config/sdorm*
-
-sudo rm -f /etc/odbcinst.ini
-sudo rm -f /etc/odbc.ini
-
-sudo cp ${TROOT}/ffead-cpp-2.0/resources/sample-odbcinst.ini /etc/odbcinst.ini
-sudo cp ${TROOT}/ffead-cpp-2.0/resources/sample-odbc.ini /etc/odbc.ini
-
-sudo sed -i 's|localhost|'${DBHOST}'|g' /etc/odbc.ini
+./configure --enable-stats=no --enable-gui=no --enable-drivers=no --enable-iconv --with-iconv-char-enc=UTF8 --with-iconv-ucode-enc=UTF16LE --libdir=${IROOT} --prefix=${IROOT} --sysconfdir=${IROOT}
+make install
+cd -
 
 fw_get -o mongo-c-driver-1.4.0.tar.gz https://github.com/mongodb/mongo-c-driver/releases/download/1.4.0/mongo-c-driver-1.4.0.tar.gz
 fw_untar mongo-c-driver-1.4.0.tar.gz
 cd mongo-c-driver-1.4.0/
 ./configure --prefix=${IROOT} --libdir=${IROOT} --disable-automatic-init-and-cleanup
-make && sudo make install
+make && make install
+cd -
+
+sudo apt-get install -y build-essential
+sudo apt-get install -y uuid-dev libmyodbc odbc-postgresql
 
-FFEADROOT=/var/www/ffead-cpp-2.0
+if [ ! -d "${IROOT}/ffead-cpp-2.0" ]; then
+	fw_get -o ffead-cpp-2.0.tar.gz https://github.com/sumeetchhetri/ffead-cpp/releases/download/2.0/ffead-cpp-2.0-te-bin.tar.gz
+	fw_untar ffead-cpp-2.0.tar.gz
+
+	rm -rf ffead-cpp-2.0
+	cp -rf ffead-cpp-2.0-bin ${IROOT}/ffead-cpp-2.0
+fi
+
+fw_get -o httpd-2.4.25.tar.gz http://www-us.apache.org/dist//httpd/httpd-2.4.25.tar.gz
+fw_get -o apr-1.5.2.tar.gz http://www-us.apache.org/dist//apr/apr-1.5.2.tar.gz
+fw_get -o apr-util-1.5.4.tar.gz http://www-us.apache.org/dist//apr/apr-util-1.5.4.tar.gz
+fw_untar httpd-2.4.25.tar.gz
+fw_untar apr-1.5.2.tar.gz
+fw_untar apr-util-1.5.4.tar.gz
+mv -f apr-1.5.2 httpd-2.4.25/srclib/apr
+mv -f apr-util-1.5.4 httpd-2.4.25/srclib/apr-util
+cd ${IROOT}/httpd-2.4.25
+rm -rf ${IROOT}/httpd
+mkdir ${IROOT}/httpd
+./configure --prefix=${IROOT}/httpd --enable-mods-shared=all --with-included-apr
+make
+make install
+cd -
+
+fw_get -o mod_ffeadcpp.cpp https://raw.githubusercontent.com/sumeetchhetri/ffead-cpp/master/modules/apache_mod_ffeadcpp/mod_ffeadcpp.cpp
+g++ -fpic -DSHARED_MODULE -fpermissive -I"${IROOT}/httpd/include" -I"${IROOT}/ffead-cpp-2.0/include/" -I"${IROOT}/include" -I"${IROOT}/include/libbson-1.0/" -I"${IROOT}/include/libmongoc-1.0" mod_ffeadcpp.cpp -L"${IROOT}/ffead-cpp-2.0/lib" -L"${IROOT}" -lffead_common -lffead_framework -ldl -lcrypto -lssl -c mod_ffeadcpp.cpp
+g++ -shared -o mod_ffeadcpp.so mod_ffeadcpp.o -L"${IROOT}/ffead-cpp-2.0/lib" -L"${IROOT}" -L"${IROOT}/httpd/lib" -lffead_common -lffead_framework -ldl -lcrypto -lssl -lapr-1 -laprutil-1 -lstdc++
+${IROOT}/httpd/bin/apxs -i -n 'ffead_cpp' mod_ffeadcpp.so
+
+sed -i 's|localhost|'${DBHOST}'|g' ${IROOT}/ffead-cpp-2.0/web/te-benchmark/config/sdorm.xml
+sed -i 's|localhost|'${DBHOST}'|g' ${IROOT}/ffead-cpp-2.0/web/te-benchmark/config/sdormmongo.xml
+sed -i 's|localhost|'${DBHOST}'|g' ${IROOT}/ffead-cpp-2.0/web/te-benchmark/config/sdormmysql.xml
+sed -i 's|localhost|'${DBHOST}'|g' ${IROOT}/ffead-cpp-2.0/web/te-benchmark/config/sdormpostgresql.xml
+
+cp ${IROOT}/ffead-cpp-2.0/resources/sample-odbcinst.ini ${IROOT}/odbcinst.ini
+cp ${IROOT}/ffead-cpp-2.0/resources/sample-odbc.ini ${IROOT}/odbc.ini
+
+sed -i 's|localhost|'${DBHOST}'|g' ${IROOT}/odbc.ini
+
+cp -rf ${IROOT}/ffead-cpp-2.0 ${IROOT}/httpd/htdocs/
+
+FFEADROOT=${IROOT}/httpd/htdocs/ffead-cpp-2.0
 ETROOT=${FFEADROOT//\//\\/}
 EIROOT=${IROOT//\//\\/}
 
-sudo sed -i 's/.*Listen 80.*/#Listen 80/' /etc/apache2/ports.conf
-sudo sed -i '/^export FFEAD_CPP_PATH=/{h;s/=.*/='"${ETROOT}"'/};${x;/^$/{s//export FFEAD_CPP_PATH='"${ETROOT}"'/;H};x}' /etc/apache2/envvars
-sudo sed -i '/^export LD_LIBRARY_PATH=/{h;s/=.*/='"${EIROOT}"':$FFEAD_CPP_PATH\/lib:$LD_LIBRARY_PATH/};${x;/^$/{s//export LD_LIBRARY_PATH='"${EIROOT}"':$FFEAD_CPP_PATH\/lib:$LD_LIBRARY_PATH/;H};x}' /etc/apache2/envvars
+sed -i 's/Listen 80.*/#Listen 80/' ${IROOT}/httpd/conf/httpd.conf
+sed -i 's/Include conf\/ffead-site\.conf//' ${IROOT}/httpd/conf/httpd.conf
+echo 'Include conf/ffead-site.conf' >> ${IROOT}/httpd/conf/httpd.conf
 
-sudo bash -c 'rm -f /etc/apache2/sites-enabled/ffead-site.conf'
+if [ ! -f ${IROOT}/httpd/bin/envvars  ]; then
+bash -c 'cat > ${IROOT}/httpd/bin/envvars <<EOL
+export FFEAD_CPP_PATH='"${FFEADROOT}"'
+export LD_LIBRARY_PATH=\$FFEAD_CPP_PATH/lib:'"${IROOT}"':\$LD_LIBRARY_PATH/
+export ODBCINI='"$IROOT"'/odbc.ini
+export ODBCSYSINI='"$IROOT"'	
+EOL'
+else
+	if [ ! -f ${IROOT}/httpd/bin/envvars.bk  ]; then
+		cp ${IROOT}/httpd/bin/envvars ${IROOT}/httpd/bin/envvars.bk
+	fi
+	cp ${IROOT}/httpd/bin/envvars.bk ${IROOT}/httpd/bin/envvars
+	sed -i '/^export FFEAD_CPP_PATH/ d' ${IROOT}/httpd/bin/envvars
+	sed -i '/^export LD_LIBRARY_PATH/ d' ${IROOT}/httpd/bin/envvars
+	sed -i '/^export ODBCINI/ d' ${IROOT}/httpd/bin/envvars
+	sed -i '/^export ODBCSYSINI/ d' ${IROOT}/httpd/bin/envvars	
+bash -c 'cat <<EOL >> ${IROOT}/httpd/bin/envvars
+export FFEAD_CPP_PATH='"${FFEADROOT}"'
+export LD_LIBRARY_PATH='"${FFEADROOT}"'/lib:'"${IROOT}"':$LD_LIBRARY_PATH/
+export ODBCINI='"$IROOT"'/odbc.ini
+export ODBCSYSINI='"$IROOT"' 
+EOL'
+fi
 
-sudo bash -c 'cat > /etc/apache2/sites-enabled/ffead-site.conf <<EOL
-LoadModule ffead_cpp_module '"${FFEADROOT}"'/mod_ffeadcpplib.so
+bash -c 'rm -f ${IROOT}/httpd/conf/ffead-site.conf'
+
+bash -c 'cat > ${IROOT}/httpd/conf/ffead-site.conf <<EOL
+LoadModule ffead_cpp_module '"${IROOT}"'/httpd/modules/mod_ffeadcpp.so
 Listen 8080
 FFEAD_CPP_PATH '"${FFEADROOT}"'
 <VirtualHost *:8080>
@@ -65,7 +114,4 @@ FFEAD_CPP_PATH '"${FFEADROOT}"'
 </VirtualHost>
 EOL'
 
-sudo chown -R www-data:www-data ${FFEADROOT}
-sudo chmod -R g+rw ${FFEADROOT}
-
 touch ${IROOT}/ffead-cpp-apache.installed

+ 29 - 19
toolset/setup/linux/frameworks/ffead-cpp-nginx.sh

@@ -5,44 +5,54 @@ fw_installed ffead-cpp-nginx && return 0
 fw_get -o unixODBC-2.3.4.tar.gz ftp://ftp.unixodbc.org/pub/unixODBC/unixODBC-2.3.4.tar.gz
 fw_untar unixODBC-2.3.4.tar.gz
 cd unixODBC-2.3.4
-./configure --enable-stats=no --enable-gui=no --enable-drivers=no --enable-iconv --with-iconv-char-enc=UTF8 --with-iconv-ucode-enc=UTF16LE --libdir=/usr/lib/x86_64-linux-gnu --prefix=/usr --sysconfdir=/etc
-sudo make install
+./configure --enable-stats=no --enable-gui=no --enable-drivers=no --enable-iconv --with-iconv-char-enc=UTF8 --with-iconv-ucode-enc=UTF16LE --libdir=${IROOT} --prefix=${IROOT} --sysconfdir=${IROOT}
+make install
+cd -
 
 sudo apt-get install -y build-essential
 sudo apt-get install -y uuid-dev libmyodbc odbc-postgresql
 
-fw_get -o ffead-cpp-2.0.tar.gz https://github.com/sumeetchhetri/ffead-cpp/releases/download/2.0/ffead-cpp-2.0-te-bin.tar.gz
-fw_untar ffead-cpp-2.0.tar.gz
+if [ ! -d "${IROOT}/ffead-cpp-2.0" ]; then
+	fw_get -o ffead-cpp-2.0.tar.gz https://github.com/sumeetchhetri/ffead-cpp/releases/download/2.0/ffead-cpp-2.0-te-bin.tar.gz
+	fw_untar ffead-cpp-2.0.tar.gz
 
-sudo rm -rf ${TROOT}/ffead-cpp-2.0
-cp -R ffead-cpp-2.0-bin/ ${TROOT}
-mv ${TROOT}/ffead-cpp-2.0-bin ${TROOT}/ffead-cpp-2.0
-rm -rf ffead-cpp-2.0/
+	rm -rf ${IROOT}/ffead-cpp-2.0
+	#cp -R ffead-cpp-2.0-bin/ ${IROOT}
+	mv ${IROOT}/ffead-cpp-2.0-bin ${IROOT}/ffead-cpp-2.0
+	#rm -rf ffead-cpp-2.0/
+fi
 
 fw_get -o mongo-c-driver-1.4.0.tar.gz https://github.com/mongodb/mongo-c-driver/releases/download/1.4.0/mongo-c-driver-1.4.0.tar.gz
 fw_untar mongo-c-driver-1.4.0.tar.gz
 cd mongo-c-driver-1.4.0/
 ./configure --prefix=${IROOT} --libdir=${IROOT} --disable-automatic-init-and-cleanup
-make && sudo make install
+make && make install
+cd -
 
 fw_get -o nginx-1.11.3.tar.gz http://nginx.org/download/nginx-1.11.3.tar.gz
 fw_untar nginx-1.11.3.tar.gz
-sudo rm -rf ${IROOT}/nginxfc
+rm -rf ${IROOT}/nginxfc
 cd nginx-1.11.3
-./configure --prefix=${IROOT}/nginxfc --with-ld-opt="-lstdc++ -L${TROOT}/ffead-cpp-2.0/lib -L${IROOT}" --add-module="${TROOT}/ffead-cpp-2.0/ngx_mod" --with-cc-opt="-I${IROOT}/include/libmongoc-1.0/ -I${IROOT}/include/libbson-1.0/ -I${TROOT}/ffead-cpp-2.0/include -w -fpermissive"
+./configure --prefix=${IROOT}/nginxfc --with-ld-opt="-lstdc++ -L${IROOT}/ffead-cpp-2.0/lib -L${IROOT}" --add-module="${IROOT}/ffead-cpp-2.0/ngx_mod" --with-cc-opt="-I${IROOT}/include/ -I${IROOT}/include/libmongoc-1.0/ -I${IROOT}/include/libbson-1.0/ -I${IROOT}/ffead-cpp-2.0/include -w -fpermissive"
 make install
+cd -
 
-sed -i 's|localhost|'${DBHOST}'|g' ${TROOT}/ffead-cpp-2.0/web/te-benchmark/config/sdorm*
+sed -i 's|localhost|'${DBHOST}'|g' ${IROOT}/ffead-cpp-2.0/web/te-benchmark/config/sdorm.xml
+sed -i 's|localhost|'${DBHOST}'|g' ${IROOT}/ffead-cpp-2.0/web/te-benchmark/config/sdormmongo.xml
+sed -i 's|localhost|'${DBHOST}'|g' ${IROOT}/ffead-cpp-2.0/web/te-benchmark/config/sdormmysql.xml
+sed -i 's|localhost|'${DBHOST}'|g' ${IROOT}/ffead-cpp-2.0/web/te-benchmark/config/sdormpostgresql.xml
 
-sudo rm -f /etc/odbcinst.ini
-sudo rm -f /etc/odbc.ini
+rm -f ${IROOT}/odbcinst.ini
+rm -f ${IROOT}/odbc.ini
 
-sudo cp ${TROOT}/ffead-cpp-2.0/resources/sample-odbcinst.ini /etc/odbcinst.ini
-sudo cp ${TROOT}/ffead-cpp-2.0/resources/sample-odbc.ini /etc/odbc.ini
+cp ${IROOT}/ffead-cpp-2.0/resources/sample-odbcinst.ini ${IROOT}/odbcinst.ini
+cp ${IROOT}/ffead-cpp-2.0/resources/sample-odbc.ini ${IROOT}/odbc.ini
 
-sudo sed -i 's|localhost|'${DBHOST}'|g' /etc/odbc.ini
+sed -i 's|localhost|'${DBHOST}'|g' ${IROOT}/odbc.ini
 
-cp ${TROOT}/ffead-cpp-2.0/ngx_mod/nginx.conf ${IROOT}/nginxfc/conf/
-sed -i 's|FFEAD_PATH|'${TROOT}/ffead-cpp-2.0'|g' ${IROOT}/nginxfc/conf/nginx.conf
+cp ${IROOT}/ffead-cpp-2.0/ngx_mod/nginx.conf ${IROOT}/nginxfc/conf/
+sed -i 's|FFEAD_PATH|'${IROOT}/ffead-cpp-2.0'|g' ${IROOT}/nginxfc/conf/nginx.conf
+echo "env ODBCINI=${IROOT}/odbc.ini;" | cat - ${IROOT}/nginxfc/conf/nginx.conf > /tmp/out && mv /tmp/out ${IROOT}/nginxfc/conf/nginx.conf
+echo "env ODBCSYSINI=${IROOT};" | cat - ${IROOT}/nginxfc/conf/nginx.conf > /tmp/out && mv /tmp/out ${IROOT}/nginxfc/conf/nginx.conf
 
 touch ${IROOT}/ffead-cpp-nginx.installed

+ 22 - 15
toolset/setup/linux/frameworks/ffead-cpp.sh

@@ -7,35 +7,42 @@ sudo apt-get remove -y libodbc1 unixodbc unixodbc-dev
 fw_get -o unixODBC-2.3.4.tar.gz ftp://ftp.unixodbc.org/pub/unixODBC/unixODBC-2.3.4.tar.gz
 fw_untar unixODBC-2.3.4.tar.gz
 cd unixODBC-2.3.4
-./configure --enable-stats=no --enable-gui=no --enable-drivers=no --enable-iconv --with-iconv-char-enc=UTF8 --with-iconv-ucode-enc=UTF16LE --libdir=/usr/lib/x86_64-linux-gnu --prefix=/usr --sysconfdir=/etc
-sudo make install
+./configure --enable-stats=no --enable-gui=no --enable-drivers=no --enable-iconv --with-iconv-char-enc=UTF8 --with-iconv-ucode-enc=UTF16LE --libdir=${IROOT} --prefix=${IROOT} --sysconfdir=${IROOT}
+make install
+cd -
 
 sudo apt-get install -y build-essential
 sudo apt-get install -y uuid-dev libmyodbc odbc-postgresql
 
-fw_get -o ffead-cpp-2.0.tar.gz https://github.com/sumeetchhetri/ffead-cpp/releases/download/2.0/ffead-cpp-2.0-te-bin.tar.gz
-fw_untar ffead-cpp-2.0.tar.gz
+if [ ! -d "${IROOT}/ffead-cpp-2.0" ]; then
+	fw_get -o ffead-cpp-2.0.tar.gz https://github.com/sumeetchhetri/ffead-cpp/releases/download/2.0/ffead-cpp-2.0-te-bin.tar.gz
+	fw_untar ffead-cpp-2.0.tar.gz
 
-sudo rm -rf ${TROOT}/ffead-cpp-2.0
-cp -R ffead-cpp-2.0-bin/ ${TROOT}
-mv ${TROOT}/ffead-cpp-2.0-bin ${TROOT}/ffead-cpp-2.0
-rm -rf ffead-cpp-2.0/
+	rm -rf ${IROOT}/ffead-cpp-2.0
+	#cp -R ffead-cpp-2.0-bin/ ${IROOT}
+	mv ${IROOT}/ffead-cpp-2.0-bin ${IROOT}/ffead-cpp-2.0
+	#rm -rf ffead-cpp-2.0/
+fi
 
-sudo sed -i 's|localhost|'${DBHOST}'|g' ${TROOT}/ffead-cpp-2.0/web/te-benchmark/config/sdorm*
+sed -i 's|localhost|'${DBHOST}'|g' ${IROOT}/ffead-cpp-2.0/web/te-benchmark/config/sdorm.xml
+sed -i 's|localhost|'${DBHOST}'|g' ${IROOT}/ffead-cpp-2.0/web/te-benchmark/config/sdormmongo.xml
+sed -i 's|localhost|'${DBHOST}'|g' ${IROOT}/ffead-cpp-2.0/web/te-benchmark/config/sdormmysql.xml
+sed -i 's|localhost|'${DBHOST}'|g' ${IROOT}/ffead-cpp-2.0/web/te-benchmark/config/sdormpostgresql.xml
 
-sudo rm -f /etc/odbcinst.ini
-sudo rm -f /etc/odbc.ini
+rm -f ${IROOT}/odbcinst.ini
+rm -f ${IROOT}/odbc.ini
 
-sudo cp ${TROOT}/ffead-cpp-2.0/resources/sample-odbcinst.ini /etc/odbcinst.ini
-sudo cp ${TROOT}/ffead-cpp-2.0/resources/sample-odbc.ini /etc/odbc.ini
+cp ${IROOT}/ffead-cpp-2.0/resources/sample-odbcinst.ini ${IROOT}/odbcinst.ini
+cp ${IROOT}/ffead-cpp-2.0/resources/sample-odbc.ini ${IROOT}/odbc.ini
 
-sudo sed -i 's|localhost|'${DBHOST}'|g' /etc/odbc.ini
+sed -i 's|localhost|'${DBHOST}'|g' ${IROOT}/odbc.ini
 
 fw_get -o mongo-c-driver-1.4.0.tar.gz https://github.com/mongodb/mongo-c-driver/releases/download/1.4.0/mongo-c-driver-1.4.0.tar.gz
 fw_untar mongo-c-driver-1.4.0.tar.gz
 cd mongo-c-driver-1.4.0/
 ./configure --prefix=${IROOT} --libdir=${IROOT} --disable-automatic-init-and-cleanup
-make && sudo make install
+make && make install
+cd -
 
 touch ${IROOT}/ffead-cpp.installed