diff --git a/.github/actions/ci/action.yml b/.github/actions/ci/action.yml index 22c3fd7f..0b68e665 100644 --- a/.github/actions/ci/action.yml +++ b/.github/actions/ci/action.yml @@ -15,9 +15,9 @@ runs: using: "composite" steps: - if: ${{ inputs.branch != '' }} - run: git checkout ${{ inputs.branch }} + run: git fetch origin; git fetch --tags origin shell: bash - - run: git fetch --tags origin + - run: git checkout ${{ inputs.branch }} shell: bash - run: git submodule sync shell: bash @@ -36,7 +36,7 @@ runs: --vendor "sodaliterocks" \ --working-dir "$working_dir" \ --ex-container-hostname "$(hostname -f)" \ - --ex-container-image "$(test_input "${{ inputs.container_image }}" "fedora:37")" \ + --ex-container-image "$(test_input "${{ inputs.container_image }}" "fedora:39")" \ --ex-override-starttime "$start_time" rm -rf "$working_dir" else @@ -46,7 +46,7 @@ runs: --vendor "sodaliterocks" \ --working-dir "/srv/store/variable/ostree" \ --ex-container-hostname "$(hostname -f)" \ - --ex-container-image "$(test_input "${{ inputs.container_image }}" "fedora:37")" \ + --ex-container-image "$(test_input "${{ inputs.container_image }}" "fedora:39")" \ --ex-override-starttime "$start_time" \ --ex-print-github-release-table-row fi diff --git a/.github/workflows/update.manual.yml b/.github/workflows/update.manual.yml index 2adffc58..c8493af4 100644 --- a/.github/workflows/update.manual.yml +++ b/.github/workflows/update.manual.yml @@ -10,15 +10,24 @@ on: type: choice options: - desktop - - desktop-budgie - - desktop-deepin - desktop-gnome dry_run: default: false description: "Dry Run" type: boolean + version: + default: current + description: "Version" + required: true + type: choice + options: + - "current" + - "long/4" + - "long/5" + - "long/6" + - "next" container_image: - default: fedora:37 + default: fedora:39 description: "Container Image" required: true type: choice @@ -38,4 +47,6 @@ jobs: - uses: actions/checkout@v3 - uses: ./.github/actions/ci with: + branch: release/${{ inputs.version }} + container_image: ${{ inputs.container_image }} tree: ${{ inputs.tree }} diff --git a/.github/workflows/update.scheduled.long-5.yml b/.github/workflows/update.scheduled.long-5.yml new file mode 100644 index 00000000..c6a8051e --- /dev/null +++ b/.github/workflows/update.scheduled.long-5.yml @@ -0,0 +1,16 @@ +name: "Update: Long (5)" + +on: + schedule: + - cron: '0 4 * * 3,6' # At 04:00 on Wednesday and Saturday + +jobs: + desktop: + name: "Desktop" + runs-on: self-hosted + steps: + - uses: actions/checkout@v3 + - uses: ./.github/actions/ci + with: + branch: release/long/5 + tree: desktop diff --git a/.github/workflows/update.scheduled.long-6.yml b/.github/workflows/update.scheduled.long-6.yml new file mode 100644 index 00000000..20972f3b --- /dev/null +++ b/.github/workflows/update.scheduled.long-6.yml @@ -0,0 +1,16 @@ +name: "Update: Long (6)" + +on: + schedule: + - cron: '0 4 * * 3,6' # At 04:00 on Wednesday and Saturday + +jobs: + desktop: + name: "Desktop" + runs-on: self-hosted + steps: + - uses: actions/checkout@v3 + - uses: ./.github/actions/ci + with: + branch: release/long/6 + tree: desktop diff --git a/.gitmodules b/.gitmodules index a32a4bdb..9404e48f 100644 --- a/.gitmodules +++ b/.gitmodules @@ -23,3 +23,6 @@ [submodule "lib/workstation-ostree-config"] path = lib/workstation-ostree-config url = https://pagure.io/workstation-ostree-config +[submodule "lib/workstation-ostree-config_f39"] + path = lib/workstation-ostree-config_f39 + url = https://pagure.io/workstation-ostree-config diff --git a/LICENSE b/LICENSE index 028d932e..8181574a 100644 --- a/LICENSE +++ b/LICENSE @@ -1,4 +1,4 @@ -Copyright Β© 2023 Sodalite contributors +Copyright Β© 2021-2023 Sodalite contributors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/README.md b/README.md index 5ff2b986..c90860cd 100644 --- a/README.md +++ b/README.md @@ -4,254 +4,7 @@ Sodalite -**Sodalite** is an immutable desktop OS built with [rpm-ostree](https://coreos.github.io/rpm-ostree/) and on-top of [Fedora](https://getfedora.org/) — similar to [Fedora Silverblue](https://silverblue.fedoraproject.org/) — making use of the [Pantheon desktop](https://elementary.io/docs/learning-the-basics), sticking closely to the ethos and workflow perpetrated by [elementary](https://elementary.io/open-source). A work-in-progress but entirely usable as a production desktop. - - - -## πŸŽ‰ Quickstart - -Know what you're in for? Here goes: - -1. Install an rpm-ostree-based version of Fedora, such as [Fedora Silverblue](https://silverblue.fedoraproject.org/), or use an already-existing install -2. Fire up a terminal and issue these commands: - - `sudo ostree remote add --if-not-exists sodalite https://ostree.sodalite.rocks --no-gpg-verify` - - `sudo ostree pull sodalite:sodalite/current/x86_64/desktop` - - `sudo rpm-ostree rebase sodalite:sodalite/current/x86_64/desktop` -3. Stick the kettle on and make yourself a cuppa. It'll take a while -4. Reboot when prompted. Use it, enjoy it, make something cool with it, (try to) break it — [submit a ticket if you do](https://github.com/sodaliterocks/sodalite/issues/new)! - -### Updating - -Performing a system update can be done by either: - -* Running `sudo rpm-ostree upgrade` in a shell -* Opening **Software**, selecting **Updates** from the headerbar, and pressing **Update All** - - As Software runs in the background and periodically checks for updates, you may also receive a notification of a new update; clicking on this opens the appropriate page - - An update for the OS may take a while to appear in Software (which will appear as "Operating System Updates"), so the above method is preferred - -Reboot after either method has finished. You can verify the version installed by opening **System Settings** and navigating to **System βž” Operating System**: the version proceeds the word "Sodalite" - -If something breaks, you can rollback by running `sudo rpm-ostree rollback` at a terminal. Remember to also [create a new issue](https://github.com/sodaliterocks/sodalite/issues/new) if appropriate! - -#### Update Schedule - -Updates are built on the build server commencing **6:00 GMT/Β±0** **(22:00 PT/-8)** every **Wednesday** and **Saturday**. - -#### "Long-term" Branches - -If you chose to use a "long-term" branch (see Branches below), you will need to rebase whenever the Sodalite version reaches end-of-life. This can be done with `sudo rpm-ostree rebase sodalite:sodalite///`, where `` is the version you're wanting to rebase to and other values are your current values. - -It's vital you carry out this process as updates stop the day the base version reaches end-of-life (at the same time as the base Fedora Linux version) and you will be left without updates to vital system components. - -### Branches - -To allow for several versions to co-exist and be developed in tandem with each other, Sodalite — like any other rpm-ostree distro — carries a ref to distinguish itself. Where `///`, the format and possible values are as follows: - -* ``: **Name** of the branch; always `sodalite` -* ``: **Channel** of the branch. Possible values: - - `current`: Current stable release (currently [4.1](https://github.com/sodaliterocks/sodalite/releases/tag/v%2F4%2F4.1%2Fcurrent), based on [Fedora Linux 37](https://docs.fedoraproject.org/en-US/releases/f37/)) - - `long-`: "Long-term" releases to stay with a specific version - - `4`: 4.x, based on [Fedora Linux 37](https://docs.fedoraproject.org/en-US/releases/f37/). Reaches end-of-life on 14-Nov-2023 (2023-11-14) - - `next`: Upcoming release candidates. **Potentially broken!** - - `devel`: Current development code (on `main`). **Do not use on production systems!** -* ``: **Architecture** of the branch. Possible values: - - `x86_64`: For 64-bit CPUs (`x86_64`, `amd64`, or `x64`) - - ~~`x86`: [What year is it!?](https://c.tenor.com/9OcQhlCBNG0AAAAd/what-year-is-it-jumanji.gif)~~ -* ``: **Edition** (or variant) of the branch: Possible values: - - `desktop`: Standard Pantheon desktop - - `desktop-budgie`: Alternate Budgie desktop - - `desktop-deepin`: Alternate Deepin desktop - - `desktop-gnome`: Alternate GNOME desktop - -**As mentioned above, most users will want `sodalite/current/x86_64/desktop`.** - -#### Available Branches - -Possible combinations built on the OSTree remote (`ostree.sodalite.rocks`) are as follows: - -|Name|Version(s)|Arch.(s)|Edition(s)| -|-|-|-|-| -|`sodalite`|`current`|`x86_64`|`desktop`| -|`sodalite`|`long-4`|`x86_64`|`desktop`| -|`sodalite`|`next`|`x86_64`|`desktop`| -|`sodalite`|`devel`|`x86_64`|`desktop`
`desktop-deepin`
`desktop-gnome`| - -_For example, `sodalite/current/x86_64/desktop` exists on the build server and can be pulled, but `sodalite/long-5/x86_64/desktop-gnome` does not._ - -### Versioning - -_(Todo)_ - ---- - - - - - -## πŸ—οΈ Building - -### 1. Prerequisites - -#### Software - -* [Fedora Linux](https://getfedora.org/) (or other Fedora-based/compatible distros) -* [rpm-ostree](https://coreos.github.io/rpm-ostree/) - - On most Fedora-based distros, this can be installed with `dnf install rpm-ostree` -* Bash -* [Git LFS](https://git-lfs.com/) - - As well as including pretty wallpapers, the LFS also includes vital binaries that Sodalite needs to work properly, so don't miss installing this! - - Unsure if you have LFS support? Tpe `git lfs`: a help output prints if installed - -#### Environment -* Permission to `sudo` - - `rpm-ostree` needs superuser access to work: there's no way around this - - Building in a container, however, is possible and supported: just pass the `-c`/`--container` flag to `build.sh` (mentioned below) -* >10GiB disk space - - The repository itself (including submodules) takes up ~300MiB - - Initial builds will take up ~4GiB, with subsequent builds adding to this -* Unlimited Internet - - The build process caches **a lot** of Fedora packages (around 2.5GiB), so think carefully about doing this on mobile broadband or any other service that imposes a small data allowance on you -* An rpm-ostree-based distro, such as such as [Fedora Silverblue](https://silverblue.fedoraproject.org/) — on either a virtual machine, another physical machine, or your current install (careful!) — to test builds on -* A cuppa _(optional)_ — this can take a while - -### 2. Getting - -```sh -git clone https://github.com/sodaliterocks/sodalite.git -cd sodalite -git submodule sync -git submodule update --init --recursive -``` - -#### Future Pulls - -When updating in the future, don't forget to update submodules with: - -```sh -git submodule update --recursive -``` - -**Do not** use `git submodule foreach git pull`: this blindly updates all submodules to their latest version, not the commit this parent repo has checked out. This is important for some submodules that are checked out at specific tags/commits (such as `./lib/sodaliterocks.firefox`). - -The `./lib/workstation-ostree-config_f*` submodules — serving as a basis for Sodalite for its various different Fedora-based versions — are removed every so often so make sure you delete them accordingly. For example, when Fedora 36 reaches EoL, `./lib/workstation-ostree-config_f36` will be removed shortly afterwards. You can use `git clean -i` to do the work for you. - -#### LFS - -An LFS submodule is located at `./lfs`. It's important to note this is not hosted on GitHub, but [Zio Git](https://git.zio.sh) — a server we control — as GitHub's LFS allowances are tight ([only 1GiB bandwidth and storage](https://docs.github.com/en/repositories/working-with-files/managing-large-files/about-storage-and-bandwidth-usage)). - -Any issues regarding the LFS should be submitted to [sodaliterocks/sodalite on GitHub](https://github.com/sodaliterocks/sodalite). Currently, as Zio Git does not allow for arbitrary sign-ups, PRs cannot be directly submitted. - -#### Usage of GitHub - -Unless the world collectively favours GitLab, or anything else, Sodalite will stay on GitHub as it makes everyone's lives easier. Microsoft is just another company; they're not going to hurt you. - -### 3. Building - -```sh -sudo ./build.sh [-t ] [-w ] -``` - -_See `build.sh --help` for more options._ - -This will usually take 10-15 minutes. Remember when I told you to grab a cuppa? Or maybe a cold one? - -##### Arguments - -* `` _(optional)_ Edition/variant of Sodalite (defaults to `custom`) - - This is any of the `sodalite-.yaml` files listed in `./src/treefiles/`. Either use `sodalite-` or just `` as the argument. Currently, there is: - - `desktop`: Standard Pantheon desktop - - `desktop-budgie`: Alternate Budgie desktop, intended for possible future versions - - `desktop-deepin`: Alternate Deepin desktop, intended for possible future versions - - `desktop-gnome`: Alternate GNOME desktop, intended for possible future versions - - `custom`: See below point - - `sodalite-custom.yaml` is a good place to employ your own changes instead of modifying any of the other treefiles -* `` _(optional)_ Directory for build output (defaults to `./build`) - -#### Additional Notes - -##### Building in a Container - -If you have [Podman](https://podman.io/), you can build Sodalite entirely in a container: just use `-c`/`--container`. This is in fact how builds are done on the release server! However, this will add an extra few minutes for the build to complete as the Fedora container needs to install packages first. - -##### NTFS/FAT partitions - -Build failures are inevitable on drives formatted as NTFS, FAT, or anything other filesystems that do not support Unix-like permissions, as `build.sh` sets permissions on various objects. - -###### WSL2 - -On WSL2, do not build to any `/mnt/` directories as these will be formatted as NTFS or FAT. Instead, run the build somewhere else on the Linux distro itself (like `$HOME` or `/usr/local/src`). - -##### Not using `build.sh` - -Most rpm-ostree distros can be built just be simply doing `rpm-ostree compose`, but `build.sh` provided with Sodalite does some extra steps which are required for the post-build script (which **will** fail without these being ran). It is therefore not recommended to do it this way: any issues building the distro this way will be closed and marked as invalid. - -#### Cleaning Up - -Build contents is located at `./build/` (or whatever you set `` to), which can be deleted to start afresh. Specifically this holds the following files/directories (of which can be individually deleted instead): - -* `./build/repo/` — OSTree repository for Sodalite -* `./build/cache/` — Cache for Fedora packages - -Unless stopped manually, `build.sh` will clean itself up whenever it exits (on both success and failure). It will correct permissions (to your user) for the `./build/` directory, as well as removing the following files/directories: - -* `./src/sysroot/common/usr/lib/sodalite-buildinfo` -* `/var/tmp/rpm-ostree.*/` - - This can get large quickly; watch out if you're not letting `build.sh` exit - -### 4. Using - -_(todo)_ - -## 🀝 Acknowledgements - -### Individuals - -* [Jorge O. Castro](https://github.com/castrojo), for including Sodalite in [awesome-immutable](https://github.com/castrojo/awesome-immutable) -* [TimothΓ©e Ravier](https://tim.siosm.fr), for their extensive guidance to the community concerning Fedora Silverblue -* The amazing photographers/artists of the included wallpapers — [Adrien Olichon](https://unsplash.com/@adrienolichon), [Ashwini Chaudhary](https://unsplash.com/@suicide_chewbacca), [Austin Neill](https://unsplash.com/@arstyy), [Cody Fitzgerald](https://unsplash.com/@cfitz), [Dustin Humes](https://unsplash.com/@dustinhumes_photography), [Eugene Golovesov](https://unsplash.com/@eugene_golovesov), [Jack B.](https://unsplash.com/@nervum), [Jeremy Gerritsen](https://unsplash.com/@jeremygerritsen), [Marek Piwnicki](https://unsplash.com/@marekpiwnicki), [Max Okhrimenko](https://unsplash.com/@maxokhrimenko), [Nathan Dumlao](https://unsplash.com/@nate_dumlao), [Piermanuele Sberni](https://unsplash.com/@piermanuele_sberni), [Phil Botha](https://unsplash.com/@philbotha), [Ryan Stone](https://unsplash.com/@rstone_design), [Smaran Alva](https://unsplash.com/@smal), [Takashi Miyazaki](https://unsplash.com/@miyatankun), [Willian Daigneault](https://unsplash.com/@williamdaigneault), and [Zara Walker](https://unsplash.com/@mojoblogs) - -#### Past Individuals - -_These fine folks' work is no longer included in, or relevant to, Sodalite, but they're still worth a shout-out!_ - -* [Fabio "decathorpe" Valentini](https://decathorpe.com/), for maintaining elementary/Pantheon packages on Fedora - * Due to various packaging issues with Pantheon on Fedora's official repos (see [#44](https://github.com/sodaliterocks/sodalite/issues/44), and [writing (about) code βž” elementary-stable](https://decathorpe.com/fedora-elementary-stable-status.html)), these packages were dropped entirely (including the addtional ~~[elementary-staging](https://copr.fedorainfracloud.org/coprs/decathorpe/elementary-staging/)~~ and ~~[elementary-nightly](https://copr.fedorainfracloud.org/coprs/decathorpe/elementary-nightly/)~~ Copr repos, dropped in Feb '23). Despite this, decathorpe's contributions are essentially what sparked Sodalite in the first place. -* ["Topfi"](https://github.com/ACertainTopfi), for their various contributions -* The amazing photographers/artists of the now **excluded** wallpapers — [Karsten WΓΌrth](https://unsplash.com/@karsten_wuerth) - * Old wallpapers from old releases are eventually purged to keep `/usr/share/backgrounds/default/` from getting too large. No hard feelings! - -### Teams & Organizations - -* [elementary](https://elementary.io/team), for building lovely stuff -* [Fyra Labs](https://fyralabs.com), for maintaining [Terra](https://terra.fyralabs.com/) - * Due to various packaging issues with Pantheon on Fedora's official repos (see [#44](https://github.com/sodaliterocks/sodalite/issues/44)), Sodalite was almost doomed after f36+ reached EoL. However, Terra maintains builds of Pantheon and effectively keeps the lights on here! -* The contributors to [workstation-ostree-config](https://pagure.io/workstation-ostree-config), for a solid ground to work from - -### Miscellaneous - -* The [Sodalite mineral](https://en.wikipedia.org/wiki/Sodalite), for the name. [It's a mineral, not a rock, Jesus](https://www.youtube.com/watch?v=r1yYJBzf1VQ)! -* The [Omicron variant of SARS-CoV-2](https://en.wikipedia.org/wiki/SARS-CoV-2_Omicron_variant), for giving [Ducky](https://github.com/electricduck) the initial free time to make this thing - -## πŸ‘€ See Also - -* **[πŸ“„ Code of Conduct](CODE_OF_CONDUCT.md)** — Contributor Covenant CoC -* **[πŸ“„ Contributing](CONTRIBUTING.md)** -* **[πŸ”— Docs](https://docs.sodalite.rocks)** -* **[πŸ“„ License](LICENSE)** — MIT, © 2023 Sodalite contributors - -### Related - -* **[πŸ”— Fedora Docs βž” Fedora Silverblue User Guide](https://docs.fedoraproject.org/en-US/fedora-silverblue/)** - ---- -

