Skip to content

Commit 3b55e82

Browse files
committed
Add: auto add liblol dependency
1 parent 67d730c commit 3b55e82

File tree

1 file changed

+16
-5
lines changed

1 file changed

+16
-5
lines changed

loong64-it/loong64-it.bash

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,14 @@ abinfo() { echo -e "[\e[96mINFO\e[0m]: \e[1m$*\e[0m"; }
2121
abdbg() { echo -e "[\e[32mDEBUG\e[0m]: \e[1m$*\e[0m"; }
2222

2323
_convert_loong64() {
24+
PKG_PATH=$(realpath $1)
25+
PKG_NAME=$(dpkg-deb -f "$PKG_PATH" Package)
26+
VERSION=$(dpkg-deb -f "$PKG_PATH" Version)
27+
HERE=$(basename $1)
2428
abinfo "Examining package information: $1 ..."
25-
dpkg -I "$SRCDIR"/$1 || \
29+
dpkg -I "$PKG_PATH" || \
2630
aberr "Invalid dpkg package: control (metadata) archive not found: $?"
27-
CONTROL_EXT="$(ar t "$SRCDIR"/$1 | grep control.tar* | cut -f3 -d'.')"
31+
CONTROL_EXT="$(ar t "$PKG_PATH" | grep control.tar* | cut -f3 -d'.')"
2832
case "${CONTROL_EXT}" in
2933
gz)
3034
TAR_COMP_FLAG="z"
@@ -47,7 +51,7 @@ _convert_loong64() {
4751
cd $(mktemp -d) || \
4852
aberr "Failed to create temporary directory to unpack $1: $?."
4953
DEBDIR="$(pwd)"
50-
ar xv "$SRCDIR"/$1 || \
54+
ar xv "$PKG_PATH" || \
5155
aberr "Failed to unpack $1: $?."
5256

5357
abinfo "Unpacking metadata archive: $1 ..."
@@ -63,14 +67,21 @@ _convert_loong64() {
6367
sed -e 's|^Architecture: loongarch64$|Architecture: loong64|g' \
6468
-i "$DEBDIR"/metadata/control
6569

70+
if grep -q "Depends:" "$DEBDIR"/metadata/control; then
71+
sed -i '/Depends:/ s/$/, liblol/' "$DEBDIR"/metadata/control
72+
else
73+
echo "Depends: liblol" >> "$DEBDIR"/metadata/control
74+
fi
75+
76+
6677
abinfo "Building metadata archive (control.tar.${CONTROL_EXT}): $1 ..."
6778
cd "$DEBDIR"/metadata
6879
tar cvf${TAR_COMP_FLAG} "$DEBDIR"/control.tar."${CONTROL_EXT}" * || \
6980
aberr "Failed to build metadata archive (control.tar.${CONTROL_EXT}) for $1: $?."
7081
cd "$DEBDIR"
7182

7283
abinfo "Rebuilding dpkg package $1: loong64 ..."
73-
ar rv "$SRCDIR"/$1 control.tar.${CONTROL_EXT} || \
84+
ar rv "$PKG_PATH" control.tar.${CONTROL_EXT} || \
7485
aberr "Failed to rebuild dpkg package $1: $?."
7586

7687
#abinfo "Cleaning up: $1 ..."
@@ -79,7 +90,7 @@ _convert_loong64() {
7990
abinfo """Your requested package:
8091
8192
$1
82-
93+
mv $1 $HERE/${PKG_NAME}_${VERSION}_loong64.deb
8394
Has been successfully converted as a loong64 package!
8495
8596
However, you may still need to install libLoL for old-world applications to

0 commit comments

Comments
 (0)