Working on being able to cut RPMs. It now appears that the process

is working mostly for sparc at least.

There is one major problem -- the current process generates a unique
source file per RPM when in fact all of the source files are nearly
the same -- it is only the spec part of the rpm which differs.
The new file mkbinutils_subpackage_version is an attempt to
address this.  It does part of the job right -- one source file
produces multiple binary RPMs.  BUT the end user can not produce
the resulting RPMS themselves from SRPMS unless they also
build all targets.
This commit is contained in:
Joel Sherrill
1999-10-18 19:10:03 +00:00
parent 18408afbc7
commit 8c5e54b1af
12 changed files with 788 additions and 27 deletions

116
scripts/gccnewlib.spec.in Normal file
View File

@@ -0,0 +1,116 @@
#
# spec file for package rtems
#
# Copyright (c) 1999 OARCorp, Huntsville, AL
#
# please send bugfixes or comments to joel@OARcorp.com
#
# neededforbuild @target_alias@-binutils @target_alias@-gcc
Vendor: OAR Corporation
Distribution: Linux
Name: @target_alias@-gcc-newlib
Release: @Release@
Copyright: 1999 OARCorp
Group: unsorted
Provides: @target_alias@-gcc-newlib
Autoreqprov: on
Packager: corsepiu@faw.uni-ulm.de and joel@OARcorp.com
Version: @Version@
Summary: rtems gcc and newlib C Library for target @target_alias@
Source0: gcc-2.95.1.tar.gz
Source1: newlib-1.8.2.tar.gz
Patch0: gcc-2.95.1-rtems-19991015.diff
Patch1: newlib-1.8.2-rtems-19991015.diff
Buildroot: /tmp
# Patch:
%description
RTEMS is an open source operating system for embedded systems.
This is gcc and newlib C Library for @target_alias@.
Authors:
--------
Joel Sherrill (joel@oarcorp.com)
...
%prep
# untar the sources inside @target_alias@-gcc-newlib -@Version@
%setup -c -n @target_alias@-gcc-newlib -a 0 -a 1
%patch0 -p0
%patch1 -p0
( cd gcc-2.95.1
# Now link the C library into the source tree
ln -s ../newlib-1.8.2/newlib .
)
%build
test -d build || mkdir build
( cd build
../gcc-2.95.1/configure --target=@target_alias@ \
--with-gnu-as --with-gnu-ld --with-newlib --verbose \
--prefix=/opt/rtems
test -d $RPM_BUILD_ROOT/opt \
|| mkdir $RPM_BUILD_ROOT/opt
test -d $RPM_BUILD_ROOT/opt/rtems \
|| mkdir $RPM_BUILD_ROOT/opt/rtems
test -d $RPM_BUILD_ROOT/opt/rtems/@target_alias@ \
|| mkdir $RPM_BUILD_ROOT/opt/rtems/@target_alias@
test -d $RPM_BUILD_ROOT/opt/rtems/@target_alias@/include \
|| mkdir $RPM_BUILD_ROOT/opt/rtems/@target_alias@/include
test -d $RPM_BUILD_ROOT/opt/rtems/@target_alias@/sys-include \
|| mkdir $RPM_BUILD_ROOT/opt/rtems/@target_alias@/sys-include
srclimits=../gcc-2.95.1/newlib/libc/sys/rtems/include/limits.h
for dir in $RPM_BUILD_ROOT/opt/rtems/@target_alias@/include \
$RPM_BUILD_ROOT/opt/rtems/@target_alias@/sys-include
do
cp ${srclimits} ${dir}
done
#make LANGUAGES="c c++" all
make all
make info
cd gcc
rm -f stmp-multilib
find . -name "*.a" -print | xargs -e rm -f
make all
cd ..
)
%install
( cd build
make prefix=$RPM_BUILD_ROOT/opt/rtems install
make prefix=$RPM_BUILD_ROOT/opt/rtems install-info
)
%files
%doc /opt/rtems/info/chill.info*
%doc /opt/rtems/info/cpp.info*
%doc /opt/rtems/info/gcc.info*
%doc /opt/rtems/info/g77.info*
%doc /opt/rtems/info/libc.info*
%doc /opt/rtems/info/libm.info*
%doc /opt/rtems/man/man1/cccp.1
%doc /opt/rtems/man/man1/@target_alias@-gcc.1
%doc /opt/rtems/man/man1/@target_alias@-g++.1
/opt/rtems/bin/cpp
/opt/rtems/bin/@target_alias@-c++
/opt/rtems/bin/@target_alias@-g++
/opt/rtems/bin/@target_alias@-gcc
/opt/rtems/bin/@target_alias@-gcj
/opt/rtems/lib/gcc-lib/@target_alias@/2.95.1
/opt/rtems/@target_alias@/include*
/opt/rtems/@target_alias@/sys-include
/opt/rtems/@target_alias@/lib*