in order to rebuild rpm package for centos4 or RHEL4 equivalent..
Step :
1. create the directory structure as required for building rpm.
You may already have one in /usr/src/RPM, but as rebuilding package as root is evil, we recommend that you create one to a place where your normal user account allows you to write, such as your home directory. This build tree should have the following structure:
rpm |-- BUILD |-- RPMS | |-- i386 | |-- i586 | `-- noarch |-- SOURCES |-- SPECS |-- SRPMS `-- tmp
2. create simple rpm-macro ..for a normal user.
because compiling using root is devil. hahahaha.
Now you need to do some rpm configuration. A simple ~/.rpmmacros with the following contents should be enough:
%_topdir %(echo ${HOME}/rpm)
%_tmppath %{_topdir}/tmp
%packager Firstname Lastname <your.address@here>
%distribution JPackage
%vendor JPackage Project
# Uncomment to have built RPMs land in RPMS/ instead of RPMS/<arch>/
#%_rpmfilename %%{NAME}-%%{VERSION}-%%{RELEASE}.%%{ARCH}.rpm
# Uncomment for signing your packages with GPG
#%_gpg_name FirstName LastName <email address>
#%_gpg_path /path/to/keys
Of course, substitute your own name to the above. Note that all macros are only default values for tags not explicitly filled in spec files.
3.get the source tgz or rpm.
4. rpmbuild -ba source-<version>-.tgz
or..
rpm -i source-<version>.rpm
this one will create the spec into SPECS folder.
else…
Normal command for rebuilding a standard source package (.src.rpm) is:
rpmbuild --rebuild foo-x.y.z-wjpp.src.rpm If you are using an older (pre-4.0.2?) version of rpm, substitute rpmbuild with rpm in the command. Note that rpmbuild is usually part of the rpm-build package.
Further, packages from non-free section are actually .nosrc.rpm, meaning that they don’t contain all sources due to legal issues (prohibited redistribution). So, you’ll have to proceed in several steps here.
rpm -i foo-x.y.z-wjpp.nosrc.rpmrpm/SPECS/foo.spec by the above command.rpm/SOURCES.rpmbuild -ba rpm/SPECS/foo.specrpmbuild with rpm if necessary)Unless something fails in the process, you should obtain the source package in rpm/SRPMS and binary package in relevant subdirectory of rpm/RPMS.
5. rebuild for SPECS.
rpmbuild -ba SPECS/source-<version>.spec
6. create a repos directory folder which will hold all the file that you want to publish.
let say /home/user/repos
copy all the necessary rpms and SRPMS into this folder..
if want to divide by the architecture also can.
so that we will have something like /home/user/repos/i386/
will all the RPMs and SRPMs.
7. now create all necessary file to make it as a valid yum/repos
cd /home/user/repos/i386
yum-arch .
createrepo .
Basically is done.
8. publish it into your ftp folder.
cd /home/user/repos/i386
ftp -i hostname.net
cd public_html/repository/i386
mkdir repodata
mkdir headers
mput *.rpm
cd headerslcd headers
mput *
lcd ../repodata
cd ../repodata
mput *
9.now create some repos conf.
[namran-CentOS-Misc] name=CentOS.namran-EL$releasever - Stable gpgcheck=0 enabled=1 baseurl=http://my.namran.net/repository/centos$releasever/misc/$basearch/
http://my.namran.net/repository/namran-CentOs-misc.repo
10 . so that the end user
can just ..
cd /e tc/y um.repos.d/
“wget” http://my. namran.net/repository/namran-CentOs-misc.repo
References :
1. jpackage.org
2. openvpn.org
Here are five key communication skills that help you speak with clarity and influence: Speak…
Are you ready to unlock your full potential as a man?Discover powerful insights, real-life transformations,…
One day we will set aside one whole day to review the whole lesson we…
Last weekend, 07/12/2024 I managed to join Dev Fest Kuala Lumpur 2024, organized by Google…
TIPS BACAAN AL-QURANOleh: Dr. Muhd al-Muhaysni.1. Jangan engkau berikan (fokus membaca) al-Quran pada lebihan waktumu…
Selawat yang ringkas, yang mana apabila kamu membacanya satu kali sebanding 100 ribu kali, jadi…
Leave a Comment