Skip to content

Commit

Permalink
feat: add tools needed for imager
Browse files Browse the repository at this point in the history
Add tools needed for imager.

Signed-off-by: Noel Georgi <git@frezbo.dev>
  • Loading branch information
frezbo committed Feb 20, 2025
1 parent e1f11f0 commit f5e47a0
Show file tree
Hide file tree
Showing 17 changed files with 326 additions and 5 deletions.
3 changes: 2 additions & 1 deletion .github/renovate.json
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,8 @@
"git://git.savannah.gnu.org/grub.git",
"https://pagure.io/libaio.git",
"rpm-software-management/popt",
"git://git.liburcu.org/userspace-rcu.git"
"git://git.liburcu.org/userspace-rcu.git",
"madler/pigz"
]
},
{
Expand Down
10 changes: 10 additions & 0 deletions .kres.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ spec:
- ca-certificates
- cni
- containerd
- cpio
- cryptsetup
- dosfstools
- e2fsprogs
Expand All @@ -22,6 +23,7 @@ spec:
- libattr
- libcap
- libinih
- libisoburn
- libjson-c
- liblzma
- libmnl
Expand All @@ -33,15 +35,22 @@ spec:
- liburcu
- linux-firmware
- lvm2
- mtools
- musl
- openssl
- pcre2
- pigz
- qemu-tools
- runc
- sd-boot
- socat
- squashfs-tools
- systemd-udevd
- tar
- util-linux
- xfsprogs
- xz
- zstd
# - kernel & dependent packages (out of tree kernel modules)
# kernel first, then packages in alphabetical order
- kernel
Expand Down Expand Up @@ -107,6 +116,7 @@ spec:
- https://pagure.io/libaio.git
- rpm-software-management/popt
- git://git.liburcu.org/userspace-rcu.git
- madler/pigz
versioning: 'regex:^(?<major>\d+)\.(?<minor>\d+)\.?(?<patch>\d+)?$'
- matchPackageNames:
- benhoyt/inih
Expand Down
11 changes: 10 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# THIS FILE WAS AUTOMATICALLY GENERATED, PLEASE DO NOT EDIT.
#
# Generated on 2025-02-13T14:20:04Z by kres 5e9dc91.
# Generated on 2025-02-20T09:31:14Z by kres 8a48729.

# common variables

Expand Down Expand Up @@ -49,6 +49,7 @@ TARGETS += base
TARGETS += ca-certificates
TARGETS += cni
TARGETS += containerd
TARGETS += cpio
TARGETS += cryptsetup
TARGETS += dosfstools
TARGETS += e2fsprogs
Expand All @@ -63,6 +64,7 @@ TARGETS += libaio
TARGETS += libattr
TARGETS += libcap
TARGETS += libinih
TARGETS += libisoburn
TARGETS += libjson-c
TARGETS += liblzma
TARGETS += libmnl
Expand All @@ -74,15 +76,22 @@ TARGETS += libsepol
TARGETS += liburcu
TARGETS += linux-firmware
TARGETS += lvm2
TARGETS += mtools
TARGETS += musl
TARGETS += openssl
TARGETS += pcre2
TARGETS += pigz
TARGETS += qemu-tools
TARGETS += runc
TARGETS += sd-boot
TARGETS += socat
TARGETS += squashfs-tools
TARGETS += systemd-udevd
TARGETS += tar
TARGETS += util-linux
TARGETS += xfsprogs
TARGETS += xz
TARGETS += zstd
TARGETS += kernel
TARGETS += drbd-pkg
TARGETS += gasket-driver-pkg
Expand Down
37 changes: 36 additions & 1 deletion Pkgfile
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ format: v1alpha2
vars:
TOOLCHAIN_MUSL_IMAGE: ghcr.io/siderolabs/toolchain-musl:v0.14.0-alpha.0-6-g818b320
TOOLS_PREFIX: ghcr.io/siderolabs/
TOOLS_REV: v1.10.0-alpha.0-12-g758d61c
TOOLS_REV: v1.10.0-alpha.0-15-gd93b780

# renovate: datasource=github-releases depName=containernetworking/plugins
cni_version: v1.6.2
Expand Down Expand Up @@ -99,6 +99,21 @@ vars:
libinih_sha256: e79216260d5dffe809bda840be48ab0eec7737b2bb9f02d2275c1b46344ea7b7
libinih_sha512: d69f488299c1896e87ddd3dd20cd9db5848da7afa4c6159b8a99ba9a5d33f35cadfdb9f65d6f2fe31decdbadb8b43bf610ff2699df475e1f9ff045e343ac26ae

# renovate: datasource=git-tags extractVersion=^release-(?<version>.*)$ depName=https://dev.lovelyhq.com/libburnia/libburn.git
libburn_version: 1.5.6
libburn_sha256: 7295491b4be5eeac5e7a3fb2067e236e2955ffdc6bbd45f546466edee321644b
libburn_sha512: 549cb25310aac5ce445639374d84f0c09fb1fdd70be97479588775e5afcc12dd0655c5bf51bd3f1bf8c06a66b318fd1e709dcfd72845e795ffaf353ea621accd

# renovate: datasource=git-tags extractVersion=^release-(?<version>.*)$ depName=https://dev.lovelyhq.com/libburnia/libisoburn.git
libisoburn_version: 1.5.6
libisoburn_sha256: 2b80a6f73dd633a5d243facbe97a15e5c9a07644a5e1a242c219b9375a45f71b
libisoburn_sha512: 0fc0058aa4cf755f30d5be0de808012978c657348412c7f129b8f8128da41f18216f3e039050a5851b557ffab344cf7dc44df374400ca008e34e2e2524fbd979

# renovate: datasource=git-tags extractVersion=^release-(?<version>.*)$ depName=https://dev.lovelyhq.com/libburnia/libisofs.git
libisofs_version: 1.5.6
libisofs_sha256: 0152d66a9d340b659fe9c880eb9190f3570fb477ac07cf52e8bcd134a1d30d70
libisofs_sha512: a5f573bbe9758e072fad195cc9beb672568273ddb993ece9c15585ad3f99efb0deae6fefb6d3d40b9712e73e3bc68869d79d923b2a09623d190f5dc84974d65f

# renovate: datasource=github-tags extractVersion=^json-c-(?<version>.*)-.*$ depName=json-c/json-c
libjson_c_version: 0.18
libjson_c_sha256: 876ab046479166b869afc6896d288183bbc0e5843f141200c677b3e8dfb11724
Expand Down Expand Up @@ -149,6 +164,11 @@ vars:
mellanox_ofed_sha256: 4503258cbe92b00c734e612c3a7ad1d71e023fdffae2a2c119f7b537505e499c
mellanox_ofed_sha512: 58604ea89aa8351727532c48f0c59b4e533ba8bfcef9533f45d94e15ffdcf3a5c464398706cad14ebf3826b132972bd044fadbf7f047e60bdb0c2a454c96acd7

# this tools doesn't have a git repo at all
mtools_version: 4.0.47
mtools_sha256: e0111d863f9ef55715582f4b69a7ffd261645e0c89417cefeb308cd080002e04
mtools_sha512: 6a915693536cf3bd1a1afc06edeb3b0c94c9191c741eb986a38625b3bbe3b046eb06c364d10f8db54f350caac434f2e926733180e0a5698c1de917b76f781b4b

# NOTE: Use the version that's also available under fabricmanager at https://developer.download.nvidia.com/compute/nvidia-driver/redist/fabricmanager/linux-x86_64/
# renovate: datasource=github-releases extractVersion=^\d+\.(?<version>\d+\.\d+)$ depName=nvidia/open-gpu-kernel-modules
nvidia_driver_lts_version: 535.230.02
Expand All @@ -165,6 +185,21 @@ vars:
nvidia_driver_production_amd64_sha256: f822150666707ed3c383889e0e68d24e8ceb4033eebd19737f9b405069e89beb
nvidia_driver_production_amd64_sha512: 548afbaf726b69fc001de5c4964a6b57f06dc0aba29bf7e1b4345e0176c7c438b2fe972de83ee917ee187836fc005e76fe998c3dada34929bcdea0929a35fb26

# renovate: datasource=github-tags depName=madler/pigz
pigz_version: 2.8
pigz_sha256: eb872b4f0e1f0ebe59c9f7bd8c506c4204893ba6a8492de31df416f0d5170fd0
pigz_sha512: ae3d9d593e1645d65f9ab77aa828600c9af4bb30d0a073da7ae3dd805e65b87efaf6a0efb980f2d0168e475ae506eba194547d6479956dabb9d88293a9078a7f

# renovate: datasource=git-tags depName=https://gitlab.gnome.org/GNOME/glib.git
glib_version: 2.83.2
glib_sha256: 8428d672c8485636d940f03ce8dcdc174f9b3892ac8b2eea76dd281af6a6e937
glib_sha512: 1686ef719122d2b3e8bcc569ba1e125cde51fbe645811e1eb7ddd49e300ff834eed712bb619bba13629f23ad5f801fdc2d37e3103b5150ad3cb7ff9d1168d902

# renovate: datasource=git-tags extractVersion=^v(?<version>.*)$ depName=https://github.com/qemu/qemu.git
qemu_version: 9.2.0
qemu_sha256: f859f0bc65e1f533d040bbe8c92bcfecee5af2c921a6687c652fb44d089bd894
qemu_sha512: f92548623e4e31400c823a2d78417a8a4ecfccb07f3ee4883e2f2ad33054539d2a37d076dbc64df42c6c86c08fa7c2c975cd6e823aa14d5f20cef83348006813

# renovate: datasource=github-tags depName=opencontainers/runc
runc_version: v1.2.5
runc_ref: 59923ef18c98053ddb1acf23ecba10344056c28e
Expand Down
8 changes: 8 additions & 0 deletions cpio/pkg.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
name: cpio
variant: scratch
dependencies:
- image: "{{ .TOOLS_PREFIX }}tools-cpio:{{ .TOOLS_REV }}"
to: /rootfs
finalize:
- from: /rootfs
to: /
30 changes: 30 additions & 0 deletions glib/pkg.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
name: glib
variant: scratch
shell: /bin/bash
dependencies:
- stage: base
steps:
- sources:
- url: https://download.gnome.org/sources/glib/{{ regexReplaceAll ".\\d+$" .glib_version "${1}" }}/glib-{{ .glib_version }}.tar.xz
destination: glib.tar.xz
sha256: "{{ .glib_sha256 }}"
sha512: "{{ .glib_sha512 }}"
prepare:
- |
tar -xf glib.tar.xz --strip-components=1
meson setup \
--prefix=/usr \
-Ddefault_library=both \
-Dlibelf=disabled \
-Dselinux=disabled \
_build
build:
- |
ninja -j $(nproc) -C _build
install:
- |
DESTDIR=/rootfs ninja -C _build install
finalize:
- from: /rootfs
to: /
28 changes: 28 additions & 0 deletions libburn/pkg.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
name: libburn
variant: scratch
shell: /bin/bash
dependencies:
- stage: base
steps:
- sources:
- url: https://files.libburnia-project.org/releases/libburn-{{ .libburn_version }}.tar.gz
destination: libburn.tar.gz
sha256: "{{ .libburn_sha256 }}"
sha512: "{{ .libburn_sha512 }}"
prepare:
- |
tar -xzf libburn.tar.gz --strip-components=1
./configure \
--prefix=/usr
build:
- |
make -j $(nproc)
install:
- |
make install DESTDIR=/rootfs
# rm -rf /rootfs/usr/share
finalize:
- from: /rootfs
to: /
35 changes: 35 additions & 0 deletions libisoburn/pkg.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
name: libisoburn
variant: scratch
shell: /bin/bash
dependencies:
- stage: base
- stage: libburn
- stage: libisofs
steps:
- sources:
- url: https://files.libburnia-project.org/releases/libisoburn-{{ .libisoburn_version }}.tar.gz
destination: libisoburn.tar.gz
sha256: "{{ .libisoburn_sha256 }}"
sha512: "{{ .libisoburn_sha512 }}"
prepare:
- |
tar -xzf libisoburn.tar.gz --strip-components=1
./configure \
--prefix=/usr
build:
- |
make -j $(nproc)
install:
- |
make install DESTDIR=/rootfs
# we don't need the xorriso-tcltk binary, which is a GUI tool
rm /rootfs/usr/bin/xorriso-tcltk
ln -s xorriso /rootfs/usr/bin/mkisofs
rm -rf /rootfs/usr/share
finalize:
- from: /rootfs
to: /
29 changes: 29 additions & 0 deletions libisofs/pkg.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
name: libisofs
variant: scratch
shell: /bin/bash
dependencies:
- stage: base
- stage: libburn
steps:
- sources:
- url: https://files.libburnia-project.org/releases/libisofs-{{ .libisofs_version }}.tar.gz
destination: libisofs.tar.gz
sha256: "{{ .libisofs_sha256 }}"
sha512: "{{ .libisofs_sha512 }}"
prepare:
- |
tar -xzf libisofs.tar.gz --strip-components=1
./configure \
--prefix=/usr
build:
- |
make -j $(nproc)
install:
- |
make install DESTDIR=/rootfs
rm -rf /rootfs/usr/share
finalize:
- from: /rootfs
to: /
29 changes: 29 additions & 0 deletions mtools/pkg.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
name: mtools
variant: scratch
shell: /bin/bash
dependencies:
- stage: base
steps:
- sources:
- url: https://ftp.gnu.org/gnu/mtools/mtools-{{ .mtools_version }}.tar.gz
destination: mtools.tar.gz
sha256: "{{ .mtools_sha256 }}"
sha512: "{{ .mtools_sha512 }}"
prepare:
- |
tar -xzf mtools.tar.gz --strip-components=1
./configure \
--prefix=/usr \
--without-x
build:
- |
make -j $(nproc)
install:
- |
make install DESTDIR=/rootfs
rm -rf /rootfs/usr/share
finalize:
- from: /rootfs
to: /
25 changes: 25 additions & 0 deletions pigz/pkg.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
name: pigz
variant: scratch
shell: /bin/bash
dependencies:
- stage: base
- stage: libburn
steps:
- sources:
- url: https://zlib.net/pigz/pigz-{{ .pigz_version }}.tar.gz
destination: pigz.tar.gz
sha256: "{{ .pigz_sha256 }}"
sha512: "{{ .pigz_sha512 }}"
prepare:
- |
tar -xzf pigz.tar.gz --strip-components=1
build:
- |
make -j $(nproc)
install:
- |
install -Dm755 pigz /rootfs/usr/bin/pigz
ln -s pigz /rootfs/usr/bin/unpigz
finalize:
- from: /rootfs
to: /
38 changes: 38 additions & 0 deletions qemu-tools/pkg.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
name: qemu-tools
variant: scratch
shell: /bin/bash
dependencies:
- stage: base
- stage: glib
steps:
- sources:
- url: https://download.qemu.org/qemu-{{ .qemu_version }}.tar.xz
destination: qemu.tar.xz
sha256: "{{ .qemu_sha256 }}"
sha512: "{{ .qemu_sha512 }}"
prepare:
- |
tar -xf qemu.tar.xz --strip-components=1
./configure \
--prefix=/usr \
--without-default-features \
--disable-system \
--disable-user \
--disable-linux-user \
--disable-bsd-user \
--disable-docs \
--disable-install-blobs \
--enable-stack-protector \
--enable-tools
build:
- |
make -j $(nproc)
install:
- |
make DESTDIR=/rootfs install
rm -rf /rootfs/usr/share
finalize:
- from: /rootfs
to: /
Loading

0 comments on commit f5e47a0

Please sign in to comment.