commit aab82f7

hovercats  ·  2023-12-30 11:25:24 +0000 UTC
parent 0134510
kiss: new at 5.6.4
7 files changed,  +122, -0
+4, -0
 1@@ -37,6 +37,10 @@
 2 	path = pkg/git/src
 3 	url = https://github.com/git/git
 4 	ignore = all
 5+[submodule "pkg/kiss/src"]
 6+	path = pkg/kiss/src
 7+	url = https://codeberg.org/kiss-community/kiss
 8+	ignore = all
 9 [submodule "pkg/iproute2/src"]
10 	path = pkg/iproute2/src
11 	url = https://git.kernel.org/pub/scm/linux/kernel/git/shemminger/iproute2.git
+1, -0
1@@ -15,6 +15,7 @@ subgen 'file'
2 subgen 'flex'
3 subgen 'fspec-sync'
4 subgen 'git'
5+subgen 'kiss'
6 subgen 'iproute2'
7 subgen 'less'
8 subgen 'libcbor'
+12, -0
 1@@ -0,0 +1,12 @@
 2+file('bin/kiss', '755', '$srcdir/kiss')
 3+file('bin/kiss-chroot', '755', '$srcdir/contrib/kiss-chroot')
 4+file('bin/kiss-depends', '755', '$srcdir/contrib/kiss-depends')
 5+file('bin/kiss-fork', '755', '$srcdir/contrib/kiss-fork')
 6+file('bin/kiss-manifest', '755', '$srcdir/contrib/kiss-manifest')
 7+file('bin/kiss-new', '755', '$srcdir/contrib/kiss-new')
 8+file('bin/kiss-orphans', '755', '$srcdir/contrib/kiss-orphans')
 9+file('bin/kiss-outdated', '755', '$srcdir/contrib/kiss-outdated')
10+file('bin/kiss-revdepends', '755', '$srcdir/contrib/kiss-revdepends')
11+file('bin/kiss-size', '755', '$srcdir/contrib/kiss-size')
12+
13+fetch 'git'
+102, -0
  1@@ -0,0 +1,102 @@
  2+From 48809e7da348bb5baf8eff057cbba6a7023240f8 Mon Sep 17 00:00:00 2001
  3+From: hovercats <hovercatswithlasereyes@protonmail.com>
  4+Date: Sat, 30 Dec 2023 12:15:45 +0100
  5+Subject: [PATCH] kiss: use pax instead of tar
  6+
  7+---
  8+ kiss | 58 ++++------------------------------------------------------
  9+ 1 file changed, 4 insertions(+), 54 deletions(-)
 10+
 11+diff --git a/kiss b/kiss
 12+index 0fa8e9f..1a70e10 100755
 13+--- a/kiss
 14++++ b/kiss
 15+@@ -505,57 +505,6 @@ pkg_source_git() {
 16+     git reset --hard FETCH_HEAD
 17+ }
 18+ 
 19+-pkg_source_tar() {
 20+-    # This is a portable shell implementation of GNU tar's
 21+-    # '--strip-components 1'. Use of this function denotes a
 22+-    # performance penalty.
 23+-    tmp_file "$repo_name" tarball
 24+-    tmp_file "$repo_name" tarball-manifest
 25+-
 26+-    decompress "$1" > "$_tmp_file_pre" ||
 27+-        die "$repo_name" "Failed to decompress $1"
 28+-
 29+-    tar xf "$_tmp_file_pre" ||
 30+-        die "$repo_name" "Failed to extract $1"
 31+-
 32+-    # The sort command filters out all duplicate top-level
 33+-    # directories from the tarball's manifest. This is an optimization
 34+-    # as we avoid looping (4000 times for Python(!)).
 35+-    tar tf "$_tmp_file_pre" | sort -ut / -k1,1 > "$_tmp_file" ||
 36+-        die "$repo_name" "Failed to extract manifest"
 37+-
 38+-    # Iterate over all directories in the first level of the
 39+-    # tarball's manifest. Each directory is moved up a level.
 40+-    while IFS=/ read -r dir _; do case ${dir#.} in *?*)
 41+-        # Skip entries which aren't directories.
 42+-        [ -d "$dir" ] || continue
 43+-
 44+-        # Move the parent directory to prevent naming conflicts
 45+-        # with the to-be-moved children.
 46+-        mv -f "$dir" "$KISS_PID-$dir"
 47+-
 48+-        # Move all children up a directory level. If the mv command
 49+-        # fails, fallback to copying the remainder of the files.
 50+-        #
 51+-        # We can't use '-exec {} +' with any arguments between
 52+-        # the '{}' and '+' as this is not POSIX. We must also
 53+-        # use '$0' and '$@' to reference all arguments.
 54+-        find "$KISS_PID-$dir/." ! -name . -prune \
 55+-            -exec sh -c 'mv -f "$0" "$@" .' {} + 2>/dev/null ||
 56+-
 57+-        find "$KISS_PID-$dir/." ! -name . -prune \
 58+-            -exec sh -c 'cp -fRPp "$0" "$@" .' {} +
 59+-
 60+-        # Remove the directory now that all files have been
 61+-        # transferred out of it. This can't be a simple 'rmdir'
 62+-        # as we may leave files in here if any were copied.
 63+-        rm -rf "$KISS_PID-$dir"
 64+-    esac done < "$_tmp_file"
 65+-
 66+-    # Remove the tarball now that we are done with it.
 67+-    rm -f "$_tmp_file_pre"
 68+-}
 69+-
 70+ pkg_extract() {
 71+     # Extract all source archives to the build directory and copy over any
 72+     # local repository files.
 73+@@ -580,7 +529,8 @@ pkg_extract() {
 74+             ;;
 75+ 
 76+             *.tar|*.tar.??|*.tar.???|*.tar.????|*.t?z)
 77+-                pkg_source_tar "$_res"
 78++            decompress "$_res" | pax -r -s '!^[^/]*/!!'
 79++
 80+             ;;
 81+ 
 82+             *?*)
 83+@@ -964,7 +914,7 @@ pkg_tar() {
 84+     cd "$pkg_dir/$1"
 85+ 
 86+     # Create a tarball from the contents of the built package.
 87+-    tar cf - . | compress > "$_tar_file"
 88++    pax -w . | compress > "$_tar_file"
 89+ 
 90+     cd "$OLDPWD"
 91+ 
 92+@@ -1650,7 +1600,7 @@ pkg_install() {
 93+     # then "installed" to the filesystem. Running this step as soon as possible
 94+     # allows us to also check the validity of the tarball and bail out early
 95+     # if needed.
 96+-    decompress "$tar_file" | tar xf -
 97++    decompress "$tar_file" | pax -r
 98+ 
 99+     # Naively assume that the existence of a manifest file is all that
100+     # determines a valid KISS package from an invalid one. This should be a
101+-- 
102+2.43.0
103+
+1, -0
1@@ -0,0 +1 @@
2+Subproject commit b9a8f9fc28856a569821c0337d304e3065a73f4f
+1, -0
1@@ -0,0 +1 @@
2+5.6.4-b9a8f9f r0
+1, -0
1@@ -7,6 +7,7 @@ return {
2 		'cacert',
3 		'curl',
4 		'git',
5+		'kiss',
6 		'lua',
7 		'oksh',
8 		'openbsd',