Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
81 changes: 0 additions & 81 deletions deploy_dep

This file was deleted.

158 changes: 0 additions & 158 deletions install_dep

This file was deleted.

86 changes: 33 additions & 53 deletions linglong.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -19,18 +19,12 @@ command:
- deepin-camera

build: |
# 下载和安装依赖
apt -y install --download-only qt6-base-dev libdtk6gui-dev libdtk6widget-dev qt6-multimedia-dev libavutil-dev libavformat-dev libavcodec-dev libavfilter-dev qt6-tools-dev qt6-tools-dev-tools deepin-gettext-tools qt6-svg-dev libv4l-dev libsdl2-dev portaudio19-dev libpng-dev libasound2-dev libpciaccess-dev libusb-1.0-0-dev zlib1g-dev libudev-dev libswscale-dev libswresample-dev libffmpegthumbnailer-dev libx11-dev libva-dev libimageeditor6-dev libimageeditor6 libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev gstreamer1.0-plugins-good deepin-event-log
bash ./install_dep /var/cache/apt/archives "$PREFIX"

# 移动部分库到应用库目录,否则无法找到
mv ${PREFIX}/lib/${TRIPLET}/blas/* ${PREFIX}/lib/${TRIPLET}
mv ${PREFIX}/lib/${TRIPLET}/lapack/* ${PREFIX}/lib/${TRIPLET}
ldconfig -C "$LINGLONG_LD_SO_CACHE"

# 修改路径
find src -type f -name "*.service" -exec sed -i 's|^Exec=.*|Exec=deepin-camera|g' {} +

# buildext.apt 安装依赖到系统路径而非 $PREFIX,修正 CMakeLists.txt 中的 include 路径
sed -i 's|${CMAKE_INSTALL_PREFIX}/include|/usr/include|g' src/CMakeLists.txt

# 构建
VERSION=$(head -1 debian/changelog | awk -F'[()]' '{print $2}')
cmake -B build ${conf_args} \
Expand All @@ -42,52 +36,38 @@ build: |
cmake --build build -j`nproc`
cmake --build build --target install > install.log 2>&1

# 项目生成应用名和动态隐式加载的依赖库,ldd无法找到的其他库
LDD_FILES=(
deepin-camera
libv4l2.so
libportaudio.so
libusb-1.0.so
# 已包含在 runtime 中
# libudev.so
libavutil.so
libavformat.so
libswscale.so
libswresample.so
libffmpegthumbnailer.so
libavcodec.so
../libdeepin-event-log.so
)

# 生成.install 文件
bash ./deploy_dep "${LDD_FILES[@]}"

# Add resource files from libimageeditor (any version)
ID_VALUE=$(awk -F ': ' '/^ id: / {print $2}' linglong.yaml)

echo "=== QT Version Detection ===" >&2
if [ -z "$QT_VERSION_MAJOR" ]; then
if command -v qmake >/dev/null 2>&1; then
QT_VERSION=$(qmake -query QT_VERSION 2>/dev/null || echo "unknown")
QT_MAJOR=$(qmake -query QT_VERSION 2>/dev/null | cut -d. -f1 || echo "6")
echo "Using QT_MAJOR from qmake: $QT_MAJOR" >&2
else
QT_MAJOR=6 # default value
echo "qmake not found, using default QT_MAJOR: $QT_MAJOR" >&2
fi
else
QT_MAJOR=$QT_VERSION_MAJOR
echo "Using QT_MAJOR from environment: $QT_MAJOR" >&2
fi

version=$QT_MAJOR
lib_path="${PREFIX}/share/libimagevisualresult${version}"
echo "Full library path: $lib_path" >&2
find "$lib_path" >> "${ID_VALUE}.install"
echo "================================"
# blas/lapack 通过 alternatives 安装到子目录,复制到主库目录以供 ldd 检查通过
mkdir -p ${PREFIX}/lib/${TRIPLET}
cp -aL /usr/lib/${TRIPLET}/blas/libblas.so.3* ${PREFIX}/lib/${TRIPLET}/ 2>/dev/null || true
cp -aL /usr/lib/${TRIPLET}/lapack/liblapack.so.3* ${PREFIX}/lib/${TRIPLET}/ 2>/dev/null || true

# allow apt download in build and do apt update
buildext:
apt:
build_depends:
- libc6
- cmake
- deepin-gettext-tools
- libavutil-dev
- libavformat-dev
- libavcodec-dev
- libavfilter-dev
- libv4l-dev
- libsdl2-dev
- portaudio19-dev
- libasound2-dev
- libpciaccess-dev
- libusb-1.0-0-dev
- libswscale-dev
- libswresample-dev
- libffmpegthumbnailer-dev
- libva-dev
- libimageeditor6-dev
- libgstreamer1.0-dev
- libgstreamer-plugins-base1.0-dev
depends:
- libffmpegthumbnailer4v5
- libportaudio2
- deepin-event-log
- libimageeditor6
- libsdl2-2.0-0
- gstreamer1.0-plugins-good
Loading