-
Notifications
You must be signed in to change notification settings - Fork 38
feat: Add linglong.yaml for deepin-draw #179
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
This commit introduces the `linglong.yaml` file for deepin-draw, enabling it to be built and packaged as a Linglong package on the SW64 architecture. The `linglong.yaml` file specifies the package ID, name, version, kind, and description. It also defines the command to run the application, the base and runtime images to use, and the build steps. The build process involves: 1. Installing dependencies from deb packages. 2. Modifying the service file to use Linglong. 3. Preparing the plugin for image formats. 4. Running CMake to build and install the application. 5. Generating the `.install` file to set the LIBHEIF\_PLUGIN\_PATH for libheif plugins. 6. Setting the LIBHEIF\_PLUGIN\_PATH to allow libheif.so.1 to load plugins. The commit also includes a list of source files, which are deb packages required for building deepin-draw. This allows Linglong to automatically fetch and extract these dependencies during the build process. Influence: 1. Verify that deepin-draw can be successfully built and packaged using Linglong. 2. Test the application's functionality after installation from the Linglong package. 3. Check if the image formats are properly supported through the plugin. 4. Confirm that the libheif plugins can be loaded correctly by checking if HEIF images can be opened in Deepin Draw. feat: 为 deepin-draw 添加 linglong.yaml 文件 此提交为 deepin-draw 引入了 `linglong.yaml` 文件,使其能够在 SW64 架构上 构建和打包为 Linglong 软件包。 `linglong.yaml` 文件指定了软件包 ID、名称、版本、类型和描述。它还定义了 运行应用程序的命令,要使用的基础镜像和运行时镜像,以及构建步骤。 构建过 程包括: 1. 从 deb 包安装依赖项。 2. 修改服务文件以使用 Linglong。 3. 准备图像格式的插件。 4. 运行 CMake 来构建和安装应用程序。 5. 生成 `.install` 文件以设置 libheif 插件的 LIBHEIF\_PLUGIN\_PATH。 6. 设置 LIBHEIF\_PLUGIN\_PATH 以允许 libheif.so.1 加载插件。 此提交还包括一个源文件列表,这些源文件是构建 deepin-draw 所需的 deb 包。 这允许 Linglong 在构建过程中自动获取和提取这些依赖项。 Influence: 1. 验证 deepin-draw 是否可以使用 Linglong 成功构建和打包。 2. 测试从 Linglong 软件包安装后应用程序的功能。 3. 检查是否通过插件正确支持图像格式。 4. 确认 libheif 插件可以正确加载,方法是检查是否可以在 Deepin Draw 中打 开 HEIF 图像。
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
deepin pr auto review这是一个玲珑应用的配置文件,我来对其进行审查: 1. 语法逻辑
2. 代码质量
3. 代码性能
4. 代码安全
改进建议
sources:
- kind: file
url: https://pools.uniontech.com/desktop-professional-V25/pool/main/q/qt6-base/qt6-base-dev_6.8.0+dfsg-0deepin5_sw64.deb
digest: 214ec3b8071bbb10fc3967d8bc4b83546ad55e736165e487d8ce741106472ab9
# 修改服务使用玲珑启动
sed -i "s|Exec=/usr/bin/deepin-draw|Exec=deepin-draw|g" com.deepin.Draw.service || exit 1
# 准备插件
mkdir -p $PREFIX/bin/imageformats || exit 1
cp ${PREFIX}/lib/${TRIPLET}/qt6/plugins/imageformats/*.so $PREFIX/bin/imageformats || exit 1
# 生成应用名和动态隐式加载的依赖库
LDD_FILES=(
deepin-draw
../libdeepin-event-log.so
../../bin/imageformats/kimg_avif.so
../../bin/imageformats/kimg_heif.so
# plugins for libheif.so.1
libheif/plugins/libheif-aomdec.so
libheif/plugins/libheif-dav1d.so
libheif/plugins/libheif-j2kdec.so
libheif/plugins/libheif-libde265.so
libheif/plugins/libheif-x265.so
)
# 生成.install 文件
if ! bash ./deploy_dep "${LDD_FILES[@]}"; then
echo "Failed to deploy dependencies"
exit 1
fi
build: |
export CCACHE_DIR=/path/to/ccache
export CCACHE_MAXSIZE=10G
export CCACHE_COMPRESS=1
export CCACHE_COMPRESSLEVEL=6
bash ./install_dep linglong/sources "$PREFIX"
# ... 其他构建步骤 ...这些改进可以提高配置文件的可维护性、安全性和构建效率。 |
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: dengbo11, lzwind The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
This commit introduces the
linglong.yamlfile for deepin-draw, enabling it to be built and packaged as a Linglong package on the SW64 architecture.The
linglong.yamlfile specifies the package ID, name, version, kind, and description. It also defines the command to run the application, the base and runtime images to use, and the build steps. The build process involves:.installfile to set the LIBHEIF_PLUGIN_PATH for libheif plugins.The commit also includes a list of source files, which are deb packages required for building deepin-draw. This allows Linglong to automatically fetch and extract these dependencies during the build process.
Influence:
feat: 为 deepin-draw 添加 linglong.yaml 文件
此提交为 deepin-draw 引入了
linglong.yaml文件,使其能够在 SW64 架构上 构建和打包为 Linglong 软件包。linglong.yaml文件指定了软件包 ID、名称、版本、类型和描述。它还定义了运行应用程序的命令,要使用的基础镜像和运行时镜像,以及构建步骤。 构建过
程包括:
.install文件以设置 libheif 插件的 LIBHEIF_PLUGIN_PATH。此提交还包括一个源文件列表,这些源文件是构建 deepin-draw 所需的 deb 包。
这允许 Linglong 在构建过程中自动获取和提取这些依赖项。
Influence: