archlinuxcn / lilac

Lilac is the build bot for archlinuxcn
GNU General Public License v3.0
114 stars 40 forks source link

多build_prefix支持 #41

Closed petronny closed 5 years ago

petronny commented 7 years ago

比如

build_prefix=['extra-x86_64', 'extra-i686']

是否支持呢?

lilydjwg commented 7 years ago

求 pr~

lilydjwg commented 5 years ago

i686 Arch 官方已经不支持啦,暂时没有多 prefix 的需求了,关闭。

petronny commented 5 years ago

其实还是有的。。。 我一直在想能不能做extra-armv7h-build出来。。。

lilydjwg commented 5 years ago

你要拿 qemu 打包么?

petronny commented 5 years ago

我之前试过archlinuxarm的distcc+crosstool打包 不过这样最后ld的时候还是会用host机(x86_64)的ld

并且这对非cc编译的东西没有用 比如pypy一直要用python编译好像,要超多内存 导致raspberrypi即使用了distcc+crosstool但是pypy还是没法编译。。。 archlinuxarm自己的community里都没有pypy

结果我现在也不知道咋办好了。。。

petronny commented 5 years ago

qemu可能是个好主意,我试试。。。

petronny commented 5 years ago

pypy编译了10个小时后竟然真的打包成功了。。。

SilverRainZ commented 5 years ago

10 小时……太强了。

petronny commented 5 years ago

https://github.com/petronny/devtools-qemu

我整理了一个repo把用到的脚本先放里面了 大概思路还是仿照现在的devtools的逻辑 目前面临了两个问题:

初始的chroot环境怎么创建

我觉得有以下几个选项:

其中, 第一种需要一个arm的板子以及来回传输文件 第二种为目前使用的 第三种需要先安装devtool-alarm之后,编写对应的makepkg-armv6h.confpacman-armv6h_extra.conf,不过armv6h_extra-armv6h-build仍然会报错,需要移植qemu-arm-static进去才行 第四种会有无法sudo的问题,暂时不知道该怎么解决。

依赖关系无法自动解决

如题,extra-armv6h-build.sh最后的makechrootpkg不能自动安装依赖,原因也是sudo无法正常工作。 目测是只能检测depends列表然后手动安装