![]() |
RPM�p�b�P�[�W�쐬���� |
Linux��RPM�p�b�P�[�W�������ō�邽�߂̃m�E�n�E�W�ł��B
����Linux OS�̃f�B�X�g���r���[�V�����ɂ͊܂܂�Ă��܂����A�I�v�V���������ŃC���X�g�[������Ă��Ȃ����Ƃ�����܂��B
# yum install rpmbuild :
RPM�p�b�P�[�W�쐬��root�����ō�Ƃ���ƃG���[���ɔߎS�Ȗڂɂ����̂ŁA�K����ʃ��[�U�����ō�Ƃ��܂��B
���[�U�̃z�[���f�B���N�g���ɁARPM�p�b�P�[�W��Ɨp�f�B���N�g�����쐬���܂��B
~$ mkdir -p rpm/{BUILD,RPMS,SOURCES,SPECS,SRPMS} ~$ ls rpm BUILD RPMS SOURCES SPECS SRPMS ~$
rpmbuild�R�}���h���s���ɁA��q�̃z�[���f�B���N�g���ɍ������ƃf�B���N�g�����g�p���邽�߂̐ݒ�t�@�C����~/.rpmmacros�ɋL�q���܂��B
%_topdir /home/torutk/rpm %packager Toru Takahashi <[email protected]> %_sysconfdir /etc
���L�jGPG���ɂ�鏐���ɂ��ẮA�{�y�[�W�ł͋L�ڂ��Ă��܂��A�C���^�[�l�b�g��ȂǂŌ��J����ꍇ�́A�v��ʈ��ӂ����邽�߂ɏ���������ׂ��ł��B
src.rpm����肷��A�ȒP�Ƀo�C�i���E�p�b�P�[�W���r���h���邱�Ƃ��ł��܂��B
~$ rpmbuild --rebuild xyz-1.2.3-4.src.rpm :
~/rpm/RPMS/i386�̉��ɁA�o�C�i���p�b�P�[�W����������܂��B
�G���[����������ꍇ�A����spec�t�@�C�������邱�ƂɂȂ�܂��B
spec�t�@�C��������Ă���tarball�̏ꍇ�A��r�I�ȒP��RPM�o�C�i���p�b�P�[�W�����邱�Ƃ��ł��܂��B
�܂��Atarball����spec�t�@�C�������o���A~/rpm/SPECS�̉��ɒu���܂��B
tarball��~/rpm/SOURCES�̉��ɒu���܂��B
~$ cd rpm/SPECS SPECS$ rpmbuild -ba xyz.spec :
rpmbuild�R�}���h�̎�v�I�v�V�����͈ȉ��ł��B
-bp %prep�Z�N�V���������s -bc %prep��%build�Z�N�V���������s -bi %prep��%build��%install�Z�N�V���������s -bb %prep��%build��%install�Z�N�V�����ƃo�C�i���p�b�P�[�W�쐬�����s -ba %prep��%build��%install�Z�N�V�����ƃo�C�i���p�b�P�[�W�쐬�ƃ\�[�X�p�b�P�[�W�쐬�����s -bl %files�Z�N�V�����̌������s�� --short-circuit -bc %build�Z�N�V���������s�i%prep�����āj --short-circuit -bi %install�Z�N�V���������s�i%prep��%build�����āj --nobuild �����r���h�������Aspec�t�@�C���̌������s���̂Ɏg��
spec�t�@�C�����P����쐬����_�������A��Ltarball����̃r���h�ƈꏏ�ł��B
���O - �o�[�W���� - �����[�X . �f�B�X�g���r���[�V���� . �A�[�L�e�N�`�� . rpm
- ���O
- �\�t�g�E�F�A�����w�肵�܂��B
- �o�[�W����
- �����ƃs���I�h�̑g�ݍ��킹�ŁA�ʏ�3���Ŏw�肵�܂��B�i��F 3.4.5�j
- �����[�X
- RPM�p�b�P�[�W�̃����[�X�ԍ��ŁA�\�[�X�R�[�h�͕ύX�Ȃ��p�b�P�[�W�̃r���h�菇��̏C��������ꍇ�Ƀ����[�X�ԍ����C���N�������g���Ă����܂��B
- �f�B�X�g���r���[�V����
- �f�B�X�g���r���[�V���������ʂ��镶������w�肷�邱�Ƃ�����܂��B�i��Ffc10�Ael5�j
- �A�[�L�e�N�`��
- �p�b�P�[�W�̃o�C�i�������s�\�ȃA�[�L�e�N�`�����w�肵�܂��B�i��F i386�Ai686�Anoarch�Ȃǁj
RPM�p�b�P�[�W�ő�̓�ւ��A����spec�t�@�C�����쐬���邱�Ƃł��Bspec�t�@�C�����ɂ߂邱�Ƃ��ARPM�p�b�P�[�W�E�l�ɂȂ���܂��B
spec�t�@�C���̍\�����ȒP�ɋL�q����ƈȉ��ɂȂ�܂��B
�C���g���_�N�V�����@�Z�N�V���� |
description �Z�N�V���� |
prep �Z�N�V���� |
build �Z�N�V���� |
install �Z�N�V���� |
clean �Z�N�V���� |
files �Z�N�V���� |
spec�t�@�C���̐擪�ɋL�q���܂��B
Name: xyz Version: 1.2.3 Release: 1%{?dist} Group: Utilities Vendor: Example Company URL: http://www.example.com/product/xyz Packager: Toru Takahashi <[email protected]> License: MIT Summary: Tools for doing something about xyz. Summary(ja): xyz�ɂ��ĂȂɂ�������c�[�� Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-root BuildArch: i386 Source: xyz-1.2.3.tar.gz Patch1: xyz-cvs.patch
Name�AVersion�ARelease��3��d�v���ڂł�����A���������`���܂��B
Group�́A/usr/share/doc/rpm-4.1/GROUPS�ɒ�`����Ă�����̂���I������̂��悢�ł��傤�B
Summary(ja)�́A���{�ꃍ�P�[���ł̃p�b�P�[�W�T�v��\�����邽�߂Ɏg���܂��B�i�ȗ��j
�\�[�X�t�@�C���i�A�[�J�C�u�j����������Ƃ��́ASource0, Source1, �c��Source�ɐ��l��A�Ԃŕt���Ďw�肵�܂��B
�p�b�`�t�@�C������������Ƃ��́APatch0, Patch1, �c��Patch�ɐ��l��A�Ԃŕt���Ďw�肵�܂��B
Source0: xyz-1.2.3.tar.gz Source1: abc-0.1.tar.gz Patch0: xyz-1.2.3-p3.patch Patch1: xyz-1.2.3.cvs.patch
�����\�[�X�t�@�C���ƃp�b�`�t�@�C���́A�p�b�P�[�W�쐬����SOURCES�f�B���N�g���̒��ɒu���܂��B
Vendor��Packager�́A�p�b�P�[�W���쐬����c�́E��Ǝ҂��L�q���܂��B
License�́A�\�[�X�R�[�h�̃��C�Z���X���L�ڂ��܂��B
BuildArch�ɂ́A���̃p�b�P�[�W�̃A�[�L�e�N�`���iCPU��ʁj���w�肵�܂��Bx86 Linux�iCentOS 5�j�ł́A���̎w����ȗ������ꍇ�Ai386���K�p����܂��B�R���p�C���I�v�V������CPU����̎w�������ꍇ�Ai686�̂悤�Ɍ��肷��CPU�A�[�L�e�N�`�������L�q���܂��BCPU�ˑ��o�C�i�����Ȃ��p�b�P�[�W�i�X�N���v�g���ꓙ�j�́Anoarch���w�肵�Ă��悢�ł��傤�B
Release�̓\�[�X�t�@�C���ɂ͎����ꂸ�ɁA�r���h�Ɋւ���ݒ���C�������Ƃ��ɃC���N�������g���܂��B�f�B�X�g���r���[�V�������ʂ͋��ʂ�SPEC�t�@�C�����畡���f�B�X�g���r���[�V�����i�o�[�W�����j�ɑΉ��ł���悤�Arpmbuild�R�}���h�̃R�}���h���C���I�v�V������dist�}�N�����w�肵���Ƃ��ɕt�^�����悤�ɋL�q���Ă��܂��B
��SPEC�t�@�C����dist���`����ƁA�f�B�X�g���r���[�V�����i�o�[�W�����j���Ƃ�SPEC�t�@�C�����C�����Ȃ��Ă͂Ȃ�Ȃ�����
$ rpmbuild -ba --define="dist .el5" xyz.spec
Source�ɂ́AURL�Ńt�@�C�����w�肷�邱�Ƃ��ł��܂��Brpmbuild���s����URL����t�@�C�����_�E�����[�h���܂��B
spec�t�@�C���Ŏg�p����}�N��������܂��B���̒l��m�肽���Ƃ��́Arpm�R�}���h��--eval�I�v�V�����Ŋm�F�ł��܂��B
$ rpm --eval %{_libdir} /usr/lib $
�}�N�� | �l | ��` | |
_prefix |
/usr | - | |
_exec_prefix |
/usr |
%{_prefix} |
|
_lib |
lib |
- |
|
_bindir | /usr/bin |
%{_exec_prefix}/bin |
|
_libdir | /usr/lib |
%{_exec_prefix}/%{_lib} |
|
_datadir | /usr/share |
%{_prefix}/share |
|
_includedir | /usr/include |
%{_prefix}/include |
|
_sysconfdir |
/etc |
- | |
_initrddir |
/etc/rc.d/init.d |
%{_sysconfdir}/rc.d/init.d |
��Fedora 9�ȍ~�ł͔��ƂȂ��Ă���i�����%_initddir���g���j |
�ꗗ����ɂ́Arpmbuild�R�}���h��--showrc�I�v�V�����ʼn\�ł��B
�}�N����`��_docdir�͂Ȃ����Aspec�t�@�C����_docdir���g�p���Ă�����̂�����܂��B_docdir�͎��s���Ɋm�肷��}�N���ŁA���O�ɒ�`����Ă���}�N��_defaultdocdir���K�p�����悤�ł��B
�p�b�P�[�W���e���ڍׂɋL�q����Z�N�V�����ł��B
%description The xyz utilities are used for software development activities. The main activities are in construction and unit testing. : %description -l ja XYZ���[�e�B���e�B�́A�\�t�g�E�F�A�J����Ƃɖ𗧂c�[�������߂Ă��܂��B ���ɁA�\�t�g�E�F�A�̃r���h����ђP�̃e�X�g��ƂɎg�����Ƃ�ړI�Ƃ��Ă��܂��B �@�@�F
�{�L�q�́Arpm�R�}���h�Ńp�b�P�[�W���e�ׂ�Ƃ��Ɍ��邱�ƂɂȂ�̂ŁA���J�ɋL�ڂ��܂��傤�B�L�q�ʂ͂����ނ˃R���\�[����ʂŔ������x�̗ʂ������̂ł͂Ȃ����Ǝv���܂��B�i80����10�s���j
�\�[�X�R�[�h�̃A�[�J�C�u�t�@�C������ƃf�B���N�g���iBUILD�j�ɓW�J���A�p�b�`�t�@�C��������p�b�`��K�p���鏈�����L�q����Z�N�V�����ł��B
�p�b�`�t�@�C�����Ȃ��A�\�[�X�R�[�h�̃A�[�J�C�u��RPM�����K���ɑ����č쐬����Ă���A�ȉ��̋L�q�����ŏ\���ł��B
%prep %setup -q
�p�b�`������ꍇ�A%patch ���w�肵�܂��B
%patch0 -p0 %patch1 -p0
%setup�́ASOURCES�f�B���N�g���ɂ���\�[�X�R�[�h�A�[�J�C�u��BUILD�f�B���N�g���̉��ɓW�J���܂��B�����āA�\�[�X�R�[�h�̃f�B���N�g�����ɃJ�����g�f�B���N�g�����ڂ��܂��B
���Ƃ��A�C���g���_�N�V�����E�Z�N�V�����Ɉȉ��̋L�q���s���Ă����ꍇ�A
Name: xyz Version: 1.2.3 Release: 1 Source: xyz-1.2.3.tar.gz
�܂��ABUILD�f�B���N�g���ŁAxyz-1.2.3.tar.gz��W�J���܂��B�����āABUILD/xyz-1.2.3��cd���܂��B����cd����f�B���N�g���́A%{name}-%{version}�ł��B���������āA���炩���߃\�[�X�R�[�h�A�[�J�C�u�����̖����ɏ]���č���Ă��Ȃ��ƃG���[�ƂȂ��Ă��܂��܂��B
�������A�������̃\�[�X�A�[�J�C�u��RPM�̖����ɏ]���Ă��܂���B���̂Ƃ��́A%setup��-n�I�v�V������cd����f�B���N�g�������w�肵�܂��B
%setup -q -n xyz_1_2_3
UNIX��patch�R�}���h���Ăяo���܂��B�p�b�`�t�@�C���쐬���̃f�B���N�g���w��ɂ���ēK��-p�I�v�V�������w�肵�܂��B
%patch�R�}���h�́A%setup�R�}���h�Ń\�[�X�R�[�h�A�[�J�C�u���W�J���ꂻ�̃f�B���N�g������cd������Ɏ��s�����̂ŁA�p�b�`�t�@�C���쐬���Ƀ\�[�X�R�[�h�A�[�J�C�u�̃g�b�v���x���f�B���N�g�����p�b�`�t�@�C���Ɋ܂܂�Ă���A-p 1�Ńg�b�v���x���f�B���N�g�������O���܂��B
�W�J�E�p�b�`���K�p���ꂽ�\�[�X�R�[�h���r���h���܂��B
configure/make�Ńr���h���邔�������������̏ꍇ�͈ȉ��̋L�q�ƂȂ�܂��B
%build %configure make
%configure�́A���̎��s���Ă���}�V�����̃f�t�H���g�ݒ���R�}���h���C���I�v�V�����œW�J���܂��B�ȉ���CentOS 5.2��x86�}�V����ł̓W�J���e�ł��B
$ rpm --eval "%configure" CFLAGS="${CFLAGS:--O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions \ -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i386 -mtune=generic \ -fasynchronous-unwind-tables}" ; export CFLAGS ; CXXFLAGS="${CXXFLAGS:--O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions \ -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i386 -mtune=generic \ -fasynchronous-unwind-tables}" ; export CXXFLAGS ; FFLAGS="${FFLAGS:--O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions \ -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i386 -mtune=generic \ -fasynchronous-unwind-tables}" ; export FFLAGS ; for i in $(find . -name config.guess -o -name config.sub) ; do [ -f /usr/lib/rpm/redhat/$(basename $i) ] && /bin/rm -f $i && \ /bin/cp -fv /usr/lib/rpm/redhat/$(basename $i) $i ; done ; ./configure --build=i686-redhat-linux-gnu --host=i686-redhat-linux-gnu \ --target=i386-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/lib \ --libexecdir=/usr/libexec \ --localstatedir=/var \ --sharedstatedir=/usr/com \ --mandir=/usr/share/man \ --infodir=/usr/share/info
�r���h������A�C���X�g�[�������s���܂��B�����ł̃C���X�g�[���́ARPM�p�b�P�[�W���쐬���邽�߂̍�Ɨp�Ȃ̂ŁA�{���̃C���X�g�[����ł͂Ȃ��A��Ɨp�̃C���X�g�[������w�肵�܂��B
configure/make�Ńr���h����tarball�̏ꍇ�͈ȉ��̋L�q�ƂȂ�܂��B
%install make install PREFIX=$RPM_BUILD_ROOT/usr
make install���p�ӂ���Ă��Ȃ��ꍇ�Ainstall�R�}���h��cp�R�}���h�����g���ăt�@�C���̃R�s�[���s���܂��B�V�F���X�N���v�g�Ƃقړ��l�ɋL�q�ł��܂��B
#�f�B���N�g�����쐬 install -m755 -d $RPM_BUILD_ROOT/usr/share/%name-%version/config #�t�@�C����1�R�s�[ install -m755 README $RPM_BUILD_ROOT/usr/share/%name-%version/README #�t�@�C���Q���w��f�B���N�g���̉��փR�s�[�i�ċA�I�ɂ̓R�s�[����Ȃ��j install -m755 config/* $RPM_BUILD_ROOT/usr/share/%name-%version/config
�ŏ�%{name}-%{version}�̂悤�ɋL�q���Ă�����A�V�F�����s����{xyz}-{1.2.3}�̂悤�ɓW�J���ꂽ���߁A{}���������Ă��܂��iCentOS 5.2/rpmbuild 4.4.2�j�B
install�R�}���h�Ńf�B���N�g�����ċA�I�ɃR�s�[������@���������炸�A����͓s�x�L�q���Ă��܂��B
�T�u�f�B���N�g��������f�B���N�g���̒��̃t�@�C�������C���h�J�[�h�ňꊇ�w�肷��ƃG���[�ƂȂ�܂��B
xyz-1.2.3 +-- config | +-- xyz_1st.dat | +-- xyz_2nd.dat | +-- templates | +-- xyz_template.dat | +-- xyz_template2.dat
�����ŁA�ȉ��L�q������ƁAtemplates��������C���X�g�[����������邱�ƂɂȂ�G���[���������܂��B
install -m755 config/* $RPM_BUILD_ROOT/etc/xyz/config install -m755 config/templates/* $RPM_BUILD_ROOT/etc/xyz/config/templates
�ʓ|�ł����A�ʂɎw�肷�邵���Ȃ��悤�ł��B�i���邢��install�R�}���h�ł͂Ȃ�cp�R�}���h���ŃT�u�f�B���N�g�����ƈꊇ�R�s�[����j
install -m755 config/xyz* $RPM_BUILD_ROOT/etc/xyz/config install -m755 config/templates/* $RPM_BUILD_ROOT/etc/xyz/config/templates
���files�Z�N�V�����Ŏw�肷��h�L�������g�t�@�C���ɂ��ẮA����install�Z�N�V�����ŋL�q���Ă��Ȃ��Ă��A�R�s�[�����悤�ł��B
%clean rm -rf $RPM_BUILD_ROOT
�C���X�g�[������t�@�C�����ʎw�肷��̂���{�`�ł��B
%files /usr/bin/xyzd /usr/share/man/man1/xyz.1.gz
���C���h�J�[�h���g���ĕ����t�@�C�����w�肷�邱�Ƃ��ł��܂��B
/usr/share/man/man1/xyz.*
��̃f�B���N�g�����w��ꏊ�ɍ쐬����ꍇ�A%dir�}�N�����g���܂��B
%dir /etc/xyz
���Ƀt�@�C�������݂���f�B���N�g�����w�肷��ƁA�T�u�f�B���N�g�����܂߂ăC���X�g�[���ΏۂƂȂ�܂��B
/usr/share/xyz-1.2.3
���Ӂj�p�b�P�[�W���A���C���X�g�[������ƁA���̕��@�Ŏw�肵���f�B���N�g���͈ꊇ�폜����܂��B�Ⴆ�A/usr/bin �Ƃ������w��͂��Ă͂����܂���B�t�@�C�����ʂɎw�肷�邩�A/usr/bin/* �̂悤�Ƀ��C���h�J�[�h�w�肵�܂��B
�h�L�������g�t�@�C���Ƃ��ă}�[�N���A�h�L�������g�E�f�B���N�g�����쐬���ăC���X�g�[������t�@�C����%doc�}�N���Ŏw�肵�܂��B
%doc README NEWS
�h�L�������g�t�@�C���������f�B���N�g���ɎU�݂��Ă��Ă��A�t�@�C���w�肷��Έ�ӏ��ɏW�߂��܂��B
%doc docs/README news/NEWS changelogs/ChangeLog
�����́A%docdir�̒����Ƀt�@�C���Ƃ��Ēu����܂��B
�h�L�������g�E�f�B���N�g����%docdir�}�N���Ŏw�肵�܂��B%doc�Ŏw�肵���t�@�C���͂����ɏW�߂��܂��B
%docdir /usr/share/man/man1
�ݒ�t�@�C���Ƃ��ă}�[�N���܂��B�A�b�v�f�[�g��ăC���X�g�[�����A�ݒ�t�@�C���ɕύX�������Ă���A�g���q��ς��ĕۑ����܂��B�����I�ɏ㏑���֎~���w�肷�邱�Ƃ��ł��܂��B
%config /etc/rc.d/init.d/* %config(noreplace) /etc/xyz/xyz.conf
�t�@�C���̃p�[�~�b�V������ݒ肷��ꍇ�A%attr�}�N�����g���܂��B
%attr(0644,root,root) /etc/xyz/xyz.conf
�܂Ƃ߂Ĉꊇ�w�肷����@������܂��B�����炪��ʓI�ł��B
%files %defattr(-,root,root) :
�ʂȃt�@�C���Ƀt�@�C���ꗗ���L�q���Ă����A��荞�ނ��Ƃ��ł��܂��B
%files -f xyz_file.list
TODO:
%files�Z�N�V�����ɋL�q����man�t�@�C���́A�g���q.gz���w�肵�܂��B
%install install xzy/xyz.1 $RPM_BUILD_ROOT%{_mandir}/man1 %files /usr/share/man/man1/xyz.1.gz
�h�L�������g�t�@�C���́A%docdir�Ŏw�肵���h�L�������g�f�B���N�g�������ɃR�s�[����܂��B����́A%doc�Ńf�B���N�g���t���w������Ă����ꍇ�ł��A�t�@�C���������ɃR�s�[����邩��ł��B����A%doc�Ńf�B���N�g�����w�肵���ꍇ�A�f�B���N�g���Ƃ���%docdir�����ɃR�s�[����܂��B����́Arpmbuild�̎d�l�Ȃ̂������ˑ��Ȃ̂��͖��m�F�ł��B
%docdir /usr/share/doc/xyz-1.2.3 %doc README LICENSE changelogs
changelogs���f�B���N�g���������ꍇ�A/usr/share/doc/xyz-1.2.3/changelogs/* �Ƃ��ăC���X�g�[������܂��B
%post /sbin/chkconfig --add xyzd
�A���C���X�g�[���O�Ɏ��s����X�N���v�g��%preun�ɁA�A���C���X�g�[����Ɏ��s����X�N���v�g��%postun�ɒ�`���邱�Ƃ��ł��܂��B
%preun if [ "$1" = 0 ]; then /sbin/service xyzd stop > /dev/null 2>&1 /sbin/chkconfig --del xyzd fi exit 0 %postun if [ "$1" -ge 1 ]; then /sbin/service xyzd condrestart > /dev/null 2>&1 fi exit 0
%changelog * Fri July 4 2008 Toru Takahashi <[email protected]> - modify configure option
�Ⴆ�Aprep�Z�N�V�����Ŋ��ϐ����`���Ă��Ainstall�Z�N�V�����ł͊��ϐ����Q�Ƃ��Ă�����`�ƂȂ��Ă��܂��܂��B�Z�N�V�������ɕʃv���Z�X�Ŏ��s����Ă���悤�Ɏv���܂��B
Emacs�ɂ́Arpm-spec-mode������Aspec�t�@�C���ҏW�x���@�\���g�����Ƃ��ł��܂��B
����
%{?�]������}�N��:��}�@�@ �]������}�N�������݁i��`�ς݁j�ł���A����W�J���� %{!?�]������}�N��:��}�@�@�]������}�N�������݂��Ȃ��i����`�j�ł���A����W�J����
%if %{hoge} �ے��%if ! %{hoge}�@�@����������%if %{hoge} && %{huga} �Ȃ�� %else ����� %endif
--short-circuit�I�v�V�����́A-bc��-bi�I�v�V�����ɂ����L���łȂ��̂ŁA%install�Z�N�V�������s�͊������A%files�Z�N�V�����Ɋ�Â��\�[�X�E�o�C�i���p�b�P�[�W������Ƃ��ɃG���[����������ƁA�ēx�\�[�X�̓W�J�����蒼�����ƂɂȂ�܂��B
��K�͂ȃ\�[�X�R�[�h�̃r���h�ɂȂ�ق�%files�Z�N�V�����L�q�����G�Ō�肪�������₷���̂ŁA���̓s�x�\�[�X����r���h�������X�e�b�v������Ǝ��ԂƘJ�̘͂Q��ł��B
%installs�Z�N�V�����̊�����A%files�Z�N�V�����̌��������{���Ă����A���𖢑R�ɔ����E�C���ł��܂��B
-bc��-bi�I�v�V�����ȊO�ł�--short-circuit���L���ƂȂ�悤�ɁArpm�̃\�[�X�R�[�h���C�����Ă��܂��܂��B
�܂��ACentOS 5�̃~���[�T�C�g���iCD/DVD����ł��j����Arpm-4.4.2-48.el5.src.rpm���擾���܂��B
%build�Z�N�V������%install�Z�N�V�����ŁA�f�B���N�g�����ړ����ăX�N���v�g�����s����ꍇ�A�ȉ��̂悤�ɋL�q���܂��B
%build make (cd apps; make)
%prep �Z�N�V�����Ŋ��ϐ����`�����̂ɁA%build�Z�N�V�����Ŋ��ϐ����Q�Ƃ����璆�g����ł܂�Œ�`����Ă��Ȃ����̂悤�ł��B�ǂ����A�Z�N�V�������قȂ�Ɗ��ϐ��������p����Ȃ��悤�Ɍ����܂��B�����ŁA�ʓ|�ł����A�e�Z�N�V�����Ŋ��ϐ����`���܂��B
%build export PRJ_ROOT=/home/torutk/alfa : %install export PRJ_ROOT=/home/torutk/alfa :
�V���{���b�N�����N���쐬����ꍇ�A%post�A%postun�ɃV���{���b�N�����N�쐬�E�폜�̋L�q�����Ă͂Ȃ�܂���BRPM�p�b�P�[�W���A�b�v�f�[�g����Ƃ��ARPM�̏����Ƃ��ẮA�ŏ��ɐV�����o�[�W�����̃C���X�g�[���irpm -i�j�����s���A���̌�Â��o�[�W�����̃A���C���X�g�[���irpm -e�j�����s���܂��B���̂��߁A%post�ō쐬�����V���{���b�N�����N��%postun�ŏ�����Ă��܂��܂��B
�܂��A%post�ō쐬�����t�@�C���̓p�b�P�[�W�Ǘ����ɂ͊܂܂�Ȃ��Ƃ����ۑ���������邱�Ƃ��ł��܂��B
�����ŁA�V���{���b�N�����N�̃t�@�C����%install�ō쐬���A%files�ɂ��̃t�@�C�����L�q���܂��B���Ȃ킿�A�ʏ�̃t�@�C���Ɠ����悤�ɃC���X�g�[�������悤�ɂ��܂��B
Linux�̏������X�N���v�g(OS�N�����Ƀ������x���ɉ����ċN������X�N���v�g�A/etc/rc.d/���ɒu�����X�N���v�g�j���C���X�g�[�����ɐݒ肷��ꍇ�̋L�q���@�ł��B
Requires(post): chkconfig Requires(preun): chkconfig Requires(preun): initscripts Requires(postun): initscrpits %post /sbin/chkconfig --add hoged %preun if [ $1 = 0 ]; then /sbin/service hoged stop > /dev/null 2>&1 /sbin/chkconfig --del hoged fi %postun if [ $1 -ge 1 ]; then /sbin/service hoged condrestart > /dev/null 2>&1 fi
%preun�� [ $1 = 0 ]��]�����Ă���̂́A�p�b�P�[�W���A�b�v�f�[�g�ɂ��폜�����̂ł͂Ȃ��A�^�ɍ폜�����Ƃ��݂̂肷�邽�߂ł��B
%postun��[ $1 -ge 1] ��]�����Ă���̂́A�p�b�P�[�W���A�b�v�f�[�g�ł��邱�Ƃ肷�邽�߂ł��B
RPM�o�C�i���p�b�P�[�W�̃��C�u�����t�@�C����strip����邽�߁A�V���{����������A�J���E�f�o�b�O�ɕs�ւł��B���̂Ƃ��́ARPM�r���h���ɐ��������debuginfo�p�b�P�[�W���C���X�g�[�����܂��Bdebuginfo�p�b�P�[�W���C���X�g�[������Ă���ƁAgdb�͎����Ńf�o�b�O�Ń��C�u�����ƃ\�[�X�R�[�h���Q�Ƃ��܂��B