Removed i2pd (new maintaner at SBo)

added slack2freenix script (in progress)
This commit is contained in:
shelldweller 2023-05-15 09:45:23 -05:00
parent 73230bd444
commit 1439d3a021
8 changed files with 230 additions and 154 deletions

Binary file not shown.

View File

@ -1,13 +0,0 @@
i2pd (I2P Daemon) is a full-featured C++ implementation of I2P client.
I2P (Invisible Internet Protocol) is a universal anonymous network
layer. All communications over I2P are anonymous and end-to-end
encrypted, participants don't reveal their real IP addresses.
I2P client is a software used for building and using anonymous I2P
networks. Such networks are commonly used for anonymous peer-to-peer
applications (filesharing, cryptocurrencies) and anonymous client-server
applications (websites, instant messengers, chat-servers).
I2P allows people from all around the world to communicate and share
information without restrictions.

View File

@ -1,112 +0,0 @@
#!/bin/bash
# Slackbuild for i2pd
# Written by shelldweller <shelldweller@beauxbead.com>
# 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.
cd $(dirname $0) ; CWD=$(pwd)
PRGNAM=i2pd
VERSION=${VERSION:-2.47.0}
BUILD=${BUILD:-1}
TAG=${TAG:-_shldwlr}
PKGTYPE=${PKGTYPE:-txz}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
i?86) ARCH=i586 ;;
arm*) ARCH=arm ;;
*) ARCH=$( uname -m ) ;;
esac
fi
# 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:-/blds/}
if [ "$ARCH" = "i586" ]; then
SLKCFLAGS="-O2 -march=i586 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2 -fPIC"
LIBDIRSUFFIX="64"
else
SLKCFLAGS="-O2 -fPIC"
LIBDIRSUFFIX="64"
fi
set -e
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM-$VERSION
tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
cd $PRGNAM-$VERSION
chown -R root:root .
find -L . \
\( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 -o -perm 511 \) \
-exec chmod 755 {} \; -o \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
cd build
sed -i \
"s,LIBRARY DESTINATION lib,LIBRARY DESTINATION lib${LIBDIRSUFFIX}," \
CMakeLists.txt
cmake \
-DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
-DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
-DCMAKE_INSTALL_PREFIX=/usr \
-DWITH_STATIC=OFF \
-DBUILD_SHARED_LIBS=ON \
-DCMAKE_BUILD_TYPE=Release .
make
make install DESTDIR=$PKG
cd ..
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
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a ChangeLog LICENSE README.md docs/ contrib/certificates/ contrib/tunnels.d/ \
contrib/i2pd.conf contrib/tunnels.conf contrib/subscriptions.txt \
$PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
find $PKG/usr/doc -name "Makefile" -delete
find $PKG/usr/doc -type f -exec chmod 644 {} \;
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

View File

@ -1,10 +0,0 @@
PRGNAM="i2pd"
VERSION="2.47.0"
HOMEPAGE="http://i2pd.website/"
DOWNLOAD="https://github.com/PurpleI2P/i2pd/archive/2.47.0/i2pd-2.47.0.tar.gz"
MD5SUM="e7f381272ea1116ac7522f75d5736801"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
MAINTAINER="shelldweller"
EMAIL="shelldweller@beauxbead.com"

View File

@ -1,19 +0,0 @@
# HOW TO EDIT THIS FILE:
# The "handy ruler" below makes it easier to edit a package description.
# Line up the first '|' above the ':' following the base package name, and
# the '|' on the right side marks the last column you can put a character in.
# You must make exactly 11 lines for the formatting to be correct. It's also
# customary to leave one space after the ':' except on otherwise blank lines.
|-----handy-ruler------------------------------------------------------|
i2pd: i2pd (I2P Daemon)
i2pd:
i2pd: A full-featured C++ implementation of an I2P client.
i2pd:
i2pd: An I2P client is software used for building and using anonymous I2P
i2pd: networks. Such networks are commonly used for anonymous peer-to-peer
i2pd: applications (filesharing, cryptocurrencies) and anonymous client-
i2pd: server applications (websites, instant messengers, chat-servers).
i2pd:
i2pd: I2P allows people from all around the world to communicate and share
i2pd: information without restrictions.

2
slack2freenix/README.md Normal file
View File

@ -0,0 +1,2 @@
A project in the works to convert an installed Slackware-15.0 system into
a Freenix-15.0 system. Both 64-bit and 32-bit versions are covered.

