mirror of
https://gitee.com/spark-store-project/additional-base-lib
synced 2025-12-14 19:12:09 +08:00
Compare commits
4 Commits
abl-9-rele
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
| 9cca9d7e7b | |||
|
|
aaedef8b83 | ||
|
|
22a319014d | ||
|
|
1b4bfd36c1 |
@@ -2,6 +2,9 @@
|
||||
|
||||
用轻量级容器工具bubblewrap解决GNU/Linux操作系统中常见的glibc不兼容问题。
|
||||
|
||||
|因为一些原因我不能继续更新这个程序。可以阅读[这篇文章了解ABL的原理和设计细节](https://bbs.deepin.org/zh/post/282284)。|
|
||||
|-|
|
||||
|
||||
#### 概述
|
||||
|
||||
如果经常在GNU/Linux平台使用非系统软件源内的应用,很容易遇到这样的问题:
|
||||
|
||||
24
make-deb.sh
24
make-deb.sh
@@ -1,8 +1,8 @@
|
||||
#!/bin/bash
|
||||
|
||||
LIBC6_DOWNLOAD_URL=http://ftp.cn.debian.org/debian/pool/main/g/glibc/libc6_2.36-9+deb12u3_amd64.deb
|
||||
LIBC_BIN_DOWNLOAD_URL=http://ftp.cn.debian.org/debian/pool/main/g/glibc/libc-bin_2.36-9+deb12u3_amd64.deb
|
||||
LIBSTDCxx6_DOWNLOAD_URL=http://ftp.cn.debian.org/debian/pool/main/g/gcc-12/libstdc++6_12.2.0-14_amd64.deb
|
||||
LIBC6_DOWNLOAD_URL=http://mirrors.ustc.edu.cn/debian/pool/main/g/glibc/libc6_2.38-13_amd64.deb
|
||||
LIBC_BIN_DOWNLOAD_URL=http://mirrors.ustc.edu.cn/debian/pool/main/g/glibc/libc-bin_2.38-13_amd64.deb
|
||||
LIBSTDCxx6_DOWNLOAD_URL=http://mirrors.ustc.edu.cn/debian/pool/main/g/gcc-14/libstdc++6_14-20240330-1_amd64.deb
|
||||
|
||||
ABL_VERSION=9
|
||||
|
||||
@@ -99,8 +99,18 @@ check $?
|
||||
DEBIAN_MULTIARCH=${DEBIAN_MULTIARCH:21}
|
||||
echo "$DEBIAN_MULTIARCH"
|
||||
|
||||
echo "check usrmerge status:":
|
||||
if [ -d "./downloads/libc6/lib" ]
|
||||
then
|
||||
LIBC_LIB_DIR=""
|
||||
echo "not usrmerge"
|
||||
else
|
||||
LIBC_LIB_DIR="usr/"
|
||||
echo "usrmerge"
|
||||
fi
|
||||
|
||||
echo "ld.so location:"
|
||||
LD_SO_LOCATION=`patchelf --print-interpreter "./downloads/libc6/lib/${DEBIAN_MULTIARCH}/libc.so.6"`
|
||||
LD_SO_LOCATION=`patchelf --print-interpreter "./downloads/libc6/${LIBC_LIB_DIR}lib/${DEBIAN_MULTIARCH}/libc.so.6"`
|
||||
check $?
|
||||
echo "$LD_SO_LOCATION"
|
||||
|
||||
@@ -144,13 +154,13 @@ rooted_readlink(){
|
||||
}
|
||||
|
||||
echo "copy many libc6 components..."
|
||||
cp -r "./downloads/libc6/lib/${DEBIAN_MULTIARCH}/" "./deb-contents/usr/lib/${DEBIAN_MULTIARCH}/additional-base-lib"
|
||||
cp -r "./downloads/libc6/${LIBC_LIB_DIR}lib/${DEBIAN_MULTIARCH}/" "./deb-contents/usr/lib/${DEBIAN_MULTIARCH}/additional-base-lib"
|
||||
check $?
|
||||
|
||||
echo "copy ld.so..."
|
||||
mkdir --parents "./deb-contents/usr/lib/${DEBIAN_MULTIARCH}/additional-base-lib/$LD_SO_LOCATION"
|
||||
rm -d "./deb-contents/usr/lib/${DEBIAN_MULTIARCH}/additional-base-lib/$LD_SO_LOCATION"
|
||||
cp `rooted_readlink "./downloads/libc6/$LD_SO_LOCATION" "./downloads/libc6"` "./deb-contents/usr/lib/${DEBIAN_MULTIARCH}/additional-base-lib/$LD_SO_LOCATION"
|
||||
cp `rooted_readlink "./downloads/libc6/${LIBC_LIB_DIR}${LD_SO_LOCATION}" "./downloads/libc6"` "./deb-contents/usr/lib/${DEBIAN_MULTIARCH}/additional-base-lib/$LD_SO_LOCATION"
|
||||
check $?
|
||||
|
||||
echo "copy ldd script..."
|
||||
@@ -166,7 +176,7 @@ DEB_INSTALL_SIZE=(`du -s ./deb-contents/`)
|
||||
|
||||
echo
|
||||
echo "create control file..."
|
||||
echo "Package: additional-base-lib" >> ./deb-contents/DEBIAN/control
|
||||
echo "Package: additional-base-lib" > ./deb-contents/DEBIAN/control
|
||||
echo "Version: $GLIBC_VERSION-$ABL_VERSION" >> ./deb-contents/DEBIAN/control
|
||||
echo "Section: utils" >> ./deb-contents/DEBIAN/control
|
||||
echo "Priority: optional" >> ./deb-contents/DEBIAN/control
|
||||
|
||||
Reference in New Issue
Block a user