mirror of
https://gitee.com/amber-ce/amber-ce-bookworm.git
synced 2025-12-15 03:22:06 +08:00
Compare commits
46 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 7741a64969 | |||
| 35d74b48ff | |||
| 2c598f057a | |||
| 7b44d6f4a3 | |||
| b0f0a99b62 | |||
| 524f3bc5e9 | |||
| 777dcc1a38 | |||
| 80eeb69d28 | |||
| 751f1400ff | |||
|
|
dc1a0eebe3 | ||
| c3a8895a16 | |||
| d90e4cf529 | |||
| a388a710a5 | |||
| 55683bce1b | |||
| 5b1697035c | |||
| 3704dcf30a | |||
| 4a266bb6d8 | |||
| e681fc9a22 | |||
| 3265a8311a | |||
| f2916fa2a0 | |||
| 2f3177b600 | |||
| 1dab109d77 | |||
| 80cc726897 | |||
| 223b86a39f | |||
| c1f7b9ac3b | |||
| 0fd58e7134 | |||
| 99db451307 | |||
| 87bd885bb5 | |||
| d98e3f7819 | |||
| e89d270e7b | |||
| d6dbc62e72 | |||
| a298a17a4a | |||
| ebae7611df | |||
| cc5684234d | |||
| c61d30ff5f | |||
| 401256fab9 | |||
| b8d1d8b958 | |||
| 54ad42f12c | |||
| 8533c0478e | |||
| 04c4ed87e8 | |||
| c39b0d086a | |||
| 274cd58361 | |||
| 572e8710d9 | |||
| 1f2e934230 | |||
| 6d3996fc84 | |||
| 5bf78dd789 |
16
README.md
16
README.md
@@ -21,18 +21,18 @@ Please use `git clone --recurse-submodules` to obtain the env
|
||||
|
||||
### Quick Install (Need to install Spark Store first)
|
||||
|
||||
[spk://store/tools/cn.flamescion.bookworm-compatibility-mode/](https://spark-store-project.gitee.io/spk-resolv/?spk=spk://store/tools/cn.flamescion.bookworm-compatibility-mode/)
|
||||
[spk://store/tools/cn.flamescion.bookworm-compatibility-mode/](https://spk-resolv.spark-app.store/?spk=spk://store/tools/cn.flamescion.bookworm-compatibility-mode/)
|
||||
|
||||
### Manual Install(Debian/Fedora/Arch)
|
||||
|
||||
https://share.shenmo.tech:23333/index.php?share/folder&user=1&sid=kr8z6Fqf
|
||||
https://pan.huang1111.cn/s/jR1GdUy
|
||||
|
||||
(Dependencies are needed to upgrade for Ubuntu 18.04/deepin 15)
|
||||
|
||||
https://cdn.d.store.deepinos.org.cn/store/depends/bubblewrap_0.3.1-4_amd64.deb x86
|
||||
### Amber-CE x86
|
||||
|
||||
https://cdn.d.store.deepinos.org.cn/aarch64-store/depends/bubblewrap_0.3.1-4_arm64.deb arm64
|
||||
Use LAT to run a x86 bookworm container. Can install x86 debs and run x86 apps
|
||||
|
||||
https://pan.huang1111.cn/s/P63D6Cm
|
||||
|
||||
## Build Guide
|
||||
|
||||
@@ -43,14 +43,14 @@ Here are the details:
|
||||
1. Install dependencies: sudo apt-get install arch-test debootstrap libnss-mymachines systemd-container
|
||||
2. Enter the terminal at `src/opt/apps/cn.flamescion.bookworm-compatibility-mode/files` and execute `./build-container.sh amd64`.[for amd,other arch please change]
|
||||
3. Wait for the container to complete.
|
||||
4.Get in to `bookworm-compatibility-mode` dir,run`fakeroot dpkg-deb -b src .`
|
||||
4.Get in to `amber-ce-bookworm` dir,run`fakeroot dpkg-deb -b src .`
|
||||
5.Wating for complete.
|
||||
|
||||
|
||||
### Fedora
|
||||
|
||||
See https://gitee.com/amber-compatability-environment/ace-rpm
|
||||
See https://gitee.com/amber-ce/ace-rpm
|
||||
|
||||
### Arch
|
||||
|
||||
`yay -S cn.flamescion.bookworm-compatibility-mode`
|
||||
`yay -S amber-ce-bookworm`
|
||||
|
||||
18
README.zh.md
18
README.zh.md
@@ -15,17 +15,19 @@
|
||||
|
||||
### 快捷安装 (需要安装星火应用商店)
|
||||
|
||||
[spk://store/tools/cn.flamescion.bookworm-compatibility-mode/](https://spark-store-project.gitee.io/spk-resolv/?spk=spk://store/tools/cn.flamescion.bookworm-compatibility-mode/)
|
||||
[spk://store/tools/cn.flamescion.bookworm-compatibility-mode/](https://spk-resolv.spark-app.store/?spk=spk://store/tools/cn.flamescion.bookworm-compatibility-mode/)
|
||||
|
||||
### 手动安装(Debian/Fedora/Arch)
|
||||
|
||||
https://share.shenmo.tech:23333/index.php?share/folder&user=1&sid=kr8z6Fqf
|
||||
https://pan.huang1111.cn/s/jR1GdUy
|
||||
|
||||
(Ubuntu 18.04/deepin 15需要先安装依赖)
|
||||
|
||||
https://cdn.d.store.deepinos.org.cn/store/depends/bubblewrap_0.3.1-4_amd64.deb x86
|
||||
### Amber-CE x86
|
||||
|
||||
利用 LAT 运行的x86容器,可安装和运行x86的deb
|
||||
|
||||
https://pan.huang1111.cn/s/P63D6Cm
|
||||
|
||||
https://cdn.d.store.deepinos.org.cn/aarch64-store/depends/bubblewrap_0.3.1-4_arm64.deb arm64
|
||||
|
||||
## 构建指南
|
||||
|
||||
@@ -38,15 +40,15 @@ https://cdn.d.store.deepinos.org.cn/aarch64-store/depends/bubblewrap_0.3.1-4_arm
|
||||
1. 安装依赖:sudo apt-get install arch-test debootstrap libnss-mymachines systemd-container
|
||||
2. 在`src/opt/apps/cn.flamescion.bookworm-compatibility-mode/files`位置进入终端,执行`./build-container.sh amd64`[amd架构,其他架构同理]`
|
||||
3. 等待容器打包完成
|
||||
4. 进入`bookworm-compatibility-mode`目录,执行`fakeroot dpkg-deb -b src .`
|
||||
4. 进入`amber-ce-bookworm`目录,执行`fakeroot dpkg-deb -b src .`
|
||||
5. 等待打包完成
|
||||
|
||||
### Fedora
|
||||
|
||||
请前往 https://gitee.com/amber-compatability-environment/ace-rpm
|
||||
请前往 https://gitee.com/amber-ce/ace-rpm
|
||||
|
||||
### Arch
|
||||
|
||||
`yay -S cn.flamescion.bookworm-compatibility-mode`
|
||||
`yay -S amber-ce-bookworm`
|
||||
|
||||
---
|
||||
@@ -1,8 +1,8 @@
|
||||
Package: cn.flamescion.bookworm-compatibility-mode
|
||||
Version: 12.4.11
|
||||
Version: 12.4.13.1
|
||||
Section: misc
|
||||
Priority: optional
|
||||
Depends: bubblewrap,flatpak,zenity,policykit-1,gcc,systemd
|
||||
Depends: bubblewrap,flatpak,zenity,policykit-1 | pkexec | polkit-1 | polkit,systemd,procps
|
||||
Maintainer: shenmo <shenmo@spark-app.store>
|
||||
Architecture: arm64
|
||||
Architecture: amd64
|
||||
Description: bwrap wrapper for install and running debs inside a bookworm container
|
||||
|
||||
@@ -17,4 +17,12 @@ if [ "${PACKAGE_NAME}" = "cn.flamescion.bookworm-compatibility-mode" ];then
|
||||
systemctl daemon-reload
|
||||
systemctl enable ace-bookworm-auto-upgrade
|
||||
systemctl start ace-bookworm-auto-upgrade
|
||||
# enable kernel.unprivileged_userns_clone
|
||||
# disable kernel.apparmor_restrict_unprivileged_unconfined and kernel.apparmor_restrict_unprivileged_userns
|
||||
if [ -f /usr/lib/sysctl.d/amber-ce.conf ];then
|
||||
sysctl -p /usr/lib/sysctl.d/amber-ce.conf
|
||||
fi
|
||||
|
||||
fi
|
||||
|
||||
true
|
||||
|
||||
@@ -12,6 +12,6 @@ fi
|
||||
# looked for in XDG_DATA_DIRS; make sure it includes the relevant directory for ACE
|
||||
ACE_path="/opt/apps/amber-ce-bookworm/files/ace-env/flamescion-container-tools/data-dir/"
|
||||
if [ -n "${XDG_DATA_DIRS##*${ACE_path}}" ] && [ -n "${XDG_DATA_DIRS##*${ACE_path}:*}" ]; then
|
||||
export XDG_DATA_DIRS="${ACE_path}:${XDG_DATA_DIRS}"
|
||||
export XDG_DATA_DIRS="${XDG_DATA_DIRS}:${ACE_path}"
|
||||
fi
|
||||
|
||||
|
||||
@@ -11,6 +11,6 @@ fi
|
||||
# looked for in XDG_DATA_DIRS; make sure it includes the relevant directory for ACE
|
||||
ACE_path="/opt/apps/amber-ce-bookworm/files/ace-env/flamescion-container-tools/data-dir/"
|
||||
if [ -n "${XDG_DATA_DIRS##*${ACE_path}}" ] && [ -n "${XDG_DATA_DIRS##*${ACE_path}:*}" ]; then
|
||||
export XDG_DATA_DIRS="${ACE_path}:${XDG_DATA_DIRS}"
|
||||
export XDG_DATA_DIRS="${XDG_DATA_DIRS}:${ACE_path}"
|
||||
fi
|
||||
|
||||
|
||||
11
src/etc/xdg/autostart/bookworm.ace-gxde-fixer.desktop
Normal file
11
src/etc/xdg/autostart/bookworm.ace-gxde-fixer.desktop
Normal file
@@ -0,0 +1,11 @@
|
||||
[Desktop Entry]
|
||||
Version=1.0
|
||||
Name=bookworm.ace-gxde-fixer
|
||||
Name[zh_CN]=bookworm.ace-gxde-fixer
|
||||
Comment=bookworm.ace-gxde-fixer
|
||||
Type=Application
|
||||
Exec=/opt/apps/amber-ce-bookworm/files/bin/bookworm.ace-gxde-fixer
|
||||
Icon=amber-ce-bookworm
|
||||
Categories=System
|
||||
|
||||
# Generated from the DesktopGenerater component of the z-Tools toolkit
|
||||
@@ -0,0 +1,11 @@
|
||||
[Desktop Entry]
|
||||
Version=1.0
|
||||
Name=ACE Bookworm Software Uninstaller
|
||||
Name[zh_CN]=ACE Bookworm软件卸载器
|
||||
Comment=用于卸载ACE容器的应用
|
||||
Type=Application
|
||||
Exec=/opt/apps/amber-ce-bookworm/files/bin/ace-bookworm-uninstall-helper-gui
|
||||
Icon=ACE-bookworm-uninstaller
|
||||
Categories=System
|
||||
|
||||
# Generated from the DesktopGenerater component of the z-Tools toolkit
|
||||
@@ -0,0 +1,11 @@
|
||||
[Desktop Entry]
|
||||
Categories=utils
|
||||
Exec=bookworm-run %U
|
||||
Icon=amber-ce-bookworm
|
||||
Name=Amber CE Bookworm
|
||||
Name[zh_CN]=ACE Bookworm兼容环境
|
||||
Keywords=BCM,ACE,ace,mode
|
||||
StartupNotify=true
|
||||
Type=Application
|
||||
Terminal=true
|
||||
Categories=System
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 79 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 93 KiB |
@@ -61,8 +61,6 @@ bwrap --dev-bind $chrootEnvPath/ / \
|
||||
echo "Update the flamescion container tools"
|
||||
cp -r `dirname $chrootEnvPath`/flamescion-container-tools/ $chrootEnvPath
|
||||
|
||||
rm -rf $chrootEnvPath/usr/lib/`gcc -dumpmachine`/dri/dri
|
||||
# 之前错误的多复制了一个,这里删掉
|
||||
|
||||
export container_user_gid="$(sudo -u $non_root_user id -rg)"
|
||||
export container_user_home="/home/${non_root_user}"
|
||||
|
||||
@@ -98,6 +98,7 @@ ENV_VARS=(
|
||||
"PULSE_SERVER /run/user/\$uid/pulse/native"
|
||||
"PATH /flamescion-container-tools/bin-override:\$PATH"
|
||||
"IS_ACE_ENV 1"
|
||||
"XDG_DATA_DIRS /flamescion-container-tools/additional-data-dir-in-container:\$XDG_DATA_DIRS"
|
||||
)
|
||||
|
||||
BIND_DIRS=(
|
||||
@@ -105,6 +106,7 @@ BIND_DIRS=(
|
||||
"--dev-bind-try /media /media"
|
||||
"--dev-bind-try /mnt /mnt"
|
||||
"--dev-bind-try /tmp /tmp"
|
||||
"--dev-bind-try /data /data"
|
||||
"--dev /dev"
|
||||
"--dev-bind-try /dev/dri /dev/dri"
|
||||
"--proc /proc"
|
||||
@@ -115,10 +117,8 @@ BIND_DIRS=(
|
||||
"--ro-bind-try /usr/share/themes /usr/local/share/themes"
|
||||
"--ro-bind-try /usr/share/icons /usr/local/share/icons"
|
||||
"--ro-bind-try /usr/share/fonts /usr/local/share/fonts"
|
||||
"--ro-bind-try $(realpath /etc/localtime) /etc/localtime"
|
||||
"--dev-bind-try /etc/resolv.conf /etc/resolv.conf"
|
||||
"--dev-bind-try /home /home"
|
||||
|
||||
)
|
||||
EXTRA_ARGS=(
|
||||
"--hostname Amber-CE-Bookworm"
|
||||
|
||||
@@ -98,12 +98,14 @@ ENV_VARS=(
|
||||
"PULSE_SERVER /run/user/\$uid/pulse/native"
|
||||
"PATH /flamescion-container-tools/bin-override:\$PATH"
|
||||
"IS_ACE_ENV 1"
|
||||
"XDG_DATA_DIRS /flamescion-container-tools/additional-data-dir-in-container:\$XDG_DATA_DIRS"
|
||||
)
|
||||
|
||||
BIND_DIRS=(
|
||||
"--dev-bind $chrootEnvPath/ /"
|
||||
"--dev-bind-try /media /media"
|
||||
"--dev-bind-try /tmp /tmp"
|
||||
"--dev-bind-try /data /data"
|
||||
"--dev /dev"
|
||||
"--dev-bind-try /dev/dri /dev/dri"
|
||||
"--proc /proc"
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
#!/bin/bash
|
||||
if [ "$UID" != "0" ];then
|
||||
pkexec $0
|
||||
exit
|
||||
fi
|
||||
|
||||
bookworm-run /opt/ace-host-integration/ace-host-integration
|
||||
@@ -1,5 +1,5 @@
|
||||
Package: ace-host-integration
|
||||
Version: 1.2.1
|
||||
Version: 1.2.2
|
||||
Section: misc
|
||||
Priority: optional
|
||||
Depends: bash
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#!/bin/bash
|
||||
LANGUAGE=en_US
|
||||
export LANGUAGE=en_US
|
||||
|
||||
|
||||
|
||||
@@ -93,6 +93,9 @@ fi
|
||||
|
||||
# The code above is modified from https://blog.csdn.net/yaxuan88521/article/details/120516298
|
||||
|
||||
|
||||
|
||||
|
||||
if [ $(which aptss) ];then
|
||||
APT_COMMAND=aptss
|
||||
/usr/bin/apt update
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
# File in this dir will be seen as one of XDG_DATA_DIRS in ACE container.
|
||||
@@ -0,0 +1,10 @@
|
||||
[Desktop Entry]
|
||||
Exec=xdg-open %U
|
||||
MimeType=inode/directory;application/x-mimearchive;x-scheme-handler/http;x-scheme-handler/https;application/msword;application/vnd.openxmlformats-officedocument.wordprocessingml.document;application/vnd.ms-excel;application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;application/vnd.ms-powerpoint;application/vnd.openxmlformats-officedocument.presentationml.presentation;application/x-gzip;application/zip;application/rar;application/x-tar;application/pdf;application/rtf;image/gif;image/jpeg;image/jp2;image/png;image/tiff;image/bmp;image/svg+xml;image/webp;image/x-icon;application/kswps;application/kset;application/ksdps;application/x-photoshop;application/x-coreldraw;application/x-shockwave-flash;text/plain;application/x-javascript;text/javascript;text/css;text/html;application/xhtml+xml;text/xml;text/x-vcard;application/x-httpd-php;application/java-archive;application/vnd.android.package-archive;application/octet-stream;application/x-x509-user-cert;audio/mpeg;audio/midi;audio/x-wav;audio/x-mpegurl;audio/x-m4a;audio/ogg;audio/x-realaudio;video/mp4;video/mpeg;video/quicktime;video/x-m4v;video/x-ms-wmv;video/x-msvideo;video/webm;video/x-flv;application/xhtml_xml;
|
||||
Name=ace-run-in-host-os
|
||||
NoDisplay=true
|
||||
Terminal=false
|
||||
TryExec=
|
||||
Type=Application
|
||||
Version=1.0
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
#!/bin/bash
|
||||
### We do not want users to install ACE in ACE. Run inside this container instead
|
||||
${@}
|
||||
### We do not want users to install ACE in ACE.
|
||||
echo "Running ACE in ACE is NOT Tested or recommended. Exit"
|
||||
exit 1
|
||||
@@ -17,9 +17,7 @@ fi
|
||||
printf "\"%s\" ALL = (root) NOPASSWD:ALL\n" "${container_user_name}" >> /etc/sudoers.d/sudoers
|
||||
fi
|
||||
|
||||
chmod 440 /etc/sudo.conf
|
||||
chmod 440 /etc/sudoers
|
||||
chmod 440 /etc/sudoers.d
|
||||
|
||||
|
||||
|
||||
printf "ACE: Setting up groups...\n"
|
||||
@@ -125,8 +123,10 @@ ln -sfv /flamescion-container-tools/bin-override/host-spawn-$(uname -m) /flamesc
|
||||
|
||||
apt install --reinstall /flamescion-container-tools/ace-host-integration.deb
|
||||
|
||||
cd /
|
||||
mkdir -p /flamescion-container-tools/data-dir
|
||||
|
||||
cd /flamescion-container-tools/data-dir/
|
||||
ln -sfv ../../usr/share/applications/ .
|
||||
ln -sfv ../../usr/share/icons/ .
|
||||
ln -svf ../../usr/share/mime .
|
||||
update-desktop-database /usr/share/applications || true
|
||||
update-mime-database /usr/share/mime || true
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
# App in this dir will be integrated to host os. Will create symbol link when installing
|
||||
6
src/usr/lib/sysctl.d/amber-ce.conf
Normal file
6
src/usr/lib/sysctl.d/amber-ce.conf
Normal file
@@ -0,0 +1,6 @@
|
||||
# ACE app runs in a container, need privileges within user namespace, so we need to set it
|
||||
kernel.unprivileged_userns_clone=1
|
||||
# Ubuntu 24.04 has more limitation on unprivileged user namespace,so we have to disable them.
|
||||
# refer to https://ubuntu.com/blog/ubuntu-23-10-restricted-unprivileged-user-namespaces
|
||||
kernel.apparmor_restrict_unprivileged_unconfined=0
|
||||
kernel.apparmor_restrict_unprivileged_userns=0
|
||||
@@ -12,6 +12,6 @@ fi
|
||||
# looked for in XDG_DATA_DIRS; make sure it includes the relevant directory for ACE
|
||||
ACE_path="/opt/apps/amber-ce-bookworm/files/ace-env/flamescion-container-tools/data-dir/"
|
||||
if [ -n "${XDG_DATA_DIRS##*${ACE_path}}" ] && [ -n "${XDG_DATA_DIRS##*${ACE_path}:*}" ]; then
|
||||
export XDG_DATA_DIRS="${ACE_path}:${XDG_DATA_DIRS}"
|
||||
export XDG_DATA_DIRS="${XDG_DATA_DIRS}:${ACE_path}"
|
||||
fi
|
||||
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 118 KiB After Width: | Height: | Size: 79 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 134 KiB After Width: | Height: | Size: 93 KiB |
@@ -0,0 +1,19 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE policyconfig PUBLIC "-//freedesktop//DTD PolicyKit Policy Configuration 1.0//EN"
|
||||
"http://www.freedesktop.org/standards/PolicyKit/1/policyconfig.dtd">
|
||||
<policyconfig>
|
||||
<vendor>bookworm.ace-gxde-fixer</vendor>
|
||||
<icon_name>x-package-repository</icon_name>
|
||||
<action id="bookworm.ace-gxde-fixer">
|
||||
<description>运行bookworm.ace-gxde-fixer需要权限</description>
|
||||
<message>要使用bookworm.ace-gxde-fixer需要权限</message>
|
||||
<defaults>
|
||||
<allow_any>yes</allow_any>
|
||||
<allow_inactive>yes</allow_inactive>
|
||||
<allow_active>yes</allow_active>
|
||||
</defaults>
|
||||
<annotate key="org.freedesktop.policykit.exec.path">/opt/apps/amber-ce-bookworm/files/bin/bookworm.ace-gxde-fixer</annotate>
|
||||
<annotate key="org.freedesktop.policykit.exec.allow_gui">true</annotate>
|
||||
</action>
|
||||
</policyconfig>
|
||||
|
||||
Reference in New Issue
Block a user