diff options
author | Joel Sherrill <joel.sherrill@oarcorp.com> | 2013-03-12 16:03:02 -0500 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@oarcorp.com> | 2013-03-12 16:03:02 -0500 |
commit | 9ad9dc2134b7c3af092f6b74de14cd3931fce97b (patch) | |
tree | 5b6c69b0878945de5ccc585c1726c6767b7639ed /contrib/mingw/build-rpms.sh | |
parent | doc/texi2html_init.in: Correct typo (diff) | |
download | rtems-9ad9dc2134b7c3af092f6b74de14cd3931fce97b.tar.bz2 |
contrib: Remove.
Diffstat (limited to '')
-rwxr-xr-x | contrib/mingw/build-rpms.sh | 386 |
1 files changed, 0 insertions, 386 deletions
diff --git a/contrib/mingw/build-rpms.sh b/contrib/mingw/build-rpms.sh deleted file mode 100755 index af0b216109..0000000000 --- a/contrib/mingw/build-rpms.sh +++ /dev/null @@ -1,386 +0,0 @@ -#! /bin/sh -# RTEMS Build RPM script. -# -# This script builds the RTEMS tools into RPM packages on a Linux Fedora host, -# and supports Canadian cross builds to other hosts. It is light sugar around -# the fine work of Ralf Corsepius thats actually builds the RPM files. -# -# We build all the targets for a given host. -# -# Note: This file should be placed in crossrpms. -# - -source=$(dirname $0) - -terminate() -{ - echo "error: $*" >&2 - exit 1 -} - -check() -{ - if [ $? -ne 0 ]; then - terminate - fi -} - -processor=$(uname -p) - -. $source/version - -base_tool_list="binutils gcc" - -target_list=$(cat $source/targets) -host_list="cygwin freebsd5.2 freebsd6.0 freebsd6.1 mingw32" - -rtems_tool_list="autoconf automake $base_tool_list gdb" -linux_tool_list="autoconf automake $base_tool_list" -cygwin_tool_list="w32api libs autoconf automake $base_tool_list" -freebsd_tool_list="libs autoconf automake $base_tool_list" -mingw32_tool_list="w32api libs autoconf automake $base_tool_list" - -cygwin_cc_name="pc" -freebsd_cc_name="pc" -mingw32_cc_name="pc" - -linux_cpu_list="$processor" -cygwin_cpu_list="i686" -freebsd_cpu_list="i586" -mingw32_cpu_list="i686" - -rpm_topdir=$(rpm --eval "%{_topdir}") - -prefix=/opt/rtems-$version -hosts=$host_list -build=$processor-linux-gnu -infos= -targets=$target_list -run_prefix= -rpm_prefix=custom- -rpm_prefix_arg= -local_rpm_database=yes -clean=yes - -while [ $# -gt 0 ]; -do - case $1 in - -c) - clean=no - ;; - -d) - set -x - ;; - -h) - shift - hosts=$1 - ;; - -i) - infos="--enable-infos" - ;; - -l) - shift - rpm_prefix=$1- - rpm_prefix_arg="--enable-rpmprefix=$rpm_label" - ;; - -n) - run_prefix="echo " - ;; - -p) - shift - prefix=$1 - ;; - -R) - local_rpm_database=no - ;; - -s) - shift - source=$1 - ;; - -t) - shift - targets=$1 - ;; - -v) - shift - version=$1 - ;; - --help) - echo "$0 -cdinr -o <output> -h <hosts>" \ - "-l <rpm prefix> -p <prefix> -s <source> -t <targets> -v <version>" - exit 2 - ;; - *) - terminate "error: invalid option (try --help): $1" - ;; - esac - shift -done - -for t in $targets; -do - if [ -z "$(echo $target_list | grep $t)" ]; then - terminate "error: invalid target: $t" - fi -done - -cd=${run_prefix}cd -configure=${run_prefix}${source}/configure -cp=${run_prefix}cp -make=${run_prefix}make -mkdir=${run_prefix}mkdir -rm=${run_prefix}rm -rpmbuild=${run_prefix}rpmbuild -rpm=${run_prefix}rpm - -if [ $local_rpm_database = yes ]; then - rpm_database="--dbpath $prefix/var/lib/rpm" -else - rpm_database= -fi - -echo " Source: $source" -echo " Prefix: $prefix" -echo " Hosts: $hosts" -echo "Targets: $targets" - -if [ ! -f $source/configure ]; then - terminate "$source/configure not found under: $source" -fi - -if [ x$prefix != x ]; then - if [ -e $prefix ]; then - if [ ! -d $prefix ]; then - terminate "$prefix is not a directory" - fi - else - echo "Creating $(pwd)" - $mkdir -p $prefix - check "making the prefix directory: $prefix" - fi -fi - -$cd $prefix -check "cannot change to the prefix directory: $prefix" - -if [ $clean = yes ]; then - echo "Cleaning: $(pwd)" - $rm -rf * -fi - -# -# Using a local RPM database means we do not need to be root to -# perform the build. -# -if [ $local_rpm_database = yes ]; then - echo "Creating private RPM database: $(pwd)/var/lib/rpm" - if [ ! -d /var/lib/rpm ]; then - terminate "no RPM database found on this host" - exit 1 - fi - if [ ! -d var/lib ]; then - $mkdir -p var/lib - check "making the local RPM database directory: var/lib" - fi - if [ $clean = yes -o ! -e var/lib/rpmPackages ]; then - echo "Copying RPM database to a local RPM database" - $cp -r /var/lib/rpm var/lib/rpm - check "copying the RPM database to the local database" - fi -fi - -# -# Set the path to the new directory. -# -export PATH=$prefix/bin:$PATH - -# -# Install the RPM. -# - -rpm_installer() -{ - local rpm_common= - local rpm_libs= - local rpm_tools= - local r - - local rpm_database=$1 - shift - local rpm_arch=$1 - shift - local rpm_path=$1 - shift - - # - # Get the names of the rpm files that have been built. This means we - # do not have maintain version info. - # - rpm_names=$(rpmbuild $rpm_database $* --nobuild 2> /dev/null | \ - grep -v "debuginfo" | grep "Process" | sed 's/Process.*\: //') - # - # If we have a base place that one first then libs then the tools. - # - for r in $rpm_names - do - if [ $(echo $r | sed 's/.*common.*/yes/') = yes ]; then - rpm_common="$rpm_common $r" - elif [ $(echo $r | sed 's/.*lib.*/yes/') = yes ]; then - rpm_libs="$rpm_libs $r" - elif [ $(echo $r | sed 's/.*sys\-root.*/yes/') = yes ]; then - rpm_libs="$rpm_libs $r" - else - rpm_tools="$rpm_tools $r" - fi - done - - for r in $rpm_common $rpm_libs $rpm_tools - do - echo "rpm $rpm_database --force" \ - "-i $rpm_path/$rpm_arch/$r.$rpm_arch.rpm" - $rpm $rpm_database --force -i $rpm_path/$rpm_arch/$r.$rpm_arch.rpm - check "installing the $r.$rpm_arch.rpm rpm failed" - done -} - -# -# Select the type of arch we have. -# - -rpm_arch() -{ - if [ $(echo $1 | sed 's/.*api.*/yes/') = yes ]; then - echo "noarch" - elif [ $(echo $1 | sed 's/.*lib.*/yes/') = yes ]; then - echo "noarch" - elif [ $(echo $1 | sed 's/.*auto.*/yes/') = yes ]; then - echo "noarch" - else - echo $2 - fi -} - -# -# We always build tools for the build host. We need them to -# build the libraries for the target processor. -# -hosts="linux $hosts" - -echo "Configuring target: all" -echo "configure --prefix=$prefix $rpm_prefix_arg " \ - " --target=all $infos" -$configure --prefix=$prefix $rpm_prefix_arg \ - --target=all \ - $infos -check "configuring the crossrpms failed" -echo "make" -$make -check "building the rpm spec files failed" -echo "make -C autotools" -$make -C autotools -check "building the rpm spec files failed" - -for h in $hosts; -do - # - # Need to translate the build host to an RTEMS host. Create a - # target host (th) and specs directory (sd) variable to handle - # the use of RTEMS. - # - if [ $h = "linux" ]; then - th="linux-gnu" - sd=rtems$version - canadian_cross=no - else - th=$h - sd=$h - canadian_cross=yes - fi - - # - # Associate the host to its tool list to get the packages to build. - # - tl=${h}_tool_list - pl=${h}_cpu_list - - echo "Native Host Tools: ${!tl} for ${!pl}" - echo "Canadian Cross: $canadian_cross ($t $h)" - - for p in ${!pl} - do - pth="$p-pc-$th" - - if [ $canadian_cross = yes ]; then - echo "make -C $sd/$p" - $make -C $sd/$p - check "building the rpm spec files failed: $sd/$p" - - for s in ${!tl} - do - case $s in - autoconf|automake) - # Hack around the prefix in the spec files for autotools. - ba="-ba $prefix/autotools/$rpm_prefix$s.spec" - ;; - *) - ba="-ba $prefix/$sd/$p/$rpm_prefix$pth-$s.spec" - esac - - rpmbuild_cmd="$ba --target=$build" - - echo "rpmbuild --define '_defaultdocdir $prefix/share/doc' $rpm_database $rpmbuild_cmd" - $rpmbuild --define "_defaultdocdir $prefix/share/doc" $rpm_database $rpmbuild_cmd - check "building the $sd/$p/$rpm_prefix$pth-$s rpm failed" - - rpm_installer "$rpm_database" \ - $(rpm_arch $rpm_prefix$pth-$s $processor) \ - $rpm_topdir/linux/RPMS \ - $rpmbuild_cmd - done - fi - done - - for t in $targets; - do - for s in ${rtems_tool_list} - do - case $s in - autoconf|automake) - # Hack around the prefix in the spec files for autotools. - ba="-ba $prefix/autotools/$rpm_prefix$s.spec" - ;; - *) - ba="-ba $prefix/rtems$version/$t/$rpm_prefix$t-rtems$version-$s.spec" - esac - - rpmbuild_cmd="$ba --target=$pth" - - if [ $canadian_cross = yes ]; then - ccl=${h}_cc_name - echo "rpmbuild --define '_build $processor-redhat-linux' " \ - "--define '_host $pth' " \ - "--define '_defaultdocdir $prefix/share/doc' " \ - "$rpm_database $rpmbuild_cmd " - $rpmbuild --define "_build $processor-redhat-linux" \ - --define "_host $pth" \ - --define "_defaultdocdir $prefix/share/doc" \ - --define "__cc $p-${!ccl}-$h-gcc" \ - $rpm_database $rpmbuild_cmd - check "building host cross target: $rpm_prefix$t-rtems$version-$s" - else - echo "rpmbuild --define '_defaultdocdir $prefix/share/doc' "\ - "$rpm_database $rpmbuild_cmd" - $rpmbuild --define "_defaultdocdir $prefix/share/doc" \ - $rpm_database $rpmbuild_cmd - check "building host cross target: $rpm_prefix$t-rtems$version-$s" - fi - - if [ $canadian_cross != yes ]; then - rpm_installer "$rpm_database" \ - $(rpm_arch $rpm_prefix$t-rtems$version-$s $p) \ - $rpm_topdir/$h/RPMS \ - $rpmbuild_cmd - fi - done - done -done |