update package versions
This commit is contained in:
@@ -2,6 +2,31 @@
|
||||
|
||||
---
|
||||
|
||||
## V38 2026-03-20 23:00:00
|
||||
|
||||
**Sync all Phase 0 build scripts to match Danish mirror tarball versions**
|
||||
|
||||
### Changes:
|
||||
- Updated `toolchain/scripts/001-binutils-pass1.sh`: VERSION "2.46" → "2.46.0"
|
||||
- Updated `toolchain/scripts/021-binutils-pass2.sh`: VERSION "2.46" → "2.46.0"
|
||||
- Updated `toolchain/scripts/004-glibc.sh`: Patch name `glibc-2.43-fhs-1.patch` → `glibc-fhs-1.patch`
|
||||
- Rewrote `toolchain/scripts/007-ncurses.sh`: Auto-detects version from unversioned `ncurses.tar.gz`
|
||||
- Updated `toolchain/scripts/009-coreutils.sh`: VERSION "9.6" → "9.10"
|
||||
- Updated `toolchain/scripts/010-diffutils.sh`: VERSION "3.10" → "3.12"
|
||||
- Updated `toolchain/scripts/014-grep.sh`: VERSION "3.14" → "3.12"
|
||||
- Updated `toolchain/scripts/016-make.sh`: VERSION "4.4.1" → "4.4"
|
||||
- Rewrote `toolchain/scripts/019-tar.sh`: Auto-detects version from unversioned `tar-latest.tar.xz`
|
||||
- Updated `toolchain/scripts/025-gettext.sh`: VERSION "0.23.1" → "1.0"
|
||||
- Rewrote `toolchain/VERSION_MANIFEST.md`: All versions now match ftp.klid.dk mirror
|
||||
|
||||
### Plan deviation/changes:
|
||||
- ncurses and tar use auto-version-detection since mirror provides unversioned tarballs
|
||||
|
||||
### What is missing/needs polish:
|
||||
- `sed '6009s/$add_dir//' -i ltmain.sh` in 021-binutils-pass2.sh references a specific line number — may need adjustment for binutils 2.46.0
|
||||
|
||||
---
|
||||
|
||||
## V37 2026-03-20 22:30:00
|
||||
|
||||
**Use Danish GNU mirror and add loopback disk setup script**
|
||||
|
||||
@@ -1,13 +1,14 @@
|
||||
# DarkForge Linux — Phase 0 Toolchain Version Manifest
|
||||
# Generated: 2026-03-20 (updated to sync with build scripts)
|
||||
# Generated: 2026-03-20 (synced with ftp.klid.dk mirror)
|
||||
# Rule: Always use latest stable release (CLAUDE.md §3)
|
||||
# Base reference: LFS 13.0 (r13.0-4, 2026-03-14)
|
||||
# Mirror: http://ftp.klid.dk/ftp/gnu (Denmark)
|
||||
|
||||
## Cross-Toolchain (Chapter 5 equivalents)
|
||||
|
||||
| Package | Version | Tarball | Note |
|
||||
|----------------|---------|---------------------------------------|--------------------------------|
|
||||
| binutils | 2.46 | binutils-2.46.tar.xz | LFS 13.0 version |
|
||||
| binutils | 2.46.0 | binutils-2.46.0.tar.xz | Mirror version |
|
||||
| gcc | 15.2.0 | gcc-15.2.0.tar.xz | Supports -march=znver5 |
|
||||
| glibc | 2.43 | glibc-2.43.tar.xz | LFS 13.0 version |
|
||||
| linux | 6.19.8 | linux-6.19.8.tar.xz | Headers only for Phase 0 |
|
||||
@@ -19,20 +20,20 @@
|
||||
|
||||
| Package | Version | Tarball | Note |
|
||||
|----------------|---------|---------------------------------------|--------------------------------|
|
||||
| m4 | 1.4.21 | m4-1.4.21.tar.xz | Latest stable (Feb 2026) |
|
||||
| ncurses | 6.5 | ncurses-6.5.tar.gz | |
|
||||
| m4 | 1.4.21 | m4-1.4.21.tar.xz | Latest stable |
|
||||
| ncurses | (auto) | ncurses.tar.gz | Unversioned; auto-detected |
|
||||
| bash | 5.3 | bash-5.3.tar.gz | |
|
||||
| coreutils | 9.6 | coreutils-9.6.tar.xz | LFS 13.0 version |
|
||||
| diffutils | 3.10 | diffutils-3.10.tar.xz | |
|
||||
| file | 5.47 | file-5.47.tar.gz | LFS 13.0 version |
|
||||
| coreutils | 9.10 | coreutils-9.10.tar.xz | Mirror latest |
|
||||
| diffutils | 3.12 | diffutils-3.12.tar.xz | Mirror latest |
|
||||
| file | 5.47 | file-5.47.tar.gz | |
|
||||
| findutils | 4.10.0 | findutils-4.10.0.tar.xz | |
|
||||
| gawk | 5.4.0 | gawk-5.4.0.tar.xz | |
|
||||
| grep | 3.14 | grep-3.14.tar.xz | |
|
||||
| grep | 3.12 | grep-3.12.tar.xz | Mirror version |
|
||||
| gzip | 1.14 | gzip-1.14.tar.xz | |
|
||||
| make | 4.4.1 | make-4.4.1.tar.gz | |
|
||||
| make | 4.4 | make-4.4.tar.gz | Mirror version |
|
||||
| patch | 2.8 | patch-2.8.tar.xz | |
|
||||
| sed | 4.9 | sed-4.9.tar.xz | LFS 13.0 version |
|
||||
| tar | 1.35 | tar-1.35.tar.xz | |
|
||||
| sed | 4.9 | sed-4.9.tar.xz | |
|
||||
| tar | (auto) | tar-latest.tar.xz | Unversioned; auto-detected |
|
||||
| xz | 5.8.1 | xz-5.8.1.tar.gz | |
|
||||
| zstd | 1.5.7 | zstd-1.5.7.tar.gz | Not in LFS; needed for kernel |
|
||||
|
||||
@@ -40,13 +41,13 @@
|
||||
|
||||
| Package | Version | Tarball | Note |
|
||||
|----------------|---------|---------------------------------------|--------------------------------|
|
||||
| gettext | 0.23.1 | gettext-0.23.1.tar.xz | |
|
||||
| gettext | 1.0 | gettext-1.0.tar.xz | Major release (Jan 2026) |
|
||||
| bison | 3.8.2 | bison-3.8.2.tar.xz | |
|
||||
| perl | 5.40.2 | perl-5.40.2.tar.xz | Latest stable 5.40.x |
|
||||
| perl | 5.40.2 | perl-5.40.2.tar.xz | |
|
||||
| python | 3.13.3 | Python-3.13.3.tar.xz | |
|
||||
| texinfo | 7.3 | texinfo-7.3.tar.xz | |
|
||||
| zlib | 1.3.1 | zlib-1.3.1.tar.xz | |
|
||||
| util-linux | 2.40.4 | util-linux-2.40.4.tar.xz | LFS 13.0 version |
|
||||
| zlib | 1.3.2 | zlib-1.3.2.tar.xz | Mirror latest |
|
||||
| util-linux | 2.40.4 | util-linux-2.40.4.tar.xz | |
|
||||
|
||||
## Compiler Flags (Global Defaults)
|
||||
|
||||
@@ -63,6 +64,6 @@ only take effect once we have a native compiler targeting our hardware.
|
||||
|
||||
## Patches Required
|
||||
|
||||
| Patch | Source | Used For |
|
||||
|---------------------------|-------------------------------------------------------------------|-----------------|
|
||||
| glibc-2.43-fhs-1.patch | https://www.linuxfromscratch.org/patches/lfs/13.0/ | Glibc FHS dirs |
|
||||
| Patch | Source | Used For |
|
||||
|----------------------|-------------------------------------------------------------------|-----------------|
|
||||
| glibc-fhs-1.patch | https://www.linuxfromscratch.org/patches/lfs/13.0/ | Glibc FHS dirs |
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
# Purpose: Build the cross-assembler and cross-linker (binutils) as the
|
||||
# first component of the cross-toolchain. This must be built first
|
||||
# because both GCC and Glibc configure tests depend on it.
|
||||
# Inputs: ${LFS}/sources/binutils-2.46.tar.xz
|
||||
# Inputs: ${LFS}/sources/binutils-2.46.0.tar.xz
|
||||
# Outputs: Cross-binutils installed to ${LFS}/tools/
|
||||
# Assumes: Running as 'lfs' user, environment sourced from 000-env-setup.sh
|
||||
# Ref: LFS 13.0 §5.2
|
||||
@@ -15,7 +15,7 @@ set -euo pipefail
|
||||
source "${LFS}/sources/darkforge-env.sh"
|
||||
|
||||
PACKAGE="binutils"
|
||||
VERSION="2.46"
|
||||
VERSION="2.46.0"
|
||||
SRCDIR="${LFS}/sources"
|
||||
|
||||
echo "=== Building ${PACKAGE}-${VERSION} (Cross-Toolchain Pass 1) ==="
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
# This is the core C library that every program on the final system
|
||||
# will link against. After this step, we can compile programs that
|
||||
# actually run on the target.
|
||||
# Inputs: ${LFS}/sources/glibc-2.43.tar.xz, glibc-2.43-fhs-1.patch
|
||||
# Inputs: ${LFS}/sources/glibc-2.43.tar.xz, glibc-fhs-1.patch
|
||||
# Outputs: Glibc installed to ${LFS}/usr/lib/, ${LFS}/usr/include/
|
||||
# Assumes: Binutils Pass 1 + GCC Pass 1 + Linux Headers complete
|
||||
# Ref: LFS 13.0 §5.5
|
||||
@@ -39,7 +39,7 @@ esac
|
||||
|
||||
# Apply the FHS (Filesystem Hierarchy Standard) patch
|
||||
# This makes glibc install some programs in /usr/sbin instead of /sbin
|
||||
patch -Np1 -i ../glibc-2.43-fhs-1.patch
|
||||
patch -Np1 -i ../glibc-fhs-1.patch
|
||||
|
||||
mkdir -v build
|
||||
cd build
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
# ============================================================================
|
||||
# Purpose: Cross-compile the ncurses library (terminal handling). Required
|
||||
# by bash, many TUI programs, and the installer.
|
||||
# Inputs: ${LFS}/sources/ncurses-6.5.tar.gz
|
||||
# Inputs: ${LFS}/sources/ncurses.tar.gz (unversioned tarball from mirror)
|
||||
# Outputs: ncurses libraries and tic utility in ${LFS}/usr/
|
||||
# Assumes: Cross-toolchain (Ch.5) complete
|
||||
# Ref: LFS 13.0 §6.3
|
||||
@@ -14,14 +14,23 @@ set -euo pipefail
|
||||
source "${LFS}/sources/darkforge-env.sh"
|
||||
|
||||
PACKAGE="ncurses"
|
||||
VERSION="6.5"
|
||||
SRCDIR="${LFS}/sources"
|
||||
|
||||
echo "=== Building ${PACKAGE}-${VERSION} (Temporary Tool) ==="
|
||||
echo "=== Building ${PACKAGE} (Temporary Tool) ==="
|
||||
|
||||
cd "${SRCDIR}"
|
||||
tar -xf "${PACKAGE}-${VERSION}.tar.gz"
|
||||
cd "${PACKAGE}-${VERSION}"
|
||||
|
||||
# The mirror provides ncurses.tar.gz (unversioned). Auto-detect the
|
||||
# directory name inside the tarball.
|
||||
tar -xf ncurses.tar.gz
|
||||
NCDIR=$(find . -maxdepth 1 -type d -name 'ncurses-*' | head -1)
|
||||
if [ -z "${NCDIR}" ]; then
|
||||
echo "ERROR: Could not find ncurses-* directory after extraction"
|
||||
exit 1
|
||||
fi
|
||||
VERSION="${NCDIR#./ncurses-}"
|
||||
echo " Detected version: ${VERSION}"
|
||||
cd "${NCDIR}"
|
||||
|
||||
# First, build the tic program that runs on the host
|
||||
# This is needed to create the terminal database during install
|
||||
@@ -57,5 +66,5 @@ ln -sv libncursesw.so "${LFS}/usr/lib/libncurses.so"
|
||||
sed -e 's/^#if.*XOPEN.*$/#if 1/' -i "${LFS}/usr/include/curses.h"
|
||||
|
||||
cd "${SRCDIR}"
|
||||
rm -rf "${PACKAGE}-${VERSION}"
|
||||
rm -rf "${NCDIR}"
|
||||
echo "=== ${PACKAGE}-${VERSION} complete ==="
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
# ============================================================================
|
||||
# Purpose: Cross-compile GNU coreutils (ls, cp, mv, cat, chmod, etc.)
|
||||
# for the temporary tools environment.
|
||||
# Inputs: ${LFS}/sources/coreutils-9.6.tar.xz
|
||||
# Inputs: ${LFS}/sources/coreutils-9.10.tar.xz
|
||||
# Outputs: Core utilities in ${LFS}/usr/bin/
|
||||
# Assumes: Cross-toolchain complete
|
||||
# Ref: LFS 13.0 §6.5
|
||||
@@ -14,7 +14,7 @@ set -euo pipefail
|
||||
source "${LFS}/sources/darkforge-env.sh"
|
||||
|
||||
PACKAGE="coreutils"
|
||||
VERSION="9.6"
|
||||
VERSION="9.10"
|
||||
SRCDIR="${LFS}/sources"
|
||||
|
||||
echo "=== Building ${PACKAGE}-${VERSION} (Temporary Tool) ==="
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
# DarkForge Linux — Phase 0, Chapter 6: Diffutils
|
||||
# ============================================================================
|
||||
# Purpose: Cross-compile GNU diffutils (diff, cmp, sdiff, diff3).
|
||||
# Inputs: ${LFS}/sources/diffutils-3.10.tar.xz
|
||||
# Inputs: ${LFS}/sources/diffutils-3.12.tar.xz
|
||||
# Outputs: diff utilities in ${LFS}/usr/bin/
|
||||
# Ref: LFS 13.0 §6.6
|
||||
# ============================================================================
|
||||
@@ -12,7 +12,7 @@ set -euo pipefail
|
||||
source "${LFS}/sources/darkforge-env.sh"
|
||||
|
||||
PACKAGE="diffutils"
|
||||
VERSION="3.10"
|
||||
VERSION="3.12"
|
||||
SRCDIR="${LFS}/sources"
|
||||
|
||||
echo "=== Building ${PACKAGE}-${VERSION} (Temporary Tool) ==="
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
# DarkForge Linux — Phase 0, Chapter 6: Grep
|
||||
# ============================================================================
|
||||
# Purpose: Cross-compile GNU grep (pattern matching).
|
||||
# Inputs: ${LFS}/sources/grep-3.14.tar.xz
|
||||
# Inputs: ${LFS}/sources/grep-3.12.tar.xz
|
||||
# Outputs: grep in ${LFS}/usr/bin/
|
||||
# Ref: LFS 13.0 §6.10
|
||||
# ============================================================================
|
||||
@@ -12,7 +12,7 @@ set -euo pipefail
|
||||
source "${LFS}/sources/darkforge-env.sh"
|
||||
|
||||
PACKAGE="grep"
|
||||
VERSION="3.14"
|
||||
VERSION="3.12"
|
||||
SRCDIR="${LFS}/sources"
|
||||
|
||||
echo "=== Building ${PACKAGE}-${VERSION} (Temporary Tool) ==="
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
# DarkForge Linux — Phase 0, Chapter 6: Make
|
||||
# ============================================================================
|
||||
# Purpose: Cross-compile GNU make (build automation).
|
||||
# Inputs: ${LFS}/sources/make-4.4.1.tar.gz
|
||||
# Inputs: ${LFS}/sources/make-4.4.tar.gz
|
||||
# Outputs: make in ${LFS}/usr/bin/
|
||||
# Ref: LFS 13.0 §6.12
|
||||
# ============================================================================
|
||||
@@ -12,7 +12,7 @@ set -euo pipefail
|
||||
source "${LFS}/sources/darkforge-env.sh"
|
||||
|
||||
PACKAGE="make"
|
||||
VERSION="4.4.1"
|
||||
VERSION="4.4"
|
||||
SRCDIR="${LFS}/sources"
|
||||
|
||||
echo "=== Building ${PACKAGE}-${VERSION} (Temporary Tool) ==="
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
# DarkForge Linux — Phase 0, Chapter 6: Tar
|
||||
# ============================================================================
|
||||
# Purpose: Cross-compile GNU tar (archive utility).
|
||||
# Inputs: ${LFS}/sources/tar-1.35.tar.xz
|
||||
# Inputs: ${LFS}/sources/tar-latest.tar.xz (unversioned tarball from mirror)
|
||||
# Outputs: tar in ${LFS}/usr/bin/
|
||||
# Ref: LFS 13.0 §6.15
|
||||
# ============================================================================
|
||||
@@ -12,14 +12,23 @@ set -euo pipefail
|
||||
source "${LFS}/sources/darkforge-env.sh"
|
||||
|
||||
PACKAGE="tar"
|
||||
VERSION="1.35"
|
||||
SRCDIR="${LFS}/sources"
|
||||
|
||||
echo "=== Building ${PACKAGE}-${VERSION} (Temporary Tool) ==="
|
||||
echo "=== Building ${PACKAGE} (Temporary Tool) ==="
|
||||
|
||||
cd "${SRCDIR}"
|
||||
tar -xf "${PACKAGE}-${VERSION}.tar.xz"
|
||||
cd "${PACKAGE}-${VERSION}"
|
||||
|
||||
# The mirror provides tar-latest.tar.xz (unversioned). Auto-detect the
|
||||
# directory name inside the tarball.
|
||||
tar -xf tar-latest.tar.xz
|
||||
TARDIR=$(find . -maxdepth 1 -type d -name 'tar-[0-9]*' | head -1)
|
||||
if [ -z "${TARDIR}" ]; then
|
||||
echo "ERROR: Could not find tar-* directory after extraction"
|
||||
exit 1
|
||||
fi
|
||||
VERSION="${TARDIR#./tar-}"
|
||||
echo " Detected version: ${VERSION}"
|
||||
cd "${TARDIR}"
|
||||
|
||||
./configure \
|
||||
--prefix=/usr \
|
||||
@@ -30,5 +39,5 @@ make
|
||||
make DESTDIR="${LFS}" install
|
||||
|
||||
cd "${SRCDIR}"
|
||||
rm -rf "${PACKAGE}-${VERSION}"
|
||||
rm -rf "${TARDIR}"
|
||||
echo "=== ${PACKAGE}-${VERSION} complete ==="
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
# Purpose: Rebuild binutils with the temporary toolchain. This produces
|
||||
# binutils that runs on the target and generates code for the target.
|
||||
# Pass 1 ran on the host; Pass 2 runs on the target (via cross-compiler).
|
||||
# Inputs: ${LFS}/sources/binutils-2.46.tar.xz
|
||||
# Inputs: ${LFS}/sources/binutils-2.46.0.tar.xz
|
||||
# Outputs: Updated binutils in ${LFS}/usr/
|
||||
# Assumes: All Chapter 5 + Chapter 6 temp tools (006-020) complete
|
||||
# Ref: LFS 13.0 §6.17
|
||||
@@ -15,7 +15,7 @@ set -euo pipefail
|
||||
source "${LFS}/sources/darkforge-env.sh"
|
||||
|
||||
PACKAGE="binutils"
|
||||
VERSION="2.46"
|
||||
VERSION="2.46.0"
|
||||
SRCDIR="${LFS}/sources"
|
||||
|
||||
echo "=== Building ${PACKAGE}-${VERSION} (Pass 2) ==="
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
# Purpose: Build gettext (internationalization framework). Many packages
|
||||
# require gettext's autopoint, msgfmt, etc. during their build.
|
||||
# Only the minimum needed tools are installed at this stage.
|
||||
# Inputs: /sources/gettext-0.23.1.tar.xz
|
||||
# Inputs: /sources/gettext-1.0.tar.xz
|
||||
# Outputs: gettext utilities in /usr/
|
||||
# Assumes: Running inside chroot
|
||||
# Ref: LFS 13.0 §7.7
|
||||
@@ -14,7 +14,7 @@
|
||||
set -euo pipefail
|
||||
|
||||
PACKAGE="gettext"
|
||||
VERSION="0.23.1"
|
||||
VERSION="1.0"
|
||||
|
||||
echo "=== Building ${PACKAGE}-${VERSION} (Chroot) ==="
|
||||
|
||||
|
||||
Reference in New Issue
Block a user