mirror of
https://github.com/fosslinux/live-bootstrap.git
synced 2026-03-02 01:18:08 +01:00
Support mirrors within
This commit is contained in:
parent
88ea21dfc9
commit
df1c9e9aba
39 changed files with 159 additions and 83 deletions
28
DEVEL.md
28
DEVEL.md
|
|
@ -84,3 +84,31 @@ libraries that are compiled and installed.
|
|||
- Patches are licensed under the license of the project which they are
|
||||
patching.
|
||||
- All files (excluding files within submodules) must comply with REUSE v3.0.
|
||||
|
||||
## `sources` file
|
||||
|
||||
The format of the sources file for a HTTP source file is:
|
||||
|
||||
```
|
||||
<url> <checksum> [filename]
|
||||
```
|
||||
|
||||
For a Git repository snapshot:
|
||||
|
||||
```
|
||||
<git url> <URL to HTTP snapshot> <checksum> [filename]
|
||||
```
|
||||
|
||||
The format of a git url must always be `git://<path to repository>~<reference>`.
|
||||
`reference` is, for instance, a commit, tag or branch. Always use
|
||||
Git protocol path, except for GitHub, in which `git://` is automagically
|
||||
changed to `https://`.
|
||||
|
||||
The URL to HTTP snapshot may be `_` (a single underscore) if no HTTP snapshot
|
||||
exists. In this case, the filename is compulsory. The checksum is of the Git
|
||||
snapshot, generated with `git archive`. See `mirror.sh` for more detailed rules.
|
||||
|
||||
Some specific helpful things:
|
||||
- prefer `.tar.gz`
|
||||
- For GitHub, all snpashots are generated with long commit IDs, so use long
|
||||
commit IDs.
|
||||
|
|
|
|||
|
|
@ -9,10 +9,19 @@
|
|||
download_source() {
|
||||
local distfiles="${1}"
|
||||
local url="${2}"
|
||||
local checksum="${3}"
|
||||
local fname="${4}"
|
||||
shift 2
|
||||
if [[ "${url}" == git://* ]]; then
|
||||
url="${1}"
|
||||
shift
|
||||
fi
|
||||
local checksum="${1}"
|
||||
local fname="${2}"
|
||||
# Default to basename of url if not given
|
||||
fname="${fname:-$(basename "${url}")}"
|
||||
if [ "${fname}" = "_" ]; then
|
||||
echo "ERROR: ${url} must have a filename specified"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
local dest_path="${distfiles}/${fname}"
|
||||
if ! [ -e "${dest_path}" ]; then
|
||||
|
|
|
|||
|
|
@ -10,9 +10,11 @@ This file contains all code required to generate the boot image for live-bootstr
|
|||
|
||||
import hashlib
|
||||
import os
|
||||
import random
|
||||
import shutil
|
||||
import tarfile
|
||||
import traceback
|
||||
|
||||
import requests
|
||||
|
||||
# pylint: disable=too-many-instance-attributes
|
||||
|
|
@ -24,11 +26,13 @@ class Generator():
|
|||
git_dir = os.path.join(os.path.dirname(os.path.join(__file__)), '..')
|
||||
distfiles_dir = os.path.join(git_dir, 'distfiles')
|
||||
|
||||
def __init__(self, arch, external_sources, early_preseed, repo_path):
|
||||
# pylint: disable=too-many-arguments,too-many-positional-arguments
|
||||
def __init__(self, arch, external_sources, early_preseed, repo_path, mirrors):
|
||||
self.arch = arch
|
||||
self.early_preseed = early_preseed
|
||||
self.external_sources = external_sources
|
||||
self.repo_path = repo_path
|
||||
self.mirrors = mirrors
|
||||
self.source_manifest = self.get_source_manifest(not self.external_sources)
|
||||
self.early_source_manifest = self.get_source_manifest(True)
|
||||
self.target_dir = None
|
||||
|
|
@ -278,8 +282,7 @@ actual: {readable_hash}\n\
|
|||
When in doubt, try deleting the file in question -- it will be downloaded again when running \
|
||||
this script the next time")
|
||||
|
||||
@staticmethod
|
||||
def download_file(url, directory, file_name, silent=False):
|
||||
def download_file(self, url, directory, file_name, silent=False):
|
||||
"""
|
||||
Download a single source archive.
|
||||
"""
|
||||
|
|
@ -297,14 +300,33 @@ this script the next time")
|
|||
if not os.path.isfile(abs_file_name):
|
||||
if not silent:
|
||||
print(f"Downloading: {file_name}")
|
||||
response = requests.get(url, allow_redirects=True, stream=True,
|
||||
|
||||
def do_download(source):
|
||||
response = requests.get(source, allow_redirects=True, stream=True,
|
||||
headers=headers, timeout=20)
|
||||
if response.status_code == 200:
|
||||
with open(abs_file_name, 'wb') as target_file:
|
||||
target_file.write(response.raw.read())
|
||||
return True
|
||||
print(f"Download failed from {option}: {response.status_code} {response.reason}")
|
||||
return False
|
||||
|
||||
done = False
|
||||
if self.mirrors:
|
||||
options = [f"{x}/{file_name}" for x in self.mirrors]
|
||||
else:
|
||||
raise requests.HTTPError("Download failed: HTTP " +
|
||||
str(response.status_code) + " " + response.reason)
|
||||
options = []
|
||||
random.shuffle(options)
|
||||
for option in options:
|
||||
if do_download(option):
|
||||
done = True
|
||||
break
|
||||
|
||||
if not done:
|
||||
if url == "_" or not do_download(url):
|
||||
raise requests.RequestException(f"Unable to download {url} from ",
|
||||
"any mirror or original")
|
||||
|
||||
return abs_file_name
|
||||
|
||||
def get_packages(self):
|
||||
|
|
@ -344,6 +366,9 @@ this script the next time")
|
|||
for source in sources.readlines():
|
||||
source = source.strip().split(" ")
|
||||
|
||||
if source[0].startswith("git://"):
|
||||
source = source[1:]
|
||||
|
||||
if len(source) > 2:
|
||||
file_name = source[2]
|
||||
else:
|
||||
|
|
|
|||
12
rootfs.py
12
rootfs.py
|
|
@ -50,6 +50,12 @@ def create_configuration_file(args):
|
|||
config.write("KERNEL_BOOTSTRAP=False\n")
|
||||
config.write(f"BUILD_KERNELS={args.update_checksums or args.build_kernels}\n")
|
||||
config.write(f"CONFIGURATOR={args.configurator}\n")
|
||||
if not args.external_sources:
|
||||
if args.mirrors:
|
||||
config.write(f"MIRRORS=\"{" ".join(args.mirrors)}\"\n")
|
||||
config.write(f"MIRRORS_LEN={len(args.mirrors)}\n")
|
||||
else:
|
||||
config.write("MIRRORS_LEN=0\n")
|
||||
|
||||
# pylint: disable=too-many-statements,too-many-branches
|
||||
def main():
|
||||
|
|
@ -94,6 +100,9 @@ def main():
|
|||
parser.add_argument("--configurator",
|
||||
help="Run the interactive configurator",
|
||||
action="store_true")
|
||||
parser.add_argument("-m", "--mirrors",
|
||||
help="Mirrors to download distfiles from",
|
||||
nargs='+')
|
||||
parser.add_argument("-r", "--repo",
|
||||
help="Path to prebuilt binary packages", nargs=None)
|
||||
parser.add_argument("--early-preseed",
|
||||
|
|
@ -187,7 +196,8 @@ def main():
|
|||
generator = Generator(arch=args.arch,
|
||||
external_sources=args.external_sources,
|
||||
repo_path=args.repo,
|
||||
early_preseed=args.early_preseed)
|
||||
early_preseed=args.early_preseed,
|
||||
mirrors=args.mirrors)
|
||||
|
||||
bootstrap(args, generator, target, args.target_size)
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,4 @@
|
|||
https://github.com/schierlm/gnu-autogen-bootstrapping/archive/refs/tags/autogen-5.18.16-v1.0.1.tar.gz 953ba180b18acff188a0a8700770c7cf2fc97e1683c7b9699a5a748b542ccdd5
|
||||
git://github.com/schierlm/gnu-autogen-bootstrapping~autogen-5.18.16-v1.0.1 https://github.com/schierlm/gnu-autogen-bootstrapping/archive/refs/tags/autogen-5.18.16-v1.0.1.tar.gz 953ba180b18acff188a0a8700770c7cf2fc97e1683c7b9699a5a748b542ccdd5
|
||||
https://mirrors.kernel.org/gnu/autogen/rel5.18.16/autogen-5.18.16.tar.xz f8a13466b48faa3ba99fe17a069e71c9ab006d9b1cfabe699f8c60a47d5bb49a
|
||||
https://git.savannah.gnu.org/cgit/autogen.git/snapshot/autogen-5.18.16.tar.gz 0c04ab2f7ce13c4a1c06c4abc7dfe75312aad89b8b0a1068e5e563787eb56632
|
||||
https://files.bootstrapping.world/autogen-5.18.16.tar.gz 0c04ab2f7ce13c4a1c06c4abc7dfe75312aad89b8b0a1068e5e563787eb56632
|
||||
http://git.savannah.gnu.org/cgit/gnulib.git/snapshot/gnulib-8f4538a5.tar.gz e207c0bb72093c3a72dde302fcfaa1dbda12a62172d47b73565883a92209ebab
|
||||
https://files.bootstrapping.world/gnulib-8f4538a5.tar.gz e207c0bb72093c3a72dde302fcfaa1dbda12a62172d47b73565883a92209ebab
|
||||
git://git.savannah.gnu.org/autogen.git~v5.18.16 https://git.savannah.gnu.org/cgit/autogen.git/snapshot/autogen-5.18.16.tar.gz 0c04ab2f7ce13c4a1c06c4abc7dfe75312aad89b8b0a1068e5e563787eb56632
|
||||
git://git.savannah.gnu.org/gnulib.git~8f4538a5 _ e207c0bb72093c3a72dde302fcfaa1dbda12a62172d47b73565883a92209ebab gnulib-8f4538a5.tar.gz
|
||||
|
|
|
|||
|
|
@ -16,8 +16,8 @@ mkdir build src
|
|||
cd build
|
||||
|
||||
# Extract
|
||||
cp ${DISTFILES}/${pkg}.tar.bz2 ../src/
|
||||
bzip2 -d -f ../src/${pkg}.tar.bz2
|
||||
cp ${DISTFILES}/${pkg}.tar.gz ../src/
|
||||
gzip -d -f ../src/${pkg}.tar.gz
|
||||
tar xf ../src/${pkg}.tar
|
||||
rm -r ../src/
|
||||
cd ${pkg}
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
https://src.fedoraproject.org/repo/pkgs/bash/bash-2.05b.tar.bz2/f3e5428ed52a4f536f571a945d5de95d/bash-2.05b.tar.bz2 1ce4e5b47a6354531389f0adefb54dee2823227bf6e1e59a31c0e9317a330822
|
||||
https://mirrors.kernel.org/gnu/bash/bash-2.05b.tar.gz ba03d412998cc54bd0b0f2d6c32100967d3137098affdc2d32e6e7c11b163fe4
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
https://mirrors.kernel.org/slackware/slackware64-15.0/source/ap/bc/bc-1.07.1.tar.xz 95396f88fc719a1bf8bd463809119526fef44a42ab9eb708335c2cb79bc801c6
|
||||
https://mirrors.kernel.org/gnu/bc/bc-1.07.1.tar.gz 62adfca89b0a1c0164c2cdca59ca210c1d44c3ffc46daf9931cf4942664cb02a
|
||||
|
|
|
|||
|
|
@ -1,3 +1,2 @@
|
|||
http://mirrors.kernel.org/gnu/bison/bison-2.3.tar.bz2 b10d7e9e354be72aee4e4911cf19dd27b5c527d4e7200857365b5fcdeea0dffb
|
||||
http://git.savannah.gnu.org/cgit/gnulib.git/snapshot/gnulib-b28236b.tar.gz 0190f28cb155fedd22bf8558c3e8705eed9eacfb7ae29e7508d025a68eb90899
|
||||
https://files.bootstrapping.world/gnulib-b28236b.tar.gz 0190f28cb155fedd22bf8558c3e8705eed9eacfb7ae29e7508d025a68eb90899
|
||||
git://git.savannah.gnu.org/gnulib.git~b28236b _ 0190f28cb155fedd22bf8558c3e8705eed9eacfb7ae29e7508d025a68eb90899 gnulib-b28236b.tar.gz
|
||||
|
|
|
|||
|
|
@ -1,3 +1,2 @@
|
|||
http://mirrors.kernel.org/gnu/bison/bison-3.4.2.tar.xz 27d05534699735dc69e86add5b808d6cb35900ad3fd63fa82e3eb644336abfa0
|
||||
http://git.savannah.gnu.org/cgit/gnulib.git/snapshot/gnulib-672663a.tar.gz 8cced51f89a950472473856f86e88f5daf97a2347756125ccdc8ee907deec570
|
||||
https://files.bootstrapping.world/gnulib-672663a.tar.gz 8cced51f89a950472473856f86e88f5daf97a2347756125ccdc8ee907deec570
|
||||
git://git.savannah.gnu.org/gnulib.git~672663a _ 8cced51f89a950472473856f86e88f5daf97a2347756125ccdc8ee907deec570 gnulib-672663a.tar.gz
|
||||
|
|
|
|||
|
|
@ -15,8 +15,8 @@ mkdir build src
|
|||
cd build
|
||||
|
||||
# Extract
|
||||
cp ${DISTFILES}/${pkg}.tar.xz ../src/
|
||||
unxz --file ../src/${pkg}.tar.xz --output ../src/${pkg}.tar
|
||||
cp ${DISTFILES}/${pkg}.tar.gz ../src/
|
||||
gzip -d -f ../src/${pkg}.tar.gz
|
||||
tar xf ../src/${pkg}.tar
|
||||
rm -r ../src
|
||||
cd ${pkg}
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
https://mirrors.kernel.org/slackware/slackware-14.0/patches/source/bzip2/bzip2-1.0.8.tar.xz 47fd74b2ff83effad0ddf62074e6fad1f6b4a77a96e121ab421c20a216371a1f
|
||||
https://sourceware.org/pub/bzip2/bzip2-1.0.8.tar.gz ab5a03176ee106d3f0fa90e381da478ddae405918153cca248e682cd0c4a2269
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
http://git.savannah.gnu.org/cgit/coreutils.git/snapshot/coreutils-9.4.tar.xz 8fb56810310253300b3d6f84e68dc97eb2d74e1f4f78e05776831d9d82e4f2d7
|
||||
https://files.bootstrapping.world/coreutils-9.4.tar.xz 8fb56810310253300b3d6f84e68dc97eb2d74e1f4f78e05776831d9d82e4f2d7
|
||||
http://git.savannah.gnu.org/cgit/gnulib.git/snapshot/gnulib-bb5bb43.tar.gz b8aa1ac1b18c67f081486069e6a7a5564f20431c2313a94c20a46dcfb904be2a
|
||||
https://files.bootstrapping.world/gnulib-bb5bb43.tar.gz b8aa1ac1b18c67f081486069e6a7a5564f20431c2313a94c20a46dcfb904be2a
|
||||
git://git.savannah.gnu.org/coreutils.git~v9.4 http://git.savannah.gnu.org/cgit/coreutils.git/snapshot/coreutils-9.4.tar.xz 8fb56810310253300b3d6f84e68dc97eb2d74e1f4f78e05776831d9d82e4f2d7
|
||||
git://git.savannah.gnu.org/gnulib.git~bb5bb43 _ b8aa1ac1b18c67f081486069e6a7a5564f20431c2313a94c20a46dcfb904be2a gnulib-bb5bb43.tar.gz
|
||||
http://ftp.unicode.org/Public/15.0.0/ucd/UnicodeData.txt 806e9aed65037197f1ec85e12be6e8cd870fc5608b4de0fffd990f689f376a73 UnicodeData-15.0.0.txt
|
||||
http://ftp.unicode.org/Public/15.0.0/ucd/PropList.txt e05c0a2811d113dae4abd832884199a3ea8d187ee1b872d8240a788a96540bfd PropList-15.0.0.txt
|
||||
http://ftp.unicode.org/Public/15.0.0/ucd/DerivedCoreProperties.txt d367290bc0867e6b484c68370530bdd1a08b6b32404601b8c7accaf83e05628d DerivedCoreProperties-15.0.0.txt
|
||||
|
|
|
|||
|
|
@ -1,3 +1,2 @@
|
|||
https://mirrors.kernel.org/gnu/diffutils/diffutils-3.10.tar.xz 90e5e93cc724e4ebe12ede80df1634063c7a855692685919bfe60b556c9bd09e
|
||||
http://git.savannah.gnu.org/cgit/gnulib.git/snapshot/gnulib-5d2fe24.tar.gz 72e7bb2d1d75e63d1c46d33b8dd22e8eb60afdba4af3e7251151b5c2a6f00bfb
|
||||
https://files.bootstrapping.world/gnulib-5d2fe24.tar.gz 72e7bb2d1d75e63d1c46d33b8dd22e8eb60afdba4af3e7251151b5c2a6f00bfb
|
||||
git://git.savannah.gnu.org/gnulib.git~5d2fe24 _ 72e7bb2d1d75e63d1c46d33b8dd22e8eb60afdba4af3e7251151b5c2a6f00bfb gnulib-5d2fe24.tar.gz
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
https://mirrors.kernel.org/slackware/slackware-13.37/source/a/ed/ed-1.4.tar.xz 102c80e6da527c6b8eebd5195cd05fc71808d60735d73e8bb503a5e294475007
|
||||
https://mirrors.kernel.org/gnu/ed/ed-1.4.tar.gz db36da85ee1a9d8bafb4b041bd4c8c11becba0c43ec446353b67045de1634fda
|
||||
|
|
|
|||
|
|
@ -3,8 +3,6 @@
|
|||
#
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
EXTRA_DISTFILES="gnulib-8e128e.tar.gz"
|
||||
|
||||
src_prepare() {
|
||||
. ../../import-gnulib.sh
|
||||
|
||||
|
|
|
|||
|
|
@ -1,3 +1,2 @@
|
|||
https://mirrors.kernel.org/gnu/findutils/findutils-4.2.33.tar.gz 813cd9405aceec5cfecbe96400d01e90ddad7b512d3034487176ce5258ab0f78
|
||||
https://git.savannah.gnu.org/cgit/gnulib.git/snapshot/gnulib-8e128e.tar.gz 0cfbf866bc39c31f25fa0e56af1e56c5e5c92fc1e5d51242ebafef7ea211f3d5
|
||||
https://files.bootstrapping.world/gnulib-8e128e.tar.gz 0cfbf866bc39c31f25fa0e56af1e56c5e5c92fc1e5d51242ebafef7ea211f3d5
|
||||
git://git.savannah.gnu.org/gnulib.git~8e128e _ 0cfbf866bc39c31f25fa0e56af1e56c5e5c92fc1e5d51242ebafef7ea211f3d5 gnulib-8e128e.tar.gz
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
http://ftp.gnu.org/gnu/gcc/gcc-10.4.0/gcc-10.4.0.tar.xz c9297d5bcd7cb43f3dfc2fed5389e948c9312fd962ef6a4ce455cff963ebe4f1
|
||||
http://mirrors.kernel.org/gnu/gcc/gcc-10.4.0/gcc-10.4.0.tar.xz c9297d5bcd7cb43f3dfc2fed5389e948c9312fd962ef6a4ce455cff963ebe4f1
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
https://ftp.gnu.org/gnu/gcc/gcc-13.1.0/gcc-13.1.0.tar.xz 61d684f0aa5e76ac6585ad8898a2427aade8979ed5e7f85492286c4dfc13ee86
|
||||
https://mirrors.kernel.org/gnu/gcc/gcc-13.1.0/gcc-13.1.0.tar.xz 61d684f0aa5e76ac6585ad8898a2427aade8979ed5e7f85492286c4dfc13ee86
|
||||
|
|
|
|||
|
|
@ -1,3 +1,2 @@
|
|||
https://mirrors.kernel.org/gnu/gettext/gettext-0.21.tar.xz d20fcbb537e02dcf1383197ba05bd0734ef7bf5db06bdb241eb69b7d16b73192
|
||||
https://git.savannah.gnu.org/cgit/gnulib.git/snapshot/gnulib-7daa86f.tar.gz 2d911c2f2ed97b347d6d360b742abdc98aa626d4f8f847ee682c7cde12e90871
|
||||
https://files.bootstrapping.world/gnulib-7daa86f.tar.gz 2d911c2f2ed97b347d6d360b742abdc98aa626d4f8f847ee682c7cde12e90871
|
||||
git://git.savannah.gnu.org/gnulib.git~7daa86f _ 2d911c2f2ed97b347d6d360b742abdc98aa626d4f8f847ee682c7cde12e90871 gnulib-7daa86f.tar.gz
|
||||
|
|
|
|||
|
|
@ -2,9 +2,6 @@
|
|||
#
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
urls="https://mirrors.kernel.org/gnu/grep/grep-3.7.tar.xz
|
||||
http://git.savannah.gnu.org/cgit/gnulib.git/snapshot/gnulib-8f4538a5.tar.gz"
|
||||
|
||||
src_prepare() {
|
||||
rm configure
|
||||
find . -name 'Makefile.in' -delete
|
||||
|
|
|
|||
|
|
@ -1,3 +1,2 @@
|
|||
https://mirrors.kernel.org/gnu/grep/grep-3.7.tar.xz 5c10da312460aec721984d5d83246d24520ec438dd48d7ab5a05dbc0d6d6823c
|
||||
http://git.savannah.gnu.org/cgit/gnulib.git/snapshot/gnulib-8f4538a5.tar.gz e207c0bb72093c3a72dde302fcfaa1dbda12a62172d47b73565883a92209ebab
|
||||
https://files.bootstrapping.world/gnulib-8f4538a5.tar.gz e207c0bb72093c3a72dde302fcfaa1dbda12a62172d47b73565883a92209ebab
|
||||
git://git.savannah.gnu.org/gnulib.git~8f4538a5 _ e207c0bb72093c3a72dde302fcfaa1dbda12a62172d47b73565883a92209ebab gnulib-8f4538a5.tar.gz
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
https://mirrors.kernel.org/gnu/grub/grub-2.06.tar.xz b79ea44af91b93d17cd3fe80bdae6ed43770678a9a5ae192ccea803ebb657ee1
|
||||
https://git.savannah.gnu.org/cgit/gnulib.git/snapshot/gnulib-d271f86.tar.gz 31d69d3d251e39135b5194ddc6f897910d344059f7494d96a739aecbf7ac2b66
|
||||
https://files.bootstrapping.world/gnulib-d271f86.tar.gz 31d69d3d251e39135b5194ddc6f897910d344059f7494d96a739aecbf7ac2b66
|
||||
git://git.savannah.gnu.org/gnulib.git~d271f86 _ 31d69d3d251e39135b5194ddc6f897910d344059f7494d96a739aecbf7ac2b66 gnulib-d271f86.tar.gz
|
||||
http://ftp.unicode.org/Public/9.0.0/ucd/UnicodeData.txt 68dfc414d28257b9b5d6ddbb8b466c768c00ebdf6cbf7784364a9b6cad55ee8f UnicodeData-9.0.0.txt
|
||||
http://ftp.unicode.org/Public/9.0.0/ucd/PropList.txt f413ea8dbd3858de72f3148b47dd0586019761357d1481e3b65f3a025bc27f82 PropList-9.0.0.txt
|
||||
http://ftp.unicode.org/Public/9.0.0/ucd/DerivedCoreProperties.txt 6662c7e30b572df5d948c092692f52bcc79ab36d49a063a73d6435042db6fb3b DerivedCoreProperties-9.0.0.txt
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
https://mirrors.kernel.org/gnu/guile/guile-3.0.7.tar.xz f57d86c70620271bfceb7a9be0c81744a033f08adc7ceba832c9917ab3e691b7
|
||||
https://mirrors.kernel.org/gnu/guile/guile-3.0.9.tar.xz 1a2625ac72b2366e95792f3fe758fd2df775b4044a90a4a9787326e66c0d750d
|
||||
https://git.savannah.gnu.org/cgit/gnulib.git/snapshot/gnulib-901694b9.tar.gz f9aad85de1f41d57c9368d304020ffbf354a5e56db1297f022c3d12181134e56
|
||||
https://files.bootstrapping.world/gnulib-901694b9.tar.gz f9aad85de1f41d57c9368d304020ffbf354a5e56db1297f022c3d12181134e56
|
||||
https://git.savannah.gnu.org/cgit/gnulib.git/snapshot/gnulib-356a414e.tar.gz fc9973f1a9243fdc4b98d33d7704f3c71bfdc4c2ef96899b8f28cade7290a714
|
||||
https://files.bootstrapping.world/gnulib-356a414e.tar.gz fc9973f1a9243fdc4b98d33d7704f3c71bfdc4c2ef96899b8f28cade7290a714
|
||||
https://github.com/schierlm/guile-psyntax-bootstrapping/archive/refs/tags/guile-3.0.7.tar.gz 14cda9c416506dfadf60c14fc623ff01ef99b87564a78d0a29c5d17143c97609
|
||||
git://git.savannah.gnu.org/gnulib.git~901694b9 _ f9aad85de1f41d57c9368d304020ffbf354a5e56db1297f022c3d12181134e56 gnulib-901694b9.tar.gz
|
||||
git://git.savannah.gnu.org/gnulib.git~356a414e _ fc9973f1a9243fdc4b98d33d7704f3c71bfdc4c2ef96899b8f28cade7290a714 gnulib-356a414e.tar.gz
|
||||
git://github.com/schierlm/guile-psyntax-bootstrapping~guile-3.0.7 https://github.com/schierlm/guile-psyntax-bootstrapping/archive/refs/tags/guile-3.0.7.tar.gz 14cda9c416506dfadf60c14fc623ff01ef99b87564a78d0a29c5d17143c97609
|
||||
|
|
|
|||
|
|
@ -1,3 +1,2 @@
|
|||
https://mirrors.kernel.org/gnu/gzip/gzip-1.13.tar.xz 7454eb6935db17c6655576c2e1b0fabefd38b4d0936e0f87f48cd062ce91a057
|
||||
http://git.savannah.gnu.org/cgit/gnulib.git/snapshot/gnulib-5651802.tar.gz 56f1221eb682c3502ee097f583f44673570753cb452346ad4806d94560c3fac9
|
||||
https://files.bootstrapping.world/gnulib-5651802.tar.gz 56f1221eb682c3502ee097f583f44673570753cb452346ad4806d94560c3fac9
|
||||
git://git.savannah.gnu.org/gnulib.git~5651802 _ 56f1221eb682c3502ee097f583f44673570753cb452346ad4806d94560c3fac9 gnulib-5651802.tar.gz
|
||||
|
|
|
|||
|
|
@ -21,8 +21,6 @@ _get_files() {
|
|||
prefix="${1}"
|
||||
fs=
|
||||
if [ -n "$(ls 2>/dev/null)" ]; then
|
||||
# This can be removed once Debian 12 is stable
|
||||
# shellcheck disable=SC2035
|
||||
fs=$(echo *)
|
||||
fi
|
||||
if [ -n "$(ls .[0-z]* 2>/dev/null)" ]; then
|
||||
|
|
@ -258,18 +256,48 @@ build() {
|
|||
unset extract
|
||||
}
|
||||
|
||||
# An inventive way to randomise with what we know we always have
|
||||
randomize() {
|
||||
if command -v shuf >/dev/null 2>&1; then
|
||||
# shellcheck disable=SC2086
|
||||
shuf -e ${1} | tr '\n' ' '
|
||||
else
|
||||
mkdir -p /tmp/random
|
||||
for item in ${1}; do
|
||||
touch --date=@${RANDOM} /tmp/random/"${item//\//~*~*}"
|
||||
done
|
||||
# cannot rely on find existing
|
||||
# shellcheck disable=SC2012
|
||||
ls -1 -t /tmp/random | sed 's:~\*~\*:/:g' | tr '\n' ' '
|
||||
rm -r /tmp/random
|
||||
fi
|
||||
}
|
||||
|
||||
download_source_line() {
|
||||
url="${1}"
|
||||
if [[ "${1}" == git://* ]]; then
|
||||
shift
|
||||
fi
|
||||
upstream_url="${1}"
|
||||
checksum="${2}"
|
||||
fname="${3}"
|
||||
# Default to basename of url if not given
|
||||
fname="${fname:-$(basename "${url}")}"
|
||||
fname="${fname:-$(basename "${upstream_url}")}"
|
||||
if ! [ -e "${fname}" ]; then
|
||||
curl --fail --retry 5 --location "${url}" --output "${fname}" || true
|
||||
for mirror in $(randomize "${MIRRORS}"); do
|
||||
mirror_url="${mirror}/${fname}"
|
||||
echo "${mirror_url}"
|
||||
curl --fail --retry 3 --location "${mirror_url}" --output "${fname}" || true && break
|
||||
done
|
||||
if ! [ -e "${fname}" ] && [ "${upstream_url}" != "_" ]; then
|
||||
curl --fail --retry 3 --location "${upstream_url}" --output "${fname}" || true
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
check_source_line() {
|
||||
if [[ "${1}" == git://* ]]; then
|
||||
shift
|
||||
fi
|
||||
url="${1}"
|
||||
checksum="${2}"
|
||||
fname="${3}"
|
||||
|
|
@ -304,6 +332,9 @@ default_src_get() {
|
|||
|
||||
# Intelligently extracts a file based upon its filetype.
|
||||
extract_file() {
|
||||
if [[ "${1}" == git://* ]]; then
|
||||
shift
|
||||
fi
|
||||
f="${3:-$(basename "${1}")}"
|
||||
# shellcheck disable=SC2154
|
||||
case "${noextract}" in
|
||||
|
|
|
|||
|
|
@ -6,4 +6,4 @@
|
|||
#
|
||||
mkdir -p /external/repo
|
||||
|
||||
tar -cf - --exclude='/external/repo/*' --exclude='/external/repo-preseeded/*' --exclude='/external/distfiles/*' --exclude='/dev/*' --exclude='/proc/*' --exclude='/sys/*' --exclude='/tmp/*' / | bzip2 --best > /external/repo/base.tar.bz2
|
||||
#tar -cf - --exclude='/external/repo/*' --exclude='/external/repo-preseeded/*' --exclude='/external/distfiles/*' --exclude='/dev/*' --exclude='/proc/*' --exclude='/sys/*' --exclude='/tmp/*' / | bzip2 --best > /external/repo/base.tar.bz2
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
https://github.com/horms/kexec-tools/archive/refs/tags/v2.0.22.tar.gz af618de7848142f204b57811f703de3ae7aa3f5bc5d52226db35800fa8fc4dff
|
||||
git://github.com/horms/kexec-tools~v2.0.22 https://github.com/horms/kexec-tools/archive/refs/tags/v2.0.22.tar.gz af618de7848142f204b57811f703de3ae7aa3f5bc5d52226db35800fa8fc4dff
|
||||
|
|
|
|||
|
|
@ -1,3 +1,2 @@
|
|||
http://mirrors.kernel.org/gnu/libtool/libtool-2.4.7.tar.xz 4f7f217f057ce655ff22559ad221a0fd8ef84ad1fc5fcb6990cecc333aa1635d
|
||||
http://git.savannah.gnu.org/cgit/gnulib.git/snapshot/gnulib-a521820.tar.gz 719b399fe09a8f6ca14ba8c4a9a60ce9f93f4892effb50961ef3d8cd1a33ff65
|
||||
https://files.bootstrapping.world/gnulib-a521820.tar.gz 719b399fe09a8f6ca14ba8c4a9a60ce9f93f4892effb50961ef3d8cd1a33ff65
|
||||
git://git.savannah.gnu.org/gnulib.git~a521820 _ 719b399fe09a8f6ca14ba8c4a9a60ce9f93f4892effb50961ef3d8cd1a33ff65 gnulib-a521820.tar.gz
|
||||
|
|
|
|||
|
|
@ -1,3 +1,2 @@
|
|||
https://mirrors.kernel.org/gnu/libunistring/libunistring-0.9.10.tar.xz eb8fb2c3e4b6e2d336608377050892b54c3c983b646c561836550863003c05d7
|
||||
https://git.savannah.gnu.org/cgit/gnulib.git/snapshot/gnulib-52a06cb3.tar.gz 009989b81c0bebc5f6550636ed653fbcb237dafc2af5c706f3522087ca571e4d
|
||||
https://files.bootstrapping.world/gnulib-52a06cb3.tar.gz 009989b81c0bebc5f6550636ed653fbcb237dafc2af5c706f3522087ca571e4d
|
||||
git://git.savannah.gnu.org/gnulib.git~52a06cb3 _ 009989b81c0bebc5f6550636ed653fbcb237dafc2af5c706f3522087ca571e4d gnulib-52a06cb3.tar.gz
|
||||
|
|
|
|||
|
|
@ -1,3 +1,2 @@
|
|||
https://mirrors.kernel.org/gnu/m4/m4-1.4.19.tar.xz 63aede5c6d33b6d9b13511cd0be2cac046f2e70fd0a07aa9573a04a82783af96
|
||||
http://git.savannah.gnu.org/cgit/gnulib.git/snapshot/gnulib-3639c57.tar.gz 97dfbad67832641bc7f73437617b78abeafb9946723f19cf4c2ceecfc65fa48d
|
||||
https://files.bootstrapping.world/gnulib-3639c57.tar.gz 97dfbad67832641bc7f73437617b78abeafb9946723f19cf4c2ceecfc65fa48d
|
||||
git://git.savannah.gnu.org/gnulib.git~3639c57 _ 97dfbad67832641bc7f73437617b78abeafb9946723f19cf4c2ceecfc65fa48d gnulib-3639c57.tar.gz
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
http://snapshot.debian.org/archive/debian/20240325T091329Z/pool/main/o/openssl/openssl_3.0.13.orig.tar.gz 88525753f79d3bec27d2fa7c66aa0b92b3aa9498dafd93d7cfa4b3780cdae313
|
||||
https://github.com/openssl/openssl/releases/download/openssl-3.0.13/openssl-3.0.13.tar.gz 88525753f79d3bec27d2fa7c66aa0b92b3aa9498dafd93d7cfa4b3780cdae313
|
||||
|
|
|
|||
|
|
@ -1,3 +1,2 @@
|
|||
https://mirrors.kernel.org/gnu/patch/patch-2.7.6.tar.xz ac610bda97abe0d9f6b7c963255a11dcb196c25e337c61f94e4778d632f1d8fd
|
||||
https://git.savannah.gnu.org/cgit/gnulib.git/snapshot/gnulib-e017871.tar.gz a285dc300c3d9c25cc06e38827ef40f6073ec3b9b0fcb5bba433f943be92d8d4
|
||||
https://files.bootstrapping.world/gnulib-e017871.tar.gz a285dc300c3d9c25cc06e38827ef40f6073ec3b9b0fcb5bba433f943be92d8d4
|
||||
git://git.savannah.gnu.org/gnulib.git~e017871 _ a285dc300c3d9c25cc06e38827ef40f6073ec3b9b0fcb5bba433f943be92d8d4 gnulib-e017871.tar.gz
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
http://distfiles.macports.org/pkgconfig/pkg-config-0.29.2.tar.gz 6fc69c01688c9458a57eb9a1664c9aba372ccda420a02bf4429fe610e7e7d591
|
||||
https://pkgconfig.freedesktop.org/releases/pkg-config-0.29.2.tar.gz 6fc69c01688c9458a57eb9a1664c9aba372ccda420a02bf4429fe610e7e7d591
|
||||
|
|
|
|||
|
|
@ -22,4 +22,3 @@ http://ftp.unicode.org/Public/14.0.0/ucd/Unihan.zip 2ae4519b2b82cd4d15379c17e57b
|
|||
http://ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/PC/CP437.TXT 6bad4dabcdf5940227c7d81fab130dcb18a77850b5d79de28b5dc4e047b0aaac
|
||||
https://www.ietf.org/rfc/rfc3454.txt eb722fa698fb7e8823b835d9fd263e4cdb8f1c7b0d234edf7f0e3bd2ccbb2c79
|
||||
https://github.com/openssl/openssl/releases/download/openssl-3.0.13/openssl-3.0.13.tar.gz 88525753f79d3bec27d2fa7c66aa0b92b3aa9498dafd93d7cfa4b3780cdae313
|
||||
https://github.com/openssl/openssl/releases/download/openssl-3.0.13/openssl-3.0.13.tar.gz 88525753f79d3bec27d2fa7c66aa0b92b3aa9498dafd93d7cfa4b3780cdae313
|
||||
|
|
|
|||
|
|
@ -1,3 +1,2 @@
|
|||
https://mirrors.kernel.org/gnu/sed/sed-4.8.tar.xz f79b0cfea71b37a8eeec8490db6c5f7ae7719c35587f21edb0617f370eeff633
|
||||
http://git.savannah.gnu.org/cgit/gnulib.git/snapshot/gnulib-d279bc.tar.gz 12cfa21abf618a274017d6b18e95fc6582519d7c08e2403e5c5772ccdd5b85f4
|
||||
https://files.bootstrapping.world/gnulib-d279bc.tar.gz 12cfa21abf618a274017d6b18e95fc6582519d7c08e2403e5c5772ccdd5b85f4
|
||||
git://git.savannah.gnu.org/gnulib.git~d279bc _ 12cfa21abf618a274017d6b18e95fc6582519d7c08e2403e5c5772ccdd5b85f4 gnulib-d279bc.tar.gz
|
||||
|
|
|
|||
|
|
@ -1,3 +1,2 @@
|
|||
http://mirrors.kernel.org/gnu/tar/tar-1.34.tar.xz 63bebd26879c5e1eea4352f0d03c991f966aeb3ddeb3c7445c902568d5411d28
|
||||
http://git.savannah.gnu.org/cgit/gnulib.git/snapshot/gnulib-30820c.tar.gz df807e694deea2dcba0c43af318394f3e3fcd52658c3b71b61dad0ce0c0cfb77
|
||||
https://files.bootstrapping.world/gnulib-30820c.tar.gz df807e694deea2dcba0c43af318394f3e3fcd52658c3b71b61dad0ce0c0cfb77
|
||||
git://git.savannah.gnu.org/gnulib.git~30820c _ df807e694deea2dcba0c43af318394f3e3fcd52658c3b71b61dad0ce0c0cfb77 gnulib-30820c.tar.gz
|
||||
|
|
|
|||
|
|
@ -1,3 +1,2 @@
|
|||
https://mirrors.kernel.org/gnu/texinfo/texinfo-6.7.tar.xz 988403c1542d15ad044600b909997ba3079b10e03224c61188117f3676b02caa
|
||||
https://git.savannah.gnu.org/cgit/gnulib.git/snapshot/gnulib-b81ec69.tar.gz 1aeea67b7b3883ebcf2b90bc01f4182d7de073a052dabd3749f20c5aa4ad3e27
|
||||
https://files.bootstrapping.world/gnulib-b81ec69.tar.gz 1aeea67b7b3883ebcf2b90bc01f4182d7de073a052dabd3749f20c5aa4ad3e27
|
||||
git://git.savannah.gnu.org/gnulib.git~b81ec69 _ 1aeea67b7b3883ebcf2b90bc01f4182d7de073a052dabd3749f20c5aa4ad3e27 gnulib-b81ec69.tar.gz
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
http://ixpeering.dl.sourceforge.net/project/lzmautils/xz-5.4.1.tar.bz2 dd172acb53867a68012f94c17389401b2f274a1aa5ae8f84cbfb8b7e383ea8d3
|
||||
https://github.com/tukaani-project/xz/releases/download/v5.4.1/xz-5.4.1.tar.bz2 dd172acb53867a68012f94c17389401b2f274a1aa5ae8f84cbfb8b7e383ea8d3
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue