Changes in build.sh

Fixes while debugging build.sh and the CPack targets
This commit is contained in:
Robin Mills 2018-10-22 19:08:52 +01:00 committed by Luis Díaz Más
parent b953af18ea
commit 33032bed8c
4 changed files with 135 additions and 26 deletions

View File

@ -3,20 +3,20 @@ set(CPACK_PACKAGE_CONTACT "Luis Díaz Más <piponazo@gmail.com>")
set(CPACK_PACKAGE_VERSION ${PROJECT_VERSION}) set(CPACK_PACKAGE_VERSION ${PROJECT_VERSION})
set(CPACK_SOURCE_GENERATOR TGZ) set(CPACK_SOURCE_GENERATOR TGZ)
set(CPACK_SOURCE_IGNORE_FILES "build.*;\.git/;\.DS_Store/;") set(CPACK_SOURCE_IGNORE_FILES "build.*;\.git/;\.DS_Store;")
## ----------------------------------------------- ## -----------------------------------------------
## TODO: Luis will rewrite this ----------------- ## TODO: Luis will rewrite this -----------------
if ( MINGW OR MSYS ) if ( MINGW OR MSYS )
if ( CMAKE_SIZEOF_VOID_P EQUAL 8) if ( CMAKE_SIZEOF_VOID_P EQUAL 8 )
set (PACKNAME MinGW-64) set (PACKNAME MinGW-64)
else() else()
set (PACKNAME MinGW-32) set (PACKNAME MinGW-32)
endif() endif()
set (PACKDIR MinGW) set (PACKDIR MinGW)
elseif ( MSVC ) elseif ( MSVC )
set (PACKNAME msvc) set (PACKNAME MSVC)
set (PACKDIR msvc) set (PACKDIR MSVC)
else() else()
set (PACKNAME ${CMAKE_SYSTEM_NAME}) # Darwin or Linux or CYGWIN set (PACKNAME ${CMAKE_SYSTEM_NAME}) # Darwin or Linux or CYGWIN
set (PACKDIR ${PACKNAME}) set (PACKDIR ${PACKNAME})
@ -25,9 +25,9 @@ endif()
if ( CYGWIN OR MINGW OR MSYS ) if ( CYGWIN OR MINGW OR MSYS )
set(CPACK_GENERATOR TGZ) # MinGW/Cygwin use .tar.gz set(CPACK_GENERATOR TGZ) # MinGW/Cygwin use .tar.gz
elseif ( MSVC ) elseif ( MSVC )
set(CPACK_GENERATOR ZIP) # use .zip - less likely to damage bin/exiv2.dll permissions set(CPACK_GENERATOR ZIP) # use .zip - less likely to damage bin/exiv2lib.dll permissions
else() else()
set(CPACK_GENERATOR TGZ) # Linux or MacOS-X: use .tar.gz (works with tar xzf bundle.tar.gz) set(CPACK_GENERATOR TGZ) # Linux or MacOS-X: use .tar.gz
endif() endif()
set(CPACK_PACKAGE_FILE_NAME ${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}-${PACKNAME}) set(CPACK_PACKAGE_FILE_NAME ${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}-${PACKNAME})

View File

@ -1,8 +1,117 @@
contrib/buildserver/ReadMe.txt contrib/buildserver/ReadMe.txt
------------------------------ ------------------------------
To be written. T A B L E of C O N T E N T S
--------------------------------
1 Build Architecture
2 Install and configure Jenkins
3 Setting up the web server on the Mac Mini
3.1 Disable MacOS-X Server Profiles
3.2 Edit /etc/apache2/httpd.conf
3.3 Edit /etc/apache2/extra/httpd-vhosts.conf
3.4 Edit /etc/hosts
1 Build Architecture
--------------------
To be written
2 Install and configure Jenkins on the MacMini
----------------------------------------------
To be written
3 Setting up the web server on the Mac Mini
-------------------------------------------
3.1) Disable MacOS-X Server Profiles
3.2) Edit /etc/apache2/httpd.conf
LoadModule include_module libexec/apache2/mod_include.so
LoadModule vhost_alias_module libexec/apache2/mod_vhost_alias.so
Include /private/etc/apache2/extra/httpd-vhosts.conf
Change the document root:
DocumentRoot "/Users/rmills/clanmills"
<Directory "/Users/rmills/clanmills">
DirectoryIndex default.shtml
#
# Possible values for the Options directive are "None", "All",
# or any combination of:
# Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
#
# Note that "MultiViews" must be named *explicitly* --- "Options All"
# doesn't give it to you.
#
# The Options directive is both complicated and important. Please see
# http://httpd.apache.org/docs/2.4/mod/core.html#options
# for more information.
#
Options FollowSymLinks Multiviews
MultiviewsMatch Any
#
# AllowOverride controls what directives may be placed in .htaccess files.
# It can be "All", "None", or any combination of the keywords:
# AllowOverride FileInfo AuthConfig Limit
#
AllowOverride All
#
# Controls who can get stuff from this server.
#
Require all granted
</Directory>
3.3) Edit /etc/apache2/extra/httpd-vhosts.conf
<VirtualHost *>
ServerName clanmills
DocumentRoot /Users/rmills/clanmills
Options +Includes
DirectoryIndex default.shtml
AccessFileName .htaccess
<Files *>
Options +Includes
</Files>
<Directory *>
AllowOverride All
Allow from all
</Directory>
</VirtualHost>
<VirtualHost *>
ServerName exiv2
DocumentRoot /Users/rmills/exiv2
Options +Includes
DirectoryIndex index.html
AccessFileName .htaccess
<Files *>
Options +Includes
</Files>
<Directory *>
AllowOverride All
Allow from all
Require all granted
</Directory>
</VirtualHost>
3.4) Edit /etc/hosts
##
# Machines
# MM
192.168.0.216 rmillsmm
192.168.0.216 clanmills
192.168.0.216 exiv2
# MBP
192.168.0.217 rmillsmbp
192.168.0.217 klanmills
Robin Mills Robin Mills
robin@clanmills.com robin@clanmills.com
2018-10-21 2018-10-23

