misc: Migration to GitHub
diff --git a/.forgejo/workflows/release.yml b/.forgejo/workflows/release.yml
deleted file mode 100644
index deeab282..00000000
--- a/.forgejo/workflows/release.yml
+++ /dev/null
@@ -1,100 +0,0 @@
-name: Release
-
-on:
- push:
- tags:
- - 'v*'
-
-jobs:
- build:
- name: Build and upload release tarball
- runs-on: codeberg-small
- container: archlinux:latest
-
- steps:
- - name: Create resolv.conf
- run: |
- set -ex
- echo 'nameserver 8.8.8.8' >/etc/resolv.conf
- echo 'nameserver 8.8.4.4' >>/etc/resolv.conf
-
- - name: Install dependencies
- run: pacman --noconfirm -Syu && pacman --needed --noconfirm -S nodejs jq curl tea base-devel gnupg gzip bzip2 xz git autoconf automake nasm curl mtools llvm clang lld github-cli
-
- - name: Import GPG public key
- run: gpg --batch --keyserver hkps://keyserver.ubuntu.com --recv-keys 05D29860D0A0668AAEFB9D691F3C021BECA23821
-
- - name: Import GPG private key
- run: echo "$MINTSUKI_PRIVATE_KEY" | gpg --batch --import
- env:
- MINTSUKI_PRIVATE_KEY: ${{ secrets.MINTSUKI_PRIVATE_KEY }}
-
- - name: Checkout code
- uses: https://code.forgejo.org/actions/checkout@v6
-
- - name: Package release tarball
- run: |
- set -e
- ./bootstrap
- ./configure
- make dist
- mkdir dist-output
- mv limine-*.tar.* dist-output/
-
- - name: Sign release tarball
- run: |
- set -e
- for f in dist-output/*; do
- gpg --batch --default-key 05D29860D0A0668AAEFB9D691F3C021BECA23821 --detach-sign $f
- done
-
- - name: Release
- uses: https://code.forgejo.org/actions/forgejo-release@v2.7.3
- with:
- direction: upload
- hide-archive-link: true
- release-dir: dist-output
- release-notes: |
- Changelog can be found [here](https://codeberg.org/Limine/Limine/src/tag/${{ forge.ref_name }}/ChangeLog).
-
- Binary release can be found [here](https://codeberg.org/Limine/Limine/src/tag/${{ forge.ref_name }}-binary).
-
- Tarballs are signed using key ID `05D29860D0A0668AAEFB9D691F3C021BECA23821` which can be obtained from a keyserver such as `keyserver.ubuntu.com`.
-
- Import the public key with:
- ```bash
- gpg --keyserver hkps://keyserver.ubuntu.com --recv-keys 05D29860D0A0668AAEFB9D691F3C021BECA23821
- ```
-
- In order to verify the tarball with the given signature, do:
- ```bash
- gpg --verify <tarball sig file> <associated tarball>
- ```
-
- - name: GitHub mirror release
- env:
- GITHUB_TOKEN: ${{ secrets.MINTSUKI_GH_TOKEN }}
- run: |
- set -e
- cat >release_notes.txt <<'EOF'
- Changelog can be found [here](https://github.com/limine-bootloader/limine/blob/${{ forge.ref_name }}/ChangeLog).
-
- Binary release can be found [here](https://github.com/limine-bootloader/limine/tree/${{ forge.ref_name }}-binary).
-
- Tarballs are signed using key ID `05D29860D0A0668AAEFB9D691F3C021BECA23821` which can be obtained from a keyserver such as `keyserver.ubuntu.com`.
-
- Import the public key with:
- ```bash
- gpg --keyserver hkps://keyserver.ubuntu.com --recv-keys 05D29860D0A0668AAEFB9D691F3C021BECA23821
- ```
-
- In order to verify the tarball with the given signature, do:
- ```bash
- gpg --verify <tarball sig file> <associated tarball>
- ```
- EOF
- gh release create "${{ forge.ref_name }}" \
- --repo "limine-bootloader/limine" \
- --title "${{ forge.ref_name }}" \
- --notes-file "release_notes.txt" \
- dist-output/*
diff --git a/.github/dependabot.yml b/.github/dependabot.yml
new file mode 100644
index 00000000..82ff7104
--- /dev/null
+++ b/.github/dependabot.yml
@@ -0,0 +1,7 @@
+version: 2
+updates:
+ - package-ecosystem: github-actions
+ directory: "/"
+ schedule:
+ interval: "daily"
+ target-branch: trunk
diff --git a/.forgejo/workflows/binary-release.yml b/.github/workflows/binary-release.yml
similarity index 81%
rename from .forgejo/workflows/binary-release.yml
rename to .github/workflows/binary-release.yml
index 822b8b0a..0c7d7330 100644
--- a/.forgejo/workflows/binary-release.yml
+++ b/.github/workflows/binary-release.yml
@@ -8,18 +8,12 @@ on:
jobs:
build:
name: Build and upload binary artifacts
- runs-on: codeberg-medium
+ runs-on: ubuntu-latest
container: archlinux:latest
steps:
- - name: Create resolv.conf
- run: |
- set -ex
- echo 'nameserver 8.8.8.8' >/etc/resolv.conf
- echo 'nameserver 8.8.4.4' >>/etc/resolv.conf
-
- name: Install dependencies
- run: pacman --noconfirm -Syu && pacman --needed --noconfirm -S nodejs base-devel gnupg git autoconf automake nasm curl mtools llvm clang lld mingw-w64-gcc
+ run: pacman --noconfirm -Syu && pacman --needed --noconfirm -S base-devel gnupg git autoconf automake nasm curl mtools llvm clang lld mingw-w64-gcc
- name: Import GPG public key
run: gpg --batch --keyserver hkps://keyserver.ubuntu.com --recv-keys 05D29860D0A0668AAEFB9D691F3C021BECA23821
@@ -30,23 +24,23 @@ jobs:
MINTSUKI_PRIVATE_KEY: ${{ secrets.MINTSUKI_PRIVATE_KEY }}
- name: Checkout code
- uses: https://code.forgejo.org/actions/checkout@v6
+ uses: actions/checkout@v6
with:
fetch-depth: '0'
- name: Git config
run: |
set -e
- git config --global --add safe.directory "$FORGEJO_WORKSPACE"
+ git config --global --add safe.directory "$GITHUB_WORKSPACE"
git config --global user.name 'Mintsuki'
git config --global user.email 'mintsuki@protonmail.com'
git config --global user.signingkey 05D29860D0A0668AAEFB9D691F3C021BECA23821
- name: Get tag name
- run: echo "TAG_NAME=$(git describe --exact-match --tags $(git log -n1 --pretty='%h'))" >> $FORGEJO_ENV
+ run: echo "TAG_NAME=$(git describe --exact-match --tags $(git log -n1 --pretty='%h'))" >> $GITHUB_ENV
- name: Get branch name
- run: echo "BRANCH_NAME=$(echo "$TAG_NAME" | grep -o 'v[0-9]\+\.')x" >> $FORGEJO_ENV
+ run: echo "BRANCH_NAME=$(echo "$TAG_NAME" | grep -o 'v[0-9]\+\.')x" >> $GITHUB_ENV
- name: Regenerate
run: ./bootstrap
@@ -78,7 +72,7 @@ jobs:
- name: Push binaries to binary branch
run: |
set -e
- git remote set-url origin https://x-access-token:${{ secrets.FORGEJO_TOKEN }}@codeberg.org/Limine/Limine.git
+ git remote set-url origin https://x-access-token:${{ secrets.GITHUB_TOKEN }}@github.com/Limine-Bootloader/Limine.git
git fetch --all
git checkout $BRANCH_NAME-binary || git checkout --orphan $BRANCH_NAME-binary
rm -rf $(ls -a | grep -v '^\.git$' | grep -v '^\.\.$' | grep -v '^\.$' | grep -v '^build$')
diff --git a/.forgejo/workflows/check.yml b/.github/workflows/check.yml
similarity index 84%
rename from .forgejo/workflows/check.yml
rename to .github/workflows/check.yml
index 161eb91c..11758416 100644
--- a/.forgejo/workflows/check.yml
+++ b/.github/workflows/check.yml
@@ -5,27 +5,21 @@ on: [push, pull_request]
jobs:
build:
name: Check for compilation failures
- runs-on: codeberg-small
+ runs-on: ubuntu-latest
container: archlinux:latest
steps:
- - name: Create resolv.conf
- run: |
- set -ex
- echo 'nameserver 8.8.8.8' >/etc/resolv.conf
- echo 'nameserver 8.8.4.4' >>/etc/resolv.conf
-
- name: Install dependencies
- run: pacman --noconfirm -Syu && pacman --needed --noconfirm -S nodejs base-devel git autoconf automake nasm curl mtools llvm clang lld
+ run: pacman --noconfirm -Syu && pacman --needed --noconfirm -S base-devel git autoconf automake nasm curl mtools llvm clang lld
- name: Checkout code
- uses: https://code.forgejo.org/actions/checkout@v6
+ uses: actions/checkout@v6
- name: Build the bootloader (LLVM, default)
run: ./bootstrap && ./configure --enable-werror --enable-all && make all && make distclean
- name: Set cross GCC version
- run: echo "GCC_VERSION=15.2.0" >> $FORGEJO_ENV
+ run: echo "GCC_VERSION=15.2.0" >> $GITHUB_ENV
- name: Download GCC cross toolchains
run: |
diff --git a/.forgejo/workflows/pr_branch_check.yml b/.github/workflows/pr_branch_check.yml
similarity index 81%
rename from .forgejo/workflows/pr_branch_check.yml
rename to .github/workflows/pr_branch_check.yml
index 04645d9f..87e61ca9 100644
--- a/.forgejo/workflows/pr_branch_check.yml
+++ b/.github/workflows/pr_branch_check.yml
@@ -5,10 +5,10 @@ on: [ pull_request ]
jobs:
pr_branch_check:
name: Check that the PR is targetting trunk
- runs-on: codeberg-tiny
+ runs-on: ubuntu-latest
steps:
- name: Check that the PR is targetting trunk
- if: ${{ forge.base_ref != 'trunk' }}
+ if: ${{ github.base_ref != 'trunk' }}
run: |
set -e
echo "The PR is not targetting the trunk branch, please fix that."
diff --git a/.forgejo/workflows/qa.yml b/.github/workflows/qa.yml
similarity index 52%
rename from .forgejo/workflows/qa.yml
rename to .github/workflows/qa.yml
index 4163bd5d..a8c5ecf9 100644
--- a/.forgejo/workflows/qa.yml
+++ b/.github/workflows/qa.yml
@@ -5,20 +5,14 @@ on: [ merge_group, push, pull_request ]
jobs:
spellcheck:
name: Spellcheck
- runs-on: codeberg-tiny
+ runs-on: ubuntu-latest
container: archlinux:latest
steps:
- - name: Create resolv.conf
- run: |
- set -ex
- echo 'nameserver 8.8.8.8' >/etc/resolv.conf
- echo 'nameserver 8.8.4.4' >>/etc/resolv.conf
-
- name: Install dependencies
- run: pacman --noconfirm -Syu && pacman --needed --noconfirm -S nodejs git typos
+ run: pacman --noconfirm -Syu && pacman --needed --noconfirm -S git typos
- name: Checkout code
- uses: https://code.forgejo.org/actions/checkout@v6
+ uses: actions/checkout@v6
- name: Run spellchecker
run: typos
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
new file mode 100644
index 00000000..775c0934
--- /dev/null
+++ b/.github/workflows/release.yml
@@ -0,0 +1,72 @@
+name: Release
+
+on:
+ push:
+ tags:
+ - 'v*'
+
+jobs:
+ build:
+ name: Build and upload release tarball
+ runs-on: ubuntu-latest
+ container: archlinux:latest
+
+ steps:
+ - name: Install dependencies
+ run: pacman --noconfirm -Syu && pacman --needed --noconfirm -S base-devel gnupg gzip bzip2 xz git autoconf automake nasm curl mtools llvm clang lld
+
+ - name: Import GPG public key
+ run: gpg --batch --keyserver hkps://keyserver.ubuntu.com --recv-keys 05D29860D0A0668AAEFB9D691F3C021BECA23821
+
+ - name: Import GPG private key
+ run: echo "$MINTSUKI_PRIVATE_KEY" | gpg --batch --import
+ env:
+ MINTSUKI_PRIVATE_KEY: ${{ secrets.MINTSUKI_PRIVATE_KEY }}
+
+ - name: Checkout code
+ uses: actions/checkout@v6
+
+ - name: Package release tarball
+ run: |
+ set -e
+ ./bootstrap
+ ./configure
+ make dist
+
+ - name: Sign release tarball
+ run: |
+ set -e
+ for f in limine-*.tar.*; do \
+ gpg --batch --default-key 05D29860D0A0668AAEFB9D691F3C021BECA23821 --detach-sign $f; \
+ done
+
+ - name: Create release notes
+ run: |
+ cat <<EOF >rel_notes.txt
+ Changelog can be found [here](https://github.com/Limine-Bootloader/Limine/blob/$TAG_NAME/ChangeLog).
+
+ Binary release can be found [here](https://github.com/Limine-Bootloader/Limine/tree/$TAG_NAME-binary).
+ EOF
+ cat <<'EOF' >>rel_notes.txt
+
+ Tarballs are signed using key ID `05D29860D0A0668AAEFB9D691F3C021BECA23821` which can be obtained from a keyserver such as `keyserver.ubuntu.com`.
+
+ Import the public key with:
+ ```bash
+ gpg --keyserver hkps://keyserver.ubuntu.com --recv-keys 05D29860D0A0668AAEFB9D691F3C021BECA23821
+ ```
+
+ In order to verify the tarball with the given signature, do:
+ ```bash
+ gpg --verify <tarball sig file> <associated tarball>
+ ```
+ EOF
+
+ - name: Release
+ uses: softprops/action-gh-release@153bb8e04406b158c6c84fc1615b65b24149a1fe
+ with:
+ body_path: rel_notes.txt
+ files: |
+ limine-*.tar.*
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
diff --git a/3RDPARTY.md b/3RDPARTY.md
index eee4a168..1ab469c3 100644
--- a/3RDPARTY.md
+++ b/3RDPARTY.md
@@ -19,18 +19,18 @@ that Limine is distributed under:
A non-binding, informal summary of all projects Limine depends on, and the
licenses used by said projects, in SPDX format, is as follows:
-- [cc-runtime](https://codeberg.org/OSDev/cc-runtime)
+- [cc-runtime](https://github.com/osdev0/cc-runtime)
(Apache-2.0 WITH LLVM-exception) is used to provide runtime libgcc-like
routines.
-- [0BSD Freestanding C Headers](https://codeberg.org/OSDev/freestnd-c-hdrs-0bsd)
+- [0BSD Freestanding C Headers](https://github.com/osdev0/freestnd-c-hdrs-0bsd)
(0BSD) provide GCC and Clang compatible freestanding C headers.
-- [Limine Boot Protocol](https://codeberg.org/Limine/limine-protocol)
+- [Limine Boot Protocol](https://github.com/Limine-Bootloader/limine-protocol)
(0BSD) has the C/C++ header and the specification text of the Limine Boot
Protocol.
-- [PicoEFI](https://codeberg.org/PicoEFI/PicoEFI) (multiple licenses, see list
+- [PicoEFI](https://github.com/PicoEFI/PicoEFI) (multiple licenses, see list
below) provides headers and build-time support for UEFI.
- BSD-2-Clause
- BSD-2-Clause-Patent
@@ -52,13 +52,13 @@ below) provides headers and build-time support for UEFI.
- [tinf](https://github.com/jibsen/tinf) (Zlib) is used in early x86 BIOS
stages for GZIP decompression of stage2.
-- [Flanterm](https://codeberg.org/Mintsuki/Flanterm) (BSD-2-Clause) is used for
+- [Flanterm](https://github.com/Mintsuki/Flanterm) (BSD-2-Clause) is used for
text related screen drawing.
- [stb_image](https://github.com/nothings/stb/blob/master/stb_image.h) (MIT) is
used for wallpaper image loading.
-- [libfdt](https://codeberg.org/OSDev/libfdt) (BSD-2-Clause) is used for
+- [libfdt](https://github.com/osdev0/libfdt) (BSD-2-Clause) is used for
manipulating Flat Device Trees.
Note that some of these projects, or parts of them, are provided under
diff --git a/GNUmakefile.in b/GNUmakefile.in
index 065d0ef2..a7f515c2 100644
--- a/GNUmakefile.in
+++ b/GNUmakefile.in
@@ -305,7 +305,7 @@ dist:
rm -rf '$(call SHESCAPE,$(BUILDDIR))'/"$(DIST_OUTPUT)/common/lib/stb_image.h.nopatch"
rm -rf '$(call SHESCAPE,$(BUILDDIR))'/"$(DIST_OUTPUT)/.git"
rm -rf '$(call SHESCAPE,$(BUILDDIR))'/"$(DIST_OUTPUT)/.gitignore"
- rm -rf '$(call SHESCAPE,$(BUILDDIR))'/"$(DIST_OUTPUT)/.forgejo"
+ rm -rf '$(call SHESCAPE,$(BUILDDIR))'/"$(DIST_OUTPUT)/.github"
rm -rf '$(call SHESCAPE,$(BUILDDIR))'/"$(DIST_OUTPUT)/README.md"
rm -rf '$(call SHESCAPE,$(BUILDDIR))'/"$(DIST_OUTPUT)/autom4te.cache"
rm -rf '$(call SHESCAPE,$(BUILDDIR))'/"$(DIST_OUTPUT)/test"
diff --git a/INSTALL.md b/INSTALL.md
index 764b0a68..573b59f4 100644
--- a/INSTALL.md
+++ b/INSTALL.md
@@ -15,7 +15,8 @@ the respective binutils.
## Configure
If using a release tarball (recommended, see
-https://codeberg.org/Limine/Limine/releases), run `./configure` directly.
+https://github.com/Limine-Bootloader/Limine/releases), run `./configure`
+directly.
If checking out from the repository, run `./bootstrap` first in order to
download the necessary [dependencies](3RDPARTY.md) and generate the configure
diff --git a/README.md b/README.md
index 31440d63..e6358345 100644
--- a/README.md
+++ b/README.md
@@ -1,19 +1,19 @@
# Limine [](https://matrix.to/#/#limine:matrix.org) [](https://fluxer.gg/ZRviNMvT)
<p align="center">
- <img src="https://codeberg.org/Limine/Limine/raw/branch/trunk/logo.png" alt="Limine's logo"/>
+ <img src="https://github.com/Limine-Bootloader/Limine/blob/trunk/logo.png?raw=true" alt="Limine's logo"/>
</p>
### What is Limine?
Limine (pronounced as demonstrated [here](https://www.merriam-webster.com/dictionary/in%20limine))
is a modern, advanced, portable, multiprotocol bootloader and boot manager, also used
-as the reference implementation for the [Limine boot protocol](https://codeberg.org/Limine/limine-protocol/src/branch/trunk/PROTOCOL.md).
+as the reference implementation for the [Limine boot protocol](https://github.com/Limine-Bootloader/limine-protocol/blob/trunk/PROTOCOL.md).
### Community, Support, and Donations
#### Donate
-If you want to support the work I ([@mintsuki](https://codeberg.org/Mintsuki)) do on Limine, feel free to donate to me on Liberapay:
+If you want to support the work I ([@mintsuki](https://github.com/Mintsuki)) do on Limine, feel free to donate to me on Liberapay:
<p><a href="https://liberapay.com/mintsuki/donate"><img alt="Donate using Liberapay" src="https://liberapay.com/assets/widgets/donate.svg"></a></p>
Donations welcome, but absolutely not mandatory!
@@ -37,7 +37,7 @@ and a [Fluxer community](https://fluxer.gg/ZRviNMvT) if you need support, info,
### Supported boot protocols
* Linux
-* [Limine](https://codeberg.org/Limine/limine-protocol/src/branch/trunk/PROTOCOL.md)
+* [Limine](https://github.com/Limine-Bootloader/limine-protocol/blob/trunk/PROTOCOL.md)
* Multiboot 1
* Multiboot 2
* Chainloading
@@ -70,16 +70,16 @@ All Limine releases since 7.x use [Semantic Versioning](https://semver.org/spec/
For convenience, for point releases, binaries are distributed. These binaries
are shipped in the `-binary` branches and tags of this repository
-(see [branches](https://codeberg.org/Limine/Limine/branches) and
-[tags](https://codeberg.org/Limine/Limine/tags)).
+(see [branches](https://github.com/Limine-Bootloader/Limine/branches/all) and
+[tags](https://github.com/Limine-Bootloader/Limine/tags)).
For example, to clone the latest binary release of the `11.x` branch, one can do:
```bash
-git clone https://codeberg.org/Limine/Limine.git --branch=v11.x-binary --depth=1
+git clone https://github.com/Limine-Bootloader/Limine.git --branch=v11.x-binary --depth=1
```
or, to clone a specific binary point release (for example `11.2.1`):
```bash
-git clone https://codeberg.org/Limine/Limine.git --branch=v11.2.1-binary --depth=1
+git clone https://github.com/Limine-Bootloader/Limine.git --branch=v11.2.1-binary --depth=1
```
In order to rebuild host utilities like `limine`, simply run `make` in the binary
diff --git a/bootstrap b/bootstrap
index 90965858..887fe665 100755
--- a/bootstrap
+++ b/bootstrap
@@ -71,26 +71,26 @@ download_by_hash() {
if ! test -f version; then
clone_repo_commit \
- https://codeberg.org/OSDev/freestnd-c-hdrs-0bsd.git \
+ https://github.com/osdev0/freestnd-c-hdrs-0bsd.git \
freestnd-c-hdrs \
097259a899d30f0a4b7a694de2de5fdda942e923
clone_repo_commit \
- https://codeberg.org/OSDev/cc-runtime.git \
+ https://github.com/osdev0/cc-runtime.git \
cc-runtime \
dae79833b57a01b9fd3e359ee31def69f5ae899b
cp cc-runtime/src/cc-runtime.c common/cc-runtime.s2.c
cp cc-runtime/src/cc-runtime.c decompressor/cc-runtime.c
clone_repo_commit \
- https://codeberg.org/Limine/limine-protocol.git \
+ https://github.com/Limine-Bootloader/limine-protocol.git \
limine-protocol \
- c5a7f597afa5da2b45f1edb1fd8f22c5ac6c57a7
+ 80ef54bed402b8c0b672a707c1df4c532f3428ad
clone_repo_commit \
- https://codeberg.org/PicoEFI/PicoEFI.git \
+ https://github.com/PicoEFI/PicoEFI.git \
picoefi \
- 8b79fdaa72ee548a8ea24e3dc4d87bf281312865
+ 9c99f66e4c15aebfd72e7becb72358473b484fcf
clone_repo_commit \
https://github.com/jibsen/tinf.git \
@@ -102,7 +102,7 @@ if ! test -f version; then
rm -f decompressor/tinf/*.orig
clone_repo_commit \
- https://codeberg.org/Mintsuki/Flanterm.git \
+ https://github.com/Mintsuki/Flanterm.git \
flanterm \
112434532822dde252c84b25a6798a9c00515d66
@@ -115,7 +115,7 @@ if ! test -f version; then
rm -f common/lib/stb_image.h.orig
clone_repo_commit \
- https://codeberg.org/OSDev/libfdt.git \
+ https://github.com/osdev0/libfdt.git \
libfdt \
7bf94e6347129d17eca263112296ad170dec28a9
fi
diff --git a/configure.ac b/configure.ac
index 312a0d19..b2e5d3c4 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,4 +1,4 @@
-AC_INIT([Limine], [m4_esyscmd([./version.sh])], [https://codeberg.org/Limine/Limine/issues], [limine], [https://limine-bootloader.org/])
+AC_INIT([Limine], [m4_esyscmd([./version.sh])], [https://github.com/Limine-Bootloader/Limine/issues], [limine], [https://limine-bootloader.org/])
AC_PREREQ([2.69])
