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'
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
M
sets.lua
+1,
-0
1@@ -7,6 +7,7 @@ return {
2 'cacert',
3 'curl',
4 'git',
5+ 'kiss',
6 'lua',
7 'oksh',
8 'openbsd',