在 上Suse Linux Enterprise Server 11
,我用来rpmbuild
安装源 rpm:
linux-a21w:/usr/src/packages/SPECS # rpmbuild -v -bi zlib.spec
默认安装到/var/tmp/zlib-1.2.7-build
目录下。zlib
在源码目录下,执行make install
命令:
linux-a21w:/usr/src/packages/BUILD/zlib-1.2.7 # make install
cp libz.a /usr/local/lib
chmod 644 /usr/local/lib/libz.a
cp libz.so.1.2.7 /usr/local/lib
chmod 755 /usr/local/lib/libz.so.1.2.7
cp zlib.3 /usr/local/share/man/man3
chmod 644 /usr/local/share/man/man3/zlib.3
cp zlib.pc /usr/local/lib/pkgconfig
chmod 644 /usr/local/lib/pkgconfig/zlib.pc
cp zlib.h zconf.h /usr/local/include
chmod 644 /usr/local/include/zlib.h /usr/local/include/zconf.h
有没有什么方法可以将参数传递给rpmbuild
命令来使头文件和库安装到指定目录,例如 ad /usr/local/lib
、/usr/local/include
等?
答案1
我认为你理解错了重点。您想要安装在临时目录中以制作 RPM。然后安装 RPM 以获得正确的最终目的地。
临时目录(在规范文件中称为 BuildRoot:)只是一个临时区域。你安装到这里,几乎就像一个 chroot 区域。然后使用 rpmbuild -bb 打包 RPM,以制作 RPM,然后以 root 身份安装。