-
Notifications
You must be signed in to change notification settings - Fork 13
Open
Labels
bugBroken Packages or Any other Issue related to PackagingBroken Packages or Any other Issue related to Packaging
Description
Not an Upstream Issue
- I can confirm this issue is only in Soarpkgs' SBUILD
Bug Report Does Not Exist
- I have already searched the Issues Page
Package is Not Disabled
- I have already read the SBUILD & it's NOT Disabled
PKG_ID (Package ID)
github.com.fish-shell.fish-shell
SBUILD URL (Blob)
https://github.com/SuperMatt/soarpkgs/blob/main/binaries/fish/static.official.source.yaml
Describe the bug/issue
The package does not build at all.
$ sbuild build ./static.official.source.yaml --log-level verbose --keep --outdir ./SBUILD-TEST
sbuild v0.1.10
INFO Building: ./static.official.source.yaml
Linting ./static.official.source.yaml (/home/matthew/gits/soarpkgs/binaries/fish/./static.official.source.yaml)
Performing shellcheck
In /tmp/sbuild-linter-kOzT18ud line 12:
if [[ "$(uname -m | tr -d '[:space:]')" == "riscv64" ]]; then
^-------^ SC2101 (warning): Named class needs outer [], e.g. [[:digit:]].
For more information:
https://www.shellcheck.net/wiki/SC2101 -- Named class needs outer [], e.g. ...
In /tmp/sbuild-linter-Ir56pYLv line 5:
[ -d "$(realpath .)/TEMPREPO" ] && rm -rf "$(realpath .)" &>/dev/null && popd &>/dev/null
^--------------^ SC2164 (warning): Use 'popd ... || exit' or 'popd ... || return' in case popd fails.
Did you mean:
[ -d "$(realpath .)/TEMPREPO" ] && rm -rf "$(realpath .)" &>/dev/null && popd &>/dev/null || exit
For more information:
https://www.shellcheck.net/wiki/SC2164 -- Use 'popd ... || exit' or 'popd ....
[β] Shellcheck passed
[β] Fetched version (HEAD-810a707-251231T074650) using x_exec.pkgver written to ./static.official.source.yaml.pkgver
SBUILD validation successful.
Validated YAML has been written to ./static.official.source.yaml.validated
#!/SBUILD ver @v1.0.0
#SELF: https://raw.githubusercontent.com/pkgforge/soarpkgs/refs/heads/main/binaries/fish/static.official.source.yaml
_disabled: false
pkg: "fish"
pkg_id: "github.com.fish-shell.fish-shell.source"
pkg_type: "static"
category:
- "ConsoleOnly"
- "Utility"
description: "Smart and User-friendly Command Line Shell"
distro_pkg:
alpine:
- "fish"
archlinux:
aur:
- "fish-git"
extra:
- "fish"
debian:
- "fish"
gnuguix:
- "fish"
homebrew:
- "fish"
nixpkgs:
- "fish"
- "fishMinimal"
stalix:
- "bin/fish"
homepage:
- "https://github.com/fish-shell/fish-shell"
maintainer:
- "Azathothas (https://github.com/Azathothas)"
license:
- id: "Custom"
url: "https://github.com/fish-shell/fish-shell/raw/8617964d4dbf03d752fbf094600ef977a36a83ec/COPYING"
note:
- "[DO NOT RUN] (Meant for pkgforge CI Only)"
- "Built From Source (Latest Git HEAD). Check/Report @ https://github.com/fish-shell/fish-shell"
provides:
- "fish"
- "fish_indent"
- "fish_key_reader"
repology:
- "fish"
src_url:
- "https://github.com/fish-shell/fish-shell"
tag:
- "Utility"
x_exec:
host:
- "aarch64-linux"
- "riscv64-linux"
- "x86_64-linux"
shell: "bash"
pkgver: |
pushd "$(mktemp -d)" &>/dev/null && \
git clone --depth="1" --filter="blob:none" --no-checkout --single-branch --quiet "https://github.com/fish-shell/fish-shell" "./TEMPREPO" &>/dev/null && \
git --git-dir="./TEMPREPO/.git" --no-pager log -1 --pretty=format:'HEAD-%h-%cd' --date=format:'%y%m%dT%H%M%S' && \
[ -d "$(realpath .)/TEMPREPO" ] && rm -rf "$(realpath .)" &>/dev/null && popd &>/dev/null
run: |
#Build
mkdir -pv "${SBUILD_TMPDIR}/tmp" && docker run --privileged --net="host" --name "alpine-builder" --pull="always" \
-e "PKG=${PKG}" -e "PKG_ID=${PKG_ID}" -e "PKG_TYPE=${PKG_TYPE}" -e "PKG_VER=${PKG_VER}" \
-e "PKGVER=${PKGVER}" -e "SBUILD_PKG=${SBUILD_PKG}" -e "SBUILD_PKGVER=${SBUILD_PKGVER}" \
--volume "${SBUILD_TMPDIR}/tmp:/tmp:rw" \
"ghcr.io/pkgforge/devscripts/alpine-builder:$(uname -m)" \
bash -l -c '
#Setup ENV
set -x ; mkdir -p "/build-bins" && pushd "$(mktemp -d)" &>/dev/null
[[ -s "${HOME}/.cargo/env" ]] && source "${HOME}/.cargo/env"
if [[ "$(uname -m | tr -d '[:space:]')" == "riscv64" ]]; then
RUST_TARGET="$(rustc -Vv 2>/dev/null | sed -n "s/^[[:space:]]*host[[:space:]]*:[[:space:]]*//p" | grep -i "riscv" | tr -d "[:space:]")"
if [[ -n "${RUST_TARGET//[[:space:]]/}" ]]; then
export RUST_TARGET
else
rustc -Vv ; exit 1
fi
else
rustup default nightly
rustup component add rust-src --toolchain nightly
export RUST_TARGET="$(uname -m)-unknown-linux-musl"
rustup target add "${RUST_TARGET}"
fi
RUST_FLAGS=()
RUST_FLAGS+=("-C target-feature=+crt-static")
RUST_FLAGS+=("-C default-linker-libraries=yes")
if echo "${RUST_TARGET}" | grep -Eqiv "alpine|gnu"; then
RUST_FLAGS+=("-C link-self-contained=yes")
fi
RUST_FLAGS+=("-C prefer-dynamic=no")
RUST_FLAGS+=("-C embed-bitcode=yes")
RUST_FLAGS+=("-C lto=yes")
RUST_FLAGS+=("-C opt-level=z")
RUST_FLAGS+=("-C debuginfo=none")
RUST_FLAGS+=("-C strip=symbols")
RUST_FLAGS+=("-C linker=clang")
RUST_FLAGS+=("-C link-arg=-fuse-ld=$(which mold)")
RUST_FLAGS+=("-C link-arg=-Wl,--Bstatic")
RUST_FLAGS+=("-C link-arg=-Wl,--static")
RUST_FLAGS+=("-C link-arg=-Wl,-S")
RUST_FLAGS+=("-C link-arg=-Wl,--build-id=none")
export RUSTFLAGS="${RUST_FLAGS[*]}"
#Build
git clone --filter "blob:none" --quiet "https://github.com/fish-shell/fish-shell" "./TEMPREPO" && cd "./TEMPREPO/"
echo -e "\n[+] Target: ${RUST_TARGET}"
echo -e "[+] Flags: ${RUSTFLAGS}\n"
sed "/^\[profile\.release\]/,/^$/d" -i "./Cargo.toml" ; echo -e "\n[profile.release]\nstrip = true\nopt-level = 3\nlto = true" >> "./Cargo.toml"
rm -rvf "./.cargo" rust-toolchain* 2>/dev/null
cargo build --workspace --target "${RUST_TARGET}" \
--all-features \
--jobs="$(($(nproc)+1))" \
--release \
--keep-going \
--verbose
find -L "./target/${RUST_TARGET}/release" -maxdepth 1 -type f 2>/dev/null
#Copy
find "./target/${RUST_TARGET}/release" -maxdepth 1 -type f -exec file -i "{}" \; | grep -Ei "application/.*executable|inode/symlink|text/x-perl|text/.*script" | cut -d":" -f1 | xargs realpath --no-symlinks | xargs -I "{}" rsync -achvL "{}" "/build-bins/"
( askalono --format "json" crawl --follow "$(realpath .)" | jq -r ".. | objects | .path? // empty" | head -n 1 | xargs -I "{}" cp -fv "{}" "/build-bins/LICENSE" ) 2>/dev/null
#Strip
find "/build-bins/" -type f -exec objcopy --remove-section=".comment" --remove-section=".note.*" "{}" \;
find "/build-bins/" -type f ! -name "*.no_strip" -exec strip --strip-all --verbose "{}" 2>/dev/null \;
find "/build-bins/" -type f -exec bash -c "echo && realpath {} && readelf --section-headers {} 2>/dev/null" \;
file "/build-bins/"* && stat -c "%n: %s Bytes" "/build-bins/"* && \
du "/build-bins/"* --bytes --human-readable --time --time-style="full-iso" --summarize
popd &>/dev/null
'
#Copy & Meta
docker cp "alpine-builder:/build-bins/." "${SBUILD_TMPDIR}/"
[ -s "${SBUILD_TMPDIR}/LICENSE" ] && cp -fv "${SBUILD_TMPDIR}/LICENSE" "${SBUILD_OUTDIR}/LICENSE"
find "${SBUILD_TMPDIR}" -maxdepth 1 -type f -exec file -i "{}" \; | grep -Ei "application/.*executable|inode/symlink|text/x-perl|text/.*script" | cut -d":" -f1 | xargs realpath --no-symlinks | xargs -I "{}" rsync -achvL "{}" "${SBUILD_OUTDIR}"
Downloading license from https://github.com/fish-shell/fish-shell/raw/8617964d4dbf03d752fbf094600ef977a36a83ec/COPYING to LICENSE
DEBUG connecting to 20.26.156.215:443
DEBUG connected to 20.26.156.215:443
DEBUG binding client connection
DEBUG client connection bound
DEBUG send frame=Settings { flags: (0x0), enable_push: 0, initial_window_size: 2097152, max_frame_size: 16384, max_header_list_size: 16384 }
DEBUG pooling idle connection for ("https", github.com)
DEBUG Connection{peer=Client}: send frame=WindowUpdate { stream_id: StreamId(0), size_increment: 5177345 }
DEBUG Connection{peer=Client}: send frame=Headers { stream_id: StreamId(1), flags: (0x5: END_HEADERS | END_STREAM) }
DEBUG Connection{peer=Client}: received frame=Settings { flags: (0x0), max_concurrent_streams: 100, initial_window_size: 67108864, max_frame_size: 68608, enable_connect_protocol: 1 }
DEBUG Connection{peer=Client}: send frame=Settings { flags: (0x1: ACK) }
DEBUG Connection{peer=Client}: received frame=Settings { flags: (0x1: ACK) }
DEBUG Connection{peer=Client}: received settings ACK; applying Settings { flags: (0x0), enable_push: 0, initial_window_size: 2097152, max_frame_size: 16384, max_header_list_size: 16384 }
DEBUG Connection{peer=Client}: received frame=Headers { stream_id: StreamId(1), flags: (0x5: END_HEADERS | END_STREAM) }
DEBUG connecting to [2606:50c0:8000::154]:443
DEBUG connected to [2606:50c0:8000::154]:443
DEBUG binding client connection
DEBUG client connection bound
DEBUG send frame=Settings { flags: (0x0), enable_push: 0, initial_window_size: 2097152, max_frame_size: 16384, max_header_list_size: 16384 }
DEBUG pooling idle connection for ("https", raw.githubusercontent.com)
DEBUG Connection{peer=Client}: send frame=WindowUpdate { stream_id: StreamId(0), size_increment: 5177345 }
DEBUG Connection{peer=Client}: send frame=Headers { stream_id: StreamId(1), flags: (0x5: END_HEADERS | END_STREAM) }
DEBUG Connection{peer=Client}: received frame=Settings { flags: (0x0), max_concurrent_streams: 100 }
DEBUG Connection{peer=Client}: send frame=Settings { flags: (0x1: ACK) }
DEBUG Connection{peer=Client}: received frame=WindowUpdate { stream_id: StreamId(0), size_increment: 16711681 }
DEBUG Connection{peer=Client}: received frame=Settings { flags: (0x1: ACK) }
DEBUG Connection{peer=Client}: received settings ACK; applying Settings { flags: (0x0), enable_push: 0, initial_window_size: 2097152, max_frame_size: 16384, max_header_list_size: 16384 }
DEBUG Connection{peer=Client}: received frame=Headers { stream_id: StreamId(1), flags: (0x4: END_HEADERS) }
DEBUG Connection{peer=Client}: received frame=Data { stream_id: StreamId(1), flags: (0x1: END_STREAM) }
DEBUG Connection{peer=Client}: send frame=GoAway { error_code: NO_ERROR, last_stream_id: StreamId(0) }
DEBUG Connection{peer=Client}: send frame=GoAway { error_code: NO_ERROR, last_stream_id: StreamId(0) }
DEBUG Connection{peer=Client}: Connection::poll; connection error error=GoAway(b"", NO_ERROR, Library)
DEBUG Connection{peer=Client}: Connection::poll; connection error error=GoAway(b"", NO_ERROR, Library)
+ mkdir -pv /home/matthew/gits/soarpkgs/binaries/fish/./SBUILD-TEST/github.com.fish-shell.fish-shell.source/SBUILD_TEMP/tmp
mkdir: created directory '/home/matthew/gits/soarpkgs/binaries/fish/./SBUILD-TEST/github.com.fish-shell.fish-shell.source/SBUILD_TEMP/tmp'
++ uname -m
+ docker run --privileged --net=host --name alpine-builder --pull=always -e PKG=fish -e PKG_ID=github.com.fish-shell.fish-shell.source -e PKG_TYPE=static -e PKG_VER=HEAD-810a707-251231T074650 -e PKGVER=HEAD-810a707-251231T074650 -e SBUILD_PKG=fish.static -e SBUILD_PKGVER=HEAD-810a707-251231T074650 --volume /home/matthew/gits/soarpkgs/binaries/fish/./SBUILD-TEST/github.com.fish-shell.fish-shell.source/SBUILD_TEMP/tmp:/tmp:rw ghcr.io/pkgforge/devscripts/alpine-builder:aarch64 bash -l -c '
#Setup ENV
set -x ; mkdir -p "/build-bins" && pushd "$(mktemp -d)" &>/dev/null
[[ -s "${HOME}/.cargo/env" ]] && source "${HOME}/.cargo/env"
if [[ "$(uname -m | tr -d [:space:])" == "riscv64" ]]; then
RUST_TARGET="$(rustc -Vv 2>/dev/null | sed -n "s/^[[:space:]]*host[[:space:]]*:[[:space:]]*//p" | grep -i "riscv" | tr -d "[:space:]")"
if [[ -n "${RUST_TARGET//[[:space:]]/}" ]]; then
export RUST_TARGET
else
rustc -Vv ; exit 1
fi
else
rustup default nightly
rustup component add rust-src --toolchain nightly
export RUST_TARGET="$(uname -m)-unknown-linux-musl"
rustup target add "${RUST_TARGET}"
fi
RUST_FLAGS=()
RUST_FLAGS+=("-C target-feature=+crt-static")
RUST_FLAGS+=("-C default-linker-libraries=yes")
if echo "${RUST_TARGET}" | grep -Eqiv "alpine|gnu"; then
RUST_FLAGS+=("-C link-self-contained=yes")
fi
RUST_FLAGS+=("-C prefer-dynamic=no")
RUST_FLAGS+=("-C embed-bitcode=yes")
RUST_FLAGS+=("-C lto=yes")
RUST_FLAGS+=("-C opt-level=z")
RUST_FLAGS+=("-C debuginfo=none")
RUST_FLAGS+=("-C strip=symbols")
RUST_FLAGS+=("-C linker=clang")
RUST_FLAGS+=("-C link-arg=-fuse-ld=$(which mold)")
RUST_FLAGS+=("-C link-arg=-Wl,--Bstatic")
RUST_FLAGS+=("-C link-arg=-Wl,--static")
RUST_FLAGS+=("-C link-arg=-Wl,-S")
RUST_FLAGS+=("-C link-arg=-Wl,--build-id=none")
export RUSTFLAGS="${RUST_FLAGS[*]}"
#Build
git clone --filter "blob:none" --quiet "https://github.com/fish-shell/fish-shell" "./TEMPREPO" && cd "./TEMPREPO/"
echo -e "\n[+] Target: ${RUST_TARGET}"
echo -e "[+] Flags: ${RUSTFLAGS}\n"
sed "/^\[profile\.release\]/,/^$/d" -i "./Cargo.toml" ; echo -e "\n[profile.release]\nstrip = true\nopt-level = 3\nlto = true" >> "./Cargo.toml"
rm -rvf "./.cargo" rust-toolchain* 2>/dev/null
cargo build --workspace --target "${RUST_TARGET}" \
--all-features \
--jobs="$(($(nproc)+1))" \
--release \
--keep-going \
--verbose
find -L "./target/${RUST_TARGET}/release" -maxdepth 1 -type f 2>/dev/null
#Copy
find "./target/${RUST_TARGET}/release" -maxdepth 1 -type f -exec file -i "{}" \; | grep -Ei "application/.*executable|inode/symlink|text/x-perl|text/.*script" | cut -d":" -f1 | xargs realpath --no-symlinks | xargs -I "{}" rsync -achvL "{}" "/build-bins/"
( askalono --format "json" crawl --follow "$(realpath .)" | jq -r ".. | objects | .path? // empty" | head -n 1 | xargs -I "{}" cp -fv "{}" "/build-bins/LICENSE" ) 2>/dev/null
#Strip
find "/build-bins/" -type f -exec objcopy --remove-section=".comment" --remove-section=".note.*" "{}" \;
find "/build-bins/" -type f ! -name "*.no_strip" -exec strip --strip-all --verbose "{}" 2>/dev/null \;
find "/build-bins/" -type f -exec bash -c "echo && realpath {} && readelf --section-headers {} 2>/dev/null" \;
file "/build-bins/"* && stat -c "%n: %s Bytes" "/build-bins/"* && \
du "/build-bins/"* --bytes --human-readable --time --time-style="full-iso" --summarize
popd &>/dev/null
'
Emulate Docker CLI using podman. Create /etc/containers/nodocker to quiet msg.
Trying to pull ghcr.io/pkgforge/devscripts/alpine-builder:aarch64...
Getting image source signatures
Copying blob sha256:79f8a12a900795e761449a6b34f2a6df24499a419f041732c0b37bfe4459b608
Copying blob sha256:845591785a48207c5f57ed962cbcdcf6e84601571f719382191204083409df39
Copying blob sha256:5d7d1c16195a3a8e33cae8705f0597603a15164aa9dd79c0fa32641ad7413b63
Copying blob sha256:0ad83f8aa1a903b71c9649968a9938eb59962c16a0c0b7761aeea9bec2709808
Copying blob sha256:e458004e4c65b701815828b25351fd8050402bfd13ef234518a15d05d3564e9b
Copying blob sha256:6c4e66b7a484197e8ebc2ff46f442854fcd36e202e844fcc093ceb949b80a82e
Error: copying system image from manifest list: writing blob: adding layer with blob "sha256:845591785a48207c5f57ed962cbcdcf6e84601571f719382191204083409df39": creating read-only layer with ID "2e6c89a73ba34e8e4af373458f794f19dcfa375e4f70087b4a1e4edee6956fa3": no space left on device
+ docker cp alpine-builder:/build-bins/. /home/matthew/gits/soarpkgs/binaries/fish/./SBUILD-TEST/github.com.fish-shell.fish-shell.source/SBUILD_TEMP/
Emulate Docker CLI using podman. Create /etc/containers/nodocker to quiet msg.
Error: container "alpine-builder" does not exist
+ '[' -s /home/matthew/gits/soarpkgs/binaries/fish/./SBUILD-TEST/github.com.fish-shell.fish-shell.source/SBUILD_TEMP/LICENSE ']'
+ find /home/matthew/gits/soarpkgs/binaries/fish/./SBUILD-TEST/github.com.fish-shell.fish-shell.source/SBUILD_TEMP -maxdepth 1 -type f -exec file -i '{}' ';'
+ grep -Ei 'application/.*executable|inode/symlink|text/x-perl|text/.*script'
+ cut -d: -f1
+ xargs realpath --no-symlinks
+ xargs -I '{}' rsync -achvL '{}' /home/matthew/gits/soarpkgs/binaries/fish/./SBUILD-TEST/github.com.fish-shell.fish-shell.source
realpath: missing operand
Try 'realpath --help' for more information.
[β ] Provide 'fish' does not exist.
Maintainers
Soar Version
$ soar --version && soar env
soar-cli 0.9.1
SOAR_CONFIG=/home/matthew/.config/soar/config.toml
SOAR_BIN=/home/matthew/.local/share/soar/bin
SOAR_DB=/home/matthew/.local/share/soar/db
SOAR_CACHE=/home/matthew/.local/share/soar/cache
SOAR_PACKAGES=/home/matthew/.local/share/soar/packages
SOAR_REPOSITORIES=/home/matthew/.local/share/soar/repos
Additional Information
No response
Metadata
Metadata
Assignees
Labels
bugBroken Packages or Any other Issue related to PackagingBroken Packages or Any other Issue related to Packaging