forked from Imagelibrary/rtems
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.
188 lines
5.6 KiB
Bash
Executable File
188 lines
5.6 KiB
Bash
Executable File
#!/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.
|