File debian.rules of Package cpr
#!/usr/bin/make -f
# -*- makefile -*-
# Uncomment this to turn on verbose mode.
export DH_VERBOSE=1
# Get some information about the machine we are building on:
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 numberOfProcessorsOnMachine=4
#export wantedJobs=4
#export jobsIget=$(shell nproc)
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 DISTRO=$(shell awk -F= '/^NAME/{print $2}' /etc/os-release | cut -d'=' -f2)
export DISTROVERSION=$(shell awk -F= '/^VERSION_ID/{print $2}' /etc/os-release)
export THISMONTH=$(shell LC_TIME='en_US.UTF-8' date +%B)
export THISYEAR=$(shell date +%Y)
# Add support for different Debian based distributions
export VERSION_CODENAME=$(shell cat /etc/os-release | grep VERSION_CODENAME | awk -F= '{print $$2}')
export VERSION_ID=$(shell cat /etc/os-release | grep VERSION_ID | awk -F= '{print $$2}')
export PRETTY_NAME="$(shell cat /etc/*-release | egrep "PRETTY_NAME" | cut -d = -f 2)"
# Variables
export executable=zsync2
export pkgname=$(executable)
export install_prefix=/usr
# format manpage_date=January 2024
export manpage_date="$(THISMONTH) $(THISYEAR)"
export _topdir=/usr/src/packages
export _builddir=$(_topdir)/BUILD
#export _builddir=/usr/src/packages/BUILD
export _sourcedir=$(_topdir)/SOURCES
#export _sourcedir=/usr/src/packages/SOURCES
export _uploaddir=/usr/src/packages/SOURCES
export srcdir=/usr/src/packages/SOURCES
export pkgdir_head=$(_builddir)/debian
#export pkgdir_head=/usr/src/packages/BUILD/debian
#export pkgdir=$(pkgdir_head)/$(pkgname)
export pkgdir=$(pkgdir_head)/tmp
export pkgdir=/usr/src/packages/BUILD/debian/tmp
export buildroot=/usr/src/packages/BUILD/debian/tmp
export buildroot=$(_builddir)/debian/$(pkgname)
export buildroot=$(_builddir)/debian/$(pkgname)
#export buildroot=$(pkgdir)
export _installToDir=$(pkgdir)
#export _installToDir=/usr/src/packages/BUILD/debian/tmp
ifeq ($(findstring Raspbian,$(PRETTY_NAME)),Raspbian)
# Found
export PLATFORM=Raspbian
export BUILDDIR=obj-arm-linux-gnueabihf
export LIBDIR=lib/arm-linux-gnueabihf
else
# Not found
export PLATFORM=DebianOrUbuntu
export BUILDDIR=obj-x86_64-linux-gnu
export LIBDIR=lib/x86_64-linux-gnu
endif
# see FEATURE AREAS in dpkg-buildflags(1)
#export DEB_BUILD_MAINT_OPTIONS = hardening=+all
# see ENVIRONMENT in dpkg-buildflags(1)
# package maintainers to append CFLAGS
#export DEB_CFLAGS_MAINT_APPEND = -Wall -pedantic
# package maintainers to append LDFLAGS
#export DEB_LDFLAGS_MAINT_APPEND =
%:
dh $@
override_dh_auto_configure:
override_dh_auto_build:
echo \$(_builddir)=$(_builddir)
echo \$(_sourcedir)=$(_sourcedir)
echo ls -al $(_sourcedir)
ls -al $(_sourcedir)
echo ls -al $(_builddir)
ls -al $(_builddir)
#tar -xf $(_uploaddir)/cpr-1.10.1.125+git1ad1cd2.tar.xz
#mkdir build
#tar -xf $(_uploaddir)/dependencies.tar.xz
# use local 'args' source package
#sed -e 's|GIT_REPOSITORY.*args|URL file://$(SOURCE1)|' -e '/GIT_TAG.*/d' \
# -i lib/CMakeLists.txt;
#CFLAGS="$CFLAGS -Wno-error=return-type -Wno-return-type"
#%ifarch %{ix86}
#CFLAGS="$CFLAGS -D_FILE_OFFSET_BITS=64 -DZLIB_INTERNAL=1"
#%endif
#export CFLAGS="$CFLAGS"
#export CXXFLAGS="$CFLAGS"
# required for compiling tests
#export LD_LIBRARY_PATH=$(pwd)/build/src:$LD_LIBRARY_PATH
install -d obj-x86_64-linux-gnu
# -DUSE_SYSTEM_CPR=ON
# -DBUILD_SHARED_LIBS=OFF \
# -DCMAKE_SKIP_RPATH=ON \
# -DGIT_COMMIT="$_git_commit" \
# -DUSE_SYSTEM_ARGS=OFF \
# -DBUILD_CPR_TESTS=OFF \
# -DFETCHCONTENT_FULLY_DISCONNECTED=YES \
# -DFETCHCONTENT_UPDATES_DISCONNECTED=YES \
# -DEP_UPDATE_DISCONNECTED=YES \
# -DUPDATE_DISCONNECTED=YES \
# -DUSE_SYSTEM_CURL=YES \
cmake . \
-B obj-x86_64-linux-gnu -S $(_builddir) \
-DCMAKE_INSTALL_PREFIX=/usr \
-DBUILD_CPR_TESTS=OFF \
-DCPR_BUILD_TESTS=OFF \
-DCPR_BUILD_TESTS_PROXY=OFF \
-DCPR_BUILD_TESTS_SSL=OFF \
-DCPR_DEBUG_SANITIZER_FLAG_ALL=ON \
-DCPR_ENABLE_CURL_HTTP_ONLY=OFF \
-DCPR_USE_SYSTEM_CURL=ON \
-DCPR_USE_SYSTEM_GTEST=ON
echo "Configuration should have completed here."
#cmake --build obj-x86_64-linux-gnu --target install --parallel $(jobsIget)
make -C obj-x86_64-linux-gnu -j$(jobsIget)
echo "Build should have completed here."
override_dh_auto_install:
DESTDIR="$(pkgdir)" make -C obj-x86_64-linux-gnu install
execute_after_dh_auto_install:
echo "--- Start execute_after_dh_auto_install ---"
echo "Different Debian based distros need different patches and adjustments."
#echo PRETTY_NAME=$(PRETTY_NAME)
echo PLATFORM=$(PLATFORM)
echo VERSION_CODENAME=$(VERSION_CODENAME)
echo VERSION_ID=$(VERSION_ID)
echo BUILDDIR=$(BUILDDIR)
echo LIBDIR=$(LIBDIR)
echo pkgdir=$(pkgdir)
echo buildroot=$(buildroot)
echo "----------------------------------------"
echo
echo "--- lintian-fix: remove source files from source package ---"
#rm -rf $(_builddir)/osx
#rm -f $(_builddir)/tests/fonts/Hinting.sfd
#rm -f $(_builddir)/tests/fonts/QuadraticConversionBug.sfd
#rm -f $(_builddir)/tests/fonts/dvng10a-crash.sfd
#rm -f $(_builddir)/tests/fonts/ecrm1000.pfb
echo pkgdir=${pkgdir}
#echo "--- Files that will be packaged ---"
#find $(buildroot) | sed "s|${pkgdir}||g" | sort
#echo "--- End files that will be packaged ---"
echo "--- Show files that will be packaged ---"
find $(pkgdir) | sed "s|$(pkgdir)||g"
echo "--- End show files that will be packaged ---"
echo "--- End execute_after_dh_auto_install ---"
#override_dh_installdocs: