zoukankan      html  css  js  c++  java
  • rpmbuild制作rpm包

    常见的Linux发行版主要可以分为两类,类ReadHat系列和类Debian系列,这里我们是以其软件包的格式来划分的,这两类系统分别提供了自己的软件包管理系统和相应的工具。类RedHat系统中软件包的后缀是rpm;类Debian系统中软件包的后缀是deb。另一方面,类RedHat系统提供了同名的rpm命令来安装、卸载、升级rpm软件包;类Debian系统同样提供了dpkg命令来对后缀是deb的软件包进行安装、卸载和升级等操作。
       rpm的全称是Redhat Package Manager,常见的使用rpm软件包的系统主要有Fedora、CentOS、openSUSE、SUSE企业版、PCLinuxOS以及Mandriva Linux、Mageia等。使用deb软件包后缀的类Debian系统最常见的有Debian、Ubuntu、Finnix等。

    从软件运行的结构来说,一个软件主要可以分为三个部分:可执行程序、配置文件和动态库。当然还有可能会有相关文档、手册、供二次开发用的头文件以及一些示例程序等等。其他部分都是可选的,只有可执行文件是必须的。

    rpmbuild默认工作路径的确定,通常由在/usr/lib/rpm/macros这个文件里的一个叫做%_topdir的宏变量来定义。如果用户想更改这个目录名,rpm官方并不推荐直接更改这个目录,而是在用户家目录下建立一个名为.rpmmacros的隐藏文件(注意前面的点不能少,这是Linux下隐藏文件的常识),然后在里面重新定义%_topdir,指向一个新的目录名。这样就可以满足某些“高级”用户的差异化需求了。通常情况下.rpmmacros文件里一般只有一行内容

    1 %_topdir    $HOME/rpmbuild

    echo '%_topdir %(echo $HOME)/path/to/dir' > .rpmmacros

    rpmdev-setuptree会在%_topdir自动生成目录结构

    此外rpm -ivh name-version-release.src.rpm时,会在%_topdir的相关目录中安装包(其实就是拷贝),此过程需要%_topdir变量

    1. 查看变量:

    rpmbuild --showrc

     rpmbuild --target x86_64 可指明目标平台架构

    2. spec文件

     Name:                  myapp <===软件包的名字(后面会用到)
    Version:               0.1.0 <===软件包的版本(后面会用到)
    Release:               1%{?dist} <===发布序号
    Summary:               my first rpm <===软件包的摘要信息
    Group:                 <===软件包的安装分类,参见/usr/share/doc/rpm-4.x.x/GROUPS这个文件
    License:               GPL <===软件的授权方式
    URL:                   <===这里本来写源码包的下载路径或者自己的博客地址或者公司网址之类
    Source0:               %{name}-%{version}.tar.gz <===源代码包的名称(默认时rpmbuid回到SOURCES目录中去找),这里的name和version就是前两行定义的值。如果有其他配置或脚本则依次用Source1、Source2等等往后增加即可。
    BuildRoot:             %{_topdir}/BUILDROOT <=== 这是make install时使用的“虚拟”根目录,最终制作rpm安装包的文件就来自这里。
    BuildRequires:         <=== 在本机编译rpm包时需要的辅助工具,以逗号分隔。假如,要求编译myapp时,gcc的版本至少为4.4.2,则可以写成gcc >=4.2.2。还有其他依赖的话则以逗号分别继续写道后面。
    Requires:              <=== 编译好的rpm软件在其他机器上安装时,需要依赖的其他软件包,也以逗号分隔,有版本需求的可以
    %description           <=== 软件包的详细说明信息,但最多只能有80个英文字符

    %{_tmppath}代表的路径为 /var/tmp

    SPEC文件各阶段:

    • %prep
      源代码的解压和打补丁,最常见的指令
      %setup -q

      位于SOURCES目录下的源码包必须为name-version.tar.gz格式,会自动进行后续阶段的目录切换和设置

    • %build
      一般执行configure和make,常见指令
      %configure
      make %{?_smp_mflags}

      软件安装时路径默认设置(configure的默认设置):

    1. --build=x86_64-redhat-linux-gnu
    2. --host=x86_64-redhat-linux-gnu
    3. --program-prefix=
    4. --prefix=/usr
    5. --exec-prefix=/usr
    6. --bindir=/usr/bin
    7. --sbindir=/usr/sbin
    8. --sysconfdir=/etc
    9. --datadir=/usr/share
    10. --includedir=/usr/include   二次开发的头文件
    11. --libdir=/usr/lib64   库文件路径,32和64系统是不同的
    12. --libexecdir=/usr/libexec
    13. --localstatedir=/var
    14. --sharestatedir=/var/lib
    15. --mandir=/usr/share/man
    16. --infodir=/usr/share/info

      %configure是个宏常量,会自动设置上面的默认路径,可接受额外参数,可不使用%configure的宏,自定义configure的配置参数,同样可给make传递额外参数

    • %install
      这个阶段执行make install操作,会在%_buildrootdir中建好目录结构,将需要打包到rpm中的文件从%_builddir复制到%_buildrootdir对应目录中,常见指令
      1 rm -rf $RPM_BUILD_ROOT
      2 make install DESTDIR=$RPM_BUILD_ROOT

      $RPM_BUILD_ROOT即是buildroot变量,可写成%{buildroot},需小写.如果有额外的配置文件,启动脚本,可手动用copy,install拷贝到%{buildroot}目录中.

    • %clean
      编译完成后的清理工作,对%{buildroot}目录清空,make clean等
    • %files
      说明%{buildroot}目录下的哪些文件和目录打包到rpm中
      1 %files
      2 %defattr(-,root,root,-)
      3 %doc
      4 
      5 %defattr(文件权限,用户名,组名,目录权限)

      如果没有定制特殊权限,则使用默认%defattr(-,root,root,-)设置缺省权限
      %files
      %{_bindir}/*
      %{_libdir}/*
      %config(noreplace) %{_sysconfdir}/*.conf
      打包文件列表可以宏常量开头,也可以/开头,无区别,都表示从%{buildroot}中复制到rpm中,相对路径,表示复制的文件位于%{_builddir}目录,适用于在%install阶段没有复制到%{buildroot}目录中的文件,i.g. README,LICENSE
      不想将%{buildroot}中的文件或目录打包,则使用%exclude file_name.
      %{buildroot}所有文件都要显式指明是否打包到rpm中.
      %doc宏,所有跟在这个宏后面的文件都来自%{_builddir}目录,安装rpm时,此宏所指的的文件都会安装到/usr/share/doc/name-version/中

    • %changelog
      记录日志变更
      * date +"%a %b %d %Y" author mailbox version
      - something that has changed
    • %package
      定义子包
      %package -n openstack-dashboard
      Summary:    Openstack web user interface reference implementation
      Group:      Applications/System
      
      Requires:   httpd
      
      %description doc
      Documentation for the Django Horizon application for talking with Openstack

    Group:

    软件包所属类别,具体类别有:

    • Amusements/Games (娱乐/游戏)
    • Amusements/Graphics(娱乐/图形)
    • Applications/Archiving (应用/文档)
    • Applications/Communications(应用/通讯)
    • Applications/Databases (应用/数据库)
    • Applications/Editors (应用/编辑器)
    • Applications/Emulators (应用/仿真器)
    • Applications/Engineering (应用/工程)
    • Applications/File (应用/文件)
    • Applications/Internet (应用/因特网)
    • Applications/Multimedia(应用/多媒体)
    • Applications/Productivity (应用/产品)
    • Applications/Publishing(应用/印刷)
    • Applications/System(应用/系统)
    • Applications/Text (应用/文本)
    • Development/Debuggers (开发/调试器)
    • Development/Languages (开发/语言)
    • Development/Libraries (开发/函数库)
    • Development/System (开发/系统)
    • Development/Tools (开发/工具)
    • Documentation (文档)
    • System Environment/Base(系统环境/基础)
    • System Environment/Daemons (系统环境/守护)
    • System Environment/Kernel (系统环境/内核)
    • System Environment/Libraries (系统环境/函数库)
    • System Environment/Shells (系统环境/接口)
    • User Interface/Desktops(用户界面/桌面)
    • User Interface/X (用户界面/X窗口)
    • User Interface/X Hardware Support (用户界面/X硬件支持)

    practice

    一.libmad-0.15.1b.tar.gz
    http://downloads.sourceforge.net/mad/libmad-0.15.1b.tar.gz

    1. cd ~
    2. mkdir -pv rpmbuild/{BUILD,SOURCES,RPMS,SRPMS,SPECS}
    3. cd rpmbuild && rpmdev-newspec -o SPECS/libmad.spec
    4. libmad.spec
       1 Name:           libmad
       2 Version:        0.15.1b
       3 Release:        1%{?dist}
       4 Summary:        MP3 Codec
       5 
       6 Epoch:        1
       7 Provides:    libmad
       8 Packager:    occurence
       9 Vendor:        occurence
      10 Group:        System Environment/Base
      11 License:        GPL
      12 Distribution:    instrumentation
      13 URL:            http://downloads.sourceforge.net/mad/libmad-0.15.1b.tar.gz
      14 BuildRoot:    %{_topdir}/BUILDROOT
      15 Source0:        %{name}-%{version}.tar.gz
      16 Source1:    mere_doc
      17 
      18 BuildRequires:  gcc,gcc-c++
      19 Requires:       gcc,gcc-c++
      20 #Conflicts:
      21 BuildArch:    x86_64
      22 
      23 %description
      24 libmad mp3 codec
      25 
      26 %package        devel
      27 Summary:        Development files for %{name}
      28 Group:        Development/Libraries
      29 Requires:       %{name}%{?_isa} = %{version}-%{release}
      30 
      31 %description    devel
      32 The %{name}-devel package contains libraries and header files for
      33 developing applications that use %{name}.
      34 
      35 
      36 %prep
      37 %setup -q
      38 install -pm 777 %{SOURCE1} .
      39 
      40 
      41 %build
      42 sed -i '/-fforce/d' configure
      43 sed -i '/-fforce-mem/d' configure
      44 %configure --enable-shared
      45 make %{?_smp_mflags}
      46 
      47 
      48 %install
      49 rm -rf $RPM_BUILD_ROOT
      50 make install DESTDIR=$RPM_BUILD_ROOT
      51 #%make_install
      52 #find $RPM_BUILD_ROOT -name '*.la' -exec rm -f {} ';'
      53 
      54 %clean
      55 #rm -rf $RPM_BUILD_ROOT
      56 
      57 %post -p /sbin/ldconfig
      58 
      59 %postun -p /sbin/ldconfig
      60 
      61 
      62 %files
      63 %defattr(-,root,root,-)
      64 %doc
      65 %{_libdir}/
      66 %{_includedir}/*
      67 
      68 %files devel
      69 %doc mere_doc
      70 %{_includedir}/*
      71 %{_libdir}/*.so
      72 
      73 
      74 %changelog
      75 * Fri Jun 05 2020  margin <margin@margin.margin.com> 0.15.1b
      76 - Initail version
      View Code
    5. mere_doc仅为测试观察其位置

    6. 打包过程
        1 [root@pend3 rpmbuild]# rpmbuild -ba SPECS/libmad-0.15.1b.spec 
        2 Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.wpRYaU
        3 + umask 022
        4 + cd /root/rpmbuild/BUILD
        5 + cd /root/rpmbuild/BUILD
        6 + rm -rf libmad-0.15.1b
        7 + /usr/bin/gzip -dc /root/rpmbuild/SOURCES/libmad-0.15.1b.tar.gz
        8 + /usr/bin/tar -xf -
        9 + STATUS=0
       10 + '[' 0 -ne 0 ']'
       11 + cd libmad-0.15.1b
       12 + /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w .
       13 + install -pm 777 /root/rpmbuild/SOURCES/mere_doc .
       14 + exit 0
       15 Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.PYGwYR
       16 + umask 022
       17 + cd /root/rpmbuild/BUILD
       18 + cd libmad-0.15.1b
       19 + sed -i /-fforce/d configure
       20 + sed -i /-fforce-mem/d configure
       21 + CFLAGS='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches   -m64 -mtune=generic'
       22 + export CFLAGS
       23 + CXXFLAGS='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches   -m64 -mtune=generic'
       24 + export CXXFLAGS
       25 + FFLAGS='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches   -m64 -mtune=generic -I/usr/lib64/gfortran/modules'
       26 + export FFLAGS
       27 + FCFLAGS='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches   -m64 -mtune=generic -I/usr/lib64/gfortran/modules'
       28 + export FCFLAGS
       29 + LDFLAGS='-Wl,-z,relro '
       30 + export LDFLAGS
       31 + '[' 1 == 1 ']'
       32 + '[' x86_64 == ppc64le ']'
       33 ++ find . -name config.guess -o -name config.sub
       34 + for i in '$(find . -name config.guess -o -name config.sub)'
       35 ++ basename ./config.guess
       36 + '[' -f /usr/lib/rpm/redhat/config.guess ']'
       37 + /usr/bin/rm -f ./config.guess
       38 ++ basename ./config.guess
       39 + /usr/bin/cp -fv /usr/lib/rpm/redhat/config.guess ./config.guess
       40 '/usr/lib/rpm/redhat/config.guess' -> './config.guess'
       41 + for i in '$(find . -name config.guess -o -name config.sub)'
       42 ++ basename ./config.sub
       43 + '[' -f /usr/lib/rpm/redhat/config.sub ']'
       44 + /usr/bin/rm -f ./config.sub
       45 ++ basename ./config.sub
       46 + /usr/bin/cp -fv /usr/lib/rpm/redhat/config.sub ./config.sub
       47 '/usr/lib/rpm/redhat/config.sub' -> './config.sub'
       48 + ./configure --build=x86_64-redhat-linux-gnu --host=x86_64-redhat-linux-gnu --program-prefix= --disable-dependency-tracking --prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc --datadir=/usr/share --includedir=/usr/include --libdir=/usr/lib64 --libexecdir=/usr/libexec --localstatedir=/var --sharedstatedir=/var/lib --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared
       49 checking for a BSD-compatible install... /usr/bin/install -c
       50 checking whether build environment is sane... yes
       51 checking for gawk... gawk
       52 checking whether make sets $(MAKE)... yes
       53 checking build system type... x86_64-redhat-linux-gnu
       54 checking host system type... x86_64-redhat-linux-gnu
       55 checking for x86_64-redhat-linux-gnu-gcc... no
       56 checking for gcc... gcc
       57 checking for C compiler default output file name... a.out
       58 checking whether the C compiler works... yes
       59 checking whether we are cross compiling... no
       60 checking for suffix of executables... 
       61 checking for suffix of object files... o
       62 checking whether we are using the GNU C compiler... yes
       63 checking whether gcc accepts -g... yes
       64 checking for gcc option to accept ANSI C... none needed
       65 checking for style of include used by make... GNU
       66 checking dependency style of gcc... none
       67 checking for a sed that does not truncate output... /usr/bin/sed
       68 checking for egrep... grep -E
       69 checking for ld used by gcc... /usr/bin/ld
       70 checking if the linker (/usr/bin/ld) is GNU ld... yes
       71 checking for /usr/bin/ld option to reload object files... -r
       72 checking for BSD-compatible nm... nm
       73 checking whether ln -s works... yes
       74 checking how to recognise dependent libraries... pass_all
       75 checking how to run the C preprocessor... gcc -E
       76 checking for ANSI C header files... yes
       77 checking for sys/types.h... yes
       78 checking for sys/stat.h... yes
       79 checking for stdlib.h... yes
       80 checking for string.h... yes
       81 checking for memory.h... yes
       82 checking for strings.h... yes
       83 checking for inttypes.h... yes
       84 checking for stdint.h... yes
       85 checking for unistd.h... yes
       86 checking dlfcn.h usability... yes
       87 checking dlfcn.h presence... yes
       88 checking for dlfcn.h... yes
       89 checking for x86_64-redhat-linux-gnu-g++... no
       90 checking for x86_64-redhat-linux-gnu-c++... no
       91 checking for x86_64-redhat-linux-gnu-gpp... no
       92 checking for x86_64-redhat-linux-gnu-aCC... no
       93 checking for x86_64-redhat-linux-gnu-CC... no
       94 checking for x86_64-redhat-linux-gnu-cxx... no
       95 checking for x86_64-redhat-linux-gnu-cc++... no
       96 checking for x86_64-redhat-linux-gnu-cl... no
       97 checking for x86_64-redhat-linux-gnu-FCC... no
       98 checking for x86_64-redhat-linux-gnu-KCC... no
       99 checking for x86_64-redhat-linux-gnu-RCC... no
      100 checking for x86_64-redhat-linux-gnu-xlC_r... no
      101 checking for x86_64-redhat-linux-gnu-xlC... no
      102 checking for g++... g++
      103 checking whether we are using the GNU C++ compiler... yes
      104 checking whether g++ accepts -g... yes
      105 checking dependency style of g++... none
      106 checking how to run the C++ preprocessor... g++ -E
      107 checking for x86_64-redhat-linux-gnu-g77... no
      108 checking for x86_64-redhat-linux-gnu-f77... no
      109 checking for x86_64-redhat-linux-gnu-xlf... no
      110 checking for x86_64-redhat-linux-gnu-frt... no
      111 checking for x86_64-redhat-linux-gnu-pgf77... no
      112 checking for x86_64-redhat-linux-gnu-fort77... no
      113 checking for x86_64-redhat-linux-gnu-fl32... no
      114 checking for x86_64-redhat-linux-gnu-af77... no
      115 checking for x86_64-redhat-linux-gnu-f90... no
      116 checking for x86_64-redhat-linux-gnu-xlf90... no
      117 checking for x86_64-redhat-linux-gnu-pgf90... no
      118 checking for x86_64-redhat-linux-gnu-epcf90... no
      119 checking for x86_64-redhat-linux-gnu-f95... no
      120 checking for x86_64-redhat-linux-gnu-fort... no
      121 checking for x86_64-redhat-linux-gnu-xlf95... no
      122 checking for x86_64-redhat-linux-gnu-ifc... no
      123 checking for x86_64-redhat-linux-gnu-efc... no
      124 checking for x86_64-redhat-linux-gnu-pgf95... no
      125 checking for x86_64-redhat-linux-gnu-lf95... no
      126 checking for x86_64-redhat-linux-gnu-gfortran... no
      127 checking for g77... no
      128 checking for f77... no
      129 checking for xlf... no
      130 checking for frt... no
      131 checking for pgf77... no
      132 checking for fort77... no
      133 checking for fl32... no
      134 checking for af77... no
      135 checking for f90... no
      136 checking for xlf90... no
      137 checking for pgf90... no
      138 checking for epcf90... no
      139 checking for f95... f95
      140 checking whether we are using the GNU Fortran 77 compiler... yes
      141 checking whether f95 accepts -g... yes
      142 checking the maximum length of command line arguments... 32768
      143 checking command to parse nm output from gcc object... ok
      144 checking for objdir... .libs
      145 checking for x86_64-redhat-linux-gnu-ar... no
      146 checking for ar... ar
      147 checking for x86_64-redhat-linux-gnu-ranlib... no
      148 checking for ranlib... ranlib
      149 checking for x86_64-redhat-linux-gnu-strip... no
      150 checking for strip... strip
      151 checking if gcc static flag  works... yes
      152 checking if gcc supports -fno-rtti -fno-exceptions... no
      153 checking for gcc option to produce PIC... -fPIC
      154 checking if gcc PIC flag -fPIC works... yes
      155 checking if gcc supports -c -o file.o... yes
      156 checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
      157 checking whether -lc should be explicitly linked in... no
      158 checking dynamic linker characteristics... GNU/Linux ld.so
      159 checking how to hardcode library paths into programs... immediate
      160 checking whether stripping libraries is possible... yes
      161 checking if libtool supports shared libraries... yes
      162 checking whether to build shared libraries... yes
      163 checking whether to build static libraries... yes
      164 configure: creating libtool
      165 appending configuration tag "CXX" to libtool
      166 checking for ld used by g++... /usr/bin/ld -m elf_x86_64
      167 checking if the linker (/usr/bin/ld -m elf_x86_64) is GNU ld... yes
      168 checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
      169 checking for g++ option to produce PIC... -fPIC
      170 checking if g++ PIC flag -fPIC works... yes
      171 checking if g++ supports -c -o file.o... yes
      172 checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
      173 checking dynamic linker characteristics... GNU/Linux ld.so
      174 checking how to hardcode library paths into programs... immediate
      175 checking whether stripping libraries is possible... yes
      176 appending configuration tag "F77" to libtool
      177 checking if libtool supports shared libraries... yes
      178 checking whether to build shared libraries... yes
      179 checking whether to build static libraries... yes
      180 checking for f95 option to produce PIC... -fPIC
      181 checking if f95 PIC flag -fPIC works... no
      182 checking if f95 supports -c -o file.o... no
      183 checking whether the f95 linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
      184 checking dynamic linker characteristics... GNU/Linux ld.so
      185 checking how to hardcode library paths into programs... immediate
      186 checking whether stripping libraries is possible... yes
      187 checking for ANSI C header files... (cached) yes
      188 checking for sys/wait.h that is POSIX.1 compatible... yes
      189 checking assert.h usability... yes
      190 checking assert.h presence... yes
      191 checking for assert.h... yes
      192 checking limits.h usability... yes
      193 checking limits.h presence... yes
      194 checking for limits.h... yes
      195 checking for unistd.h... (cached) yes
      196 checking for sys/types.h... (cached) yes
      197 checking fcntl.h usability... yes
      198 checking fcntl.h presence... yes
      199 checking for fcntl.h... yes
      200 checking errno.h usability... yes
      201 checking errno.h presence... yes
      202 checking for errno.h... yes
      203 checking for an ANSI C-conforming const... yes
      204 checking for inline... inline
      205 checking whether byte ordering is bigendian... no
      206 checking for pid_t... yes
      207 checking for int... yes
      208 checking size of int... 4
      209 checking for long... yes
      210 checking size of long... 8
      211 checking for long long... yes
      212 checking size of long long... 8
      213 checking for waitpid... yes
      214 checking for fcntl... yes
      215 checking for pipe... yes
      216 checking for fork... yes
      217 checking whether to optimize for speed or for accuracy... default
      218 checking for architecture-specific fixed-point math routines... DEFAULT
      219 configure: WARNING: default fixed-point math will yield limited accuracy
      220 checking for ISO/IEC interpretation... best accepted practices
      221 checking whether to enable profiling... no
      222 checking whether to enable debugging... default
      223 checking whether to enable experimental code... no
      224 configure: creating ./config.status
      225 config.status: creating Makefile
      226 config.status: creating msvc++/Makefile
      227 config.status: creating libmad.list
      228 config.status: creating config.h
      229 config.status: executing depfiles commands
      230 + make
      231 (sed -e '1s|.*|/*|' -e '1b' -e '$s|.*| */|' -e '$b'  \
      232     -e 's/^.*/ *&/' ./COPYRIGHT; echo;  \
      233 echo "# ifdef __cplusplus";  \
      234 echo 'extern "C" {';  \
      235 echo "# endif"; echo;  \
      236 if [ ".-DFPM_DEFAULT" != "." ]; then  \
      237     echo ".-DFPM_DEFAULT" | sed -e 's|^\.-D|# define |'; echo;  \
      238 fi;  \
      239 sed -ne 's/^# *define  *\(HAVE_.*_ASM\).*/# define \1/p'  \
      240     config.h; echo;  \
      241 sed -ne 's/^# *define  *OPT_\(SPEED\|ACCURACY\).*/# define OPT_\1/p'  \
      242     config.h; echo;  \
      243 sed -ne 's/^# *define  *\(SIZEOF_.*\)/# define \1/p'  \
      244     config.h; echo;  \
      245 for header in version.h fixed.h bit.h timer.h stream.h frame.h synth.h decoder.h; do  \
      246     echo;  \
      247     sed -n -f ./mad.h.sed ./$header;  \
      248 done; echo;  \
      249 echo "# ifdef __cplusplus";  \
      250 echo '}';  \
      251 echo "# endif") >mad.h
      252 make  all-recursive
      253 make[1]: Entering directory `/root/rpmbuild/BUILD/libmad-0.15.1b'
      254 make[2]: Entering directory `/root/rpmbuild/BUILD/libmad-0.15.1b'
      255 /bin/sh ./libtool --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I. -DFPM_DEFAULT     -Wall -pipe -Wp,-D_FORTIFY_SOURCE=2 --param=ssp-buffer-size=4 -grecord-gcc-switches  -m64 -mtune=generic -g -O -fthread-jumps -fcse-follow-jumps -fcse-skip-blocks -fexpensive-optimizations -fregmove -fschedule-insns2 -c -o version.lo version.c
      256 mkdir .libs
      257  gcc -DHAVE_CONFIG_H -I. -I. -I. -DFPM_DEFAULT -Wall -pipe -Wp,-D_FORTIFY_SOURCE=2 --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -g -O -fthread-jumps -fcse-follow-jumps -fcse-skip-blocks -fexpensive-optimizations -fregmove -fschedule-insns2 -c version.c  -fPIC -DPIC -o .libs/version.o
      258  gcc -DHAVE_CONFIG_H -I. -I. -I. -DFPM_DEFAULT -Wall -pipe -Wp,-D_FORTIFY_SOURCE=2 --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -g -O -fthread-jumps -fcse-follow-jumps -fcse-skip-blocks -fexpensive-optimizations -fregmove -fschedule-insns2 -c version.c -o version.o >/dev/null 2>&1
      259 /bin/sh ./libtool --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I. -DFPM_DEFAULT     -Wall -pipe -Wp,-D_FORTIFY_SOURCE=2 --param=ssp-buffer-size=4 -grecord-gcc-switches  -m64 -mtune=generic -g -O -fthread-jumps -fcse-follow-jumps -fcse-skip-blocks -fexpensive-optimizations -fregmove -fschedule-insns2 -c -o fixed.lo fixed.c
      260  gcc -DHAVE_CONFIG_H -I. -I. -I. -DFPM_DEFAULT -Wall -pipe -Wp,-D_FORTIFY_SOURCE=2 --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -g -O -fthread-jumps -fcse-follow-jumps -fcse-skip-blocks -fexpensive-optimizations -fregmove -fschedule-insns2 -c fixed.c  -fPIC -DPIC -o .libs/fixed.o
      261  gcc -DHAVE_CONFIG_H -I. -I. -I. -DFPM_DEFAULT -Wall -pipe -Wp,-D_FORTIFY_SOURCE=2 --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -g -O -fthread-jumps -fcse-follow-jumps -fcse-skip-blocks -fexpensive-optimizations -fregmove -fschedule-insns2 -c fixed.c -o fixed.o >/dev/null 2>&1
      262 /bin/sh ./libtool --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I. -DFPM_DEFAULT     -Wall -pipe -Wp,-D_FORTIFY_SOURCE=2 --param=ssp-buffer-size=4 -grecord-gcc-switches  -m64 -mtune=generic -g -O -fthread-jumps -fcse-follow-jumps -fcse-skip-blocks -fexpensive-optimizations -fregmove -fschedule-insns2 -c -o bit.lo bit.c
      263  gcc -DHAVE_CONFIG_H -I. -I. -I. -DFPM_DEFAULT -Wall -pipe -Wp,-D_FORTIFY_SOURCE=2 --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -g -O -fthread-jumps -fcse-follow-jumps -fcse-skip-blocks -fexpensive-optimizations -fregmove -fschedule-insns2 -c bit.c  -fPIC -DPIC -o .libs/bit.o
      264  gcc -DHAVE_CONFIG_H -I. -I. -I. -DFPM_DEFAULT -Wall -pipe -Wp,-D_FORTIFY_SOURCE=2 --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -g -O -fthread-jumps -fcse-follow-jumps -fcse-skip-blocks -fexpensive-optimizations -fregmove -fschedule-insns2 -c bit.c -o bit.o >/dev/null 2>&1
      265 /bin/sh ./libtool --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I. -DFPM_DEFAULT     -Wall -pipe -Wp,-D_FORTIFY_SOURCE=2 --param=ssp-buffer-size=4 -grecord-gcc-switches  -m64 -mtune=generic -g -O -fthread-jumps -fcse-follow-jumps -fcse-skip-blocks -fexpensive-optimizations -fregmove -fschedule-insns2 -c -o timer.lo timer.c
      266  gcc -DHAVE_CONFIG_H -I. -I. -I. -DFPM_DEFAULT -Wall -pipe -Wp,-D_FORTIFY_SOURCE=2 --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -g -O -fthread-jumps -fcse-follow-jumps -fcse-skip-blocks -fexpensive-optimizations -fregmove -fschedule-insns2 -c timer.c  -fPIC -DPIC -o .libs/timer.o
      267  gcc -DHAVE_CONFIG_H -I. -I. -I. -DFPM_DEFAULT -Wall -pipe -Wp,-D_FORTIFY_SOURCE=2 --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -g -O -fthread-jumps -fcse-follow-jumps -fcse-skip-blocks -fexpensive-optimizations -fregmove -fschedule-insns2 -c timer.c -o timer.o >/dev/null 2>&1
      268 /bin/sh ./libtool --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I. -DFPM_DEFAULT     -Wall -pipe -Wp,-D_FORTIFY_SOURCE=2 --param=ssp-buffer-size=4 -grecord-gcc-switches  -m64 -mtune=generic -g -O -fthread-jumps -fcse-follow-jumps -fcse-skip-blocks -fexpensive-optimizations -fregmove -fschedule-insns2 -c -o stream.lo stream.c
      269  gcc -DHAVE_CONFIG_H -I. -I. -I. -DFPM_DEFAULT -Wall -pipe -Wp,-D_FORTIFY_SOURCE=2 --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -g -O -fthread-jumps -fcse-follow-jumps -fcse-skip-blocks -fexpensive-optimizations -fregmove -fschedule-insns2 -c stream.c  -fPIC -DPIC -o .libs/stream.o
      270  gcc -DHAVE_CONFIG_H -I. -I. -I. -DFPM_DEFAULT -Wall -pipe -Wp,-D_FORTIFY_SOURCE=2 --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -g -O -fthread-jumps -fcse-follow-jumps -fcse-skip-blocks -fexpensive-optimizations -fregmove -fschedule-insns2 -c stream.c -o stream.o >/dev/null 2>&1
      271 /bin/sh ./libtool --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I. -DFPM_DEFAULT     -Wall -pipe -Wp,-D_FORTIFY_SOURCE=2 --param=ssp-buffer-size=4 -grecord-gcc-switches  -m64 -mtune=generic -g -O -fthread-jumps -fcse-follow-jumps -fcse-skip-blocks -fexpensive-optimizations -fregmove -fschedule-insns2 -c -o frame.lo frame.c
      272  gcc -DHAVE_CONFIG_H -I. -I. -I. -DFPM_DEFAULT -Wall -pipe -Wp,-D_FORTIFY_SOURCE=2 --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -g -O -fthread-jumps -fcse-follow-jumps -fcse-skip-blocks -fexpensive-optimizations -fregmove -fschedule-insns2 -c frame.c  -fPIC -DPIC -o .libs/frame.o
      273  gcc -DHAVE_CONFIG_H -I. -I. -I. -DFPM_DEFAULT -Wall -pipe -Wp,-D_FORTIFY_SOURCE=2 --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -g -O -fthread-jumps -fcse-follow-jumps -fcse-skip-blocks -fexpensive-optimizations -fregmove -fschedule-insns2 -c frame.c -o frame.o >/dev/null 2>&1
      274 /bin/sh ./libtool --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I. -DFPM_DEFAULT     -Wall -pipe -Wp,-D_FORTIFY_SOURCE=2 --param=ssp-buffer-size=4 -grecord-gcc-switches  -m64 -mtune=generic -g -O -fthread-jumps -fcse-follow-jumps -fcse-skip-blocks -fexpensive-optimizations -fregmove -fschedule-insns2 -c -o synth.lo synth.c
      275  gcc -DHAVE_CONFIG_H -I. -I. -I. -DFPM_DEFAULT -Wall -pipe -Wp,-D_FORTIFY_SOURCE=2 --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -g -O -fthread-jumps -fcse-follow-jumps -fcse-skip-blocks -fexpensive-optimizations -fregmove -fschedule-insns2 -c synth.c  -fPIC -DPIC -o .libs/synth.o
      276  gcc -DHAVE_CONFIG_H -I. -I. -I. -DFPM_DEFAULT -Wall -pipe -Wp,-D_FORTIFY_SOURCE=2 --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -g -O -fthread-jumps -fcse-follow-jumps -fcse-skip-blocks -fexpensive-optimizations -fregmove -fschedule-insns2 -c synth.c -o synth.o >/dev/null 2>&1
      277 /bin/sh ./libtool --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I. -DFPM_DEFAULT     -Wall -pipe -Wp,-D_FORTIFY_SOURCE=2 --param=ssp-buffer-size=4 -grecord-gcc-switches  -m64 -mtune=generic -g -O -fthread-jumps -fcse-follow-jumps -fcse-skip-blocks -fexpensive-optimizations -fregmove -fschedule-insns2 -c -o decoder.lo decoder.c
      278  gcc -DHAVE_CONFIG_H -I. -I. -I. -DFPM_DEFAULT -Wall -pipe -Wp,-D_FORTIFY_SOURCE=2 --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -g -O -fthread-jumps -fcse-follow-jumps -fcse-skip-blocks -fexpensive-optimizations -fregmove -fschedule-insns2 -c decoder.c  -fPIC -DPIC -o .libs/decoder.o
      279  gcc -DHAVE_CONFIG_H -I. -I. -I. -DFPM_DEFAULT -Wall -pipe -Wp,-D_FORTIFY_SOURCE=2 --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -g -O -fthread-jumps -fcse-follow-jumps -fcse-skip-blocks -fexpensive-optimizations -fregmove -fschedule-insns2 -c decoder.c -o decoder.o >/dev/null 2>&1
      280 /bin/sh ./libtool --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I. -DFPM_DEFAULT     -Wall -pipe -Wp,-D_FORTIFY_SOURCE=2 --param=ssp-buffer-size=4 -grecord-gcc-switches  -m64 -mtune=generic -g -O -fthread-jumps -fcse-follow-jumps -fcse-skip-blocks -fexpensive-optimizations -fregmove -fschedule-insns2 -c -o layer12.lo layer12.c
      281  gcc -DHAVE_CONFIG_H -I. -I. -I. -DFPM_DEFAULT -Wall -pipe -Wp,-D_FORTIFY_SOURCE=2 --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -g -O -fthread-jumps -fcse-follow-jumps -fcse-skip-blocks -fexpensive-optimizations -fregmove -fschedule-insns2 -c layer12.c  -fPIC -DPIC -o .libs/layer12.o
      282  gcc -DHAVE_CONFIG_H -I. -I. -I. -DFPM_DEFAULT -Wall -pipe -Wp,-D_FORTIFY_SOURCE=2 --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -g -O -fthread-jumps -fcse-follow-jumps -fcse-skip-blocks -fexpensive-optimizations -fregmove -fschedule-insns2 -c layer12.c -o layer12.o >/dev/null 2>&1
      283 /bin/sh ./libtool --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I. -DFPM_DEFAULT     -Wall -pipe -Wp,-D_FORTIFY_SOURCE=2 --param=ssp-buffer-size=4 -grecord-gcc-switches  -m64 -mtune=generic -g -O -fthread-jumps -fcse-follow-jumps -fcse-skip-blocks -fexpensive-optimizations -fregmove -fschedule-insns2 -c -o layer3.lo layer3.c
      284  gcc -DHAVE_CONFIG_H -I. -I. -I. -DFPM_DEFAULT -Wall -pipe -Wp,-D_FORTIFY_SOURCE=2 --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -g -O -fthread-jumps -fcse-follow-jumps -fcse-skip-blocks -fexpensive-optimizations -fregmove -fschedule-insns2 -c layer3.c  -fPIC -DPIC -o .libs/layer3.o
      285  gcc -DHAVE_CONFIG_H -I. -I. -I. -DFPM_DEFAULT -Wall -pipe -Wp,-D_FORTIFY_SOURCE=2 --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -g -O -fthread-jumps -fcse-follow-jumps -fcse-skip-blocks -fexpensive-optimizations -fregmove -fschedule-insns2 -c layer3.c -o layer3.o >/dev/null 2>&1
      286 /bin/sh ./libtool --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I. -DFPM_DEFAULT     -Wall -pipe -Wp,-D_FORTIFY_SOURCE=2 --param=ssp-buffer-size=4 -grecord-gcc-switches  -m64 -mtune=generic -g -O -fthread-jumps -fcse-follow-jumps -fcse-skip-blocks -fexpensive-optimizations -fregmove -fschedule-insns2 -c -o huffman.lo huffman.c
      287  gcc -DHAVE_CONFIG_H -I. -I. -I. -DFPM_DEFAULT -Wall -pipe -Wp,-D_FORTIFY_SOURCE=2 --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -g -O -fthread-jumps -fcse-follow-jumps -fcse-skip-blocks -fexpensive-optimizations -fregmove -fschedule-insns2 -c huffman.c  -fPIC -DPIC -o .libs/huffman.o
      288  gcc -DHAVE_CONFIG_H -I. -I. -I. -DFPM_DEFAULT -Wall -pipe -Wp,-D_FORTIFY_SOURCE=2 --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -g -O -fthread-jumps -fcse-follow-jumps -fcse-skip-blocks -fexpensive-optimizations -fregmove -fschedule-insns2 -c huffman.c -o huffman.o >/dev/null 2>&1
      289 /bin/sh ./libtool --mode=link gcc  -Wall -pipe -Wp,-D_FORTIFY_SOURCE=2 --param=ssp-buffer-size=4 -grecord-gcc-switches  -m64 -mtune=generic -g -O -fthread-jumps -fcse-follow-jumps -fcse-skip-blocks -fexpensive-optimizations -fregmove -fschedule-insns2  -Wl,-z,relro  -o libmad.la -rpath /usr/lib64 -version-info 2:1:2 version.lo fixed.lo bit.lo timer.lo stream.lo frame.lo synth.lo decoder.lo layer12.lo layer3.lo huffman.lo    
      290 gcc -shared  .libs/version.o .libs/fixed.o .libs/bit.o .libs/timer.o .libs/stream.o .libs/frame.o .libs/synth.o .libs/decoder.o .libs/layer12.o .libs/layer3.o .libs/huffman.o   -m64 -mtune=generic -Wl,-z -Wl,relro -Wl,-soname -Wl,libmad.so.0 -o .libs/libmad.so.0.2.1
      291 (cd .libs && rm -f libmad.so.0 && ln -s libmad.so.0.2.1 libmad.so.0)
      292 (cd .libs && rm -f libmad.so && ln -s libmad.so.0.2.1 libmad.so)
      293 ar cru .libs/libmad.a  version.o fixed.o bit.o timer.o stream.o frame.o synth.o decoder.o layer12.o layer3.o huffman.o
      294 ranlib .libs/libmad.a
      295 creating libmad.la
      296 (cd .libs && rm -f libmad.la && ln -s ../libmad.la libmad.la)
      297 make[2]: Leaving directory `/root/rpmbuild/BUILD/libmad-0.15.1b'
      298 make[1]: Leaving directory `/root/rpmbuild/BUILD/libmad-0.15.1b'
      299 + exit 0
      300 Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.J9HX5k
      301 + umask 022
      302 + cd /root/rpmbuild/BUILD
      303 + '[' /root/rpmbuild/BUILDROOT/libmad-0.15.1b-1.el7.x86_64 '!=' / ']'
      304 + rm -rf /root/rpmbuild/BUILDROOT/libmad-0.15.1b-1.el7.x86_64
      305 ++ dirname /root/rpmbuild/BUILDROOT/libmad-0.15.1b-1.el7.x86_64
      306 + mkdir -p /root/rpmbuild/BUILDROOT
      307 + mkdir /root/rpmbuild/BUILDROOT/libmad-0.15.1b-1.el7.x86_64
      308 + cd libmad-0.15.1b
      309 + rm -rf /root/rpmbuild/BUILDROOT/libmad-0.15.1b-1.el7.x86_64
      310 + make install DESTDIR=/root/rpmbuild/BUILDROOT/libmad-0.15.1b-1.el7.x86_64
      311 make  install-recursive
      312 make[1]: Entering directory `/root/rpmbuild/BUILD/libmad-0.15.1b'
      313 make[2]: Entering directory `/root/rpmbuild/BUILD/libmad-0.15.1b'
      314 make[3]: Entering directory `/root/rpmbuild/BUILD/libmad-0.15.1b'
      315 mkdir -p -- . /root/rpmbuild/BUILDROOT/libmad-0.15.1b-1.el7.x86_64/usr/lib64
      316  /bin/sh ./libtool --mode=install /usr/bin/install -c  libmad.la /root/rpmbuild/BUILDROOT/libmad-0.15.1b-1.el7.x86_64/usr/lib64/libmad.la
      317 /usr/bin/install -c .libs/libmad.so.0.2.1 /root/rpmbuild/BUILDROOT/libmad-0.15.1b-1.el7.x86_64/usr/lib64/libmad.so.0.2.1
      318 (cd /root/rpmbuild/BUILDROOT/libmad-0.15.1b-1.el7.x86_64/usr/lib64 && rm -f libmad.so.0 && ln -s libmad.so.0.2.1 libmad.so.0)
      319 (cd /root/rpmbuild/BUILDROOT/libmad-0.15.1b-1.el7.x86_64/usr/lib64 && rm -f libmad.so && ln -s libmad.so.0.2.1 libmad.so)
      320 /usr/bin/install -c .libs/libmad.lai /root/rpmbuild/BUILDROOT/libmad-0.15.1b-1.el7.x86_64/usr/lib64/libmad.la
      321 /usr/bin/install -c .libs/libmad.a /root/rpmbuild/BUILDROOT/libmad-0.15.1b-1.el7.x86_64/usr/lib64/libmad.a
      322 ranlib /root/rpmbuild/BUILDROOT/libmad-0.15.1b-1.el7.x86_64/usr/lib64/libmad.a
      323 chmod 644 /root/rpmbuild/BUILDROOT/libmad-0.15.1b-1.el7.x86_64/usr/lib64/libmad.a
      324 libtool: install: warning: remember to run `libtool --finish /usr/lib64'
      325 mkdir -p -- . /root/rpmbuild/BUILDROOT/libmad-0.15.1b-1.el7.x86_64/usr/include
      326  /usr/bin/install -c -m 644 mad.h /root/rpmbuild/BUILDROOT/libmad-0.15.1b-1.el7.x86_64/usr/include/mad.h
      327 make[3]: Leaving directory `/root/rpmbuild/BUILD/libmad-0.15.1b'
      328 make[2]: Leaving directory `/root/rpmbuild/BUILD/libmad-0.15.1b'
      329 make[1]: Leaving directory `/root/rpmbuild/BUILD/libmad-0.15.1b'
      330 + /usr/lib/rpm/find-debuginfo.sh --strict-build-id -m --run-dwz --dwz-low-mem-die-limit 10000000 --dwz-max-die-limit 110000000 /root/rpmbuild/BUILD/libmad-0.15.1b
      331 extracting debug info from /root/rpmbuild/BUILDROOT/libmad-0.15.1b-1.el7.x86_64/usr/lib64/libmad.so.0.2.1
      332 dwz: Too few files for multifile optimization
      333 /usr/lib/rpm/sepdebugcrcfix: Updated 1 CRC32s, 0 CRC32s did match.
      334 symlinked /usr/lib/debug/usr/lib64/libmad.so.0.2.1.debug to /usr/lib/debug/usr/lib64/libmad.so.0.debug
      335 symlinked /usr/lib/debug/usr/lib64/libmad.so.0.2.1.debug to /usr/lib/debug/usr/lib64/libmad.so.debug
      336 516 blocks
      337 + /usr/lib/rpm/check-buildroot
      338 + /usr/lib/rpm/redhat/brp-compress
      339 + /usr/lib/rpm/redhat/brp-strip-static-archive /usr/bin/strip
      340 + /usr/lib/rpm/brp-python-bytecompile /usr/bin/python 1
      341 + /usr/lib/rpm/redhat/brp-python-hardlink
      342 + /usr/lib/rpm/redhat/brp-java-repack-jars
      343 Processing files: libmad-0.15.1b-1.el7.x86_64
      344 Provides: libmad libmad = 1:0.15.1b-1.el7 libmad(x86-64) = 1:0.15.1b-1.el7 libmad.so.0()(64bit) libtool(/usr/lib64/libmad.la)
      345 Requires(interp): /sbin/ldconfig /sbin/ldconfig
      346 Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
      347 Requires(post): /sbin/ldconfig
      348 Requires(postun): /sbin/ldconfig
      349 Requires: libc.so.6()(64bit) libc.so.6(GLIBC_2.14)(64bit) libc.so.6(GLIBC_2.2.5)(64bit) libc.so.6(GLIBC_2.3.4)(64bit) libmad.so.0()(64bit) rtld(GNU_HASH)
      350 Processing files: libmad-devel-0.15.1b-1.el7.x86_64
      351 Executing(%doc): /bin/sh -e /var/tmp/rpm-tmp.fT70KP
      352 + umask 022
      353 + cd /root/rpmbuild/BUILD
      354 + cd libmad-0.15.1b
      355 + DOCDIR=/root/rpmbuild/BUILDROOT/libmad-0.15.1b-1.el7.x86_64/usr/share/doc/libmad-devel-0.15.1b
      356 + export DOCDIR
      357 + /usr/bin/mkdir -p /root/rpmbuild/BUILDROOT/libmad-0.15.1b-1.el7.x86_64/usr/share/doc/libmad-devel-0.15.1b
      358 + cp -pr mere_doc /root/rpmbuild/BUILDROOT/libmad-0.15.1b-1.el7.x86_64/usr/share/doc/libmad-devel-0.15.1b
      359 + exit 0
      360 Provides: libmad-devel = 1:0.15.1b-1.el7 libmad-devel(x86-64) = 1:0.15.1b-1.el7
      361 Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
      362 Requires: libmad.so.0()(64bit)
      363 Processing files: libmad-debuginfo-0.15.1b-1.el7.x86_64
      364 Provides: libmad-debuginfo = 1:0.15.1b-1.el7 libmad-debuginfo(x86-64) = 1:0.15.1b-1.el7
      365 Requires(rpmlib): rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 rpmlib(CompressedFileNames) <= 3.0.4-1
      366 Checking for unpackaged file(s): /usr/lib/rpm/check-files /root/rpmbuild/BUILDROOT/libmad-0.15.1b-1.el7.x86_64
      367 Wrote: /root/rpmbuild/SRPMS/libmad-0.15.1b-1.el7.src.rpm
      368 Wrote: /root/rpmbuild/RPMS/x86_64/libmad-0.15.1b-1.el7.x86_64.rpm
      369 Wrote: /root/rpmbuild/RPMS/x86_64/libmad-devel-0.15.1b-1.el7.x86_64.rpm
      370 Wrote: /root/rpmbuild/RPMS/x86_64/libmad-debuginfo-0.15.1b-1.el7.x86_64.rpm
      371 Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.U1Yvwk
      372 + umask 022
      373 + cd /root/rpmbuild/BUILD
      374 + cd libmad-0.15.1b
      375 + exit 0
      View Code

    二:nginx打包

    1.  建立nginx专用目录,注意使用%而不是$

    2. mkdir -pv nginx/{BUILD,SOURCES,RPMS,SRPMS,SPECS} && cd nginx && rpmdev-newspec -o SPECS/nginx.spec
    3.   

      

  • 相关阅读:
    CSS3点赞动画特效源码下载
    jQuery仿阿里云购买选择购买时间长度
    Ubuntu系统操作快捷键
    DIV+CSS颜色边框背景等样式
    HTML5翻页电子书
    淡蓝风格的手机登录HTML模板
    HTML常用符号
    SQL SERVER实例解析
    div+css页面右侧底部悬浮层
    C#引用C++代码
  • 原文地址:https://www.cnblogs.com/dissipate/p/13050646.html
Copyright © 2011-2022 走看看