#!/bin/bash # ntfs-3g.SlackBuild # Heavily based on the original Slackware build scripts, # Modified by Stuart Winter for ARMedslack. # # Slackware build script for ntfs-3g # Copyright (c) 2008, Antonio Hernández Blas # All rights reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are met: # 1.- Redistributions of source code 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. # # Modified by Robby Workman # Record toolchain & other info for the build log: slackbuildinfo # Paths to skeleton port's source & real Slackware source tree: export CWD=$SLACKSOURCE/$PKGSERIES/$PKGNAM export PORTCWD=$PWD # Temporary build locations: export TMPBUILD=$TMP/build-$PKGNAM export PKG=$TMP/package-$PKGNAM mkpkgdirs # Delete & re-create temporary directories then cd into $TMPBUILD # Extract source: tar xvvf $CWD/$PKGNAM*.tar.?z* cd $PKGNAM* || exit 1 slackhousekeeping # Configure: CFLAGS="$SLKCFLAGS" \ CXXFLAGS="$SLKCFLAGS" \ ./configure \ --prefix=/usr \ --mandir=/usr/man \ --bindir=/bin \ --libdir=/usr/lib${LIBDIRSUFFIX} \ --sbindir=/sbin \ --with-fuse=internal \ --docdir=/usr/doc/$PKGNAM-$VERSION \ --with-fuse=external \ --disable-ldconfig \ --enable-static=no \ --build=${ARCH}-slackware-linux || failconfig # Build: make $NUMJOBS || make || failmake # Installation bug kludge: mkdir -p $PKG/lib${LIBDIRSUFFIX} # Install into package: make install DESTDIR=$PKG || failinstall # Add the HAL fdi file so that automount uses ntfs-3g for mounting # This should work with the "volume.fstype.alternative.*" in hal-0.5.12+ #mkdir -p $PKG/usr/share/hal/fdi/policy/10osvendor #install -vpm644 $CWD/10-ntfs-3g-policy.fdi $PKG/usr/share/hal/fdi/policy/10osvendor/ # Create a mount.ntfs -> mount.ntfs-3g symlink. # This causes ntfs-3g to always be used when mounting NTFS filesystems. # NOTE: This also seems to make mounting with the old ntfs filesystem # impossible. But does anyone care? ( cd $PKG/sbin ; ln -s mount.ntfs-3g mount.ntfs ) ## Add a udev rule to use ntfs-3g instead of ntfs: ## (This is not needed if the mount.ntfs symlink is made) #mkdir -p $PKG/lib/udev/rules.d #cat $CWD/99-ntfs-3g.rules > $PKG/lib/udev/rules.d/99-ntfs-3g.rules # Docs: rm -rf $PKG/usr/share/doc mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION cp -a AUTHORS COPYING* CREDITS INSTALL NEWS README* \ $PKG/usr/doc/$PKGNAM-$VERSION changelogliposuction ChangeLog $PKGNAM $VERSION # If necessary, start the fakeroot server so we can set file/dir ownerships: start_fakeroot # Apply generic Slackware packaging policies: cd $PKG slackstripall # strip all .a archives and all ELFs slackgzpages -i # compress man & info pages and delete usr/info/dir slackslack # chown -R root:root, chmod -R og-w, slackchown, slack644docs # I hate to do this (it worked without it before), but recently /bin/ntfs-3g # ceased to work for non-root users unless it is setuid root. If anyone has # any better ideas, I'd like to hear them. chmod 4711 $PKG/bin/ntfs-3g slackdesc # install slack-desc and doinst.sh slackmp # run makepkg -l y -c n # Perform any final checks on the package: cd $PKG slackhlinks # search for any hard links