#!/bin/sh # # opkg - Multiarch support wrapper for opkg # # Copyright (C) 2020 Patrick 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 . set -eu main() { local first_arg= local arch_arg= local arg= first_arg=true arch_arg='' for arg in "${@}"; do if ${first_arg}; then set -- if [ -e '/etc/opkg/opkg.conf' ]; then set -- "${@}" --conf '/etc/opkg/opkg.conf' fi set -- "${@}" \ --add-arch all:100 \ --add-arch "$(cat /etc/proteanos_arch):50" \ --add-arch src:100 first_arg=false elif [ -n "${arch_arg}" ]; then case "${arg}" in -* | '') printf '%s: Option "%s" requires an argument\n'\ "${0}" "${arch_arg}" 1>&2 return 1 esac set -- "${@}" --add-arch "${arg}:100" arch_arg='' continue fi case "${arg}" in -a | --host-architecture) arch_arg="${arg}" continue ;; -a*) arg="${arg#-a}" set -- "${@}" --add-arch "${arg}:100" continue ;; --host-architecture=*) arch_arg="${arg%=*}" arg="${arg#--host-architecture=}" if [ -z "${arg}" ]; then printf '%s: Option "%s" requires '$(: \ )'an argument\n' \ "${0}" "${arch_arg}" 1>&2 return 1 fi set -- "${@}" --add-arch "${arg}:100" arch_arg='' continue ;; esac set -- "${@}" "${arg}" done if [ -n "${arch_arg}" ]; then printf '%s: Option "%s" requires an argument\n' \ "${0}" "${arch_arg}" 1>&2 return 1 fi if /usr/bin/opkg-cl "${@}"; then return 0 else return ${?} fi } main "${@}"