diff --git a/packages/6.8/llfuse-1.3.6-x86_64-1_SBo.txz b/packages/6.8/llfuse-1.3.6-x86_64-1_SBo.txz deleted file mode 100644 index a9e073e1..00000000 Binary files a/packages/6.8/llfuse-1.3.6-x86_64-1_SBo.txz and /dev/null differ diff --git a/packages/6.8/llfuse-1.3.8-x86_64-1_SBo.txz b/packages/6.8/llfuse-1.3.8-x86_64-1_SBo.txz new file mode 100644 index 00000000..19804d54 Binary files /dev/null and b/packages/6.8/llfuse-1.3.8-x86_64-1_SBo.txz differ diff --git a/packages/6.9/llfuse-1.3.6-x86_64-1_SBo.txz b/packages/6.9/llfuse-1.3.6-x86_64-1_SBo.txz deleted file mode 100644 index a9e073e1..00000000 Binary files a/packages/6.9/llfuse-1.3.6-x86_64-1_SBo.txz and /dev/null differ diff --git a/packages/6.9/llfuse-1.3.8-x86_64-1_SBo.txz b/packages/6.9/llfuse-1.3.8-x86_64-1_SBo.txz new file mode 100644 index 00000000..19804d54 Binary files /dev/null and b/packages/6.9/llfuse-1.3.8-x86_64-1_SBo.txz differ diff --git a/source/SlackBuild/llfuse/README b/source/SlackBuild/llfuse/README deleted file mode 100644 index 1d3fb5f5..00000000 --- a/source/SlackBuild/llfuse/README +++ /dev/null @@ -1,8 +0,0 @@ -LLFUSE is a set of Python bindings for the low level FUSE API. It requires at -least FUSE 2.8.0 and supports both Python 2.x and 3.x. - -LLFUSE was originally part of S3QL, but has been factored out so that it can -be used by other projects as well. - -The SlackBuild detects presence of Python 3.x and if found, -then also bindings for Python 3.x are built. diff --git a/source/SlackBuild/llfuse/README.md b/source/SlackBuild/llfuse/README.md new file mode 100644 index 00000000..83f54b34 --- /dev/null +++ b/source/SlackBuild/llfuse/README.md @@ -0,0 +1,94 @@ +## Package Description + +LLFUSE is a set of Python bindings for the low level FUSE API. It requires at +least FUSE 2.8.0 and supports both Python 2.x and 3.x. + +LLFUSE was originally part of S3QL, but has been factored out so that it can +be used by other projects as well. + +The SlackBuild detects presence of Python 3.x and if found, +then also bindings for Python 3.x are built. + +Python-LLFUSE is no longer actively maintained. Unless you are stuck with Python 2.x or libfuse 2.x, we recommended to use the pyfuse3 module instead: https://github.com/libfuse/pyfuse3 + +## kubedzero notes + +* I set up Slackware-current (15.0) based on a Princeton ISO http://mirror.math.princeton.edu/pub/slackware/slackware-iso/slackware-current-iso/ and then updated all the packages. +* I made sure `fuse-2.9.9` and `fuse3-3.10.0` were installed, along with `python`, `python3`, `pip`, and `setuptools` +* I copied over `slack-desc` and `llfuse.SlackBuild` from this repository, making sure the SlackBuild is executable. The other files don't seem to be used. +* I then downloaded the latest ZIP source of llfuse from https://github.com/python-llfuse/python-llfuse/archive/release-1.3.8.zip and put it in the same directory as the SlackBuild script. +* Finally, I executed the SlackBuild script. It unzips the Github source archive to a directory created in `/tmp/` and runs `setup.py build_cython` as well as `setup.py install` with both Python 2 and Python 3. It also copies some other files over, and then packages the compiled files into a Slack-installable `/tmp/llfuse-1.3.8-x86_64-1_SBo.txz` file +* NOTE: The SlackBuild script will need to be updated with a new version number to build future versions of this library +* NOTE: https://github.com/python-llfuse/python-llfuse/blob/master/developer-notes/release-process.md had some additional setup and development notes +* NOTE: If you see `gcc: error: src/llfuse.c: No such file or directory` after `gcc -pthread -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-pro -o build/temp.linux-x86_64-2.7/src/llfuse.o -D_FILE_OFFSET_BITS=64 -I/usr/include/-Wsign-compare -DLLFUSE_VERSION="1.3.7" -Wno-unused-function -Wno-implicit-fallthroerror=unreachable-code -Werror=conversion -Werror=sign-compare -fno-strict-aliasing` it's possible that `setup.py build_cython` did not run to completion and thus did not create the compiled `.c` files + + ## Package versions + + These are the package versions installed during the 2020/11 build of llfuse: + + ``` + Package Version +-------------- --------- +-lxc 0.1 +appdirs 1.4.4 +Brotli 1.0.9 +caca 0.99b19 +certifi 2020.11.8 +chardet 3.0.4 +cupshelpers 1.0 +Cython 0.29.21 +distro 1.5.0 +docutils 0.16 +future 0.18.2 +getmail6 6.9 +gpg 1.14.0 +gyp 0.1 +idna 2.10 +include-server 3.3.3 +isc 2.0 +libwebp 0.0 +M2Crypto 0.36.0 +Mako 1.1.3 +mercurial 5.6 +meson 0.56.0 +netsnmp-python 1.0a1 +notify2 0.3.1 +packaging 20.4 +Pillow 8.0.1 +pip 20.2.4 +ply 3.11 +pssh 2.3.4 +pwquality 1.4.4 +pycairo 1.20.0 +pycups 2.0.1 +pycurl 7.43.0.6 +Pygments 2.7.2 +PyGObject 3.36.1 +pyparsing 2.4.7 +PyQt4-sip 4.19.23 +PyQt5 5.15.1 +PyQt5-sip 12.8.1 +python-sane 2.8.3 +pyxdg 0.27 +QScintilla 2.11.5 +requests 2.25.0 +rpm 4.16.0 +SCons 4.0.1 +setuptools 50.3.2 +sip 5.4.0 +six 1.15.0 +toml 0.10.2 +undervolt 0.3.0 +urllib3 1.26.2 +``` + +``` +root@slack:~# slackpkg search + +[ installed ] - fuse-2.9.9-x86_64-1 +[ installed ] - fuse3-3.10.0-x86_64-1 +[ installed ] - python-pip-20.2.4-x86_64-2 +[ installed ] - python-setuptools-50.3.2-x86_64-2 +[ installed ] - python2-2.7.18-x86_64-2 +[ installed ] - python3-3.9.0-x86_64-1 +``` \ No newline at end of file diff --git a/source/SlackBuild/llfuse/fuse3-3.10.0-x86_64-1.txz b/source/SlackBuild/llfuse/fuse3-3.10.0-x86_64-1.txz new file mode 100644 index 00000000..c0330953 Binary files /dev/null and b/source/SlackBuild/llfuse/fuse3-3.10.0-x86_64-1.txz differ diff --git a/source/SlackBuild/llfuse/llfuse-1.3.6.tar.bz2 b/source/SlackBuild/llfuse/llfuse-1.3.6.tar.bz2 deleted file mode 100644 index d97f4516..00000000 Binary files a/source/SlackBuild/llfuse/llfuse-1.3.6.tar.bz2 and /dev/null differ diff --git a/source/SlackBuild/llfuse/llfuse-1.3.8.tar.gz b/source/SlackBuild/llfuse/llfuse-1.3.8.tar.gz deleted file mode 100644 index d1cd6029..00000000 Binary files a/source/SlackBuild/llfuse/llfuse-1.3.8.tar.gz and /dev/null differ diff --git a/source/SlackBuild/llfuse/llfuse.SlackBuild b/source/SlackBuild/llfuse/llfuse.SlackBuild old mode 100644 new mode 100755 index 1cc923da..b208330f --- a/source/SlackBuild/llfuse/llfuse.SlackBuild +++ b/source/SlackBuild/llfuse/llfuse.SlackBuild @@ -1,32 +1,39 @@ #!/bin/sh -# Slackware build script for LLFUSE +# Slackware build script for "llfuse". +# Adapted by kubedzero from https://slackbuilds.org/repository/14.2/python/llfuse/ -# Copyright 2015 Andrzej Telszewski, Sabadell +# Copyright 2015-2016 Andrzej Telszewski, Sabadell +# Copyright 2016 Marcel Saegebarth # All rights reserved. # -# Redistribution and use of this script, with or without modification, is -# permitted provided that the following conditions are met: +# Redistribution and use in source and binary forms, with or without +# modification, are 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. +# * 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. +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "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 COPYRIGHT +# OWNER OR CONTRIBUTORS 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. +# Set these to tell the script what input/output files to use PRGNAM=llfuse VERSION=${VERSION:-1.3.8} +ARCHIVE="python-$PRGNAM-release-$VERSION" BUILD=${BUILD:-1} TAG=${TAG:-_SBo} +# Determine architecture of build system if [ -z "$ARCH" ]; then case "$( uname -m )" in i?86) ARCH=i486 ;; @@ -35,11 +42,6 @@ if [ -z "$ARCH" ]; then esac fi -CWD=$(pwd) -TMP=${TMP:-/tmp/SBo} -PKG=$TMP/package-$PRGNAM -OUTPUT=${OUTPUT:-/tmp} - if [ "$ARCH" = "i486" ]; then SLKCFLAGS="-O2 -march=i486 -mtune=i686" LIBDIRSUFFIX="" @@ -54,14 +56,27 @@ else LIBDIRSUFFIX="" fi -set -e +# Halt on errors and print out each variable's state +set -ex +# NOTE: script checks working directory, execute from within same dir +CWD=$(pwd) +TMP=${TMP:-/tmp/SBo} +PKG=$TMP/package-$PRGNAM +OUTPUT=${OUTPUT:-/tmp} + +# remove existing build output and recreate build directories rm -rf $PKG mkdir -p $TMP $PKG $OUTPUT cd $TMP -rm -rf $PRGNAM-$VERSION -tar xvf $CWD/$PRGNAM-$VERSION.tar.gz -cd $PRGNAM-$VERSION +rm -rf "$PRGNAM-$VERSION" "$ARCHIVE" + +# Unzip the repository code, rename it, and move into that directory +unzip "$CWD/$ARCHIVE.zip" +mv "$ARCHIVE" "$PRGNAM-$VERSION" +cd "$PRGNAM-$VERSION" + +# Set permissions on files in the unzipped repository chown -R root:root . find -L . \ \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ @@ -69,25 +84,39 @@ find -L . \ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; +# Assumes Cython is already installed, build the C files in the repo +python setup.py build_cython + +# Run the install using GCC, outputting to the $PKG build output python setup.py install --root=$PKG -# Python 3 support. +# Python 3 support, rebuild using Python3 if $(python3 -c 'import sys' 2>/dev/null); then + python3 setup.py build_cython python3 setup.py install --root=$PKG fi +# Consecutive filtering of files and text to confirm the output is present find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true +# Copy the documentation files into the $PKG build output mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION -mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION/html -cp -a examples LICENSE $PKG/usr/doc/$PRGNAM-$VERSION -cp -a doc/html/*.html doc/html/searchindex.js doc/html/_static \ - $PKG/usr/doc/$PRGNAM-$VERSION/html +cp -a examples Changes.rst LICENSE README.rst $PKG/usr/doc/$PRGNAM-$VERSION + +## Copy the HTML documentation as well. Needs a certain Python build target, +## otherwise this doesn't succeed. Commented out for compatibility +# mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION/html +# cp -a doc/html/*.html doc/html/searchindex.js doc/html/_static \ +# $PKG/usr/doc/$PRGNAM-$VERSION/html + +# Copy the build script to the $PKG build output as well cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild +# Copy the Slackware slack-desc text file to the $PKG build output mkdir -p $PKG/install cat $CWD/slack-desc > $PKG/install/slack-desc +# Go to the $PKG build output and actually build the compiled TXZ package cd $PKG /sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-txz} diff --git a/source/SlackBuild/llfuse/llfuse.info b/source/SlackBuild/llfuse/llfuse.info index cf73af53..1fc705b9 100644 --- a/source/SlackBuild/llfuse/llfuse.info +++ b/source/SlackBuild/llfuse/llfuse.info @@ -1,10 +1,10 @@ PRGNAM="llfuse" -VERSION="0.40" -HOMEPAGE="https://bitbucket.org/nikratio/python-llfuse/" -DOWNLOAD="https://bitbucket.org/nikratio/python-llfuse/downloads/llfuse-0.40.tar.bz2" -MD5SUM="bd8d07ddb6061ab03816e636efa37b5b" +VERSION="1.3.8" +HOMEPAGE="https://github.com/python-llfuse/python-llfuse" +DOWNLOAD="https://github.com/python-llfuse/python-llfuse/archive/release-1.3.8.zip" +MD5SUM="ed0164e4aaa62f4f0f302180b2a0b2e6" DOWNLOAD_x86_64="" MD5SUM_x86_64="" -REQUIRES="pysetuptools" -MAINTAINER="Andrzej Telszewski" -EMAIL="atelszewski@gmail.com" +REQUIRES="" +MAINTAINER="ThomasWaldmann" +EMAIL="tw@waldmann-edv.de" diff --git a/source/SlackBuild/llfuse/python-llfuse-release-1.3.8.zip b/source/SlackBuild/llfuse/python-llfuse-release-1.3.8.zip new file mode 100644 index 00000000..0d54889f Binary files /dev/null and b/source/SlackBuild/llfuse/python-llfuse-release-1.3.8.zip differ diff --git a/source/SlackBuild/llfuse/slack-desc b/source/SlackBuild/llfuse/slack-desc index c34c1610..907aa2d9 100644 --- a/source/SlackBuild/llfuse/slack-desc +++ b/source/SlackBuild/llfuse/slack-desc @@ -11,9 +11,9 @@ llfuse: llfuse: LLFUSE is a set of Python bindings for the low level FUSE API. llfuse: It requires at least FUSE 2.8.0 and supports both Python 2.x and 3.x. llfuse: -llfuse: Homepage: https://bitbucket.org/nikratio/python-llfuse/ -llfuse: -llfuse: -llfuse: +llfuse: Warning - no longer maintained +llfuse: Python-LLFUSE is no longer actively maintained. Unless you are stuck +llfuse: with Python 2.x or libfuse 2.x, use the pyfuse3 module instead. llfuse: +llfuse: Homepage: https://github.com/python-llfuse/python-llfuse llfuse: