mirror of
https://gitlab.rtems.org/rtems/rtos/rtems.git
synced 2025-12-05 15:15:44 +00:00
which splits the current monolithic specs files into a sequence of
subparts. These can be concatenated togather to make a the whole .spec
file. This cleans up the maintenance problem of having "all languages"
and a "C/C++ only" gccnewlib spec files. Plus it should make it easier
to produce variants like the gdb-m68k-bdm which require special hackery. :)
Ralf's comments:
It addresses the way *.spec.in get composed inside of the source
tree.
Changes:
* Each spec.in is broken into several files (*.add), one *.add file
per sub-package.
* Each Makefile.am composes spec.ins from the *.add files
* Removal of redundant automake support files.
* Default value for BuildRoot changed to /tmp/<spec-file-name>
* %clean stage added to *specs
Advantages (IMHO).
* The *.add files are easier to adminstrate and more flexible in
comparison to the former *.specs.ins.
* gccnewlib_c_only.spec.in now is composed from the same sources as
gccnewlib.spec.in (less errors)
* If using the default BuildRoot --clean now deletes all files that
were generated while building.
Notes:
* rtems.spec.in has not yet been adapted to the scheme used for the
other *spec.ins
* Except for cosmetical changes the internals of the *.spec files
should not have changed.
To Apply:
cvs rm -f scripts/binutils/binutils.spec.in
cvs rm -f scripts/gccnewlib/gccnewlib.spec.in
cvs rm -f scripts/gccnewlib/gccnewlib_c_only.spec.in
cvs rm -f scripts/gdb/gdb.spec.in
cvs rm -f scripts/config.sub
cvs rm -f scripts/config.guess
cvs rm -f scripts/install-sh
cvs rm -f scripts/mkinstalldirs
cvs rm -f scripts/missing
patch -p1 < rtems-rc-4.5.0-21.diff
cvs add scripts/*/*.add
cvs add scripts/*/README
94 lines
2.7 KiB
Plaintext
94 lines
2.7 KiB
Plaintext
#
|
|
# spec file for binutils package targetting rtems
|
|
#
|
|
# Copyright (c) 1999,2000 OARCorp, Huntsville, AL
|
|
#
|
|
# please send bugfixes or comments to joel@OARcorp.com
|
|
#
|
|
|
|
Vendor: OAR Corporation
|
|
Distribution: Linux
|
|
Name: @target_alias@-binutils-collection
|
|
Summary: binutils for target @target_alias@
|
|
Group: rtems
|
|
Release: @Release@
|
|
License: GPL/LGPL
|
|
|
|
Autoreqprov: off
|
|
Packager: corsepiu@faw.uni-ulm.de and joel@OARcorp.com
|
|
Prefix: /opt
|
|
BuildRoot: /tmp/@target_alias@-binutils
|
|
|
|
Version: @binutils_version@
|
|
Source0: ftp://ftp.gnu.org/pub/gnu/binutils/binutils-@binutils_version@.tar.gz
|
|
Patch0: binutils-@binutils_version@-rtems-@binutils_patch_version@.diff
|
|
#
|
|
# 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 binutils sources with patches for RTEMS.
|
|
|
|
%prep
|
|
# untar the sources inside @target_alias@-binutils
|
|
%setup -c -n @target_alias@-binutils -a 0
|
|
|
|
%patch0 -p0
|
|
test -d build || mkdir build
|
|
|
|
%build
|
|
cd build
|
|
../binutils-@binutils_version@/configure --target=@target_alias@ \
|
|
--verbose --prefix=/opt/rtems
|
|
|
|
make all
|
|
make info
|
|
|
|
|
|
%install
|
|
cd build
|
|
make prefix=$RPM_BUILD_ROOT/opt/rtems install
|
|
make prefix=$RPM_BUILD_ROOT/opt/rtems install-info
|
|
# A bug in binutils: binutils does not install share/locale
|
|
# however it uses it
|
|
../binutils-@binutils_version@/mkinstalldirs \
|
|
$RPM_BUILD_ROOT/opt/rtems/share/locale
|
|
|
|
# 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
|
|
|
|
if test -f $RPM_BUILD_ROOT/opt/rtems/info/configure.info.gz;
|
|
then
|
|
# These are only present in binutils >= 2.9.5
|
|
find $RPM_BUILD_ROOT/opt/rtems/info -name 'configure.*' | \
|
|
sed -e "s,^$RPM_BUILD_ROOT,,g" > ../files
|
|
else
|
|
touch ../files
|
|
fi
|
|
|
|
# We assume that info/dir exists when building the RPMs
|
|
rm -f $RPM_BUILD_ROOT/opt/rtems/info/dir
|
|
f=`find $RPM_BUILD_ROOT/opt/rtems/info -name '*.info.gz'`
|
|
test x"$f" != x"" && for i in $f; do
|
|
install-info $i $RPM_BUILD_ROOT/opt/rtems/info/dir
|
|
done
|
|
|
|
%clean
|
|
# let rpm --clean remove BuildRoot iif using the default BuildRoot
|
|
test "$RPM_BUILD_ROOT" = "/tmp/@target_alias@-binutils" && \
|
|
rm -rf $RPM_BUILD_ROOT
|
|
|