summaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
authorLuotao Fu <l.fu@pengutronix.de>2006-11-08 17:06:51 +0000
committerLuotao Fu <l.fu@pengutronix.de>2006-11-08 17:06:51 +0000
commit0f478f2567d0598096e510aedab5fbd7d6f3b098 (patch)
tree8b814e327ae1436c19574f98c56cbc5f6bc0144e /scripts
parent323607766a2e49d72426665433f7165ea44c0c74 (diff)
downloadptxdist-0f478f2567d0598096e510aedab5fbd7d6f3b098.tar.gz
ptxdist-0f478f2567d0598096e510aedab5fbd7d6f3b098.tar.xz
fixed automatic target install stage, now doing some beta tests
git-svn-id: https://svn.pengutronix.de/svn/ptxdist/trunks/ptxdist-trunk@6289 33e552b5-05e3-0310-8538-816dae2090ed
Diffstat (limited to 'scripts')
-rw-r--r--scripts/make_targetinstall.sh70
1 files changed, 44 insertions, 26 deletions
diff --git a/scripts/make_targetinstall.sh b/scripts/make_targetinstall.sh
index da823fb8e..e803b757a 100644
--- a/scripts/make_targetinstall.sh
+++ b/scripts/make_targetinstall.sh
@@ -1,11 +1,11 @@
-#!/bin/sh
+#!/bin/bash
#
# automatic generate target install stage for ptx_dist
#
set -e
-. `dirname $0`/libptxdist.sh
+#. `dirname $0`/libptxdist.sh
usage() {
echo
@@ -14,74 +14,92 @@ usage() {
echo
echo " Arguments:"
echo
- echo " -b <path> build directory"
+ echo " -t <path> top directory containing source package"
echo " -c clean up the temp dir"
echo " -d <path> root of install destination"
echo " -p <full filename or wildcard> original filename pattern"
echo " -r <acces right> access rights"
echo " -n <package name> packagename"
+ echo " -f <full package name> full packagename"
echo " -o <owner> owner of the file"
echo " -g <group> group of the file"
echo " -s <path> state dir"
+ echo " -i <strip program> name of the program to strip the binary"
echo " -h show help"
exit 1
}
-while getopts "hcb:r:d:p:" OPT
+while getopts "hct:n:f:p:r:s:o:g:i:d:" flag
do
- case "$OPT" in
+ case "$flag" in
h) usage
exit 1
;;
- c) CLEANUP=1;
+ c) CLEANUP=1
;;
- b) BUILDDIR=`ptxd_abspath $OPTARG`;
+ t) TOPDIR=$OPTARG
;;
- n) PACKNAME=$OPTARG;
+ n) PACKNAME=$OPTARG
;;
- p) FILEPATTERN=`ptxd_abspath $OPTARG`;
+ f) FPACKNAME=$OPTARG
+ ;;
+ p) FILEPATTERN=$OPTARG
;;
- r) ACCRIGHT=$OPTARG;
+ r) ACCRIGHT=$OPTARG
;;
- s) STATEDIR=$OPTARG;
+ s) STATEDIR=$OPTARG
+ ;;
+ o) FILEOWNER=$OPTARG
;;
- o) FILEOWNER=$OPTARG;
+ g) FILEGROUP=$OPTARG
;;
- g) FILEGROUP=$OPTARG;
+ i) STRIPPER=$OPTARG
+ ;;
+ d) DEST_ROOT=$OPTARG
;;
- d) DEST_ROOT=`ptxd_abspath $OPTARG`;
esac
done
+
shift `expr $OPTIND - 1`
-STAMP=auto_targetinstall.stamp
ORIG_DIR=`dirname "${FILEPATTERN}"`
ORIG_FILE=`basename "${FILEPATTERN}"`
+BUILDDIR=${TOPDIR}/${FPACKNAME}
+STAMP=${BUILDDIR}/auto_targetinstall.stamp
+
+[ ! -d "${BUILDDIR}" ] && { echo "Source dir ${BUILDDIR} not found"; exit 1; }
+
+[ ! -e "${DEST_ROOT}" ] && { echo "creating ${DEST_ROOT}"; mkdir -p ${DEST_ROOT}; }
+
cd ${BUILDDIR}
+echo "DEBUG: builddir: ${BUILDDIR}, dest_root: ${DEST_ROOT}, fileowner: $FILEOWNER"
-if [ -e $STAMP ];
+if [ -e $STAMP ];then
TMP_DEST=`cat auto_targetinstall.stamp`
else
- TMP_DEST=`mktemp -p ${BUILDDIR}`
- make install DEST_DIR=${TMP_DEST}
+ TMP_DEST=`mktemp -d -p ${BUILDDIR}`
+ echo "DEBUG: tmpdir : $TMP_DEST"
+ make install DESTDIR=${TMP_DEST}
echo ${TMP_DEST} > $STAMP
+ ls ${TMP_DEST}/${FILEPATTERN} >/dev/null
+ [ $? -ne 0 ] && { echo "no valid installation found in ${TMP_DEST}" >&2; exit 1; }
fi
-ls ${TMP_DEST}/${FILEPATTER} >/dev/null
-[ $? -ne 0 ] && exit 1
[ ! -d ${TMP_DEST} ] && exit 1
-[ $CLEANUP == 1 ] && { rm -rf $TMP_DEST; return; }
+[ ! -z $CLEANUP ] && { rm -rf $TMP_DEST; return; }
cd ${TMP_DEST}
-#find . -mindepth 1 -name "${ORIG_FILE}" \
-# -exec sh -c "echo {} | cut -c 2-" >> ${STATEDIR}/${PACKNAME}.perm \
-# -print
-# | cpio -pamd $DEST_ROOT
+[ -e ${TMP_DEST}/tmp.perms ] && rm ${TMP_DEST}/tmp.perms
+
for i in `find . -mindepth 1 -name "${ORIG_FILE}"`; do
+ if [ ! -d $i ];then
+ echo "f:`echo $i | cut -c 2-`:${FILEOWNER}:${FILEGROUP}:${ACCRIGHT}" >> ${TMP_DEST}/tmp.perms
+ fi
+ [ ! -z ${STATEDIR} ] && mv ${TMP_DEST}/tmp.perms ${STATEDIR}/${PACKNAME}.perms
+ [ ! -z ${STRIPPER} ] && ${STRIPPER} -R .note -R .comment $i
echo $i | cpio -pamd $DEST_ROOT
- [ ! -d $i ] && echo "f:`echo $i | cut -c 2-`:${FILEOWNER}:${FILEGROUP}:${ACCRIGHT}" >> ${STATEDIR}/${PACKNAME}.perm
done