This commit is contained in:
m00d 2025-10-01 09:38:41 +02:00
parent 3f74a55897
commit eb41c7c6a0
7 changed files with 353 additions and 3 deletions

View file

@ -1,5 +1,5 @@
{
"generated_at": "2025-10-01T05:54:56.228701+00:00",
"generated_at": "2025-10-01T07:30:15.338392+00:00",
"packages": [
{
"book": "mlfs",

View file

@ -370,6 +370,24 @@
"items": {
"type": "string"
}
},
"tags": {
"type": "array",
"items": {
"type": "string",
"enum": [
"25.10",
"base-system",
"cross-toolchain",
"temporary-tools",
"development",
"system-tools",
"networking",
"security",
"documentation",
"configuration"
]
}
}
}
}

91
docs/RELEASES.md Normal file
View file

@ -0,0 +1,91 @@
# LPKG Release History
## 25.10 System Release
Release Date: October 2025
### Cross Toolchain Packages
- linux-headers 6.16.9
- glibc 2.42
- binutils-pass-1 2.45
- gcc-pass-1 15.2.0
### Base System Packages
- acl 2.3.2
- attr 2.5.2
- autoconf 2.72
- automake 1.16.5
- bash 5.2.21
- bc 6.7.5
- binutils 2.42
- bison 3.8.2
- bzip2 1.0.8
- check 0.15.2
- coreutils 9.4
- dejagnu 1.6.3
- diffutils 3.10
- e2fsprogs 1.47.0
- elfutils 0.190
- expat 2.6.0
- expect 5.45.4
- file 5.45
- findutils 4.9.0
- flex 2.6.4
- flit_core 3.9.0
- gawk 5.3.0
- gcc 13.2.0
- gdbm 1.23
- gettext 0.22.4
- gmp 6.3.0
- gperf 3.1
- grep 3.11
- groff 1.23.0
- grub 2.12
- gzip 1.13
- iana-etc 20240125
- inetutils 2.5
- intltool 0.51.0
- iproute2 6.7.0
- jinja2 3.1.3
- kbd 2.6.4
- kmod 31
- less 643
- libcap 2.69
- libffi 3.4.4
- libpipeline 1.5.7
- libtool 2.4.7
- libxcrypt 4.4.36
- m4 1.4.19
- make 4.4.1
- man-db 2.12.0
- man-pages 6.06
- markupsafe 2.1.5
- meson 1.3.2
- mpc 1.3.1
- mpfr 4.2.1
- ncurses 6.4
- ninja 1.11.1
- openssl 3.2.1
- patch 2.7.6
- perl 5.38.2
- pkgconf 2.1.1
- procps 4.0.4
- psmisc 23.6
- python 3.12.2
- readline 8.2
- sed 4.9
- setuptools 69.1.0
- shadow 4.14.5
- sysklogd 1.5.1
- systemd 255
- sysvinit 3.08
- tar 1.35
- tcl 8.6.13
- texinfo 7.1
- tzdata 2024a
- util-linux 2.39.3
- vim 9.1.0041
- wheel 0.42.0
- xml-parser 2.47
- xz 5.4.6
- zlib 1.3.1
- zstd 1.5.5

108
harvest_all.sh Executable file
View file

@ -0,0 +1,108 @@
#!/bin/bash
# Build metadata indexer
cargo build --bin metadata_indexer
# Refresh manifests for all books
./target/debug/metadata_indexer refresh --books mlfs,blfs,glfs --force
# Function to harvest a package across all books
harvest_package() {
local pkg=$1
# Try all books in order
for book in mlfs blfs glfs; do
echo "Trying to harvest $pkg from $book..."
./target/debug/metadata_indexer harvest --book $book --page "$pkg" && break
done
}
# All packages to harvest
PACKAGES=(
"acl-2.3.2"
"attr-2.5.2"
"autoconf-2.72"
"automake-1.16.5"
"bash-5.2.21"
"bc-6.7.5"
"binutils-2.42"
"bison-3.8.2"
"bzip2-1.0.8"
"check-0.15.2"
"coreutils-9.4"
"dejagnu-1.6.3"
"diffutils-3.10"
"e2fsprogs-1.47.0"
"elfutils-0.190"
"expat-2.6.0"
"expect-5.45.4"
"file-5.45"
"findutils-4.9.0"
"flex-2.6.4"
"flit_core-3.9.0"
"gawk-5.3.0"
"gcc-13.2.0"
"gdbm-1.23"
"gettext-0.22.4"
"gmp-6.3.0"
"gperf-3.1"
"grep-3.11"
"groff-1.23.0"
"grub-2.12"
"gzip-1.13"
"iana-etc-20240125"
"inetutils-2.5"
"intltool-0.51.0"
"iproute2-6.7.0"
"jinja2-3.1.3"
"kbd-2.6.4"
"kmod-31"
"less-643"
"libcap-2.69"
"libffi-3.4.4"
"libpipeline-1.5.7"
"libtool-2.4.7"
"libxcrypt-4.4.36"
"m4-1.4.19"
"make-4.4.1"
"man-db-2.12.0"
"man-pages-6.06"
"markupsafe-2.1.5"
"meson-1.3.2"
"mpc-1.3.1"
"mpfr-4.2.1"
"ncurses-6.4"
"ninja-1.11.1"
"openssl-3.2.1"
"patch-2.7.6"
"perl-5.38.2"
"pkgconf-2.1.1"
"procps-4.0.4"
"psmisc-23.6"
"python-3.12.2"
"readline-8.2"
"sed-4.9"
"setuptools-69.1.0"
"shadow-4.14.5"
"sysklogd-1.5.1"
"systemd-255"
"sysvinit-3.08"
"tar-1.35"
"tcl-8.6.13"
"texinfo-7.1"
"tzdata-2024a"
"util-linux-2.39.3"
"vim-9.1.0041"
"wheel-0.42.0"
"xml-parser-2.47"
"xz-5.4.6"
"zlib-1.3.1"
"zstd-1.5.5"
)
# Harvest each package
for pkg in "${PACKAGES[@]}"; do
harvest_package "$pkg"
done
# Update index
./target/debug/metadata_indexer index

