spec打包方法

一、~/.rpmmacros文件內容


%_prefix      /opt
%_topdir      %(echo $HOME)/rpmbuild
%_smp_mflags  -j3
#%__arch_install_post   /usr/lib/rpm/check-rpaths   /usr/lib/rpm/check-buildroot

#Build root path, where %install installs the package during build.
%buildroot              %{_buildrootdir}/%{name}-%{version}-%{release}.%{_arch}

#XXX   Note: escaped %% for use in headerSprintf()
#%_build_name_fmt        %%{ARCH}/%{roles}-%%{VERSION}-%%{RELEASE}.%%{ARCH}.rpm
%_build_name_fmt        %%{ARCH}/%%{NAME}-%%{VERSION}-%%{RELEASE}.%%{ARCH}.rpm



#%_unpackaged_files_terminate_build 0

##########for system command
%_hostname    %(hostname)

##########for build
%build \
  cd %{_builddir} \
  cd %{name}-%{version} \
  cd %{software}-%{version}
##########for setup00
%setup00 \
  cd %{_builddir} \
  rm -rf %{name}-%{version} \
  mkdir %{name}-%{version} \
  cd %{name}-%{version}

##########for build00
%build00 \
  cd %{_builddir} \
  cd %{name}-%{version} \

#########for ./configure
%_configure ./configure
%configure \
  #CFLAGS="${CFLAGS:-%optflags}" ; export CFLAGS; \
  #CXXFLAGS="${CXXFLAGS:-%optflags}" ; export CXXFLAGS; \
  #FFLAGS="${FFLAGS:-%optflags}" ; export FFLAGS; \
  %_configure --prefix=%{minstalldir}
########for make
%make \
  make %{?_smp_mflags} OPTIMIZE="%{optflags}"

#######for make install
%install \
  %build \
  rm -rf %{buildroot} \
  make install DESTDIR=%{?buildroot}

######for clean
#%clean \
#  [ "%{buildroot}" != "/" ] && rm -rf %{buildroot}
%clean00 \
    %clean \
    [ "%{buildroot}" != "/" ] && rm -rf %{buildroot} \
    rm -rf $RPM_BUILD_DIR/%{name}-%{version}


%path \
  source /etc/profile \
  ldconfig
%vendor        "Malong Guo <[email protected]>"
%date `date +"%a %b %d %Y"`

二、svn.spec文件


%define     roles       msvn
%define     minstallroot    /
%define     minstalldir %{prefix}/%{roles}
%define     mlocal  %{prefix}/mlocal/nphpmlocal
%define     software    subversion


Name:        m%{software}
Version:    1.6.9
Release:    1%{?dist}
Summary:    A free open-source svn
Group:        Application/software
License:    GPL
SOURCE0:    nethogs-0.8.0.tar.gz
BuildRoot:    %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
Prefix:     %{_prefix}
BuildRequires:  openssl-devel
Requires:  openssl-devel
AutoReqProv:    no


%description
A free open-source subversion


%post
%path


%postun
%path


%prep
#rm -rf %{_builddir}/%{name}-%{version}
rm -rf %{buildroot}
%setup00
tar zxvf %{SOURCE0}
tar zxvf %{SOURCE1}



%build
%configure --with-openssl=/usr/local
%make
%make_install


mkdir -p %{buildroot}/etc/profile.d
echo "export PATH=%{minstalldir}/bin:\$PATH">%{buildroot}/etc/profile.d/%{roles}.sh
echo "export C_INCLUDE_PATH=%{minstalldir}/include:\$C_INCLUDE_PATH" >>%{buildroot}/etc/profile.d/%{roles}.sh
echo "export CPLUS_INCLUDE_PATH=%{minstalldir}/include:\$CPLUS_INCLUDE_PATH" >>%{buildroot}/etc/profile.d/%{roles}.sh
echo "export OBJC_INCLUDE_PATH=%{minstalldir}/include:\$OBJC_INCLUDE_PATH" >>%{buildroot}/etc/profile.d/%{roles}.sh

mkdir -p %{buildroot}/etc/ld.so.conf.d
echo "%{minstalldir}/lib" >%{buildroot}/etc/ld.so.conf.d/%{roles}.conf

%clean
#[ "%{buildroot}" != "/" ] && rm -rf %{buildroot}
#rm -rf %{_builddir}/%{name}-%{version}


%files
%defattr(-,root,root,-)
%{minstalldir}
/etc


%changelog
* Mon May 19 2014 Malong Guo <[email protected]> -1.6.9-1
- subversion.


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章