This is a gist repository contains solbuild
package.yml
files for packages that unavailable in the official Solus repositories at time of writing.
Note: This repository is unofficial and I give no support, nor do I promise to ever updates
name : linux-zfs | |
version : 6.4.13 | |
release : 253 | |
source : | |
- https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.4.13.tar.xz : 5e5511b50bc9fd358bb5d7746fab3c5ea396d42c6bd7a54b2555ede0de5ac8e5 | |
- git|https://github.com/openzfs/zfs.git : 739db06ce7d453f92b93c9274e1f2176f927992d | |
license : GPL-2.0-only | |
component : | |
- kernel.image | |
- headers : kernel.devel | |
summary : | |
- Linux kernel image and modules (zfs) | |
- headers : Linux kernel headers (zfs) | |
description: | |
- The Linux kernel and modules, the core of the operating system | |
- headers : Headers required for building out of tree kernel modules | |
builddeps : | |
- pkgconfig(devmapper) | |
- pkgconfig(libelf) | |
- bc | |
- btrfs-progs | |
- cpio | |
- dracut | |
- intel-microcode | |
- kbd | |
- libfido2 | |
- linux-firmware | |
- lz4 | |
- nvme-cli | |
- perl | |
- sbsigntools | |
- tpm2-tools | |
- gettext | |
- rpm | |
- sed | |
- pkgconfig(libtirpc) | |
- pkgconfig(blkid) | |
- pkgconfig(uuid) | |
- pkgconfig(libudev) | |
- pkgconfig(libssl) | |
- pkgconfig(zlib) | |
- libaio-devel | |
- pkgconfig(libattr) | |
- pkgconfig(libelf) | |
- pkgconfig(libffi) | |
- pkgconfig(python3) | |
- python-cffi | |
- python-setuptools | |
patterns : | |
- headers : /usr/src | |
permanent : | |
- /lib/modules | |
- /usr/lib/kernel | |
- /usr/src | |
replaces : | |
- kernel | |
- kernel-modules | |
- headers : kernel-headers | |
environment: | | |
# Maximize ccache efficiency as well as make the build fully reproducible, except for the initrd which needs a timestamp to be signed | |
export KBUILD_BUILD_USER=root | |
export KBUILD_BUILD_TIMESTAMP="0" | |
export SOURCE_DATE_EPOCH=0 | |
setup : | | |
%apply_patches | |
# Set the version | |
extraVersion="-${release}.zfs" | |
sed -e "s/EXTRAVERSION =.*/EXTRAVERSION = $extraVersion/" -i Makefile | |
# Ensure config is valid | |
install $pkgfiles/config .config | |
%make olddefconfig prepare | |
cp -r $sources/zfs.git ../zfs.git | |
cd ../zfs.git | |
%autogen --enable-linux-builtin --with-linux=$workdir --with-linux-obj=$workdir | |
./copy-builtin $workdir | |
cd $workdir | |
echo CONFIG_ZFS=y >> .config | |
%make ARCH=x86_64 oldconfig | |
# Zero stats so that we see how effective the caching is | |
if [[ " ${PATH[*]} " =~ "ccache" ]]; then | |
ccache --zero-stats | |
fi | |
build : | | |
%make ARCH=x86_64 CONFIG_DEBUG_SECTION_MISMATCH=y | |
%make -C tools/objtool | |
if [[ " ${PATH[*]} " =~ "ccache" ]]; then | |
ccache --show-stats | |
fi | |
install : | | |
# Install kernel blob | |
kernID="com.solus-project.zfs" | |
kversion="${version}-${release}.zfs" | |
install -D -m 0755 arch/x86/boot/bzImage $installdir/usr/lib/kernel/$kernID.${version}-${release} | |
# Install additional files | |
install -m 00644 .config $installdir/usr/lib/kernel/config-$kversion | |
install -m 00644 System.map $installdir/usr/lib/kernel/System.map-$kversion | |
install -m 00644 $pkgfiles/cmdline $installdir/usr/lib/kernel/cmdline-$kversion | |
# Install kernel modules, disable depmod + firmware install | |
install -D -d -m 00755 $installdir/lib/modules/$kversion | |
%make ARCH=x86_64 INSTALL_MOD_PATH=$installdir/ INSTALL_MOD_STRIP=1 modules_install KERNELRELEASE=$kversion mod-fw= DEPMOD=/bin/true | |
# Remove broken links | |
rm -v $installdir/lib/modules/${kversion}/{source,build} | |
# Mark this as the default "zfs" kernel | |
ln -sv $kernID.${version}-${release} $installdir/usr/lib/kernel/default-zfs | |
# Fix mods | |
depmod -b $installdir/ $kversion -a | |
# Store vendor initrd within the kernel package, prevent mangling from fakeroot | |
# 2021-01-20: Force early KMS for everything except Nouveau (this will not work with Nvidia propretary) | |
LD_PRELOAD='' dracut --strip --tmpdir /tmp -N -f \ | |
--kmoddir $installdir/lib/modules/${kversion} \ | |
--kver $kversion --add "bash systemd lvm dm rescue fido2 tpm2-tss virtiofs" \ | |
--strip --hardlink --zstd \ | |
--nomdadmconf --early-microcode \ | |
--add-drivers "amdgpu hyperv_drm i915 qxl radeon simpledrm virtio-gpu vfio_pci vfio vfio_iommu_type1 vfio_virqfd" \ | |
--include $pkgfiles/systemd/timeouts.conf /usr/lib64/systemd/system.conf.d/timeouts.conf \ | |
$installdir/usr/lib/kernel/initrd-$kernID.${version}-${release} | |
# Sign with our MOK if we have the secureboot-keys submodule checked out. | |
if [[ -e $pkgfiles/secureboot-keys/MOK.key ]]; then | |
sbsign --key $pkgfiles/secureboot-keys/MOK.key \ | |
--cert $pkgfiles/secureboot-keys/MOK.crt \ | |
--output $installdir/usr/lib/kernel/$kernID.${version}-${release} \ | |
$installdir/usr/lib/kernel/$kernID.${version}-${release} | |
fi | |
# Install the headers | |
tgtDir="/usr/src/linux-headers-$kversion" | |
export dstDir="$installdir/$tgtDir" | |
install -D -d -m 00755 $dstDir | |
find . -path './include/*' -prune -o -path './scripts/*' -prune -o -path './Documentation/*' -prune -o -type f \( -name 'Makefile*' -o -name 'Kconfig*' -o -name 'Kbuild*' -o -name '*.sh' -o -name '*.pl' -o -name '*.lds' \) -print | cpio -pVd --preserve-modification-time $dstDir/ | |
# Necessary for out of tree modules | |
for h in "drivers/media/dvb-frontends" "drivers/media/tuners"; do | |
install -D -d -m 00755 $dstDir/$h | |
cp -a $h/*.h $dstDir/$h | |
done | |
find drivers/media/platform/ -type f -name "*.h" | xargs -i sh -c 'install -D -d -m 00755 $dstDir/$(dirname {}); cp -a {} $dstDir/{}' | |
# For a full headers pkg | |
for p in "include" "scripts" "Documentation"; do | |
cp -a $p $dstDir | |
done | |
# Nuke any unneeded bits. | |
rm -f $dstDir/scripts/*.o | |
rm -f $dstDir/scripts/*/*.o | |
rm -rf $dstDir/Documentation/DocBook | |
# Fix an issue that would otherwise require us to have fakeroot during the build (which makes the build MUCH slower expecially if you're using ccache) | |
chmod +x $dstDir/scripts/basic/fixdep | |
# Copy remaining include dirs | |
(find arch -name include -type d -print | xargs -n1 -i: find : -type f) | cpio -pd --preserve-modification-time "$dstDir" | |
# Shove last bits needed for out of tree kernel builds | |
install -m 00644 Module.symvers $dstDir/. | |
install -m 00644 System.map $dstDir/. | |
install -m 00644 .config $dstDir/.config | |
# Add objtool binary for CONFIG_STACK_VALIDATION (T5607) | |
install -m 00755 tools/objtool/objtool $dstDir/tools/objtool/objtool | |
# Fix up build/source links | |
ln -sv build $installdir/lib/modules/$kversion/source | |
ln -sv $tgtDir $installdir/lib/modules/$kversion/build |
name : material-decoration | |
version : 5.01 | |
release : 0 | |
source : | |
- git|https://github.com/Zren/material-decoration.git : 65fe6f577a978a9e601241d29bea35185eb7f69c | |
license : GPL-2.0 | |
component : desktop.kde | |
summary : Material-ish window decoration theme for KWin. | |
description: | | |
Material-ish window decoration theme for KWin. | |
builddeps : | |
- kwin-devel | |
- breeze-devel | |
- extra-cmake-modules | |
- pkgconfig(Qt5Core) | |
- kdecoration-devel | |
- kconfig-devel | |
- kconfigwidgets-devel | |
- kcoreaddons-devel | |
- kguiaddons-devel | |
- ki18n-devel | |
- kiconthemes-devel | |
- kwindowsystem-devel | |
- pkgconfig(x11) | |
- pkgconfig(Qt5X11Extras) | |
networking : yes | |
setup : | | |
mkdir build | |
cd build | |
%cmake -DCMAKE_INSTALL_PREFIX=/usr .. | |
build : | | |
cd build | |
%make | |
install : | | |
cd build | |
%make_install |
This is a gist repository contains solbuild
package.yml
files for packages that unavailable in the official Solus repositories at time of writing.
Note: This repository is unofficial and I give no support, nor do I promise to ever updates