128
harvest_all_books.sh Executable file
View file

@ -0,0 +1,128 @@
#!/bin/bash
# Build metadata indexer
cargo build --bin metadata_indexer
# Refresh manifests for all books
./target/debug/metadata_indexer refresh --books mlfs,lfs,blfs,glfs --force
# Function to harvest a package
harvest_package() {
local book=$1
local page=$2
local base_url=$3
echo "Harvesting $book/$page..."
if [ -n "$base_url" ]; then
./target/debug/metadata_indexer harvest --book "$book" --page "$page" --base-url "$base_url"
else
./target/debug/metadata_indexer harvest --book "$book" --page "$page"
fi
}
# MLFS Packages
MLFS_PACKAGES=(
"linux"
"glibc"
"binutils-pass-1"
"gcc-pass-1"
)
# Base System Packages
BASE_PACKAGES=(
"acl"
"attr"
"autoconf"
"automake"
"bash"
"bc"
"binutils"
"bison"
"bzip2"
"check"
"coreutils"
"dejagnu"
"diffutils"
"e2fsprogs"
"elfutils"
"expat"
"expect"
"file"
"findutils"
"flex"
"flit_core"
"gawk"
"gcc"
"gdbm"
"gettext"
"gmp"
"gperf"
"grep"
"groff"
"grub"
"gzip"
"iana-etc"
"inetutils"
"intltool"
"iproute2"
"jinja2"
"kbd"
"kmod"
"less"
"libcap"
"libffi"
"libpipeline"
"libtool"
"libxcrypt"
"m4"
"make"
"man-db"
"man-pages"
"markupsafe"
"meson"
"mpc"
"mpfr"
"ncurses"
"ninja"
"openssl"
"patch"
"perl"
"pkgconf"
"procps"
"psmisc"
"python"
"readline"
"sed"
"setuptools"
"shadow"
"sysklogd"
"systemd"
"sysvinit"
"tar"
"tcl"
"texinfo"
"tzdata"
"util-linux"
"vim"
"wheel"
"xml-parser"
"xz"
"zlib"
"zstd"
)
# Harvest MLFS packages
for pkg in "${MLFS_PACKAGES[@]}"; do
harvest_package "mlfs" "$pkg" "https://linuxfromscratch.org/~thomas/multilib-m32"
done
# Harvest base system packages
for pkg in "${BASE_PACKAGES[@]}"; do
harvest_package "lfs" "$pkg" "https://linuxfromscratch.org/lfs/view/development"
done
# Update index
./target/debug/metadata_indexer index
# Print summary
echo "Done! Packages have been harvested and index has been updated."

View file

@ -148,6 +148,7 @@ fn main() -> Result<()> {
"variant": s.variant.clone(),
"status": s.status.clone(),
"path": s.relative_path.clone(),
"tags": s.tags.clone(),
})
})
.collect();
@ -326,6 +327,7 @@ struct PackageSummary {
variant: Option<String>,
status: String,
relative_path: String,
tags: Vec<String>,
}
struct PackageRecord {
@ -685,6 +687,10 @@ fn build_metadata_value(
"status": {
"state": status_state,
"issues": issues,
"tags": vec![
"25.10".to_string(),
stage.unwrap_or("base-system").to_string()
]
}
});

View file

@ -3,11 +3,10 @@ use crate::pkgs::by_name::bi::binutils::parser::{BinutilsInfo, fetch_page, parse
use reqwest::Client;
use std::{
error::Error,
ffi::OsStr,
path::{Path, PathBuf},
};
use tokio::process::Command;
use tracing::{error, info, warn};
use tracing::{info, warn};
/// Configuration object - uses environment if values omitted.
#[derive(Debug, Clone)]