Index: scripts/gdb/.cvsignore
===================================================================
--- scripts/gdb/.cvsignore	(revision f50c11bdd55725b0519f66e63a5ace734261c1d6)
+++ scripts/gdb/.cvsignore	(revision df49c60c9671e4a28e636964d744c1f59fb6cb68)
@@ -1,3 +1,5 @@
+*.spec
 Makefile
 Makefile.in
 gdb.spec
+gdb.spec.in
Index: scripts/gdb/Makefile.am
===================================================================
--- scripts/gdb/Makefile.am	(revision f50c11bdd55725b0519f66e63a5ace734261c1d6)
+++ scripts/gdb/Makefile.am	(revision df49c60c9671e4a28e636964d744c1f59fb6cb68)
@@ -3,10 +3,16 @@
 ##
 
-AUTOMAKE_OPTIONS = foreign
+AUTOMAKE_OPTIONS = foreign 1.4
 
 MKGDBSPEC = $(SHELL) $(top_builddir)/mkgdbspec
 
-MKGDBSPEC_DEPS = \
-$(top_builddir)/mkgdbspec gdb.spec.in $(top_builddir)/setup.cache
+SUBPACKAGES = gdb.add base-gdb.add target-gdb.add
+
+gdb.spec.in: $(SUBPACKAGES)
+	cat $^ > $@
+CLEANFILES += gdb.spec.in
+
+MKGDBSPEC_DEPS = $(top_builddir)/mkgdbspec gdb.spec.in \
+    $(top_builddir)/setup.cache
 
 hppa1.1-rtems-$(GDBVERS).spec: $(MKGDBSPEC_DEPS)
@@ -40,24 +46,12 @@
 	$(MKGDBSPEC) -cfg $(top_builddir)/setup.cache -o . sparc-rtems
 
-TEMPLATES = \
-gdb.spec.in
+RPM_SPECS_DATA = hppa1.1-rtems-$(GDBVERS).spec i386-rtems-$(GDBVERS).spec \
+    i960-rtems-$(GDBVERS).spec m68k-rtems-$(GDBVERS).spec \
+    m68k-rtemself-$(GDBVERS).spec mips64orion-rtems-$(GDBVERS).spec \
+    powerpc-rtems-$(GDBVERS).spec sh-rtems-$(GDBVERS).spec \
+    sh-rtemself-$(GDBVERS).spec sparc-rtems-$(GDBVERS).spec
+CLEANFILES += $(RPM_SPECS_DATA)
 
-RPM_SPECS_DATA = \
-hppa1.1-rtems-$(GDBVERS).spec \
-i386-rtems-$(GDBVERS).spec \
-i960-rtems-$(GDBVERS).spec \
-m68k-rtems-$(GDBVERS).spec \
-m68k-rtemself-$(GDBVERS).spec \
-mips64orion-rtems-$(GDBVERS).spec \
-powerpc-rtems-$(GDBVERS).spec \
-sh-rtems-$(GDBVERS).spec \
-sh-rtemself-$(GDBVERS).spec \
-sparc-rtems-$(GDBVERS).spec
+EXTRA_DIST = $(SUBPACKAGES)
 
