当前位置: 首页 > 工具软件 > inotify-tools > 使用案例 >

在CentOS上将inotify-tools-3.14.tar.gz源码包制作成rpm包

公冶桐
2023-12-01

先用root用户下载所需要的包:

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博客

 类似资料: