歡迎您光臨本站 註冊首頁

rpm 包製作

←手機掃碼閱讀     火星人 @ 2014-03-03 , reply:0

rpm 包製作

rpm 包製作


談論RPM對好多編譯安裝的朋友來多,RPM安裝是傻瓜安裝。
呵呵,其實RPM是一種非常有效果的集中部署的解決方案。
yum+RPM是非常快速便捷的大規模部署方案。
下面簡單介紹下rpm的製作:
以cronolog為例:
首先下載cronolog的源碼包。
解開源碼包,tar xzvf cronolog-1.6.2.tar.gz
找到 cronolog.spec 該文件是定製如何生成RPM包的配置文件vim cronolog.spec

%define name cronolog

%define version 1.6.2

%define release 1

%define group System Networking/Daemons

Summary:        a flexible log file rotation program for Apache

Name:           %{name}

Version:        %{version}

Release:        %{release}

Copyright:      Apache license

Group:          %{group}

Packager:       Andrew Ford

URL:            http://www.ford-mason.co.uk/resources/cronolog/

Source:         http://www.ford-mason.co.uk/resources/cronolog/cronolog-%version.tar.gz

BuildRoot:      /tmp/%{name}-root

%description

"cronolog" is a simple program that reads log messages from its input

and writes them to a set of output files, the names of which are

constructed using template and the current date and time.  The

template uses the same format specifiers as the Unix date command

(which are the same as the standard C strftime library function).

%changelog

%prep

%setup -n %{name}-%{version}

%build

./configure

make



%install

rm -rf $RPM_BUILD_ROOT

mkdir -p $RPM_BUILD_ROOT/usr/share/doc/%{name}-${RPM_PACKAGE_VERSION} -m 755

make prefix=$RPM_BUILD_ROOT/usr mandir=$RPM_BUILD_ROOT/usr/share/man install

install -m 644 README $RPM_BUILD_ROOT/usr/share/doc/%name-${RPM_PACKAGE_VERSION}

#install -m 644 $RPM_SOURCE_DIR/doc/cronolog.1m $RPM_BUILD_ROOT/usr/man/man1/cronolog.1

#install -m 755 $RPM_SOURCE_DIR/src/cronolog $RPM_BUILD_ROOT/usr/sbin/cronolog

#strip  $RPM_BUILD_ROOT/usr/sbin/* || echo Ignored strip on a non-binary file



%post

%preun

%postun



%clean

rm -rf $RPM_BUILD_ROOT



%files

#%attr(-,root,root) /usr/share/doc/%{name}-%{version}/README

%attr(-,root,root) /usr/sbin/cronolog

%attr(-,root,root) /usr/sbin/cronosplit

#%files man

%attr(644,root,root) /usr/share/man/man1/*.1*

%doc README
複製代碼然後,將源碼包複製到 /usr/src/redhat/SOURCES/
cp cronolog-1.6.2.tar.gz /usr/src/redhat/SOURCES/
執行,rpmbuild -ba cronolog.spec
這樣RPM包就生成了,^_^
ls -l /usr/src/redhat/RPMS/i386/
《解決方案》

謝謝分享

[火星人 ] rpm 包製作已經有446次圍觀

http://coctec.com/docs/service/show-post-1183.html