packaging files in CVS

ok, so I've been promising this for a long time, and I'm just now
getting around to it.  The question at hand is this, "Do we want to keep
packaging files (RPM's .spec files, dpkg's debian/ directories, and so
on) in the CVS repository with their respective module, or not?"

I tend to think that CVS -is- the right location for them, but I'm not
all knowing, so I'm asking everybody for thoughts.  In order to make my
point better, I've taken 1 particular module, and hacked on it quite a
bit, in order to show what sort of integration is possible because the
.spec file is in CVS.  The module I used is gnome-core, because the
maintainer just wants a working spec file, and said I could do whatever
else I wanted to to it.  Here's

%define localstatedir   /var/lib

Summary:         The core programs for the GNOME GUI desktop
Name: 		 gnome-core
Version: 	 @VERSION@
Release: 	 1
License: 	 LGPL
Group: 		 System Environment/Base
BuildRoot: 	 /var/tmp/%{name}-%{version}-root
Requires:        gtk+ >= @GTK_REQUIRED@
Requires:        gdk-pixbuf >= @GDK_PIXBUF_REQUIRED@
Requires:        libglade >= @LIBGLADE_REQUIRED@, libxml
Requires:        gnome-libs >= @GNOME_LIBS_REQUIRED@
Requires:        ORBit >= @ORBIT_REQUIRED@
Requires:        control-center >= @CONTROL_CENTER_REQUIRED@
BuildRequires:   gtk+-devel >= @GTK_REQUIRED@, libxml-devel
BuildRequires:   gdk-pixbuf-devel >= @GDK_PIXBUF_REQUIRED@
BuildRequires:   libglade-devel >= @LIBGLADE_REQUIRED@
BuildRequires:   scrollkeeper >= @SCROLLKEEPER_REQUIRED@
BuildRequires:   gnome-libs-devel >= @GNOME_LIBS_REQUIRED@
BuildRequires:   ORBit-devel >= @ORBIT_REQUIRED@
BuildRequires:   control-center-devel >= @CONTROL_CENTER_REQUIRED@

GNOME (GNU Network Object Model Environment) is a user-friendly
set of applications and desktop tools to be used in conjunction with a
window manager for the X Window System.  GNOME is similar in purpose and
scope to CDE and KDE, but GNOME is based completely on free
software.  The gnome-core package includes the basic programs and
libraries that are needed to install GNOME.

You should install the gnome-core package if you would like to use the
GNOME desktop environment.  You'll also need to install the gnome-libs
package.  If you would like to develop GNOME applications, you'll also
need to install gnome-libs-devel.  If you want to use linuxconf with a
GNOME front end, you'll also need to install the gnome-linuxconf

%package devel
Summary:        GNOME core libraries, includes, and more.
Group: 		Development/Libraries
Requires: 	%name = %version

%description devel
Panel libraries and header files for creating GNOME panels.

%setup -q

./configure --disable-gtkhtml-help --prefix=%{_prefix} \
    --bindir=%{_bindir} --mandir=%{_mandir} \
    --localstatedir=%{localstatedir} --libdir=%{_libdir} \
    --datadir=%{_datadir} --includedir=%{_includedir} \


[ -n "$RPM_BUILD_ROOT" -a "$RPM_BUILD_ROOT" != / ] && rm -rf

make prefix=$RPM_BUILD_ROOT%{_prefix} bindir=$RPM_BUILD_ROOT%{_bindir} \
    mandir=$RPM_BUILD_ROOT%{_mandir} libdir=$RPM_BUILD_ROOT%{_libdir} \
    localstatedir=$RPM_BUILD_ROOT%{localstatedir} \
    datadir=$RPM_BUILD_ROOT%{_datadir} \
    includedir=$RPM_BUILD_ROOT%{_includedir} \
    sysconfdir=$RPM_BUILD_ROOT%{_sysconfdir} install

[ -n "$RPM_BUILD_ROOT" -a "$RPM_BUILD_ROOT" != / ] && rm -rf

if which scrollkeeper-update>/dev/null 2>&1; then scrollkeeper-update;

if which scrollkeeper-update>/dev/null 2>&1; then scrollkeeper-update;

%defattr (-, root, root)

%files devel

* Mon Aug  6 2001 Gregory Leblanc <gleblanc linuxweasel com>
- removed unnecessary %defines
- reformatted the header slightly
- made the devel package require the main package properly
- replaced copyright with license

* Thu Apr 02 2001 Gregory Leblanc <gleblanc cu-portland edu>
- Fixed %files section to include some directories as well as their
- Updated to do the scrollkeeper ditty.

* Wed Mar 28 2001 Gregory Leblanc <gleblanc cu-portland edu>
- integrate and for version numbers of
  dependancies.  This should help to slow bit-rot in this spec file.

* Fri Mar 23 2001 Gregory Leblanc <gleblanc cu-portland edu>
- re-wrote the %files section from scratch, added a couple of

* Wed Feb 21 2001 Gregory Leblanc <gleblanc cu-portland edu>
- updated, fixed macros, removed hard-coded paths.

* Sat Feb 26 2000 Gregory McLean <gregm comstar net>
- Updated to 1.1.4
- Autogenerate the %files section.

* Sat Oct 16 1999 Gregory McLean <gregm comstar net>
- Updated to 1.0.50
- Sorted the language specific stuff out.

* Sun Oct 03 1999 Gregory McLean <gregm comstar net>
- updated to 1.0.50
- Overhauled the %files section.

* Sat Nov 21 1998 Pablo Saratxaga <srtxg chanae alphanet ch>

- Cleaned %files section
- added spanish and french translations for rpm

* Wed Sep 23 1998 Michael Fulbright <msf redhat com>
- Built 0.30 release

* Fri Mar 13 1998 Marc Ewing <marc redhat com>
- Integrate into gnome-core CVS source tree


I know, that's pretty big, and not everything that's been done is clear.
I'll reply to this message with some explanations in a minute, but
first, here's a relavent snippit of, since these two files
go hand-in-hand.  

===BEGIN snippit===
dnl If you add a version number here, you *must* add an AC_SUBST line
dnl it too, or it will never make it into the spec file!


===END snippit==

Groovy, huh?

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