View File

@ -0,0 +1,77 @@
#!/bin/bash
###################################################################################
# Slackware(64)-15.0 to Freenix(64)-15.0 script
# written by krt@beauxbead.com / krt.beauxbead.com
# Released under the WTFPL 2.0 http://www.wtfpl.net/
#
# This is intended to be run ONCE as root on a fully updated stock system.
# It removes all non-free packages (as deemed by freenix.net)
# and optionally builds the latest 5.15.N Linux-libre kernel for your architecture.
# Works on both 32-bit and 64-bit installations of Slackware 15.0
#
# No guarantees are given, this script is highly experimental.
# Feel free to make changes and share with the community.
#
####################################################################################
# Set blacklist file, just in case...
BLACKLISTFILE="/etc/slackpkg/blacklist"
# Remove non-free stock packages from full default installation
# Comment out any you'd like to keep
removepkg \
amp \
bluez-firmware \
font-bh-ttf \
font-bh-type1 \
ipw2100-fw \
ipw2200-fw \
mozilla-firefox \
mozilla-thunderbird \
seamonkey \
skkdic \
unarj \
xgames \
zd1211-firmware \
# Add non-free packages to blacklist
# Comment out any you want to exclude from the blacklist
echo "#" >> $BLACKLISTFILE
echo "##############################################" >> $BLACKLISTFILE
echo "# Non-free packages removed as per freenix.net" >> $BLACKLISTFILE
echo "amp" >> $BLACKLISTFILE
echo "bluez-firmware" >> $BLACKLISTFILE
echo "font-bh-ttf" >> $BLACKLISTFILE
echo "font-bh-type1" >> $BLACKLISTFILE
echo "ipw2100-fw" >> $BLACKLISTFILE
echo "ipw2200-fw" >> $BLACKLISTFILE
echo "mozilla-firefox" >> $BLACKLISTFILE
echo "mozilla-thunderbird" >> $BLACKLISTFILE
echo "seamonkey" >> $BLACKLISTFILE
echo "skkdic" >> $BLACKLISTFILE
echo "unarj" >> $BLACKLISTFILE
echo "xgames" >> $BLACKLISTFILE
echo "zd1211-firmware" >> $BLACKLISTFILE
# Blacklist kernel packages here so that it only happens once
echo "#" >> $BLACKLISTFILE
echo "###################################################################" >> $BLACKLISTFILE
echo "# Kernel packages removed to prevent stock kernel being reinstalled" >> $BLACKLISTFILE
echo "kernel-firmware" >> $BLACKLISTFILE
echo "kernel-generic.*" >> $BLACKLISTFILE
echo "kernel-headers.*" >> $BLACKLISTFILE
echo "kernel-huge.*" >> $BLACKLISTFILE
echo "kernel-modules.*" >> $BLACKLISTFILE
echo "kernel-source" >> $BLACKLISTFILE
echo "kernel.*" >> $BLACKLISTFILE
# Print out new blacklist
cat $BLACKLISTFILE
# Prepare for kernel building
echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
echo "% Non-free software is removed and blacklisted."
echo "% To (re)build a libre kernel for your system, run: "
echo "% ./update-freenix-kernels.sh"
echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
exit 0

View File

