@@ -21,10 +21,14 @@ abinfo() { echo -e "[\e[96mINFO\e[0m]: \e[1m$*\e[0m"; }
2121abdbg () { 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
8394Has been successfully converted as a loong64 package!
8495
8596However, you may still need to install libLoL for old-world applications to
0 commit comments