changed: remove CPack based packaging

cpack is too limited and have too many issue that need to be worked
around. native packaging for redhat and debian will follow

git-svn-id: http://svn.sintef.no/trondheim/IFEM/trunk@2346 e10b68d5-8a6e-419e-a041-bce267b0401d
This commit is contained in:
akva 2013-04-30 10:20:59 +00:00 committed by Knut Morten Okstad
parent 9003b327bf
commit 52a43a5ec3
3 changed files with 0 additions and 128 deletions

View File

@ -9,8 +9,6 @@ SET(IFEM_VERSION "${IFEM_VERSION_MAJOR}.${IFEM_VERSION_MINOR}.${IFEM_VERSION_PAT
# Generate header with version info
CONFIGURE_FILE(${PROJECT_SOURCE_DIR}/src/IFEM.h.in
${PROJECT_SOURCE_DIR}/src/IFEM.h @ONLY)
CONFIGURE_FILE(${PROJECT_SOURCE_DIR}/scripts/fixupdebs.sh.in
${PROJECT_SOURCE_DIR}/scripts/fixupdebs.sh @ONLY)
CONFIGURE_FILE(${PROJECT_SOURCE_DIR}/doc/libifem-builddeps.control.in
${PROJECT_SOURCE_DIR}/doc/libifem-builddeps.control @ONLY)
@ -178,6 +176,3 @@ ELSE(WIN32)
INSTALL(FILES ${PROJECT_SOURCE_DIR}/COPYING DESTINATION share/doc/IFEM COMPONENT doc)
INSTALL(FILES ${PROJECT_SOURCE_DIR}/doc/Tutorials/GettingStarted.pdf DESTINATION share/doc/IFEM COMPONENT doc)
ENDIF(WIN32)
#Packaging
INCLUDE(IFEMPackaging)

View File

@ -1,58 +0,0 @@
EXECUTE_PROCESS(COMMAND lsb_release "-sc" OUTPUT_VARIABLE CODENAME)
STRING(REGEX REPLACE "\n" "" SYSTEM_CODENAME ${CODENAME})
EXECUTE_PROCESS(COMMAND lsb_release "-si" OUTPUT_VARIABLE VENDOR)
STRING(REGEX REPLACE "\n" "" SYSTEM_VENDOR ${VENDOR})
IF (SYSTEM_VENDOR STREQUAL "Ubuntu" OR SYSTEM_VENDOR STREQUAL "Debian")
EXECUTE_PROCESS(COMMAND dpkg --print-architecture OUTPUT_VARIABLE ARCHITECTURE)
STRING(REGEX REPLACE "\n" "" CPACK_DEBIAN_PACKAGE_ARCHITECTURE ${ARCHITECTURE})
SET(SYSTEM_ARCHITECTURE ${CPACK_DEBIAN_PACKAGE_ARCHITECTURE})
SET(CPACK_GENERATOR "DEB")
SET(CPACK_DEBIAN_PACKAGE_MAINTAINER "Arne Morten Kvarving <arne.morten.kvarving@sintef.no>")
SET(CPACK_DEB_COMPONENT_INSTALL ON)
ENDIF (SYSTEM_VENDOR STREQUAL "Ubuntu" OR SYSTEM_VENDOR STREQUAL "Debian")
IF (SYSTEM_VENDOR STREQUAL "Scientific")
SET(CPACK_GENERATOR "RPM")
EXECUTE_PROCESS(COMMAND uname "-p" OUTPUT_VARIABLE ARCHITECTURE)
STRING(REGEX REPLACE "\n" "" CPACK_RPM_PACKAGE_ARCHITECTURE ${ARCHITECTURE})
SET(SYSTEM_ARCHITECTURE ${CPACK_RPM_PACKAGE_ARCHITECTURE})
SET(CPACK_RPM_COMPONENT_INSTALL ON)
SET(CPACK_RPM_bin_PACKAGE_REQUIRES "arpack, lapack, atlas, blas, hdf5 >= 1.8")
SET(CPACK_RPM_devel_PACKAGE_REQUIRES "libifem-bin, arpack-devel, lapack-devel, atlas-devel, blas-devel, hdf5-devel >= 1.8")
SET(CPACK_RPM_examples_PACKAGE_REQUIRES "libifem-devel")
ENDIF(SYSTEM_VENDOR STREQUAL "Scientific")
# Common packaging
SET(CPACK_PACKAGE_NAME "libifem")
SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "IFEM - the isogemetric finite element library")
SET(CPACK_PACKAGE_VERSION "${IFEM_VERSION}")
SET(CPACK_PACKAGE_VERSION_MAJOR ${IFEM_VERSION_MAJOR})
SET(CPACK_PACKAGE_VERSION_MINOR ${IFEM_VERSION_MINOR})
SET(CPACK_PACKAGE_VERSION_PATCH ${IFEM_VERSION_PATCH})
SET(CPACK_PACKAGE_FILE_NAME "libifem_${CPACK_PACKAGE_VERSION}_${SYSTEM_ARCHITECTURE}-${SYSTEM_CODENAME}")
SET(CPACK_RESOURCE_FILE_LICENSE ${PROJECT_SOURCE_DIR}/COPYING)
SET(CPACK_COMPONENTS_ALL bin doc examples ${IFEM_DEV_COMPONENT})
SET(CPACK_STRIP_FILES "bin/Poisson;bin/LinEl;bin/HDF5toVTx;lib/libIFEM.so.${IFEM_VERSION}")
INCLUDE(CPack)
# For generating ubuntu packages
ADD_CUSTOM_TARGET(ubuntu
COMMAND make package
COMMAND ${PROJECT_SOURCE_DIR}/scripts/fixupdebs.sh
COMMAND equivs-build ${PROJECT_SOURCE_DIR}/doc/libifem-builddeps.control
COMMAND mv ${CMAKE_BINARY_DIR}/libifem-builddeps_${IFEM_VERSION}_all.deb ${CMAKE_BINARY_DIR}/UbuntuDebs
COMMAND echo "All done. Packages are in UbuntuDebs/"
COMMENT "Generating and fixing up Ubuntu packages" VERBATIM)
# For generating RPM packages
ADD_CUSTOM_TARGET(rpm
COMMAND make package
COMMAND mkdir -p RPMs
COMMAND mv libifem_${CPACK_PACKAGE_VERSION}_${SYSTEM_ARCHITECTURE}-${SYSTEM_CODENAME}-bin.rpm RPMs/libifem-bin_${CPACK_PACKAGE_VERSION}_${SYSTEM_ARCHITECTURE}-${SYSTEM_CODENAME}.rpm
COMMAND mv libifem_${CPACK_PACKAGE_VERSION}_${SYSTEM_ARCHITECTURE}-${SYSTEM_CODENAME}-doc.rpm RPMs/libifem-doc_${CPACK_PACKAGE_VERSION}_noarch-${SYSTEM_CODENAME}.rpm
COMMAND mv libifem_${CPACK_PACKAGE_VERSION}_${SYSTEM_ARCHITECTURE}-${SYSTEM_CODENAME}-devel.rpm RPMs/libifem-devel_${CPACK_PACKAGE_VERSION}_noarch-${SYSTEM_CODENAME}.rpm
COMMAND mv libifem_${CPACK_PACKAGE_VERSION}_${SYSTEM_ARCHITECTURE}-${SYSTEM_CODENAME}-examples.rpm RPMs/libifem-examples_${CPACK_PACKAGE_VERSION}_noarch-${SYSTEM_CODENAME}.rpm
COMMAND echo "All done. Packages are in RPMs/"
COMMENT "Generating and fixing up RPM packages" VERBATIM)

View File

@ -1,65 +0,0 @@
#!/bin/bash
# This script helps workaround current CPack (2.8.8) limitations
# 1) Fix the main deb to drop the '-bin' postfix
# 2) Fix -dev and -examples dependencies and descriptions
# 3) Remove dependencies from -doc and fix the description
#
# It expects to be run with debs in the cwd
function Unpack() {
mkdir tmp
dpkg-deb -R $1 tmp
cd tmp/DEBIAN
}
function Pack() {
sed '/^$/d' -i control
cd ../..
dpkg-deb -b tmp $1
rm tmp -rf
}
path=`pwd`
mkdir -p UbuntuDebs
rm -f UbuntuDebs/*
arch=`dpkg --print-architecture`
code=`lsb_release -sc`
version=@IFEM_VERSION_MAJOR@.@IFEM_VERSION_MINOR@.@IFEM_VERSION_PATCH@
mkdir -p /tmp/debfixer
cd /tmp/debfixer
# Step 1
Unpack $path/libifem_${version}_$arch-$code-bin.deb
echo "Suggests: libifem-examples, libifem-doc" >> control
echo "Depends: libarpack2, liblapack3gf, libsuperlu3, libhdf5-serial-1.8.4, libtinyxml2.6.2" >> control
sed -i control -e 's/-bin//g'
Pack $path/UbuntuDebs/libifem_${version}_$arch-$code.deb
rm -f $path/libifem_${version}_$arch-$code-bin.deb
# Step 2
Unpack $path/libifem_${version}_$arch-$code-dev.deb
echo "Suggests: libifem-examples, libifem-doc" >> control
echo "Depends: libifem, libtinyxml-dev, libblas-dev, liblapack-dev, libarpack2-dev, libsuperlu3-dev, libvtfexpressapi-dev, libifem-cmakerules" >> control
sed -i control -e 's/\(Description: .*$\)/\1 - development headers/g'
sed -i control -e 's/\(Architecture: .*$\)/Architecture: all/g'
Pack $path/UbuntuDebs/libifem-dev_${version}_all-$code.deb
rm -f $path/libifem_${version}_$arch-$code-dev.deb
Unpack $path/libifem_${version}_$arch-$code-examples.deb
echo "Suggests: libifem-doc" >> control
echo "Depends: libifem-dev, libifem-cmakerules" >> control
sed -i control -e 's/\(Description: .*$\)/\1 - examples/g'
sed -i control -e 's/\(Architecture: .*$\)/Architecture: all/g'
Pack $path/UbuntuDebs/libifem-examples_${version}_all-$code.deb
rm -f $path/libifem_${version}_$arch-$code-examples.deb
# Step 3
Unpack $path/libifem_${version}_$arch-$code-doc.deb
echo -e "Suggests: libifem-examples" >> control
sed -i control -e 's/\(Description: .*$\)/\1 - documentation/g'
sed -i control -e 's/\(Architecture: .*$\)/Architecture: all/g'
Pack $path/UbuntuDebs/libifem-doc_${version}_all-$code.deb
rm -f $path/libifem_${version}_$arch-$code-doc.deb
rmdir /tmp/debfixer