转发QQ群记录:
来自 @大道无形若水
建议loongarch64 arch用户在扩展arch时,是和上游arch构建软件和编译参数同(除了某些核心基础软件由于功能不完整做的功能关闭编译修改),只要尽可能的使用上游社区的arch系统构建规范,arch哲学,不要因为现阶段某些基础软件未进上游而做的一些特殊处理(这些软件只是很少的基础软件,大部分其实和其他架构一样的构建方式),切记不要把LoongArch作为特殊平台处理(勿区别于其他架构),不要把某些基础软件关闭某些功能当常态处理(基本大部分软件不需要);
我们要抱着LoongArch和等其他架构一样的心态搞 archlinux loongarch64,编译构建尽可能和其他架构一样的构建方式,arch的滚动更新的方式可以让我们可以尽早的使用到最新的软件版本状态,使用过程中发现缺少loongArch架构支持,可以顺手做下支持提到上游(移植工作量大的话可以在社区或bbs上召集人手)。
我构件的archlinux loongarch64 bootstrap,除了基础软件比如gcc等(因为某些语言未完全进上游,关闭了go等语言构建),或者因为某些解决依赖关系关闭的某功能(已在bootstrap过程中开启之前关闭的功能,并预装),基本上所有软件都是用的上游archlinux的构建源PKGBUILD构建,软件构建参数方式和其他架构同。
建议从初始扩展loongarch64 arch按上游一样构建,规范构建软件,最后祝loongarch64 archlinux爱好者玩的开心,尽快扩展出完整的arch,也祝loongArch生态越来越好。
下面附上上游arch构建仓库脚本 :https://github.com/archlinux/svntogit-packages.git
还有一些因为bootstrap基础环境系统因为包组太少,导致的某些软件无法构建成功而进行的功能关闭操作,这种需要分两种方式解决:
第一种后面bootstrap系统把某些包组我也滚动出来,但不预装,已arch仓库的形式提供,解决此类问题。
第二种是提供阶段性的patch,需要在目录和项目内标注清楚,以避免其他开发者看到,只有 “loongArch” 对某些普通软件功能做了删减关闭功能编译构建,会让人误会loongArch平台。
来自 @Yuno
赞同。能够通过上游直接构建的软件,或者可以通过自动修改架构的方式构建的软件,不会放进这个仓库。所有的pkgbuild默认都是通过svn从上游拖下来的。不过如果一个软件包还未进上游,作为临时措施,可能会有临时性的pkgbuild存放在仓库里(会注意标明)。
总之我的想法是尽量参考archlinux arm的做法。