83 files changed, 556 insertions, 2354 deletions
diff --git a/.gitmodules b/.gitmodules deleted file mode 100644 index e46f080..0000000 --- a/.gitmodules +++ /dev/null @@ -1,20 +0,0 @@ -[submodule "root/tmp/harrisonvanderbyl/surface-pro-12-inch-linux"] - path = root/tmp/harrisonvanderbyl/surface-pro-12-inch-linux - url = https://github.com/harrisonvanderbyl/surface-pro-12-inch-linux.git - branch = main -[submodule "root/tmp/harrisonvanderbyl/hexagonrpc"] - path = root/tmp/harrisonvanderbyl/hexagonrpc - url = https://github.com/harrisonvanderbyl/hexagonrpc - branch = main -[submodule "root/tmp/DylanVanAssche/libssc"] - path = root/tmp/DylanVanAssche/libssc - url = https://codeberg.org/DylanVanAssche/libssc - branch = main -[submodule "root/tmp/harrisonvanderbyl/iio-sensor-proxy"] - path = root/tmp/harrisonvanderbyl/iio-sensor-proxy - url = https://github.com/harrisonvanderbyl/iio-sensor-proxy - branch = master -[submodule "root/tmp/linux-msm/audioreach-topology"] - path = root/tmp/linux-msm/audioreach-topology - url = https://github.com/linux-msm/audioreach-topology - branch = main diff --git a/.zuul.yaml b/.zuul.yaml new file mode 100644 index 0000000..1a0971b --- /dev/null +++ b/.zuul.yaml @@ -0,0 +1,26 @@ +--- +- job: + name: build-images-x86_64 + parent: tmt-test + vars: + tmt_url: "https://pagure.io/{{ zuul.project.name }}" + tmt_ref: "{{ zuul.ref }}" + distro: fedora-rawhide + compose: Fedora-latest + tf_arch: x86_64 + +- job: + name: build-images-aarch64 + parent: tmt-test + vars: + tmt_url: "https://pagure.io/{{ zuul.project.name }}" + tmt_ref: "{{ zuul.ref }}" + distro: fedora-rawhide + compose: Fedora-latest + tf_arch: aarch64 + +- project: + check: + jobs: + - build-images-x86_64 + - build-images-aarch64 diff --git a/Fedora-ELN.kiwi b/Fedora-ELN.kiwi index a0b6549..36edca9 100644 --- a/Fedora-ELN.kiwi +++ b/Fedora-ELN.kiwi @@ -15,13 +15,9 @@ <release-version>eln</release-version> </preferences> <include from="this://./components/boot-eln.xml"/> - <include from="this://./components/liveinstall-eln.xml"/> <include from="this://./repositories/core-eln.xml"/> <include from="this://./teams/eln/cloud.xml"/> <include from="this://./teams/eln/container.xml"/> - <include from="this://./teams/eln/desktop-environments.xml"/> - <include from="this://./teams/eln/liveprofiles.xml"/> - <include from="this://./teams/eln/wsl.xml"/> <packages type="bootstrap"> <package name="filesystem"/> </packages> diff --git a/Fedora.kiwi b/Fedora.kiwi index 6ac2adb..a477059 100644 --- a/Fedora.kiwi +++ b/Fedora.kiwi @@ -7,15 +7,14 @@ <specification>Fedora Linux</specification> </description> <preferences> - <version>45</version> + <version>Rawhide</version> <packagemanager>dnf5</packagemanager> <locale>en_US</locale> <keytable>us</keytable> <timezone>UTC</timezone> - <release-version>45</release-version> + <release-version>rawhide</release-version> </preferences> <include from="this://./repositories/core.xml"/> - <include from="this://./repositories/kernel-sp12in.xml"/> <include from="this://./components/common.xml"/> <include from="this://./components/boot.xml"/> <include from="this://./components/desktops/common.xml"/> @@ -57,12 +56,6 @@ <include from="this://./teams/asahi.xml"/> <include from="this://./teams/python.xml"/> <include from="this://./teams/scitech.xml"/> - <include from="this://./teams/phosh.xml"/> - <include from="this://./teams/astronomy.xml"/> - <include from="this://./teams/designsuite.xml"/> - <include from="this://./teams/games.xml"/> - <include from="this://./teams/security.xml"/> - <include from="this://./teams/jam.xml"/> <packages type="bootstrap"> <package name="filesystem"/> </packages> diff --git a/Jenkinsfile b/Jenkinsfile deleted file mode 100644 index 1732307..0000000 --- a/Jenkinsfile +++ /dev/null @@ -1,163 +0,0 @@ -pipeline { - agent none - - options { - timestamps() - } - - environment { - KIWI_FILE = 'Fedora.kiwi' - IMAGE_TYPE = 'iso' - IMAGE_PROFILE = 'Workstation-Live' - IMAGE_VERSION = '45' - OUTPUT_DIR = 'outdir' - - B2_ENDPOINT = 'https://s3.eu-central-003.backblazeb2.com' - AWS_DEFAULT_REGION = 'eu-central-003' - ISO_BUCKET = 'dist-sayagit-fedora-iso' - - // Must match the <source path="..."/> in - // repositories/kernel-sp12in.xml. - KERNEL_SURFACE_REPO_URL = 'https://rpm.sayag.it/kernel-sp12in/fedora/45/aarch64' - - // awscli2 sends CRC32 checksums by default, which B2 rejects. Ask for - // them only where the S3 API requires them. - AWS_REQUEST_CHECKSUM_CALCULATION = 'when_required' - AWS_RESPONSE_CHECKSUM_VALIDATION = 'when_required' - } - - stages { - stage('Build Fedora Workstation Live ISO (ARM64)') { - agent { - kubernetes { - defaultContainer 'kiwi' - yaml """ -apiVersion: v1 -kind: Pod -metadata: - namespace: jenkins -spec: - nodeSelector: - kubernetes.io/arch: arm64 - containers: - - name: kiwi - image: fedora:44 - imagePullPolicy: Always - command: [ 'sleep' ] - args: [ 'infinity' ] - tty: true - securityContext: - privileged: true - resources: - requests: - cpu: "2" - memory: 4Gi - ephemeral-storage: 20Gi - limits: - memory: 12Gi - ephemeral-storage: 50Gi -""" - } - } - steps { - checkout scm - container('kiwi') { - script { - try { - // The kernel-surface RPM is a build input, not - // something this repository can produce: the image - // installs kernel-surface by name and <ignore>s - // Fedora's kernel packages. Its pipeline publishes - // it to rpm.sayag.it, which repositories/kernel-sp12in.xml - // points at directly, so there is nothing to stage - // here. Fail now rather than several minutes into - // kiwi on an unresolvable package name. - sh ''' - set -eux - - dnf --assumeyes install curl - - repomd="${KERNEL_SURFACE_REPO_URL}/repodata/repomd.xml" - if ! curl -fsS --retry 3 -o /dev/null "${repomd}"; then - echo "No kernel-surface repository at ${repomd}." >&2 - echo "Run the kernel-surface pipeline for Fedora ${IMAGE_VERSION} first." >&2 - exit 1 - fi - ''' - - sh ''' - dnf --assumeyes install git kiwi kiwi-systemdeps distribution-gpg-keys - git config --global --add safe.directory . - git submodule update --init --recursive - - ./kiwi-build \\ - --kiwi-file="${KIWI_FILE}" \\ - --image-type="${IMAGE_TYPE}" \\ - --image-profile="${IMAGE_PROFILE}" \\ - --output-dir "${OUTPUT_DIR}" - - ls -lh "${OUTPUT_DIR}-build" - ''' - } catch (Exception e) { - echo "Caught exception: ${e.getMessage()}" - currentBuild.result = 'FAILURE' - throw e - } - } - stash name: "fedora-workstation-live-iso-stash", includes: "${OUTPUT_DIR}-build/Fedora.aarch64-${IMAGE_VERSION}.iso" - } - } - } - - stage('Push Fedora Workstation Live ISO (ARM64)') { - agent { - kubernetes { - defaultContainer 's5cmd' - yaml """ -apiVersion: v1 -kind: Pod -metadata: - namespace: jenkins -spec: - containers: - - name: s5cmd - image: peakcom/s5cmd:v2.3.0 - imagePullPolicy: IfNotPresent - command: [ 'sleep' ] - args: [ 'infinity' ] - tty: true - resources: - requests: - cpu: "0.5" - memory: 4Gi -""" - } - } - steps { - container('s5cmd') { - unstash "fedora-workstation-live-iso-stash" - withCredentials([usernamePassword( - credentialsId: 'backblaze-b2-dist-iso', - usernameVariable: 'AWS_ACCESS_KEY_ID', - passwordVariable: 'AWS_SECRET_ACCESS_KEY')]) { - sh ''' - set -eux - - cd "${OUTPUT_DIR}-build" - src="Fedora.aarch64-${IMAGE_VERSION}.iso" - moddate=$(date -r "${src}" -u +"%Y%m%d-%H%M%S") - dst="Fedora.Surface-Pro-12in.${IMAGE_PROFILE}.${IMAGE_VERSION}.${moddate}.aarch64.iso" - mv "${src}" "${dst}" - ls -lh - - /s5cmd --endpoint-url "${B2_ENDPOINT}" cp \\ - --content-type "application/x-iso9660-image" \\ - "${dst}" \\ - "s3://${ISO_BUCKET}/fedora/${IMAGE_VERSION}/aarch64/${dst}" - ''' - } - } - } - } - } -} @@ -1,57 +1,31 @@ +# fedora-kiwi-descriptions -# Fedora KIWI image descriptions, modified to build & launch for Surface Pro 12" Gen 1 +This project is used to manage the Fedora KIWI image descriptions used in composing Fedora release images. - +The `rawhide` branch is used for Fedora Rawhide images and each release branch is used by that release. -It is the fork of the original [KIWI image descriptions](https://forge.fedoraproject.org/releng/kiwi-descriptions), modified for launching Fedora Linux Rawhide Live ISO on Surface Pro 12" Gen 1 (and further installing it on the device). +All changes should be made via the PR workflow. -I bought this device as I viewed it as a great Linux GNOME tablet, but after several days, many hours of work of trying to do so, I must say that installing a distribution here (and then having it work fine) is a huge pain in the ass. - -> Special thanks to [harrisonvanderbyl](https://github.com/harrisonvanderbyl), this project wouldn't be possible without his huge contribution to this whole Linux on Surface ARM business! - -## How to run - -**The compiled ISOs can be downloaded [here](https://dist.sayag.it/surface-pro-12in-ports/fedora/rawhide).** +## Image variants -This KIWI project is built mainly on the base of Fedora Workstation Rawhide LiveCD ISO. Trying a stable version (the latest is Fedora 44 at the time of writing this) is possible, but not tested for now. +Please look at [`VARIANTS`](VARIANTS.md) for details on the available +configurations that can be built. -If you want to compile this image manually, **the build arch must be `aarch64`**. It means that if you are on an `amd64` machine, you would have to use aarch64 instructions emulation tools like `binfmt`. Unfortunately, such a tool will drastically increase the compilation time. +## Image build quickstart -To build this on Fedora Linux: +Set up your development environment and run the image build (substitute `<image_type>` and `<image_profile>` for the appropriate settings): ```bash -# Fetch submodules (if you haven't yet) -[]$ git submodule update --init --recursive # Install kiwi -[]$ sudo dnf --assumeyes install kiwi kiwi-systemdeps distribution-gpg-keys +[]$ sudo dnf --assumeyes install kiwi # Run the image build []$ sudo ./kiwi-build --kiwi-file=Fedora.kiwi --image-type=<image_type> --image-profile=<image_profile> --output-dir ./outdir -# An example for Workstation Live CD ISO, takes around 16 minutes -[]$ sudo ./kiwi-build --kiwi-file=Fedora.kiwi --image-type=iso --image-profile=Workstation-Live --output-dir ./outdir ``` -## What is left out (for now) - -* Live CD has to run in RAM, so `rd.live.ram=1` is set for cmdline. Otherwise, at least on my ancient flash drive, it fails to load multiple necessary services, including `polkit`. So, ~5 minutes of loading on USB 2 drive, while screen is not backlit, is to be expected. -* No rescue vmlinuz. -* No secure boot possible for this ISO for now, as the platform used is `efi` and not `uefi`. -* No GRUB auto hidden menu. Trying to have the menu hidden results in system restarting after trying to boot it. -* Hardware video encoding/decoding needs a firmware blob the image is not allowed to ship. The `qcom/vpu/vpu30_p1_s7.mbn` that `linux-firmware` provides is the same codec signed with Qualcomm's SecTools *test* key chain, which a retail Surface's TrustZone rejects -- `qcom_scm_pas_init_image()` fails and the kernel logs `qcom-iris aa00000.video-codec: error -22 initializing firmware`. The production-signed build exists only inside Microsoft's Surface driver package, which grants no redistribution right, so what ships here is the means and not the blob: - * If you kept the Windows ARM64 partition, `surface-video-firmware.service` finds it on the first boot after install and copies `qcvss8380_pa.mbn` out of its DriverStore. Nothing to do. - * If Windows is gone, download the [Surface Pro 12-inch driver pack](https://www.microsoft.com/en-us/download/details.aspx?id=108199) (~500 MB MSI) and run `sudo surface-video-firmware.sh -m /path/to/SurfacePro_12in_*.msi`. There is no automatic download: the Download Center hands out per-session links. - - The kernel's device tree already points `iris` at `/lib/firmware/qcom/x1p42100/Microsoft/Surface12/qcvss8380_pa.mbn`, so the driver picks it up as soon as it is there. -* Suspend on Snapdragon X is still very unstable. No deep sleep is available, so `mem_sleep_default=s2idle` was set. Even that leads to compromises as suspending via GNOME results in hard freeze, so the default power button behavior was changed to `interactive` and should not be changed back to `suspend`. - -## Image variants - -Please look at [`VARIANTS`](VARIANTS.md) for details on the available configurations that can be built. - ## CI information -This project is yet to adapt CI, but it is coming. - -For now the images are being built and tested manually on my personal Surface Pro 12" Gen 1 (16 GB RAM, 512 GB storage). +This project is tested using the [Software Factory Zuul CI instance](https://fedora.softwarefactory-project.io/zuul/project/pagure.io/fedora-kiwi-descriptions) +using the [Test Management Tool](https://tmt.readthedocs.io/). ## Licensing diff --git a/VARIANTS.md b/VARIANTS.md index 5056dbe..5cf50f9 100644 --- a/VARIANTS.md +++ b/VARIANTS.md @@ -2,40 +2,34 @@ ### For the `Fedora.kiwi` kiwi file -| Name | Image type | Image profiles | -|--------------------------------|------------|---------------------------------------| -| Base Cloud Edition for clouds | `oem` | `Cloud-Base-Generic` | -| | | `Cloud-Base-AmazonEC2` | -| | | `Cloud-Base-Azure` | -| | | `Cloud-Base-GCE` | -| Base Cloud Edition for Vagrant | `oem` | `Cloud-Base-Vagrant-libvirt` | -| | | `Cloud-Base-Vagrant-VirtualBox` | -| Server Edition as a VM guest | `oem` | `Server-Guest-Generic` | -| Server Edition as a hypervisor | `oem` | `Server-Host-Generic` | -| Base Container | `oci` | `Container-Base-Generic-Init` | -| | | `Container-Base-Generic-Minimal` | -| | | `Container-Base-Generic` | -| Toolbox Container | `oci` | `Container-Toolbox` | -| RootFS for FEX | `erofs` | `FEX-RootFS` | -| KDE Plasma Desktop Edition | `iso` | `KDE-Desktop-Live` | -| | `oem` | `KDE-Desktop-Disk` | -| KDE Plasma Mobile Spin | `iso` | `KDE-Mobile-Live` | -| | `oem` | `KDE-Mobile-Disk` | -| Workstation Edition | `iso` | `Workstation-Live` | -| | `oem` | `Workstation-Disk` | -| LXQt Spin | `iso` | `LXQt-Live` | -| | `oem` | `LXQt-Disk` | -| Xfce Spin | `iso` | `Xfce-Live` | -| | `oem` | `Xfce-Disk` | -| Budgie Spin | `iso` | `Budgie-Live` | -| | `oem` | `Budgie-Disk` | -| MiracleWM Spin | `iso` | `MiracleWM-Live` | -| | `oem` | `MiracleWM-Disk` | -| COSMIC Spin | `iso` | `COSMIC-Live` | -| | `oem` | `COSMIC-Disk` | -| Python Classroom Lab | `iso` | `Python-Classroom-Live` | -| | `oem` | `Python-Classroom-Disk` | -| | `oem` | `Python-Classroom-Vagrant-libvirt` | -| | `oem` | `Python-Classroom-Vagrant-VirtualBox` | -| Phosh Spin | `iso` | `Phosh-Desktop-Live` | -| | `oem` | `Phosh-Desktop-Disk` | +| Name | Image type | Image profiles | +|--------------------------------|------------|----------------------------------| +| Base Cloud Edition for clouds | `oem` | `Cloud-Base-Generic` | +| | | `Cloud-Base-AmazonEC2` | +| | | `Cloud-Base-Azure` | +| | | `Cloud-Base-GCE` | +| Base Cloud Edition for Vagrant | `oem` | `Cloud-Base-Vagrant-libvirt` | +| | | `Cloud-Base-Vagrant-VirtualBox` | +| Server Edition as a VM guest | `oem` | `Server-Guest-Generic` | +| Server Edition as a hypervisor | `oem` | `Server-Host-Generic` | +| Base Container | `oci` | `Container-Base-Generic-Init` | +| | | `Container-Base-Generic-Minimal` | +| | | `Container-Base-Generic` | +| Toolbox Container | `oci` | `Container-Toolbox` | +| RootFS for FEX | `erofs` | `FEX-RootFS` | +| KDE Plasma Desktop Edition | `iso` | `KDE-Desktop-Live` | +| | `oem` | `KDE-Desktop-Disk` | +| KDE Plasma Mobile Spin | `iso` | `KDE-Mobile-Live` | +| | `oem` | `KDE-Mobile-Disk` | +| Workstation Edition | `iso` | `Workstation-Live` | +| | `oem` | `Workstation-Disk` | +| LXQt Spin | `iso` | `LXQt-Live` | +| | `oem` | `LXQt-Disk` | +| Xfce Spin | `iso` | `Xfce-Live` | +| | `oem` | `Xfce-Disk` | +| Budgie Spin | `iso` | `Budgie-Live` | +| | `oem` | `Budgie-Disk` | +| MiracleWM Spin | `iso` | `MiracleWM-Live` | +| | `oem` | `MiracleWM-Disk` | +| COSMIC Spin | `iso` | `COSMIC-Live` | +| | `oem` | `COSMIC-Disk` | diff --git a/components/boot-eln.xml b/components/boot-eln.xml index ee380b6..f712c48 100644 --- a/components/boot-eln.xml +++ b/components/boot-eln.xml @@ -10,10 +10,10 @@ <type image="oem" filesystem="xfs" kernelcmdline="rhgb quiet" devicepersistency="by-uuid" target_blocksize="4096" - bootpartition="true" bootpartsize="2000" bootfilesystem="xfs" efipartsize="500" firmware="uefi" + bootpartition="true" bootpartsize="1024" bootfilesystem="xfs" efipartsize="500" firmware="uefi" rootfs_label="fedora" > - <bootloader name="grub2" bls="true" console="console" timeout="1" timeout_style="hidden"/> + <bootloader name="grub2" console="console" timeout="1" timeout_style="hidden"/> <oemconfig> <oem-resize>false</oem-resize> </oemconfig> @@ -23,10 +23,10 @@ <type image="oem" filesystem="xfs" kernelcmdline="rhgb quiet" devicepersistency="by-uuid" - bootpartition="true" bootpartsize="2000" bootfilesystem="xfs" firmware="ofw" + bootpartition="true" bootpartsize="1000" bootfilesystem="xfs" firmware="ofw" rootfs_label="fedora" > - <bootloader name="grub2" bls="true" console="console" timeout="1" timeout_style="hidden"/> + <bootloader name="grub2" console="console" timeout="1" timeout_style="hidden"/> <oemconfig> <oem-resize>false</oem-resize> </oemconfig> @@ -37,7 +37,7 @@ filesystem="xfs" kernelcmdline="no_timer_check console=tty1 console=ttyS0,115200n8" devicepersistency="by-uuid" - bootpartition="true" bootpartsize="2000" bootfilesystem="xfs" + bootpartition="true" bootpartsize="1000" bootfilesystem="xfs" rootfs_label="fedora" > <bootloader name="zipl" timeout="1"/> diff --git a/components/boot.xml b/components/boot.xml index 11b48a5..0d59f5e 100644 --- a/components/boot.xml +++ b/components/boot.xml @@ -2,26 +2,38 @@ <profiles> <profile name="BootCore" description="Boot core packages"/> <profile name="BootCoreUKI" description="Boot core packages for UKI"/> - <profile name="BootCoreLive" description="Boot core packages for Live DVDs"/> <profile name="BootDiskCore" description="Boot disk core configuration"> <requires profile="BaseCommon"/> <requires profile="HardwareCommon"/> <requires profile="BootCore"/> </profile> </profiles> - <!-- Surface Pro 12" (Snapdragon X1P-42-100) is a standard UEFI/GPT aarch64 - device, no force_mbr/disk_start_sector/editbootinstall RPi-legacy - quirks needed, those are for boards whose own firmware boot stage - requires an MBR + specific boot sector offset before handing off to - grub. --> - <preferences profiles="BootDiskCore" arch="aarch64"> + <preferences profiles="BootDiskCore" arch="x86_64,riscv64"> <type image="oem" filesystem="btrfs" btrfs_root_is_subvolume="true" btrfs_set_default_volume="false" fsmountoptions="x-systemd.growfs,compress=zstd:1" kernelcmdline="rhgb quiet" devicepersistency="by-uuid" - bootpartition="true" bootpartsize="2000" bootfilesystem="ext4" efipartsize="500" firmware="uefi" + bootpartition="true" bootpartsize="1024" bootfilesystem="ext4" efipartsize="500" firmware="uefi" + rootfs_label="fedora" + > + <bootloader name="grub2" console="console" timeout="1" timeout_style="hidden"/> + <systemdisk name="fedora"> + <volume name="@root=root"/> + <volume name="home" parent="/"/> + <volume name="var" parent="/"/> + </systemdisk> + <oemconfig> + <oem-resize>false</oem-resize> + </oemconfig> + </type> + </preferences> + <preferences profiles="BootDiskCore" arch="aarch64"> + <type image="oem" + filesystem="btrfs" btrfs_root_is_subvolume="true" btrfs_set_default_volume="false" fsmountoptions="x-systemd.growfs,compress=zstd:1" + kernelcmdline="rhgb quiet" devicepersistency="by-uuid" force_mbr="true" editbootinstall="editbootinstall_rpilegacy.sh" + bootpartition="true" bootpartsize="1024" bootfilesystem="ext4" efipartsize="500" firmware="uefi" rootfs_label="fedora" > - <bootloader name="grub2" bls="true" console="console" timeout="5"/> + <bootloader name="grub2" console="console" timeout="1" timeout_style="hidden"/> <systemdisk name="fedora"> <volume name="@root=root"/> <volume name="home" parent="/"/> @@ -32,74 +44,88 @@ </oemconfig> </type> </preferences> - <packages type="bootstrap" patternType="plusRecommended" profiles="BootCore,BootCoreUKI,BootCoreLive"> + <preferences profiles="BootDiskCore" arch="ppc64le"> + <type image="oem" + filesystem="btrfs" btrfs_root_is_subvolume="true" btrfs_set_default_volume="false" fsmountoptions="x-systemd.growfs,compress=zstd:1" + kernelcmdline="rhgb quiet" devicepersistency="by-uuid" + bootpartition="true" bootpartsize="1000" bootfilesystem="ext4" firmware="ofw" + rootfs_label="fedora" + > + <bootloader name="grub2" console="console" timeout="1" timeout_style="hidden"/> + <systemdisk> + <volume name="@root=root"/> + <volume name="home" parent="/"/> + <volume name="var" parent="/"/> + </systemdisk> + <oemconfig> + <oem-resize>false</oem-resize> + </oemconfig> + </type> + </preferences> + <preferences profiles="BootDiskCore" arch="s390x"> + <type image="oem" + filesystem="btrfs" btrfs_root_is_subvolume="true" btrfs_set_default_volume="false" fsmountoptions="x-systemd.growfs,compress=zstd:1" + kernelcmdline="no_timer_check console=tty1 console=ttyS0,115200n8" + devicepersistency="by-uuid" + bootpartition="true" bootpartsize="1000" bootfilesystem="ext4" + rootfs_label="fedora" + > + <bootloader name="zipl" timeout="1"/> + <systemdisk> + <volume name="@root=root"/> + <volume name="home" parent="/"/> + <volume name="var" parent="/"/> + </systemdisk> + <oemconfig> + <oem-resize>false</oem-resize> + </oemconfig> + </type> + </preferences> + <packages type="bootstrap" patternType="plusRecommended" profiles="BootCore,BootCoreUKI"> <package name="grubby"/> </packages> - <packages type="image" patternType="plusRecommended" profiles="BootCore,BootCoreLive"> - <package name="grub2-efi-aa64"/> - <package name="grub2-efi-aa64-modules"/> - <package name="shim-signed-aa64"/> + <packages type="image" patternType="plusRecommended" profiles="BootCore"> + <package name="grub2-efi-aa64" arch="aarch64"/> + <package name="grub2-efi-aa64-modules" arch="aarch64"/> + <package name="grub2-efi-riscv64" arch="riscv64"/> + <package name="grub2-efi-riscv64-modules" arch="riscv64"/> + <package name="grub2-efi-x64" arch="x86_64"/> + <package name="grub2-efi-x64-modules" arch="x86_64"/> + <package name="grub2-pc" arch="x86_64"/> + <package name="grub2-pc-modules" arch="x86_64"/> + <package name="grub2-ppc64le" arch="ppc64le"/> + <package name="s390utils-base" arch="s390x"/> + <package name="shim-signed-aa64" arch="aarch64"/> + <package name="shim-signed-x64" arch="x86_64"/> + <package name="shim-unsigned-riscv64" arch="riscv64"/> + <package name="kernel-core"/> <package name="systemd-oomd-defaults"/> <package name="systemd-resolved"/> </packages> - <!-- Surface Pro 12" (Snapdragon X1P-42-100) kernel selection. One block for - every profile that needs a kernel: BootCore, BootCoreLive, and - BootDiskCore through its <requires profile="BootCore"/> above. - - kernel-surface is vanilla upstream plus the miasvanklei overlay's patch - set for this board (device tree, SAM RTC, SAM suspend workaround, - CAMSS/CSI-2, remoteproc attach, clk/PCI/irqchip fixes). It is built from - the sibling ../kernel-surface checkout and comes from the repository - repositories/kernel-sp12in.xml adds. - - It is a single package (kernel image, every module, device trees) and - Provides kernel, kernel-core, kernel-modules, kernel-modules-core and - kernel-modules-extra, so anything with a plain Requires on one of those - resolves against it. That is why no -modules/-modules-extra entry is - needed in any profile any more. - - Fedora's split kernel packages are ignored by name instead, so dnf can - never drag one in as a dependency. kernel-uki-dtbloader is ignored as - well: kernel-surface Conflicts it, so without the exclusion any package - pulling it in would fail the depsolve instead of just losing it. It - bakes in ~3000 boards' dtbs (.dtbauto sections), does not carry this - board, and is a hard Requires of the plain "kernel" metapackage on - aarch64, which makes that metapackage uninstallable here too, since it - is also the only thing that could satisfy kernel-core by name. - - Consequence for the profiles this fork does not target: the ones that - still ask for a Fedora kernel by name through BootCore, namely - Server-Host-Generic (kernel) and Cloud-Base-Azure (kernel-modules), - cannot depsolve. Everything this device builds (Live via BootCoreLive, - disk via BootDiskCore) takes its kernel from here. --> - <packages type="image" patternType="plusRecommended" profiles="BootCore,BootCoreLive"> - <ignore name="kernel-*debug*"/> - <ignore name="kernel-core"/> - <ignore name="kernel-modules"/> - <ignore name="kernel-modules-core"/> - <ignore name="kernel-modules-extra"/> - <ignore name="kernel-uki-dtbloader"/> - <package name="kernel-surface"/> - </packages> <packages type="image" patternType="plusRecommended" profiles="BootCoreUKI"> - <package name="shim-signed-aa64"/> + <package name="shim-signed-aa64" arch="aarch64"/> + <package name="shim-signed-x64" arch="x86_64"/> + <package name="shim-unsigned-riscv64" arch="riscv64"/> <package name="systemd-oomd-defaults"/> <package name="systemd-resolved"/> <package name="kernel-uki-virt"/> <package name="python3-virt-firmware"/> <package name="uki-direct"/> </packages> - <packages type="iso" patternType="plusRecommended" profiles="BootCore,BootCoreLive"> - <package name="grub2-efi-aa64-cdboot"/> + <packages type="iso" patternType="plusRecommended" profiles="BootCore"> + <package name="grub2-efi-aa64-cdboot" arch="aarch64"/> + <package name="grub2-efi-riscv64-cdboot" arch="riscv64"/> + <package name="grub2-efi-x64-cdboot" arch="x86_64"/> </packages> <packages type="image" patternType="plusRecommended" profiles="BootDiskCore"> + <package name="arm-image-installer" arch="aarch64"/> <package name="glibc-all-langpacks"/> - <!-- Surface Pro 12": the kernel comes from the shared BootCore block - above, which this profile requires. arm-image-installer and - uboot-images-armv8 dropped, they exist for flashing/booting other - ARM SBCs (device-tree selection, U-Boot), not relevant to this - single UEFI/GPT device. --> + <package name="kernel"/> + <package name="kernel-modules"/> + <package name="kernel-modules-extra"/> <package name="btrfs-progs"/> <package name="udisks2-btrfs"/> + <package name="uboot-images-armv8" arch="aarch64"/> + <package name="uboot-images-riscv64" arch="riscv64"/> </packages> </image> diff --git a/components/common.xml b/components/common.xml index 506cf73..dc1f34c 100644 --- a/components/common.xml +++ b/components/common.xml @@ -9,5 +9,6 @@ </packages> <packages type="image" patternType="plusRecommended" profiles="HardwareCommon"> <namedCollection name="hardware-support"/> + <package name="bcm283x-firmware" arch="aarch64"/> </packages> </image> diff --git a/components/desktops/cinnamon.xml b/components/desktops/cinnamon.xml index 3bd5a4e..9317053 100644 --- a/components/desktops/cinnamon.xml +++ b/components/desktops/cinnamon.xml @@ -1,5 +1,6 @@ <image> <profiles> + <profile name="DesktopCommon" description="Common desktop packages"/> <profile name="Cinnamon-Desktop" description="Cinnamon Desktop"> <requires profile="DesktopCommon"/> </profile> @@ -8,6 +9,7 @@ <!-- install env-group to resolve RhBug:1891500 --> <namedCollection name="cinnamon-desktop-environment"/> <namedCollection name="libreoffice"/> - <package name="exaile"/> + <package name="rhythmbox"/> + <package name="f39-backgrounds-extras-gnome"/> <!-- extra backgrounds --> </packages> </image> diff --git a/components/desktops/gnome.xml b/components/desktops/gnome.xml index 17ffc36..e81c540 100644 --- a/components/desktops/gnome.xml +++ b/components/desktops/gnome.xml @@ -1,5 +1,6 @@ <image> <profiles> + <profile name="DesktopCommon" description="Common desktop packages"/> <profile name="GNOME-Desktop" description="GNOME Desktop"> <requires profile="DesktopCommon"/> </profile> @@ -7,7 +8,5 @@ <packages type="image" patternType="plusRecommended" profiles="GNOME-Desktop"> <!-- install env-group to resolve RhBug:1891500 --> <namedCollection name="workstation-product-environment"/> - <!-- space saving, see https://bugzilla.redhat.com/show_bug.cgi?id=2360056#c45 --> - <ignore name="python3-boto3"/> </packages> </image> diff --git a/components/desktops/i3.xml b/components/desktops/i3.xml index 26e73d2..ae2464d 100644 --- a/components/desktops/i3.xml +++ b/components/desktops/i3.xml @@ -1,5 +1,6 @@ <image> <profiles> + <profile name="DesktopCommon" description="Common desktop packages"/> <profile name="i3-Desktop" description="i3 Desktop"> <requires profile="DesktopCommon"/> </profile> @@ -7,6 +8,7 @@ <packages type="image" patternType="plusRecommended" profiles="i3-Desktop"> <!-- install env-group to resolve RhBug:1891500 --> <namedCollection name="i3-desktop-environment"/> + <namedCollection name="admin-tools"/> <package name="dex-autostart"/> <package name="fedora-release-i3"/> <package name="feh"/> diff --git a/components/desktops/kde.xml b/components/desktops/kde.xml index 4c20ea5..1b6eca4 100644 --- a/components/desktops/kde.xml +++ b/components/desktops/kde.xml @@ -1,5 +1,6 @@ <image> <profiles> + <profile name="DesktopCommon" description="Common desktop packages"/> <profile name="KDE-Desktop" description="KDE Plasma Desktop"> <requires profile="DesktopCommon"/> </profile> @@ -22,14 +23,14 @@ <ignore name="kipi-plugins"/> <!-- ~8 megs + drags in marble --> <ignore name="krusader"/> <!-- ~4 megs --> <ignore name="ktorrent"/> <!-- ~15 megs --> - <ignore name="initial-setup"/> <!-- redundant with plasma-setup --> </packages> <packages type="image" patternType="plusRecommended" profiles="KDE-Desktop"> <!-- install env-group to resolve RhBug:1891500 --> <namedCollection name="kde-desktop-environment"/> <namedCollection name="kde-apps"/> <namedCollection name="kde-media"/> - <namedCollection name="kde-pim" arch="aarch64,ppc64le,x86_64"/> + <namedCollection name="kde-pim"/> + <namedCollection name="kde-spin-initial-setup"/> <namedCollection name="firefox"/> <namedCollection name="libreoffice"/> <namedCollection name="x86-emulation" arch="aarch64"/> @@ -41,6 +42,8 @@ <packages type="image" patternType="plusRecommended" profiles="KDE-Mobile"> <!-- install env-group to resolve RhBug:1891500 --> <namedCollection name="kde-mobile-environment"/> + <!-- not ideal, but the best we can do for now --> + <namedCollection name="kde-spin-initial-setup"/> <namedCollection name="firefox"/> <namedCollection name="x86-emulation" arch="aarch64"/> <package name="fuse"/> diff --git a/components/desktops/lxde.xml b/components/desktops/lxde.xml index b14e097..0dbe83b 100644 --- a/components/desktops/lxde.xml +++ b/components/desktops/lxde.xml @@ -1,5 +1,6 @@ <image> <profiles> + <profile name="DesktopCommon" description="Common desktop packages"/> <profile name="LXDE-Desktop" description="LXDE Desktop"> <requires profile="DesktopCommon"/> </profile> diff --git a/components/desktops/lxqt.xml b/components/desktops/lxqt.xml index af700f2..d2eccda 100644 --- a/components/desktops/lxqt.xml +++ b/components/desktops/lxqt.xml @@ -1,5 +1,6 @@ <image> <profiles> + <profile name="DesktopCommon" description="Common desktop packages"/> <profile name="LXQt-Desktop" description="LXQt Desktop"> <requires profile="DesktopCommon"/> </profile> @@ -10,6 +11,11 @@ <namedCollection name="lxqt-apps"/> <namedCollection name="lxqt-media"/> <namedCollection name="lxqt-l10n"/> + <package name="lximage-qt-l10n"/> <!-- FIXME: put in lxqt-l10n comps group --> + <package name="obconf-qt-l10n"/> <!-- FIXME: put in lxqt-l10n comps group --> + <package name="pavucontrol-qt-l10n"/> <!-- FIXME: put in lxqt-l10n comps group --> + <package name="featherpad"/> <!-- FIXME: put in comps --> + <package name="udisks2"/> <!-- Fix https://bugzilla.redhat.com/show_bug.cgi?id=1429132 --> <!-- remove unneeded stuff for a lightweight system --> <package name="wqy-microhei-fonts"/> <!-- compact CJK font --> <ignore name="naver-nanum-gothic-fonts"/> <!-- Korean: replaced by above --> @@ -19,6 +25,7 @@ <ignore name="pt-sans-fonts"/> <!-- Cyrillic (already supported by DejaVu) --> <!-- these do not currently work: https://pagure.io/fedora-kiwi-descriptions/issue/112 <ignore name="@input-methods"/> + <ignore name="@admin-tools"/> --> <!-- because the input-methods group exclusion doesn't work, these aren't safe <ignore name="scim*"/> diff --git a/components/desktops/mate.xml b/components/desktops/mate.xml index bcc577d..2239255 100644 --- a/components/desktops/mate.xml +++ b/components/desktops/mate.xml @@ -1,5 +1,6 @@ <image> <profiles> + <profile name="DesktopCommon" description="Common desktop packages"/> <profile name="MATE-Desktop" description="MATE Desktop"> <requires profile="DesktopCommon"/> </profile> @@ -12,6 +13,7 @@ <ignore name="audacious"/> <!-- breaks the desktop --> <!-- drop things for size --> <ignore name="@3d-printing"/> + <ignore name="@admin-tools"/> <ignore name="@mate-applications"/> <ignore name="brasero"/> <ignore name="fedora-icon-theme"/> diff --git a/components/desktops/miraclewm.xml b/components/desktops/miraclewm.xml index f986915..74b51f2 100644 --- a/components/desktops/miraclewm.xml +++ b/components/desktops/miraclewm.xml @@ -1,5 +1,6 @@ <image> <profiles> + <profile name="DesktopCommon" description="Common desktop packages"/> <profile name="MiracleWM-Desktop" description="MiracleWM Desktop"> <requires profile="DesktopCommon"/> </profile> diff --git a/components/desktops/phosh.xml b/components/desktops/phosh.xml index 7362244..cb8466e 100644 --- a/components/desktops/phosh.xml +++ b/components/desktops/phosh.xml @@ -1,15 +1,15 @@ <image> <profiles> + <profile name="DesktopCommon" description="Common desktop packages"/> <profile name="Phosh-Desktop" description="Phosh Desktop"> <requires profile="DesktopCommon"/> </profile> </profiles> <packages type="bootstrap" patternType="plusRecommended" profiles="Phosh-Desktop"> - <package name="fedora-release-mobility"/> + <package name="fedora-release-phosh"/> </packages> <packages type="image" patternType="plusRecommended" profiles="Phosh-Desktop"> <!-- install env-group to resolve RhBug:1891500 --> <namedCollection name="phosh-desktop-environment"/> - <package name="initial-setup-gui-wayland-generic"/> </packages> </image> diff --git a/components/desktops/soas.xml b/components/desktops/soas.xml index f91802a..490172f 100644 --- a/components/desktops/soas.xml +++ b/components/desktops/soas.xml @@ -1,5 +1,6 @@ <image> <profiles> + <profile name="DesktopCommon" description="Common desktop packages"/> <profile name="SoaS-Desktop" description="SoaS Desktop"> <requires profile="DesktopCommon"/> </profile> @@ -14,9 +15,8 @@ <package name="sil-abyssinica-fonts"/> <package name="vlgothic-fonts"/> <package name="rp-pppoe"/> <!-- See http://bugs.sugarlabs.org/ticket/1951 --> - <package name="livecd-iso-to-mediums" arch="x86_64"/> <!-- See http://bugs.sugarlabs.org/ticket/74 --> + <package name="livecd-tools"/> <!-- See http://bugs.sugarlabs.org/ticket/74 --> <package name="xfce-polkit"/> - <package name="initial-setup-gui-wayland-generic"/> <ignore name="@gnome-desktop"/> <ignore name="firefox"/> <ignore name="ibus*"/> diff --git a/components/desktops/sway.xml b/components/desktops/sway.xml index e6777f2..dee527a 100644 --- a/components/desktops/sway.xml +++ b/components/desktops/sway.xml @@ -1,5 +1,6 @@ <image> <profiles> + <profile name="DesktopCommon" description="Common desktop packages"/> <profile name="Sway-Desktop" description="Sway Desktop"> <requires profile="DesktopCommon"/> </profile> diff --git a/components/desktops/xfce.xml b/components/desktops/xfce.xml index 141d52e..0812976 100644 --- a/components/desktops/xfce.xml +++ b/components/desktops/xfce.xml @@ -1,5 +1,6 @@ <image> <profiles> + <profile name="DesktopCommon" description="Common desktop packages"/> <profile name="Xfce-Desktop" description="Xfce Desktop"> <requires profile="DesktopCommon"/> </profile> diff --git a/components/liveinstall-eln.xml b/components/liveinstall-eln.xml deleted file mode 100644 index 20f3c40..0000000 --- a/components/liveinstall-eln.xml +++ /dev/null @@ -1,65 +0,0 @@ -<image> - <profiles> - <profile name="LiveInstall" description="Live Install ISO"> - <requires profile="BootCore"/> - </profile> - </profiles> - <preferences profiles="LiveInstall" arch="x86_64"> - <type image="iso" - publisher="Fedora Project" volid="Fedora_Linux_ELN" application_id="Fedora_Linux_ELN" - primary="true" flags="dmsquash" filesystem="erofs" erofscompression="lzma,level=6" mediacheck="true" - firmware="uefi" efiparttable="gpt" efifatimagesize="30" kernelcmdline="quiet rhgb" - fscreateoptions="-Efragments -C 1048576" - > - <bootloader name="grub2" grub_template="grub-x86.cfg.iso-template" console="console" timeout="10"/> - </type> - </preferences> - <preferences profiles="LiveInstall" arch="aarch64"> - <type image="iso" - publisher="Fedora Project" volid="Fedora_Linux_ELN" application_id="Fedora_Linux_ELN" - primary="true" flags="dmsquash" filesystem="erofs" erofscompression="lzma,level=6" mediacheck="true" - firmware="uefi" efiparttable="gpt" efifatimagesize="30" kernelcmdline="quiet rhgb" - fscreateoptions="-Efragments -C 1048576" - > - <bootloader name="grub2" grub_template="grub-arm.cfg.iso-template" console="console" timeout="10"/> - </type> - </preferences> - <preferences profiles="LiveInstall" arch="riscv64"> - <type image="iso" - publisher="Fedora Project" volid="Fedora_Linux_ELN" application_id="Fedora_Linux_ELN" - primary="true" flags="dmsquash" filesystem="erofs" erofscompression="lzma,level=6" mediacheck="true" - firmware="uefi" efiparttable="gpt" efifatimagesize="30" kernelcmdline="quiet rhgb" - fscreateoptions="-Efragments -C 1048576" - > - <bootloader name="grub2" grub_template="grub-riscv64.cfg.iso-template" console="console" timeout="10"/> - </type> - </preferences> - <preferences profiles="LiveInstall" arch="ppc64le"> - <type image="iso" - publisher="Fedora Project" volid="Fedora_Linux_ELN" application_id="Fedora_Linux_ELN" - primary="true" flags="dmsquash" filesystem="erofs" erofscompression="lzma,level=6" mediacheck="true" - firmware="ofw" kernelcmdline="quiet rhgb" - fscreateoptions="-Efragments -C 1048576" - > - <bootloader name="grub2" grub_template="grub-ppc.cfg.iso-template" console="console" timeout="10"/> - </type> - </preferences> - <packages type="iso" patternType="plusRecommended" profiles="LiveInstall"> - <!-- Filter out unwanted EFI files from the embedded ESP, see rhbz#2358785 --> - <file name="iso-esp-excludes.yaml" target="image/exclude_files_efifatimage.yaml"/> - <!-- The point of a live image is to install --> - <namedCollection name="anaconda-tools"/> - <package name="anaconda-install-env-deps"/> - <package name="anaconda-live"/> - <package name="dracut-live"/> - <package name="glibc-all-langpacks"/> - <package name="isomd5sum"/> - <package name="kernel"/> - <package name="kernel-modules"/> - <package name="kernel-modules-extra"/> - <package name="livesys-scripts"/> - <ignore name="device-mapper-multipath"/> - <ignore name="fcoe-utils"/> - <ignore name="gfs2-utils"/> - </packages> -</image> diff --git a/components/liveinstall.xml b/components/liveinstall.xml index 6b683b2..ad15aa7 100644 --- a/components/liveinstall.xml +++ b/components/liveinstall.xml @@ -2,26 +2,53 @@ <profiles> <profile name="LiveInstall" description="Live Install ISO"> <requires profile="BaseCommon"/> - <requires profile="BootCoreLive"/> + <requires profile="BootCore"/> </profile> </profiles> + <preferences profiles="LiveInstall" arch="x86_64"> + <type image="iso" + publisher="Fedora Project" volid="Fedora_Linux" application_id="Fedora_Linux" + primary="true" flags="dmsquash" filesystem="erofs" erofscompression="lzma,level=6" mediacheck="true" + firmware="uefi" efiparttable="gpt" efifatimagesize="30" kernelcmdline="quiet rhgb" + fscreateoptions="-Eall-fragments,fragdedupe=inode -C 1048576" + > + <bootloader name="grub2" grub_template="grub-x86.cfg.iso-template" console="console" timeout="10"/> + </type> + </preferences> <preferences profiles="LiveInstall" arch="aarch64"> <type image="iso" publisher="Fedora Project" volid="Fedora_Linux" application_id="Fedora_Linux" primary="true" flags="dmsquash" filesystem="erofs" erofscompression="lzma,level=6" mediacheck="true" - firmware="efi" efiparttable="gpt" efifatimagesize="30" - kernelcmdline="quiet rhgb mem_sleep_default=s2idle clk_ignore_unused pd_ignore_unused systemd.tpm2_wait=0 rd.live.ram=1" - fscreateoptions="-Efragments -C 1048576" - editbootconfig="surface-editbootconfig.sh" + firmware="uefi" efiparttable="gpt" efifatimagesize="30" kernelcmdline="quiet rhgb" + fscreateoptions="-Eall-fragments,fragdedupe=inode -C 1048576" > <bootloader name="grub2" grub_template="grub-arm.cfg.iso-template" console="console" timeout="10"/> </type> </preferences> + <preferences profiles="LiveInstall" arch="riscv64"> + <type image="iso" + publisher="Fedora Project" volid="Fedora_Linux" application_id="Fedora_Linux" + primary="true" flags="dmsquash" filesystem="erofs" erofscompression="lzma,level=6" mediacheck="true" + firmware="uefi" efiparttable="gpt" efifatimagesize="30" kernelcmdline="quiet rhgb" + fscreateoptions="-Eall-fragments,fragdedupe=inode -C 1048576" + > + <bootloader name="grub2" grub_template="grub-riscv64.cfg.iso-template" console="console" timeout="10"/> + </type> + </preferences> + <preferences profiles="LiveInstall" arch="ppc64le"> + <type image="iso" + publisher="Fedora Project" volid="Fedora_Linux" application_id="Fedora_Linux" + primary="true" flags="dmsquash" filesystem="erofs" erofscompression="lzma,level=6" mediacheck="true" + firmware="ofw" kernelcmdline="quiet rhgb" + fscreateoptions="-Eall-fragments,fragdedupe=inode -C 1048576" + > + <bootloader name="grub2" grub_template="grub-ppc.cfg.iso-template" console="console" timeout="10"/> + </type> + </preferences> <packages type="iso" patternType="plusRecommended" profiles="LiveInstall"> - <!-- Filter out unwanted EFI files from the embedded ESP, see rhbz#2358785 --> - <file name="iso-esp-excludes.yaml" target="image/exclude_files_efifatimage.yaml"/> <!-- The point of a live image is to install --> <namedCollection name="anaconda-tools"/> + <package name="anaconda"/> <package name="anaconda-install-env-deps"/> <package name="anaconda-live"/> <!-- Need this for SVG release note images --> @@ -29,10 +56,9 @@ <package name="dracut-live"/> <package name="glibc-all-langpacks"/> <package name="isomd5sum"/> - <!-- Surface Pro 12": no kernel package here at all. BootCoreLive's - kernel-surface already carries every module, and its %posttrans - kernel-install leaves the /boot vmlinuz that grub2's ISO kernel - lookup needs. See the kernel block in components/boot.xml. --> + <package name="kernel"/> + <package name="kernel-modules"/> + <package name="kernel-modules-extra"/> <package name="livesys-scripts"/> <package name="btrfs-progs"/> <package name="udisks2-btrfs"/> @@ -2,14 +2,6 @@ set -euxo pipefail -installarch=$(uname -m) -kver=$(basename "$(ls -d /usr/lib/modules/*/)") - -if [[ $installarch != "aarch64" ]]; then - printf 'Error: this specific config is only meant for Surface Pro 12", and it is built on ARM64 chip (you have "%s" as build arch).' "$installarch" - exit 1 -fi - #====================================== # Functions... #-------------------------------------- @@ -24,7 +16,7 @@ echo "Configure image: [$kiwi_iname]-[$kiwi_profiles]..." #====================================== # Set SELinux booleans #-------------------------------------- -if [[ "$kiwi_profiles" != *"Container"* ]] && [[ "$kiwi_profiles" != *"FEX"* ]] && [[ "$kiwi_profiles" != *"WSL"* ]]; then +if [[ "$kiwi_profiles" != *"Container"* ]] && [[ "$kiwi_profiles" != *"FEX"* ]]; then ## Fixes KDE Plasma, see rhbz#2058657 setsebool -P selinuxuser_execmod 1 fi @@ -49,22 +41,6 @@ if [[ "$kiwi_profiles" != *"Container"* ]] && [[ "$kiwi_profiles" != *"FEX"* ]] echo "GRUB_DISABLE_SUBMENU=true" >> /etc/default/grub ## Disable recovery entries to match Fedora echo "GRUB_DISABLE_RECOVERY=true" >> /etc/default/grub - ## Surface Pro 12" (Snapdragon X1P-42-100): grub's gfxterm/GOP video probing - ## crashes on this GPU. Force plain text console, skip framebuffer handoff. - echo "GRUB_TERMINAL_OUTPUT=console" >> /etc/default/grub - echo "GRUB_GFXPAYLOAD_LINUX=text" >> /etc/default/grub - ## Surface Pro 12": GRUB_DEVICETREE is the only mechanism Fedora honours for - ## putting a devicetree line in a BLS entry -- 20-grub.install's mkbls emits - ## "devicetree /dtb-$kver/$GRUB_DEVICETREE". /etc/kernel/devicetree does - ## nothing here: /boot/<machine-id> does not exist, so kernel-install runs - ## with layout=other and 90-loaderentry.install (which would read it) bails. - echo "GRUB_DEVICETREE=qcom/x1p42100-microsoft-sp12in.dtb" >> /etc/default/grub - ## Upstream sets menu_auto_hide=1 + boot_indeterminate=1 here for Disk images - ## to match anaconda's behaviour. Deliberately not done for Surface Pro 12": - ## with the menu hidden, GRUB counts down GRUB_TIMEOUT against a blank screen - ## and then crashes during the hand-off on this firmware, so the first boot - ## always fails and only the second succeeds. The equivalent for the - ## anaconda-installed system is the /etc/anaconda/conf.d drop-in below. fi #====================================== @@ -139,7 +115,7 @@ fi #-------------------------------------- if [[ "$kiwi_profiles" == *"Disk"* ]]; then - if [[ "$kiwi_profiles" != *"GNOME"* ]] && [[ "$kiwi_profiles" != *"KDE"* ]] && [[ "$kiwi_profiles" != *"COSMIC"* ]]; then + if [[ "$kiwi_profiles" != *"GNOME"* ]]; then ## Enable initial-setup systemctl enable initial-setup.service ## Enable reconfig mode @@ -162,6 +138,15 @@ fi # Setup default customizations #-------------------------------------- +if [[ "$kiwi_profiles" == *"Disk"* ]]; then + # Find the architecture we are on + installarch=$(uname -m) + # Setup Raspberry Pi firmware + if [[ $installarch == "aarch64" ]]; then + cp -a /usr/share/uboot/rpi_arm64/u-boot.bin /boot/efi/rpi-u-boot.bin + fi +fi + if [[ "$kiwi_profiles" == *"Server"* ]]; then # Trigger lvm-devices-import.path and .service to create # a new /etc/lvm/devices/system.devices for the root VG. @@ -188,20 +173,6 @@ cat > /etc/NetworkManager/conf.d/99-azure-unmanaged-devices.conf << EOF [keyfile] unmanaged-devices=driver:mlx4_core;driver:mlx5_core EOF - -# Configure DHCP timeout for Azure to retry indefinitely during VM provisioning -cat > /etc/NetworkManager/conf.d/99-azure-dhcp-timeout.conf << EOF -# Azure requires VMs to attempt DHCP for at least 300 seconds during provisioning, -# as that's the upper bound of how long Azure waits to make networking available. -# NetworkManager's ipv4.dhcp-timeout setting accepts 2147483647 as a special value -# representing infinity, which ensures DHCP keeps retrying indefinitely. This is -# more robust than a fixed timeout and matches systemd-networkd's default behavior. -# Both IPv4 and IPv6 are configured to prepare for IPv6-only scenarios. -# Reference: https://networkmanager.dev/docs/api/latest/nm-settings-nmcli.html -[connection] -ipv4.dhcp-timeout=2147483647 -ipv6.dhcp-timeout=2147483647 -EOF fi if [[ "$kiwi_profiles" == *"GCE"* ]]; then @@ -243,13 +214,6 @@ chmod 600 /root/.ssh/authorized_keys chown -R root:root /root/.ssh fi -# https://bugzilla.redhat.com/show_bug.cgi?id=2356069 -if [[ "$kiwi_profiles" == *"Container"* ]] && [[ "$kiwi_profiles" != *"Init"* ]]; then - if [[ -f /usr/lib/tmpfiles.d/rootfiles.conf ]]; then - systemd-tmpfiles --create /usr/lib/tmpfiles.d/rootfiles.conf - fi -fi - if [[ "$kiwi_profiles" == *"Container"* ]] || [[ "$kiwi_profiles" == *"FEX"* ]]; then # Set install langs macro so that new rpms that get installed will # only install langs that we limit it to. @@ -268,7 +232,7 @@ if [[ "$kiwi_profiles" == *"Container"* ]] || [[ "$kiwi_profiles" == *"FEX"* ]]; releasever=eln fi - rpm --import /usr/share/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-primary + rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-primary echo "# fstab intentionally empty for containers" > /etc/fstab @@ -318,100 +282,6 @@ if [[ "$kiwi_profiles" == *"Container"* ]] || [[ "$kiwi_profiles" == *"FEX"* ]]; fi fi -if [[ "$kiwi_profiles" == *"Jam"* ]]; then -# Override boot configuration in Anaconda to enable threaded IRQs -cat > /usr/share/anaconda/post-scripts/85-jam-threadirqs.ks << THREADIRQS_EOF -%post - -echo "Enable threaded IRQs" -grubby --update-kernel=ALL --args="threadirqs" -%end -THREADIRQS_EOF - -# Override new user configuration to add audio groups -sed -e "s/UserGroups=.*/UserGroups=wheel,jackuser,audio/" -i /etc/xdg/plasmasetuprc - -# Override livesys-kde settings -cat >> /var/lib/livesys/livesys-session-extra << EOF - -#setup kickoff favorites -/bin/mkdir -p /etc/skel/.config - -JAMFAVORITES=/usr/share/applications/firefox.desktop,/usr/share/applications/mozilla-thunderbird.desktop,/usr/share/applications/studio-controls.desktop,/usr/share/applications/ardour6.desktop,/usr/share/applications/carla.desktop,/usr/share/applications/org.kde.konsole.desktop,/usr/share/applications/org.kde.dolphin.desktop,/usr/share/applications/systemsettings.desktop -JAMFAVORITESLIVE=/usr/share/applications/liveinst.desktop,\$JAMFAVORITES - -cat <<FOE >> /etc/skel/.config/kickoffrc -[Favorites] -FavoriteURLs=\$JAMFAVORITES -FOE - -/usr/sbin/usermod -a -G jackuser,audio liveuser -EOF -fi - -if [[ "$kiwi_profiles" == *"Design_suite"* ]]; then -# Add link to lists of tutorials -cat >> /usr/share/applications/list-design-tutorials.desktop << FOE -[Desktop Entry] -Name=List of design tutorials -GenericName=List of Tutorials for Designers -Comment=Reference of Design Related Tutorials -Exec=xdg-open https://fedoraproject.org/wiki/Design_Suite/Tutorials -Type=Application -Icon=applications-graphics -Categories=Graphics;Documentation; -FOE -chmod a+x /usr/share/applications/list-design-tutorials.desktop - -# Add information about Fedora Design Suite -cat >> /usr/share/applications/fedora-design-suite.desktop << FOE -[Desktop Entry] -Name=Design Suite Info -GenericName=About Design Suite -Comment=Wiki page of Design Suite -Exec=xdg-open https://fedoraproject.org/wiki/Design_Suite -Type=Application -Icon=applications-internet -Categories=Documentation; -FOE -chmod a+x /usr/share/applications/fedora-design-suite.desktop - -# Add information about Fedora Design Team -cat >> /usr/share/applications/fedora-design-team.desktop << FOE -[Desktop Entry] -Name=Design Team Info -GenericName=About Design Team -Comment=Documentation about Design Team -Exec=xdg-open https://docs.fedoraproject.org/en-US/design/ -Type=Application -Icon=applications-internet -Categories=Documentation; -FOE -chmod a+x /usr/share/applications/fedora-design-team.desktop - -# Use Powerline in bash -cat >> /etc/profile.d/powerline-shell.sh << FOE -# Enable powerline daemon -if [ -f `which powerline-daemon` ]; then - powerline-daemon -q - POWERLINE_BASH_CONTINUATION=1 - POWERLINE_BASH_SELECT=1 - . /usr/share/powerline/bash/powerline.sh -fi -FOE -chmod 644 /etc/profile.d/powerline-shell.sh -# End powerline override - -# Override the favorite desktop application in Dash -cat >> /usr/share/glib-2.0/schemas/org.gnome.shell.gschema.override << FOE -[org.gnome.shell] -favorite-apps=['org.mozilla.firefox.desktop', 'shotwell.desktop', 'gimp.desktop', 'darktable.desktop', 'krita.desktop', 'inkscape.desktop', 'blender.desktop', 'libreoffice-writer.desktop', 'scribus.desktop', 'kdenlive.desktop', 'nautilus.desktop', 'anaconda.desktop', 'list-design-tutorials.desktop'] -FOE - -# Rebuild schema cache with any overrides we installed -glib-compile-schemas /usr/share/glib-2.0/schemas -fi - if [[ "$kiwi_profiles" == *"SoaS"* ]]; then # Get proper release naming in the control panel cat >> /boot/olpc_build << EOF @@ -419,327 +289,41 @@ Sugar on a Stick EOF cat /etc/fedora-release >> /boot/olpc_build -# Set the default Plymouth theme to the Sugar Desktop one +# Rebuild initrd for Sugar boot screen -- TODO: Switch to kiwi declarative stanza +KERNEL_VERSION=$(rpm -q kernel --qf '%{version}-%{release}.%{arch}\n') /usr/sbin/plymouth-set-default-theme sugar +sed -i -r 's/(omit_dracutmodules\+\=.*) plymouth (.*)/\1 \2/' /etc/dracut.conf.d/99-liveos.conf +dracut --force-add plymouth -N -f /boot/initramfs-$KERNEL_VERSION.img $KERNEL_VERSION -# Fix https://bugzilla.redhat.com/show_bug.cgi?id=2239137 -cat > /etc/xdg/autostart/xfce-polkit.desktop <<EOF -[Desktop Entry] -Type=Application -Name=xfce-polkit -Exec=/usr/libexec/xfce-polkit -EOF - -fi +# Note that running rpm recreates the rpm db files which aren't needed or wanted +rm -f /var/lib/rpm/__db* -#====================================== -# Surface Pro 12" customizations -#-------------------------------------- - -install -Dm644 /tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/yum.repos.d/kernel-sp12in.repo \ - /etc/yum.repos.d/kernel-sp12in.repo - -# Device tree. kernel-surface compiles the patched dts in-tree and installs the -# result twice: into its own module tree (dtb/qcom, from dtbs_install) and into -# /usr/lib/surface-dtb/<kver>/. The latter is the master copy -# 60-surface-dtb.install re-stages into a kernel that shipped without one, -# which is the only reason the image no longer carries a prebuilt blob of its -# own -- the description installs kernel-surface by name and <ignore>s Fedora's -# kernel packages, so the package is always there. -# -# One name throughout, upstream's: this block, GRUB_DEVICETREE above, both -# kernel-install plugins, /etc/kernel/devicetree, and the ISO grub template. -# -# The module-tree and /boot copies plus the /boot/dtb symlink are what that hook -# and grubby's 10-devicetree.install would normally produce, done up front here -# because kernel-install does not run again during this build -- without the -# module-tree copy, anything keyed off /usr/lib/modules/$kver/dtb (including the -# anaconda post-script) finds nothing and silently does nothing. -dtb_name=x1p42100-microsoft-sp12in.dtb -# One directory per kernel version under /usr/lib/surface-dtb: kernel-surface is -# installonly, so nothing it owns can be version-unqualified. Only one release is -# ever installed at this point in the build, but glob anyway rather than assume. -dtb_src=$(ls -1 /usr/lib/surface-dtb/*/"$dtb_name" 2>/dev/null | sort -V | tail -n1) -if [[ -z "$dtb_src" ]]; then - printf 'Error: no %s under /usr/lib/surface-dtb/, so kernel-surface (built from ../kernel-surface) is not installed.\n' "$dtb_name" >&2 - exit 1 -fi -install -Dm644 "$dtb_src" "/usr/lib/modules/$kver/dtb/qcom/$dtb_name" -install -Dm644 "$dtb_src" "/boot/dtb-$kver/qcom/$dtb_name" -# dtbs_install ships every arm64 device tree, ~1000 boards, and the module tree -# goes straight into the image filesystem. This image targets exactly one board, -# so drop the rest -- the same objection that rules out kernel-uki-dtbloader in -# components/boot.xml. Only affects the image; a later kernel-surface update on -# the installed system restores the full tree. -find "/usr/lib/modules/$kver/dtb" -mindepth 1 \ - \! -path "/usr/lib/modules/$kver/dtb/qcom" \ - \! -name "$dtb_name" \ - -delete -# /boot/dtb -> dtb-$kver is what grubby's 10-devicetree.install maintains, and -# what the boot loader entry's devicetree path resolves through -ln -sfn "dtb-$kver" /boot/dtb -# Defer qcom_q6v5_pas past switch-root so the DSPs' auto_boot can actually find -# their firmware; see the comments in the file for the full failure mode. -install -Dm644 /tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/dracut.conf.d/surface-pro-12-inch.conf \ - /etc/dracut.conf.d/surface-pro-12-inch.conf -install -Dm644 /tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/kernel/cmdline \ - /etc/kernel/cmdline -install -Dm644 /tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/kernel/devicetree \ - /etc/kernel/devicetree -install -Dm644 /tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/kernel/install.conf \ - /etc/kernel/install.conf -install -Dm755 /tmp/SayaAndy/surface-pro-12-inch-linux-fedora/usr/lib/kernel/install.d/60-surface-dtb.install \ - /usr/lib/kernel/install.d/60-surface-dtb.install -# Puts the "devicetree" line into the BLS entry. This is the only mechanism that -# survives an anaconda install: /etc/kernel/devicetree is never read (layout is -# always "other" on Fedora, so 90-loaderentry.install bails) and GRUB_DEVICETREE -# is dropped when anaconda rewrites /etc/default/grub from its own key list. -# kernel-install plugins do run in the target during installation, and sorting -# after 20-grub.install means the entry it generates is already there to patch. -install -Dm755 /tmp/SayaAndy/surface-pro-12-inch-linux-fedora/usr/lib/kernel/install.d/95-surface-dtb-patch.install \ - /usr/lib/kernel/install.d/95-surface-dtb-patch.install -install -Dm644 /tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/udev/rules.d/61-sensors-surface-pro-12-inch.rules \ - /etc/udev/rules.d/61-sensors-surface-pro-12-inch.rules - -if [[ "$kiwi_profiles" == *"Live"* ]]; then - # Stop anaconda hiding the GRUB menu on the installed system's first boot. - # Only meaningful in the installer environment, hence Live-only; see the - # comments in the file for why a hidden menu breaks this device. - install -Dm644 /tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/anaconda/conf.d/90-surface-pro-12-inch.conf \ - /etc/anaconda/conf.d/90-surface-pro-12-inch.conf - - # Ship the CD-boot grub on the ISO, not the disk-boot one. - # - # kiwi picks the ISO's EFI loader by globbing the image root (see - # Defaults.get_unsigned_grub_loader, target_type='iso'). That pattern list - # has a CD-boot entry for x86_64 (gcdx64.efi) but none for aarch64, so here - # it falls through to grubaa64.efi -- the *disk* image, whose baked-in grub - # prefix is /EFI/fedora. Meanwhile kiwi writes its earlyboot config to - # /EFI/BOOT/grub.cfg, and iso-esp-excludes.yaml deletes "fedora" from the - # embedded ESP outright (rhbz#2358785). Net result on aarch64: the loader - # looks for its config in a directory that was deliberately removed, fails - # to load normal.mod, and dies before drawing anything -- black screen. - # - # gcdaa64.efi is byte-for-byte the same grub except its prefix is /EFI/BOOT, - # which is exactly where kiwi puts the config. Overwrite the path kiwi globs - # so it picks that one up instead. - # - # Only affects direct UEFI boot. Ventoy never executes this binary -- it - # loopback-mounts the ISO and runs /boot/grub2/grub.cfg under its own grub. - cp -a /boot/efi/EFI/fedora/gcdaa64.efi /boot/efi/EFI/fedora/grubaa64.efi -fi - -# 51-dracut-rescue.install isn't UKI-aware -- it unconditionally sed's a BLS -# loader entry that layout=uki never creates. Mask it (kernel-install(8)'s -# documented way to disable a plugin: a /dev/null symlink of the same name). -mkdir -p /etc/kernel/install.d -ln -sf /dev/null /etc/kernel/install.d/51-dracut-rescue.install -# kernel-surface's %posttrans scriptlet already ran kernel-install once, before -# this mask existed (root overlay lands after package install), leaving a -# stale rescue image behind. Remove it now so kiwi's systemd_boot EFI-FAT-image -# step doesn't try to cram it in too. -rm -f /boot/initramfs-0-rescue-*.img /boot/loader/entries/*-0-rescue.conf - -# GPU/ADSP/CDSP firmware + qcom DSP/sensor share config from the device tree repo -# (readme.md: "recursively copy the files in ./lib/ to /lib/", same for ./usr/) -cp -a /tmp/harrisonvanderbyl/surface-pro-12-inch-linux/lib/. /lib/ -cp -a /tmp/harrisonvanderbyl/surface-pro-12-inch-linux/usr/. /usr/ - -build_tmp=$(mktemp -d) - -# Snapshot what's installed before pulling in build-only tooling, so we can -# remove exactly what this block adds afterward -- and nothing Kiwi's own -# package lists (other team/desktop profiles) already wanted installed. -pkgs_before=$(mktemp) -rpm -qa --qf '%{NAME}\n' | sort > "$pkgs_before" - -# Wi-Fi (ath12k) board file fixup, adapted from dwhinham/linux-surface-pro-11 -dnf install -y python3 curl zstd -( - cd "$build_tmp" - cp /lib/firmware/ath12k/WCN7850/hw2.0/board-2.bin* . - if [ -f board-2.bin.zst ]; then - zstd -d board-2.bin.zst - elif [ -f board-2.bin.xz ]; then - xz -d board-2.bin.xz - fi - curl --output bdencoder.py -sL \ - https://raw.githubusercontent.com/qca/qca-swiss-army-knife/refs/heads/master/tools/scripts/ath12k/ath12k-bdencoder - python3 bdencoder.py --extract board-2.bin - rm -f bdencoder.py - mv "bus=pci,vendor=17cb,device=1107,subsystem-vendor=17cb,subsystem-device=3378,qmi-chip-id=2,qmi-board-id=255.bin" \ - /lib/firmware/ath12k/WCN7850/hw2.0/board.bin -) - -# AudioReach topology; alsatplg (the topology *compiler*) is build-only, the -# compiled blob is what ships. alsa-ucm-utils' UCM profiles are read at runtime -# by the audio stack, so that one's installed separately, alongside v4l-utils below. -dnf install -y git cmake gcc gcc-c++ make pkgconf-pkg-config alsa-topology-utils m4 -( - cd /tmp/linux-msm/audioreach-topology - git clone https://github.com/linux-msm/audioreach-topology - cd audioreach-topology - export FW_LOCATION=/lib/firmware - cmake . - make - make install -) - -# hexagonrpc + libssc + iio-sensor-proxy (fastrpc/sensor stack); not packaged in Fedora -dnf install -y \ - systemd-devel libgudev-devel polkit-devel gtk3-devel python3-devel \ - meson ninja-build gcc gcc-c++ git pkgconf-pkg-config \ - libqmi-devel glib2-devel protobuf3-c-devel gobject-introspection-devel -# meson's default prefix is /usr/local, and Fedora's dynamic linker does not -# search there -- /etc/ld.so.conf.d ships only iscsi and pipewire entries. Without -# this, libhexagonrpc.so installs fine but ld.so can't find it, and hexagonrpcd -# dies at startup with "no libhexagonrpc.so" (which then takes iio-sensor-proxy -# down with it via Requires=). Cover both libdir spellings. -printf '/usr/local/lib\n/usr/local/lib64\n' > /etc/ld.so.conf.d/surface-pro-12-inch.conf -( - cd /tmp/harrisonvanderbyl/hexagonrpc - meson setup build - ninja -C build - ninja -C build install - ldconfig -) -( - cd /tmp/DylanVanAssche/libssc - meson setup _build - meson compile -C _build - meson install -C _build - ldconfig -) -( - cd /tmp/harrisonvanderbyl/iio-sensor-proxy - meson _build -Dssc-support=enabled -Dprefix=/usr - ninja -v -C _build install -) - -# Remove exactly what got newly installed since the snapshot above (compilers, -# -devel headers, alsatplg, and whatever they pulled in transitively). Anything -# that was already installed before -- because some other team/desktop profile -# in this same build wanted it, or it's part of the base image -- is left alone. -pkgs_new=$(comm -13 "$pkgs_before" <(rpm -qa --qf '%{NAME}\n' | sort)) -if [ -n "$pkgs_new" ]; then - dnf remove -y $pkgs_new -fi -rm -f "$pkgs_before" - -# UCM profiles read at runtime by the audio stack -dnf install -y alsa-ucm-utils - -install -Dm644 /tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/systemd/system/hexagonrpc.service \ - /etc/systemd/system/hexagonrpc.service - -# iio-sensor-proxy keeps the unit its own build installed, and gets only the -# ordering against hexagonrpcd added on top. The drop-in is dead weight if that -# unit is not there, so check rather than let it pass silently. -test -f /usr/lib/systemd/system/iio-sensor-proxy.service -install -Dm644 /tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/systemd/system/iio-sensor-proxy.service.d/60-surface-pro-12-inch.conf \ - /etc/systemd/system/iio-sensor-proxy.service.d/60-surface-pro-12-inch.conf - -# Only hexagonrpcd is enabled statically. iio-sensor-proxy is started through -# its D-Bus name by whatever asks for net.hadess.SensorProxy, which then pulls -# hexagonrpc.service in through the drop-in above. -systemctl enable hexagonrpc.service - -# Fedora's SELinux policy has no qipcrtr_socket permissions for -# iiosensorproxy_t; the libssc backend needs them to probe the QRTR bus, and -# without them the daemon exits with "No sensors or missing kernel drivers". -# Compile and install the local module that grants them (see the .te for -# details). checkmodule/semodule_package come from checkpolicy; it stays -# installed because removing it takes policycoreutils-python-utils -# (semanage, audit2allow) with it. -dnf install -y checkpolicy -install -Dm644 /tmp/SayaAndy/surface-pro-12-inch-linux-fedora/usr/local/share/selinux/iio-qipcrtr.te \ - /usr/local/share/selinux/iio-qipcrtr.te -checkmodule -M -m -o /usr/local/share/selinux/iio-qipcrtr.mod \ - /usr/local/share/selinux/iio-qipcrtr.te -semodule_package -o /usr/local/share/selinux/iio-qipcrtr.pp \ - -m /usr/local/share/selinux/iio-qipcrtr.mod -semodule -i /usr/local/share/selinux/iio-qipcrtr.pp - -# Cameras (msm/camss). Nothing has to be wired up at boot. libcamera's "simple" -# pipeline handler claims qcom-camss and builds the media graph itself in -# configure(), including flipping the csiphy -> msm_csid0 link between the rear -# ov13858 and the front ov02c10, so a media-ctl unit only fights it: pinning -# csid0 to the rear sensor at boot leaves the front camera disconnected until -# something re-links it, and the formats such a unit has to guess are what made -# the old wireupcameras.service die with "Unable to setup formats: Invalid -# argument (22)" on every boot. -# -# v4l-utils stays, for inspecting the graph by hand -- media-ctl -p, and -# v4l2-ctl --stream-mmap on the RDI node to check the sensor below libcamera. -dnf install -y v4l-utils - -# The front ov02c10 needs a libcamera that knows its analogue gain model and -# black level; upstream libcamera has neither, and there is no plugin mechanism -# for them, but kernel-sp12in repo offers libcamera with supported models. -# Pulled in by name because it would otherwise only arrive as a dependency, -# which makes it easy to lose without noticing. -dnf install -y libcamera libcamera-ipa - -libcamera_nevra=$(rpm -q libcamera) -case "${libcamera_nevra}" in - *.sp12in*) printf 'Using %s\n' "${libcamera_nevra}" ;; - *) - printf 'Error: %s is Fedora'"'"'s libcamera, not the sp12in rebuild.\n' \ - "${libcamera_nevra}" >&2 - printf 'Fedora has probably bumped the release past the rebuild; rebase\n' >&2 - printf 'patches/ in ../libcamera and tag a new release suffix.\n' >&2 - exit 1 - ;; -esac +cat > /etc/sysconfig/desktop <<EOF +PREFERRED=/usr/bin/sugar +DISPLAYMANAGER=/usr/sbin/lightdm +EOF -# Hardware video decode needs firmware this image is not allowed to carry. The -# qcom/vpu/vpu30_p1_s7.mbn in linux-firmware is the same codec signed with -# Qualcomm's SecTools test keys, which a retail Surface's TrustZone rejects, and -# the production-signed build exists only inside Microsoft's Surface driver -# package, under terms that grant no redistribution right. -# -# So the image ships the means rather than the blob: a script that copies it out -# of a Windows install the owner already has a licence for, and a unit that runs -# that once on a dual-boot machine. Where Windows is gone, the script says which -# driver pack to download and how to point it at one. -dnf install -y msitools -install -Dm755 /tmp/SayaAndy/surface-pro-12-inch-linux-fedora/usr/local/bin/surface-video-firmware.sh \ - /usr/local/bin/surface-video-firmware.sh -install -Dm644 /tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/systemd/system/surface-video-firmware.service \ - /etc/systemd/system/surface-video-firmware.service -systemctl enable surface-video-firmware.service +# set up lightdm autologin +sed -i 's/^#autologin-user=.*/autologin-user=liveuser/' /etc/lightdm/lightdm.conf +sed -i 's/^#autologin-user-timeout=.*/autologin-user-timeout=0/' /etc/lightdm/lightdm.conf -# Suspend on Snapdragon is still very unstable. This is the reason why -# 'mem_sleep_default=s2idle' is set explicitly in the cmdline as 'deep' mode -# does not function at all. -# Even then, suspending via gnome settings daemon results in hard freeze. -# This is why: -# logind behavior is kept intact with suspend behavior. -# gnome default power button behavior was replaced with 'interactive'. -install -Dm644 /tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/systemd/logind.conf.d/60-surface-power-key.conf \ - /etc/systemd/logind.conf.d/60-surface-power-key.conf -install -Dm644 /tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/dconf/db/local.d/00-power-button \ - /etc/dconf/db/local.d/00-power-button -install -Dm644 /tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/dconf/profile/user \ - /etc/dconf/profile/user +# Don't use the default system user (in SoaS liveuser) as nick name +# Disable the logout menu item in Sugar +# Enable Sugar power management +cat >/usr/share/glib-2.0/schemas/sugar.soas.gschema.override <<EOF +[org.sugarlabs.user] +default-nick='disabled' -dconf update +[org.sugarlabs] +show-logout=false -restorecon -Rv /usr /lib /etc/systemd /etc/dconf /etc/udev/rules.d /etc/yum.repos.d +[org.sugarlabs.power] +automatic=true +EOF -#====================================== -# Set the WSL name for ELN -#-------------------------------------- -if [[ "$kiwi_profiles" == *"WSL"* ]] && [[ "$kiwi_iname" == *"ELN"* ]]; then -wsl-setup --name Fedora-ELN +/usr/bin/glib-compile-schemas /usr/share/glib-2.0/schemas fi -#====================================== -# Finalization steps -#-------------------------------------- -# Inhibit the ldconfig cache generation unit, see rhbz2348669 -touch -r "/usr" "/etc/.updated" "/var/.updated" - if [[ "$kiwi_profiles" == *"FEX"* ]]; then # Remove most things except libraries used by FEX and wine stuff. # Most binaries that are present in non-x86 architectures should be removed, @@ -818,6 +402,4 @@ if [[ "$kiwi_profiles" == *"FEX"* ]]; then rm /usr/bin/rm fi -rm -rf /tmp/* - exit 0 diff --git a/docs/FedoraOnSurface.jpg b/docs/FedoraOnSurface.jpg Binary files differdeleted file mode 100644 index 6b37f3c..0000000 --- a/docs/FedoraOnSurface.jpg +++ /dev/null diff --git a/fex-excludes.yaml b/fex-excludes.yaml index b82a4c7..3582368 100644 --- a/fex-excludes.yaml +++ b/fex-excludes.yaml @@ -12,6 +12,4 @@ exclude: - /srv - /sys - /tmp -- /usr/lib/locale -- /usr/share/locale - /var diff --git a/grub-arm.cfg.iso-template b/grub-arm.cfg.iso-template index 447a1f3..037ae79 100644 --- a/grub-arm.cfg.iso-template +++ b/grub-arm.cfg.iso-template @@ -16,7 +16,6 @@ set gfxpayload=keep insmod gzio insmod part_gpt insmod ext2 -insmod zstd terminal_input console terminal_output ${terminal_output} @@ -26,24 +25,16 @@ set timeout_style=${boot_timeout_style} search ${search_params} -# Surface Pro 12" (Snapdragon X1P-42-100): the dtb the entries below load is a -# plain file in this same loader directory on the ISO9660 filesystem. GRUB -# cannot read the erofs root image, and kiwi has no device tree support, so -# surface-editbootconfig.sh copies it there out of the kernel-surface RPM in the -# image root. See that script for why editbootconfig is the hook that can. menuentry "Start ${title}" --class fedora --class gnu-linux --class gnu --class os { - devicetree ($$root)${bootpath}/x1p42100-microsoft-sp12in.dtb linux ($$root)${bootpath}/${kernel_file} ${boot_options} initrd ($$root)${bootpath}/${initrd_file} } menuentry "Test this media & start ${title}" --class fedora --class gnu-linux --class gnu --class os { - devicetree ($$root)${bootpath}/x1p42100-microsoft-sp12in.dtb linux ($$root)${bootpath}/${kernel_file} ${boot_options} rd.live.check initrd ($$root)${bootpath}/${initrd_file} } submenu "Troubleshooting -->" { menuentry "Start ${title} in basic graphics mode" --class fedora --class gnu-linux --class gnu --class os { - devicetree ($$root)${bootpath}/x1p42100-microsoft-sp12in.dtb linux ($$root)${bootpath}/${kernel_file} ${boot_options} $${basicgfx} initrd ($$root)${bootpath}/${initrd_file} } diff --git a/iio-qipcrtr.pp b/iio-qipcrtr.pp Binary files differdeleted file mode 100644 index 9eedadb..0000000 --- a/iio-qipcrtr.pp +++ /dev/null diff --git a/iio-qipcrtr.te b/iio-qipcrtr.te deleted file mode 100644 index 5ea7434..0000000 --- a/iio-qipcrtr.te +++ /dev/null @@ -1,20 +0,0 @@ - -module iio-qipcrtr 1.0; - -require { - type iiosensorproxy_t; - type systemd_userdbd_t; - type xdm_var_run_t; - class sock_file read; - class qipcrtr_socket { create getattr getopt setopt }; -} - -#============= iiosensorproxy_t ============== - -#!!!! This avc is allowed in the current policy -allow iiosensorproxy_t self:qipcrtr_socket { create getattr getopt setopt }; - -#============= systemd_userdbd_t ============== - -#!!!! This avc is allowed in the current policy -allow systemd_userdbd_t xdm_var_run_t:sock_file read; diff --git a/iso-esp-excludes.yaml b/iso-esp-excludes.yaml deleted file mode 100644 index c49d940..0000000 --- a/iso-esp-excludes.yaml +++ /dev/null @@ -1,3 +0,0 @@ -exclude: -- BOOT/fb*.efi -- fedora @@ -16,7 +16,7 @@ usage() { exit 255 } -optTemp=$(getopt --options '+k:,f:,i,b:,o:,t:,p:,r:,d,h' --longoptions 'kiwi-description-dir:,kiwi-file:,isolated,kiwi-bundle-format:,output-dir:,image-type:,image-profile:,image-release:,debug,help' --name "$kiwibuildsh" -- "$@") +optTemp=$(getopt --options '+k:,f:,i,o:,t:,p:,r:,d,h' --longoptions 'kiwi-description-dir:,kiwi-file:,isolated,output-dir:,image-type:,image-profile:,image-release:,debug,help' --name "$kiwibuildsh" -- "$@") eval set -- "$optTemp" unset optTemp @@ -29,7 +29,6 @@ kiwi_isolated= # For compatibility with older scripts where these did not exist kiwi_description_dir="./" kiwi_file="Fedora.kiwi" -kiwi_bundle_format= kiwibuild_extra_args= while true; do @@ -37,7 +36,6 @@ while true; do -i|--isolated) kiwi_isolated=1; shift ;; -k|--kiwi-description-dir) kiwi_description_dir="$2" ; shift 2 ;; -f|--kiwi-file) kiwi_file="$2" ; shift 2 ;; - -b|--kiwi-bundle-format) kiwi_bundle_format="$2" ; shift 2 ;; -o|--output-dir) output_dir="$2" ; shift 2 ;; -t|--image-type) image_type="$2" ; shift 2 ;; -p|--image-profile) image_profile="$2" ; shift 2 ;; @@ -48,35 +46,48 @@ while true; do esac done -# Capture arguments after -- -kiwibuild_extra_args=("$@") - if [ -z "$output_dir" ] || [ -z "$image_type" ] || [ -z "$image_profile" ] || [ -z "$kiwi_file" ]; then echo "Options not set!" usage fi -if [ -z "$kiwi_bundle_format" ]; then - # Set the bundle format after we know the profile - kiwi_bundle_format=$("${kiwibuild_scriptdir}/scripts/fedora-kiwi-bundle-format-generator" "${kiwi_file}" "${image_profile}") -fi +# Set the bundle format after we know the profile +kiwi_bundle_format=$("${kiwibuild_scriptdir}/scripts/fedora-kiwi-bundle-format-generator" "${kiwi_file}" "${image_profile}") if [ "$image_type" = "iso" ]; then # Add parameters for embedded ISO IDs - kiwibuild_iso_extra_args=$("${kiwibuild_scriptdir}/scripts/fedora-live-iso-label-generator" "${kiwi_file}" "${image_profile}" --output-kiwi-args) - kiwibuild_extra_args="${kiwibuild_extra_args:+${kiwibuild_extra_args}} ${kiwibuild_iso_extra_args}" + kiwibuild_extra_args=$("${kiwibuild_scriptdir}/scripts/fedora-live-iso-label-generator" "${kiwi_file}" "${image_profile}" --output-kiwi-args) fi +if [ "$image_type" = "oci" ]; then + # Extend for OCI images + kiwi_bundle_format="${kiwi_bundle_format}.%T" +fi + +if [ ! ${kiwi_isolated} ] && [ -e "/sys/fs/selinux/enforce" ]; then + # Disable SELinux enforcement during the image build if it's enforcing + selinux_enforcing="$(cat /sys/fs/selinux/enforce)" + if [ "$selinux_enforcing" = "1" ]; then + setenforce 0 + fi +fi set +e if [ ! ${kiwi_isolated} ]; then - kiwi-ng ${debug} --type="${image_type}" --profile="${image_profile}" --kiwi-file="${kiwi_file}" --color-output system build --description "${kiwi_description_dir}" --target-dir "${output_dir}-build" ${kiwibuild_extra_args:+${kiwibuild_extra_args}} +kiwi-ng ${debug} --type="${image_type}" --profile="${image_profile}" --kiwi-file="${kiwi_file}" --color-output system build --description "${kiwi_description_dir}" --target-dir "${output_dir}-build" ${kiwibuild_extra_args} else - kiwi-ng ${debug} --type="${image_type}" --profile="${image_profile}" --kiwi-file="${kiwi_file}" --color-output system boxbuild --box universal -- --description "${kiwi_description_dir}" --target-dir "${output_dir}-build" ${kiwibuild_extra_args:+${kiwibuild_extra_args}} +kiwi-ng ${debug} --type="${image_type}" --profile="${image_profile}" --kiwi-file="${kiwi_file}" --color-output system boxbuild --box universal --sshfs-sharing -- --description "${kiwi_description_dir}" --target-dir "${output_dir}-build" ${kiwibuild_extra_args} fi kiwi_status=$? set -e +if [ ! ${kiwi_isolated} ] && [ -e "/sys/fs/selinux/enforce" ]; then + # Re-enable SELinux enforcement now that image build is done + if [ "$selinux_enforcing" = "1" ]; then + setenforce 1 + fi +fi + if [ "${kiwi_status}" = "0" ] && [ -n "$image_release" ]; then kiwi-ng ${debug} result bundle --bundle-format="${kiwi_bundle_format}" --target-dir "${output_dir}-build" --bundle-dir "${output_dir}" --id="${image_release}" fi diff --git a/maintainers.toml b/maintainers.toml index 6e86ff4..b9ef963 100644 --- a/maintainers.toml +++ b/maintainers.toml @@ -1,7 +1,135 @@ -# You can read the original repo maintainers.toml at: -# https://forge.fedoraproject.org/releng/kiwi-descriptions/src/branch/rawhide/maintainers.toml +[spins.lxqt.x86_64] +fas = [ "lupinix", "zsun" ] +maintainers = [ "Christian Dersch", "Zamir SUN" ] +[spins.lxqt.armhfp] +fas = [ "lupinix", "zsun" ] +maintainers = [ "Christian Dersch", "Zamir SUN" ] -# Surface Pro 12" customizations -[surface-pro-12-inch] -fas = [ "SayaAndy" ] -maintainers = [ "Saya Andy" ] +[spins.xfce.x86_64] +fas = [ "nonamedotc", "kevin", "maxamillion" ] +maintainers = [ "Mukundan Ragavan", "Kevin Fenzi", "Adam Miller" ] +[spins.xfce.armhfp] +fas = [ "nonamedotc", "kevin", "maxamillion" ] +maintainers = [ "Mukundan Ragavan", "Kevin Fenzi", "Adam Miller" ] + +[spins.kde.x86_64] +fas = [ "rdieter", "marcdeop", "ngompa" ] +maintainers = [ "Rex Dieter", "Marc Deop", "Neal Gompa" ] + +[spins.kde-mobile.x86_64] +fas = [ "tdawson", "ngompa" ] +maintainers = [ "Troy Dawson", "Neal Gompa" ] + +[spins.cinnamon.x86_64] +fas = [ "grinnz" ] +maintainers = [ "Dan Book" ] + +[spins.lxde.x86_64] +fas = [ "cwickert", "mtasaka" ] +maintainers = [ "Christoph Wickert", "Mamoru TASAKA" ] +[spins.lxde.armhfp] +fas = [ "cwickert", "mtasaka" ] +maintainers = [ "Christoph Wickert", "Mamoru TASAKA" ] + +[spins.soas.x86_64] +fas = [ "chimosky", "aperezbios" ] +maintainers = [ "Chihurumnaya Ibiam", "Alex Perez" ] +[spins.soas.armhfp] +fas = [ "chimosky", "aperezbios", ] +maintainers = [ "Chihurumnaya Ibiam", "Alex Perez" ] + +[labs.astronomy_kde.x86_64] +fas = [ "lupinix" ] +maintainers = [ "Christian Dersch" ] + +[labs.security.x86_64] +fas = [ "fab", "jsimon", "q5sys"] +maintainers = [ "Fabian Affolter", "Joerg Simon", "JT Pennington" ] + +[labs.comp_neuro.x86_64] +fas = [ "bt0dotninja", "dan1mal", "ankursinha", "neuro-sig" ] +maintainers = [ "Alberto Rodriguez Sanchez", "Danny Lee", "Ankur Sinha", "NeuroFedora SIG" ] + +[labs.design_suite.x86_64] +fas = [ "luya" ] +maintainers = [ "Luya Tshimbalanga" ] + +[labs.games.x86_64] +fas = [ "dagostinelli", "richardanaya" ] +maintainers = [ "Darryl T. Agostinelli", "Richard Anaya" ] + +[labs.jam_kde.x86_64] +fas = [ "q5sys" ] +maintainers = [ "JT Pennington" ] + +[labs.python_classroom.x86_64] +fas = [ "churchyard", "python-sig" ] +maintainers = [ "Miro Hrončok", "Python SIG" ] + +[labs.scientific_kde.x86_64] +fas = [ "scitech" ] +maintainers = [ "SciTech SIG" ] + +[labs.scientific.x86_64] +fas = [ "scitech" ] +maintainers = [ "SciTech SIG" ] + +[labs.robotics.x86_64] +fas = [ "x3mboy", "robotics-sig" ] +maintainers = [ "Eduard Lucena", "Robotics SIG" ] + +[spins.i3.x86_64] +fas = [ "jflory7", "defolos", "nasirhm", "odilhao", "x3mboy" ] +maintainers = [ "Justin Flory", "Dan Čermák", "Nasir Hussain", "Odilon Junior", "Eduard Lucena" ] + +[eln] +fas = [ "sgallagh", "tdawson", "asamalik" ] +maintainers = [ "Stephen Gallagher", "Troy Dawson", "Adam Samalik" ] + +[spins.budgie.x86_64] +fas = [ "joshstrobl" ] +maintainers = [ "Joshua Strobl" ] + +[spins.sway.x86_64] +fas = [ "alebastr", "jkonecny", "anthr76", "fale" ] +maintainers = [ "Aleksei Bavshin", "Jiří Konečný", "Anthony Rabbito", "Fabio Alessandro Locati" ] + +[silverblue.x86_64] +fas = [ "siosm", "tpopela" ] +maintainers = [ "Timothée Ravier", "Tomáš Popela" ] +[silverblue.aarch64] +fas = [ "siosm", "tpopela" ] +maintainers = [ "Timothée Ravier", "Tomáš Popela" ] +[silverblue.ppc64le] +fas = [ "siosm", "tpopela" ] +maintainers = [ "Timothée Ravier", "Tomáš Popela" ] + +[kinoite.x86_64] +fas = [ "siosm" ] +maintainers = [ "Timothée Ravier" ] +[kinoite.aarch64] +fas = [ "siosm" ] +maintainers = [ "Timothée Ravier" ] +[kinoite.ppc64le] +fas = [ "siosm" ] +maintainers = [ "Timothée Ravier" ] + +[sericea.x86_64] +fas = [ "alebastr", "jkonecny", "anthr76", "fale" ] +maintainers = [ "Aleksei Bavshin", "Jiří Konečný", "Anthony Rabbito", "Fabio Alessandro Locati" ] +[sericea.aarch64] +fas = [ "alebastr", "jkonecny", "anthr76", "fale" ] +maintainers = [ "Aleksei Bavshin", "Jiří Konečný", "Anthony Rabbito", "Fabio Alessandro Locati" ] +[sericea.ppc64le] +fas = [ "alebastr", "jkonecny", "anthr76", "fale" ] +maintainers = [ "Aleksei Bavshin", "Jiří Konečný", "Anthony Rabbito", "Fabio Alessandro Locati" ] + +[onyx.x86_64] +fas = [ "joshstrobl" ] +maintainers = [ "Joshua Strobl" ] +[onyx.aarch64] +fas = [ "joshstrobl" ] +maintainers = [ "Joshua Strobl" ] +[onyx.ppc64le] +fas = [ "joshstrobl" ] +maintainers = [ "Joshua Strobl" ] diff --git a/repositories/core.xml b/repositories/core.xml index 86a91b7..95dc008 120000 --- a/repositories/core.xml +++ b/repositories/core.xml @@ -1 +1 @@ -core-nonrawhide.xml
\ No newline at end of file +core-rawhide.xml
\ No newline at end of file diff --git a/repositories/kernel-sp12in.xml b/repositories/kernel-sp12in.xml deleted file mode 100644 index 2419e06..0000000 --- a/repositories/kernel-sp12in.xml +++ /dev/null @@ -1,6 +0,0 @@ -<image> - <!-- Surface Pro 12" (Snapdragon X1P-42-100): the patched kernel + libcamera.--> - <repository type="rpm-md" alias="kernel-surface" priority="1"> - <source path="https://rpm.sayag.it/kernel-sp12in/fedora/$releasever/aarch64/"/> - </repository> -</image> diff --git a/root/etc/sysconfig/kernel b/root/etc/sysconfig/kernel new file mode 100644 index 0000000..8da1970 --- /dev/null +++ b/root/etc/sysconfig/kernel @@ -0,0 +1,6 @@ +# UPDATEDEFAULT specifies if kernel-install should make +# new kernels the default +UPDATEDEFAULT=yes + +# DEFAULTKERNEL specifies the default kernel package type +DEFAULTKERNEL=kernel-core diff --git a/root/tmp/DylanVanAssche/libssc b/root/tmp/DylanVanAssche/libssc deleted file mode 160000 -Subproject f6dfbfa5f34ef22f3d47ef346c22834e79c60df diff --git a/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/anaconda/conf.d/90-surface-pro-12-inch.conf b/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/anaconda/conf.d/90-surface-pro-12-inch.conf deleted file mode 100644 index 0b46109..0000000 --- a/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/anaconda/conf.d/90-surface-pro-12-inch.conf +++ /dev/null @@ -1,19 +0,0 @@ -# Surface Pro 12" (Snapdragon X1P-42-100): do not hide the GRUB menu. -# -# /etc/anaconda/profile.d/fedora-workstation.conf sets menu_auto_hide = True, -# and os-release here has VARIANT_ID=workstation, so anaconda selects that -# profile. Its grub2.py then writes both variables into grubenv: -# -# grub2-editenv - set menu_auto_hide=1 boot_success=1 -# -# deliberately, "so that the menu is hidden on the boot after install". On this -# firmware a hidden menu means GRUB counts down GRUB_TIMEOUT with nothing on -# screen and then crashes during the hand-off, so the very first boot of a fresh -# install always fails; it only succeeds from the second attempt, once the menu -# is drawn. Keeping the menu visible avoids that path entirely. -# -# conf.d is read after profile.d and is documented as the override location, and -# this file only needs to exist in the live installer environment -- it has no -# effect on, and is not needed by, the installed system. -[Bootloader] -menu_auto_hide = False diff --git a/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/dconf/db/local.d/00-power-button b/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/dconf/db/local.d/00-power-button deleted file mode 100644 index 1b69eab..0000000 --- a/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/dconf/db/local.d/00-power-button +++ /dev/null @@ -1,2 +0,0 @@ -[org/gnome/settings-daemon/plugins/power] -power-button-action='interactive' diff --git a/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/dconf/profile/user b/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/dconf/profile/user deleted file mode 100644 index aca0641..0000000 --- a/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/dconf/profile/user +++ /dev/null @@ -1,2 +0,0 @@ -user-db:user -system-db:local diff --git a/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/dracut.conf.d/surface-pro-12-inch.conf b/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/dracut.conf.d/surface-pro-12-inch.conf deleted file mode 100644 index 9c7a9bd..0000000 --- a/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/dracut.conf.d/surface-pro-12-inch.conf +++ /dev/null @@ -1,24 +0,0 @@ -# Surface Pro 12" (Snapdragon X1P-42-100) -# -# Keep the ADSP/CDSP remoteproc driver out of the initramfs. -# -# qcom_q6v5_pas has auto_boot set, so it powers up the DSPs the moment it -# probes. In a hostonly initramfs it gets pulled in and probes at ~1.7s, long -# before root is mounted, and the firmware it needs lives on the root -# filesystem: -# -# remoteproc remoteproc0: adsp is available -# Direct firmware load for .../qcadsp8380.mbn failed with error -2 -# remoteproc remoteproc0: request_firmware failed: -2 -# -# remoteproc does not retry after that, so both DSPs stay offline for the whole -# boot -- which means no glink edge, no fastrpc devices, and therefore no -# sensors. Nothing in the initramfs needs the DSPs to mount root, so deferring -# the driver until after switch-root lets auto_boot find its firmware and -# succeed. The alternative, install_items with the blobs, adds ~45MB to every -# initramfs for no benefit. -# -# dracut reads this from the target's /etc/dracut.conf.d during anaconda's -# initramfs regeneration, so it survives installation (unlike /etc/default/grub, -# which anaconda rewrites from a fixed key set). -omit_drivers+=" qcom_q6v5_pas " diff --git a/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/kernel/cmdline b/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/kernel/cmdline deleted file mode 100644 index 5b92d02..0000000 --- a/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/kernel/cmdline +++ /dev/null @@ -1 +0,0 @@ -rootflags=subvol=root mem_sleep_default=s2idle clk_ignore_unused pd_ignore_unused systemd.tpm2_wait=0 rhgb quiet diff --git a/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/kernel/devicetree b/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/kernel/devicetree deleted file mode 100644 index 2acf815..0000000 --- a/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/kernel/devicetree +++ /dev/null @@ -1 +0,0 @@ -qcom/x1p42100-microsoft-sp12in.dtb diff --git a/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/kernel/install.conf b/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/kernel/install.conf deleted file mode 100644 index 03aec7d..0000000 --- a/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/kernel/install.conf +++ /dev/null @@ -1 +0,0 @@ -BOOT_ROOT=/boot diff --git a/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/systemd/logind.conf.d/60-surface-power-key.conf b/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/systemd/logind.conf.d/60-surface-power-key.conf deleted file mode 100644 index c6fc547..0000000 --- a/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/systemd/logind.conf.d/60-surface-power-key.conf +++ /dev/null @@ -1,2 +0,0 @@ -HandlePowerKey=suspend -HandlePowerKeyLongPress=poweroff diff --git a/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/systemd/system/hexagonrpc.service b/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/systemd/system/hexagonrpc.service deleted file mode 100644 index 413e84c..0000000 --- a/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/systemd/system/hexagonrpc.service +++ /dev/null @@ -1,9 +0,0 @@ -[Unit] -Description=HexagonRPC Service - -[Service] -# The kernel-surface fastrpc driver creates /dev/fastrpc-adsp (no -secure -Restart=on-failure - -[Install] -WantedBy=multi-user.target diff --git a/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/systemd/system/iio-sensor-proxy.service.d/60-surface-pro-12-inch.conf b/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/systemd/system/iio-sensor-proxy.service.d/60-surface-pro-12-inch.conf deleted file mode 100644 index 7b3cfcb..0000000 --- a/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/systemd/system/iio-sensor-proxy.service.d/60-surface-pro-12-inch.conf +++ /dev/null @@ -1,14 +0,0 @@ -# Surface Pro 12" (Snapdragon X1P-42-100) -# -# The sensors on this device are not IIO devices. They live behind the SLPI -# DSP, reached over fastrpc by hexagonrpcd, and iio-sensor-proxy only sees them -# through the SSC backend it is built with here (-Dssc-support=enabled). So it -# has to start after that daemon, and stop being useful if the daemon dies. -# -# A drop-in rather than a replacement unit: upstream's own unit is D-Bus -# activated (Type=dbus, BusName=net.hadess.SensorProxy), which is how anything -# asking for net.hadess.SensorProxy gets the service started, and overriding it -# wholesale traded that away for nothing but this ordering. -[Unit] -Requires=hexagonrpc.service -After=hexagonrpc.service diff --git a/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/systemd/system/surface-video-firmware.service b/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/systemd/system/surface-video-firmware.service deleted file mode 100644 index 5c83962..0000000 --- a/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/systemd/system/surface-video-firmware.service +++ /dev/null @@ -1,12 +0,0 @@ -[Unit] -Description=Install Surface Pro 12in video codec firmware from a Windows partition -ConditionPathExists=!/lib/firmware/qcom/x1p42100/Microsoft/Surface12/qcvss8380_pa.mbn -After=local-fs.target - -[Service] -Type=oneshot -RemainAfterExit=yes -ExecStart=/usr/local/bin/surface-video-firmware.sh - -[Install] -WantedBy=multi-user.target diff --git a/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/udev/rules.d/61-sensors-surface-pro-12-inch.rules b/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/udev/rules.d/61-sensors-surface-pro-12-inch.rules deleted file mode 100644 index 064ff05..0000000 --- a/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/udev/rules.d/61-sensors-surface-pro-12-inch.rules +++ /dev/null @@ -1,2 +0,0 @@ -ACTION=="add|change", SUBSYSTEM=="misc", KERNEL=="fastrpc-adsp*", ENV{ACCEL_MOUNT_MATRIX}="-1, 0, 0; 0, -1, 0; 0, 0, 1" -SUBSYSTEM=="misc", KERNEL=="fastrpc-adsp*", ENV{IIO_SENSOR_PROXY_TYPE}+="ssc-accel" diff --git a/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/yum.repos.d/kernel-sp12in.repo b/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/yum.repos.d/kernel-sp12in.repo deleted file mode 100644 index 24fe9f3..0000000 --- a/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/yum.repos.d/kernel-sp12in.repo +++ /dev/null @@ -1,7 +0,0 @@ -[kernel-sp12in] -name=kernel-sp12in for Fedora $releasever - $basearch -baseurl=https://rpm.sayag.it/kernel-sp12in/fedora/$releasever/$basearch/ -enabled=1 -priority=1 -gpgcheck=0 -metadata_expire=6h diff --git a/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/usr/lib/kernel/install.d/60-surface-dtb.install b/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/usr/lib/kernel/install.d/60-surface-dtb.install deleted file mode 100644 index 7622406..0000000 --- a/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/usr/lib/kernel/install.d/60-surface-dtb.install +++ /dev/null @@ -1,44 +0,0 @@ -#!/bin/bash -set -eu -umask 022 - -COMMAND="$1" -KVER="$2" - -DTB_NAME=x1p42100-microsoft-sp12in.dtb -DEST="/usr/lib/modules/${KVER}/dtb/qcom/${DTB_NAME}" - -# The master copies come from kernel-surface: it builds the dtb in-tree from the -# patched dts and installs it under /usr/lib/surface-dtb, deliberately outside -# any /usr/lib/modules/<kver>, so it can be re-staged into a kernel that ships -# no device tree of its own -- a stock Fedora one. -# -# One directory per kernel version, because kernel-surface is installonly and -# rpm will not let two installed releases own one unqualified path once the file -# differs. They are all the same board, so the highest version is as good a -# choice as any, and is the one most likely to carry recent fixes. -SRC=$(ls -1 /usr/lib/surface-dtb/*/"${DTB_NAME}" 2>/dev/null | sort -V | tail -n1) - -case "${COMMAND}" in - add) - # kernel-surface ships its own dtb through dtbs_install, and that - # one is the release-matched copy. Leave it alone; the master is - # only for kernels that arrived without one. - if [ -f "${DEST}" ]; then - exit 0 - fi - # Neither means there is nothing this board can boot with, so say - # so rather than failing silently three steps later in the boot - # loader. - if [ -z "${SRC}" ]; then - echo "60-surface-dtb: no ${DTB_NAME} under /usr/lib/surface-dtb" >&2 - exit 1 - fi - mkdir -p "$(dirname ${DEST})" - cp -f "${SRC}" "${DEST}" - chmod 644 "${DEST}" - ;; - remove) - rm -f "${DEST}" - ;; -esac diff --git a/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/usr/lib/kernel/install.d/95-surface-dtb-patch.install b/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/usr/lib/kernel/install.d/95-surface-dtb-patch.install deleted file mode 100644 index 65b8745..0000000 --- a/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/usr/lib/kernel/install.d/95-surface-dtb-patch.install +++ /dev/null @@ -1,55 +0,0 @@ -#!/bin/bash -# Surface Pro 12" (Snapdragon X1P-42-100): put a devicetree line into the BLS -# loader entry. -# -# None of Fedora's built-in mechanisms can do this on their own: -# -# * /etc/kernel/devicetree is only read by 90-loaderentry.install, which exits -# early unless KERNEL_INSTALL_LAYOUT=bls. Fedora has no /boot/<entry-token> -# directory, so kernel-install always computes layout=other here and that -# plugin never runs. -# -# * GRUB_DEVICETREE in /etc/default/grub does work on a running system (see -# 20-grub.install's mkbls), but anaconda rewrites /etc/default/grub from a -# fixed list of keys it knows during installation, and GRUB_DEVICETREE is not -# on that list, so it is silently discarded on a fresh install. -# -# A kernel-install plugin survives both: anaconda runs kernel-install inside the -# target during installation, and anything sorting after 20-grub.install sees -# the entry it has just (re)generated. Because 20-grub.install rewrites the -# entry from scratch on every kernel install, this must re-apply each time -- -# hence a plugin rather than a one-shot fixup. - -set -eu -umask 022 - -COMMAND="${1:-}" -KVER="${2:-}" - -[ "$COMMAND" = "add" ] || exit 0 -[ -n "$KVER" ] || exit 0 - -DTB_NAME=x1p42100-microsoft-sp12in.dtb -DTB_REL="qcom/$DTB_NAME" -BOOT_ROOT="${KERNEL_INSTALL_BOOT_ROOT:-/boot}" - -# 60-surface-dtb.install stages the dtb into this kernel's module tree; fall -# back to kernel-surface's version-independent master copy if it has not run -# (or was removed). -DTB_SRC="/usr/lib/modules/${KVER}/dtb/${DTB_REL}" -if [ ! -f "$DTB_SRC" ]; then - # One directory per kernel version under here; see 60-surface-dtb.install. - DTB_SRC=$(ls -1 /usr/lib/surface-dtb/*/"$DTB_NAME" 2>/dev/null | sort -V | tail -n1) -fi -[ -n "$DTB_SRC" ] && [ -f "$DTB_SRC" ] || exit 0 - -# The boot loader reads the dtb from the boot filesystem, not the module tree -install -Dm644 "$DTB_SRC" "${BOOT_ROOT}/dtb-${KVER}/${DTB_REL}" - -# BLS entry paths are relative to the boot filesystem root, matching the -# "linux /vmlinuz-$KVER" line 20-grub.install writes. -for entry in "${BOOT_ROOT}"/loader/entries/*-"${KVER}".conf; do - [ -f "$entry" ] || continue - grep -q '^devicetree[[:space:]]' "$entry" && continue - sed -i "/initrd/i devicetree /dtb-${KVER}/${DTB_REL}" "$entry" -done diff --git a/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/usr/local/bin/surface-video-firmware.sh b/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/usr/local/bin/surface-video-firmware.sh deleted file mode 100755 index 35dfdf1..0000000 --- a/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/usr/local/bin/surface-video-firmware.sh +++ /dev/null @@ -1,183 +0,0 @@ -#!/bin/bash -# Surface Pro 12" (Snapdragon X1P-42-100): install the video codec firmware. -# -# The iris video codec needs firmware TrustZone will accept. linux-firmware's -# qcom/vpu/vpu30_p1_s7.mbn is the same codec signed with Qualcomm's SecTools -# *test* key chain, which a retail Surface rejects: -# -# qcom-iris aa00000.video-codec: error -22 initializing firmware qcom/vpu/vpu30_p1_s7.mbn -# -# The production-signed build ships only inside Microsoft's Surface driver -# package, which grants no redistribution right, so the image cannot carry it. -# What it can do is copy it out of a Windows install the owner already has a -# licence for, or out of a driver pack they downloaded themselves. This script -# does the copying; it never fetches anything the caller did not ask for. -# -# Usage: surface-video-firmware.sh [-m MSI] [-u URL] [-n] -# -# (no options) look for a Windows partition on this machine and copy the -# firmware out of its DriverStore. No network access. -# -m MSI extract from a Surface driver pack already on disk -# -u URL download a driver pack and extract from that -# -n say what would happen, change nothing -# -# The driver pack is a ~500 MB MSI from -# -# https://www.microsoft.com/en-us/download/details.aspx?id=108199 -# -# There is no stable direct link to hardcode: the Download Center hands out -# per-session URLs and the file name carries the driver release, so -u takes -# the URL the browser was given rather than guessing one that would rot. - -set -euo pipefail - -FW_DIR=/lib/firmware/qcom/x1p42100/Microsoft/Surface12 -BLOB=qcvss8380_pa.mbn -DRIVERSTORE=Windows/System32/DriverStore/FileRepository -PAGE=https://www.microsoft.com/en-us/download/details.aspx?id=108199 - -msi="" -url="" -dry_run=false - -while getopts ':m:u:nh' opt; do - case "${opt}" in - m) msi=${OPTARG} ;; - u) url=${OPTARG} ;; - n) dry_run=true ;; - h) sed -n '2,31p' "${BASH_SOURCE[0]}"; exit 0 ;; - *) echo "unknown option -${OPTARG}" >&2; exit 2 ;; - esac -done - -log() { printf 'surface-video-firmware: %s\n' "$*"; } -die() { printf 'surface-video-firmware: %s\n' "$*" >&2; exit 1; } - -if [[ -f "${FW_DIR}/${BLOB}" ]]; then - log "${FW_DIR}/${BLOB} is already installed" - exit 0 -fi - -[[ ${EUID} -eq 0 ]] || die "must run as root" - -cleanup_dirs=() -cleanup_mounts=() -cleanup() { - local m d - for m in ${cleanup_mounts[@]+"${cleanup_mounts[@]}"}; do - mountpoint -q "${m}" && umount "${m}" || true - done - for d in ${cleanup_dirs[@]+"${cleanup_dirs[@]}"}; do - rm -rf "${d}" || true - done -} -trap cleanup EXIT - -install_blob() { - local src=$1 - if [[ ${dry_run} == true ]]; then - log "would install ${src} as ${FW_DIR}/${BLOB}" - return 0 - fi - - install -Dm644 "${src}" "${FW_DIR}/${BLOB}" - log "installed ${FW_DIR}/${BLOB}" - - # The driver only asks for its firmware while probing, so it has to be - # reloaded to pick this up. It refuses while a decode session holds it, - # which is why a failure here is only worth a note. - if lsmod | grep -q '^qcom_iris'; then - if modprobe -r qcom_iris 2>/dev/null && modprobe qcom_iris 2>/dev/null; then - log "reloaded qcom_iris" - else - log "could not reload qcom_iris; reboot to start using the firmware" - fi - fi -} - -# Everything below hands find(1) the bare file name rather than a full path: -# the DriverStore directory carries a per-build hash, and the layout inside an -# extracted MSI is not documented anywhere worth trusting. -find_blob() { - find "$1" -type f -name "${BLOB}" -print -quit 2>/dev/null -} - -from_windows() { - local dev fstype part_mnt mnt found - - while read -r dev fstype part_mnt; do - [[ ${fstype} == ntfs* ]] || continue - - if [[ -n ${part_mnt} ]]; then - mnt=${part_mnt} - else - mnt=$(mktemp -d) - cleanup_dirs+=("${mnt}") - if ! mount -t ntfs3 -o ro,noatime "/dev/${dev}" "${mnt}" 2>/dev/null && - ! mount -o ro,noatime "/dev/${dev}" "${mnt}" 2>/dev/null; then - log "/dev/${dev}: could not mount read-only, skipping" - log "/dev/${dev}: if Windows is hibernated, shut it down fully and retry" - continue - fi - cleanup_mounts+=("${mnt}") - fi - - [[ -d "${mnt}/${DRIVERSTORE}" ]] || continue - - found=$(find_blob "${mnt}/${DRIVERSTORE}") - if [[ -n ${found} ]]; then - log "found ${BLOB} on /dev/${dev}" - install_blob "${found}" - return 0 - fi - log "/dev/${dev}: a Windows install, but no ${BLOB} in its DriverStore" - done < <(lsblk -rno NAME,FSTYPE,MOUNTPOINT) - - return 1 -} - -from_msi() { - local pack=$1 work found - - command -v msiextract >/dev/null || die "msiextract is missing; install msitools" - - work=$(mktemp -d) - cleanup_dirs+=("${work}") - - log "extracting ${pack}" - ( cd "${work}" && msiextract "${pack}" >/dev/null ) - - found=$(find_blob "${work}") - [[ -n ${found} ]] || die "no ${BLOB} inside ${pack}; is it the Surface Pro 12in driver pack?" - - log "found ${BLOB} in the driver pack" - install_blob "${found}" -} - -if [[ -n ${url} ]]; then - dl=$(mktemp -d) - cleanup_dirs+=("${dl}") - msi="${dl}/driverpack.msi" - log "downloading ${url}" - curl -fL --retry 3 --progress-bar -o "${msi}" "${url}" -fi - -if [[ -n ${msi} ]]; then - [[ -f ${msi} ]] || die "${msi} does not exist" - from_msi "${msi}" - exit 0 -fi - -if from_windows; then - exit 0 -fi - -# Nothing found, and nothing was asked for. Not an error: most of the time this -# is a machine with no Windows left on it, and the only thing left to do is say -# how to finish the job by hand. -log "no Windows install on this machine carries ${BLOB}" -log "hardware video decode stays off until it is installed. To finish by hand:" -log " 1. download the Surface Pro 12in driver pack (~500 MB) from" -log " ${PAGE}" -log " 2. sudo surface-video-firmware.sh -m /path/to/SurfacePro_12in_*.msi" -exit 0 diff --git a/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/usr/local/share/selinux/iio-qipcrtr.te b/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/usr/local/share/selinux/iio-qipcrtr.te deleted file mode 100644 index d92dc21..0000000 --- a/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/usr/local/share/selinux/iio-qipcrtr.te +++ /dev/null @@ -1,19 +0,0 @@ -module iio-qipcrtr 1.0; - -// Fedora's policy grants iiosensorproxy_t no qipcrtr_socket permissions at -// all: the class exists but nothing allows it, because upstream -// iio-sensor-proxy talks to sensors over IIO and never needed QRTR. The SSC -// backend libssc brings in here reaches the Qualcomm Sensor Core over the -// QRTR bus (libssc probes AF_QIPCRTR first; the fastrpc/hexagonrpcd path is -// what actually serves this board, but the probe alone gets the daemon -// killed by "QRTR bus unavailable" + "No sensors" without these perms). -// -// Hand-written rather than audit2allow'd per-incident: create/bind/... is -// the full client lifecycle, so a policy reload or libssc update cannot -// surface a new denied perm one at a time. -require { - type iiosensorproxy_t; - class qipcrtr_socket { create bind connect read write getattr setattr getopt setopt shutdown }; -} - -allow iiosensorproxy_t self:qipcrtr_socket { create bind connect read write getattr setattr getopt setopt shutdown }; diff --git a/root/tmp/harrisonvanderbyl/hexagonrpc b/root/tmp/harrisonvanderbyl/hexagonrpc deleted file mode 160000 -Subproject 78b67e2f00df0455f0c0282183b1b1b8b219447 diff --git a/root/tmp/harrisonvanderbyl/iio-sensor-proxy b/root/tmp/harrisonvanderbyl/iio-sensor-proxy deleted file mode 160000 -Subproject fcd5b5cf431bc053375350c57064b8b13dd961b diff --git a/root/tmp/harrisonvanderbyl/surface-pro-12-inch-linux b/root/tmp/harrisonvanderbyl/surface-pro-12-inch-linux deleted file mode 160000 -Subproject cab35118d7b5cf6ed88c7027e075a2564c921ea diff --git a/root/tmp/linux-msm/audioreach-topology b/root/tmp/linux-msm/audioreach-topology deleted file mode 160000 -Subproject d7a5e9d80ad18a7a6844eeb32cacbdeea0e7e67 diff --git a/scripts/fedora-kiwi-bundle-format-generator b/scripts/fedora-kiwi-bundle-format-generator index 7c48324..a03d253 100755 --- a/scripts/fedora-kiwi-bundle-format-generator +++ b/scripts/fedora-kiwi-bundle-format-generator @@ -14,6 +14,7 @@ import xml.etree.ElementTree as ET parser = ArgumentParser(description="Generator of kiwi bundle formats for Fedora image builds") parser.add_argument("kiwi_file", type=Path, default="Fedora.kiwi", help="kiwi description file") parser.add_argument("image_profile", type=str, help="kiwi image profile") +parser.add_argument("--oci-variant", "-o", action="store_true", help="generate oci variant") args = parser.parse_args() xml_tree = ET.parse(args.kiwi_file) @@ -22,4 +23,9 @@ image_root = xml_tree.getroot() image_basename = image_root.attrib["name"] image_profile = args.image_profile -print(f"{image_basename}-{image_profile}-%v.%I.%A") +image_bundle_format = f"{image_basename}-{image_profile}-%v.%I.%A" + +if args.oci_variant: + print(f"{image_bundle_format}.%T") +else: + print(image_bundle_format) diff --git a/scripts/fedora-live-iso-label-generator b/scripts/fedora-live-iso-label-generator index fc5cef6..7a3b943 100755 --- a/scripts/fedora-live-iso-label-generator +++ b/scripts/fedora-live-iso-label-generator @@ -32,9 +32,7 @@ volume_id_substitutions = { "Cinnamon": "Cinn", "Cloud": "C", "Comp_Neuro": "CNr", - "COSMIC": "CSMC", - "COSMIC-Atomic": "CSMCA", - "COSMIC_Atomic": "CSMCA", + "COSMIC": "COSMIC", "Design_suite": "Dsgn", "Electronic_Lab": "Elec", "Everything": "E", @@ -49,6 +47,7 @@ volume_id_substitutions = { # Note https://pagure.io/pungi-fedora/issue/533 "Python-Classroom": "Clss", "Python_Classroom": "Clss", + "Robotics": "Robo", "Scientific_KDE": "SciK", "Security": "Sec", "Sericea": "Src", diff --git a/surface-editbootconfig.sh b/surface-editbootconfig.sh deleted file mode 100755 index e6cc67c..0000000 --- a/surface-editbootconfig.sh +++ /dev/null @@ -1,49 +0,0 @@ -#!/bin/bash -# Surface Pro 12" (Snapdragon X1P-42-100): put the device tree on the ISO. -# -# kiwi has no device tree support of its own, and the ISO's GRUB needs the dtb -# as a plain file it can read: it loads it with a "devicetree" line before the -# kernel (see grub-arm.cfg.iso-template), it cannot read the erofs root image, -# and kiwi copies only the kernel and the initrd into the ISO's loader -# directory. -# -# editbootconfig is the one hook that reaches the ISO tree. kiwi's live builder -# calls it with "iso:<media dir>" as the first argument and the image root as -# the working directory, after setup_media_loader_directory has created the -# loader directory and the GRUB config has been written. So the dtb can be -# taken straight out of the kernel-surface RPM installed in the image root, -# which is why config-cdroot.tar is no longer needed to carry a committed copy. - -set -euo pipefail - -target="${1:-}" -case "${target}" in - iso:*) media_dir="${target#iso:}" ;; - *) - echo "surface-editbootconfig: expected an iso: target, got '${target}'" >&2 - exit 1 - ;; -esac - -dtb_name=x1p42100-microsoft-sp12in.dtb - -# The working directory is the image root, so this is kernel-surface's own copy, -# under a directory named for the kernel version because that package is -# installonly. config.sh has already failed the build if it is not there. -dtb_src=$(ls -1 usr/lib/surface-dtb/*/"${dtb_name}" 2>/dev/null | sort -V | tail -n1) -if [[ -z "${dtb_src}" ]]; then - echo "surface-editbootconfig: no ${dtb_name} under usr/lib/surface-dtb/ in the image root" >&2 - exit 1 -fi - -# ${bootpath} in the GRUB template is /boot/<kiwi platform name>/loader. Read -# the directory back off the media tree rather than recomputing that name, so -# the dtb cannot end up somewhere the GRUB config does not look. -loader_dirs=("${media_dir}"/boot/*/loader) -if [[ ${#loader_dirs[@]} -ne 1 || ! -d "${loader_dirs[0]}" ]]; then - echo "surface-editbootconfig: expected one ${media_dir}/boot/*/loader, found ${#loader_dirs[@]}" >&2 - exit 1 -fi - -install -Dm644 "${dtb_src}" "${loader_dirs[0]}/${dtb_name}" -echo "surface-editbootconfig: staged ${loader_dirs[0]}/${dtb_name}" diff --git a/teams/asahi.xml b/teams/asahi.xml index 4d89966..5cdb99f 100644 --- a/teams/asahi.xml +++ b/teams/asahi.xml @@ -35,6 +35,8 @@ <package name="mesa-dri-drivers.i686"/> <package name="mesa-vulkan-drivers.x86_64"/> <package name="mesa-vulkan-drivers.i686"/> + <package name="mesa-va-drivers.x86_64"/> + <package name="mesa-va-drivers.i686"/> <package name="mesa-demos.x86_64"/> <package name="libglvnd-opengl.x86_64"/> <package name="libglvnd-opengl.i686"/> @@ -120,8 +122,12 @@ <package name="libXrandr.i686"/> <package name="clang-libs.x86_64"/> <package name="clang-libs.i686"/> + <package name="clang18-libs.x86_64"/> + <package name="clang18-libs.i686"/> <package name="llvm-libs.x86_64"/> <package name="llvm-libs.i686"/> + <package name="llvm18-libs.x86_64"/> + <package name="llvm18-libs.i686"/> <package name="libclc.x86_64"/> <package name="libclc.i686"/> <package name="spirv-tools-libs.x86_64"/> @@ -152,6 +158,7 @@ <package name="xterm"/> <package name="xz"/> <package name="wine.x86_64"/> + <package name="wine.i686"/> <package name="vulkan-tools"/> <package name="vulkan-loader.i686"/> <package name="vulkan-loader.x86_64"/> @@ -176,10 +183,5 @@ <package name="gtk2-immodule-xim.i686"/> <package name="gtk3-immodule-xim.x86_64"/> <!-- unavailable <package name="gtk3-immodule-xim.i686"/> --> - <!-- - Needed to run XUL-based applications in muvm - --> - <package name="dbus-glib.x86_64"/> - <package name="dbus-glib.i686"/> </packages> </image> diff --git a/teams/astronomy.xml b/teams/astronomy.xml deleted file mode 100644 index 740a949..0000000 --- a/teams/astronomy.xml +++ /dev/null @@ -1,106 +0,0 @@ -<image> - <profiles> - <profile name="AstronomyDesktop" description="Desktop packages for Astronomy"> - <requires profile="KDE-Desktop"/> - </profile> - <profile name="Astronomy_KDE-Live" description="Astronomy KDE Lab Live DVD"> - <requires profile="AstronomyDesktop"/> - <requires profile="LiveInstall"/> - </profile> - <profile name="Astronomy_KDE-Disk" description="Astronomy KDE Lab Install Disk"> - <requires profile="AstronomyDesktop"/> - <requires profile="BootDiskCore"/> - </profile> - </profiles> - <packages type="bootstrap" patternType="plusRecommended" profiles="AstronomyDesktop"> - <package name="fedora-release-kde"/> - </packages> - <packages type="image" patternType="plusRecommended" profiles="AstronomyDesktop"> - <!-- Installing the default/mandatory packages from engineering & scientific --> - <namedCollection name="engineering-and-scientific"/> - <!-- Basic development --> - <namedCollection name="development-tools"/> - <namedCollection name="c-development"/> - <!-- astronomical data analysis --> - <package name="astrometry"/> - <package name="astrometry-tycho2"/> - <package name="cdsclient"/> - <package name="cfitsio-utils"/> - <package name="psfex"/> - <package name="scamp"/> - <package name="sextractor"/> - <!-- <package name="siril"/> --> - <package name="skyviewer"/> - <package name="swarp"/> - <package name="wcstools"/> - <!-- Observatory: KStars + INDI --> - <package name="indistarter"/> - <package name="kstars"/> - <package name="libindi"/> - <!-- misc. astronomy --> - <!-- <package name="celestia"/> --> - <package name="stellarium"/> - <!-- <package name="virtualplanet"/> --> - <!-- Some astro environment stuff --> - <package name="astronomy-menus"/> - <package name="astronomy-menus-toplevel"/> - <!-- Python 3 and tools/libraries not included from the groups --> - <package name="python3"/> - <package name="python3-tools"/> - <package name="python3-matplotlib"/> - <package name="python3-scipy"/> - <package name="python3-numpy"/> - <package name="python3-ipython"/> - <package name="python3-ipython-console"/> - <package name="python3-ipython-notebook"/> - <package name="python3-sympy"/> - <package name="python3-networkx"/> - <package name="python3-pandas"/> - <package name="python3-pillow"/> - <package name="python3-seaborn"/> - <package name="python3-statsmodels"/> - <package name="python3-scikit-learn"/> - <package name="python3-scikit-image"/> - <!-- Python 3 astronomy --> - <package name="astropy-tools"/> - <package name="ginga"/> - <package name="python3-astropy"/> - <package name="python3-astroML"/> - <package name="python3-astroquery"/> - <package name="python3-astroscrappy"/> - <package name="python3-APLpy"/> - <package name="python3-ccdproc"/> - <package name="python3-fitsio"/> - <package name="python3-gatspy"/> - <package name="python3-photutils"/> - <package name="python3-pyvo"/> - <package name="python3-reproject"/> - <package name="python3-sep"/> - <!-- Matplotlib backend --> - <package name="python3-matplotlib-qt6"/> - <!-- Python IDE very useful for scientific use --> - <package name="python3-spyder"/> - <!-- BOINC for distributed computing --> - <package name="boinc-client"/> - <package name="boinc-manager"/> - <!-- Version control - A GUI for each as well --> - <package name="git"/> - <package name="git-gui"/> - <package name="git-cola"/> - <!-- Drawing, picture viewing tools, visualization tools --> - <package name="dia"/> - <package name="gimp"/> - <package name="kst"/> - <package name="kst-docs"/> - <package name="kst-fits"/> - <package name="LabPlot"/> - <!-- Misc tools --> - <package name="ImageMagick"/> - <package name="kate"/> - <package name="kate-plugins"/> - <package name="rlwrap"/> - <package name="screen"/> - <!-- Java JRE for VO tools --> - <package name="java"/> - </packages> -</image> diff --git a/teams/cloud/cloud.xml b/teams/cloud/cloud.xml index 3a99ce7..b6874c4 100644 --- a/teams/cloud/cloud.xml +++ b/teams/cloud/cloud.xml @@ -28,39 +28,17 @@ <requires profile="Cloud-Base-Generic"/> </profile> </profiles> - <preferences profiles="Cloud-Base-Azure" arch="x86_64"> + <preferences profiles="Cloud-Base-Azure" arch="x86_64,aarch64"> <type image="oem" format="vhd-fixed" formatoptions="force_size" filesystem="btrfs" btrfs_root_is_subvolume="true" btrfs_set_default_volume="false" fsmountoptions="compress=zstd:1" kernelcmdline="no_timer_check console=tty1 console=ttyS0,115200n8 earlyprintk=ttyS0 systemd.firstboot=off" devicepersistency="by-uuid" - bootpartition="false" efipartsize="100" firmware="uefi" - rootfs_label="fedora" - > - <bootloader name="grub2" bls="true" console="serial" timeout="0"/> - <systemdisk> - <volume name="@root=root"/> - <volume name="boot" parent="/"/> - <volume name="home" parent="/"/> - <volume name="var" parent="/"/> - </systemdisk> - <size unit="G">5</size> - <oemconfig> - <oem-resize>false</oem-resize> - </oemconfig> - </type> - </preferences> - <preferences profiles="Cloud-Base-Azure" arch="aarch64"> - <type image="oem" format="vhd-fixed" formatoptions="force_size" - filesystem="btrfs" btrfs_root_is_subvolume="true" btrfs_set_default_volume="false" fsmountoptions="compress=zstd:1" - kernelcmdline="no_timer_check console=tty1 console=ttyAMA0,115200n8 earlyprintk=ttyAMA0 systemd.firstboot=off" - devicepersistency="by-uuid" - bootpartition="false" efipartsize="100" firmware="uefi" + bootpartition="true" bootpartsize="1000" bootfilesystem="ext4" efipartsize="100" firmware="uefi" rootfs_label="fedora" > <bootloader name="grub2" console="serial" timeout="0"/> <systemdisk> <volume name="@root=root"/> - <volume name="boot" parent="/"/> <volume name="home" parent="/"/> <volume name="var" parent="/"/> </systemdisk> @@ -70,40 +48,18 @@ </oemconfig> </type> </preferences> - <preferences profiles="Cloud-Base-AmazonEC2" arch="x86_64"> + <preferences profiles="Cloud-Base-AmazonEC2" arch="x86_64,aarch64"> <type image="oem" filesystem="btrfs" btrfs_root_is_subvolume="true" btrfs_set_default_volume="false" fsmountoptions="compress=zstd:1" kernelcmdline="no_timer_check console=tty1 console=ttyS0,115200n8 systemd.firstboot=off" devicepersistency="by-uuid" - bootpartition="false" efipartsize="100" firmware="uefi" - rootfs_label="fedora" - > - <bootloader name="grub2" bls="true" timeout="0"/> - <size unit="G">5</size> - <systemdisk> - <volume name="@root=root"/> - <volume name="boot" parent="/"/> - <volume name="home" parent="/"/> - <volume name="var" parent="/"/> - </systemdisk> - <oemconfig> - <oem-resize>false</oem-resize> - </oemconfig> - </type> - </preferences> - <preferences profiles="Cloud-Base-AmazonEC2" arch="aarch64"> - <type image="oem" - filesystem="btrfs" btrfs_root_is_subvolume="true" btrfs_set_default_volume="false" fsmountoptions="compress=zstd:1" - kernelcmdline="no_timer_check console=tty1 console=ttyAMA0,115200n8 systemd.firstboot=off" - devicepersistency="by-uuid" - bootpartition="false" efipartsize="100" firmware="uefi" + bootpartition="true" bootpartsize="1000" bootfilesystem="ext4" efipartsize="100" firmware="uefi" rootfs_label="fedora" > - <bootloader name="grub2" bls="true" timeout="0"/> + <bootloader name="grub2" timeout="0"/> <size unit="G">5</size> <systemdisk> <volume name="@root=root"/> - <volume name="boot" parent="/"/> <volume name="home" parent="/"/> <volume name="var" parent="/"/> </systemdisk> @@ -112,20 +68,19 @@ </oemconfig> </type> </preferences> - <preferences profiles="Cloud-Base-GCE" arch="x86_64"> + <preferences profiles="Cloud-Base-GCE" arch="x86_64,aarch64"> <type image="oem" format="gce" filesystem="btrfs" btrfs_root_is_subvolume="true" btrfs_set_default_volume="false" fsmountoptions="compress=zstd:1" kernelcmdline="no_timer_check console=ttyS0,38400n8d systemd.firstboot=off" devicepersistency="by-uuid" - bootpartition="false" efipartsize="100" firmware="uefi" + bootpartition="true" bootpartsize="1000" bootfilesystem="ext4" efipartsize="100" firmware="uefi" rootfs_label="fedora" > - <bootloader name="grub2" bls="true" timeout="0"/> + <bootloader name="grub2" timeout="0"/> <!-- GCP engineers have told us the disk images have bad performance if they are anything less than 10G --> <size unit="G">10</size> <systemdisk> <volume name="@root=root"/> - <volume name="boot" parent="/"/> <volume name="home" parent="/"/> <volume name="var" parent="/"/> </systemdisk> @@ -134,62 +89,18 @@ </oemconfig> </type> </preferences> - <preferences profiles="Cloud-Base-GCE" arch="aarch64"> - <type image="oem" format="gce" - filesystem="btrfs" btrfs_root_is_subvolume="true" btrfs_set_default_volume="false" fsmountoptions="compress=zstd:1" - kernelcmdline="no_timer_check console=ttyAMA0,38400n8d systemd.firstboot=off" - devicepersistency="by-uuid" - bootpartition="false" efipartsize="100" firmware="uefi" - rootfs_label="fedora" - > - <bootloader name="grub2" bls="true" timeout="0"/> - <!-- GCP engineers have told us the disk images have bad performance if they are anything less than 10G --> - <size unit="G">10</size> - <systemdisk> - <volume name="@root=root"/> - <volume name="boot" parent="/"/> - <volume name="home" parent="/"/> - <volume name="var" parent="/"/> - </systemdisk> - <oemconfig> - <oem-resize>false</oem-resize> - </oemconfig> - </type> - </preferences> - <preferences profiles="Cloud-Base-Generic" arch="x86_64,riscv64"> + <preferences profiles="Cloud-Base-Generic" arch="x86_64,aarch64,riscv64"> <type image="oem" format="qcow2" filesystem="btrfs" btrfs_root_is_subvolume="true" btrfs_set_default_volume="false" fsmountoptions="compress=zstd:1" kernelcmdline="no_timer_check console=tty1 console=ttyS0,115200n8 systemd.firstboot=off" devicepersistency="by-uuid" - bootpartition="false" efipartsize="100" firmware="uefi" + bootpartition="true" bootpartsize="1000" bootfilesystem="ext4" efipartsize="100" firmware="uefi" rootfs_label="fedora" > - <bootloader name="grub2" bls="true" console="serial" timeout="0"/> - <size unit="G">5</size> - <systemdisk> - <volume name="@root=root"/> - <volume name="boot" parent="/"/> - <volume name="home" parent="/"/> - <volume name="var" parent="/"/> - </systemdisk> - <oemconfig> - <oem-resize>false</oem-resize> - </oemconfig> - </type> - </preferences> - <preferences profiles="Cloud-Base-Generic" arch="aarch64"> - <type image="oem" format="qcow2" - filesystem="btrfs" btrfs_root_is_subvolume="true" btrfs_set_default_volume="false" fsmountoptions="compress=zstd:1" - kernelcmdline="no_timer_check console=tty1 console=ttyAMA0,115200n8 systemd.firstboot=off" - devicepersistency="by-uuid" - bootpartition="false" efipartsize="100" firmware="uefi" - rootfs_label="fedora" - > - <bootloader name="grub2" bls="true" console="serial" timeout="0"/> + <bootloader name="grub2" console="serial" timeout="0"/> <size unit="G">5</size> <systemdisk> <volume name="@root=root"/> - <volume name="boot" parent="/"/> <volume name="home" parent="/"/> <volume name="var" parent="/"/> </systemdisk> @@ -203,14 +114,13 @@ filesystem="btrfs" btrfs_root_is_subvolume="true" btrfs_set_default_volume="false" fsmountoptions="compress=zstd:1" kernelcmdline="no_timer_check console=tty1 console=ttyS0,115200n8 systemd.firstboot=off" devicepersistency="by-uuid" - bootpartition="false" firmware="ofw" + bootpartition="true" bootpartsize="1000" bootfilesystem="ext4" firmware="ofw" rootfs_label="fedora" > - <bootloader name="grub2" bls="true" console="serial" timeout="0"/> + <bootloader name="grub2" console="serial" timeout="0"/> <size unit="G">5</size> <systemdisk> <volume name="@root=root"/> - <volume name="boot" parent="/"/> <volume name="home" parent="/"/> <volume name="var" parent="/"/> </systemdisk> @@ -224,7 +134,7 @@ filesystem="btrfs" btrfs_root_is_subvolume="true" btrfs_set_default_volume="false" fsmountoptions="compress=zstd:1" kernelcmdline="no_timer_check console=tty1 console=ttyS0,115200n8 systemd.firstboot=off" devicepersistency="by-uuid" - bootpartition="true" bootpartsize="2000" bootfilesystem="ext4" + bootpartition="true" bootpartsize="1000" bootfilesystem="ext4" rootfs_label="fedora" > <bootloader name="zipl" timeout="1"/> diff --git a/teams/cloud/container.xml b/teams/cloud/container.xml index 25dcd49..733fc87 100644 --- a/teams/cloud/container.xml +++ b/teams/cloud/container.xml @@ -17,20 +17,24 @@ <type image="oci"> <containerconfig name="fedora" - tag="45" + tag="rawhide" maintainer="Fedora Project Contributors <devel@lists.fedoraproject.org>" > <subcommand execute="/bin/bash"/> <labels> <label name="org.opencontainers.image.vendor" value="Fedora Project"/> <label name="org.opencontainers.image.url" value="https://fedoraproject.org/"/> - <label name="org.opencontainers.image.licenses" value="MIT"/> - <label name="org.opencontainers.image.title" value="fedora"/> - <label name="org.opencontainers.image.version" value="45"/> + <label name="org.opencontainers.image.license" value="MIT"/> + <label name="org.opencontainers.image.name" value="fedora"/> + <label name="org.opencontainers.image.version" value="rawhide"/> + <!-- Legacy attributes for backward compatibility --> + <label name="vendor" value="Fedora Project"/> + <label name="license" value="MIT"/> + <label name="name" value="fedora"/> + <label name="version" value="rawhide"/> </labels> <environment> <env name="container" value="oci"/> - <env name="PATH" value="/usr/local/bin:/usr/bin"/> </environment> </containerconfig> </type> @@ -43,20 +47,24 @@ <type image="oci"> <containerconfig name="fedora-minimal" - tag="45" + tag="rawhide" maintainer="Fedora Project Contributors <devel@lists.fedoraproject.org>" > <subcommand execute="/bin/bash"/> <labels> <label name="org.opencontainers.image.vendor" value="Fedora Project"/> <label name="org.opencontainers.image.url" value="https://fedoraproject.org/"/> - <label name="org.opencontainers.image.licenses" value="MIT"/> - <label name="org.opencontainers.image.title" value="fedora-minimal"/> - <label name="org.opencontainers.image.version" value="45"/> + <label name="org.opencontainers.image.license" value="MIT"/> + <label name="org.opencontainers.image.name" value="fedora-minimal"/> + <label name="org.opencontainers.image.version" value="rawhide"/> + <!-- Legacy attributes for backward compatibility --> + <label name="vendor" value="Fedora Project"/> + <label name="license" value="MIT"/> + <label name="name" value="fedora-minimal"/> + <label name="version" value="rawhide"/> </labels> <environment> <env name="container" value="oci"/> - <env name="PATH" value="/usr/local/bin:/usr/bin"/> </environment> </containerconfig> </type> @@ -69,16 +77,21 @@ <type image="oci"> <containerconfig name="fedora-init" - tag="45" + tag="rawhide" maintainer="Fedora Project Contributors <devel@lists.fedoraproject.org>" > <subcommand execute="/sbin/init"/> <labels> <label name="org.opencontainers.image.vendor" value="Fedora Project"/> <label name="org.opencontainers.image.url" value="https://fedoraproject.org/"/> - <label name="org.opencontainers.image.licenses" value="MIT"/> - <label name="org.opencontainers.image.title" value="fedora-init"/> - <label name="org.opencontainers.image.version" value="45"/> + <label name="org.opencontainers.image.license" value="MIT"/> + <label name="org.opencontainers.image.name" value="fedora-init"/> + <label name="org.opencontainers.image.version" value="rawhide"/> + <!-- Legacy attributes for backward compatibility --> + <label name="vendor" value="Fedora Project"/> + <label name="license" value="MIT"/> + <label name="name" value="fedora-init"/> + <label name="version" value="rawhide"/> </labels> <stopsignal>SIGRTMIN+3</stopsignal> </containerconfig> @@ -92,21 +105,25 @@ <type image="oci"> <containerconfig name="fedora-toolbox" - tag="45" + tag="rawhide" maintainer="Fedora Project Contributors <devel@lists.fedoraproject.org>" > <subcommand execute="/bin/bash"/> <labels> <label name="org.opencontainers.image.vendor" value="Fedora Project"/> <label name="org.opencontainers.image.url" value="https://fedoraproject.org/"/> - <label name="org.opencontainers.image.licenses" value="MIT"/> - <label name="org.opencontainers.image.title" value="fedora-toolbox"/> - <label name="org.opencontainers.image.version" value="45"/> + <label name="org.opencontainers.image.license" value="MIT"/> + <label name="org.opencontainers.image.name" value="fedora-toolbox"/> + <label name="org.opencontainers.image.version" value="rawhide"/> <label name="com.github.containers.toolbox" value="true"/> + <!-- Legacy attributes for backward compatibility --> + <label name="vendor" value="Fedora Project"/> + <label name="license" value="MIT"/> + <label name="name" value="fedora-toolbox"/> + <label name="version" value="rawhide"/> </labels> <environment> <env name="container" value="oci"/> - <env name="PATH" value="/usr/local/bin:/usr/bin"/> </environment> </containerconfig> </type> @@ -138,9 +155,7 @@ <package name="bash"/> <package name="coreutils"/> <package name="rpm"/> - <package name="shadow-utils"/> <package name="util-linux-core"/> - <package name="gawk"/> </packages> <packages type="bootstrap" profiles="Container-Base-Generic-Minimal"> <ignore name="glibc-langpack-en"/> @@ -231,15 +246,15 @@ <package name="man-db"/> <package name="man-pages"/> <package name="mesa-dri-drivers"/> + <package name="mesa-va-drivers" arch="aarch64,ppc64le,x86_64,riscv64"/> <!-- doesn't exist in s390x --> <package name="mesa-vulkan-drivers"/> <package name="mtr"/> <package name="nss-mdns"/> <package name="openssh-clients"/> <package name="openssl"/> - <package name="p11-kit-client"/> + <package name="p11-kit"/> <package name="pam"/> <package name="pigz"/> - <package name="policycoreutils"/> <package name="procps-ng"/> <package name="psmisc"/> <package name="python3"/> @@ -274,10 +289,4 @@ <package name="systemd-resolved"/> <package name="xkeyboard-config"/> </packages> - <packages type="bootstrap" profiles="Container-Base-Generic-Minimal,Container-Base-Generic,Container-Toolbox"> - <package name="systemd-standalone-tmpfiles"/> - </packages> - <packages type="uninstall" profiles="Container-Base-Generic-Minimal,Container-Base-Generic,Container-Toolbox"> - <package name="systemd-standalone-tmpfiles"/> - </packages> </image> diff --git a/teams/cloud/vagrant.xml b/teams/cloud/vagrant.xml index 301b08c..624f4ef 100644 --- a/teams/cloud/vagrant.xml +++ b/teams/cloud/vagrant.xml @@ -15,15 +15,14 @@ filesystem="btrfs" btrfs_root_is_subvolume="true" btrfs_set_default_volume="false" fsmountoptions="compress=zstd:1" kernelcmdline="no_timer_check console=tty1 console=ttyS0,115200n8" devicepersistency="by-uuid" - bootpartition="false" efipartsize="100" firmware="uefi" + bootpartition="true" bootpartsize="1000" bootfilesystem="ext4" efipartsize="100" firmware="uefi" rootfs_label="fedora" > - <bootloader name="grub2" bls="true" console="serial" timeout="1"/> + <bootloader name="grub2" console="serial" timeout="1"/> <size unit="G">5</size> <vagrantconfig provider="libvirt" virtualsize="5"/> <systemdisk> <volume name="@root=root"/> - <volume name="boot" parent="/"/> <volume name="home" parent="/"/> <volume name="var" parent="/"/> </systemdisk> @@ -37,15 +36,14 @@ filesystem="btrfs" btrfs_root_is_subvolume="true" btrfs_set_default_volume="false" fsmountoptions="compress=zstd:1" kernelcmdline="no_timer_check console=tty1 console=ttyS0,115200n8" devicepersistency="by-uuid" - bootpartition="false" efipartsize="100" firmware="uefi" + bootpartition="true" bootpartsize="1000" bootfilesystem="ext4" efipartsize="100" firmware="uefi" rootfs_label="fedora" > - <bootloader name="grub2" bls="true" console="serial" timeout="1"/> + <bootloader name="grub2" console="serial" timeout="1"/> <size unit="G">5</size> <vagrantconfig provider="virtualbox" virtualbox_guest_additions_present="true" virtualsize="5"/> <systemdisk> <volume name="@root=root"/> - <volume name="boot" parent="/"/> <volume name="home" parent="/"/> <volume name="var" parent="/"/> </systemdisk> diff --git a/teams/cloud/wsl.xml b/teams/cloud/wsl.xml index ffafb79..aae883f 100644 --- a/teams/cloud/wsl.xml +++ b/teams/cloud/wsl.xml @@ -3,7 +3,7 @@ <profile name="WSL-Base" description="Windows Subsystem for Linux Base"/> </profiles> <preferences profiles="WSL-Base"> - <type image="wsl"/> + <type image="tbz"/> <timezone>Etc/UTC</timezone> <locale>en_US</locale> <rpm-locale-filtering>false</rpm-locale-filtering> @@ -15,7 +15,9 @@ <package name="dnf5"/> <package name="dnf5-plugins"/> <package name="fedora-release-wsl"/> + <package name="policycoreutils"/> <package name="rpm"/> + <package name="selinux-policy-targeted"/> </packages> <packages type="image" patternType="plusRecommended" profiles="WSL-Base"> <package name="attr"/> @@ -57,7 +59,6 @@ <package name="usbutils"/> <package name="util-linux"/> <package name="vim-minimal"/> - <package name="wget"/> <package name="which"/> <package name="whois"/> <package name="wsl-setup"/> diff --git a/teams/designsuite.xml b/teams/designsuite.xml deleted file mode 100644 index a50ed6b..0000000 --- a/teams/designsuite.xml +++ /dev/null @@ -1,34 +0,0 @@ -<image> - <profiles> - <profile name="DesignSuiteDesktop" description="Desktop packages for Design Suite"> - <requires profile="GNOME-Desktop"/> - </profile> - <profile name="Design_suite-Live" description="Design Suite Lab Live DVD"> - <requires profile="DesignSuiteDesktop"/> - <requires profile="LiveInstall"/> - </profile> - <profile name="Design_suite-Disk" description="Design Suite Lab Install Disk"> - <requires profile="DesignSuiteDesktop"/> - <requires profile="BootDiskCore"/> - </profile> - </profiles> - <packages type="bootstrap" patternType="plusRecommended" profiles="DesignSuiteDesktop"> - <package name="fedora-release-designsuite"/> - </packages> - <packages type="image" patternType="plusRecommended" profiles="DesignSuiteDesktop"> - <namedCollection name="design-suite"/> - <!-- Provides backup application (blocked by Workstation exclude of python3-boto3) --> - <!-- <package name="deja-dup"/> --> - <!-- Add extra gnome applications --> - <package name="gnome-calendar"/> - <package name="gnome-shell-extension-gsconnect"/> - <!-- Some convertible devices have broken automatic screen rotation on GNOME Wayland --> - <package name="gnome-shell-extension-screen-autorotate"/> - <package name="gnome-todo"/> - <!-- Add cosmetic for terminal --> - <package name="powerline"/> - <package name="powerline-fonts"/> - <!-- Removal of unneeded applications --> - <ignore name="gnome-boxes"/> - </packages> -</image> diff --git a/teams/eln/cloud.xml b/teams/eln/cloud.xml index b146d48..1e15f5d 100644 --- a/teams/eln/cloud.xml +++ b/teams/eln/cloud.xml @@ -28,75 +28,45 @@ <requires profile="Cloud-Base-Generic"/> </profile> </profiles> - <preferences profiles="Cloud-Base-Azure" arch="x86_64"> + <preferences profiles="Cloud-Base-Azure" arch="x86_64,aarch64"> <type image="oem" format="vhd-fixed" formatoptions="force_size" filesystem="xfs" kernelcmdline="no_timer_check console=tty1 console=ttyS0,115200n8 earlyprintk=ttyS0 systemd.firstboot=off" devicepersistency="by-uuid" - bootpartition="true" bootpartsize="2000" bootfilesystem="xfs" efipartsize="100" firmware="uefi" + bootpartition="true" bootpartsize="1000" bootfilesystem="xfs" efipartsize="100" firmware="uefi" rootfs_label="fedora" > - <bootloader name="grub2" bls="true" console="serial" timeout="0"/> + <bootloader name="grub2" console="serial" timeout="0"/> <size unit="G">5</size> <oemconfig> <oem-resize>false</oem-resize> </oemconfig> </type> </preferences> - <preferences profiles="Cloud-Base-Azure" arch="aarch64"> - <type image="oem" format="vhd-fixed" formatoptions="force_size" - filesystem="xfs" - kernelcmdline="no_timer_check console=tty1 console=ttyAMA0,115200n8 earlyprintk=ttyAMA0 systemd.firstboot=off" - devicepersistency="by-uuid" - bootpartition="true" bootpartsize="2000" bootfilesystem="xfs" efipartsize="100" firmware="uefi" - rootfs_label="fedora" - > - <bootloader name="grub2" bls="true" console="serial" timeout="0"/> - <size unit="G">5</size> - <oemconfig> - <oem-resize>false</oem-resize> - </oemconfig> - </type> - </preferences> - <preferences profiles="Cloud-Base-AmazonEC2" arch="x86_64"> + <preferences profiles="Cloud-Base-AmazonEC2" arch="x86_64,aarch64"> <type image="oem" filesystem="xfs" kernelcmdline="no_timer_check console=tty1 console=ttyS0,115200n8 systemd.firstboot=off" devicepersistency="by-uuid" - bootpartition="true" bootpartsize="2000" bootfilesystem="xfs" efipartsize="100" firmware="uefi" + bootpartition="true" bootpartsize="1000" bootfilesystem="xfs" efipartsize="100" firmware="uefi" rootfs_label="fedora" > - <bootloader name="grub2" bls="true" timeout="0"/> + <bootloader name="grub2" timeout="0"/> <size unit="G">5</size> <oemconfig> <oem-resize>false</oem-resize> </oemconfig> </type> </preferences> - <preferences profiles="Cloud-Base-AmazonEC2" arch="aarch64"> - <type image="oem" - filesystem="xfs" - kernelcmdline="no_timer_check console=tty1 console=ttyAMA0,115200n8 systemd.firstboot=off" - devicepersistency="by-uuid" - bootpartition="true" bootpartsize="2000" bootfilesystem="xfs" efipartsize="100" firmware="uefi" - rootfs_label="fedora" - > - <bootloader name="grub2" bls="true" timeout="0"/> - <size unit="G">5</size> - <oemconfig> - <oem-resize>false</oem-resize> - </oemconfig> - </type> - </preferences> - <preferences profiles="Cloud-Base-GCE" arch="x86_64"> + <preferences profiles="Cloud-Base-GCE" arch="x86_64,aarch64"> <type image="oem" format="gce" filesystem="xfs" kernelcmdline="no_timer_check console=ttyS0,38400n8d systemd.firstboot=off" devicepersistency="by-uuid" - bootpartition="true" bootpartsize="2000" bootfilesystem="xfs" efipartsize="100" firmware="uefi" + bootpartition="true" bootpartsize="1000" bootfilesystem="xfs" efipartsize="100" firmware="uefi" rootfs_label="fedora" > - <bootloader name="grub2" bls="true" timeout="0"/> + <bootloader name="grub2" timeout="0"/> <!-- GCP engineers have told us the disk images have bad performance if they are anything less than 10G --> <size unit="G">10</size> <oemconfig> @@ -104,46 +74,15 @@ </oemconfig> </type> </preferences> - <preferences profiles="Cloud-Base-GCE" arch="aarch64"> - <type image="oem" format="gce" - filesystem="xfs" - kernelcmdline="no_timer_check console=ttyAMA0,38400n8d systemd.firstboot=off" - devicepersistency="by-uuid" - bootpartition="true" bootpartsize="2000" bootfilesystem="xfs" efipartsize="100" firmware="uefi" - rootfs_label="fedora" - > - <bootloader name="grub2" bls="true" timeout="0"/> - <!-- GCP engineers have told us the disk images have bad performance if they are anything less than 10G --> - <size unit="G">10</size> - <oemconfig> - <oem-resize>false</oem-resize> - </oemconfig> - </type> - </preferences> - <preferences profiles="Cloud-Base-Generic" arch="x86_64"> + <preferences profiles="Cloud-Base-Generic" arch="x86_64,aarch64"> <type image="oem" format="qcow2" filesystem="xfs" kernelcmdline="no_timer_check console=tty1 console=ttyS0,115200n8 systemd.firstboot=off" devicepersistency="by-uuid" - bootpartition="true" bootpartsize="2000" bootfilesystem="xfs" efipartsize="100" firmware="uefi" - rootfs_label="fedora" - > - <bootloader name="grub2" bls="true" console="serial" timeout="0"/> - <size unit="G">5</size> - <oemconfig> - <oem-resize>false</oem-resize> - </oemconfig> - </type> - </preferences> - <preferences profiles="Cloud-Base-Generic" arch="aarch64"> - <type image="oem" format="qcow2" - filesystem="xfs" - kernelcmdline="no_timer_check console=tty1 console=ttyAMA0,115200n8 systemd.firstboot=off" - devicepersistency="by-uuid" - bootpartition="true" bootpartsize="2000" bootfilesystem="xfs" efipartsize="100" firmware="uefi" + bootpartition="true" bootpartsize="1000" bootfilesystem="xfs" efipartsize="100" firmware="uefi" rootfs_label="fedora" > - <bootloader name="grub2" bls="true" console="serial" timeout="0"/> + <bootloader name="grub2" console="serial" timeout="0"/> <size unit="G">5</size> <oemconfig> <oem-resize>false</oem-resize> @@ -155,10 +94,10 @@ filesystem="xfs" kernelcmdline="no_timer_check console=tty1 console=ttyS0,115200n8 systemd.firstboot=off" devicepersistency="by-uuid" - bootpartition="true" bootpartsize="2000" bootfilesystem="xfs" firmware="ofw" + bootpartition="true" bootpartsize="1000" bootfilesystem="xfs" firmware="ofw" rootfs_label="fedora" > - <bootloader name="grub2" bls="true" console="serial" timeout="0"/> + <bootloader name="grub2" console="serial" timeout="0"/> <size unit="G">5</size> <oemconfig> <oem-resize>false</oem-resize> @@ -170,7 +109,7 @@ filesystem="xfs" kernelcmdline="no_timer_check console=tty1 console=ttyS0,115200n8 systemd.firstboot=off" devicepersistency="by-uuid" - bootpartition="true" bootpartsize="2000" bootfilesystem="xfs" + bootpartition="true" bootpartsize="1000" bootfilesystem="xfs" rootfs_label="fedora" > <bootloader name="zipl" timeout="1"/> @@ -199,7 +138,7 @@ </type> </preferences> <packages type="bootstrap" patternType="plusRecommended" profiles="CloudCore,CloudCoreUKI"> - <package name="fedora-eln-release"/> + <package name="fedora-release-eln"/> </packages> <packages type="image" patternType="plusRecommended" profiles="CloudCore"> <namedCollection name="cloud-server-environment"/> diff --git a/teams/eln/container.xml b/teams/eln/container.xml index 5eebfb4..ec934d1 100644 --- a/teams/eln/container.xml +++ b/teams/eln/container.xml @@ -5,7 +5,6 @@ <profile name="Container-Base-Generic" description="Generic Base Container Image"> <requires profile="ContainerCore"/> </profile> - <profile name="Container-Toolbox" description="Toolbox Container Image"/> </profiles> <preferences profiles="Container-Base-Generic"> <type image="oci"> @@ -18,9 +17,14 @@ <labels> <label name="org.opencontainers.image.vendor" value="Fedora Project"/> <label name="org.opencontainers.image.url" value="https://fedoraproject.org/"/> - <label name="org.opencontainers.image.licenses" value="MIT"/> - <label name="org.opencontainers.image.title" value="fedora"/> + <label name="org.opencontainers.image.license" value="MIT"/> + <label name="org.opencontainers.image.name" value="fedora"/> <label name="org.opencontainers.image.version" value="eln"/> + <!-- Legacy attributes for backward compatibility --> + <label name="vendor" value="Fedora Project"/> + <label name="license" value="MIT"/> + <label name="name" value="fedora"/> + <label name="version" value="eln"/> </labels> <environment> <env name="container" value="oci"/> @@ -32,33 +36,6 @@ <rpm-locale-filtering>true</rpm-locale-filtering> <rpm-excludedocs>true</rpm-excludedocs> </preferences> - <preferences profiles="Container-Toolbox"> - <type image="oci"> - <containerconfig - name="fedora-toolbox" - tag="eln" - maintainer="Fedora Project Contributors <devel@lists.fedoraproject.org>" - > - <subcommand execute="/bin/bash"/> - <labels> - <label name="org.opencontainers.image.vendor" value="Fedora Project"/> - <label name="org.opencontainers.image.url" value="https://fedoraproject.org/"/> - <label name="org.opencontainers.image.licenses" value="MIT"/> - <label name="org.opencontainers.image.title" value="fedora-toolbox"/> - <label name="org.opencontainers.image.version" value="eln"/> - <label name="com.github.containers.toolbox" value="true"/> - </labels> - <environment> - <env name="container" value="oci"/> - <env name="PATH" value="/usr/local/bin:/usr/bin"/> - </environment> - </containerconfig> - </type> - <timezone>Etc/UTC</timezone> - <locale>en_US</locale> - <rpm-locale-filtering>false</rpm-locale-filtering> - <rpm-excludedocs>false</rpm-excludedocs> - </preferences> <packages type="bootstrap" profiles="ContainerCore"> <ignore name="dosfstools"/> <ignore name="e2fsprogs"/> @@ -77,7 +54,7 @@ <ignore name="grubby"/> <ignore name="langpacks-en_GB"/> <ignore name="sssd-client"/> - <package name="fedora-eln-release"/> + <package name="fedora-release-eln"/> <package name="bash"/> <package name="coreutils"/> <package name="rpm"/> @@ -100,106 +77,4 @@ <package name="xz"/> <package name="zstd"/> </packages> - <packages type="bootstrap" patternType="plusRecommended" profiles="Container-Toolbox"> - <ignore name="dosfstools"/> - <ignore name="e2fsprogs"/> - <ignore name="*-firmware"/> - <ignore name="fuse-libs"/> - <ignore name="geolite2-city"/> - <ignore name="geolite2-country"/> - <ignore name="grubby"/> - <ignore name="kernel"/> - <ignore name="libss"/> <!-- used by e2fsprogs --> - <ignore name="pinentry"/> - <ignore name="shared-mime-info"/> - <ignore name="sssd-client"/> - <!-- This is a weak dep of systemd, we do not want this in the container; - see: https://github.com/containers/toolbox/issues/1410 --> - <ignore name="systemd-resolved"/> - <ignore name="trousers"/> - <ignore name="xkeyboard-config"/> - <package name="acl"/> - <package name="bash"/> - <package name="bash-completion"/> - <package name="bc"/> - <package name="bzip2"/> - <package name="coreutils"/> - <package name="coreutils-common"/> - <package name="cpio"/> - <package name="curl"/> - <package name="diffutils"/> - <package name="dnf5"/> - <package name="dnf5-plugins"/> - <package name="fedora-eln-release"/> - <package name="file"/> - <package name="findutils"/> - <package name="flatpak-spawn"/> - <package name="gawk"/> - <package name="git"/> - <package name="glibc-all-langpacks"/> - <package name="gnupg2"/> - <package name="gnupg2-smime"/> - <package name="grep"/> - <package name="gvfs-client"/> - <package name="gzip"/> - <package name="hostname"/> - <package name="iproute"/> - <package name="iputils"/> - <package name="kbd-misc"/> - <package name="keyutils"/> - <package name="krb5-libs"/> - <package name="langpacks-en"/> - <package name="less"/> - <package name="libcap"/> - <package name="lsof"/> - <package name="man-db"/> - <package name="man-pages"/> - <package name="mesa-dri-drivers"/> - <package name="mesa-vulkan-drivers" arch="x86_64"/> - <package name="mtr"/> - <package name="openssh-clients"/> - <package name="openssl"/> - <package name="pam"/> - <package name="pigz"/> - <package name="policycoreutils"/> - <package name="procps-ng"/> - <package name="psmisc"/> - <package name="python3"/> - <package name="rootfiles"/> - <package name="rpm"/> - <package name="rsync"/> - <package name="sed"/> - <package name="shadow-utils"/> - <package name="sudo"/> - <package name="tar"/> <!-- https://bugzilla.redhat.com/show_bug.cgi?id=1409920 --> - <package name="tcpdump"/> - <package name="time"/> - <package name="traceroute"/> - <package name="tree"/> - <package name="tzdata"/> - <package name="unzip"/> - <package name="util-linux"/> - <package name="vim-minimal"/> - <package name="vte-profile"/> - <package name="vulkan-loader"/> - <package name="wget"/> - <package name="which"/> - <package name="whois"/> - <package name="words"/> - <package name="xorg-x11-xauth"/> - <package name="xz"/> - <package name="zip"/> - </packages> - <packages type="uninstall" profiles="Container-Toolbox"> - <package name="dracut"/> - <package name="pinentry"/> - <package name="systemd-resolved"/> - <package name="xkeyboard-config"/> - </packages> - <packages type="bootstrap" profiles="Container-Base-Generic,Container-Toolbox"> - <package name="systemd-standalone-tmpfiles"/> - </packages> - <packages type="uninstall" profiles="Container-Base-Generic,Container-Toolbox"> - <package name="systemd-standalone-tmpfiles"/> - </packages> </image> diff --git a/teams/eln/desktop-environments.xml b/teams/eln/desktop-environments.xml deleted file mode 100644 index c9741b0..0000000 --- a/teams/eln/desktop-environments.xml +++ /dev/null @@ -1,49 +0,0 @@ -<image> - <profiles> - <profile name="DesktopCommon" description="Common desktop packages"/> - <profile name="GNOME-Desktop" description="GNOME Desktop"> - <requires profile="DesktopCommon"/> - </profile> - <profile name="KDE-Desktop" description="KDE Plasma Desktop"> - <requires profile="DesktopCommon"/> - </profile> - <profile name="COSMIC-Desktop" description="COSMIC Desktop"> - <requires profile="DesktopCommon"/> - </profile> - </profiles> - <packages type="image" patternType="plusRecommended" profiles="DesktopCommon"> - <package name="fedora-eln-backgrounds"/> - <package name="firefox"/> - <package name="plymouth-theme-spinner"/> - <namedCollection name="base-graphical"/> - <namedCollection name="core"/> - <namedCollection name="fonts"/> - <namedCollection name="guest-desktop-agents"/> - <namedCollection name="hardware-support"/> - <namedCollection name="multimedia"/> - <namedCollection name="networkmanager-submodules"/> - <namedCollection name="print-client"/> - <namedCollection name="standard"/> - <ignore name="insights-client"/> - <ignore name="libdnf-plugin-subscription-manager"/> - <ignore name="subscription-manager"/> - <ignore name="subscription-manager-cockpit"/> - </packages> - <packages type="image" patternType="plusRecommended" profiles="GNOME-Desktop"> - <namedCollection name="gnome-desktop"/> - <namedCollection name="workstation-product"/> - <package name="gnome-classic-session"/> - </packages> - <packages type="image" patternType="plusRecommended" profiles="KDE-Desktop"> - <namedCollection name="kde-desktop-environment"/> - <namedCollection name="kde-apps"/> - <namedCollection name="kde-media"/> - <ignore name="initial-setup"/> <!-- redundant with plasma-setup --> - <ignore name="plasma-nm-l2tp"/> - <ignore name="plasma-nm-vpnc"/> - <package name="fuse"/> - </packages> - <packages type="image" patternType="plusRecommended" profiles="COSMIC-Desktop"> - <namedCollection name="cosmic-desktop-environment"/> - </packages> -</image> diff --git a/teams/eln/liveprofiles.xml b/teams/eln/liveprofiles.xml deleted file mode 100644 index 05f7acb..0000000 --- a/teams/eln/liveprofiles.xml +++ /dev/null @@ -1,16 +0,0 @@ -<image> - <profiles> - <profile name="GNOME-Live" description="GNOME Live DVD"> - <requires profile="GNOME-Desktop"/> - <requires profile="LiveInstall"/> - </profile> - <profile name="KDE-Live" description="KDE Plasma Live DVD"> - <requires profile="KDE-Desktop"/> - <requires profile="LiveInstall"/> - </profile> - <profile name="COSMIC-Live" description="COSMIC Live DVD"> - <requires profile="COSMIC-Desktop"/> - <requires profile="LiveInstall"/> - </profile> - </profiles> -</image> diff --git a/teams/eln/wsl.xml b/teams/eln/wsl.xml deleted file mode 100644 index 051f8e6..0000000 --- a/teams/eln/wsl.xml +++ /dev/null @@ -1,65 +0,0 @@ -<image> - <profiles> - <profile name="WSL-Base" description="Windows Subsystem for Linux Base"/> - </profiles> - <preferences profiles="WSL-Base"> - <type image="wsl"/> - <timezone>Etc/UTC</timezone> - <locale>en_US</locale> - <rpm-locale-filtering>false</rpm-locale-filtering> - <rpm-excludedocs>false</rpm-excludedocs> - </preferences> - <packages type="bootstrap" profiles="WSL-Base"> - <package name="bash"/> - <package name="coreutils"/> - <package name="dnf5"/> - <package name="dnf5-plugins"/> - <package name="fedora-eln-release"/> - <package name="rpm"/> - </packages> - <packages type="image" patternType="plusRecommended" profiles="WSL-Base"> - <package name="attr"/> - <package name="acl"/> - <package name="bash-color-prompt"/> - <package name="bash-completion"/> - <package name="bind-utils"/> - <package name="bzip2"/> - <package name="curl"/> - <package name="dbus"/> - <package name="file"/> - <package name="glibc-langpack-en"/> - <package name="gnupg2"/> - <package name="iproute"/> - <package name="iputils"/> - <package name="less"/> - <package name="lsof"/> - <package name="man-db"/> - <package name="man-pages"/> - <package name="NetworkManager"/> - <package name="nmap-ncat"/> - <package name="openssh-clients"/> - <package name="passwd"/> - <package name="pciutils"/> - <package name="procps-ng"/> - <package name="rsync"/> - <package name="shadow-utils"/> - <package name="sudo"/> - <package name="symlinks"/> - <package name="systemd-udev"/> - <package name="systemd-resolved"/> - <package name="tar"/> - <package name="tcpdump"/> - <package name="time"/> - <package name="traceroute"/> - <package name="tree"/> - <package name="unzip"/> - <package name="usbutils"/> - <package name="util-linux"/> - <package name="vim-minimal"/> - <package name="wget"/> - <package name="which"/> - <package name="whois"/> - <package name="wsl-setup"/> - <package name="zip"/> - </packages> -</image> diff --git a/teams/games.xml b/teams/games.xml deleted file mode 100644 index fdfa829..0000000 --- a/teams/games.xml +++ /dev/null @@ -1,173 +0,0 @@ -<image> - <profiles> - <profile name="GamesKDEDesktop" description="KDE Desktop packages for Games Lab"> - <requires profile="DesktopCommon"/> - </profile> - <profile name="GamesDesktop" description="Desktop packages for Games Lab"> - <requires profile="GamesKDEDesktop"/> - </profile> - <profile name="Games-Live" description="Games Lab Live DVD"> - <requires profile="GamesDesktop"/> - <requires profile="LiveInstall"/> - </profile> - <profile name="Games-Disk" description="Games Lab Install Disk"> - <requires profile="GamesDesktop"/> - <requires profile="BootDiskCore"/> - </profile> - </profiles> - <packages type="bootstrap" patternType="plusRecommended" profiles="GamesKDEDesktop"> - <package name="fedora-release-kde"/> - </packages> - <packages type="image" patternType="plusRecommended" profiles="GamesKDEDesktop"> - <!-- install env-group to resolve RhBug:1891500 --> - <namedCollection name="kde-desktop-environment"/> - <namedCollection name="kde-apps"/> - <namedCollection name="kde-media"/> - <namedCollection name="firefox"/> - <namedCollection name="x86-emulation" arch="aarch64"/> - <package name="kde-l10n"/> - <ignore name="gnome-disk-utility"/> <!-- redundant with kde partitionmanager --> - <ignore name="mariadb-server-utils"/> <!-- Not needed on desktops (pagure.io:fedora-kde/SIG#566) --> - <ignore name="system-config-language"/> <!-- redundant with kcms --> - <ignore name="system-config-printer"/> <!-- redundant with kcms --> - <!-- drop tracker stuff pulled in by gtk3 (pagureio:fedora-kde/SIG#124) --> - <ignore name="tracker"/> - <ignore name="tracker-miners"/> - <!-- space issues --> - <ignore name="digikam"/> <!-- digikam has duplicate functionality with gwenview (~28 megs) --> - <ignore name="k3b"/> <!-- ~15 megs --> - <ignore name="kipi-plugins"/> <!-- ~8 megs + drags in marble --> - <ignore name="krusader"/> <!-- ~4 megs --> - <ignore name="ktorrent"/> <!-- ~15 megs --> - <ignore name="initial-setup"/> <!-- redundant with plasma-setup --> - </packages> - <packages type="image" patternType="plusRecommended" profiles="GamesDesktop"> - <!-- The point of this is to show off Fedora games, not running Windows ones --> - <ignore name="wine"/> - <!-- Remove LibreOffice, we're here to have fun! --> - <ignore name="libreoffice*"/> - <!-- Allow joysticks and gamepads to work --> - <package name="joystick-support"/> - <package name="steam-devices"/> - <!-- Games --> - <!-- Traditional (big) --> - <!-- <package name="alienarena"/> --> <!-- Cut for size --> - <package name="armacycles-ad"/> - <package name="asc"/> - <package name="asc-music"/> - <package name="astromenace"/> - <package name="boswars"/> - <package name="bzflag"/> - <package name="crossfire-client"/> - <package name="extremetuxracer"/> - <package name="freeciv"/> - <package name="freecol"/> - <package name="freedoom"/> - <package name="freedroidrpg"/> - <package name="frozen-bubble"/> - <package name="glob2"/> - <package name="lincity-ng"/> - <package name="megaglest"/> - <package name="nethack-vultures"/> - <package name="netpanzer"/> - <package name="neverball"/> - <package name="nogravity"/> - <!-- <package name="pinball"/> --> <!-- Would pull in fluid-soundfont-lite-patches --> - <package name="scorched3d"/> - <package name="supertux"/> - <package name="supertuxkart"/> - <package name="ultimatestunts"/> - <package name="warzone2100"/> - <package name="wesnoth"/> - <!-- <package name="worminator"/> --> <!-- Would pull in fluid-soundfont-lite-patches --> - <package name="warmux"/> - <package name="xmoto"/> - <!-- Traditional (small) --> - <package name="abe"/> - <!-- <package name="alex4"/> --> <!-- Would pull in fluid-soundfont-lite-patches --> - <!-- <package name="ballz"/> --> <!-- Would pull in fluid-soundfont-lite-patches --> - <package name="blobwars"/> - <package name="bombardier"/> - <package name="cdogs-sdl"/> - <package name="clanbomber"/> - <package name="colossus"/> - <package name="foobillard"/> - <package name="glaxium"/> - <package name="gnubg"/> - <package name="gnugo"/> - <package name="haxima"/> - <package name="hedgewars"/> - <package name="kcheckers"/> - <package name="knights"/> - <package name="lbrickbuster2"/> - <!-- <package name="liquidwar"/> --> <!-- Would pull in fluid-soundfont-lite-patches --> - <package name="lordsawar"/> - <!-- <package name="machineball"/> --> <!-- Would pull in fluid-soundfont-lite-patches --> - <package name="nethack"/> - <package name="openlierox"/> - <package name="pachi"/> - <package name="pioneers"/> - <package name="quarry"/> - <!-- <package name="Ri-li"/> --> <!-- Cut for size --> - <package name="rogue"/> - <!-- <package name="scorchwentbonkers"/> --> <!-- Would pull in fluid-soundfont-lite-patches --> - <package name="solarwolf"/> - <package name="sopwith"/> - <package name="stormbaancoureur"/> - <package name="ularn"/> - <package name="xblast"/> - <!-- Arcade classics(ish) (big) --> - <package name="auriferous"/> - <package name="alienblaster"/> - <!-- <package name="duel3"/> --> <!-- Would pull in fluid-soundfont-lite-patches --> - <package name="powermanga"/> - <!-- <package name="raidem"/> --> <!-- Would pull in fluid-soundfont-lite-patches --> - <!-- <package name="raidem-music"/> --> <!-- Would pull in fluid-soundfont-lite-patches --> - <package name="trackballs"/> - <package name="trackballs-music"/> - <!-- Arcade classics(ish) (small) --> - <package name="ballbuster"/> - <package name="CriticalMass"/> - <package name="dd2"/> - <package name="KoboDeluxe"/> - <!-- <package name="lacewing"/> --> <!-- Would pull in fluid-soundfont-lite-patches --> - <package name="Maelstrom"/> - <package name="methane"/> - <package name="njam"/> - <package name="shippy"/> - <package name="tecnoballz"/> - <package name="wordwarvi"/> - <package name="xgalaxy"/> - <!-- <package name="zasx"/> --> <!-- Would pull in fluid-soundfont-lite-patches --> - <!-- Falling blocks games (small) --> - <package name="amoebax"/> - <package name="crack-attack"/> - <!-- <package name="crystal-stacker"/> --> <!-- Would pull in fluid-soundfont-lite-patches --> - <package name="gemdropx"/> - <package name="gweled"/> - <!-- Puzzles (big) --> - <package name="enigma"/> - <package name="fillets-ng"/> - <package name="pingus"/> - <!-- Puzzles (small) --> - <!-- <package name="gbrainy"/> --> <!-- Removed for space - only game that pulls in mono --> - <package name="mirrormagic"/> - <package name="pipenightdreams"/> - <package name="pipepanic"/> - <package name="pychess"/> - <package name="rocksndiamonds"/> - <package name="vodovod"/> - <!-- Card games --> - <package name="PySolFC"/> - <!-- Educational/Simulation --> - <package name="planets"/> - <package name="tuxpaint"/> - <package name="tuxpaint-stamps"/> - <package name="tuxtype2"/> - <!-- Compilations (we are avoiding compilations, rare exceptions) --> - <package name="bsd-games"/> - <!-- Utilities --> - <package name="games-menus"/> - <ignore name="autodownloader"/> <!-- Nothing should be downloading data to play --> - </packages> -</image> diff --git a/teams/jam.xml b/teams/jam.xml deleted file mode 100644 index 33812e8..0000000 --- a/teams/jam.xml +++ /dev/null @@ -1,50 +0,0 @@ -<image> - <profiles> - <profile name="JamDesktop" description="Desktop packages for Jam"> - <requires profile="KDE-Desktop"/> - </profile> - <profile name="Jam_KDE-Live" description="Jam KDE Lab Live DVD"> - <requires profile="JamDesktop"/> - <requires profile="LiveInstall"/> - </profile> - <profile name="Jam_KDE-Disk" description="Jam KDE Lab Install Disk"> - <requires profile="JamDesktop"/> - <requires profile="BootDiskCore"/> - </profile> - </profiles> - <packages type="bootstrap" patternType="plusRecommended" profiles="JamDesktop"> - <package name="fedora-release-kde"/> - </packages> - <packages type="image" patternType="plusRecommended" profiles="JamDesktop"> - <!-- Installing the default/mandatory packages for audio production --> - <namedCollection name="audio"/> - <!-- PipeWire --> - <package name="pipewire"/> - <!-- sound analysis, none of these are packaged yet --> - <!-- <package name="praat"/> --> <!-- rhbz#666656 --> - <!-- <package name="friture"/> --> - <!-- writing & publishing --> - <package name="emacs"/> - <package name="emacs-color-theme"/> - <package name="vim-enhanced"/> - <package name="nano"/> - <!-- fedora jam theming (to be customized) --> - <package name="fedora-jam-backgrounds"/> - <package name="fedora-jam-kde-theme"/> - <!-- Misc tools --> - <package name="multimedia-menus"/> - <package name="kernel-tools"/> - <package name="screen"/> - <!-- Add Mozilla Thunderbird --> - <package name="thunderbird"/> - <!-- Remove packages not needed --> - <ignore name="akregator"/> - <ignore name="kaddressbook"/> - <ignore name="kmail"/> - <ignore name="kontact"/> - <ignore name="korganizer"/> - <ignore name="non-mixer"/> - <ignore name="non-session-manager"/> - <ignore name="non-sequencer"/> - </packages> -</image> diff --git a/teams/phosh.xml b/teams/phosh.xml deleted file mode 100644 index ce5e920..0000000 --- a/teams/phosh.xml +++ /dev/null @@ -1,15 +0,0 @@ -<image> - <profiles> - <profile name="Phosh-Live" description="Phosh Spin Live DVD"> - <requires profile="Phosh-Desktop"/> - <requires profile="LiveInstall"/> - </profile> - <profile name="Phosh-Disk" description="Phosh Spin Install Disk"> - <requires profile="BootDiskCore"/> - <requires profile="Phosh-Desktop"/> - </profile> - </profiles> - <packages type="bootstrap" patternType="plusRecommended" profiles="Phosh-Disk,Phosh-Live"> - <package name="fedora-release-mobility"/> - </packages> -</image> diff --git a/teams/python.xml b/teams/python.xml index f37ebae..2ecbe81 100644 --- a/teams/python.xml +++ b/teams/python.xml @@ -47,7 +47,7 @@ <!-- Block unnecessary extra Pythons from being installed with tox --> <ignore name="python3.8"/> <ignore name="python3.9"/> - <ignore name="pypy3.10"/> + <ignore name="pypy3.9"/> <ignore name="python3.10"/> <ignore name="python3.11"/> <ignore name="python3.12"/> diff --git a/teams/scitech.xml b/teams/scitech.xml index 9995bf2..631b8f3 100644 --- a/teams/scitech.xml +++ b/teams/scitech.xml @@ -28,10 +28,10 @@ filesystem="btrfs" btrfs_root_is_subvolume="true" btrfs_set_default_volume="false" fsmountoptions="compress=zstd:1" kernelcmdline="no_timer_check console=tty1 console=ttyS0,115200n8" devicepersistency="by-uuid" - bootpartition="true" bootpartsize="2000" bootfilesystem="ext4" efipartsize="100" firmware="uefi" + bootpartition="true" bootpartsize="1000" bootfilesystem="ext4" efipartsize="100" firmware="uefi" rootfs_label="fedora" > - <bootloader name="grub2" bls="true" console="serial" timeout="1"/> + <bootloader name="grub2" console="serial" timeout="1"/> <size unit="G">30</size> <vagrantconfig provider="libvirt" virtualsize="30"/> <systemdisk> @@ -49,10 +49,10 @@ filesystem="btrfs" btrfs_root_is_subvolume="true" btrfs_set_default_volume="false" fsmountoptions="compress=zstd:1" kernelcmdline="no_timer_check console=tty1 console=ttyS0,115200n8" devicepersistency="by-uuid" - bootpartition="true" bootpartsize="2000" bootfilesystem="ext4" efipartsize="100" firmware="uefi" + bootpartition="true" bootpartsize="1000" bootfilesystem="ext4" efipartsize="100" firmware="uefi" rootfs_label="fedora" > - <bootloader name="grub2" bls="true" console="serial" timeout="1"/> + <bootloader name="grub2" console="serial" timeout="1"/> <size unit="G">30</size> <vagrantconfig provider="virtualbox" virtualbox_guest_additions_present="true" virtualsize="30"/> <systemdisk> diff --git a/teams/security.xml b/teams/security.xml deleted file mode 100644 index a20b8ec..0000000 --- a/teams/security.xml +++ /dev/null @@ -1,76 +0,0 @@ -<image> - <profiles> - <profile name="SecurityDesktop" description="Desktop packages for Security Lab"> - <requires profile="Xfce-Desktop"/> - </profile> - <profile name="Security-Live" description="Security Lab Live DVD"> - <requires profile="SecurityDesktop"/> - <requires profile="LiveInstall"/> - </profile> - <profile name="Security-Disk" description="Security Lab Install Disk"> - <requires profile="SecurityDesktop"/> - <requires profile="BootDiskCore"/> - </profile> - </profiles> - <packages type="bootstrap" patternType="plusRecommended" profiles="SecurityDesktop"> - <package name="fedora-release"/> - </packages> - <packages type="image" patternType="plusRecommended" profiles="SecurityDesktop"> - <!-- Security tools --> - <namedCollection name="security-lab"/> - <package name="security-menus"/> - <!-- Unlock default keyring. FIXME: Should be done in comps --> - <package name="gnome-keyring-pam"/> - <!-- Save some space --> - <ignore name="autofs"/> - <ignore name="acpid"/> - <ignore name="gimp-help"/> - <ignore name="desktop-backgrounds-basic"/> - <ignore name="PackageKit*"/> <!-- We switched to dnfdragora, so we don't need this --> - <ignore name="aspell-*"/> <!-- Dictionaries are big --> - <ignore name="gnumeric"/> - <ignore name="foomatic-db-ppds"/> - <ignore name="foomatic"/> - <ignore name="stix-fonts"/> - <ignore name="default-fonts-core-math"/> - <ignore name="ibus-typing-booster"/> - <ignore name="xfce4-sensors-plugin"/> - <ignore name="man-pages-*"/> - <!-- Drop some system-config things --> - <ignore name="system-config-rootpassword"/> - <ignore name="policycoreutils-gui"/> - <!-- Exclude some packages to save some space --> - <ignore name="ArpON"/> - <ignore name="aide"/> - <ignore name="binwalk"/> - <ignore name="bkhive"/> - <ignore name="bonesi"/> - <ignore name="cmospwd"/> - <ignore name="dnstop"/> - <ignore name="etherape"/> - <ignore name="hfsutils"/> - <ignore name="httpie"/> - <ignore name="httrack"/> - <ignore name="hydra"/> - <ignore name="kismon"/> - <ignore name="labrea"/> - <ignore name="nebula"/> - <ignore name="netsed"/> - <ignore name="onesixtyone"/> - <ignore name="packETH"/> - <ignore name="pads"/> - <ignore name="pdfcrack"/> - <ignore name="proxychains"/> - <ignore name="pyrit"/> - <ignore name="rkhunter"/> - <ignore name="safecopy"/> - <ignore name="samdump2"/> - <ignore name="scalpel"/> - <ignore name="sslstrip"/> - <ignore name="tcpreen"/> - <ignore name="tcpreplay"/> - <ignore name="tripwire"/> - <ignore name="wipe"/> - <ignore name="zmap"/> - </packages> -</image> diff --git a/teams/server.xml b/teams/server.xml index f3b88f4..0413e5a 100644 --- a/teams/server.xml +++ b/teams/server.xml @@ -23,10 +23,10 @@ filesystem="xfs" kernelcmdline="no_timer_check console=tty1 console=ttyS0,115200n8" devicepersistency="by-uuid" - bootpartition="true" bootpartsize="2000" bootfilesystem="xfs" efipartsize="500" firmware="uefi" + bootpartition="true" bootpartsize="1000" bootfilesystem="xfs" efipartsize="500" firmware="uefi" rootfs_label="fedora" > - <bootloader name="grub2" bls="true" console="serial" timeout="0"/> + <bootloader name="grub2" console="serial" timeout="0"/> <size unit="G">10</size> <systemdisk> <volume name="@root"/> @@ -41,10 +41,10 @@ filesystem="xfs" kernelcmdline="no_timer_check console=tty1 console=ttyS0,115200n8" devicepersistency="by-uuid" - bootpartition="true" bootpartsize="2000" bootfilesystem="xfs" firmware="ofw" + bootpartition="true" bootpartsize="1000" bootfilesystem="xfs" firmware="ofw" rootfs_label="fedora" > - <bootloader name="grub2" bls="true" console="serial" timeout="0"/> + <bootloader name="grub2" console="serial" timeout="0"/> <size unit="G">10</size> <systemdisk> <volume name="@root"/> @@ -59,7 +59,7 @@ filesystem="xfs" kernelcmdline="no_timer_check console=tty1 console=ttyS0,115200n8" devicepersistency="by-uuid" - bootpartition="true" bootpartsize="2000" bootfilesystem="xfs" + bootpartition="true" bootpartsize="1000" bootfilesystem="xfs" rootfs_label="fedora" > <bootloader name="zipl" timeout="1"/> @@ -77,10 +77,10 @@ filesystem="xfs" kernelcmdline="earlycon" devicepersistency="by-uuid" - bootpartition="true" bootpartsize="2000" bootfilesystem="ext4" efipartsize="500" firmware="uefi" + bootpartition="true" bootpartsize="1000" bootfilesystem="ext4" efipartsize="500" firmware="uefi" rootfs_label="fedora" > - <bootloader name="grub2" bls="true" console="serial" timeout="0"/> + <bootloader name="grub2" console="serial" timeout="0"/> <size unit="G">10</size> <systemdisk> <volume name="@root"/> @@ -94,10 +94,10 @@ <type image="oem" filesystem="xfs" devicepersistency="by-uuid" - bootpartition="true" bootpartsize="2000" bootfilesystem="xfs" efipartsize="500" firmware="uefi" + bootpartition="true" bootpartsize="1000" bootfilesystem="xfs" efipartsize="500" firmware="uefi" rootfs_label="fedora" > - <bootloader name="grub2" bls="true" console="serial" timeout="3" timeout_style="menu"/> + <bootloader name="grub2" console="serial" timeout="3" timeout_style="menu"/> <size unit="G">10</size> <systemdisk> <volume name="@root"/> @@ -111,10 +111,10 @@ <type image="oem" filesystem="xfs" devicepersistency="by-uuid" force_mbr="true" editbootinstall="editbootinstall_rpilegacy.sh" - bootpartition="true" bootpartsize="2000" bootfilesystem="ext4" efipartsize="500" disk_start_sector="34816" firmware="uefi" + bootpartition="true" bootpartsize="1000" bootfilesystem="ext4" efipartsize="500" firmware="uefi" rootfs_label="fedora" > - <bootloader name="grub2" bls="true" console="serial" timeout="3" timeout_style="menu"/> + <bootloader name="grub2" console="serial" timeout="3" timeout_style="menu"/> <size unit="G">10</size> <systemdisk> <volume name="@root"/> @@ -128,10 +128,10 @@ <type image="oem" filesystem="xfs" devicepersistency="by-uuid" - bootpartition="true" bootpartsize="2000" bootfilesystem="xfs" firmware="ofw" + bootpartition="true" bootpartsize="1000" bootfilesystem="xfs" firmware="ofw" rootfs_label="fedora" > - <bootloader name="grub2" bls="true" console="serial" timeout="3" timeout_style="menu"/> + <bootloader name="grub2" console="serial" timeout="3" timeout_style="menu"/> <size unit="G">10</size> <systemdisk> <volume name="@root"/> @@ -145,7 +145,7 @@ <type image="oem" filesystem="xfs" devicepersistency="by-uuid" - bootpartition="true" bootpartsize="2000" bootfilesystem="xfs" + bootpartition="true" bootpartsize="1000" bootfilesystem="xfs" rootfs_label="fedora" > <bootloader name="zipl" timeout="3"/> @@ -163,10 +163,10 @@ filesystem="xfs" kernelcmdline="earlycon" devicepersistency="by-uuid" - bootpartition="true" bootpartsize="2000" bootfilesystem="ext4" efipartsize="500" firmware="uefi" + bootpartition="true" bootpartsize="1000" bootfilesystem="ext4" efipartsize="500" firmware="uefi" rootfs_label="fedora" > - <bootloader name="grub2" bls="true" console="serial" timeout="3" timeout_style="menu"/> + <bootloader name="grub2" console="serial" timeout="3" timeout_style="menu"/> <size unit="G">10</size> <systemdisk> <volume name="@root"/> diff --git a/teams/sway.xml b/teams/sway.xml index a7c7074..2888b87 100644 --- a/teams/sway.xml +++ b/teams/sway.xml @@ -12,8 +12,4 @@ <packages type="bootstrap" patternType="plusRecommended" profiles="Sway-Live,Sway-Disk"> <package name="fedora-release-sway"/> </packages> - <packages type="image" patternType="plusRecommended" profiles="Sway-Live"> - <!-- Required to display installation instructions --> - <package name="nwg-wrapper"/> - </packages> </image> diff --git a/teams/workstation.xml b/teams/workstation.xml index 660de7c..afbf24b 100644 --- a/teams/workstation.xml +++ b/teams/workstation.xml @@ -12,4 +12,7 @@ <packages type="bootstrap" patternType="plusRecommended" profiles="Workstation-Live,Workstation-Disk"> <package name="fedora-release-workstation"/> </packages> + <packages type="image" patternType="plusRecommended" profiles="Workstation-Live"> + <package name="anaconda-webui"/> + </packages> </image> diff --git a/tmt/plans/wsl/build.fmf b/tmt/plans/wsl/build.fmf index beca94b..7a9094c 100644 --- a/tmt/plans/wsl/build.fmf +++ b/tmt/plans/wsl/build.fmf @@ -2,7 +2,7 @@ summary: Build the Windows Subsystem for Linux image discover: how: fmf environment: - image_type: wsl + image_type: tbz image_profile: WSL-Base kiwi_file: Fedora.kiwi execute: |