简体   繁体   English

pkgsrc,端口,portage,macports等

[英]pkgsrc, ports, portage, macports etc

QUESTION-TAGS: pkgsrc ports portage easybuild openbuildservice packages package-structuring 问题标签:pkgsrc ports portage easybuild openbuildservice软件包软件包结构

I wonder if we can a reduce just a little bit the effort around packages under linux/unix OS environments and software installations. 我想知道我们是否可以减少在linux / unix OS环境和软件安装下的软件包方面的工作量。 It is my stance that there is too much redundant effort about $subject. 我的立场是,关于$ subject的工作过多。

I have been pondering about ways to connect build systems of $subject with some next "stage build tools", like: easybuild (1) & openbuildservice (2); 我一直在思考将$ subject的构建系统与下一个“阶段构建工具”相连接的方法,例如:easybuild(1)和openbuildservice(2); read below for more details. 请阅读下面的详细信息。

To be more specific, I was able last week to take pkgsrc's repository, process the Makefiles via a tiny "pkg2eb" script and produce *.eb files for easybuild, then fed many parallel gcc compilations with them. 更具体地讲,我上周能够获取pkgsrc的存储库,通过一个小的“ pkg2eb”脚本处理Makefile,并生成* .eb文件以进行easybuild,然后将它们进行许多并行的gcc编译。 That "blindly-driven process" ended up in >600 successful builds, ie. 该“盲目驱动的过程”最终成功完成了600多次构建。 these were packages that simply needed 'wget/configure/make/make install'; 这些是只需要“ wget / configure / make / make install”的软件包; It's not bad for a first run, just wonder if it can be done any better. 第一次运行还不错,只是想知道它是否可以做得更好。

So: 所以:

Q1. Q1。 According to your experience, which OS has the cleanest/leanest pkgsrc/port structure to be sourced & fed to other external tools? 根据您的经验,哪个操作系统具有最干净/最精简的pkgsrc / port结构可用于获取并提供给其他外部工具? This is NOT the same as which has the most available packages! 这与大多数可用软件包不同!

Q2. Q2。 Have you heard of any similar efforts trying to massively produce packages from eg. 您是否听说过类似的尝试,例如试图大量生产包装。 a common source list in a structured manner? 以结构化方式列出共同的来源清单? (I mean, in a transferable way across different build systems) (我的意思是,以可移植的方式跨不同的构建系统)

I am curious about your answers. 我很好奇您的回答。

best, 最好,

Fotis 福蒂斯

(1) EasyBuild is a crucial tool for High Performance Computing sites, whereby the need is to have multiple versions of any given software together and also support a framework thingy called environment-modules. (1)EasyBuild是用于高性能计算站点的关键工具,因此需要将任何给定软件的多个版本放在一起,并且还支持一个称为环境模块的框架。

(2) OpenBuildService is an excellent resource for all, whereby you can start eg. (2)OpenBuildService是所有人的绝佳资源,因此您可以启动例如。 from 1 tarball and .spec/.dsc/debian.* files and produce packages for all major linux distros (CentOS, RHEL, Debian, OpenSUSE, SLE, Ubuntu, Mandrake): https://build.opensuse.org/package/show?package=qtop&project=home:georgatos Yes, this is NOT exclusively OpenSUSE specific service, it catters for all. 从1个tarball和.spec / .dsc / debian。*文件中生成并为所有主要的Linux发行版(CentOS,RHEL,Debian,OpenSUSE,SLE,Ubuntu,Mandrake)生成软件包: https : //build.opensuse.org/package/ show?package = qtop&project = home:georgatos是的,这不是OpenSUSE专有服务,它可以满足所有需求。

So, 所以,

much relevant information is visible here: http://www.mancoosi.org/edos/packages/ # lengthy description of various packaging formats 许多相关信息在这里可见: http : //www.mancoosi.org/edos/packages/#各种包装格式的详细说明

this one shows the higher level picture: http://www.mancoosi.org/edos/suggestions/ (esp. 2.1.1 Expressivity shortcomings) 此图显示了更高级别的图片: http : //www.mancoosi.org/edos/suggestions/ (特别是2.1.1表达能力不足)

Anyway, to answer to original question, the best bets as of now are: 无论如何,要回答最初的问题,到目前为止最好的选择是:

  • RPM's .spec files RPM的.spec文件
  • DEB control files DEB控制文件
  • pkgsrc; pkgsrc; possible but some hackery is still needed 可能,但是仍然需要一些骇客工具
  • portage; 搬运 quite clean, distinguishes between DEPEND and RDEPEND 非常干净,区分DEPEND和RDEPEND
  • macports; 港口 easy to parse; 易于解析; very detailed dependencies aspects 非常详细的依赖关系方面
  • ports; 港口; like pkgsrc; 像pkgsrc; multiple dependencies defined 定义了多个依赖

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM