summaryrefslogtreecommitdiffstats
path: root/src/ob-buildopk.sh
diff options
context:
space:
mode:
Diffstat (limited to 'src/ob-buildopk.sh')
-rw-r--r--src/ob-buildopk.sh58
1 files changed, 58 insertions, 0 deletions
diff --git a/src/ob-buildopk.sh b/src/ob-buildopk.sh
new file mode 100644
index 0000000..a79d37b
--- /dev/null
+++ b/src/ob-buildopk.sh
@@ -0,0 +1,58 @@
+#!@@SH@@
+#
+# opkbuild
+# src/ob-buildopk
+# Pack binary package files into an opk file.
+#
+# Copyright (C) 2012 Patrick "P. J." McDermott
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+. '@@LIBOPKBUILD@@/load.sm'
+
+ob_use locale
+ob_use output
+ob_use package
+
+main()
+{
+ ob_set_text_domain 'opkbuild'
+
+ ob_init_package '..'
+ ob_parse_package_metadata -c '.opkbuild.cache'
+
+ echo '2.0' >debian-binary
+ if [ -n "${OB_DO_SOURCE}" ]; then
+ build_opk "src:${OB_SOURCE}" "${OB_SOURCE_VERSION}"
+ else
+ for pkg in $(ob_get_binary_packages); do
+ build_opk "${pkg}" "${OB_BINARY_VERSION}"
+ done
+ fi
+}
+
+build_opk()
+{
+ binary="${1}"
+ version="${2}"
+
+ (cd ${binary}.data && tar -czf '../data.tar.gz')
+ (cd ${binary}.control && tar -czf '../control.tar.gz')
+
+ tar -czf ../../${binary}_${version}_all.opk \
+ debian-binary data.tar.gz control.tar.gz
+ rm -Rf debian-binary control data.tar.gz control.tar.gz
+}
+
+main "${@}"