@ -0,0 +1,151 @@
#!/bin/bash
#######################################################################
# Slackware(64)-15.0 to Freenix(64)-15.0 script
# written by krt@beauxbead.com / krt.beauxbead.com
# Released under the WTFPL 2.0 http://www.wtfpl.net/
#
# This is intended to be run as root. It builds the latest Linux-libre
# kernel for your architecture from the same branch as the upstream
# stock kernel. Works on both 32-bit and 64-bit installations of
# Slackware 15.0 .
#
# No guarantees are given, this script is highly experimental.
# Feel free to make changes and share with the community.
#######################################################################
# where is this script being run from?
CWD0=$(pwd)
# future proof the release version number
# to-do: make this work on -current?
RELEASE=$(grep '^VERSION=' /etc/os-release | cut -d '=' -f 2 | sed 's/"//g')
# prepare for kernel building
BUILDDIR="/tmp/linux-libre-4-freenix"
rm -r ${BUILDDIR}
mkdir ${BUILDDIR}
cd ${BUILDDIR}
# download kernel SlackBuild scripts
# Uses mirrors.slackware.com to find a mirror near you, feel free to change to a local mirror
REPOURL="https://mirrors.slackware.com"
# Set latest stock version here
STOCKVERSION=$(wget -q -O - $REPOURL/slackware/slackware64-$RELEASE/patches/source/ | grep -o -P '(?<=>linux-).*(?=\/<)')
wget $REPOURL/slackware/slackware64-$RELEASE/patches/source/linux-${STOCKVERSION}/kernel-generic.SlackBuild
wget $REPOURL/slackware/slackware64-$RELEASE/patches/source/linux-${STOCKVERSION}/kernel-headers.SlackBuild
wget $REPOURL/slackware/slackware64-$RELEASE/patches/source/linux-${STOCKVERSION}/kernel-modules.SlackBuild
wget $REPOURL/slackware/slackware64-$RELEASE/patches/source/linux-${STOCKVERSION}/kernel-source.SlackBuild
chmod a+x *.SlackBuild
# use olddefconfig instead of oldconfig to accept defaults since last stock kernel update.
sed -i 's/oldconfig/olddefconfig/' kernel-generic.SlackBuild
sed -i 's/oldconfig/olddefconfig/' kernel-modules.SlackBuild
# download latest Linux-Libre source in the same branch as the stock kernel
MAJORVERSION=$(wget -q -O - $REPOURL/slackware/slackware64-$RELEASE/patches/source/ | grep -o -P '(?<=>linux-).*(?=\/<)' | sed 's/\.[^.]*$//')
wget -r -l1 -np -nd "http://linux-libre.fsfla.org/pub/linux-libre/releases/LATEST-${MAJORVERSION}.N" -A "linux-libre-${MAJORVERSION}.*-gnu.tar.lz*"
wget -r -l1 -np -nd "http://linux-libre.fsfla.org/pub/linux-libre/releases/LATEST-${MAJORVERSION}.N" -A "linux-libre-${MAJORVERSION}.*-gnu.tar.sign"
wget http://linux-libre.fsfla.org/pub/linux-libre/SIGNING-KEY.linux-libre
gpg --import SIGNING-KEY.linux-libre
gpg --verify *tar.lz.sign
LIBREVERSION=$(ls linux-libre-*-gnu.tar.lz | sed 's/[^0-9.]*//g' | sed 's/..$//')
ln -s linux-libre-${LIBREVERSION}-gnu.tar.lz linux-${LIBREVERSION}.tar.lz
# grab most recent stock kernel-configs and use them as latest libre-configs
mkdir kernel-configs
cd kernel-configs
wget $REPOURL/slackware/slackware64-$RELEASE/patches/source/linux-${STOCKVERSION}/kernel-configs/config-generic-${STOCKVERSION} -O config-generic-${LIBREVERSION}
wget $REPOURL/slackware/slackware64-$RELEASE/patches/source/linux-${STOCKVERSION}/kernel-configs/config-generic-${STOCKVERSION}.x64 -O config-generic-${LIBREVERSION}.x64
wget $REPOURL/slackware/slackware64-$RELEASE/patches/source/linux-${STOCKVERSION}/kernel-configs/config-generic-smp-${STOCKVERSION}-smp -O config-generic-smp-${LIBREVERSION}-smp
wget $REPOURL/slackware/slackware64-$RELEASE/patches/source/linux-${STOCKVERSION}/kernel-configs/config-huge-${STOCKVERSION} -O config-huge-${LIBREVERSION}
wget $REPOURL/slackware/slackware64-$RELEASE/patches/source/linux-${STOCKVERSION}/kernel-configs/config-huge-${STOCKVERSION}.x64 -O config-huge-${LIBREVERSION}.x64
wget $REPOURL/slackware/slackware64-$RELEASE/patches/source/linux-${STOCKVERSION}/kernel-configs/config-huge-smp-${STOCKVERSION}-smp -O config-huge-smp-${LIBREVERSION}-smp
cd ../
# Grab slack-desc files for packaging later
mkdir slack-desc
cd slack-desc
wget $REPOURL/slackware/slackware64-$RELEASE/patches/source/linux-${STOCKVERSION}/slack-desc/slack-desc.kernel-generic-smp.i686
wget $REPOURL/slackware/slackware64-$RELEASE/patches/source/linux-${STOCKVERSION}/slack-desc/slack-desc.kernel-generic.i586
wget $REPOURL/slackware/slackware64-$RELEASE/patches/source/linux-${STOCKVERSION}/slack-desc/slack-desc.kernel-generic.x86_64
wget $REPOURL/slackware/slackware64-$RELEASE/patches/source/linux-${STOCKVERSION}/slack-desc/slack-desc.kernel-headers
wget $REPOURL/slackware/slackware64-$RELEASE/patches/source/linux-${STOCKVERSION}/slack-desc/slack-desc.kernel-huge-smp.i686
wget $REPOURL/slackware/slackware64-$RELEASE/patches/source/linux-${STOCKVERSION}/slack-desc/slack-desc.kernel-huge.i586
wget $REPOURL/slackware/slackware64-$RELEASE/patches/source/linux-${STOCKVERSION}/slack-desc/slack-desc.kernel-huge.x86_64
wget $REPOURL/slackware/slackware64-$RELEASE/patches/source/linux-${STOCKVERSION}/slack-desc/slack-desc.kernel-modules_template
wget $REPOURL/slackware/slackware64-$RELEASE/patches/source/linux-${STOCKVERSION}/slack-desc/slack-desc.kernel-source
wget $REPOURL/slackware/slackware64-$RELEASE/patches/source/linux-${STOCKVERSION}/slack-desc/slack-desc.kernel-source.vanilla
wget $REPOURL/slackware/slackware64-$RELEASE/patches/source/linux-${STOCKVERSION}/slack-desc/slack-desc.kernel-template
cd ../
# Build Linux-Libre packages
wget $REPOURL/slackware/slackware64-$RELEASE/patches/source/linux-${STOCKVERSION}/build-all-kernels.sh
chmod +x build-all-kernels.sh
echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
echo "% Now building the kernels using Pat's script, this may take some time..."
echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
INSTALL_PACKAGES=NO ./build-all-kernels.sh
echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
echo "% We're done with Pat's script. Thanks Pat!"
echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
# Upgrade kernel packages all at once
echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
echo "% Upgrading stock kernel packages to libre kernel packages..."
echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
upgradepkg /tmp/output-*/kernel-*.t?z
geninitrd
lilo
# what about firmware?
echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
echo "% Kernel packages are done, now for the firmware package..."
echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
removepkg kernel-firmware
# download linux-libre firmware
echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
echo "% Begin Firmware Stuff Here?!?!?!"
echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
rmdir ${BUILDDIR}/firmware
mkdir ${BUILDDIR}/firmware
cd ${BUILDDIR}/firmware
#wget https://jxself.org/firmware/linux-libre-firmware-1.4.tar.lz
#wget https://jxself.org/firmware/linux-libre-firmware-1.4.tar.lz.asc
#KEYSERVER="keyserver.ubuntu.com"
#gpg --keyserver $KEYSERVER --recv-keys 545A3198
#gpg --verify *asc
#tar -xf *tar.lz
#cp -r linux-libre-firmware/bin /lib/firmware
wget $REPOURL/slackware/slackware64-$RELEASE/source/a/kernel-firmware/kernel-firmware.SlackBuild
wget $REPOURL/slackware/slackware64-$RELEASE/source/a/kernel-firmware/slack-desc
chmod a+x *.SlackBuild
# patch SlackBuild and slack-desc to fit linux-libre-firmware
sed -i 's/PKGNAM=kernel-firmware/PKGNAM=kernel-firmware-gnu/' kernel-firmware.SlackBuild
sed -i 's/https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/firmware\/linux-firmware.git/https:\/\/jxself.org\/git\/linux-libre-firmware.git/' kernel-firmware.SlackBuild
sed -i 's/kernel-firmware-${DATE}_${HEADISAT}/kernel-firmware-gnu-${DATE}_${HEADISAT}/' kernel-firmware.SlackBuild
#sed -i 's/ --- / --- /' kernel-firmware.SlackBuild
sed -i 's/kernel-firmware/kernel-firmware-gnu/' slack-desc
sed -i 's/Linux/Linux-libre/' slack-desc
sed -i 's/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/firmware\/linux-firmware.git/jxself.org\/git\/linux-libre-firmware.git/' slack-desc
#sed -i 's/ --- / --- /' slack-desc
echo "Making linux-libre-firmware package"
./kernel-firmware.SlackBuild
# install firmware package
echo "# Install firmware package here #"
installpkg /tmp/kernel-firmware-gnu*
# that should do it!
echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
echo "% All done, you can reboot now. This script does not clean up after itself."
echo "% If you desire, you can manually remove the files left behind in /tmp/ ."
echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
cd ${CWD0}
exit 0