Nic*_*mer 5 packaging environment-variables
我有这个mypackage
已经捆绑在 Ubuntu 上的软件包。用于设置编译器,debian/rules
包含
DEB_CONFIGURE_SCRIPT_ENV += CC=gcc
Run Code Online (Sandbox Code Playgroud)
我现在想扩展包,因为我想在 中添加更多目标debian/control
,即libmypackage-openmpi
,libmypackage-mpich2
等等。理论上唯一需要更改的debian/rules
是上面的编译器行;
DEB_CONFIGURE_SCRIPT_ENV += CC=mpicc
Run Code Online (Sandbox Code Playgroud)
是否有办法debian/rules
来if
-else
构建目标与集之间DEB_CONFIGURE_SCRIPT_ENV
动态?
如果不是,处理这个问题的适当方法是什么?
常规debian/rules
文件仅运行 1 个周期。
您的案例似乎需要额外的周期(似乎是 3 个),这里是官方教程,其中包含 2 个构建周期的示例。
Debian Wiki:PkgSplit,在这里删除了它的历史记录。这似乎已经过时了。
你可以查看更多真实的例子(如tumbleweed提到的):
搜索“.*-mpi”或.*-openmpi
apt-cache search --names-only ".*-mpi"
Run Code Online (Sandbox Code Playgroud)
然后下载源码
apt source <packagename>
Run Code Online (Sandbox Code Playgroud)
或者你可以上网查一下:
mpi
说明。control
文件*.install
和最重要的rules
文件。这里多周期构建的重要部分:
override_dh_auto_configure:
dh_auto_configure -- --with-beagle=/usr --enable-mpi=yes --enable-debug=yes
override_dh_auto_build:
# build mb-mpi (from initial config)
LIBS="-Wl,--as-needed" dh_auto_build
mv src/mb ./mb-mpi
# Now - build mb
( cd src ; make clean )
dh_auto_configure -- --with-beagle=/usr --enable-mpi=no --enable-debug=yes
LIBS="-Wl,--as-needed" dh_auto_build
mv src/mb .
Run Code Online (Sandbox Code Playgroud)
它会覆盖默认值并使用 (dh_auto_configure & dh_auto_build) 的 2 个周期,然后使用不同的名称存储它们。
归档时间: |
|
查看次数: |
1648 次 |
最近记录: |