diff options
author | Eric Hameleers <alien@slackware.com> | 2008-03-06 23:53:46 +0000 |
---|---|---|
committer | Eric Hameleers <alien@slackware.com> | 2008-03-06 23:53:46 +0000 |
commit | e97149d6d0e19a6235da90083a3aef894c704c33 (patch) | |
tree | 8b988962761ef84a802dc16a1c230a629e40bdd0 | |
parent | ce6d825640f3aeef68ca9950bdfe6be982cb898b (diff) | |
download | asb-e97149d6d0e19a6235da90083a3aef894c704c33.tar.gz asb-e97149d6d0e19a6235da90083a3aef894c704c33.tar.xz |
Split the partlibrary out to a separate package
-rwxr-xr-x | qcad/build/qcad.SlackBuild | 91 |
1 files changed, 52 insertions, 39 deletions
diff --git a/qcad/build/qcad.SlackBuild b/qcad/build/qcad.SlackBuild index d0bbe571..a1e39846 100755 --- a/qcad/build/qcad.SlackBuild +++ b/qcad/build/qcad.SlackBuild @@ -31,7 +31,8 @@ # Needs: # Changelog: # 2.0.5.0-1: 06/Mar/2008 by Eric Hameleers <alien@slackware.com> -# * Initial build. +# * Initial build. To be anything like useful, qcad needs a parts +# library - we wrap that into a separate package. # # Run 'sh qcad.SlackBuild --cleanup' to build a Slackware package. # The package (.tgz) plus descriptive .txt file are created in /tmp . @@ -42,8 +43,11 @@ # Set initial variables: PRGNAM=qcad -VERSION=${VERSION:-2.0.5.0} -MANVER=${MANVER:-2.1.0.0} +SRCVER=${SRCVER:-2.0.5.0-1} +VERSION=$(echo $SRCVER | tr '-' '_') +MANVER=${MANVER:-2.1.0.0-1} +PARTVER=${PARTVER:-2.1.2.8-1} +VERSION2=$(echo $PARTVER | tr '-' '_') ARCH=${ARCH:-i486} BUILD=${BUILD:-1} @@ -57,13 +61,17 @@ SRCDIR=$(dirname $0) # Place to build (TMP) package (PKG) and output (OUTPUT) the program: TMP=${TMP:-/tmp/build} PKG=$TMP/package-$PRGNAM +PKG2=$TMP/package-${PRGNAM}-partlibrary OUTPUT=${OUTPUT:-/tmp} -SOURCE[0]="$SRCDIR/${PRGNAM}-${VERSION}-1-community.src.tar.gz" -SRCURL[0]="ftp://ribbonsoft.com/archives/${PRGNAM}/${PRGNAM}-${VERSION}-1-community.src.tar.gz" +SOURCE[0]="$SRCDIR/${PRGNAM}-${SRCVER}-community.src.tar.gz" +SRCURL[0]="ftp://ribbonsoft.com/archives/${PRGNAM}/${PRGNAM}-${SRCVER}-community.src.tar.gz" -SOURCE[1]="${PRGNAM}-manual-en-${MANVER}-1.html.zip" -SRCURL[1]="ftp://ribbonsoft.com/archives/${PRGNAM}/${PRGNAM}-manual-en-${MANVER}-1.html.zip" +SOURCE[1]="$SRCDIR/${PRGNAM}-manual-en-${MANVER}.html.zip" +SRCURL[1]="ftp://ribbonsoft.com/archives/${PRGNAM}/${PRGNAM}-manual-en-${MANVER}.html.zip" + +SOURCE[2]="$SRCDIR/partlibrary-${PARTVER}.tar.gz" +SRCURL[2]="ftp://ribbonsoft.com/archives/partlibrary/partlibrary-${PARTVER}.tar.gz" ## ## --- with a little luck, you won't have to edit below this point --- ## @@ -107,8 +115,8 @@ esac # Create working directories: mkdir -p $OUTPUT # place for the package to be saved mkdir -p $TMP/tmp-$PRGNAM # location to build the source -mkdir -p $PKG # place for the package to be built -rm -rf $PKG/* # always erase old package's contents +mkdir -p $PKG $PKG2 # place for the package to be built +rm -rf $PKG/* $PKG2/* # always erase old package's contents if [ "$P1" != "--oldbuild" ]; then # Use the "--oldbuild" parameter to keep old build files and continue; # By default we remove the remnants of previous build and continue. @@ -154,48 +162,50 @@ for (( i = 0; i < ${#SOURCE[*]}; i++ )) ; do tar -xjvf ${SOURCE[$i]} elif $(file ${SOURCE[$i]} | grep -q ": gzip"); then tar -xzvf ${SOURCE[$i]} + elif $(file ${SOURCE[$i]} | grep -q ": Zip"); then + unzip ${SOURCE[$i]} fi done -mv ${PRGNAM}-${VERSION}-1-community.src ${PRGNAM}-${VERSION} +chown -R root:root * +chmod -R u+w,go+r-w,a+X-s . +mv ${PRGNAM}-${SRCVER}-community.src ${PRGNAM}-${VERSION} cd ${PRGNAM}-${VERSION} # Apply patches: patch -p1 < $SRCDIR/${PRGNAM}_64bit.patch -b -z .64bit \ 2>&1 | tee $OUTPUT/patch-${PRGNAM}.log -patch -p1 < $SRCDIR/${PRGNAM}_pedantic.patch -b -z .pedantic \ - 2>&1 | tee -a $OUTPUT/patch-${PRGNAM}.log -patch -p1 < $SRCDIR/${PRGNAM}_gcc43 -b -z .gcc43 \ +patch -p1 < $SRCDIR/${PRGNAM}_gcc43.patch -b -z .gcc43 \ 2>&1 | tee -a $OUTPUT/patch-${PRGNAM}.log -chown -R root:root . -chmod -R u+w,go+r-w,a-s . echo Building ... export LDFLAGS="$SLKLDFLAGS" export CXXFLAGS="$SLKCFLAGS" export CFLAGS="$SLKCFLAGS" -export QTDIR=/usr/lib/qt3 +export QTDIR="$(ls -1d /usr/lib/qt-3*)" ( cd scripts - ./build_qcad.sh + ./build_qcad.sh debug # scripting sources not available ) find -name *.ts -exec lrelease {} \; find -name *.qm -exec cp {} qcad/qm \; # Install all the needed stuff to the package dir -mkdir -p $PKG/usr/share/qcad/{library,doc} - -cp -fr qcad-manual-en-${MANVER}-1.html/* $PKG/usr/share/qcad/doc/ +mkdir -p $PKG/usr/share/qcad/{library,doc} $PKG/usr/bin -cd qcad -cp -fr fonts $PKG/usr/share/qcad/ -cp -fr patterns $PKG/usr/share/qcad/ -cp -fr qm $PKG/usr/share/qcad/ +( + cd qcad + cp -f qcad $PKG/usr/bin/ + cp -fr fonts $PKG/usr/share/qcad/ + cp -fr patterns $PKG/usr/share/qcad/ + cp -fr qm $PKG/usr/share/qcad/ +) -mkdir -p $PKG/usr/bin -cp -f qcad $PKG/usr/bin/ +# Add the online manual: +cp -fr ../qcad-manual-en-${MANVER}.html/* \ + $PKG/usr/share/qcad/doc/ # Create a .desktop file with a suitable icon: -mkdir -p $PKG/usr/share/pixmaps -cp -f src/xpm/qcad.xpm $PKG/usr/share/pixmaps +mkdir -p $PKG/usr/share/pixmaps +cp -f qcad/src/xpm/qcad.xpm $PKG/usr/share/pixmaps mkdir -p $PKG/usr/share/applications cat <<-EOT > $PKG/usr/share/applications/cqad.desktop [Desktop Entry] @@ -223,15 +233,9 @@ cat <<-EOT > $PKG/install/doinst.sh # Add documentation: mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION cp -a $DOCS $PKG/usr/doc/$PRGNAM-$VERSION || true -ln -s ../../share/qcad/doc html +( cd $PKG/usr/doc/$PRGNAM-$VERSION && ln -s ../../share/qcad/doc html ) find $PKG/usr/doc -type f -exec chmod 644 {} \; -# Compress the man page(s): -if [ -d $PKG/usr/man ]; then - find $PKG/usr/man -type f -name "*.?" -exec gzip -9f {} \; - for i in $(find $PKG/usr/man -type l -name "*.?") ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done -fi - # Strip binaries: cd $PKG find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true @@ -241,9 +245,6 @@ cd - # Add a package description: mkdir -p $PKG/install cat $SRCDIR/slack-desc > $PKG/install/slack-desc -if [ -f $SRCDIR/doinst.sh ]; then - cat $SRCDIR/doinst.sh >> $PKG/install/doinst.sh -fi # Build the package: cd $PKG @@ -253,8 +254,20 @@ md5sum ${PRGNAM}-${VERSION}-${ARCH}-${BUILD}.tgz > ${PRGNAM}-${VERSION}-${ARCH}- cd - cat $PKG/install/slack-desc | grep "^${PRGNAM}" > $OUTPUT/${PRGNAM}-${VERSION}-${ARCH}-${BUILD}.txt +# The partlibrary split into a second package: +cd $TMP/tmp-$PRGNAM +mkdir -p $PKG2/install $PKG2/usr/share/qcad/library +cp -fr partlibrary-${PARTVER}/* \ + $PKG2/usr/share/qcad/library/ +cat $SRCDIR/slack-desc.partlibrary > $PKG2/install/slack-desc +cd $PKG2 +makepkg --linkadd y --chown n $OUTPUT/${PRGNAM}-partlibrary-${VERSION2}-${ARCH}-${BUILD}.tgz 2>&1 | tee $OUTPUT/makepkg-${PRGNAM}-partlibrary.log +cd $OUTPUT +md5sum ${PRGNAM}-partlibrary-${VERSION2}-${ARCH}-${BUILD}.tgz > ${PRGNAM}-partlibrary-${VERSION2}-${ARCH}-${BUILD}.tgz.md5 +cat $PKG2/install/slack-desc | grep "^${PRGNAM}-partlibrary" > $OUTPUT/${PRGNAM}-partlibrary-${VERSION2}-${ARCH}-${BUILD}.txt + # Clean up the extra stuff: if [ "$P1" = "--cleanup" ]; then rm -rf $TMP/tmp-$PRGNAM - rm -rf $PKG + rm -rf $PKG $PKG2 fi |