slackbuilds/xap/calibre-bin/SlackBuild
2023-08-16 12:23:26 +02:00

78 lines
2.7 KiB
Bash
Executable file

#!/bin/bash
CWD=$(pwd)
PRGNAM=$(basename $CWD)
VERSION=${VERSION:-$(wget -O - -o /dev/null http://status.calibre-ebook.com/latest)}
ARCH=$(uname -m)
BUILD=${BUILD:-1}
TAG=${TAG:-gwh}
TMP=${TMP:-/tmp/$TAG}
PKG=$TMP/pkg-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
REPOSITORY=${REPOSITORY:-/home/installs/SlackBuilds/_repositories/$PRGNAM}
mkdir -p $REPOSITORY
[ ! -e $REPOSITORY/calibre-${VERSION}-${ARCH}.txz ] && wget -c -O $REPOSITORY/calibre-${VERSION}-${ARCH}.txz http://download.calibre-ebook.com/${VERSION}/calibre-${VERSION}-${ARCH}.txz
rm -fr $PKG
mkdir -p $PKG/opt/calibre
tar xvf $REPOSITORY/calibre-${VERSION}-${ARCH}.txz -C $PKG/opt/calibre
mkdir -p $PKG/usr/bin
$PKG/opt/calibre/calibre_postinstall --root=$PKG/usr
mkdir -p $PKG/etc/rc.d/
cp $CWD/rc.calibre-server $PKG/etc/rc.d/rc.calibre-server.new
cd $PKG/usr/bin
find . -type l -exec sh -c 'rm "$1"; ln -s ../../opt/calibre/$(basename $1)' _ {} \;
mkdir -p $PKG/install
cat <<EOF > $PKG/install/doinst.sh
#!/bin/bash
config() {
NEW="\$1"
OLD="\$(dirname \$NEW)/\$(basename \$NEW .new)"
# If there's no config file by that name, mv it over:
if [ ! -r \$OLD ]; then
mv \$NEW \$OLD
elif [ "\$(cat \$OLD | md5sum)" = "\$(cat \$NEW | md5sum)" ]; then
# toss the redundant copy
rm \$NEW
fi
# Otherwise, we leave the .new copy for the admin to consider...
}
config etc/rc.d/rc.calibre-server.new
EOF
cat <<EOF > $PKG/install/slack-desc
# HOW TO EDIT THIS FILE:
# The "handy ruler" below makes it easier to edit a package description. Line
# up the first '|' above the ':' following the base package name, and the '|'
# on the right side marks the last column you can put a character in. You must
# make exactly 11 lines for the formatting to be correct. It's also
# customary to leave one space after the ':'.
|-----handy-ruler------------------------------------------------------|
${PRGNAM}: ${PRGNAM} (e-book library management application)
${PRGNAM}:
${PRGNAM}: ${PRGNAM} is meant to be a complete e-library solution.
${PRGNAM}: It includes library management, format conversion, news feeds to ebook
${PRGNAM}: conversion as well as e-book reader sync features. ${PRGNAM} is
${PRGNAM}: primarily a ebook cataloging program. It manages your ebook collection
${PRGNAM}: for you. It is designed around the concept of the logical book, i.e.
${PRGNAM}: a single entry in the database that may correspond to ebooks in
${PRGNAM}: several formats. It also supports conversion to and from a dozen
${PRGNAM}: different ebook formats.
${PRGNAM}: ${PRGNAM} home: http://calibre-ebook.com/
EOF
cd $PKG
rm -f $PKG/{,usr/}lib$(uname -m | grep -o 64)/*.la
/sbin/makepkg --linkadd y --chown n --prepend ${OUTPUT}/${PRGNAM}-${VERSION}-${ARCH}-${BUILD}${TAG}.txz