yum install rpm-build -y
yum install gcc -y
yum install make -y
注意:需要使用普通用户操作
在普通用户的家目录下建工作目录
mkdir -pv ~/rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS,BUILDROOT}
将inotify-tools-3.14.tar.gz源码包放入~/rpmbuild/SOURCES目录下
cp inotify-tools-3.14.tar.gz ~/rpmbuild/SOURCES
在 ~/rpmbuild/SPECS目录下创建inotify-tools.spec文件,然后编辑内容
touch inotify-tools.spec
vim inotify-tools.spec
Name: inotify-tools
Version: 3.14
Release: 1
Summary: inotify
License: GPL
#Group:
Vendor: zch
Source0:inotify-tools-3.14.tar.gz
%description
inotify tool
%prep
%setup -q
%build
./configure
make %{?_smp_mflags}
%install
make install DESTDIR=%{buildroot}
%pre
%post
%preun
%postun
%files
%doc
/usr/local/*
%changelog
rpmbuild -ba inotify-tools.spec //将源码包做成rpm包
exit 0即可看到在~/rpmbuild/RPMS/x86_64下生成inotify-tools-3.14-1.x86_64.rpm和inotify-tools-debuginfo-3.14-1.x86_64.rpm包
[zch@localhost rpmbuild]$ tree
.
├── BUILD
│ └── inotify-tools-3.14
│ ├── aclocal.m4
│ ├── AUTHORS
│ ├── autom4te.cache
│ │ ├── output.0
│ │ ├── requests
│ │ └── traces.0
│ ├── ChangeLog
│ ├── config.guess
│ ├── config.h
│ ├── config.h.in
│ ├── config.log
│ ├── config.status
│ ├── config.sub
│ ├── configure
│ ├── configure.ac
│ ├── COPYING
│ ├── debugfiles.list
│ ├── debuglinks.list
│ ├── debugsources.list
│ ├── depcomp
│ ├── elfbins.list
│ ├── INSTALL
│ ├── install-sh
│ ├── libinotifytools
│ │ ├── Makefile
│ │ ├── Makefile.am
│ │ ├── Makefile.in
│ │ └── src
│ │ ├── doc
│ │ │ └── html
│ │ │ ├── bc_s.png
│ │ │ ├── bdwn.png
│ │ │ ├── closed.png
│ │ │ ├── dir_6f9162800bb6dbbe5c86171e8602f383.html
│ │ │ ├── doxygen.css
│ │ │ ├── doxygen.png
│ │ │ ├── dynsections.js
│ │ │ ├── files.html
│ │ │ ├── ftv2blank.png
│ │ │ ├── ftv2cl.png
│ │ │ ├── ftv2doc.png
│ │ │ ├── ftv2folderclosed.png
│ │ │ ├── ftv2folderopen.png
│ │ │ ├── ftv2lastnode.png
│ │ │ ├── ftv2link.png
│ │ │ ├── ftv2mlastnode.png
│ │ │ ├── ftv2mnode.png
│ │ │ ├── ftv2mo.png
│ │ │ ├── ftv2node.png
│ │ │ ├── ftv2ns.png
│ │ │ ├── ftv2plastnode.png
│ │ │ ├── ftv2pnode.png
│ │ │ ├── ftv2splitbar.png
│ │ │ ├── ftv2vertline.png
│ │ │ ├── globals_func.html
│ │ │ ├── globals.html
│ │ │ ├── index.html
│ │ │ ├── inotifytools_8c_source.html
│ │ │ ├── inotifytools_8h.html
│ │ │ ├── inotifytools_8h_source.html
│ │ │ ├── jquery.js
│ │ │ ├── nav_f.png
│ │ │ ├── nav_g.png
│ │ │ ├── nav_h.png
│ │ │ ├── open.png
│ │ │ ├── pages.html
│ │ │ ├── sync_off.png
│ │ │ ├── sync_on.png
│ │ │ ├── tab_a.png
│ │ │ ├── tab_b.png
│ │ │ ├── tab_h.png
│ │ │ ├── tabs.css
│ │ │ ├── tab_s.png
│ │ │ └── todo.html
│ │ ├── Doxyfile
│ │ ├── example.c
│ │ ├── inotifytools
│ │ │ ├── inotify.h
│ │ │ ├── inotify.h.in
│ │ │ ├── inotify-nosys.h
│ │ │ ├── inotifytools.h
│ │ │ ├── Makefile
│ │ │ ├── Makefile.am
│ │ │ ├── Makefile.in
│ │ │ └── stamp-h2
│ │ ├── inotifytools.c
│ │ ├── inotifytools.lo
│ │ ├── inotifytools.o
│ │ ├── inotifytools_p.h
│ │ ├── libinotifytools.la
│ │ ├── Makefile
│ │ ├── Makefile.am
│ │ ├── Makefile.in
│ │ ├── redblack.c
│ │ ├── redblack.h
│ │ ├── redblack.lo
│ │ ├── redblack.o
│ │ └── test.c
│ ├── libtool
│ ├── ltmain.sh
│ ├── Makefile
│ ├── Makefile.am
│ ├── Makefile.in
│ ├── man
│ │ ├── inotifywait.1
│ │ ├── inotifywatch.1
│ │ ├── Makefile
│ │ ├── Makefile.am
│ │ └── Makefile.in
│ ├── missing
│ ├── NEWS
│ ├── README
│ ├── src
│ │ ├── common.c
│ │ ├── common.h
│ │ ├── common.o
│ │ ├── inotifywait
│ │ ├── inotifywait.c
│ │ ├── inotifywait.o
│ │ ├── inotifywatch
│ │ ├── inotifywatch.c
│ │ ├── inotifywatch.o
│ │ ├── Makefile
│ │ ├── Makefile.am
│ │ └── Makefile.in
│ └── stamp-h1
├── BUILDROOT
├── RPMS
│ └── x86_64
│ ├── inotify-tools-3.14-1.x86_64.rpm
│ └── inotify-tools-debuginfo-3.14-1.x86_64.rpm
├── SOURCES
│ └── inotify-tools-3.14.tar.gz
├── SPECS
│ └── inotify-tools.spec
└── SRPMS
└── inotify-tools-3.14-1.src.rpm
参考:实验:将inotify-tools-3.14.tar.gz源码包做成rpm包_weixin_33716154的博客-CSDN博客