package script added
This commit is contained in:
parent
5fd9a5f45f
commit
f904f731f3
5 changed files with 179 additions and 38 deletions
100
package.sh
Executable file
100
package.sh
Executable file
|
@ -0,0 +1,100 @@
|
|||
#!/bin/bash
|
||||
|
||||
# Output APKINDEX file
|
||||
OUTPUT_FILE="./APKINDEX"
|
||||
|
||||
# Function to calculate a mock checksum
|
||||
calc_checksum() {
|
||||
echo -n "$1" | sha1sum | awk '{ print $1 }'
|
||||
}
|
||||
|
||||
# Parse command-line arguments
|
||||
while getopts "P:V:A:S:I:T:U:L:o:m:D:" opt; do
|
||||
case ${opt} in
|
||||
P) name="$OPTARG" ;;
|
||||
V) version="$OPTARG" ;;
|
||||
A) arch="$OPTARG" ;;
|
||||
S) size="$OPTARG" ;;
|
||||
I) installed_size="$OPTARG" ;;
|
||||
T) description="$OPTARG" ;;
|
||||
U) url="$OPTARG" ;;
|
||||
L) license="$OPTARG" ;;
|
||||
o) origin="$OPTARG" ;;
|
||||
m) maintainer="$OPTARG" ;;
|
||||
D) dependencies="$OPTARG" ;;
|
||||
\?) echo "Invalid option: $OPTARG" 1>&2; exit 1 ;;
|
||||
:) echo "Invalid option: $OPTARG requires an argument" 1>&2; exit 1 ;;
|
||||
esac
|
||||
done
|
||||
|
||||
# If no parameters are provided, prompt for input
|
||||
if [ -z "$name" ]; then
|
||||
read -p "Enter package name: " name
|
||||
fi
|
||||
if [ -z "$version" ]; then
|
||||
read -p "Enter package version: " version
|
||||
fi
|
||||
if [ -z "$arch" ]; then
|
||||
arch="x86_64"
|
||||
fi
|
||||
if [ -z "$size" ]; then
|
||||
read -p "Enter package size: " size
|
||||
fi
|
||||
if [ -z "$installed_size" ]; then
|
||||
read -p "Enter installed size: " installed_size
|
||||
fi
|
||||
if [ -z "$description" ]; then
|
||||
read -p "Enter package description: " description
|
||||
fi
|
||||
if [ -z "$url" ]; then
|
||||
read -p "Enter package URL: " url
|
||||
fi
|
||||
if [ -z "$license" ]; then
|
||||
read -p "Enter license: " license
|
||||
fi
|
||||
if [ -z "$origin" ]; then
|
||||
read -p "Enter origin: " origin
|
||||
fi
|
||||
if [ -z "$maintainer" ]; then
|
||||
read -p "Enter maintainer: " maintainer
|
||||
fi
|
||||
if [ -z "$dependencies" ]; then
|
||||
read -p "Enter dependencies: " dependencies
|
||||
fi
|
||||
|
||||
# Mock package file name
|
||||
pkg_file="$name-$version.apk"
|
||||
|
||||
# Calculate checksums based on package details
|
||||
checksum=$(calc_checksum "$pkg_file")
|
||||
content_checksum=$(calc_checksum "$pkg_file")
|
||||
|
||||
timestamp=$(date +%s)
|
||||
|
||||
# Remove existing entry if present
|
||||
sed -i "/^P:$name$/,/^$/d" "$OUTPUT_FILE" # Ensures the removal from 'P:$name' to the first empty line.
|
||||
sed -i "/^C:$checksum/d" "$OUTPUT_FILE" # Additionally, ensures all occurrences of 'C:$checksum' are removed.
|
||||
|
||||
# Append new entry
|
||||
cat >> "$OUTPUT_FILE" << EOF
|
||||
C:$checksum
|
||||
P:$name
|
||||
V:$version
|
||||
A:$arch
|
||||
S:$size
|
||||
I:$installed_size
|
||||
T:$description
|
||||
U:$url
|
||||
L:$license
|
||||
o:$origin
|
||||
m:$maintainer
|
||||
t:$timestamp
|
||||
c:$content_checksum
|
||||
D:$dependencies
|
||||
p:$pkg_file
|
||||
q:
|
||||
Z:$checksum
|
||||
|
||||
EOF
|
||||
|
||||
echo "APKINDEX has been created/updated successfully."
|
Loading…
Add table
Add a link
Reference in a new issue