123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125 |
- #!/bin/bash
- # Slackware build script for LDRAW datafiles, needed by
- # several LDraw utilities
- # Copyright 2009-2013 Niels Horn, Rio de Janeiro, RJ, Brazil
- # Copyright 2016 Philip van der Hoeven, Almere, The Netherlands
- # All rights reserved.
- #
- # Redistribution and use of this script, with or without modification, is
- # permitted provided that the following conditions are met:
- #
- # 1. Redistributions of this script must retain the above copyright
- # notice, this list of conditions and the following disclaimer.
- #
- # THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS OR IMPLIED
- # WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- # MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
- # EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- # OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- # WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
- # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- # 20220222 bkw: Modified by SlackBuilds.org:
- # - update for v202201.
- # - host download file on slackware.uk, for now. this gives us a little
- # breathing space, when upstream changes the download file again.
- cd $(dirname $0) ; CWD=$(pwd)
- PRGNAM=LDraw_data
- VERSION=${VERSION:-202201}
- ARCH=noarch
- BUILD=${BUILD:-1}
- TAG=${TAG:-_SBo}
- PKGTYPE=${PKGTYPE:-tgz}
- PRGSRC=complete.zip
- PRGUNZIPPED=ldraw
- # If the variable PRINT_PACKAGE_NAME is set, then this script will report what
- # the name of the created package would be, and then exit. This information
- # could be useful to other scripts.
- if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
- echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE"
- exit 0
- fi
- TMP=${TMP:-/tmp/SBo}
- PKG=$TMP/package-$PRGNAM
- OUTPUT=${OUTPUT:-/tmp}
- set -e
- rm -rf $PKG
- mkdir -p $TMP $PKG $OUTPUT
- cd $TMP
- rm -rf $PRGUNZIPPED
- unzip $CWD/$PRGSRC
- cd $PRGUNZIPPED
- # Check if we have the right version of the "source"
- srcver=$(echo "20$(basename $(ls -1 models/Note*.txt | tail -n1) .txt | cut -b5-8)")
- if [ "$srcver" -ne "$VERSION" ] ; then
- echo "Version of source ($srcver) does not match VERSION variable ($VERSION)"
- exit 1
- fi
- chown -R root:root .
- find . -type d -exec chmod 0755 {} \;
- find . -type f -exec chmod 0644 {} \;
- # Copy the 'read-only' data to the package
- mkdir -p $PKG/usr/share/LDRAW
- cp -a \
- *.ldr p parts \
- $PKG/usr/share/LDRAW/
- # Create / Copy the 'writable' sub-directories to /var/lib/ldraw/ and correct permissions
- mkdir -p $PKG/var/lib/ldraw/{models,bitmap}
- cp -a \
- models \
- $PKG/var/lib/ldraw/
- chgrp -R users $PKG/var/lib/ldraw/{models,bitmap}
- chmod 0775 $PKG/var/lib/ldraw/{models,bitmap}
- chmod 0664 $PKG/var/lib/ldraw/models/*
- # Create symlinks
- cd $PKG/usr/share/LDRAW
- ln -s ../../../var/lib/ldraw/bitmap BITMAP ; ln -s BITMAP bitmap
- ln -s ../../../var/lib/ldraw/models MODELS ; ln -s MODELS models
- ln -s parts PARTS
- ln -s s PARTS/S
- ln -s p P
- cd -
- # Move documentation
- mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION/
- cp -a \
- *.txt \
- $PKG/usr/doc/$PRGNAM-$VERSION/
- cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
- # unzip & make 'mklist'
- # (this is a one-time executable, that won't be installed,
- # so we don't worry about CFLAGS)
- unzip -o mklist1_6.zip
- sed -i 's/_MAX_PATH/MAX_PATH/' mklist.c
- sed -i 's/shortpath)/shortpath))/' mklist.c
- make
- # Run 'mklist' to generate "parts.lst"
- cd $PKG/usr/share/LDRAW
- $TMP/$PRGUNZIPPED/mklist -d -f
- cd -
- mkdir -p $PKG/install
- cat $CWD/slack-desc > $PKG/install/slack-desc
- cd $PKG
- /sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE
|