diff --git a/package/system/apk/Makefile b/package/system/apk/Makefile index 485bb82049..794d1557bd 100644 --- a/package/system/apk/Makefile +++ b/package/system/apk/Makefile @@ -1,7 +1,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=apk -PKG_RELEASE:=1 +PKG_RELEASE:=2 PKG_SOURCE_URL=https://gitlab.alpinelinux.org/alpine/apk-tools.git PKG_SOURCE_PROTO:=git diff --git a/package/system/apk/patches/0002-io_url_wget-correctly-init-wget_out-on-apk_io_url_in.patch b/package/system/apk/patches/0002-io_url_wget-correctly-init-wget_out-on-apk_io_url_in.patch new file mode 100644 index 0000000000..305e367727 --- /dev/null +++ b/package/system/apk/patches/0002-io_url_wget-correctly-init-wget_out-on-apk_io_url_in.patch @@ -0,0 +1,27 @@ +From a50f7ea2dd023ef124c5209b487608b37dbeea7c Mon Sep 17 00:00:00 2001 +From: Christian Marangi +Date: Sat, 1 Mar 2025 19:33:18 +0100 +Subject: [PATCH] io_url_wget: correctly init wget_out on apk_io_url_init call + +Commit fc7768c09497 ("io_url_wget: log wget output using apk_process +api") reworked the implementation but forgot to init the static wget_out +on calling apk_io_url_init. This cause APK to SIGFAULT on apk update or +apk add when actually using the WGET method to download remote packages. + +Fix this by setting wget_out with the passed out from apk_io_url_init. + +Reported-by: John Crispin +Fixes: fc7768c09497 ("io_url_wget: log wget output using apk_process api") +Signed-off-by: Christian Marangi +--- + src/io_url_wget.c | 1 + + 1 file changed, 1 insertion(+) + +--- a/src/io_url_wget.c ++++ b/src/io_url_wget.c +@@ -48,4 +48,5 @@ void apk_io_url_set_redirect_callback(vo + + void apk_io_url_init(struct apk_out *out) + { ++ wget_out = out; + } diff --git a/scripts/feeds b/scripts/feeds index 4338424959..ae70d3378e 100755 --- a/scripts/feeds +++ b/scripts/feeds @@ -157,12 +157,12 @@ my %update_method = ( 'src-git' => { 'init' => "git clone --depth 1 '%s' '%s'", 'init_branch' => "git clone --depth 1 --branch '%s' '%s' '%s'", - 'init_commit' => "git clone '%s' '%s' && cd '%s' && git checkout -b '%s' '%s' && cd -", + 'init_commit' => "git clone --depth 1 '%s' '%s' && cd '%s' && git fetch --depth=1 origin '%s' && git -c advice.detachedHead=false checkout '%s' && cd -", 'update' => "git pull --ff-only", 'update_rebase' => "git pull --rebase=merges", 'update_stash' => "git pull --rebase=merges --autostash", 'update_force' => "git pull --ff-only || (git reset --hard HEAD; git pull --ff-only; exit 1)", - 'post_update' => "git submodule update --init --recursive", + 'post_update' => "git submodule update --init --recursive --depth 1", 'controldir' => ".git", 'revision' => "git rev-parse HEAD | tr -d '\n'"}, 'src-git-full' => {