-noinst_DATA = \
-$(TEMPLATES)
-
-EXTRA_DIST = \
-$(TEMPLATES)
-
-CLEANFILES = $(RPM_SPECS_DATA)
+include $(top_srcdir)/../automake/local.am
Index: scripts/gdb/base-gdb.add
===================================================================
--- scripts/gdb/base-gdb.add	(revision f50c11bdd55725b0519f66e63a5ace734261c1d6)
+++ scripts/gdb/base-gdb.add	(revision df49c60c9671e4a28e636964d744c1f59fb6cb68)
@@ -0,0 +1,55 @@
+# =====================================================================
+# rtems-base-gdb
+# =====================================================================
+
+%package -n rtems-base-gdb
+Provides:	rtems-base-gdb
+Summary:      base package for rtems gdb
+Group: rtems
+
+%description -n rtems-base-gdb
+
+RTEMS is an open source operating system for embedded systems.
+
+This is the base for gdb regardless of target CPU.
+
+%files -n rtems-base-gdb
+
+%dir /opt/rtems/info
+%doc /opt/rtems/info/gdb.info*
+%doc /opt/rtems/info/mmalloc.info*
+%doc /opt/rtems/info/readline.info*
+
+%dir /opt/rtems/man
+%dir /opt/rtems/man/man1
+
+%dir /opt/rtems/include
+# We install libbfd from binutils
+# /opt/rtems/include/bfd.h
+# /opt/rtems/include/bfdlink.h
+
+%dir /opt/rtems/lib
+# We install libbfd from binutils
+# /opt/rtems/lib/libbfd*
+# We use libiberty from gcc
+# /opt/rtems/lib/libiberty*
+
+%post -n rtems-base-gdb
+  if test -d $RPM_INSTALL_PREFIX/rtems/info;
+  then
+    rm -f $RPM_INSTALL_PREFIX/rtems/info/dir
+    f=`find $RPM_INSTALL_PREFIX/rtems/info -name '*.info.gz'`
+    test -n "$f" && for i in $f; do
+      install-info $i $RPM_INSTALL_PREFIX/rtems/info/dir
+    done
+  fi
+
+%postun -n rtems-base-gdb
+  if test -d $RPM_INSTALL_PREFIX/rtems/info;
+  then
+    rm -f $RPM_INSTALL_PREFIX/rtems/info/dir
+    f=`find $RPM_INSTALL_PREFIX/rtems/info -name '*.info.gz'`
+    test -n "$f" && for i in $f; do
+      install-info $i $RPM_INSTALL_PREFIX/rtems/info/dir
+    done
+  fi
Index: scripts/gdb/gdb.add
===================================================================
--- scripts/gdb/gdb.add	(revision f50c11bdd55725b0519f66e63a5ace734261c1d6)
+++ scripts/gdb/gdb.add	(revision df49c60c9671e4a28e636964d744c1f59fb6cb68)
@@ -0,0 +1,75 @@
+#
+# spec file for package rtems
+# 
+# Copyright  (c)  1999  OARCorp, Huntsville, AL
+#
+# please send bugfixes or comments to joel@OARcorp.com
+#
+
+# neededforbuild -- nothing
+
+Vendor:       OAR Corporation
+Distribution: Linux
+Name:         @target_alias@-gdb-collection
+Release:      @Release@
+License:      GPL/LGPL
+Group:        rtems
+
+Autoreqprov:  on
+Packager:     corsepiu@faw.uni-ulm.de and joel@OARcorp.com
+
+Version:      @gdb_version@
+Summary:      gdb for target @target_alias@
+Source0:      ftp://ftp.gnu.org/pub/gnu/gdb-@gdb_version@.tar.gz
+Patch0:	      gdb-@gdb_version@-rtems-@gdb_patch_version@.diff
+Buildroot:      /tmp/@target_alias@-gdb
+
+#
+# The original sources are not included in the source RPM.
+# If we included them, then the source RPMs for each target
+# would duplicate MBs of source unnecessarily.  This is 
+# a duplication of over 30 MBs of source for each of
+# the more than 10 targets it is possible to build.
+#
+# You can get them yourself from the Internet and copy them to
+# your /usr/src/redhat/SOURCES directory ($RPM_SOURCE_DIR).
+# Or you can try the ftp options of rpm :-)
+#
+NoSource:      0
+
+
+%description
+RTEMS is an open source operating system for embedded systems.
+
+This is the GNU gdb for RTEMS targetting @target_alias@.
+
+%prep
+echo RPM_BUILD_ROOT=${RPM_BUILD_ROOT}
+# untar the sources inside @target_alias@-gdb
+%setup -c -n @target_alias@-gdb -a 0
+
+%patch0 -p0
+
+%build
+test -d build || mkdir build
+  cd build
+  ../gdb-@gdb_version@/configure --target=@target_alias@ \
+    --verbose --prefix=/opt/rtems @extra_configure_arguments@
+
+  make all
+  make info
+
+%install
+  cd build
+  make prefix=$RPM_BUILD_ROOT/opt/rtems install
+  make prefix=$RPM_BUILD_ROOT/opt/rtems install-info
+
+  # gzip info files
+  gzip -f $RPM_BUILD_ROOT/opt/rtems/info/*.info 2>/dev/null
+  gzip -f $RPM_BUILD_ROOT/opt/rtems/info/*.info-? 2>/dev/null
+  gzip -f $RPM_BUILD_ROOT/opt/rtems/info/*.info-?? 2>/dev/null
+
+%clean
+# let rpm --clean remove BuildRoot iif using the default BuildRoot
+  test "$RPM_BUILD_ROOT" = "/tmp/@target_alias@-gdb" && \
+    rm -rf $RPM_BUILD_ROOT
Index: scripts/gdb/target-gdb.add
===================================================================
--- scripts/gdb/target-gdb.add	(revision f50c11bdd55725b0519f66e63a5ace734261c1d6)
+++ scripts/gdb/target-gdb.add	(revision df49c60c9671e4a28e636964d744c1f59fb6cb68)
@@ -0,0 +1,21 @@
+# =====================================================================
+# @target_alias@-gdb
+# =====================================================================
+
+%package -n @target_alias@-gdb
+Provides:	@target_alias@-gdb
+Summary:      rtems gdb for @target_alias@
+Group: rtems
+Requires: rtems-base-gdb
+
+%description -n @target_alias@-gdb
+
+RTEMS is an open source operating system for embedded systems.
+
+This is the GNU gdb for RTEMS targetting @target_alias@.
+
+%files -n @target_alias@-gdb
+%doc /opt/rtems/man/man1/@target_alias@-gdb.1
+
+%dir /opt/rtems/bin
+/opt/rtems/bin/@target_alias@-gdb@exe_ext@