View File

@ -63,7 +63,8 @@ unixBuild()
PATH="/usr/local/bin/:/usr/bin:/mingw64/bin:$PATH" PATH="/usr/local/bin/:/usr/bin:/mingw64/bin:$PATH"
cd ${cd} cd ${cd}
if [ ! -e buildserver ]; then if [ ! -e buildserver ]; then
git clone --branch $branch https://github.com/exiv2/exiv2 buildserver git clone --branch $branch https://github.com/exiv2/exiv2 buildserver --depth 1
git fetch --unshallow
fi fi
cd buildserver cd buildserver
git pull --rebase git pull --rebase
@ -71,19 +72,8 @@ mkdir -p build
cd build cd build
cmake .. -G "Unix Makefiles" cmake .. -G "Unix Makefiles"
make make
if [ "$test" == "1" ]; then make tests ; fi make package
make package make tests
if [ $(uname) == 'Darwin' ]; then
# make package_source
source=$(ls -1 *.tar.gz|sed -E -e 's#Darwin#Source#g')
git clone --branch $branch https://github.com/exiv2/exiv2 package
cd package
rm -rf .git test/data
tar czf $source *
cd ..
mv package/$source .
rm -rf package
fi
ls -alt *.tar.gz | sed -E -e 's/\+ / /g' ls -alt *.tar.gz | sed -E -e 's/\+ / /g'
EOF EOF
writeTag $1 $command ${cd}buildserver/build/tag writeTag $1 $command ${cd}buildserver/build/tag
@ -110,9 +100,10 @@ msvcBuild()
prepareToClone $1 "rmdir/s/q ${cd}buildserver" prepareToClone $1 "rmdir/s/q ${cd}buildserver"
! ssh ${user}@$1 <<EOF ! ssh ${user}@$1 <<EOF
cd ${cd} cd ${cd}
IF NOT EXIST buildserver git clone --branch ${branch} https://github.com/exiv2/exiv2 buildserver IF NOT EXIST buildserver git clone --branch ${branch} https://github.com/exiv2/exiv2 buildserver --depth 1
cd buildserver cd buildserver
git pull --rebase git fetch --unshallow
git pull --rebase
if NOT EXIST build mkdir build if NOT EXIST build mkdir build
cd build cd build
conan install .. --profile ${profile} --build missing conan install .. --profile ${profile} --build missing
@ -208,12 +199,21 @@ publishBundle()
} }
if [ $publish == 1 ]; then if [ $publish == 1 ]; then
publishBundle $server /Users/$user/gnu/github/exiv2/buildserver/build '.tar.gz' ## create the source package
publishBundle $server-ubuntu /home/$user/gnu/github/exiv2/buildserver/build '.tar.gz' publishBundle $server-ubuntu /home/$user/gnu/github/exiv2/buildserver/build '.tar.gz'
publishBundle $server-w7 /c/msys32/home/$user/gnu/github/exiv2/buildserver/build '.tar.gz' publishBundle $server-w7 /c/msys32/home/$user/gnu/github/exiv2/buildserver/build '.tar.gz'
publishBundle $server-w7 /c/msys64/home/$user/gnu/github/exiv2/buildserver/build '.tar.gz' publishBundle $server-w7 /c/msys64/home/$user/gnu/github/exiv2/buildserver/build '.tar.gz'
publishBundle $server-w7 /c/cygwin64/home/$user/gnu/github/exiv2/buildserver/build '.tar.gz' publishBundle $server-w7 /c/cygwin64/home/$user/gnu/github/exiv2/buildserver/build '.tar.gz'
publishBundle $server-w7 /c/users/$user/gnu/github/exiv2/buildserver/build '.zip' publishBundle $server-w7 /c/users/$user/gnu/github/exiv2/buildserver/build '.zip'
echo "+++++++++++++++++++++++++++++++++++++++++"
echo "+++ build Source in exiv2/exiv2 +++"
pushd ~/gnu/github/exiv2/exiv2/build >/dev/null
make package_source
ls -alt *Source.tar.gz|sed -E -e 's/\+ / /g'
cp *Source.tar.gz ~/gnu/github/exiv2/buildserver/build
popd >/dev/null
echo "+++++++++++++++++++++++++++++++++++++++++"
publishBundle $server /Users/$user/gnu/github/exiv2/buildserver/build '.tar.gz'
cygwin=0; linux=0; macosx=0; mingw=0; mingw32=0;msvc=0; # don't build anything cygwin=0; linux=0; macosx=0; mingw=0; mingw32=0;msvc=0; # don't build anything
$(dirname $0)/categorize.py $builds $(dirname $0)/categorize.py $builds
fi fi

View File

@ -5,7 +5,7 @@ Structure of the bundle:
------------------------ ------------------------
bin/exiv2 exiv2 and sample applications bin/exiv2 exiv2 and sample applications
bin/libexiv2lib.dll and libcurl.dll dlls bin/exiv2lib.dll and libcurl.dll dlls
include/exiv2/ include files include/exiv2/ include files
lib/exiv2lib.lib (and xmp.lib) link libraries lib/exiv2lib.lib (and xmp.lib) link libraries
share/ man pages share/ man pages