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_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 -----------------
if ( MINGW OR MSYS )
if ( CMAKE_SIZEOF_VOID_P EQUAL 8)
if ( CMAKE_SIZEOF_VOID_P EQUAL 8 )
set (PACKNAME MinGW-64)
else()
set (PACKNAME MinGW-32)
endif()
set (PACKDIR MinGW)
elseif ( MSVC )
set (PACKNAME msvc)
set (PACKDIR msvc)
set (PACKNAME MSVC)
set (PACKDIR MSVC)
else()
set (PACKNAME ${CMAKE_SYSTEM_NAME}) # Darwin or Linux or CYGWIN
set (PACKDIR ${PACKNAME})
@ -25,9 +25,9 @@ endif()
if ( CYGWIN OR MINGW OR MSYS )
set(CPACK_GENERATOR TGZ) # MinGW/Cygwin use .tar.gz
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()
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()
set(CPACK_PACKAGE_FILE_NAME ${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}-${PACKNAME})

View File

@ -1,8 +1,117 @@
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@clanmills.com
2018-10-21
2018-10-23

View File

@ -63,7 +63,8 @@ unixBuild()
PATH="/usr/local/bin/:/usr/bin:/mingw64/bin:$PATH"
cd ${cd}
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
cd buildserver
git pull --rebase
@ -71,19 +72,8 @@ mkdir -p build
cd build
cmake .. -G "Unix Makefiles"
make
if [ "$test" == "1" ]; then make tests ; fi
make package
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
make package
make tests
ls -alt *.tar.gz | sed -E -e 's/\+ / /g'
EOF
writeTag $1 $command ${cd}buildserver/build/tag
@ -110,9 +100,10 @@ msvcBuild()
prepareToClone $1 "rmdir/s/q ${cd}buildserver"
! ssh ${user}@$1 <<EOF
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
git pull --rebase
git fetch --unshallow
git pull --rebase
if NOT EXIST build mkdir build
cd build
conan install .. --profile ${profile} --build missing
@ -208,12 +199,21 @@ publishBundle()
}
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-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/cygwin64/home/$user/gnu/github/exiv2/buildserver/build '.tar.gz'
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
$(dirname $0)/categorize.py $builds
fi

View File

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