常见的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的默认设置):
- --build=x86_64-redhat-linux-gnu
- --host=x86_64-redhat-linux-gnu
- --program-prefix=
- --prefix=/usr
- --exec-prefix=/usr
- --bindir=/usr/bin
- --sbindir=/usr/sbin
- --sysconfdir=/etc
- --datadir=/usr/share
- --includedir=/usr/include 二次开发的头文件
- --libdir=/usr/lib64 库文件路径,32和64系统是不同的
- --libexecdir=/usr/libexec
- --localstatedir=/var
- --sharestatedir=/var/lib
- --mandir=/usr/share/man
- --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
- cd ~
- mkdir -pv rpmbuild/{BUILD,SOURCES,RPMS,SRPMS,SPECS}
- cd rpmbuild && rpmdev-newspec -o SPECS/libmad.spec
- 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
-
mere_doc仅为测试观察其位置
-
打包过程
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
二:nginx打包
-
建立nginx专用目录,注意使用%而不是$
-
mkdir -pv nginx/{BUILD,SOURCES,RPMS,SRPMS,SPECS} && cd nginx && rpmdev-newspec -o SPECS/nginx.spec