50 files changed, 990 insertions, 608 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..2661956 --- /dev/null +++ b/.zuul.yaml @@ -0,0 +1,425 @@ +--- + +- job: + name: build-images-x86_64/asahi/build-fex-rootfs + parent: tmt-test + vars: + tmt_url: "https://pagure.io/{{ zuul.project.name }}" + tmt_ref: "{{ zuul.ref }}" + tmt_plan: "/tmt/plans/asahi/build-fex-rootfs" + distro: fedora-rawhide + compose: Fedora-latest + tf_arch: x86_64 +- job: + name: build-images-x86_64/cloud/base/build-aws + parent: tmt-test + vars: + tmt_url: "https://pagure.io/{{ zuul.project.name }}" + tmt_ref: "{{ zuul.ref }}" + tmt_plan: "/tmt/plans/cloud/base/build-aws" + distro: fedora-rawhide + compose: Fedora-latest + tf_arch: x86_64 +- job: + name: build-images-x86_64/cloud/base/build-azure + parent: tmt-test + vars: + tmt_url: "https://pagure.io/{{ zuul.project.name }}" + tmt_ref: "{{ zuul.ref }}" + tmt_plan: "/tmt/plans/cloud/base/build-azure" + distro: fedora-rawhide + compose: Fedora-latest + tf_arch: x86_64 +- job: + name: build-images-x86_64/cloud/base/build-gcp + parent: tmt-test + vars: + tmt_url: "https://pagure.io/{{ zuul.project.name }}" + tmt_ref: "{{ zuul.ref }}" + tmt_plan: "/tmt/plans/cloud/base/build-gcp" + distro: fedora-rawhide + compose: Fedora-latest + tf_arch: x86_64 +- job: + name: build-images-x86_64/cloud/base/build-generic + parent: tmt-test + vars: + tmt_url: "https://pagure.io/{{ zuul.project.name }}" + tmt_ref: "{{ zuul.ref }}" + tmt_plan: "/tmt/plans/cloud/base/build-generic" + distro: fedora-rawhide + compose: Fedora-latest + tf_arch: x86_64 +- job: + name: build-images-x86_64/cloud/base/build-uefi-uki + parent: tmt-test + vars: + tmt_url: "https://pagure.io/{{ zuul.project.name }}" + tmt_ref: "{{ zuul.ref }}" + tmt_plan: "/tmt/plans/cloud/base/build-uefi-uki" + distro: fedora-rawhide + compose: Fedora-latest + tf_arch: x86_64 +- job: + name: build-images-x86_64/container/base/build-generic + parent: tmt-test + vars: + tmt_url: "https://pagure.io/{{ zuul.project.name }}" + tmt_ref: "{{ zuul.ref }}" + tmt_plan: "/tmt/plans/container/base/build-generic" + distro: fedora-rawhide + compose: Fedora-latest + tf_arch: x86_64 +- job: + name: build-images-x86_64/container/base/build-generic-init + parent: tmt-test + vars: + tmt_url: "https://pagure.io/{{ zuul.project.name }}" + tmt_ref: "{{ zuul.ref }}" + tmt_plan: "/tmt/plans/container/base/build-generic-init" + distro: fedora-rawhide + compose: Fedora-latest + tf_arch: x86_64 +- job: + name: build-images-x86_64/container/base/build-generic-minimal + parent: tmt-test + vars: + tmt_url: "https://pagure.io/{{ zuul.project.name }}" + tmt_ref: "{{ zuul.ref }}" + tmt_plan: "/tmt/plans/container/base/build-generic-minimal" + distro: fedora-rawhide + compose: Fedora-latest + tf_arch: x86_64 +- job: + name: build-images-x86_64/container/toolbox/build-toolbox + parent: tmt-test + vars: + tmt_url: "https://pagure.io/{{ zuul.project.name }}" + tmt_ref: "{{ zuul.ref }}" + tmt_plan: "/tmt/plans/container/toolbox/build-toolbox" + distro: fedora-rawhide + compose: Fedora-latest + tf_arch: x86_64 +- job: + name: build-images-x86_64/desktop/kde/build-desktop-disk + parent: tmt-test + vars: + tmt_url: "https://pagure.io/{{ zuul.project.name }}" + tmt_ref: "{{ zuul.ref }}" + tmt_plan: "/tmt/plans/desktop/kde/build-desktop-disk" + distro: fedora-rawhide + compose: Fedora-latest + tf_arch: x86_64 +- job: + name: build-images-x86_64/desktop/kde/build-desktop-live + parent: tmt-test + vars: + tmt_url: "https://pagure.io/{{ zuul.project.name }}" + tmt_ref: "{{ zuul.ref }}" + tmt_plan: "/tmt/plans/desktop/kde/build-desktop-live" + distro: fedora-rawhide + compose: Fedora-latest + tf_arch: x86_64 +- job: + name: build-images-x86_64/desktop/workstation/build-disk + parent: tmt-test + vars: + tmt_url: "https://pagure.io/{{ zuul.project.name }}" + tmt_ref: "{{ zuul.ref }}" + tmt_plan: "/tmt/plans/desktop/workstation/build-disk" + distro: fedora-rawhide + compose: Fedora-latest + tf_arch: x86_64 +- job: + name: build-images-x86_64/desktop/workstation/build-live + parent: tmt-test + vars: + tmt_url: "https://pagure.io/{{ zuul.project.name }}" + tmt_ref: "{{ zuul.ref }}" + tmt_plan: "/tmt/plans/desktop/workstation/build-live" + distro: fedora-rawhide + compose: Fedora-latest + tf_arch: x86_64 +- job: + name: build-images-x86_64/server/guest/build-generic + parent: tmt-test + vars: + tmt_url: "https://pagure.io/{{ zuul.project.name }}" + tmt_ref: "{{ zuul.ref }}" + tmt_plan: "/tmt/plans/server/guest/build-generic" + distro: fedora-rawhide + compose: Fedora-latest + tf_arch: x86_64 +- job: + name: build-images-x86_64/server/host/build-generic + parent: tmt-test + vars: + tmt_url: "https://pagure.io/{{ zuul.project.name }}" + tmt_ref: "{{ zuul.ref }}" + tmt_plan: "/tmt/plans/server/host/build-generic" + distro: fedora-rawhide + compose: Fedora-latest + tf_arch: x86_64 +- job: + name: build-images-x86_64/vagrant/base/build-libvirt + parent: tmt-test + vars: + tmt_url: "https://pagure.io/{{ zuul.project.name }}" + tmt_ref: "{{ zuul.ref }}" + tmt_plan: "/tmt/plans/vagrant/base/build-libvirt" + distro: fedora-rawhide + compose: Fedora-latest + tf_arch: x86_64 +- job: + name: build-images-x86_64/vagrant/base/build-virtualbox + parent: tmt-test + vars: + tmt_url: "https://pagure.io/{{ zuul.project.name }}" + tmt_ref: "{{ zuul.ref }}" + tmt_plan: "/tmt/plans/vagrant/base/build-virtualbox" + distro: fedora-rawhide + compose: Fedora-latest + tf_arch: x86_64 +- job: + name: build-images-x86_64/wsl/build + parent: tmt-test + vars: + tmt_url: "https://pagure.io/{{ zuul.project.name }}" + tmt_ref: "{{ zuul.ref }}" + tmt_plan: "/tmt/plans/wsl/build" + distro: fedora-rawhide + compose: Fedora-latest + tf_arch: x86_64 +- job: + name: build-images-aarch64/asahi/build-fex-rootfs + parent: tmt-test + vars: + tmt_url: "https://pagure.io/{{ zuul.project.name }}" + tmt_ref: "{{ zuul.ref }}" + tmt_plan: "/tmt/plans/asahi/build-fex-rootfs" + distro: fedora-rawhide + compose: Fedora-latest + tf_arch: aarch64 +- job: + name: build-images-aarch64/cloud/base/build-aws + parent: tmt-test + vars: + tmt_url: "https://pagure.io/{{ zuul.project.name }}" + tmt_ref: "{{ zuul.ref }}" + tmt_plan: "/tmt/plans/cloud/base/build-aws" + distro: fedora-rawhide + compose: Fedora-latest + tf_arch: aarch64 +- job: + name: build-images-aarch64/cloud/base/build-azure + parent: tmt-test + vars: + tmt_url: "https://pagure.io/{{ zuul.project.name }}" + tmt_ref: "{{ zuul.ref }}" + tmt_plan: "/tmt/plans/cloud/base/build-azure" + distro: fedora-rawhide + compose: Fedora-latest + tf_arch: aarch64 +- job: + name: build-images-aarch64/cloud/base/build-gcp + parent: tmt-test + vars: + tmt_url: "https://pagure.io/{{ zuul.project.name }}" + tmt_ref: "{{ zuul.ref }}" + tmt_plan: "/tmt/plans/cloud/base/build-gcp" + distro: fedora-rawhide + compose: Fedora-latest + tf_arch: aarch64 +- job: + name: build-images-aarch64/cloud/base/build-generic + parent: tmt-test + vars: + tmt_url: "https://pagure.io/{{ zuul.project.name }}" + tmt_ref: "{{ zuul.ref }}" + tmt_plan: "/tmt/plans/cloud/base/build-generic" + distro: fedora-rawhide + compose: Fedora-latest + tf_arch: aarch64 +- job: + name: build-images-aarch64/cloud/base/build-uefi-uki + parent: tmt-test + vars: + tmt_url: "https://pagure.io/{{ zuul.project.name }}" + tmt_ref: "{{ zuul.ref }}" + tmt_plan: "/tmt/plans/cloud/base/build-uefi-uki" + distro: fedora-rawhide + compose: Fedora-latest + tf_arch: aarch64 +- job: + name: build-images-aarch64/container/base/build-generic + parent: tmt-test + vars: + tmt_url: "https://pagure.io/{{ zuul.project.name }}" + tmt_ref: "{{ zuul.ref }}" + tmt_plan: "/tmt/plans/container/base/build-generic" + distro: fedora-rawhide + compose: Fedora-latest + tf_arch: aarch64 +- job: + name: build-images-aarch64/container/base/build-generic-init + parent: tmt-test + vars: + tmt_url: "https://pagure.io/{{ zuul.project.name }}" + tmt_ref: "{{ zuul.ref }}" + tmt_plan: "/tmt/plans/container/base/build-generic-init" + distro: fedora-rawhide + compose: Fedora-latest + tf_arch: aarch64 +- job: + name: build-images-aarch64/container/base/build-generic-minimal + parent: tmt-test + vars: + tmt_url: "https://pagure.io/{{ zuul.project.name }}" + tmt_ref: "{{ zuul.ref }}" + tmt_plan: "/tmt/plans/container/base/build-generic-minimal" + distro: fedora-rawhide + compose: Fedora-latest + tf_arch: aarch64 +- job: + name: build-images-aarch64/container/toolbox/build-toolbox + parent: tmt-test + vars: + tmt_url: "https://pagure.io/{{ zuul.project.name }}" + tmt_ref: "{{ zuul.ref }}" + tmt_plan: "/tmt/plans/container/toolbox/build-toolbox" + distro: fedora-rawhide + compose: Fedora-latest + tf_arch: aarch64 +- job: + name: build-images-aarch64/desktop/kde/build-desktop-disk + parent: tmt-test + vars: + tmt_url: "https://pagure.io/{{ zuul.project.name }}" + tmt_ref: "{{ zuul.ref }}" + tmt_plan: "/tmt/plans/desktop/kde/build-desktop-disk" + distro: fedora-rawhide + compose: Fedora-latest + tf_arch: aarch64 +- job: + name: build-images-aarch64/desktop/kde/build-desktop-live + parent: tmt-test + vars: + tmt_url: "https://pagure.io/{{ zuul.project.name }}" + tmt_ref: "{{ zuul.ref }}" + tmt_plan: "/tmt/plans/desktop/kde/build-desktop-live" + distro: fedora-rawhide + compose: Fedora-latest + tf_arch: aarch64 +- job: + name: build-images-aarch64/desktop/workstation/build-disk + parent: tmt-test + vars: + tmt_url: "https://pagure.io/{{ zuul.project.name }}" + tmt_ref: "{{ zuul.ref }}" + tmt_plan: "/tmt/plans/desktop/workstation/build-disk" + distro: fedora-rawhide + compose: Fedora-latest + tf_arch: aarch64 +- job: + name: build-images-aarch64/desktop/workstation/build-live + parent: tmt-test + vars: + tmt_url: "https://pagure.io/{{ zuul.project.name }}" + tmt_ref: "{{ zuul.ref }}" + tmt_plan: "/tmt/plans/desktop/workstation/build-live" + distro: fedora-rawhide + compose: Fedora-latest + tf_arch: aarch64 +- job: + name: build-images-aarch64/server/guest/build-generic + parent: tmt-test + vars: + tmt_url: "https://pagure.io/{{ zuul.project.name }}" + tmt_ref: "{{ zuul.ref }}" + tmt_plan: "/tmt/plans/server/guest/build-generic" + distro: fedora-rawhide + compose: Fedora-latest + tf_arch: aarch64 +- job: + name: build-images-aarch64/server/host/build-generic + parent: tmt-test + vars: + tmt_url: "https://pagure.io/{{ zuul.project.name }}" + tmt_ref: "{{ zuul.ref }}" + tmt_plan: "/tmt/plans/server/host/build-generic" + distro: fedora-rawhide + compose: Fedora-latest + tf_arch: aarch64 +- job: + name: build-images-aarch64/vagrant/base/build-libvirt + parent: tmt-test + vars: + tmt_url: "https://pagure.io/{{ zuul.project.name }}" + tmt_ref: "{{ zuul.ref }}" + tmt_plan: "/tmt/plans/vagrant/base/build-libvirt" + distro: fedora-rawhide + compose: Fedora-latest + tf_arch: aarch64 +- job: + name: build-images-aarch64/vagrant/base/build-virtualbox + parent: tmt-test + vars: + tmt_url: "https://pagure.io/{{ zuul.project.name }}" + tmt_ref: "{{ zuul.ref }}" + tmt_plan: "/tmt/plans/vagrant/base/build-virtualbox" + distro: fedora-rawhide + compose: Fedora-latest + tf_arch: aarch64 +- job: + name: build-images-aarch64/wsl/build + parent: tmt-test + vars: + tmt_url: "https://pagure.io/{{ zuul.project.name }}" + tmt_ref: "{{ zuul.ref }}" + tmt_plan: "/tmt/plans/wsl/build" + distro: fedora-rawhide + compose: Fedora-latest + tf_arch: aarch64 + +- project: + check: + jobs: + + - build-images-x86_64/asahi/build-fex-rootfs + - build-images-x86_64/cloud/base/build-aws + - build-images-x86_64/cloud/base/build-azure + - build-images-x86_64/cloud/base/build-gcp + - build-images-x86_64/cloud/base/build-generic + - build-images-x86_64/cloud/base/build-uefi-uki + - build-images-x86_64/container/base/build-generic + - build-images-x86_64/container/base/build-generic-init + - build-images-x86_64/container/base/build-generic-minimal + - build-images-x86_64/container/toolbox/build-toolbox + - build-images-x86_64/desktop/kde/build-desktop-disk + - build-images-x86_64/desktop/kde/build-desktop-live + - build-images-x86_64/desktop/workstation/build-disk + - build-images-x86_64/desktop/workstation/build-live + - build-images-x86_64/server/guest/build-generic + - build-images-x86_64/server/host/build-generic + - build-images-x86_64/vagrant/base/build-libvirt + - build-images-x86_64/vagrant/base/build-virtualbox + - build-images-x86_64/wsl/build + - build-images-aarch64/asahi/build-fex-rootfs + - build-images-aarch64/cloud/base/build-aws + - build-images-aarch64/cloud/base/build-azure + - build-images-aarch64/cloud/base/build-gcp + - build-images-aarch64/cloud/base/build-generic + - build-images-aarch64/cloud/base/build-uefi-uki + - build-images-aarch64/container/base/build-generic + - build-images-aarch64/container/base/build-generic-init + - build-images-aarch64/container/base/build-generic-minimal + - build-images-aarch64/container/toolbox/build-toolbox + - build-images-aarch64/desktop/kde/build-desktop-disk + - build-images-aarch64/desktop/kde/build-desktop-live + - build-images-aarch64/desktop/workstation/build-disk + - build-images-aarch64/desktop/workstation/build-live + - build-images-aarch64/server/guest/build-generic + - build-images-aarch64/server/host/build-generic + - build-images-aarch64/vagrant/base/build-libvirt + - build-images-aarch64/vagrant/base/build-virtualbox + - build-images-aarch64/wsl/build diff --git a/.zuul.yaml.j2 b/.zuul.yaml.j2 new file mode 100644 index 0000000..3e7b118 --- /dev/null +++ b/.zuul.yaml.j2 @@ -0,0 +1,26 @@ +--- +{% set arches = arches.split() -%} +{% set plans = plans.split() -%} +{% for arch in arches -%} + {% for plan in plans %} +- job: + name: build-images-{{ arch }}{{ plan | replace("/tmt/plans", "") }} + parent: tmt-test + vars: + tmt_url: "https://pagure.io/{{ '{{' }} zuul.project.name {{ '}}' }}" + tmt_ref: "{{ '{{' }} zuul.ref {{ '}}' }}" + tmt_plan: "{{ plan }}" + distro: fedora-rawhide + compose: Fedora-latest + tf_arch: {{ arch }} + {%- endfor %} +{%- endfor %} + +- project: + check: + jobs: +{% for arch in arches -%} + {% for plan in plans %} + - build-images-{{ arch }}{{ plan | replace("/tmt/plans", "") }} + {%- endfor %} +{%- endfor %} diff --git a/Fedora.kiwi b/Fedora.kiwi index 3090899..14ae803 100644 --- a/Fedora.kiwi +++ b/Fedora.kiwi @@ -62,6 +62,7 @@ <include from="this://./teams/games.xml"/> <include from="this://./teams/security.xml"/> <include from="this://./teams/jam.xml"/> + <include from="this://./teams/robotics.xml"/> <packages type="bootstrap"> <package name="filesystem"/> </packages> diff --git a/Makefile b/Makefile new file mode 100755 index 0000000..df63ab8 --- /dev/null +++ b/Makefile @@ -0,0 +1,16 @@ +.DEFAULT_GOAL := help + +# https://www.gnu.org/software/make/manual/html_node/Force-Targets.html#Force-Targets +.FORCE: + +# List of architectures to be tested +ARCHES = x86_64 aarch64 + +generate-zuul-config: .FORCE ## Generate zuul configuration from list of tmt plans + jinja2 -D arches="$(ARCHES)" -D plans="$$(tmt plan ls | tr '\n' ' ')" .zuul.yaml.j2 -o .zuul.yaml + +# See https://www.thapaliya.com/en/writings/well-documented-makefiles/ for details. +reverse = $(if $(1),$(call reverse,$(wordlist 2,$(words $(1)),$(1)))) $(firstword $(1)) + +help: .FORCE ## Show this help + @awk 'BEGIN {FS = ":.*##"; printf "$(info $(PRELUDE))"} /^[a-zA-Z_/-]+:.*?##/ { printf " \033[36m%-35s\033[0m %s\n", $$1, $$2 } /^##@/ { printf "\n\033[1m%s\033[0m\n", substr($$0, 5) } ' $(call reverse, $(MAKEFILE_LIST)) @@ -1,54 +1,42 @@ -# Fedora KIWI image descriptions, modified to build & launch for Surface Pro 12" Gen 1 +# fedora-kiwi-descriptions - +This project is used to manage the Fedora KIWI image descriptions used in composing Fedora release images. -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). +The `rawhide` branch is used for Fedora Rawhide images and each release branch is used by that release. -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. +All changes should be made via the PR workflow. -> 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 +## Image variants -**The compiled ISOs can be downloaded [here](https://dist.sayag.it/surface-pro-12in-ports/fedora/rawhide).** +Please look at [`VARIANTS`](VARIANTS.md) for details on the available +configurations that can be built. -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. +## Image build quickstart -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. +This is generally tested and expected to run on the latest stable release of Fedora Linux. +Other distributions may work, but there are no guarantees. -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 # 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. -* `wireupcameras.service` (which enables tablet's cameras to be used) fails on installed system (not in Live CD though), as no `/dev/media*` gets initialized. -* No hardware video encoding/decoding for now, as the iris video codec (`qcvss8380_pa.mbn`) is Windows-only (as far as I researched), but you can copy one from `/path/to/mounted/windows/drive/Windows/System32/DriverStore/FileRepository/qcdx8380.inf_arm64_*/qcvss8380_pa.mbn` to `/lib/firmware/qcom/x1p42100/Microsoft/Surface12/`, if you keep Windows ARM64 partition. -* 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. +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/). + +The Zuul configuration is generated from the Jinja2 template `.zuul.yaml.j2`. +When adding or removing a tmt plan, please run the following command to regenerate the Zuul configuration: -For now the images are being built and tested manually on my personal Surface Pro 12" Gen 1 (16 GB RAM, 512 GB storage). +```bash +[]$ make generate-zuul-config +``` ## Licensing diff --git a/components/boot.xml b/components/boot.xml index 816bb91..59bd862 100644 --- a/components/boot.xml +++ b/components/boot.xml @@ -2,19 +2,13 @@ <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" @@ -32,51 +26,111 @@ </oemconfig> </type> </preferences> - <packages type="bootstrap" patternType="plusRecommended" profiles="BootCore,BootCoreUKI,BootCoreLive"> + <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="2000" bootfilesystem="ext4" efipartsize="500" disk_start_sector="34816" firmware="uefi" + rootfs_label="fedora" + > + <bootloader name="grub2" bls="true" console="console" timeout="5"/> + <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="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="2000" bootfilesystem="ext4" firmware="ofw" + rootfs_label="fedora" + > + <bootloader name="grub2" bls="true" console="console" timeout="5"/> + <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="2000" 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"/> - <package name="systemd-oomd-defaults"/> - <package name="systemd-resolved"/> - </packages> <packages type="image" patternType="plusRecommended" profiles="BootCore"> - <ignore name="kernel-*debug*"/> - <package name="kernel-core"/> - </packages> - <packages type="image" patternType="plusRecommended" profiles="BootCoreLive"> - <ignore name="kernel-*debug*"/> - <!-- Surface Pro 12": kernel-uki-dtbloader bakes in ~3000 boards' dtbs - (.dtbauto sections) and hard-conflicts with kernel-core. This board - isn't in its dtb database anyway (dtb delivered separately via - grub's devicetree directive), so plain kernel-core is enough. --> + <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-ia32" arch="x86_64"/> + <package name="grub2-efi-ia32-modules" arch="x86_64"/> + <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-ia32" arch="x86_64"/> + <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> <packages type="image" patternType="plusRecommended" profiles="BootCoreUKI"> - <package name="shim-signed-aa64"/> + <package name="shim-signed-aa64" arch="aarch64"/> + <package name="shim-signed-ia32" arch="x86_64"/> + <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-ia32-cdboot" arch="x86_64"/> + <package name="grub2-efi-x64-cdboot" arch="x86_64"/> </packages> <packages type="image" patternType="plusRecommended" profiles="BootDiskCore"> - <ignore name="kernel-*debug*"/> + <package name="arm-image-installer" arch="aarch64"/> <package name="glibc-all-langpacks"/> - <!-- Surface Pro 12": kernel-core, not kernel-uki-dtbloader's multi-board - dtb bloat, same reasoning as BootCoreLive above. arm-image-installer - and uboot-images-armv8 dropped too, they exist for flashing/booting - other ARM SBCs (device-tree selection, U-Boot), not relevant to this - single UEFI/GPT device. --> - <package name="kernel-core"/> + <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/i3.xml b/components/desktops/i3.xml index 26e73d2..c4c0e70 100644 --- a/components/desktops/i3.xml +++ b/components/desktops/i3.xml @@ -7,6 +7,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/lxqt.xml b/components/desktops/lxqt.xml index af700f2..e9d7911 100644 --- a/components/desktops/lxqt.xml +++ b/components/desktops/lxqt.xml @@ -19,6 +19,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..db193c6 100644 --- a/components/desktops/mate.xml +++ b/components/desktops/mate.xml @@ -12,6 +12,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/liveinstall.xml b/components/liveinstall.xml index c04ca7f..4ba9bfd 100644 --- a/components/liveinstall.xml +++ b/components/liveinstall.xml @@ -2,20 +2,49 @@ <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="-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" 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" + 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" 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="-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" application_id="Fedora_Linux" + 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"/> @@ -28,10 +57,7 @@ <package name="dracut-live"/> <package name="glibc-all-langpacks"/> <package name="isomd5sum"/> - <!-- Surface Pro 12": no plain "kernel" package here, it hard-Requires - kernel-uki-dtbloader on aarch64, which conflicts with BootCoreLive's - kernel-core. grub2's ISO kernel lookup just needs a vmlinuz in /boot, - which kernel-core (already installed there) already provides. --> + <package name="kernel"/> <package name="kernel-modules"/> <package name="kernel-modules-extra"/> <package name="livesys-scripts"/> diff --git a/config-cdroot.tar b/config-cdroot.tar Binary files differdeleted file mode 100644 index 6aafdc9..0000000 --- a/config-cdroot.tar +++ /dev/null @@ -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... #-------------------------------------- @@ -49,22 +41,13 @@ 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-surface-pro-12-inch.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. + if [[ "$kiwi_profiles" == *"Disk"* ]]; then + ## Write `menu_auto_hide=1` into grubenv to match Fedora anaconda installs + ## Set boot_indeterminate to avoid displaying the grub menu on first boot + if [[ "$kiwi_profiles" != *"Server"* ]] || [[ "$kiwi_profiles" != *"Cloud"* ]]; then + grub2-editenv /boot/grub2/grubenv set menu_auto_hide=1 boot_indeterminate=1 + fi + fi fi #====================================== @@ -162,6 +145,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 +180,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 @@ -349,6 +327,43 @@ FOE EOF fi +if [[ "$kiwi_profiles" == *"Robotics"* ]]; then + +# Extend the post-configuration from the live-desktop, set default shortcuts to IDEs +cat >> /var/lib/livesys/livesys-session-extra << EOF +# disable screensaver locking +cat >> /usr/share/glib-2.0/schemas/org.gnome.desktop.screensaver.gschema.override << FOE +[org.gnome.desktop.screensaver] +lock-enabled=false +FOE + +# and hide the lock screen option +cat >> /usr/share/glib-2.0/schemas/org.gnome.desktop.lockdown.gschema.override << FOE +[org.gnome.desktop.lockdown] +disable-lock-screen=true +FOE + +# make the installer show up +if [ -f /usr/share/applications/liveinst.desktop ]; then + # Show harddisk install in shell dash + sed -i -e 's/NoDisplay=true/NoDisplay=false/' /usr/share/applications/liveinst.desktop "" + # need to move it to anaconda.desktop to make shell happy + mv /usr/share/applications/liveinst.desktop /usr/share/applications/anaconda.desktop + + cat >> /usr/share/glib-2.0/schemas/org.gnome.shell.gschema.override << FOE +[org.gnome.shell] +favorite-apps=['org.mozilla.firefox.desktop', 'org.qt-project.qtcreator.desktop', 'arduino.desktop', 'gnome-terminal.desktop','nautilus.desktop', 'anaconda.desktop'] +FOE + +fi + +# rebuild schema cache with any overrides we installed +glib-compile-schemas /usr/share/glib-2.0/schemas + +EOF + +fi + if [[ "$kiwi_profiles" == *"Design_suite"* ]]; then # Add link to lists of tutorials cat >> /usr/share/applications/list-design-tutorials.desktop << FOE @@ -381,8 +396,8 @@ 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/ +Comment=Wiki page of Design Team +Exec=xdg-open https://fedoraproject.org/wiki/Design Type=Application Icon=applications-internet Categories=Documentation; @@ -390,7 +405,7 @@ FOE chmod a+x /usr/share/applications/fedora-design-team.desktop # Use Powerline in bash -cat >> /etc/profile.d/powerline-shell.sh << FOE +cat >> $HOME/.bashrc << FOE # Enable powerline daemon if [ -f `which powerline-daemon` ]; then powerline-daemon -q @@ -399,16 +414,12 @@ if [ -f `which powerline-daemon` ]; then . /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 +#Override the favorite desktop application in Dash +sed -i "s/favorite-apps=."'*'"/favorite-apps=['org.mozilla.firefox.desktop', 'shotwell.desktop', 'gimp.desktop', 'darktable.desktop','krita.desktop', 'inkscape.desktop', 'blender.desktop', 'libreoffice-writer.desktop', 'scribus.desktop', 'pitivi.desktop', 'nautilus.desktop', 'bijiben.desktop', 'anaconda.desktop', 'list-design-tutorials.desktop']/" /usr/libexec/liveys/sessions.d/livesys-gnome -# Rebuild schema cache with any overrides we installed +# rebuild schema cache with any overrides we installed glib-compile-schemas /usr/share/glib-2.0/schemas fi @@ -433,212 +444,6 @@ EOF fi #====================================== -# Surface Pro 12" customizations -#-------------------------------------- - -# /etc/surface-dtb is the master copy 60-surface-dtb.install re-stages into each -# new kernel's module tree on update. The other two are what that hook and -# 10-devicetree.install would normally produce, done up front here because -# kernel-install never runs 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. -install -Dm644 /tmp/harrisonvanderbyl/surface-pro-12-inch-linux/boot/dtb \ - "/etc/surface-dtb/x1p42100-microsoft-surface-pro-12-inch.dtb" -install -Dm644 /tmp/harrisonvanderbyl/surface-pro-12-inch-linux/boot/dtb \ - "/usr/lib/modules/$kver/dtb/qcom/x1p42100-microsoft-surface-pro-12-inch.dtb" -install -Dm644 /tmp/harrisonvanderbyl/surface-pro-12-inch-linux/boot/dtb \ - "/boot/dtb-$kver/qcom/x1p42100-microsoft-surface-pro-12-inch.dtb" -# /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-core's own package 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 -install -Dm644 /tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/systemd/system/iio-sensor-proxy.service \ - /etc/systemd/system/iio-sensor-proxy.service -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 -systemctl enable hexagonrpc.service iio-sensor-proxy.service - -# Rear camera pipeline (msm/camss) needs /dev/media0, which only exists once the -# real silicon probes on the booted system -- install the wiring but do not run -# it here, there is no camera hardware in the KIWI build chroot. -dnf install -y v4l-utils -install -Dm755 /tmp/SayaAndy/surface-pro-12-inch-linux-fedora/usr/local/bin/wireupcameras.sh \ - /usr/local/bin/wireupcameras.sh -install -Dm644 /tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/systemd/system/wireupcameras.service \ - /etc/systemd/system/wireupcameras.service -systemctl enable wireupcameras.service - -# 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/login.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 - -dconf update - -restorecon -Rv /usr /lib /etc/systemd /etc/dconf /etc/udev/rules.d - -#====================================== # Set the WSL name for ELN #-------------------------------------- if [[ "$kiwi_profiles" == *"WSL"* ]] && [[ "$kiwi_iname" == *"ELN"* ]]; then @@ -729,6 +534,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/grub-arm.cfg.iso-template b/grub-arm.cfg.iso-template index 8badfb5..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} @@ -27,18 +26,15 @@ set timeout_style=${boot_timeout_style} search ${search_params} menuentry "Start ${title}" --class fedora --class gnu-linux --class gnu --class os { - devicetree ($$root)${bootpath}/x1p42100-microsoft-surface-pro-12-inch.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-surface-pro-12-inch.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-surface-pro-12-inch.dtb linux ($$root)${bootpath}/${kernel_file} ${boot_options} $${basicgfx} initrd ($$root)${bootpath}/${initrd_file} } @@ -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 ;; @@ -56,10 +54,8 @@ if [ -z "$output_dir" ] || [ -z "$image_type" ] || [ -z "$image_profile" ] || [ 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 @@ -67,6 +63,18 @@ if [ "$image_type" = "iso" ]; then kiwibuild_extra_args="${kiwibuild_extra_args:+${kiwibuild_extra_args}} ${kiwibuild_iso_extra_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 @@ -77,6 +85,13 @@ 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..91b1e1a 100644 --- a/maintainers.toml +++ b/maintainers.toml @@ -1,7 +1,153 @@ -# 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 = [ "zsun", "farchord", "ngompa" ] +maintainers = [ "Zamir SUN", "Steve Cossette", "Neal Gompa" ] +[spins.lxqt.aarch64] +fas = [ "zsun", "farchord", "ngompa" ] +maintainers = [ "Zamir SUN", "Steve Cossette", "Neal Gompa" ] -# 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.aarch64] +fas = [ "nonamedotc", "kevin", "maxamillion" ] +maintainers = [ "Mukundan Ragavan", "Kevin Fenzi", "Adam Miller" ] + +[kde.x86_64] +fas = [ "marcdeop", "ngompa" ] +maintainers = [ "Marc Deop", "Neal Gompa" ] +[kde.aarch64] +fas = [ "marcdeop", "ngompa" ] +maintainers = [ "Marc Deop", "Neal Gompa" ] + +[spins.kde-mobile.x86_64] +fas = [ "tdawson", "ngompa" ] +maintainers = [ "Troy Dawson", "Neal Gompa" ] +[spins.kde-mobile.aarch64] +fas = [ "tdawson", "ngompa" ] +maintainers = [ "Troy Dawson", "Neal Gompa" ] + +[spins.cinnamon.x86_64] +fas = [ "grinnz" ] +maintainers = [ "Dan Book" ] + +[spins.cosmic.x86_64] +fas = [ "ryanabx" ] +maintainers = [ "Ryan Brue" ] + +[spins.lxde.x86_64] +fas = [ "cwickert", "mtasaka" ] +maintainers = [ "Christoph Wickert", "Mamoru TASAKA" ] +[spins.lxde.aarch64] +fas = [ "cwickert", "mtasaka" ] +maintainers = [ "Christoph Wickert", "Mamoru TASAKA" ] + +[spins.mate_compiz.x86_64] +fas = [ "raveit65" ] +maintainers = [ "Wolfgang Ulbrich" ] + +[spins.soas.x86_64] +fas = [ "chimosky", "aperezbios" ] +maintainers = [ "Chihurumnaya Ibiam", "Alex Perez" ] +[spins.soas.aarch64] +fas = [ "chimosky", "aperezbios", ] +maintainers = [ "Chihurumnaya Ibiam", "Alex Perez" ] + +[labs.astronomy_kde.x86_64] +fas = [ "lupinix", "q5sys" ] +maintainers = [ "Christian Dersch", "JT Pennington" ] + +[labs.security.x86_64] +fas = [ "fab", "jsimon", "q5sys"] +maintainers = [ "Fabian Affolter", "Joerg Simon", "JT Pennington" ] + +[labs.design_suite.x86_64] +fas = [ "luya" ] +maintainers = [ "Luya Tshimbalanga" ] + +[labs.games.x86_64] +fas = [ "dogphilosopher", "owensz", "jaidenriordan", "lleyton", "ngompa" ] +maintainers = [ "Noel Miller", "Owen Zimmerman", "Jaiden Riordan", "Lleyton Gray", "Neal Gompa" ] + +[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 = [ "q5sys", "lecris", "scitech" ] +maintainers = [ "JT Pennington", "Cristian Le", "SciTech SIG" ] + +[labs.scientific.x86_64] +fas = [ "q5sys", "lecris", "scitech" ] +maintainers = [ "JT Pennington", "Cristian Le", "SciTech SIG" ] + +[labs.robotics.x86_64] +fas = [ "lrossett", "robotics-sig" ] +maintainers = [ "Leonardo Rossetti", "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", "yselkowitz" ] +maintainers = [ "Stephen Gallagher", "Troy Dawson", "Adam Samalik", "Yaakov Selkowitz" ] + +[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" ] + +[spins.miraclewm.x86_64] +fas = [ "mattkae", "ngompa" ] +maintainers = [ "Matthew Kosarek", "Neal Gompa" ] + +[spins.phosh.x86_64] +fas = [ "lihis", "phosh-sig" ] +maintainers = [ "Tomi Lähteenmäki", "phosh-sig" ] + +# Silverblue +[silverblue.x86_64] +fas = [ "siosm", "tpopela" ] +maintainers = [ "Timothée Ravier", "Tomáš Popela" ] +[silverblue.aarch64] +fas = [ "siosm", "tpopela" ] +maintainers = [ "Timothée Ravier", "Tomáš Popela" ] + +# Kinoite +[kinoite.x86_64] +fas = [ "siosm" ] +maintainers = [ "Timothée Ravier" ] +[kinoite.aarch64] +fas = [ "siosm" ] +maintainers = [ "Timothée Ravier" ] + +# Sway Atomic +[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" ] + +# Budgie Atomic +[onyx.x86_64] +fas = [ "joshstrobl" ] +maintainers = [ "Joshua Strobl" ] +[onyx.aarch64] +fas = [ "joshstrobl" ] +maintainers = [ "Joshua Strobl" ] + +# COSMIC Atomic +[cosmic-atomic.x86_64] +fas = [ "ryanabx" ] +maintainers = [ "Ryan Brue" ] +[cosmic-atomic.aarch64] +fas = [ "ryanabx" ] +maintainers = [ "Ryan Brue" ] 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 37226e7..0000000 --- a/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/kernel/devicetree +++ /dev/null @@ -1 +0,0 @@ -qcom/x1p42100-microsoft-surface-pro-12-inch.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 5b252fd..0000000 --- a/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/systemd/system/hexagonrpc.service +++ /dev/null @@ -1,10 +0,0 @@ -[Unit] -Description=HexagonRPC Service -After=network.target - -[Service] -ExecStart=/usr/local/bin/hexagonrpcd -f /dev/fastrpc-adsp-secure -s -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 b/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/systemd/system/iio-sensor-proxy.service deleted file mode 100644 index f0eb446..0000000 --- a/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/systemd/system/iio-sensor-proxy.service +++ /dev/null @@ -1,11 +0,0 @@ -[Unit] -Description=IIO Sensor Proxy Service -After=network.target hexagonrpc.service -Requires=hexagonrpc.service - -[Service] -ExecStart=/usr/libexec/iio-sensor-proxy -Restart=on-failure - -[Install] -WantedBy=multi-user.target diff --git a/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/systemd/system/wireupcameras.service b/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/systemd/system/wireupcameras.service deleted file mode 100644 index 31eff6c..0000000 --- a/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/systemd/system/wireupcameras.service +++ /dev/null @@ -1,10 +0,0 @@ -[Unit] -Description=Wire up Surface Pro rear camera (media-ctl pipeline) - -[Service] -Type=oneshot -ExecStart=/usr/local/bin/wireupcameras.sh -RemainAfterExit=yes - -[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 e6ddb1f..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 +0,0 @@ -ACTION=="add|change", SUBSYSTEM=="misc", KERNEL=="fastrpc-adsp-secure", ENV{ACCEL_MOUNT_MATRIX}="-1, 0, 0; 0, -1, 0; 0, 0, 1" 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 c12ff47..0000000 --- a/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/usr/lib/kernel/install.d/60-surface-dtb.install +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/bash -set -eu -umask 022 - -COMMAND="$1" -KVER="$2" - -SRC="/etc/surface-dtb/x1p42100-microsoft-surface-pro-12-inch.dtb" -DEST="/usr/lib/modules/${KVER}/dtb/qcom/x1p42100-microsoft-surface-pro-12-inch.dtb" - -case "${COMMAND}" in - add) - 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 375b085..0000000 --- a/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/usr/lib/kernel/install.d/95-surface-dtb-patch.install +++ /dev/null @@ -1,53 +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-surface-pro-12-inch.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 the master copy if it has not run (or was removed). -DTB_SRC="/usr/lib/modules/${KVER}/dtb/${DTB_REL}" -if [ ! -f "$DTB_SRC" ]; then - DTB_SRC="/etc/surface-dtb/$DTB_NAME" -fi -[ -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/wireupcameras.sh b/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/usr/local/bin/wireupcameras.sh deleted file mode 100644 index 833a422..0000000 --- a/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/usr/local/bin/wireupcameras.sh +++ /dev/null @@ -1,32 +0,0 @@ -#!/bin/bash -set -e - -# Wait for /dev/media0 to appear (MSM VFE driver may need firmware to probe) -# Timeout after 10 seconds to avoid infinite hangs on systems without camera hardware -MAX_WAIT=10 -WAIT_COUNT=0 -while [ ! -e /dev/media0 ] && [ $WAIT_COUNT -lt $MAX_WAIT ]; do - sleep 1 - WAIT_COUNT=$((WAIT_COUNT + 1)) -done - -if [ ! -e /dev/media0 ]; then - echo "wireupcameras: /dev/media0 not found after ${MAX_WAIT}s, skipping" >&2 - exit 0 -fi - -SENSOR="ov13858 1-0010" - -# Tell each pad in the path what format to expect -media-ctl -V "\"$SENSOR\":0[fmt:SGRBG10_1X10/4224x3136]" -media-ctl -V '"msm_csiphy0":0[fmt:SGRBG10_1X10/4224x3136]' -media-ctl -V '"msm_csiphy0":1[fmt:SGRBG10_1X10/4224x3136]' -media-ctl -V '"msm_csid0":0[fmt:SGRBG10_1X10/4224x3136]' -media-ctl -V '"msm_csid0":1[fmt:SGRBG10_1X10/4224x3136]' -media-ctl -V '"msm_vfe0_rdi0":0[fmt:SGRBG10_1X10/4224x3136]' - -# Disable the OV02C10 path so it doesn't fight for csid0 -media-ctl -l '"msm_csiphy4":1->"msm_csid0":0[0]' - -# Enable the rear path -media-ctl -l '"msm_csiphy0":1->"msm_csid0":0[1]' 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..00f457e 100755 --- a/scripts/fedora-live-iso-label-generator +++ b/scripts/fedora-live-iso-label-generator @@ -49,6 +49,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/teams/asahi.xml b/teams/asahi.xml index 4d89966..87d84c2 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"/> diff --git a/teams/cloud/container.xml b/teams/cloud/container.xml index 8b4b963..ee329cf 100644 --- a/teams/cloud/container.xml +++ b/teams/cloud/container.xml @@ -24,9 +24,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="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"/> @@ -50,9 +55,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-minimal"/> + <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"/> @@ -76,9 +86,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-init"/> + <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> @@ -99,10 +114,15 @@ <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.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"/> @@ -231,6 +251,7 @@ <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"/> diff --git a/teams/designsuite.xml b/teams/designsuite.xml index a50ed6b..4a146ad 100644 --- a/teams/designsuite.xml +++ b/teams/designsuite.xml @@ -21,9 +21,7 @@ <!-- <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-pomodoro"/> <package name="gnome-todo"/> <!-- Add cosmetic for terminal --> <package name="powerline"/> diff --git a/teams/eln/cloud.xml b/teams/eln/cloud.xml index b146d48..df9a4b0 100644 --- a/teams/eln/cloud.xml +++ b/teams/eln/cloud.xml @@ -199,7 +199,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..13174f6 100644 --- a/teams/eln/container.xml +++ b/teams/eln/container.xml @@ -18,9 +18,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"/> @@ -43,10 +48,15 @@ <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.license" value="MIT"/> + <label name="org.opencontainers.image.name" value="fedora-toolbox"/> <label name="org.opencontainers.image.version" value="eln"/> <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="eln"/> </labels> <environment> <env name="container" value="oci"/> @@ -77,7 +87,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"/> @@ -130,7 +140,7 @@ <package name="diffutils"/> <package name="dnf5"/> <package name="dnf5-plugins"/> - <package name="fedora-eln-release"/> + <package name="fedora-release-eln"/> <package name="file"/> <package name="findutils"/> <package name="flatpak-spawn"/> diff --git a/teams/eln/desktop-environments.xml b/teams/eln/desktop-environments.xml index c9741b0..6a47168 100644 --- a/teams/eln/desktop-environments.xml +++ b/teams/eln/desktop-environments.xml @@ -32,7 +32,6 @@ <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"/> diff --git a/teams/eln/wsl.xml b/teams/eln/wsl.xml index 051f8e6..6918bb3 100644 --- a/teams/eln/wsl.xml +++ b/teams/eln/wsl.xml @@ -14,7 +14,7 @@ <package name="coreutils"/> <package name="dnf5"/> <package name="dnf5-plugins"/> - <package name="fedora-eln-release"/> + <package name="fedora-release-eln"/> <package name="rpm"/> </packages> <packages type="image" patternType="plusRecommended" profiles="WSL-Base"> diff --git a/teams/games.xml b/teams/games.xml index fdfa829..68aca92 100644 --- a/teams/games.xml +++ b/teams/games.xml @@ -1,10 +1,7 @@ <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"/> + <requires profile="Xfce-Desktop"/> </profile> <profile name="Games-Live" description="Games Lab Live DVD"> <requires profile="GamesDesktop"/> @@ -15,37 +12,16 @@ <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 type="bootstrap" patternType="plusRecommended" profiles="GamesDesktop"> + <package name="fedora-release"/> </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*"/> + <!-- Extra screensavers aren't much help for the games lab --> + <ignore name="xscreensaver-extras"/> <!-- Allow joysticks and gamepads to work --> <package name="joystick-support"/> <package name="steam-devices"/> diff --git a/teams/robotics.xml b/teams/robotics.xml new file mode 100644 index 0000000..5c84c79 --- /dev/null +++ b/teams/robotics.xml @@ -0,0 +1,82 @@ +<image> + <profiles> + <profile name="RoboticsCore" description="Core packages for Robotics"> + </profile> + <profile name="RoboticsGNOMEDesktop" description="Desktop packages for Robotics"> + <requires profile="RoboticsCore"/> + <requires profile="DesktopCommon"/> + </profile> + <profile name="Robotics-Live" description="Robotics Lab Live DVD"> + <requires profile="RoboticsGNOMEDesktop"/> + <requires profile="LiveInstall"/> + </profile> + <profile name="Robotics-Disk" description="Robotics Lab Install Disk"> + <requires profile="RoboticsGNOMEDesktop"/> + <requires profile="BootDiskCore"/> + </profile> + </profiles> + <packages type="bootstrap" patternType="plusRecommended" profiles="RoboticsGNOMEDesktop"> + <package name="fedora-release-workstation"/> + </packages> + <packages type="image" patternType="plusRecommended" profiles="RoboticsCore"> + <namedCollection name="core"/> + <namedCollection name="standard"/> + <!-- Add robotics suite development packages --> + <namedCollection name="robotics-suite"/> + <package name="langpacks-en"/> + <package name="nano"/> + <package name="openssh-clients"/> + <package name="vim-enhanced"/> + <package name="wget2-wget"/> + <!-- Add version control packages --> + <package name="git"/> + <package name="mercurial"/> + <!-- No abrt --> + <ignore name="abrt*"/> + <!-- No legacy crontab --> + <ignore name="cron*"/> + <!-- Remove LaTeX stack (rhbz#1862450, rhbz#1902354) --> + <ignore name="texlive-base"/> + <ignore name="texlive-latex"/> + <!-- Dictionaries are big --> + <ignore name="aspell-*"/> + <ignore name="man-pages*"/> + <ignore name="words"/> + </packages> + <packages type="image" patternType="plusRecommended" profiles="RoboticsGNOMEDesktop"> + <namedCollection name="base-graphical"/> + <namedCollection name="desktop-accessibility"/> + <namedCollection name="firefox"/> + <namedCollection name="gnome-desktop"/> + <namedCollection name="guest-desktop-agents"/> + <namedCollection name="networkmanager-submodules"/> + <package name="emacs"/> + <!-- Drop some system-config things --> + <ignore name="system-config-language"/> + <ignore name="system-config-network"/> + <ignore name="system-config-rootpassword"/> + <ignore name="system-config-services"/> + <ignore name="system-config-printer*"/> + <ignore name="policycoreutils-gui"/> + <!-- No user docs --> + <ignore name="gnome-user-docs"/> + <!-- No inkscape --> + <ignore name="inkscape*"/> + <ignore name="GraphicsMagick*"/> + <ignore name="ImageMagick*"/> + <!-- Block extra GNOME applications --> + <ignore name="gnome-boxes"/> + <ignore name="gnome-calendar"/> + <ignore name="gnome-clocks"/> + <ignore name="gnome-contacts"/> + <ignore name="gnome-disk-utility"/> + <ignore name="gnome-documents"/> + <ignore name="gnome-font-viewer"/> + <ignore name="gnome-maps"/> + <ignore name="gnome-photos"/> + <ignore name="gnome-weather"/> + <ignore name="grilo-plugins"/> + <ignore name="totem"/> + <ignore name="totem-nautilus"/> + </packages> +</image> 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> |