OpenWrt – Diff between revs 2 and 3
?pathlinks?
Rev 2 | Rev 3 | |||
---|---|---|---|---|
1 | #!/usr/bin/env bash |
1 | #!/usr/bin/env bash |
|
2 | set -e |
2 | set -e |
|
3 | |
3 | |
|
4 | pkg_dir=$1 |
4 | pkg_dir=$1 |
|
5 | |
5 | |
|
6 | if [ -z $pkg_dir ] || [ ! -d $pkg_dir ]; then |
6 | if [ -z $pkg_dir ] || [ ! -d $pkg_dir ]; then |
|
7 | echo "Usage: ipkg-make-index <package_directory>" >&2 |
7 | echo "Usage: ipkg-make-index <package_directory>" >&2 |
|
8 | exit 1 |
8 | exit 1 |
|
9 | fi |
9 | fi |
|
10 | |
10 | |
|
11 | empty=1 |
11 | empty=1 |
|
12 | |
12 | |
|
13 | for pkg in `find $pkg_dir -name '*.ipk' | sort`; do |
13 | for pkg in `find $pkg_dir -name '*.ipk' | sort`; do |
|
14 | empty= |
14 | empty= |
|
15 | name="${pkg##*/}" |
15 | name="${pkg##*/}" |
|
16 | name="${name%%_*}" |
16 | name="${name%%_*}" |
|
17 | [[ "$name" = "kernel" ]] && continue |
17 | [[ "$name" = "kernel" ]] && continue |
|
18 | [[ "$name" = "libc" ]] && continue |
18 | [[ "$name" = "libc" ]] && continue |
|
19 | echo "Generating index for package $pkg" >&2 |
19 | echo "Generating index for package $pkg" >&2 |
|
20 | file_size=$(stat -L -c%s $pkg) |
20 | file_size=$(ls -l $pkg | awk '{print $5}') |
|
21 | sha256sum=$(mkhash sha256 $pkg) |
21 | sha256sum=$(mkhash sha256 $pkg) |
|
22 | # Take pains to make variable value sed-safe |
22 | # Take pains to make variable value sed-safe |
|
23 | sed_safe_pkg=`echo $pkg | sed -e 's/^\.\///g' -e 's/\\//\\\\\\//g'` |
23 | sed_safe_pkg=`echo $pkg | sed -e 's/^\.\///g' -e 's/\\//\\\\\\//g'` |
|
24 | tar -xzOf $pkg ./control.tar.gz | tar xzOf - ./control | sed -e "s/^Description:/Filename: $sed_safe_pkg\\ |
24 | tar -xzOf $pkg ./control.tar.gz | tar xzOf - ./control | sed -e "s/^Description:/Filename: $sed_safe_pkg\\ |
|
25 | Size: $file_size\\ |
25 | Size: $file_size\\ |
|
26 | SHA256sum: $sha256sum\\ |
26 | SHA256sum: $sha256sum\\ |
|
27 | Description:/" |
27 | Description:/" |
|
28 | echo "" |
28 | echo "" |
|
29 | done |
29 | done |
|
30 | [ -n "$empty" ] && echo |
30 | [ -n "$empty" ] && echo |
|
31 | exit 0 |
31 | exit 0 |
|
32 | |
32 | |