#!/usr/bin/make -f
%:
dh $@ --buildsystem=makefile
override_dh_auto_build:
cd Platform/Linux/CreateRedist && ./RedistMaker
override_dh_clean:
dh_clean -X Platform/Win32/CreateRedist/EE_NI/Includes/EENIVariables.wxi.bak
rm -rf -- Platform/Linux/Bin/
rm -rf -- Platform/Linux/Build/Utils/XnSensorServer/*-Release/
rm -rf -- Platform/Linux/Build/XnCore/*-Release/
rm -rf -- Platform/Linux/Build/XnDDK/*-Release/
rm -rf -- Platform/Linux/Build/XnDeviceFile/*-Release/
rm -rf -- Platform/Linux/Build/XnDeviceSensorV2/*-Release/
rm -rf -- Platform/Linux/Build/XnFormats/*-Release/
rm -rf -- Platform/Linux/CreateRedist/Final/
rm -rf -- Platform/Linux/Redist/
# cat Platform/Linux/CreateRedist/RedistMaker
# Build Engine
echo "Building..."
make -C ../Build clean > /dev/null
make -C ../Build
点评: 针对makefile的rules编写。
目前因为处理一个s390的ftbfs issue,所以需要一台s390的机器,当然,这是在不考虑qemu的前提下。
参考这里 会给1-2 mothes的时间登陆相关的机器。
hardware list这里有很多机器,目前还没有riscv的,需要我们在后面完善。
可以参考这篇文章: https://etbe.coker.com.au/2020/07/05/debian-s390x-emulation/
我最终借用dqib创建了一个s390x的虚拟机。
如果因为有symbols file的影响导致ftbfs,可以尝试着更新xx.symbols文件,具体的方法如下:
最根本的教程是here。
首先安装 pkg-kde-tools
依赖包。
然后要把源码下载下来,可以使用 apt source xx
的方法。
pkgkde-getbuildlogs
pkgkde-symbolshelper batchpatch -v 1.6.1 *_unstable_logs/*.build
有可能需要多次的更新symbols文件。
It means that packages depending on a library can relax their version dependencies on that library to the oldest version that supports all the symbols they use. Until the symbols mechanism was invented, whenever a library added a symbol, it bumped its shlibs and after that packages built against the library would require the new version. That made it harder to do (partial) upgrades, testing migration etc.
https://wiki.debian.org/Projects/ImprovedDpkgShlibdeps
我们暂时定于使用 http://download.documentfoundation.org/libreoffice/src/7.3.4/ 的tarball包。
apt-get install git build-essential zip ccache junit4 libkrb5-dev nasm graphviz python3 python3-dev qtbase5-dev libkf5coreaddons-dev libkf5i18n-dev libkf5config-dev libkf5windowsystem-dev libkf5kio-dev autoconf libcups2-dev libfontconfig1-dev gperf default-jdk doxygen libxslt1-dev xsltproc libxml2-utils libxrandr-dev libx11-dev bison flex libgtk-3-dev libgstreamer-plugins-base1.0-dev libgstreamer1.0-dev ant ant-optional libnss3-dev libavahi-client-dev
xz-utils pkg-config autoconf make gcc libfontconfig1-dev libarchive-zip-perl libclucene-dev libxmlsec1-dev librevenge-dev libodfgen-dev libepubgen-dev libwpd-dev libwpg-dev libwps-dev libvisio-dev libcdr-dev libmspub-dev libmwaw-dev libetonyek-dev libfreehand-dev libe-book-dev libabw-dev libqxp-dev libzmf-dev libstaroffice-dev libreoffice-sdbc-hsqldb libpq-dev libcurl4-gnutls-dev libboost-dev libboost-date-time-dev libboost-filesystem-dev libboost-locale-dev libboost-iostreams-dev libmdds-dev libglm-dev
xz -d libreoffice-7.3.4.2.tar.xz
wget -r --level=1 -nd -P <lo_root>/external/tarballs https://go.suokunlong.cn:88/dl/libreoffice/external_tarballs/
docker pull riscv64/debian:unstable
docker build ~/mydockerbuild -f example_dockerfile -t example_image
docker run example_image # 交互模式
// 或者这样的方式去执行:
docker run -it --rm example_image bash
vimer@dev:~/git/LibreOffice-riscv-port/patch$ docker image ls REPOSITORY TAG IMAGE ID CREATED SIZE example_image latest 27be1957beac 5 hours ago 2.02GB