@@ -21,10 +21,14 @@ abinfo() { echo -e "[\e[96mINFO\e[0m]: \e[1m$*\e[0m"; }
21
21
abdbg () { echo -e " [\e[32mDEBUG\e[0m]: \e[1m$* \e[0m" ; }
22
22
23
23
_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 )
24
28
abinfo " Examining package information: $1 ..."
25
- dpkg -I " $SRCDIR " / $1 || \
29
+ dpkg -I " $PKG_PATH " || \
26
30
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' .' ) "
28
32
case " ${CONTROL_EXT} " in
29
33
gz)
30
34
TAR_COMP_FLAG=" z"
@@ -47,7 +51,7 @@ _convert_loong64() {
47
51
cd $( mktemp -d) || \
48
52
aberr " Failed to create temporary directory to unpack $1 : $? ."
49
53
DEBDIR=" $( pwd) "
50
- ar xv " $SRCDIR " / $1 || \
54
+ ar xv " $PKG_PATH " || \
51
55
aberr " Failed to unpack $1 : $? ."
52
56
53
57
abinfo " Unpacking metadata archive: $1 ..."
@@ -63,14 +67,21 @@ _convert_loong64() {
63
67
sed -e ' s|^Architecture: loongarch64$|Architecture: loong64|g' \
64
68
-i " $DEBDIR " /metadata/control
65
69
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
+
66
77
abinfo " Building metadata archive (control.tar.${CONTROL_EXT} ): $1 ..."
67
78
cd " $DEBDIR " /metadata
68
79
tar cvf${TAR_COMP_FLAG} " $DEBDIR " /control.tar." ${CONTROL_EXT} " * || \
69
80
aberr " Failed to build metadata archive (control.tar.${CONTROL_EXT} ) for $1 : $? ."
70
81
cd " $DEBDIR "
71
82
72
83
abinfo " Rebuilding dpkg package $1 : loong64 ..."
73
- ar rv " $SRCDIR " / $1 control.tar.${CONTROL_EXT} || \
84
+ ar rv " $PKG_PATH " control.tar.${CONTROL_EXT} || \
74
85
aberr " Failed to rebuild dpkg package $1 : $? ."
75
86
76
87
# abinfo "Cleaning up: $1 ..."
@@ -79,7 +90,7 @@ _convert_loong64() {
79
90
abinfo " " " Your requested package:
80
91
81
92
$1
82
-
93
+ mv $1 $HERE / ${PKG_NAME} _ ${VERSION} _loong64.deb
83
94
Has been successfully converted as a loong64 package!
84
95
85
96
However, you may still need to install libLoL for old-world applications to
0 commit comments