From fe730f5f005afd0b5baa8ef51a3834adb4619ce1 Mon Sep 17 00:00:00 2001 From: UndeadDevel <30495439+UndeadDevel@users.noreply.github.com> Date: Mon, 13 Nov 2023 22:06:05 +0000 Subject: [PATCH 1/8] Update Gemfile Add missing gem --- Gemfile | 1 + 1 file changed, 1 insertion(+) diff --git a/Gemfile b/Gemfile index a40567be..9eef2199 100644 --- a/Gemfile +++ b/Gemfile @@ -1,3 +1,4 @@ source 'https://rubygems.org' gem 'github-pages', group: :jekyll_plugins gem 'json', '~> 2.0' +gem 'webrick' From 86b401517641072ff08dbc39e7056a712a5ddfcc Mon Sep 17 00:00:00 2001 From: UndeadDevel <30495439+UndeadDevel@users.noreply.github.com> Date: Mon, 13 Nov 2023 22:27:51 +0000 Subject: [PATCH 2/8] Provide new solution for local builds After much trial and error with the currently presented solution, which does not work without additional measures, and even then either works badly, requiring a download of different components every time the VM starts and has inconsistent results, or requires installing Ruby anyway. But if we're already installing Ruby to fix issues with the main solution, why not just use Ruby as the main solution? I've tested this and it works reliably, with better performance than the podman solution, doesn't require podman and podman-compose, which pull far more dependencies on a standard qubes Fedora template than Ruby does (e.g. ~250 MB vs. ~30 MB additional installed size), and seems more robust. If anything, this PR should be accepted so that new users trying to get the offline web page to work don't have to experiment and research for 5 hours like I did to first discover the issues, diagnose them and then get a working solution; the fact that the main solution presented right now does not even mention the issues is unacceptable. --- README.md | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/README.md b/README.md index d36c15a1..15347693 100644 --- a/README.md +++ b/README.md @@ -56,6 +56,30 @@ Git submodules for content: ## Instructions +### Ruby Gems + +These instructions have been tested on a Fedora 38 qube. Unlike the Podman solution further down, which for some time has had significant issues, it is more likely to work. + +1. Install `ruby`, `ruby-devel` and `g++` in your template (or standalone). + +2. In your AppVM based on that template (or the same standalone) run: + + $ gem install --user-install github-pages webrick + +3. Clone this repo, including all submodules, and enter it: + + $ git clone --recursive https://github.com/QubesOS/qubesos.github.io.git + $ cd qubesos.github.io/ + +4. Start and run the website: + + $ jekyll serve + +5. Open your browser and navigate to: + + http://127.0.0.1:4000/ + + ### Podman Compose These instructions have been tested on a Fedora 33 qube. Podman is not From 346eace560f3a813b3f4eb1e5a7939391cee60df Mon Sep 17 00:00:00 2001 From: UndeadDevel <30495439+UndeadDevel@users.noreply.github.com> Date: Wed, 15 Nov 2023 16:32:44 +0000 Subject: [PATCH 3/8] Update Makefile Add rootless and rootless-setup targets --- Makefile | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 006f6045..0982ec19 100644 --- a/Makefile +++ b/Makefile @@ -4,4 +4,10 @@ all: clean: $(RM) -r _site -.PHONY: all clean +rootless: + jekyll serve + +rootless-setup: + gem install --user-install github-pages webrick + +.PHONY: all clean rootless rootless-setup From 903084eb71818914b45f74534d3d338c5180c110 Mon Sep 17 00:00:00 2001 From: UndeadDevel <30495439+UndeadDevel@users.noreply.github.com> Date: Wed, 15 Nov 2023 16:59:46 +0000 Subject: [PATCH 4/8] Update README.md reflect changes to Makefile --- README.md | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 15347693..d74b9c9a 100644 --- a/README.md +++ b/README.md @@ -62,23 +62,25 @@ These instructions have been tested on a Fedora 38 qube. Unlike the Podman solut 1. Install `ruby`, `ruby-devel` and `g++` in your template (or standalone). -2. In your AppVM based on that template (or the same standalone) run: - - $ gem install --user-install github-pages webrick - -3. Clone this repo, including all submodules, and enter it: +2. In your AppVM based on that template (or the same standalone), clone this repo, incl. all submodules, and enter it: $ git clone --recursive https://github.com/QubesOS/qubesos.github.io.git $ cd qubesos.github.io/ -4. Start and run the website: +3. Finish setup in the repo folder (requires internet connection): - $ jekyll serve + $ make rootless-setup -5. Open your browser and navigate to: +4. When you want to start the local server which runs the website: + + $ make rootless + +5. Then open your browser and navigate to: http://127.0.0.1:4000/ + or + http://localhost:4000/ ### Podman Compose From 660c5b7fbff538126f14e0017f36b3fb4032a1d3 Mon Sep 17 00:00:00 2001 From: UndeadDevel <30495439+UndeadDevel@users.noreply.github.com> Date: Tue, 5 Dec 2023 00:04:17 +0000 Subject: [PATCH 5/8] Update README.md to include more complete instructions Adds instructions for Debian-based qubes and updates message about which qubes this was tested on (namely all major templates of Qubes 4.2). --- README.md | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index d74b9c9a..8ec9e022 100644 --- a/README.md +++ b/README.md @@ -58,9 +58,9 @@ Git submodules for content: ### Ruby Gems -These instructions have been tested on a Fedora 38 qube. Unlike the Podman solution further down, which for some time has had significant issues, it is more likely to work. +These instructions have been tested on a Fedora 38 qube on QubesOS 4.1 and on the following qubes on QubesOS 4.2: `fedora-38`, `fedora-38-xfce`, `debian-12`, `debian-12-xfce`. -1. Install `ruby`, `ruby-devel` and `g++` in your template (or standalone). +1. Install in your template (or standalone): `ruby-devel` (if Fedora-based) or `ruby-all-dev`, `make`, `g++` (if Debian-based) 2. In your AppVM based on that template (or the same standalone), clone this repo, incl. all submodules, and enter it: @@ -70,8 +70,12 @@ These instructions have been tested on a Fedora 38 qube. Unlike the Podman solut 3. Finish setup in the repo folder (requires internet connection): $ make rootless-setup + On Debian-based AppVMs / Standalones, you need to also put the gems on your PATH: + + $ echo "PATH=\$PATH:$(find ~/.local -type d -name bin | tail -n1)" >> ~/.bashrc + $ . ~/.bashrc -4. When you want to start the local server which runs the website: +4. This concludes setup; when you want to start the local server which runs the website (offline): $ make rootless From 9542a2cbe099dcea935a090fa8b28b26d5fe3c1b Mon Sep 17 00:00:00 2001 From: UndeadDevel <30495439+UndeadDevel@users.noreply.github.com> Date: Tue, 5 Dec 2023 00:11:39 +0000 Subject: [PATCH 6/8] Make previous commit more robust search more specifically in .local to avoid problems --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 8ec9e022..f8405a38 100644 --- a/README.md +++ b/README.md @@ -72,7 +72,7 @@ These instructions have been tested on a Fedora 38 qube on QubesOS 4.1 and on th $ make rootless-setup On Debian-based AppVMs / Standalones, you need to also put the gems on your PATH: - $ echo "PATH=\$PATH:$(find ~/.local -type d -name bin | tail -n1)" >> ~/.bashrc + $ echo "PATH=\$PATH:$(find ~/.local/share/gem/ruby -type d -name bin | tail -n1)" >> ~/.bashrc $ . ~/.bashrc 4. This concludes setup; when you want to start the local server which runs the website (offline): From 4c38fc2725717b9b7198a4f09acf77c402553b59 Mon Sep 17 00:00:00 2001 From: Christian Foerster Date: Wed, 28 Feb 2024 13:26:08 +0100 Subject: [PATCH 7/8] update README, signature --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f8405a38..e5f0c98b 100644 --- a/README.md +++ b/README.md @@ -58,7 +58,7 @@ Git submodules for content: ### Ruby Gems -These instructions have been tested on a Fedora 38 qube on QubesOS 4.1 and on the following qubes on QubesOS 4.2: `fedora-38`, `fedora-38-xfce`, `debian-12`, `debian-12-xfce`. +These instructions have been tested on a Fedora 38 qube on QubesOS 4.1 and on the following qubes on QubesOS 4.2: `debian-12-xfce`, `debian-12`, `fedora-39-xfce`, `fedora-39`, `fedora-38-xfce`, `fedora-38`. 1. Install in your template (or standalone): `ruby-devel` (if Fedora-based) or `ruby-all-dev`, `make`, `g++` (if Debian-based) From f0ad5c73070e5141a94bc5bb2f53e7481bb2ea9f Mon Sep 17 00:00:00 2001 From: UndeadDevel <30495439+UndeadDevel@users.noreply.github.com> Date: Sat, 18 May 2024 21:09:42 +0200 Subject: [PATCH 8/8] Update README.md Add info about fedora-40 templates successfully tested. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e5f0c98b..c0d57eee 100644 --- a/README.md +++ b/README.md @@ -58,7 +58,7 @@ Git submodules for content: ### Ruby Gems -These instructions have been tested on a Fedora 38 qube on QubesOS 4.1 and on the following qubes on QubesOS 4.2: `debian-12-xfce`, `debian-12`, `fedora-39-xfce`, `fedora-39`, `fedora-38-xfce`, `fedora-38`. +These instructions have been tested on a Fedora 38 qube on QubesOS 4.1 and on the following qubes on QubesOS 4.2: `debian-12-xfce`, `debian-12`, `fedora-40-xfce`, `fedora-40`, `fedora-39-xfce`, `fedora-39`, `fedora-38-xfce`, `fedora-38`. 1. Install in your template (or standalone): `ruby-devel` (if Fedora-based) or `ruby-all-dev`, `make`, `g++` (if Debian-based)