[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[cobalt-developers] Building an RPM was: message board is ready



> Matt,
>
> Did you build the RPM file yourself for this package?  If so, would you
mind
> sending me some tech docs if you have any?  I am bored, and wanting to
build
> a package, also include gui front-end.  I spent a few hours searching last
night,
> and every RPM-How to I found kind of stinks.  So, if you have anything
that you
> could part with, I would greatly appreciate it!
>
> Thanks in advance.
>

I'd love to help you build an RPM.  I should say that I don't know how to
integrate with the gui, except that all the files are in
/usr/admserv/cgi-bin/.cobalt and /usr/admserv/html/.cobalt.  If you figure
that out, let me know.  Building an rpm I can help with...

First, I followed the instructions on the courier mail server site so that I
can build RPMs as admin, instead of root.  That link is
http://courier.sourceforge.net/FAQ.html#rpm

Once that's done, make sure you can build an rpm as admin by downloading a
SRC rpm from somewhere and doing:
rpm --rebuild RPM-NAME.src.rpm
You should end up with stuff in ~/rpm/RPMS/i386

Once that's done, the key to building an RPM is the SPEC file.  Because
bazooka board was a non-binary program, it was hard to find examples of a
spec file.  If you're building an RPM for a binary package, you'll probably
find that many of the tutorials out there have good working exmples.  You
can also find a similar package's SRC rpm and do rpm -i RPM-NAME.src.rpm to
install the spec file to ~/rpm/SPECS/ and the source files to ~/rpm/SOURCES.
I'll attache the contents of my SPEC file below.

Once you have a spec file, you build your rpm with the command
rpm -ba ~/rpm/SPECS/RPM-NAME.spec

Here's a link to a very good (but lengthy) resource online that someone sent
me: http://www.rpmdp.org/rpmbook/

The best help I received was by looking at the spec files from other source
rpms.  I finally found Taco's rpm source for neomail at the pkgmaster site,
which was what enabled me to get bboard going.

Here's my (simple simple simple) spec file for bazooka board:  Note that in
here, I did not use /tmp as my build area, I used /home/bboard.  Therefore I
had to create /home/bboard as root and make it world writeable for just the
build process.  (the finished product does NOT leave /home/bboard world
writeable FYI)

----- BEGIN SPEC FILE ----
%define name bazookaboard
%define version 2.5
%define release 1

Name: %{name}
Summary: Bazooka Board is a very simple bulletin board which requirs no
database.
Version: %{version}
Release: %{release}
Source: http://bazooka.wox.org:81/download/bazookaboard-2.5.tar.bz2
Group: Applications/Communications
License: opensource
URL: http://bazooka.wox.org:81
Requires: php >= 4.0

%description
Bazooka Board is a very simple bulletin board system with no big frills or
fancy profiles. Its strong point is that it does not require any database
whatsoever. Bazooka Board uses a flat text file to record all of its data.
It allows a single Administrative login so that you can edit/delete posts
on the board freely. Setting up Bazooka Board is very simple.

%prep
%setup
%build

%install
mkdir -p /home/bboard
mkdir -p /home/bboard/sitefiles
cp -pR * /home/bboard

%clean

%files
%defattr(-,httpd,httpd)
/home/bboard/

%changelog
* Tue Mar 12 2002 Matthew Nuzum <cobalt@xxxxxxxxxxxxx>
- created initial RPM file for cobalt raq 4
----END SPEC FILE