From c900074b320501a82b1cc2ef0ce37a5c0894a947 Mon Sep 17 00:00:00 2001 From: P. J. McDermott Date: Wed, 14 Nov 2012 21:38:11 -0500 Subject: Improve the system config generation kludge. --- diff --git a/configure b/configure index b0f843e..45de403 100755 --- a/configure +++ b/configure @@ -38,6 +38,7 @@ quiet='false' missing_deps='false' dep_cmds=' sh +make opkg ' opt_dep_libs=' @@ -329,6 +330,11 @@ write_makefiles() mkdir -p "${_dir}" sed "${_sed_script}" "${srcdir}/${_dir}/Makefile.in" >"${_dir}/Makefile" done + + # New and improved kludge to generate system configuration for testing. + # TODO: Remove when no longer used. + sed "${_sed_script}" "${srcdir}/mksysconf.in" >'mksysconf' + chmod 755 'mksysconf' } main "${@}" diff --git a/mksysconf.in b/mksysconf.in new file mode 100644 index 0000000..68a5899 --- /dev/null +++ b/mksysconf.in @@ -0,0 +1,49 @@ +#!@make@ -f +# +# opkbuild +# mksysconf.in +# Input makefile to generate system configuration to test opkbuild. +# +# 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 2 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 . + +package_name = @package_name@ +package_version = @package_version@ + +srcdir = @srcdir@ +prefix = @prefix@ +bindir = @bindir@ +libdir = @libdir@ +datadir = @datadir@ +mandir = @mandir@ +sysconfdir = @sysconfdir@ +libopkbuild = @libopkbuild@ +metadata = @metadata@ +opkhelper_3_0 = @opkhelper_3_0@ + +DESTDIR = / + +ARCH = core-linux-eglibc +PLAT = dev + +default: + @printf 'Generating build system configuration...\n' + @mkdir -p '${sysconfdir}' || \ + { printf 'Error: Cannot make system configuration directory\n'; exit 1;} + @echo '${ARCH}' >'${sysconfdir}/proteanos_arch' || \ + { printf 'Error: Cannot write proteanos_arch\n'; exit 1;} + @echo '${PLAT}' >'${sysconfdir}/proteanos_plat' || \ + { printf 'Error: Cannot write proteanos_plat\n'; exit 1;} + @printf 'Done!\n' diff --git a/testsetup.sh b/testsetup.sh deleted file mode 100755 index f32df15..0000000 --- a/testsetup.sh +++ /dev/null @@ -1,130 +0,0 @@ -#! /bin/sh -# -# opkbuild -# testsetup -# Generates configuration and data files to test opkbuild. -# -# 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 2 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 . - -sysconfdir='' - -long_opts_with_args=' -sysconfdir -' - -main() -{ - parse_options "${@}" - shift ${optind} - - [ -z "${sysconfdir}" ] && sysconfdir='/etc' - - if [ ${#} -ne 2 ]; then - print_usage - exit 1 - fi - - build_arch="${1}" - build_plat="${2}" - - printf 'Generating build system configuration...\n' - mkdir -p "${sysconfdir}" || \ - error 'Cannot make system configuration directory' - echo "${build_arch}" >"${sysconfdir}/proteanos_arch" || \ - error 'Cannot write proteanos_arch' - echo "${build_plat}" >"${sysconfdir}/proteanos_plat" || \ - error 'Cannot write proteanos_plat' - - printf 'Done!\n' -} - -print_usage() -{ - printf 'Usage: %s [OPTION]... build-arch build-plat\n' "${0}" -} - -parse_options() -{ - optind=0 - - for _opt; do - - # Handle arguments of "--opt arg" options. - if [ -n "${_prev}" ]; then - eval "${_prev}"=\"\$\{_opt\}\" - _prev='' - continue - fi - - # Detect "--opt=arg" and "--opt arg" options. - case "${_opt}" in - *=*) - _optarg="${_opt#*=}" - _opt="${_opt%=*}" - _optarg_set='true' - ;; - *) - _optarg_set='false' - ;; - esac - - # Handle short and long options. - case "${_opt}" in - --) - break - ;; - esac - - # Anything beyond this point should be a long option. - case "${_opt}" in - --*) - _opt="${_opt#--}" - _opts="${long_opts_with_args}" - _type='option' - ;; - *) - break - ;; - esac - - grep "^${_opt}\$" >/dev/null 2>&1 <&2 - exit 1 - fi - if ${_optarg_set}; then - _opt="$(printf '%s' "${_opt}" | tr -c '[a-z0-9]' '_')" - eval "${_opt}"=\"\$\{_optarg\}\" - else - _prev="${_opt}" - fi - - optind=$(($optind + 1)) - - done -} - -error() -{ - printf '%s: Error: ' "${0##*/}" - printf "${@}" - printf '\n' - exit 1 -} - -main "${@}" -- cgit v0.9.1