常見的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專用目錄,注意使用%而不是$
-
-