diff options
author | P. J. McDermott <pjm@nac.net> | 2012-10-03 18:47:03 (EDT) |
---|---|---|
committer | P. J. McDermott <pjm@nac.net> | 2012-10-03 18:47:03 (EDT) |
commit | 88f867d9995be83eb6e95d44b6ab3dd2e9aca8f2 (patch) | |
tree | d818653438075fba171940a00a9f0eb6cddfae8e /src | |
parent | 8d2c8338e4aca24c2e97d70a068a635cbbc6374a (diff) |
Implement ob-buildopk.
Diffstat (limited to 'src')
-rw-r--r-- | src/Makefile.in | 4 | ||||
-rw-r--r-- | src/ob-buildopk.sh | 58 |
2 files changed, 60 insertions, 2 deletions
diff --git a/src/Makefile.in b/src/Makefile.in index c90078d..a5a1264 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -43,8 +43,8 @@ SRCS = opkbuild.sh \ ob-applypatches.sh \ ob-installplatconf.sh \ ob-installdocs.sh \ - ob-gencontrol.sh #\ - ob-buildopk.sh \ + ob-gencontrol.sh \ + ob-buildopk.sh #\ ob-genchanges.sh OBJS = $(SRCS:.sh=) 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 "${@}" |