From 1447ad7fcf4ee15e807e10d40e98d1d5a150dd84 Mon Sep 17 00:00:00 2001 From: dd Date: Sun, 25 Aug 2024 12:10:08 +0200 Subject: added example package repository --- extras/mirror/resources/template.html | 167 ++++++++++++++++++++++++---------- readme.md | 8 ++ 2 files changed, 125 insertions(+), 50 deletions(-) diff --git a/extras/mirror/resources/template.html b/extras/mirror/resources/template.html index 7072a72..1556ca9 100644 --- a/extras/mirror/resources/template.html +++ b/extras/mirror/resources/template.html @@ -17,6 +17,10 @@ margin: 0; } + pre { + overflow: auto; + } + code { display: inline-block; padding: 0 5px; @@ -26,13 +30,27 @@ pre code { padding: 5px; } + + code b { + color: #c90000; + } + + @media (max-width: 767.98px) { + body { + padding: 0; + } + + h1 { + font-size: 1.5em; + } + }

NOTvyos package repository

- Welcome to NOTvyos package repository provided by [PROVIDED_BY].
+ Welcome to NOTvyos package repository provided by [PROVIDED_BY].
This APT mirror provides unofficially built .deb packages for stable branches of VyOS™.

@@ -41,68 +59,117 @@

- Test resulting ISO image carefully.
- There is no official support.
- Packages are provided on "AS IS" basis.
- DO NOT report bugs of NOTvyos to the VyOS™ project.
+ Test resulting ISO image carefully.
+ There is no official support.
+ Packages are provided on "AS IS" basis.
+ DO NOT report bugs of NOTvyos to the VyOS™ project.

- The APT gpg singing key for this mirror can be found here: + Source code of provided packages can be found in the + VyOS™ GitHub project. Some packages are built from + dd010101/vyos-build fork and also + dd010101/vyos-missing repository. +
+ You can refer to the vyos-jenkins/extras/packages.md + for the corresponding GIT repository and build script location for each package. +
+ Build scripts and instructions how to build your own package repository can be found in the + dd010101/vyos-jenkins + GitHub repository.

-
wget [REPOSITORY_URL]/apt.gpg.key -O /tmp/apt.gpg.key
-

- You need to mount the APT key for later use when you are starting the vyos-build docker container: + The APT gpg singing key for this repository can be found here. +
+ You need to mount the APT key for later use when you are starting the vyos-build docker container via + additional option -v "/tmp/apt.gpg.key:/opt/apt.gpg.key". +
+ Then you can use --vyos-mirror and --custom-apt-key options for the + ./configure or ./build-vyos-image iso commands to use this repository.

-
docker run --rm -it \
-    -v "$(pwd)":/vyos \
-    -v "/tmp/apt.gpg.key:/opt/apt.gpg.key" \
-    -w /vyos --privileged --sysctl net.ipv6.conf.lo.disable_ipv6=0 \
-    -e GOSU_UID=$(id -u) -e GOSU_GID=$(id -g) \
-    "vyos/vyos-build:$BRANCH" bash
-

- You can use --vyos-mirror and --custom-apt-key options for the - ./configure or ./build-vyos-image iso commands to use this mirror: + Docker is required for the build.

-

For equuleus:

- -
sudo ./configure --architecture amd64 --build-by "myself@localhost" \
-   --build-type release --version "1.3.x" \
-   --vyos-mirror [REPOSITORY_URL]/equuleus --custom-apt-key /opt/apt.gpg.key
-   && sudo make iso
- -

For sagitta:

+

Complete build script for equuleus:

+ +
#!/bin/bash
+set -e
+
+wget [REPOSITORY_URL]/apt.gpg.key -O /tmp/apt.gpg.key
+
+rm -rf vyos-build/
+git clone https://github.com/dd010101/vyos-build.git
+git -C vyos-build/ checkout equuleus
+
+version="1.3.x"
+
+docker pull vyos/vyos-build:equuleus
+docker run --rm --privileged --name="vyos-build" -v ./vyos-build/:/vyos -e GOSU_UID=$(id -u) -e GOSU_GID=$(id -g) \
+    --sysctl net.ipv6.conf.lo.disable_ipv6=0 -v "/tmp/apt.gpg.key:/opt/apt.gpg.key" -w /vyos vyos/vyos-build:equuleus \
+    sudo --preserve-env ./configure \
+        --architecture amd64 \
+        --build-by "myself@localhost" \
+        --build-type release \
+        --debian-elts-mirror http://deb.freexian.com/extended-lts \
+        --version "$version" \
+        --vyos-mirror "[REPOSITORY_URL]/equuleus" \
+        --custom-apt-key /opt/apt.gpg.key \
+        --custom-package "vyos-1x-smoketest"
+
+docker run --rm --privileged --name="vyos-build" -v ./vyos-build/:/vyos -e GOSU_UID=$(id -u) -e GOSU_GID=$(id -g) \
+    --sysctl net.ipv6.conf.lo.disable_ipv6=0 -v "/tmp/apt.gpg.key:/opt/apt.gpg.key" -w /vyos vyos/vyos-build:equuleus \
+    sudo make iso
+
+if [ -f vyos-build/build/live-image-amd64.hybrid.iso ]; then
+    iso="vyos-$version-iso-amd64.iso"
+    mv vyos-build/build/live-image-amd64.hybrid.iso "$iso"
+    echo "Build successful - $iso"
+else
+    >&2 echo "ERROR: ISO not found, something is wrong - see previous messages for what failed"
+    exit 1
+fi
+ +

Complete build script for sagitta:

+ +
#!/bin/bash
+set -e
+
+wget [REPOSITORY_URL]/apt.gpg.key -O /tmp/apt.gpg.key
+
+rm -rf vyos-build/
+git clone https://github.com/dd010101/vyos-build.git
+git -C vyos-build/ checkout sagitta
+
+version="1.4.x"
+
+docker pull vyos/vyos-build:sagitta
+docker run --rm --privileged --name="vyos-build" -v ./vyos-build/:/vyos -e GOSU_UID=$(id -u) -e GOSU_GID=$(id -g) \
+    --sysctl net.ipv6.conf.lo.disable_ipv6=0 -v "/tmp/apt.gpg.key:/opt/apt.gpg.key" -w /vyos vyos/vyos-build:sagitta \
+    sudo --preserve-env ./build-vyos-image iso \
+        --architecture amd64 \
+        --build-by "myself@localhost" \
+        --build-type release \
+        --debian-mirror http://deb.debian.org/debian/ \
+        --version "$version" \
+        --vyos-mirror "[REPOSITORY_URL]/sagitta" \
+        --custom-apt-key /opt/apt.gpg.key \
+        --custom-package "vyos-1x-smoketest"
+
+if [ -f vyos-build/build/live-image-amd64.hybrid.iso ]; then
+    iso="vyos-$version-iso-amd64.iso"
+    mv vyos-build/build/live-image-amd64.hybrid.iso "$iso"
+    echo "Build successful - $iso"
+else
+    >&2 echo "ERROR: ISO not found, something is wrong - see previous messages for what failed"
+    exit 1
+fi
-
sudo ./build-vyos-image iso --architecture amd64 --build-by "myself@localhost" \
-   --build-type release --version "1.4.x" \
-   --vyos-mirror [REPOSITORY_URL]/sagitta --custom-apt-key /opt/apt.gpg.key
- -

- For complete and more in depth ISO build instructions you can visit the - dd010101/vyos-jenkins - GitHub repository. -

- -

- Source code of provided packages can be found in the - VyOS™ GitHub project. Some packages are built from - dd010101/vyos-build fork and also - dd010101/vyos-missing repository. -

- You can refer to the dd010101/vyos-jenkins/extras/packages.md - for the corresponding GIT repository and build script location for each package. -

- -

- Build scripts and instructions how to build your own package repository can be found in the - dd010101/vyos-jenkins - GitHub repository. + Highlighted changes are those that differ from the official Docker build instructions. + If you want to modify your existing build script then pay special attention to those.

diff --git a/readme.md b/readme.md index 34ad5a8..00d707c 100644 --- a/readme.md +++ b/readme.md @@ -29,6 +29,14 @@ The goal of this project is to reproduce package repositories of stable branches the package repositories for **1.3.x equuleus** and **1.4.x sagitta**. The package repositories allow you to build *LTS* ISO with the usual slightly modified way. +Result +-- + +The result of this project is APT repository like this one https://vyos.tnyzeq.icu/ (hosted by dd010101). +Everyone is encouraged to build their own repository but if you just want to try and see if the resulting image +will for you then you can take shortcut and use this repository directly as opposite to building your own. +See the repository page for examples how to use it, it's very similar to the original Docker build with few extra bits. + Host requirements and precautions -- -- cgit v1.2.3