meow
This commit is contained in:
parent
3f74a55897
commit
eb41c7c6a0
7 changed files with 353 additions and 3 deletions
|
|
@ -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": [
|
"packages": [
|
||||||
{
|
{
|
||||||
"book": "mlfs",
|
"book": "mlfs",
|
||||||
|
|
|
||||||
|
|
@ -370,6 +370,24 @@
|
||||||
"items": {
|
"items": {
|
||||||
"type": "string"
|
"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
91
docs/RELEASES.md
Normal 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
108
harvest_all.sh
Executable 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
128
harvest_all_books.sh
Executable 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."
|
||||||
|
|
@ -148,6 +148,7 @@ fn main() -> Result<()> {
|
||||||
"variant": s.variant.clone(),
|
"variant": s.variant.clone(),
|
||||||
"status": s.status.clone(),
|
"status": s.status.clone(),
|
||||||
"path": s.relative_path.clone(),
|
"path": s.relative_path.clone(),
|
||||||
|
"tags": s.tags.clone(),
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
.collect();
|
.collect();
|
||||||
|
|
@ -326,6 +327,7 @@ struct PackageSummary {
|
||||||
variant: Option<String>,
|
variant: Option<String>,
|
||||||
status: String,
|
status: String,
|
||||||
relative_path: String,
|
relative_path: String,
|
||||||
|
tags: Vec<String>,
|
||||||
}
|
}
|
||||||
|
|
||||||
struct PackageRecord {
|
struct PackageRecord {
|
||||||
|
|
@ -685,6 +687,10 @@ fn build_metadata_value(
|
||||||
"status": {
|
"status": {
|
||||||
"state": status_state,
|
"state": status_state,
|
||||||
"issues": issues,
|
"issues": issues,
|
||||||
|
"tags": vec![
|
||||||
|
"25.10".to_string(),
|
||||||
|
stage.unwrap_or("base-system").to_string()
|
||||||
|
]
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -3,11 +3,10 @@ use crate::pkgs::by_name::bi::binutils::parser::{BinutilsInfo, fetch_page, parse
|
||||||
use reqwest::Client;
|
use reqwest::Client;
|
||||||
use std::{
|
use std::{
|
||||||
error::Error,
|
error::Error,
|
||||||
ffi::OsStr,
|
|
||||||
path::{Path, PathBuf},
|
path::{Path, PathBuf},
|
||||||
};
|
};
|
||||||
use tokio::process::Command;
|
use tokio::process::Command;
|
||||||
use tracing::{error, info, warn};
|
use tracing::{info, warn};
|
||||||
|
|
||||||
/// Configuration object - uses environment if values omitted.
|
/// Configuration object - uses environment if values omitted.
|
||||||
#[derive(Debug, Clone)]
|
#[derive(Debug, Clone)]
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue