diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 1999-10-18 19:10:03 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 1999-10-18 19:10:03 +0000 |
commit | 8c5e54b1afbf4f980543e3eccff3495d2fb84419 (patch) | |
tree | 64253854ac3a517c4cd2dc585b1632cf8d698239 /scripts/mkbinutils_subpackage_version | |
parent | Ralf Corsepius (corsepiu@faw.uni-ulm.de) submitted these scripts to (diff) | |
download | rtems-8c5e54b1afbf4f980543e3eccff3495d2fb84419.tar.bz2 |
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.
Diffstat (limited to '')
-rwxr-xr-x | scripts/mkbinutils_subpackage_version | 187 |
1 files changed, 187 insertions, 0 deletions
diff --git a/scripts/mkbinutils_subpackage_version b/scripts/mkbinutils_subpackage_version new file mode 100755 index 0000000000..00f42fe928 --- /dev/null +++ b/scripts/mkbinutils_subpackage_version @@ -0,0 +1,187 @@ +#!/bin/sh +# +# Usage: mktoolspec CPU +# + +RTEMS_DIR=`dirname $0` +RTEMS_VERSION=`grep Version ${RTEMS_DIR}/../VERSION | \ +sed -e 's%RTEMS[ ]*Version[ ]*\(.*\)[ ]*%\1%g'` + +# target_alias=$1 +TARGETS="i386-rtems sparc-rtems" +# should be $* + +release=0 + +# Some linux distributions use /usr/src/packages +# redhat uses /usr/src/redhat +# others might use /usr/src +if test -d /usr/src/packages/SPECS; +then +dst=/usr/src/packages/SPECS; +elif test -d /usr/src/redhat/SPECS; + then +dst=/usr/src/redhat/SPECS; +elif test -d /usr/src/SPECS/; +then +dst=/usr/src/SPECS; +fi + +# sed -e "s%@Version@%${RTEMS_VERSION}%g" \ +# -e "s%@bsp@%${bsp}%g" \ +# -e "s%@Release@%${release}%g" \ +# -e "s%@target_alias@%${target_alias}%g" \ +# < ${RTEMS_DIR}/binutils.spec.in \ +# > ${dst}/$target_alias-binutils.spec + +( +echo "#" +echo "# spec file for package rtems" +echo "# " +echo "# Copyright (c) 1999 OARCorp, Huntsville, AL" +echo "#" +echo "# please send bugfixes or comments to joel@OARcorp.com" +echo "#" +echo "" +# echo "# neededforbuild @target_alias@-binutils @target_alias@-gcc" +echo "" +echo "Vendor: OAR Corporation" +echo "Distribution: Linux" +echo "Name: rtems-binutils" +echo "Release: ${release}" +echo "Copyright: 1999 OARCorp" +echo "Group: unsorted" +echo "Provides: binutils for RTEMS" +echo "" +echo "Autoreqprov: on" +echo "Packager: corsepiu@faw.uni-ulm.de and joel@OARcorp.com" +echo "" +echo "Version: ${RTEMS_VERSION}" +echo "Summary: binutils for RTEMS" +echo "Source0: binutils-990901.tar.gz" +echo "Patch0: binutils-990901-rtems-19991015.diff" +echo "" +echo "Buildroot: /tmp" +echo "# Patch:" +echo "%description" +echo "RTEMS is an open source operating system for embedded systems." +echo "" +echo "This is the GNU binutils for RTEMS targetting ${target_alias}." +echo "" +echo "Authors:" +echo "--------" +echo " Joel Sherrill (joel@oarcorp.com)" +echo " ..." +echo "" + +# +# This has to be unrolled in the file +for target_alias in ${TARGETS} +do + echo "%package ${target_alias}" + echo "Summary: binutils for ${target_alias}" + echo "Group: unsorted" + echo "" + echo "%description ${target_alias}" + echo "binutils for ${target_alias}" + echo "" +done + +echo "%prep" + echo "# untar the sources inside binutils-rtems" + echo "%setup -c -n binutils-rtems -a 0" + echo "" + echo "%patch0 -p0" + echo "" + +echo "%build" + echo "if [ X\${RTEMS_RPM_TARGETS} = X ] ; then" + echo " RTEMS_RPM_TARGETS=\"${TARGETS}\"" + echo "fi" + echo "" + echo "for target_alias in \${RTEMS_RPM_TARGETS}" + echo "do" + echo " test -d build-\${target_alias} || mkdir build-\${target_alias}" + echo " ( cd build-\${target_alias}" + echo " ../binutils-990901/configure --target=\${target_alias} \\" + echo " --verbose --prefix=/opt/rtems " + echo "" + echo " test -d $RPM_BUILD_ROOT/opt \\" + echo " || mkdir $RPM_BUILD_ROOT/opt" + echo " test -d $RPM_BUILD_ROOT/opt/rtems \\" + echo " || mkdir $RPM_BUILD_ROOT/opt/rtems" + echo "" + echo " make all" + echo " make info" + echo " )" + echo "done" + echo "" + +echo "%install" + echo "if [ X\${RTEMS_RPM_TARGETS} = X ] ; then" + echo " RTEMS_RPM_TARGETS=\"${TARGETS}\"" + echo "fi" + echo "" + echo "for target_alias in \${RTEMS_RPM_TARGETS}" + echo "do" + echo " ( cd build-\${target_alias}" + echo " make prefix=\${RPM_BUILD_ROOT}/opt/rtems install" + echo " make prefix=\${RPM_BUILD_ROOT}/opt/rtems install-info" + echo " )" + echo "done" + echo "" + +for target_alias in ${TARGETS} +do + echo "%files ${target_alias}" + echo "%doc /opt/rtems/info/as.info*" + echo "%doc /opt/rtems/info/bfd.info*" + echo "%doc /opt/rtems/info/binutils.info*" + echo "%doc /opt/rtems/info/ld.info*" + echo "%doc /opt/rtems/info/standards.info*" + echo "%doc /opt/rtems/man/man1/${target_alias}-ar.1" + echo "%doc /opt/rtems/man/man1/${target_alias}-nm.1" + echo "%doc /opt/rtems/man/man1/${target_alias}-objdump.1" + echo "%doc /opt/rtems/man/man1/${target_alias}-ranlib.1" + echo "%doc /opt/rtems/man/man1/${target_alias}-size.1" + echo "%doc /opt/rtems/man/man1/${target_alias}-strings.1" + echo "%doc /opt/rtems/man/man1/${target_alias}-strip.1" + echo "%doc /opt/rtems/man/man1/${target_alias}-objcopy.1" + echo "%doc /opt/rtems/man/man1/${target_alias}-addr2line.1" + echo "%doc /opt/rtems/man/man1/${target_alias}-nlmconv.1" + echo "%doc /opt/rtems/man/man1/${target_alias}-c++filt.1" + echo "%doc /opt/rtems/man/man1/${target_alias}-as.1" + echo "%doc /opt/rtems/man/man1/${target_alias}-ld.1" + echo "" + echo "/opt/rtems/bin/${target_alias}-addr2line" + echo "/opt/rtems/bin/${target_alias}-ar" + echo "/opt/rtems/bin/${target_alias}-as" + echo "/opt/rtems/bin/${target_alias}-c++filt" + echo "/opt/rtems/bin/${target_alias}-gasp" + echo "/opt/rtems/bin/${target_alias}-ld" + echo "/opt/rtems/bin/${target_alias}-nm" + echo "/opt/rtems/bin/${target_alias}-objcopy" + echo "/opt/rtems/bin/${target_alias}-objdump" + echo "/opt/rtems/bin/${target_alias}-ranlib" + echo "/opt/rtems/bin/${target_alias}-readelf" + echo "/opt/rtems/bin/${target_alias}-size" + echo "/opt/rtems/bin/${target_alias}-strings" + echo "/opt/rtems/bin/${target_alias}-strip" + echo "/opt/rtems/include/bfd.h" + echo "/opt/rtems/include/ansidecl.h" + echo "/opt/rtems/include/bfdlink.h" + echo "/opt/rtems/lib/libbfd*" + echo "/opt/rtems/lib/libiberty*" + echo "/opt/rtems/lib/libopcodes*" + echo "/opt/rtems/${target_alias}/bin/ar" + echo "/opt/rtems/${target_alias}/bin/as" + echo "/opt/rtems/${target_alias}/bin/ld" + echo "/opt/rtems/${target_alias}/bin/nm" + echo "/opt/rtems/${target_alias}/bin/ranlib" + echo "/opt/rtems/${target_alias}/bin/strip" + echo "/opt/rtems/${target_alias}/lib/ldscripts" + echo "" +done +) > ${dst}/rtems-binutils.spec + +echo Generated ${dst}/rtems-binutils.spec. |