2 Commits
2 changed files with 30 additions and 24 deletions
+6 -2
View File
@@ -74,7 +74,11 @@ if tar -xf "$PACKAGE" -C "$TEMPDIR" source-files &> /dev/null; then
mv "$TEMPDIR"/source-files/* "$TEMPDIR"/ mv "$TEMPDIR"/source-files/* "$TEMPDIR"/
rm -d "$TEMPDIR"/source-files rm -d "$TEMPDIR"/source-files
fi fi
PACKAGE_SCRIPTS=()
while read line; do
PACKAGE_SCRIPTS+=("$line")
done < <(tar -tf "$PACKAGE" | grep -v -E 'source.sh|pkg.info|source-files')
tar -xf "$PACKAGE" -C "$TEMPDIR" ${PACKAGE_SCRIPTS[@]} &> /dev/null
cd "$TEMPDIR" cd "$TEMPDIR"
# Declare and run Set Variables function # Declare and run Set Variables function
@@ -156,7 +160,7 @@ for func in $(typeset -F | awk '{print $3}' | grep '^package'); do
echo "${PKGINFO_FILE}" > pkg.info echo "${PKGINFO_FILE}" > pkg.info
sed -i "s/architecture:.*/architecture: ${ARCH}/g" pkg.info sed -i "s/architecture:.*/architecture: ${ARCH}/g" pkg.info
sed -i 's/type:.*/type: binary/g' pkg.info sed -i 's/type:.*/type: binary/g' pkg.info
fakeroot -i "$TEMPDIR"/fakeroot_file_"$pkgname" tar -czpf "$pkgname".tar.gz pkg.info output --transform 's/output/files/' fakeroot -i "$TEMPDIR"/fakeroot_file_"$pkgname" tar -czpf "$pkgname".tar.gz pkg.info ${PACKAGE_SCRIPTS[@]} output --transform 's/output/files/'
mv "$pkgname".tar.gz "$DIR"/"$pkgname"-"$BPM_PKG_VERSION"-"$ARCH".bpm mv "$pkgname".tar.gz "$DIR"/"$pkgname"-"$BPM_PKG_VERSION"-"$ARCH".bpm
echo "Packaged ${pkgname} successfully!" echo "Packaged ${pkgname} successfully!"
rm "$TEMPDIR"/fakeroot_file_"$pkgname" rm "$TEMPDIR"/fakeroot_file_"$pkgname"
+24 -22
View File
@@ -37,36 +37,38 @@ fi
shopt -s nullglob shopt -s nullglob
create_entry() {
if [ $# -eq 0 ]; then
return 0
fi
if ! [ -f "$1" ]; then
return 0
fi
info="info:"$'\n'
info+=$(tar -xf "$pkg" pkg.info -O | sed 's/^/ /g')
package=$(echo "$info" | grep 'name: ' | xargs | awk '{print $2}')
if containsElement "$package" "${PKGS[@]}"; then
echo "The following package was found in more than 1 package archives: ${package}"
exit 1
fi
PKGS+=("$package")
file="$(realpath -s --relative-to="$REPO" "$pkg")"
info+=$'\n'"download: ${file}"
info+=$'\n---'
echo "$info"
}
if ! $DEEP; then if ! $DEEP; then
for arch in "$REPO"/*/; do for arch in "$REPO"/*/; do
for pkg in "$arch"/*.bpm; do for pkg in "$arch"/*.bpm; do
info="info:"$'\n' create_entry "$pkg"
info+=$(tar -xf "$pkg" pkg.info -O | sed 's/^/ /g')
package=$(echo "$info" | grep 'name: ' | xargs | awk '{print $2}')
if containsElement "$package" "${PKGS[@]}"; then
echo "The following package was found in more than 1 package archives: ${package}"
exit 1
fi
PKGS+=("$package")
file="$(realpath -s --relative-to="$REPO" "$pkg")"
info+=$'\n'"download: ${file}"
info+=$'\n---'
echo "$info"
done done
done done
else else
for arch in "$REPO"/*/; do for arch in "$REPO"/*/; do
for pkg in "$arch"/**/*.bpm; do for pkg in "$arch"/**/*.bpm; do
info=$(tar -xf "$pkg" pkg.info -O) create_entry "$pkg"
package=$(echo "$info" | grep 'name: ' | awk '{print $2}')
if [[ ${PKGS[@]} =~ "$package" ]]; then
echo "The following package was found in more than 1 package archives: ${package}"
fi
PKGS+=("$package")
file="$(realpath -s --relative-to="$REPO" "$pkg")"
info+=$'\n'"file: ${file}"
info+=$'\n---'
echo "$info"
done done
done done
fi fi