diff options
author | John Bowler <jbowler@nslu2-linux.org> | 2005-07-13 07:41:16 +0000 |
---|---|---|
committer | OpenEmbedded Project <openembedded-devel@lists.openembedded.org> | 2005-07-13 07:41:16 +0000 |
commit | 25979309f8be6cd0a7120e298e5e5344660fe46b (patch) | |
tree | 23b5ccf95749394a9db0f4426cfc8c873a13acd1 /packages | |
parent | b3bc53b18619a0e0ad3df809bb3a16c127979d40 (diff) |
Add install-native package and remove the install-sh from those packages
which used it to get round the install -s problem - now simply add
install-native to the DEPENDS for packages which attempt to use the host
install with '-s'
Diffstat (limited to 'packages')
-rw-r--r-- | packages/cron/cron_3.0pl1.bb | 8 | ||||
-rw-r--r-- | packages/cyrus-imapd/cyrus-imapd-2.2.12/install-sh | 323 | ||||
-rw-r--r-- | packages/cyrus-imapd/cyrus-imapd_2.2.12.bb | 10 | ||||
-rw-r--r-- | packages/install/.mtn2git_empty | 0 | ||||
-rw-r--r-- | packages/install/files/.mtn2git_empty | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | packages/install/files/install-sh (renamed from packages/cron/cron-3.0pl1/install-sh) | 0 | ||||
-rw-r--r-- | packages/install/install-native_0.1.bb | 25 | ||||
-rw-r--r-- | packages/mgetty/mgetty_1.1.30.bb | 5 |
8 files changed, 35 insertions, 336 deletions
diff --git a/packages/cron/cron_3.0pl1.bb b/packages/cron/cron_3.0pl1.bb index 4e13d4c2c1..58a8806271 100644 --- a/packages/cron/cron_3.0pl1.bb +++ b/packages/cron/cron_3.0pl1.bb @@ -1,12 +1,12 @@ SECTION = "base" DESCRIPTION = "Vixie cron." LICENSE = "cron" -PR="r3" +PR="r4" +DEPENDS += "install-native" SRC_URI = "http://ibiblio.org/pub/Linux/system/daemons/cron/cron${PV}.tar.gz \ file://nonrootinstall.patch;patch=1 \ file://time.patch;patch=1 \ - file://install-sh \ file://init" S = "${WORKDIR}/cron${PV}" @@ -16,8 +16,6 @@ do_install () { install -d ${D}${sysconfdir}/init.d/ install -d ${D}/var/cron/tabs install -c -m 755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/cron - # This will make the -s option work somewhat portably cross - # platform - STRIPPROG="$STRIP" oe_runmake 'DESTDIR=${D}' INSTALL="${WORKDIR}/install-sh" install + oe_runmake 'DESTDIR=${D}' install chmod ugo+rx ${D}${sbindir}/* ${D}${bindir}/* } diff --git a/packages/cyrus-imapd/cyrus-imapd-2.2.12/install-sh b/packages/cyrus-imapd/cyrus-imapd-2.2.12/install-sh deleted file mode 100644 index 0b65ee871d..0000000000 --- a/packages/cyrus-imapd/cyrus-imapd-2.2.12/install-sh +++ /dev/null @@ -1,323 +0,0 @@ -#!/bin/sh -# install - install a program, script, or datafile - -scriptversion=2004-10-22.00 - -# This originates from X11R5 (mit/util/scripts/install.sh), which was -# later released in X11R6 (xc/config/util/install.sh) with the -# following copyright and license. -# -# Copyright (C) 1994 X Consortium -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to -# deal in the Software without restriction, including without limitation the -# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -# sell copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in -# all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN -# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC- -# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -# -# Except as contained in this notice, the name of the X Consortium shall not -# be used in advertising or otherwise to promote the sale, use or other deal- -# ings in this Software without prior written authorization from the X Consor- -# tium. -# -# -# FSF changes to this file are in the public domain. -# -# Calling this script install-sh is preferred over install.sh, to prevent -# `make' implicit rules from creating a file called install from it -# when there is no Makefile. -# -# This script is compatible with the BSD install script, but was written -# from scratch. It can only install one file at a time, a restriction -# shared with many OS's install programs. - -# set DOITPROG to echo to test this script - -# Don't use :- since 4.3BSD and earlier shells don't like it. -doit="${DOITPROG-}" - -# put in absolute paths if you don't have them in your path; or use env. vars. - -mvprog="${MVPROG-mv}" -cpprog="${CPPROG-cp}" -chmodprog="${CHMODPROG-chmod}" -chownprog="${CHOWNPROG-chown}" -chgrpprog="${CHGRPPROG-chgrp}" -stripprog="${STRIPPROG-strip}" -rmprog="${RMPROG-rm}" -mkdirprog="${MKDIRPROG-mkdir}" - -chmodcmd="$chmodprog 0755" -chowncmd= -chgrpcmd= -stripcmd= -rmcmd="$rmprog -f" -mvcmd="$mvprog" -src= -dst= -dir_arg= -dstarg= -no_target_directory= - -usage="Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE - or: $0 [OPTION]... SRCFILES... DIRECTORY - or: $0 [OPTION]... -t DIRECTORY SRCFILES... - or: $0 [OPTION]... -d DIRECTORIES... - -In the 1st form, copy SRCFILE to DSTFILE. -In the 2nd and 3rd, copy all SRCFILES to DIRECTORY. -In the 4th, create DIRECTORIES. - -Options: --c (ignored) --d create directories instead of installing files. --g GROUP $chgrpprog installed files to GROUP. --m MODE $chmodprog installed files to MODE. --o USER $chownprog installed files to USER. --s $stripprog installed files. --t DIRECTORY install into DIRECTORY. --T report an error if DSTFILE is a directory. ---help display this help and exit. ---version display version info and exit. - -Environment variables override the default commands: - CHGRPPROG CHMODPROG CHOWNPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG -" - -while test -n "$1"; do - case $1 in - -c) shift - continue;; - - -d) dir_arg=true - shift - continue;; - - -g) chgrpcmd="$chgrpprog $2" - shift - shift - continue;; - - --help) echo "$usage"; exit 0;; - - -m) chmodcmd="$chmodprog $2" - shift - shift - continue;; - - -o) chowncmd="$chownprog $2" - shift - shift - continue;; - - -s) stripcmd=$stripprog - shift - continue;; - - -t) dstarg=$2 - shift - shift - continue;; - - -T) no_target_directory=true - shift - continue;; - - --version) echo "$0 $scriptversion"; exit 0;; - - *) # When -d is used, all remaining arguments are directories to create. - # When -t is used, the destination is already specified. - test -n "$dir_arg$dstarg" && break - # Otherwise, the last argument is the destination. Remove it from $@. - for arg - do - if test -n "$dstarg"; then - # $@ is not empty: it contains at least $arg. - set fnord "$@" "$dstarg" - shift # fnord - fi - shift # arg - dstarg=$arg - done - break;; - esac -done - -if test -z "$1"; then - if test -z "$dir_arg"; then - echo "$0: no input file specified." >&2 - exit 1 - fi - # It's OK to call `install-sh -d' without argument. - # This can happen when creating conditional directories. - exit 0 -fi - -for src -do - # Protect names starting with `-'. - case $src in - -*) src=./$src ;; - esac - - if test -n "$dir_arg"; then - dst=$src - src= - - if test -d "$dst"; then - mkdircmd=: - chmodcmd= - else - mkdircmd=$mkdirprog - fi - else - # Waiting for this to be detected by the "$cpprog $src $dsttmp" command - # might cause directories to be created, which would be especially bad - # if $src (and thus $dsttmp) contains '*'. - if test ! -f "$src" && test ! -d "$src"; then - echo "$0: $src does not exist." >&2 - exit 1 - fi - - if test -z "$dstarg"; then - echo "$0: no destination specified." >&2 - exit 1 - fi - - dst=$dstarg - # Protect names starting with `-'. - case $dst in - -*) dst=./$dst ;; - esac - - # If destination is a directory, append the input filename; won't work - # if double slashes aren't ignored. - if test -d "$dst"; then - if test -n "$no_target_directory"; then - echo "$0: $dstarg: Is a directory" >&2 - exit 1 - fi - dst=$dst/`basename "$src"` - fi - fi - - # This sed command emulates the dirname command. - dstdir=`echo "$dst" | sed -e 's,/*$,,;s,[^/]*$,,;s,/*$,,;s,^$,.,'` - - # Make sure that the destination directory exists. - - # Skip lots of stat calls in the usual case. - if test ! -d "$dstdir"; then - defaultIFS=' - ' - IFS="${IFS-$defaultIFS}" - - oIFS=$IFS - # Some sh's can't handle IFS=/ for some reason. - IFS='%' - set x `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'` - shift - IFS=$oIFS - - pathcomp= - - while test $# -ne 0 ; do - pathcomp=$pathcomp$1 - shift - if test ! -d "$pathcomp"; then - $mkdirprog "$pathcomp" - # mkdir can fail with a `File exist' error in case several - # install-sh are creating the directory concurrently. This - # is OK. - test -d "$pathcomp" || exit - fi - pathcomp=$pathcomp/ - done - fi - - if test -n "$dir_arg"; then - $doit $mkdircmd "$dst" \ - && { test -z "$chowncmd" || $doit $chowncmd "$dst"; } \ - && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } \ - && { test -z "$stripcmd" || $doit $stripcmd "$dst"; } \ - && { test -z "$chmodcmd" || $doit $chmodcmd "$dst"; } - - else - dstfile=`basename "$dst"` - - # Make a couple of temp file names in the proper directory. - dsttmp=$dstdir/_inst.$$_ - rmtmp=$dstdir/_rm.$$_ - - # Trap to clean up those temp files at exit. - trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0 - trap '(exit $?); exit' 1 2 13 15 - - # Copy the file name to the temp name. - $doit $cpprog "$src" "$dsttmp" && - - # and set any options; do chmod last to preserve setuid bits. - # - # If any of these fail, we abort the whole thing. If we want to - # ignore errors from any of these, just make sure not to ignore - # errors from the above "$doit $cpprog $src $dsttmp" command. - # - { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } \ - && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } \ - && { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } \ - && { test -z "$chmodcmd" || $doit $chmodcmd "$dsttmp"; } && - - # Now rename the file to the real destination. - { $doit $mvcmd -f "$dsttmp" "$dstdir/$dstfile" 2>/dev/null \ - || { - # The rename failed, perhaps because mv can't rename something else - # to itself, or perhaps because mv is so ancient that it does not - # support -f. - - # Now remove or move aside any old file at destination location. - # We try this two ways since rm can't unlink itself on some - # systems and the destination file might be busy for other - # reasons. In this case, the final cleanup might fail but the new - # file should still install successfully. - { - if test -f "$dstdir/$dstfile"; then - $doit $rmcmd -f "$dstdir/$dstfile" 2>/dev/null \ - || $doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null \ - || { - echo "$0: cannot unlink or rename $dstdir/$dstfile" >&2 - (exit 1); exit - } - else - : - fi - } && - - # Now rename the file to the real destination. - $doit $mvcmd "$dsttmp" "$dstdir/$dstfile" - } - } - fi || { (exit 1); exit; } -done - -# The final little trick to "correctly" pass the exit status to the exit trap. -{ - (exit 0); exit -} - -# Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-end: "$" -# End: diff --git a/packages/cyrus-imapd/cyrus-imapd_2.2.12.bb b/packages/cyrus-imapd/cyrus-imapd_2.2.12.bb index 468561d40d..09d267a9c8 100644 --- a/packages/cyrus-imapd/cyrus-imapd_2.2.12.bb +++ b/packages/cyrus-imapd/cyrus-imapd_2.2.12.bb @@ -1,10 +1,10 @@ SECTION = "console/network" DEPENDS = "cyrus-sasl db" LICENSE = "BSD" -PR = "r1" +PR = "r2" +DEPENDS += "install-native" SRC_URI = "ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/cyrus-imapd-${PV}.tar.gz \ - file://install-sh \ file://autotools.patch;patch=1 \ file://tail.patch;patch=1" @@ -23,9 +23,3 @@ TARGET_CPPFLAGS =+ "-I${STAGING_DIR}/${TARGET_SYS}/include/db4" # All, lib/foo.c includes <config.h> from the top level directory and # is natively compiled BUILD_CPPFLAGS += " -I${S} -I${S}/et" - -do_install () { - # This will make the -s option work somewhat portably cross - # platform - STRIPPROG="$STRIP" oe_runmake 'DESTDIR=${D}' INSTALL='sh ${WORKDIR}/install-sh' install -} diff --git a/packages/install/.mtn2git_empty b/packages/install/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/install/.mtn2git_empty diff --git a/packages/install/files/.mtn2git_empty b/packages/install/files/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/install/files/.mtn2git_empty diff --git a/packages/cron/cron-3.0pl1/install-sh b/packages/install/files/install-sh index 0b65ee871d..0b65ee871d 100755..100644 --- a/packages/cron/cron-3.0pl1/install-sh +++ b/packages/install/files/install-sh diff --git a/packages/install/install-native_0.1.bb b/packages/install/install-native_0.1.bb new file mode 100644 index 0000000000..2ae7df615a --- /dev/null +++ b/packages/install/install-native_0.1.bb @@ -0,0 +1,25 @@ +# This package uses the GNU autotools install-sh script to implement +# a target-capable 'install' command. +DESCRIPTION = "Target install command" +MAINTAINER = "John Bowler <jbowler@acm.org>" +SECTION = "devel" +PRIORITY = "optional" +LICENSE = "MIT" +INHIBIT_DEFAULT_DEPS = "1" + +SRC_URI = "file://install-sh" + +PACKAGES = "" +S = "${WORKDIR}" + +do_stage() { + # When the install command is executed 'STRIP' is defined correctly in + # the environment + rm -f ${STAGING_BINDIR}/install-sh + cp install-sh ${STAGING_BINDIR}/install-sh + chmod 755 ${STAGING_BINDIR}/install-sh + rm -f ${STAGING_BINDIR}/install + echo '#!/bin/sh' >${STAGING_BINDIR}/install + echo 'STRIPPROG="$STRIP" exec sh "${STAGING_BINDIR}/install-sh" "$@"' >>${STAGING_BINDIR}/install + chmod 755 ${STAGING_BINDIR}/install +} diff --git a/packages/mgetty/mgetty_1.1.30.bb b/packages/mgetty/mgetty_1.1.30.bb index e06249051f..2760b4717e 100644 --- a/packages/mgetty/mgetty_1.1.30.bb +++ b/packages/mgetty/mgetty_1.1.30.bb @@ -43,6 +43,11 @@ SRC_URI = "http://nslu.sf.net/downloads/mgetty_1.1.30.orig.tar.gz \ CFLAGS_prepend = "-DAUTO_PPP -DFIDO " +# This is necessary because of the way the mgetty Makefile works, +# it effectively recursively makes . - without passing MAKE the -e +# flag. Oops. +export MAKE = "make -e" + do_compile () { cp ${WORKDIR}/policy.h ${WORKDIR}/voice-defs.h . ${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS} \ |