redhat9的rpm打包有问题,会报错installed but unpackaged file foud

这两天都要搞崩溃了,就是打不起包。原来是redhat9的问题。在打rpm的spec文件里面加入

%define _unpackaged_files_terminate_build 0

强制rpmbuild在找到unpackaged file的时候继续编译。

下面是打包java用的spec

%define name datapumpjava
%define version 1.0
%define release 1
%define _unpackaged_files_terminate_build 0

Summary:isoft datapump java
Name:%{name}
Version:%{version}
Release:%{release}
Source:%{name}-%{version}-%{release}.tar.gz
License:isoft Techolonigy Co.
Group:Development/China
BuildRoot:%{_builddir}/%{name}-%{release}
%description
This package is used to isoft datapump java jdk
%prep
%setup -c
%build
%install
mkdir -p $RPM_BUILD_ROOT/usr/java
cp -R jdk1.5.0_08 $RPM_BUILD_ROOT/usr/java/
#rm -rf $RPM_BUILD_ROOT/%{name}-%{version}
#rm -rf $RPM_BUILD_ROOT/%{name}-rpm
%clean
rm -rf $RPM_BUILD_ROOT
#rm -rf %{_builddir}/%{name}-%{version}
%post
echo "export JAVA_HOME=/usr/java/jdk1.5.0_08">>/etc/profile
echo "PATH=$PATH:/usr/java/jdk1.5.0_08:/usr/java/jdk1.5.0_08/bin">>/etc/profile
echo "CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar">>/etc/profile
echo "export PATH">>/etc/profile
echo "export CLASSPATH">>/etc/profile
%files
/usr/java/jdk1.5.0_08/ 

其实真正的打包文件是%files后面指定的目录,或单个文件。上面只写了/usr/java/jdk1.5.0_08/ 目录。如果要打包共享目录里面的内容。必须指定单个文件,否则把其他东西的内容也打进来了。

%install后面的应该算是包的源文件,只进入src包,不进入安装包。

%post后面是完成安装后执行脚本。这里是对/etc/profile文件加入java环境变量。

#后面是以前写的废话。。。 //不加上面这行就什么都打不进包,是个空包。不知道怎么回事。还是没有理解这个rpm虚目录和实目录之间的关系,继续研究中。。。。。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值