- πŸ‡¬πŸ‡§ - + This is a release branch. See main branch for the current README.

+ diff --git a/build.sh b/build.sh index 18f6410e..53513afc 100755 --- a/build.sh +++ b/build.sh @@ -461,7 +461,7 @@ function main() { container_name="sodalite-build_$(echo $RANDOM | md5sum | head -c 6; echo;)" container_hostname="$(echo $container_name | sed s/_/-/g)" - container_image="fedora:38" + container_image="fedora:39" container_build_args="--working-dir /wd/out" [[ $ex_log != "" ]] && container_build_args+=" --ex-log $ex_log" diff --git a/lib/elementary.default-settings b/lib/elementary.default-settings index a3cb7b23..3c49d4de 160000 --- a/lib/elementary.default-settings +++ b/lib/elementary.default-settings @@ -1 +1 @@ -Subproject commit a3cb7b23408ee7f54951fca1c6047d2811ade7b6 +Subproject commit 3c49d4de9ead4623b4124ca374f4d5a28b638af5 diff --git a/lib/elementary.icons b/lib/elementary.icons index 8eb43036..0e5bc62b 160000 --- a/lib/elementary.icons +++ b/lib/elementary.icons @@ -1 +1 @@ -Subproject commit 8eb4303649f225a25f35a5c4d73649e2476fc48a +Subproject commit 0e5bc62b1471e2d7635d3b6cb75a6bbcfc72b0a4 diff --git a/lib/sodaliterocks.firefox b/lib/sodaliterocks.firefox index e086a397..07304922 160000 --- a/lib/sodaliterocks.firefox +++ b/lib/sodaliterocks.firefox @@ -1 +1 @@ -Subproject commit e086a397587b2a5324e1fbb7ca06d15382c7e36a +Subproject commit 073049223548e3641196bbafe97a777050420783 diff --git a/lib/workstation-ostree-config b/lib/workstation-ostree-config index 0c6585b3..b8efe6a6 160000 --- a/lib/workstation-ostree-config +++ b/lib/workstation-ostree-config @@ -1 +1 @@ -Subproject commit 0c6585b3a277e5a6d8a1a46d827f43d3de540222 +Subproject commit b8efe6a6fb47a2394a2a0fa7f3b83b4f9ef36fbc diff --git a/lib/workstation-ostree-config_f37 b/lib/workstation-ostree-config_f37 index 095f7145..aebece57 160000 --- a/lib/workstation-ostree-config_f37 +++ b/lib/workstation-ostree-config_f37 @@ -1 +1 @@ -Subproject commit 095f714512c04ebe7fcb445bd7041eee96a2f09f +Subproject commit aebece57dad8f0cf04a4f31e19fb05ab8d101616 diff --git a/lib/workstation-ostree-config_f38 b/lib/workstation-ostree-config_f38 index 0561c399..1a2b35bc 160000 --- a/lib/workstation-ostree-config_f38 +++ b/lib/workstation-ostree-config_f38 @@ -1 +1 @@ -Subproject commit 0561c399eb18a48004f931facd542f0e2efb553d +Subproject commit 1a2b35bcea1a1dcb1bf2157f43a8e37a7dc1acb0 diff --git a/lib/workstation-ostree-config_f39 b/lib/workstation-ostree-config_f39 new file mode 160000 index 00000000..6d890fc3 --- /dev/null +++ b/lib/workstation-ostree-config_f39 @@ -0,0 +1 @@ +Subproject commit 6d890fc35b643648b796fdf2bf8871b45811c402 diff --git a/src/cores/bases/f39.yaml b/src/cores/bases/f39.yaml new file mode 100644 index 00000000..89711b72 --- /dev/null +++ b/src/cores/bases/f39.yaml @@ -0,0 +1,40 @@ +include: [ + "../../../lib/workstation-ostree-config_f39/fedora-common-ostree-pkgs.yaml" +] + +releasever: "39" + +packages: + - distribution-gpg-keys + - fedora-release + - fedora-release-ostree-desktop + - fedora-repos-archive + - fedora-repos-ostree + - elfutils-libelf-devel + - firewalld + - glibc-devel + - hfsplus-tools + - kernel-devel + - lvm2 + - rpm-ostree + - xdg-user-dirs-gtk +packages-x86_64: + - efibootmgr + - grub2-efi-ia32 + - grub2-efi-x64 + - grub2-pc + - hyperv-daemons + - mcelog + - microcode_ctl + - open-vm-tools-desktop + - ostree-grub2 + - shim-ia32 + - shim-x64 + - thermald + - virtualbox-guest-additions + - xorg-x11-drv-amdgpu + - xorg-x11-drv-intel + - xorg-x11-drv-vesa + - xorg-x11-drv-vmware +exclude-packages: + - PackageKit diff --git a/src/cores/common.yaml b/src/cores/common.yaml index a53a98c3..e35857d8 100644 --- a/src/cores/common.yaml +++ b/src/cores/common.yaml @@ -1,12 +1,12 @@ include: [ - "bases/f38.yaml", + "bases/f39.yaml", "../packages/flatpak.yaml", "../packages/fonts.yaml", "../packages/tools.yaml", ] -releasever: "38" -automatic-version-prefix: "5.0-" +releasever: "39" +automatic-version-prefix: "6.0-" automatic-version-suffix: "." mutate-os-release: "${releasever}" @@ -23,18 +23,10 @@ add-files: [ ["../sysroot/common/etc/issue", "/etc/issue"], ["../sysroot/common/etc/tlp.d/50-vm-writeback.conf", "/etc/tlp.d/50-vm-writeback.conf"], - # /etc/fonts - ["../sysroot/common/etc/fonts/conf.d/63-inter.conf", "/etc/fonts/conf.d/63-inter.conf"], - # /etc/skel ["../sysroot/common/etc/skel/dot.bashrc", "/etc/skel/.bashrc"], ["../sysroot/common/etc/skel/dot.config/touchegg/touchegg.conf", "/etc/skel/.config/touchegg/touchegg.conf"], - # /etc/systemd - ["../sysroot/common/etc/systemd/system/generate-oemconf.service", "/etc/systemd/system/generate-oemconf.service"], - ["../sysroot/common/etc/systemd/system/sodalite-auto-update.service", "/etc/systemd/system/sodalite-auto-update.service"], - ["../sysroot/common/etc/systemd/system/sodalite-migrate.service", "/etc/systemd/system/sodalite-migrate.service"], - # /etc/xdg #["../sysroot/common/etc/xdg/autostart/appimaged.desktop", "/etc/xdg/autostart/appimaged.desktop"], # BUG: https://github.com/sodaliterocks/sodalite/issues/42 ["../sysroot/common/etc/xdg/autostart/rocks.sodalite.user-daemon.desktop", "/etc/xdg/autostart/rocks.sodalite.user-daemon.desktop"], @@ -57,6 +49,11 @@ add-files: [ # /usr/lib ["../sysroot/common/usr/lib/sodalite-buildinfo", "/usr/lib/sodalite-buildinfo"], + # /usr/lib/systemd + ["../sysroot/common/usr/lib/systemd/system/generate-oemconf.service", "/usr/lib/systemd/system/generate-oemconf.service"], + ["../sysroot/common/usr/lib/systemd/system/sodalite-auto-update.service", "/usr/lib/systemd/system/sodalite-auto-update.service"], + ["../sysroot/common/usr/lib/systemd/system/sodalite-migrate.service", "/usr/lib/systemd/system/sodalite-migrate.service"], + # /usr/libexec ["../../lib/sodaliterocks.hacks/src/plugins/auto-update.sh", "/usr/libexec/rocks.sodalite.hacks/plugins/auto-update.sh"], ["../../lib/sodaliterocks.hacks/src/plugins/cleanup.sh", "/usr/libexec/rocks.sodalite.hacks/plugins/cleanup.sh"], diff --git a/src/packages/tools.yaml b/src/packages/tools.yaml index cda1aad9..f4fba940 100644 --- a/src/packages/tools.yaml +++ b/src/packages/tools.yaml @@ -3,9 +3,10 @@ packages: - buildah - dbus-x11 - distrobox - - ffmpeg + #- ffmpeg # temporary (package resolve errors currently with f39) - git-core - git-core-doc + - git-lfs - gstreamer1-plugins-good-gtk - lm_sensors - meson diff --git a/src/scripts/10-version.sh b/src/scripts/10-version.sh index 0f35400e..d55d01f5 100644 --- a/src/scripts/10-version.sh +++ b/src/scripts/10-version.sh @@ -28,8 +28,9 @@ function get_codename() { "4.0"*) echo "Nubia" ;; "4.1"*) echo "Toniki" ;; "4.2"*) echo "Bantu" ;; - "4.3"*) echo "Wari" ;; "5.0"*) echo "Iberia" ;; + "6.0"*) echo "Kutai" ;; + "7.0"*) echo "Nazca" ;; esac } @@ -122,8 +123,8 @@ if [[ $version_v_major != "" ]]; then pretty_version="$version" - mkdir -p /etc/apt/sources.list.d/ - echo "daily" > /etc/apt/sources.list.d/elementary.list + #mkdir -p /etc/apt/sources.list.d/ + #echo "daily" > /etc/apt/sources.list.d/elementary.list fi if [[ $channel != "" ]]; then diff --git a/src/scripts/30-hacks.sh b/src/scripts/30-hacks.sh index c1647404..932ff3c7 100644 --- a/src/scripts/30-hacks.sh +++ b/src/scripts/30-hacks.sh @@ -1,30 +1,32 @@ #!/usr/bin/env bash -# TODO: Work out if we even need some of these, as the related issues are -# pretty old. - -# BUG: https://github.com/projectatomic/rpm-ostree/issues/1542#issuecomment-419684977 +if [[ $_os_base_version == "38" ]]; then + # BUG: https://github.com/projectatomic/rpm-ostree/issues/1542#issuecomment-419684977 for x in /etc/yum.repos.d/*modular.repo; do sed -i -e 's,enabled=[01],enabled=0,' ${x} done -# BUG: https://bugzilla.redhat.com/show_bug.cgi?id=1265295 -if ! grep -q '^Storage=persistent' /etc/systemd/journald.conf; then - (cat /etc/systemd/journald.conf && echo 'Storage=persistent') > /etc/systemd.journald.conf.new - mv /etc/systemd.journald.conf{.new,} -fi + # Work around https://bugzilla.redhat.com/show_bug.cgi?id=1265295 + # From https://github.com/coreos/fedora-coreos-config/blob/testing-devel/overlay.d/05core/usr/lib/systemd/journald.conf.d/10-coreos-persistent.conf + install -dm0755 /usr/lib/systemd/journald.conf.d/ + echo -e "[Journal]\nStorage=persistent" > /usr/lib/systemd/journald.conf.d/10-persistent.conf -# SEE: https://src.fedoraproject.org/rpms/glibc/pull-request/4 -# Basically that program handles deleting old shared library directories -# mid-transaction, which never applies to rpm-ostree. This is structured as a -# loop/glob to avoid hardcoding (or trying to match) the architecture. -for x in /usr/sbin/glibc_post_upgrade.*; do - if test -f ${x}; then - ln -srf /usr/bin/true ${x} - fi -done + # See: https://src.fedoraproject.org/rpms/glibc/pull-request/4 + # Basically that program handles deleting old shared library directories + # mid-transaction, which never applies to rpm-ostree. This is structured as a + # loop/glob to avoid hardcoding (or trying to match) the architecture. + for x in /usr/sbin/glibc_post_upgrade.*; do + if test -f ${x}; then + ln -srf /usr/bin/true ${x} + fi + done -if [[ $_os_base_version == "38" ]]; then + # Remove loader directory causing issues in Anaconda in unified core mode + # Will be obsolete once we start using bootupd + rm -rf /usr/lib/ostree-boot/loader +fi + +if [[ $_os_base_version == "39" ]]; then # Work around https://bugzilla.redhat.com/show_bug.cgi?id=1265295 # From https://github.com/coreos/fedora-coreos-config/blob/testing-devel/overlay.d/05core/usr/lib/systemd/journald.conf.d/10-coreos-persistent.conf install -dm0755 /usr/lib/systemd/journald.conf.d/ @@ -43,4 +45,14 @@ if [[ $_os_base_version == "38" ]]; then # Remove loader directory causing issues in Anaconda in unified core mode # Will be obsolete once we start using bootupd rm -rf /usr/lib/ostree-boot/loader + + # Undo RPM scripts enabling units; we want the presets to be canonical + # https://github.com/projectatomic/rpm-ostree/issues/1803 + rm -rf /etc/systemd/system/* + systemctl preset-all + rm -rf /etc/systemd/user/* + systemctl --user --global preset-all + + # Workaround for https://bugzilla.redhat.com/show_bug.cgi?id=2218006 + systemctl enable nfs-client.target fi diff --git a/src/scripts/70-wallpaper.sh b/src/scripts/70-wallpaper.sh index cec00194..b09de4d5 100644 --- a/src/scripts/70-wallpaper.sh +++ b/src/scripts/70-wallpaper.sh @@ -10,14 +10,14 @@ case $_os_version_id in "4.0"*) wallpaper="jeremy-gerritsen-_iviuukstI4-unsplash" ;; "4.1"*) wallpaper="dustin-humes-OrO_HSqlZMY-unsplash" ;; "4.2"*) wallpaper="piermanuele-sberni-9jVmJ_mBRE8-unsplash~3967x2645" ;; - "4.3"*) - wallpaper="marek-piwnicki-fIxvIQ6mH-E-unsplash" - pantheon_accent="bubblegum" - ;; "5.0"*) wallpaper="zara-walker-_pC5hT6aXfs-unsplash" pantheon_accent="cocoa" ;; + "6.0"*) + wallpaper="marek-piwnicki-fIxvIQ6mH-E-unsplash" + pantheon_accent="bubblegum" + ;; *) wallpaper="$_fallback_wallpaper" ;; esac diff --git a/src/scripts/80-tweaks-pantheon.sh b/src/scripts/80-tweaks-pantheon.sh index 4cf2b031..72b1b920 100644 --- a/src/scripts/80-tweaks-pantheon.sh +++ b/src/scripts/80-tweaks-pantheon.sh @@ -7,6 +7,7 @@ if [[ $_os_core == "pantheon" ]]; then fi systemctl disable gdm + systemctl enable generate-oemconf systemctl enable lightdm systemctl enable touchegg diff --git a/src/scripts/80-tweaks.sh b/src/scripts/80-tweaks.sh index 80a35ea7..c791d7cc 100644 --- a/src/scripts/80-tweaks.sh +++ b/src/scripts/80-tweaks.sh @@ -2,8 +2,10 @@ ln -s /usr/bin/rocks.sodalite.hacks /usr/bin/sodalite-hacks ln -s /usr/bin/firefox /usr/bin/rocks.sodalite.firefox +ln -s /usr/share/fontconfig/conf.avail/63-inter.conf /etc/fonts/conf.d/63-inter.conf glib-compile-schemas /usr/share/glib-2.0/schemas dconf update +fc-cache -f -v systemctl enable sodalite-migrate diff --git a/src/sysroot/common/etc/fonts/conf.d/63-inter.conf b/src/sysroot/common/etc/fonts/conf.d/63-inter.conf deleted file mode 100644 index 2cc9b71d..00000000 --- a/src/sysroot/common/etc/fonts/conf.d/63-inter.conf +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - Inter - - sans-serif - - - - sans-serif - - Inter - - - - diff --git a/src/sysroot/common/etc/systemd/system/generate-oemconf.service b/src/sysroot/common/usr/lib/systemd/system/generate-oemconf.service similarity index 100% rename from src/sysroot/common/etc/systemd/system/generate-oemconf.service rename to src/sysroot/common/usr/lib/systemd/system/generate-oemconf.service diff --git a/src/sysroot/common/etc/systemd/system/sodalite-auto-update.service b/src/sysroot/common/usr/lib/systemd/system/sodalite-auto-update.service similarity index 100% rename from src/sysroot/common/etc/systemd/system/sodalite-auto-update.service rename to src/sysroot/common/usr/lib/systemd/system/sodalite-auto-update.service diff --git a/src/sysroot/common/etc/systemd/system/sodalite-migrate.service b/src/sysroot/common/usr/lib/systemd/system/sodalite-migrate.service similarity index 100% rename from src/sysroot/common/etc/systemd/system/sodalite-migrate.service rename to src/sysroot/common/usr/lib/systemd/system/sodalite-migrate.service diff --git a/src/sysroot/common/usr/share/fontconfig/conf.avail/63-inter.conf b/src/sysroot/common/usr/share/fontconfig/conf.avail/63-inter.conf index 2cc9b71d..a3fd349f 100644 --- a/src/sysroot/common/usr/share/fontconfig/conf.avail/63-inter.conf +++ b/src/sysroot/common/usr/share/fontconfig/conf.avail/63-inter.conf @@ -3,7 +3,7 @@ - Inter + Inter V sans-serif @@ -11,7 +11,7 @@ sans-serif - Inter + Inter V diff --git a/src/sysroot/common/usr/share/glib-2.0/schemas/00_sodalite.gschema.override b/src/sysroot/common/usr/share/glib-2.0/schemas/00_sodalite.gschema.override index e1e3259f..8f3af85c 100644 --- a/src/sysroot/common/usr/share/glib-2.0/schemas/00_sodalite.gschema.override +++ b/src/sysroot/common/usr/share/glib-2.0/schemas/00_sodalite.gschema.override @@ -3,13 +3,6 @@ picture-options='zoom' picture-uri='' primary-color='#3689E6' -[org.gnome.desktop.interface] -font-antialiasing='grayscale' -font-hinting='none' -font-name='Inter 9' -monospace-font-name='Roboto Mono 10' - - [org.gnome.desktop.wm.preferences:GNOME] action-middle-click-titlebar='minimize' button-layout='close:appmenu' @@ -26,7 +19,6 @@ intellihide-mode='FOCUS_APPLICATION_WINDOWS' require-pressure-to-show=false show-trash=false - [net.launchpad.plank.dock.settings:Pantheon] hide-delay=250 hide-mode='window-dodge' @@ -51,8 +43,12 @@ xkb-options=['grp:alt_shift_toggle'] [org.gnome.desktop.interface:Pantheon] cursor-theme='elementary' document-font-name='Open Sans 10' +font-antialiasing='grayscale' +font-hinting='none' +font-name='Inter V 9' gtk-theme='io.elementary.stylesheet.blueberry' icon-theme='elementary' +monospace-font-name='Roboto Mono 10' [org.gnome.desktop.peripherals.touchpad:Pantheon] natural-scroll=true