1
0
mirror of https://github.com/pdf2htmlEX/pdf2htmlEX.git synced 2024-12-22 13:00:08 +00:00
pdf2htmlEX/buildScripts/createDebianPackage

93 lines
3.0 KiB
Bash
Executable File

#!/bin/bash
# This bash script creates a (binary) Debian Package Archive for pdf2htmlEX
source ./buildScripts/reSourceVersionEnvs
echo ""
echo "-------------------------------------------------------------------"
echo "CREATING pdf2htmlEX (binary) Debian package"
echo "-------------------------------------------------------------------"
echo ""
export DPKG_NAME="pdf2htmlEX-$PDF2HTMLEX_BRANCH-$BUILD_TIME-$MACHINE_ARCH-$(lsb_release -cs).deb"
echo "export DPKG_NAME=\"$DPKG_NAME\"" >> buildScripts/reSourceVersionEnvs
# Adapted from: https://blog.serverdensity.com/how-to-create-a-debian-deb-package/
# and: http://www.sj-vs.net/creating-a-simple-debian-deb-package-based-on-a-directory-structure/
DEBDIR=imageBuild/debianDir
DOCDIR=$DEBDIR/usr/local/share/doc/pdf2htmlEX
sudo rm -rf $DEBDIR
mkdir -p $DOCDIR
# Install pdf2htmlEX
#
cd pdf2htmlEX/build
#
make install DESTDIR=../../$DEBDIR
# Install a copy of poppler-data for pdf2htmlEX's exclusive use
#
cd ../../poppler-data
#
make install \
prefix=$PDF2HTMLEX_PREFIX \
datadir=$PDF2HTMLEX_PREFIX/share/pdf2htmlEX \
DESTDIR=../$DEBDIR
cd ..
# Create a 'useful' changelog
#
git log --format="%cd %h %d %n %s%n" --date=short > $DOCDIR/gitLog
########################################
# setup the DEBIAN package files
controlFile=$DEBDIR/DEBIAN/control
conffilesFile=$DEBDIR/DEBIAN/conffiles
md5sumsFile=$DEBDIR/DEBIAN/md5sums
mkdir -p $DEBDIR/DEBIAN
# Create the md5sums file
#
find $DEBDIR -type f | xargs md5sum > $md5sumsFile
# Accumulate the control file information
#
versionValue=$(git describe --abbrev=0)
releaseValue=$(lsb_release -cs)
architectureValue=$(dpkg-architecture -q DEB_BUILD_ARCH_CPU)
maintainerValue="$(git config --get user.name) <$(git config --get user.email)>"
# Now create the control file
#
echo "Package: pdf2htmlEX" > $controlFile
echo "Version: 0:0.$versionValue-0" >> $controlFile
echo "Distribution: $releaseValue" >> $controlFile
echo "Architecture: $architectureValue" >> $controlFile
echo "Section: universe/web" >> $controlFile
echo "Priority: optional" >> $controlFile
echo "Essential: no" >> $controlFile
echo "Depends: libcairo2, libpng16-16, libjpeg-turbo8, libxml2" >> $controlFile
echo "Maintainer: $maintainerValue" >> $controlFile
echo "Homepage: http://github.com/pdf2htmlEX/pdf2htmlEX" >> $controlFile
echo "Description: Converts PDF to HTML without losing format" >> $controlFile
echo " pdf2htmlEX converts PDF to HTML while retaining text, format & style as much as possible" >> $controlFile
# Create the (empty) conffiles
#
touch $conffilesFile
# Finally create the debian archive
#
cd imageBuild
#
sudo chown -R root:root debianDir
#
dpkg --build debianDir $DPKG_NAME