# gtkdoc (optional; part of Slackware's linuxdoc-tools package)
# Get the source
cd
mkdir -p -m 0700 installed
test -f installed/p11-kit-0.25.0.tar.xz &&
mv -f installed/p11-kit-0.25.0.tar.xz .
test ! -f p11-kit-0.25.0.tar.xz &&
wget https://github.com/p11-glue/p11-kit/releases/download/0.25.0/\
p11-kit-0.25.0.tar.xz.sig
# Verify/ tarball w/ sha256sum:
# (this came from my gpg-verified tarball)
# (you can also use 'shasum -a 256' or 'openssl dgst -sha256')
echo "d55583bcdde83d86579cabe3a8f7f2638675fef01d23cace733ff748fc3547\
06 p11-kit-0.25.0.tar.xz" | sha256sum -c
# Extract the source code
mkdir -p -m 0700 ~/src
cd ~/src
find -maxdepth 1 -type d -name "p11-kit-*" -exec rm -r {} \;
tar xJvf ~/p11-kit-0.25.0.tar.xz
cd p11-kit-0.25.0
test $UID = 0 && chown -R root:root .
# I pass --disable-nls below because I only read/write English (well),
# leave that off if that is not the case for you
# Configure the build for 64-bit
test $(uname -m) = 'x86_64' &&
./configure --prefix=/usr --sysconfdir=/etc --libdir=/usr/lib64 \
--mandir=/usr/man --disable-nls
# Configure the build for 64-bit
test $(uname -m) != 'x86_64' &&
./configure --prefix=/usr --sysconfdir=/etc --mandir=/usr/man --disable-nls
# Build it
make
# Become root to install it
su
# Remove the Slackware package, if there is one
test -x /sbin/removepkg && /sbin/removepkg p11-kit
# Install it
make install
ldconfig
# If you installed it over an older version, check here for leftover
# files that are no longer necessary - generally if the date is not
# today, and you didn't customize it yourself, it's no longer used.
# Check currently running programs with ldd to make sure they are not
# using an old libp11-kit.so.*
# /etc/pkcs11
# /usr/include/p11-kit-1
# /usr/*lib/libp11-kit.*
# /usr/share/gtk-doc/html/p11-kit
# Make sure your non-root user can remove the source later
chown -R $(logname) .
chmod -R u+w .
# Become your non-root user again
exit
# Save the source for later
cd
mkdir -p -m 0700 installed
rm -f installed/p11-kit-*.tar.*
mv p11-kit-0.25.0.tar.xz installed/
# If you ever want to uninstall p11-kit, this should do it:
cd
su
test -d src/p11-kit-* && ( cd src/p11-kit-* ; make uninstall )
test -d /etc/pkcs11 && rm -r /etc/pkcs11
test -d /usr/include/p11-kit-1 && rm -r /usr/include/p11-kit-1
( cd /usr/lib ; rm -f libp11-kit.la libp11-kit.so libp11-kit.so.* )
test -d /usr/lib64 &&
( cd /usr/lib64 ; rm -f libp11-kit.la libp11-kit.so libp11-kit.so.* )
test -d /usr/share/gtk-doc/html/p11-kit &&
rm -r /usr/share/gtk-doc/html/p11-kit
rm -f /usr/bin/p11-kit /usr/lib*/pkgconfig/p11-kit-1.pc
ldconfig
exit
find ~/src -maxdepth 1 -type d -name "p11-kit-*" -exec rm -r {} \;
rm -f ~/installed/p11-kit-*.tar.*