File debian.rules of Package linphoneqt-Debian-Ubuntu
#!/usr/bin/make -f
# -*- makefile -*-
# Uncomment this to turn on verbose mode.
export DH_VERBOSE=1
export _name=linphone
export PACKAGE=linphoneqt
export VERSION=5.1.2
export DIR_WHERE_FIRST_CMAKELISTS_DOT_TEXT_IS=buildstartshere
# Get some information about the machine we are building on:
export ARCHITECTURE=$(shell uname -m)
export numberOfProcessorsOnMachine=$(shell nproc)
export wantedJobs=$(shell echo "1.25*$(numberOfProcessorsOnMachine)" | bc -l)
export jobsIget=$(shell echo $(wantedJobs) | awk '{print int($$1+0.5)}')
export TOTAL_DISK = $(shell df -h --total | awk 'END{print $$2}')
export FREEMEM = $(shell free --mega)
export TOTAL_MEM = $(shell free --total --mega | xargs | awk '{print $$19"MB"}')
export TOTAL_RAM = $(shell free --total --mega | xargs | awk '{print $$8"MB"}')
export TOTAL_SWAP = $(shell free --total --mega | xargs | awk '{print $$15"MB"}')
export PRETTY_NAME=$(shell cat /etc/*-release | egrep "PRETTY_NAME" | cut -d = -f 2)
#ifeq ($(PRETTY_NAME),Raspbian)
# export PLATFORM=Raspbian
# export BUILDDIR=obj-arm-linux-gnueabihf
# export LIBDIR=arm-linux-gnueabihf
#endif
ifeq ($(findstring Raspbian,$(PRETTY_NAME)),Raspbian)
# Found
export PLATFORM=Raspbian
export BUILDDIR=obj-arm-linux-gnueabihf
export LIBDIR=arm-linux-gnueabihf
else
# Not found
export PLATFORM=DebianOrUbuntu
export BUILDDIR=obj-x86_64-linux-gnu
export LIBDIR=x86_64-linux-gnu
endif
%:
echo
echo "----- Entering section % -----"
echo
# Template
# dh $@ --buildsystem=cmake --builddirectory=$(DIR_WHERE_FIRST_CMAKELISTS_DOT_TEXT_IS) --parallel --max-parallel=$(jobsIget)
dh $@ --buildsystem=cmake --parallel --max-parallel=$(jobsIget)
echo
echo "----- Exiting section % -----"
echo
override_dh_auto_configure:
echo
echo "--- Start override_dh_auto_configure: ---"
echo
echo "--- Machine data we are building on ---"
echo "ARCHITECTURE: $$ARCHITECTURE"
echo "Total disk: $$TOTAL_DISK"
echo "Output of free -h:"
echo "$$FREEMEM"
echo "Total memory: $$TOTAL_MEM"
echo "Total RAM: $$TOTAL_RAM"
echo "Total SWAP: $$TOTAL_SWAP"
echo "numberOfProcessorsOnMachine=$$numberOfProcessorsOnMachine"
echo "wantedJobs=$$wantedJobs"
echo "jobsIget=$$jobsIget"
echo "--- End machine data we are building on ---"
echo
echo "--- List files ---"
ls /usr/lib
find /usr/src/packages
echo "--- End list files ---"
echo
echo "Current directory:" #/usr/src/packages/BUILD
echo " $(shell pwd)"
echo
echo PRETTY_NAME=$(PRETTY_NAME)
echo PLATFORM=$(PLATFORM)
echo BUILDDIR=$(BUILDDIR)
echo LIBDIR=$(LIBDIR)
echo
# To avoid error, we have to create directory Debian/Ubuntu:
# /usr/src/packages/BUILD/obj-x86_64-linux-gnu
# On Raspbian we have to create directory:
# /usr/src/packages/BUILD/obj-arm-linux-gnueabihf
mkdir -v $(BUILDDIR)
cp /usr/src/packages/SOURCES/$(_name).appdata.xml linphone.appdata.xml
touch linphone-sdk/CMakeLists.txt
mkdir -p $(BUILDDIR)/linphone-sdk/desktop/{bin,share}
# Fix building out-of-git
echo '#define LINPHONE_QT_GIT_VERSION "${PROJECT_VERSION}"' >> linphone-app/src/config.h.cmake
# Hardcode linphoneqt version
echo "project(linphoneqt VERSION $(VERSION))" > linphone-app/linphoneqt_version.cmake
if [[ $(VERSION) = 5.1.[0-9]* ]]; then \
sed -i '/^add_custom_command/s@${CMAKE_INSTALL_PREFIX}/include/@%{buildroot}%{_includedir}/@;/^add_custom_command/s@${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/@%{buildroot}%{_libdir}/@' linphone-app/CMakeLists.txt; \
sed -i '/\/ui/s@${qml_dir}@${CMAKE_CURRENT_SOURCE_DIR}/../&@' linphone-app/cmake_builder/linphone_package/CMakeLists.txt; \
fi
mkdir -p $(BUILDDIR)/linphone-sdk/desktop/bin
mkdir -p $(BUILDDIR)/linphone-sdk/desktop/share/linphone
mkdir -p $(BUILDDIR)/linphone-sdk/desktop/share/sounds/linphone
#which convert
#which inkscape
#find . -type f -name genicons_1.1.sh -exec {} \;
# cmake -S /path/to/source-dir -B /path/to/build-dir -DCMAKE_VARIABLES_HERE=something
cmake -S /usr/src/packages/BUILD/ -B /usr/src/packages/BUILD/$(BUILDDIR)/ \
-DCMAKE_BUILD_PARALLEL_LEVEL=$(jobsIget) \
-DCMAKE_C_FLAGS="$${CMAKE_C_FLAGS} $${optflags} -O0 -g -fpic -ffat-lto-objects -fpermissive" \
-DCMAKE_CXX_FLAGS="$${CMAKE_CXX_FLAGS} $${optflags} -O0 -g -fpic -ffat-lto-objects -fpermissive" \
-DCMAKE_MODULE_PATH="${CMAKE_MODULE_PATH};/usr/src/packages/SOURCES;/usr/share/BCToolbox/cmake" \
-DBelcard_DIR="/usr/share/BelCard/cmake" \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_LIBDIR=lib/$(LIBDIR) \
-DCMAKE_BUILD_TYPE=Release \
-DLINPHONE_OUTPUT_DIR="/usr/src/packages/BUILD/$(BUILDDIR)/" \
-DENABLE_UPDATE_CHECK=OFF \
-DENABLE_QT_KEYCHAIN=OFF \
-DENABLE_STRICT=OFF \
-DENABLE_STATIC=OFF
echo
echo
echo "--- Show what was built ---"
find /usr/src/packages/BUILD/$(BUILDDIR)/ 2>/dev/null
echo "--- End show what was built ---"
echo
echo
echo "--- End override_dh_auto_configure: ---"
echo
override_dh_auto_install:
echo
echo "--- Start override_dh_auto_install: ---"
echo
cd $(BUILDDIR); \
cmake --install . --prefix /usr/src/packages/BUILD/debian/tmp/usr --strip
#echo "--- Show what was installed ---"
#find /usr/src/packages/BUILD/debian/tmp 2>/dev/null
#echo "--- End show what was installed ---"
if [ -f /usr/src/packages/BUILD/debian/tmp/usr/lib/libapp-plugin.so ]; then \
mkdir -p -v /usr/src/packages/BUILD/debian/tmp/usr/lib/$(LIBDIR); \
mv -v /usr/src/packages/BUILD/debian/tmp/usr/lib/libapp-plugin.so /usr/src/packages/BUILD/debian/tmp/usr/lib/$(LIBDIR)/libapp-plugin.so; \
fi
echo "--- Show what will be packaged ---"
find /usr/src/packages/BUILD/debian/tmp 2>/dev/null
echo "--- End show what will be packaged ---"
echo
echo
echo "----- Exiting section override_dh_auto_install: -----"
echo