summaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
authorMarc Kleine-Budde <mkl@pengutronix.de>2009-06-14 22:25:48 +0000
committerMarc Kleine-Budde <mkl@pengutronix.de>2009-06-14 22:25:48 +0000
commit3f6aaa42c3706673109ffd53810cb7132ed38123 (patch)
tree418405b0c99ad1ae13df8272a6c2c88f0bc5124e /scripts
parent54d371cfbdf63ca413e93b234c2d159fe85030b1 (diff)
downloadptxdist-3f6aaa42c3706673109ffd53810cb7132ed38123.tar.gz
ptxdist-3f6aaa42c3706673109ffd53810cb7132ed38123.tar.xz
[ptxd_make_xpkg_finish] provide function for generic packaging
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de> Please enter the commit message for your changes. Lines starting git-svn-id: https://svn.pengutronix.de/svn/ptxdist/trunks/ptxdist-trunk@10780 33e552b5-05e3-0310-8538-816dae2090ed
Diffstat (limited to 'scripts')
-rw-r--r--scripts/lib/ptxd_make_xpkg_finish.sh93
1 files changed, 93 insertions, 0 deletions
diff --git a/scripts/lib/ptxd_make_xpkg_finish.sh b/scripts/lib/ptxd_make_xpkg_finish.sh
new file mode 100644
index 000000000..c457f1f0c
--- /dev/null
+++ b/scripts/lib/ptxd_make_xpkg_finish.sh
@@ -0,0 +1,93 @@
+#!/bin/bash
+#
+# Copyright (C) 2005, 2006, 2007 Robert Schwebel <r.schwebel@pengutronix.de>
+# 2008, 2009 by Marc Kleine-Budde <mkl@pengutronix.de>
+#
+# See CREDITS for details about who has contributed to this project.
+#
+# For further information about the PTXdist project and license conditions
+# see the README file.
+#
+
+
+
+#
+# collect dependencies
+#
+# in some rare cases there is more than one xpkg per package and/or
+# the names don't correspond, so we have to use the mapping file
+#
+# in: $pkg_deps (space seperated)
+# out: $pkg_xpkg_deps (array)
+#
+ptxd_make_xpkg_deps() {
+ # do deps
+ if [ -z "${pkg_deps}" ]; then
+ return
+ fi
+
+ set -- ${pkg_deps[*]}
+
+ local dep
+ while [ ${#} -ne 0 ]; do
+ local map="${ptx_state_dir}/${1}.xpkg.map"
+ shift
+
+ if [ \! -e "${map}" ]; then
+ continue
+ fi
+
+ while read dep; do
+ pkg_xpkg_deps=( "${pkg_xpkg_deps[@]}" "${dep}" )
+ done < "${map}"
+ done
+}
+export -f ptxd_make_xpkg_deps
+
+
+
+#
+# function to create a generic package
+#
+ptxd_make_xpkg_finish() {
+ ptxd_make_xpkg_init || return
+
+ #
+ # no perm file -> no files to package -> exit
+ #
+ if [ \! -f "${pkg_xpkg_perms}" ]; then
+ ptxd_warning "Packet '${pkg_xpkg}' is empty. not generating"
+ rm -rf -- "${pkg_xpkg_tmp}"
+ return
+ fi
+
+
+ #
+ # license
+ #
+ echo -n "xpkg_finish: collecting license (${pkg_xpkg_license}) ... "
+ echo "${pkg_xpkg_license}" > "${pkg_xpkg_license_file}"
+ echo "done."
+
+
+ #
+ # create pkg
+ #
+ local ret=0
+
+ ptxd_make_xpkg_deps || return
+
+ echo -n "xpkg_finish: creating ${pkg_xpkg_type} package ... " &&
+ "ptxd_make_${pkg_xpkg_type}_finish" || ret=$?
+ rm -rf "${pkg_xpkg_tmp}"
+
+ if [ $? -ne 0 -o ${ret} -ne 0 ]; then
+ echo "failed."
+ return 1
+ else
+ echo "done."
+ fi
+
+ return
+}
+export -f ptxd_make_xpkg_finish