�b�W�@�`�����A�ڭ̤��ФF RPM �o�ӬJ�i�R�S�i�몺�å�ARPM ���i�R�b��L����Ʈw�z�覡�A�ܮe���h�d�P�ɯšA�ӥL���i��O�H�����I�N�O�b��L�� binary ���ɮפ���A���ܥL����l�]�w���e ( �N�O *.rpm ���ɮפ���A���s�sĶ���N�� )�A�P�M��ήM�����ݩʬ̪ۨ����D���ٯu�O�˸����o�I
�S�����Y�A�{�b���ѨM����k�F�I�ڭ̥i�H�Q�Ρy�t�� source code �� SRPM �z�ӭ��s�sĶ *.rpm ���ɮצ����ڭ̩ҧƱ檺�˦��F�I�N�]���b SRPM �̭��t�������O binary ���ɮסA�ӬO�t�� source code �A�]�� SRPM �O���ઽ�����Ӧw�˦����i���檺�ɮת��C���ݭn�N�L���s�sĶ�A�åB���]�������� i386, i586, i686 ���� RPM ���ɮפ���A�~����w�˦b�ڭ̪��t�η������I�o�ӮɭԧA�N���ӷ|�Q���աA�x�I�J�M�p�����ܡA����b�sĶ���L�{�����A�ڭ̬O�_�i�H�[�J��L���]�w�ѼơA�����ڭ̪� SRPM �i�H�̷ӧڪ��Q�k�ӽsĶ�O�I�H�����I����F�I�ҥH�O�A�o�Ӯɭԧڭ̴N�n�ӭק�O�H�� SRPM �H�νsĶ�ۤv���M��աI
���L�o�̻ݭn�S�O�d�N���N�O�A�]�� SRPM �ݭn���s�sĶ�A�ӽsĶ���L�{�����A�ڭ̦ܤֻݭn�� make �P��������{���A�� gcc, c, c++ ����L���sĶ�Ϊ��{���y���Ӷi��sĶ�A�ҥH�A�p�G�z�b�w�˪��L�{�����S������n��}�o�u�㤧�����M��A�����I�o���s���X�A�����СA�M��A�w�˳�I�����I�u�O�o�n�J�A�@�j�諸�ݩʬ̪ۨ����D�N�O�F���I�٬O��ij�z�A�����ݤ@�U�p��w���a�I
SRPM �J�M�t�� source code �A����䤤���w���]�w���o�A�ҥH�����ڭ̥��ݭn���D�A�o�� SRPM �b�i��sĶ���ɭԡA�|�ϥΨ���ǥؿ��O�H�o�ˤ@�Ӥ~����ӭק���I�A�i�H��A�� /usr/src �o�ӥؿ��̭��h�d�ݤ@�U�A�q�`�C�� distribution ���Ѫ��ؿ������ӬۦP�A�H Mandrake 9.0 ���ҡA�L�O�H /usr/src/RPM ���u�@�ؿ��A Red Hat �O�H /usr/src/redhat ���u�@�ؿ��A Openlinux �h�O�H /usr/src/openlinux ���u�@�ؿ��I�L�צp��A�ϥ��N�O�b /usr/src �o�ӥؿ��U�N��F�I�n�F�� /usr/src/redhat ���Y�h�ݤ@����G
- /usr/src/redhat/SPEC�G�o�ӥؿ�������m���O�ӮM�]�w�ɡA�Ҧp�o�ӮM��T�ѼơB�]�w���ص�������m�b�o�̡F
- /usr/src/redhat/SOURCE�G�o�ӥؿ�������m���O�ӮM��l�ɡ]*.tar.gz���ɮס^�H�� config �o�ӳ]�w�ɡF
- /usr/src/redhat/BUILD�G�b�sĶ���L�{���A���ǼȦs����Ƴ��|��m�b�o�ӥؿ������F
���~�A�b�sĶ���L�{�����A�i��|�o�ͤ��������~�A�Ϊ̬O�]�w�����~�A�o�ӮɭԴN�|�b /tmp ���U���ͤ@�Ӭ۹��������~�ɡA�z�i�H�ھڸӿ��~�ɶi�氣�����u�@�O�I����Ҧ������D���ѨM����A�]�sĶ���\�F�A����������Y���᪺�ɮסA�N�O�b /usr/src/redhat/SPEC, SOURCE, BUILD �������ɮ׳��|�Q�����A�ӥu�ѤU��m�b /usr/src/redhat/RPMS ���U���ɮפF�I
- /usr/src/redhat/RPMS�G�g�L�sĶ����A�åB���Q���sĶ���\����A�N���]�������ɮש�m�b�o�ӥؿ������C���Y���]�t�F i386, i586, i686, noarch.... ���������ؿ��C
���ڭ̦b�W�����L�F�ASRPM�٥i�H���@�dz]�w�����e�A����n�p��ק�o�dz]�w�����e�O�H�ڭ̥H²�檺 rp-pppoe �o�ӮM��ӻ����n�F�A�A�i�H�s�W Internet �W���� rp-pppoe �x������U�� SRPM �A�Ϊ̥ѥH�U���覡�ӤU���o�ӮM��(�Ъ`�N���U���ɮO 2002/11 �̷s���ɮ�ơA���i��b�z�ݨ쥻��ɡA�o�ӮM��w�g��s�F�A�ҥH�Ъ����W���U�����}�ӤU���a�Ihttp://www.roaringpenguin.com/pppoe/)�C�ܩ���L�{�p�U�G
�@�@
1. �U�� SRPM �n��G
[root @test root]# wget http://www.roaringpenguin.com/pppoe/rp-pppoe-3.5-1.src.rpm2. �N SRPM �Ѷ}�b/usr/src/redhat ���U���ؿ�����
[root @test root]# rpm �Vi rp-pppoe-3.5-1.src.rpm3. �[��@�U�����ǭ�l�X�O�H
[root @test root]# cd /usr/src/redhat/SOURCES
[root @test SOURCE]# ls �Vl
-rw-rw-r-- 1 root root 189321 Jul 8 22:38 rp-pppoe-3.5.tar.gz
�����I�W����ܧڭ̪���l�X�N�O�o���ɮװաI
�n�F�A�Ӭݬݧڭ̪��]�w�Ѽ��ɡA��Y�O�b /usr/src/redhat/SPECS ���� *.spec �ɮ��o�I
�@�@
�[��@�U�w�]���]�w�ɮפ��e�G
[root @test root]# cd /usr/src/redhat/SPECS
[root @test SPECS]# vi rp-pppoe.spec�S���I�o�ӴN�OSRPM���w�]�]�w���e�ɮ��o�A�i�h�ק�@�U�A�̭�����Ʀ��I���o�ˡG
Summary: PPP Over Ethernet (xDSL support)
Name: rp-pppoe
Version: 3.5
%if %(%{expand:test %{_vendor} != mandrake ; echo $?})
Release: 1mdk
%else
Release: 1
%endif
Copyright: GPL
Group: System Environment/Daemons
Source: http://www.roaringpenguin.com/pppoe/rp-pppoe-3.5.tar.gz
Url: http://www.roaringpenguin.com/pppoe/
Packager: David F. Skoll <dfs@roaringpenguin.com>
BuildRoot: /tmp/pppoe-build
Vendor: Roaring Penguin Software Inc.
Requires: ppp >= 2.3.7# LIC: GPL
%description
PPPoE (Point-to-Point Protocol over Ethernet) is a protocol used by
many ADSL Internet Service Providers. Roaring Penguin has a free
client for Linux systems to connect to PPPoE service providers.The client is a user-mode program and does not require any kernel
modifications. It is fully compliant with RFC 2516, the official PPPoE
specification.%prep
%setup
cd src
./configure --mandir=%{_mandir}%build
cd src
make
cd ../gui
make%install
cd src
make install RPM_INSTALL_ROOT=$RPM_BUILD_ROOT
cd ../gui
make install RPM_INSTALL_ROOT=$RPM_BUILD_ROOT%clean
rm -rf $RPM_BUILD_ROOT%files
%defattr(-,root,root)
%doc doc/CHANGES doc/HOW-TO-CONNECT doc/LICENSE doc/KERNEL-MODE-PPPOE README SERVPOET
%config(noreplace) /etc/ppp/pppoe.conf���G�����٦��ܦh��T�A�Q�ڬٲ����F�I���D�F�N�n��I
%changelog
* Thu Jul 21 2001 Shigechika AIKAWA <shige@cin.nihon-u.ac.jp>
- merged rp-pppeo.spec and rp-pppoe-gui.spec
�`�N�쪺�Orp-pppoe.sepc�o���ɮסA�o�O�D�n���NSRPM�sĶ��RPM���]�w�ɡA�L���W�h�i�H�o�ˬݡG�ڭ̨ӽͤ@�ʹX�ӱ`����SRPM�]�w�q���G
- ����ɮת��}�Y�HSummary���}�l�A�o�������]�w���O�̰�¦���������e�F
- �M��C�Ӥ��P���q�������A���H%�Ӱ����}�Y�A�Ҧp%prep�P%install���F
�W���X�Ӹ�Ƴq�`�����ݭn�g�աI���O�p�G�A���n��S���ۨ��ݩʪ����Y�ɡA����N�i�H���ݭn����Requires�o�I
- �t�ξ����T�譱�G
�@
- Summary�G�D�n���M���A�Ҧp�W�����A�ڭ̻����F�L�Oppp�������γ~�աI
- Name�G�o�ӴN�O�M�W�١F
- Version�G�o�ӬO�M������T�F
- Release�G�o�ӬO�Ӫ������]�����ƻ����A�bMandrake�̭��A�|�۰ʪ����A�]�w���]�����Ƴ�I�N�O1mdk���өN�N�F
- Copyright�G�o�ӮM���v�Ҧ��A�ڭ̬O�ϥ�GPL�աI
- Group�G�o�ӮM�o�i����W�١F
- Source�G�o�ӮM�ӷ��A�p�G�O�����W�U�����M��A�q�`�@�w�|���o�Ӹ�T�ӧi�D�j�a�o�ӭ�l�ɪ��ӷ��I
- Url�G�o�ӭ�l�X���D�n�x������F Packager�G�o�ӮM��O�g�ѽ֨ӥ��]���O�H
- Vender�G�o�i���t�ӭ��F
- ExclusiveArch�G�o�ӬO�����o�ӮM�A�X�w�˪��w��A�q�`�w�]��i386�A���M�A�A�]�i�H�վ㬰i586�յ������I
- Requires�G�p�G�A�o�ӮM���ٻݭn��L���M�䴩�A����o�̴N���ݼg�W�ӡA�h���A�s�@��RPM����A�t�δN�|�۰ʪ��h�ˬd�աI�o�N�O�y�ۨ��ݩʡz���D�n�ӷ��o�I
- %description
�N�z���M�@��²�u�������I�o�Ӥ]�O���ݭn���C
- %prep
�o�������]�w�b��y�|���i��]�w�Φw�ˤ��e�A�A�n�sĶ������RPM���A�ƥ������Ʊ��z�A�N�Oprepare��²�g�o�I����L���u�@�ƶ��D�n���G
�@�@
- �M��M��һݭn���ؿ��O�_�w�g�s�b�H�T�{�Ϊ��I
- �ƥ��إ߱z���M��һݭn���ؿ��A�Ϊ̨ƥ��ݭn�i�檺���ȡF
- �p�G�ݦw�˪�Linux�t�Τ��w�g���w�˪��ɭԥi��|�Q�л\�����ɮɡA����N���ݭn�i��ƥ�(backup)���u�@�F�I
�j�P���u�@�N�O�o�ǰաI
- %setup
�o�Ӭq���N�O�b�إߧڭ̦bTarball��������������Makefile�ɮװաI�ҥH�O�A���M�N�O����./config�������]�w�ɮ��o�I����p�G�A�n�ۤv�s�W�ۤv���ѼơA�N�i�H�b�o�Ӧa��[�J�A���]�w�ȡI�p�G�A���n�饻���S���o�譱���ݭn�A�̭��N���ݭn�s�g���e�o�I
- %build
build�N�O�إ߰ڡI�ҥH���M�o�A�o�Ӭq���N�O�b�ͫ��make�sĶ�����i���檺�{���o�I
- %install
�sĶ����(build)����A�N�O�n�w�˰աI�w�˴N�O�g�b�o�̡A�]�N�O����Tarball�̭���make install���N���o�I
- %files
�o�ӮM��w�˪��ɮ׳��ݭn�g��o�̨ӡA���M�]�A�F�y�ؿ��z��I�ҥH�s�P�ؿ��Ф@�_�g��o�Ӭq�������I�H�Ƭd��O�I^_^�n�F�A����p�G�z���ۭq����T�Q�n�[�J���ܡA�N��ܧA�n�[�J�����Ӭq���A�N�L�ק�@�U�a�I�Ҧp�A�p�G�A�b�]�wMakefile���ɭԡA�Ʊ����h�@���B�~���ѼƳ]�w�A����N��� %setup ���Ӭq���A�N�L�ק令�z�һݭn���ˤl�A�N�i�H�o�I
- %changelog
�o�ӥD�n�h�O�b�O���o�ӮM�g����s�����o�I
�A�өO�H��I�S���A�ק粒���F�A�۵M�N�O�n�N�L�sĶ���i�H�w�˪�RPM�ɮװաI�o�Ӯɭԧڭ̴N�i�H�����b/usr/src/redhat/SPECS���U�U�F�G
�@�@
[root @test SPECS]# rpm -bb rp-pppoe.spec <==�sĶ��RPM�ɮ�
[root @test SPECS]# rpm -ba rp-pppoe.spec <==���]��SRPM�ɮ�
�o�ӮɭԨt�δN�|�o�˰��G��ӨB�J�j���N�O�o�ˤl�I�̫᪺���G��Ʒ|��m�bRPMS���ӥؿ����U�N��աI
- ���i�J��BUILD�o�ӥؿ����A�bMandrake 9.0�����N�O/usr/src/RPM/BUILD�A�bRed Hat���U�N�O/usr/src/redhat/BUILD�o�ӥؿ��F
- �̷�*.spec�ɮפ���Name�PVersion�]�w�w�q�X�u�@���ؿ��W�١A�H�ڭ̤W�����Ҥl���ҡA����t�δN�|�bBUILD�ؿ������R��rp-pppoe-3.5���ؿ��A�A���s�إߤ@��rp-pppoe-3.5���ؿ��A�öi�J�ӥؿ��F
- �b�s�ت��ؿ��̭��A�w��SOURCES�ؿ��U���ӷ��ɮסA�]�N�O*.spec�̭���Source�]�w�������ɮסA�Htar�i������Y�A�H�ڭ̳o�ӨҤl�ӻ��A�h�|�b/usr/src/redhat/BUILD/rp-pppoe-3.5�����A�N/usr/src/redhat/SOURCES/rp-pppoe-3.5.tar.gz�i������Y�աI
- �M��N�}�l%setup���u�@�F
- �A�Ӷ}�l%build��%install���]�w�P�sĶ�I
- �̫�N�������]���ɮ��L��m��ө�m���a��h�A�p�G�A���W�w���w��O�bi386���t�ΡA����̫�sĶ���\��*.i386.rpm�ɮ״N�|�Q��m�b/usr/src/RPM/RPMS/i386�̭��o�I�p�G�Oi586����۵M�N�O/usr/src/redhat/RPMS/i586�ؿ��U�o�I
�o�ӴN����F�I�ڭ̦ۤv�ӽs��@�U�ۤv�s�@��RPM���ˡH�|�����ܡH�������|�I�o��²�檺�H�@�Ӥp�Ҥl�ӻ�����I�Ъ`�N�A�o�ӯu���u�O�@�Ӥp�Ҥl�A�ҥH���nı�o�_�dz�I�䤤�A����ݭn�`�N���A�ѩ�b�W�����B�J�������A�ڭ̪��D�b�NSRPM�sĶ����RPM���ɭԡA�|�Htar�o��{���ӱN�ɮѶ}�A�]���A�ڭ̦b�i��ӷ��ɮת��إ߮ɡA�N���ݭn�N�L���]�����@��tar.gz��tarball���ɮפ~���I
���]�ڭ̽s��F�@��script�A���e�O�o�ˡG
�@�@
[root @test root]# cd /usr/src/redhat/SOURCES
[root @test SOURCES]# vi showvbird.sh
#!/bin/bash
# This file is just used to demo the RPM packaging.
# the only thing is showing the hostname.
HOST=`/bin/hostname`
/bin/echo $HOST[root @test SOURCES]# chmod 755 showvbird.sh
[root @test SOURCES]# tar �Vzcvf showvbird.tar.gz showvbird.sh
�`�N�F�A�ڭ̥��ݭn�N�L���]�~��I
�W�����ʧ@���A�ڭ̽s��F�@��shell script�ɮסA�ɦW��showvbird.sh�A�åB�N�L���]�����㦳gzip���Y��tarball�ɮסA�]�N�Oshowvbird.tar.gz�o�˪��ɮפ~��I�Ъ`�N�A�o��showvbird.tar.gz�ɮסy���ݡz��m�bSOURCES�ؿ����U�I
�A�ӫh�O�n�s�診�ӫܭ��n��*.spec�ɮ��o�I�A�i�H�o��²�檺�s�g�@�U�G
�@�@
[root @test root]# cd /usr/src/redhat/SPECS
[root @test SPECS]# vi showvbird.spec
Summary: This is a demo RPM package.
Name: showvbird
Version: 1.0
Release: 1
Copyright: GPL
Group: VBird's Home
Source: showvbird.tar.gz <==�o�ӴN�O���إ߰_�Ӫ� arball�ɮסI
Url: http://linux.vbird.org
Packager: VBird%description
This package is just a demo RPM.%prep
%setup �Vc
%install
install -m 755 showvbird.sh /usr/local/bin/showvbird.sh%files
/usr/local/bin/showvbird.sh
�n�F�I�}�l���L�sĶ�å��]����RPM�ɮװաI
�@�@
[root @test SPECS]# rpm -bb showvbird.spec
�K.(��)
Wrote: /usr/src/redhat/RPMS/i586/showvbird-1.0-1.i586.rpm
�̫�o�ӳQ���]���\���ɮ״N�Q��m�b/usr/src/redhat/RPMS/i586/showvbird-1.0-1.i586.rpm�o�I�M�ᵹ�L�w�ˤ@�U�G
�@�@
[root @test SPECS]# rpm �Vivh /usr/src/RPM/RPMS/i586/showvbird-1.0-1.i586.rpm
Preparing... ########################################### [100%]
1:showvbird ########################################### [100%][root @test SPECS]# rpm �Vqi showvbird
Name : showvbird Relocations: (not relocateable)
Version : 1.0 Vendor: (none)
Release : 1 Build Date: Wed 06 Nov 2002 11:27:17 PM CST
Install date: Wed 06 Nov 2002 11:27:42 PM CST Build Host: test.linux.org
Group : VBird's Home Source RPM: showvbird-1.0-1.src.rpm
Size : 143 License: GPL
Packager : VBird
URL : http://linux.vbird.org
Summary : This is a demo RPM package.
Description :
This package is just a demo RPM.[root @test SPECS]# showvbird.sh
test.linux.org
[root @test SPECS]# rpm �Vql showvbird
/usr/local/bin/showvbird.sh <==�K�K�I�w�g�O���_�ӤF�I�ۤv���n��C�I
�Ϋ�²�檺�覡�A�N�i�H�N�ۤv���n��Ϊ̵{�����L�ק�P�]�w�����I�ܤ����a�I�H��z�N�i�H�ۦ�]�w�A��RPM�o�I���M�A�]�i�H��ʭק�z��SRPM���ӷ��ɤ��e�o�I