fixed sed commands for $DATE

This commit is contained in:
shelldweller 2023-06-12 10:22:25 -05:00
parent 7b006d33cc
commit d83334e74f
3 changed files with 46 additions and 48 deletions

View File

@ -37,11 +37,11 @@ RELEASE = release version of Slackware (i.e. 15.0). Fetches from running system
REPOURL = URL of your preferred repo. (default = https://mirrors.slackware.com)
BUILDDIR = directory to build kernels in. (default =/tmp/linux-libre-4-freenix"
BUILDDIR = directory to build kernels in. (default =/tmp/linux-libre-4-freenix)
BLACKLISTFILE = the location of your slackpkg blacklist file (default = /etc/slackpkg/blacklist)
INSTALL_KERNEL = install packages after building them (default = yes)
INSTALL_KERNEL = install packages after building them (default = no)
4) linux-libre-firmware-build-install.sh
@ -55,11 +55,11 @@ RELEASE = release version of Slackware (i.e. 15.0). Fetches from running system
REPOURL = URL of your preferred repo. (default = https://mirrors.slackware.com)
BUILDDIR = directory to build kernels in. (default =/tmp/linux-libre-4-freenix"
BUILDDIR = directory to build kernels in. (default =/tmp/linux-libre-4-freenix)
BLACKLISTFILE = the location of your slackpkg blacklist file (default = /etc/slackpkg/blacklist)
INSTALL_FIRMWARE = install packages after building them (default = yes)
INSTALL_FIRMWARE = install packages after building them (default = no)
NOTE: The script DOES NOT clean up after itself.

View File

@ -43,7 +43,8 @@ mkdir ${BUILDDIR}/firmware
cd ${BUILDDIR}/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
cp kernel-firmware.SlackBuild kernel-firmware-gnu.SlackBuild
chmod a+x kernel-firmware-gnu.SlackBuild
# patch SlackBuild and slack-desc to fit linux-libre-firmware using:
# sed -i 's/ --- / --- /' slack-desc
@ -51,36 +52,44 @@ echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
echo "% Patching SlackBuild and slack-desc files for linux-libre"
echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
# patch kernel-firmware.SlackBuild
sed -i 's/PKGNAM=kernel-firmware/PKGNAM=kernel-firmware-gnu/' kernel-firmware.SlackBuild
sed -i 's/.*git.kernel.org\/pub\/scm\/linux\/kernel\/git\/firmware\/linux-firmware.git\/commit\/?id=HEAD | grep " committer " | head -n 1 | rev | cut -f 3 -d.*/ DATE="$(lynx -dump -width=256 https:\/\/jxself.org\/git\/linux-libre-firmware.git | grep "last change" | head -n 1 | cut -f 2 -d "," | tr -d " " | cut -f 1 -d ":" | sed "s/..$//")"/' kernel-firmware.SlackBuild
sed -i 's/https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/firmware\/linux-firmware.git\/commit\/?id=HEAD | grep " commit " | head -n 1 | cut -f 2 -d ] | cut -b 1-7/"https:\/\/jxself.org\/git\/?p=linux-libre-firmware.git;a=commit" | grep " commit " | head -n 1 | cut -b 14-20/' kernel-firmware.SlackBuild
sed -i 's/git:\/\/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-$/kernel-firmware-gnu-$/' kernel-firmware.SlackBuild
sed -i 's/mv linux-firmware/mv linux-libre-firmware/' kernel-firmware.SlackBuild
sed -i 's/kernel-firmware-${DATE}/kernel-firmware-gnu-${DATE}/' kernel-firmware.SlackBuild
sed -i 's/PKGNAM=kernel-firmware/PKGNAM=kernel-firmware-gnu/' kernel-firmware-gnu.SlackBuild
sed -i 's/.*git.kernel.org\/pub\/scm\/linux\/kernel\/git\/firmware\/linux-firmware.git\/commit\/?id=HEAD | grep " committer " | head -n 1 | rev | cut -f 3 -d.*/ DATE="$(lynx -dump -width=256 https:\/\/jxself.org\/git\/linux-libre-firmware.git | grep "last change" | head -n 1 | cut -f 2 -d "," | cut -d" " -f2-4 | tr -d " ")"/' kernel-firmware-gnu.SlackBuild
sed -i 's/https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/firmware\/linux-firmware.git\/commit\/?id=HEAD | grep " commit " | head -n 1 | cut -f 2 -d ] | cut -b 1-7/"https:\/\/jxself.org\/git\/?p=linux-libre-firmware.git;a=commit" | grep " commit " | head -n 1 | cut -b 14-20/' kernel-firmware-gnu.SlackBuild
sed -i 's/git:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/firmware\/linux-firmware.git/https:\/\/jxself.org\/git\/linux-libre-firmware.git/' kernel-firmware-gnu.SlackBuild
sed -i 's/kernel-firmware-$/kernel-firmware-gnu-$/' kernel-firmware-gnu.SlackBuild
sed -i 's/mv linux-firmware/mv linux-libre-firmware/' kernel-firmware-gnu.SlackBuild
sed -i 's/kernel-firmware-${DATE}/kernel-firmware-gnu-${DATE}/' kernel-firmware-gnu.SlackBuild
# patch slack-desc
sed -i 's/kernel-firmware/kernel-firmware-gnu/' slack-desc
sed -i 's/kernel-firmware (Firmware for the kernel)/kernel-firmware-gnu (Firmware for the kernel)/' 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/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/firmware\/linux-firmware.git/jxself.org\/git\/linux-libre-firmware.git/' slack-desc
# build firmware package
echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
echo "% Building Linux-Libre firmware"
echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
cp kernel-firmware.SlackBuild kernel-firmware-gnu.SlackBuild
chmod a+x kernel-firmware-gnu.SlackBuild
./kernel-firmware-gnu.SlackBuild
if [ $INSTALL_FIRMWARE == 'yes' ]
then
if [ $INSTALL_FIRMWARE == 'no' ]; then
# that should do it!
echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
echo "% Linux-libre firmware has been built."
echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
cd ${CWD0}
exit 0
fi
# Remove stock firmware package
echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
echo "% Removing stock firmware package"
echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
removepkg kernel-firmware
# install firmware package
echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
echo "% Installing Linux-Libre firmware"
@ -89,14 +98,14 @@ echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
installpkg /tmp/kernel-firmware-gnu*
# Add non-free packages to blacklist if not already blacklisted
if [ ! grep -q 'kernel-firmware' $BLACKLISTFILE ]
then
if [ ! grep -q 'kernel-firmware' $BLACKLISTFILE ]; then
# Blacklist stock firmware package
echo 'kernel-firmware' >> $BLACKLISTFILE
# Print out new blacklist
cat $BLACKLISTFILE
fi
# that should do it!
echo '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~'
@ -104,14 +113,4 @@ echo '% Linux-libre firmware has been built and installed.'
echo '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~'
cd ${CWD0}
exit 0
fi
fi
# that should do it!
echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
echo "% Linux-libre firmware has been built."
echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
cd ${CWD0}
exit 0

View File

@ -113,8 +113,20 @@ echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
echo "% We're done with Pat's script. Thanks Pat!"
echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
if [ $INSTALL_KERNEL == 'yes' ]
then
if [ $INSTALL_KERNEL == 'no' ]; then
# that should do it!
echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
echo "% Linux-libre kernel packages have been built."
echo "% The last step is to build the firmware package, do this by running:"
echo "% ./linux-libre-firmware-builder-installer.sh"
echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
cd ${CWD0}
exit 0
fi
# Upgrade kernel packages all at once
echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
echo "% Upgrading stock kernel packages to libre kernel packages."
@ -129,8 +141,7 @@ geninitrd
lilo
# Add non-free packages to blacklist if not already blacklisted
if [ ! grep -q "Kernel packages removed to prevent stock kernel being reinstalled" $BLACKLISTFILE ]
then
if [ ! grep -q "Kernel packages removed to prevent stock kernel being reinstalled" $BLACKLISTFILE ]; then
# Blacklist stock kernel packages
echo "#" >> $BLACKLISTFILE
@ -146,6 +157,8 @@ echo "kernel.*" >> $BLACKLISTFILE
# Print out new blacklist
cat $BLACKLISTFILE
fi
# that should do it!
echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
echo "% Stock kernel packages have been upgraded to libre kernel packages."
@ -154,18 +167,4 @@ echo "% ./linux-libre-firmware-builder-installer.sh"
echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
cd ${CWD0}
exit 0
fi
fi
# that should do it!
echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
echo "% Linux-libre kernel packages have been built."
echo "% The last step is to build the firmware package, do this by running:"
echo "% ./linux-libre-firmware-builder-installer.sh"
echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
cd ${CWD0}
exit 0