Merge branch 'remove-repo-sh' into 'master'

Remove repo.sh scripts

See merge request redox-os/redox!1698
This commit is contained in:
Jeremy Soller 2025-11-21 07:54:15 -07:00
commit e04b951fd8
10 changed files with 17 additions and 126 deletions

5
Cargo.lock generated
View File

@ -2166,9 +2166,8 @@ dependencies = [
[[package]]
name = "redoxer"
version = "0.2.60"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2ef2d308648e7006723774da783dd5d9a6c931387b3dc7f903a10fa1c2026d0d"
version = "0.2.61"
source = "git+https://gitlab.redox-os.org/redox-os/redoxer#ea965186ce02cfc01a7d2085dfd007cdc67649c6"
dependencies = [
"anyhow",
"dirs 6.0.0",

View File

@ -38,7 +38,7 @@ pkgar-core = { git = "https://gitlab.redox-os.org/redox-os/pkgar.git" }
pkgar-keys = { git = "https://gitlab.redox-os.org/redox-os/pkgar.git" }
redox-pkg = "0.2.8"
redox_installer = "0.2.37"
redoxer = "0.2.60"
redoxer = { git = "https://gitlab.redox-os.org/redox-os/redoxer" }
regex = "1.11"
serde = { version = "=1.0.197", features = ["derive"] }
termion = "4"

View File

@ -1,63 +0,0 @@
#!/usr/bin/env bash
set -e
# Configuration
if [ -z "${TARGET}" ]
then
export TARGET=x86_64-unknown-redox
fi
if [ $(uname -s) = 'Redox' ]
then
export IS_REDOX="1"
fi
ARCH="${TARGET%%-*}"
HOST="$TARGET"
if [ x"${HOST}" == x"riscv64gc-unknown-redox" ] ; then
HOST="riscv64-unknown-redox"
fi
# Cookbook requires correct CWD to work
cd `dirname "$0"`
# Automatic variables
ROOT=`pwd`
export AR="${HOST}-gcc-ar"
export AS="${HOST}-as"
export CC="${HOST}-gcc"
export CXX="${HOST}-g++"
export LD="${HOST}-ld"
export NM="${HOST}-gcc-nm"
export OBJCOPY="${HOST}-objcopy"
export OBJDUMP="${HOST}-objdump"
export PKG_CONFIG="${HOST}-pkg-config"
export RANLIB="${HOST}-gcc-ranlib"
export READELF="${HOST}-readelf"
export STRIP="${HOST}-strip"
if [ -n "${CC_WRAPPER}" ]
then
export CC="${CC_WRAPPER} ${CC}"
export CXX="${CC_WRAPPER} ${CXX}"
fi
BUILD="$(cc -dumpmachine)"
export PKG_CONFIG_FOR_BUILD="pkg-config"
if [[ "$OSTYPE" == "darwin"* ]] || [[ "$OSTYPE" == "FreeBSD" ]]; then
# GNU find
FIND="gfind";
else
FIND="find";
fi
export FIND
if [ -z "${IS_REDOX}" ]
then
function repo {
"$ROOT/target/release/repo" "$@"
}
fi

View File

@ -28,7 +28,7 @@ ifeq ($(PODMAN_BUILD),1)
else
$(HOST_CARGO) build --manifest-path Cargo.toml --release
export CI=1 COOKBOOK_LOGS=true PATH="$(PREFIX_PATH):$$PATH" COOKBOOK_HOST_SYSROOT="$(ROOT)/$(PREFIX_INSTALL)" && \
./repo.sh $(REPO_APPSTREAM) $(REPO_NONSTOP) --with-package-deps "--filesystem=config/$(ARCH)/ci.toml"
./target/release/repo cook --with-package-deps "--filesystem=config/$(ARCH)/ci.toml"
endif
# CI toolchain

View File

@ -78,19 +78,13 @@ endif
endif
ifeq ($(REPO_APPSTREAM),1)
REPO_APPSTREAM=--appstream
else ifeq ($(REPO_APPSTREAM),0)
REPO_APPSTREAM=
export COOKBOOK_APPSTREAM=true
endif
ifeq ($(REPO_NONSTOP),1)
REPO_NONSTOP=--nonstop
else ifeq ($(REPO_NONSTOP),0)
REPO_NONSTOP=
export COOKBOOK_NONSTOP=true
endif
ifeq ($(REPO_OFFLINE),1)
REPO_OFFLINE=--offline
else ifeq ($(REPO_OFFLINE),0)
REPO_OFFLINE=
export COOKBOOK_OFFLINE=true
endif
ifeq ($(REPO_DEBUG),1)
export COOKBOOK_NOSTRIP=true

View File

@ -6,7 +6,7 @@ ifeq ($(PODMAN_BUILD),1)
else
export PATH="$(PREFIX_PATH):$$PATH" && \
export COOKBOOK_HOST_SYSROOT="$(ROOT)/$(PREFIX_INSTALL)" && \
./repo.sh $(REPO_APPSTREAM) $(REPO_NONSTOP) $(REPO_OFFLINE) $(COOKBOOK_OPTS) --with-package-deps
./target/release/repo cook $(COOKBOOK_OPTS) --with-package-deps
mkdir -p $(BUILD)
touch $@
endif
@ -54,7 +54,7 @@ ifeq ($(PODMAN_BUILD),1)
else
export PATH="$(PREFIX_PATH):$$PATH" && \
export COOKBOOK_HOST_SYSROOT="$(ROOT)/$(PREFIX_INSTALL)" && \
./repo.sh $(REPO_OFFLINE) $(foreach f,$(subst $(comma), ,$*),$(f)) $(COOKBOOK_OPTS)
./target/release/repo cook $(foreach f,$(subst $(comma), ,$*),$(f)) $(COOKBOOK_OPTS)
endif
MOUNTED_TAG=$(MOUNT_DIR)~
@ -70,7 +70,6 @@ else
$(MAKE) mount; \
touch $(MOUNTED_TAG); \
fi
$(if $(findstring nonstop,$(REPO_NONSTOP)),export COOKBOOK_NONSTOP=true && ,) \
./target/release/repo push $(foreach f,$(subst $(comma), ,$*),$(f)) "--sysroot=$(MOUNT_DIR)"
@if [ -f $(MOUNTED_TAG) ]; then \
$(MAKE) unmount && rm -f $(MOUNTED_TAG); \
@ -92,7 +91,6 @@ else
$(MAKE) mount; \
touch $(MOUNTED_TAG); \
fi
$(if $(findstring nonstop,$(REPO_NONSTOP)),export COOKBOOK_NONSTOP=true && ,) \
./target/release/repo push $(COOKBOOK_OPTS) --with-package-deps "--sysroot=$(MOUNT_DIR)"
@if [ -f $(MOUNTED_TAG) ]; then \
$(MAKE) unmount && rm -f $(MOUNTED_TAG); \

27
repo.sh
View File

@ -1,27 +0,0 @@
#!/usr/bin/env bash
set -e
source `dirname "$0"`/config.sh
COOK_OPT=""
recipes=""
for arg in "${@:1}"
do
if [[ "$arg" == "--appstream" ]]
then
export APPSTREAM="1"
elif [[ "$arg" == "--offline" ]]
then
export COOKBOOK_OFFLINE=true
elif [[ "$arg" == "--nonstop" ]]
then
export COOKBOOK_NONSTOP=true
elif [[ $arg == "--*" ]]
then
COOK_OPT+=" ${arg}"
else
recipes+=" $arg"
fi
done
repo cook $COOK_OPT $recipes

View File

@ -65,6 +65,7 @@ const REPO_HELP_STR: &str = r#"
CI= set to any value to disable TUI
COOKBOOK_LOGS= whether to capture build logs (default is !CI)
COOKBOOK_OFFLINE=false prevent internet access if possible
ignored when command "fetch" is used
COOKBOOK_NONSTOP=false pkeep running even a recipe build failed
COOKBOOK_VERBOSE=true print success/error on each recipe
COOKBOOK_MAKE_JOBS= override build jobs count from nproc
@ -277,8 +278,9 @@ fn repo_inner(
Ok(match *command {
CliCommand::Fetch | CliCommand::Cook => {
let repo_inner_fn = move |logger: &PtyOut| -> Result<(), anyhow::Error> {
let source_dir = handle_fetch(recipe, config, logger)?;
if *command == CliCommand::Cook {
let is_cook = *command == CliCommand::Cook;
let source_dir = handle_fetch(recipe, config, is_cook, logger)?;
if is_cook {
handle_cook(recipe, config, source_dir, recipe.is_deps, logger)?;
}
Ok(())
@ -534,10 +536,11 @@ fn parse_args(args: Vec<String>) -> anyhow::Result<(CliConfig, CliCommand, Vec<C
fn handle_fetch(
recipe: &CookRecipe,
config: &CliConfig,
allow_offline: bool,
logger: &PtyOut,
) -> anyhow::Result<PathBuf> {
let recipe_dir = &recipe.dir;
let source_dir = match config.cook.offline {
let source_dir = match config.cook.offline && allow_offline {
true => fetch_offline(recipe_dir, &recipe.recipe, logger),
false => fetch(recipe_dir, &recipe.recipe, logger),
}
@ -1102,7 +1105,7 @@ fn run_tui_cook(
fetcher_status_tx
.send(StatusUpdate::StartFetch(name.clone()))
.unwrap();
let handler = handle_fetch(&recipe, &fetcher_config, &logger);
let handler = handle_fetch(&recipe, &fetcher_config, true, &logger);
if let Some(log_path) = fetcher_config.logs_dir.as_ref()
// successful fetch log usually not that helpful
&& handler.is_err()

View File

@ -90,7 +90,7 @@ fn publish_packages(recipe_list: Vec<String>, repo_dir: String) -> anyhow::Resul
}
// === 2. Optional AppStream generation ===
if env::var("APPSTREAM").ok().as_deref() == Some("1") {
if env::var("COOKBOOK_APPSTREAM").ok().as_deref() == Some("true") {
eprintln!("\x1b[01;38;5;155mrepo - generating appstream data\x1b[0m");
let root = env::var("ROOT").unwrap_or_else(|_| ".".into());

View File

@ -84,10 +84,7 @@ function GNU_CONFIG_GET {
pub(crate) static BUILD_PRESCRIPT: &str = r#"
# Add cookbook bins to path
if [ -z "${IS_REDOX}" ]
then
export PATH="${COOKBOOK_ROOT}/bin:${PATH}"
fi
# This puts cargo build artifacts in the build directory
export CARGO_TARGET_DIR="${COOKBOOK_BUILD}/target"
@ -185,16 +182,6 @@ COOKBOOK_CONFIGURE_FLAGS=(
)
COOKBOOK_MAKE="make"
if [ -z "${COOKBOOK_MAKE_JOBS}" ]
then
if [ -z "${IS_REDOX}" ]
then
COOKBOOK_MAKE_JOBS="$(nproc)"
else
COOKBOOK_MAKE_JOBS="1"
fi
fi
function cookbook_configure {
"${COOKBOOK_CONFIGURE}" "${COOKBOOK_CONFIGURE_FLAGS[@]}" "$@"
"${COOKBOOK_MAKE}" -j "${COOKBOOK_MAKE_JOBS}"