#!/usr/bin/env bash # # $Id: fmd,v 1.3 2025/04/07 04:01:47 snw Exp $ # FreeM dev script wrapper # # # Author: Serena Willis # Copyright (C) 2025 Coherent Logic Development LLC # # # This file is part of FreeM. # # FreeM is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # FreeM 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 Affero Public License for more details. # # You should have received a copy of the GNU Affero Public License # along with FreeM. If not, see . # # $Log: fmd,v $ # Revision 1.3 2025/04/07 04:01:47 snw # Fix output bug in fmd help # # Revision 1.2 2025/04/06 03:38:05 snw # Prepare for adding packaging functionality to fmd # # Revision 1.1 2025/04/04 18:00:01 snw # *** empty log message *** # # # SPDX-FileCopyrightText: (C) 2025 Coherent Logic Development LLC # SPDX-License-Identifier: AGPL-3.0-or-later # PGM=$(basename $0) SCRIPT_DIR=$(dirname "$0") source "${SCRIPT_DIR}/_fmd_common.bash" #echo "Welcome, $(echo ${_fmd_fullname} | awk '{ print $1 }') <${_fmd_email}>!" #echo #echo "fmd: running on ${_fmd_distribution} ${_fmd_osversion} (${_fmd_kernel} kernel) on ${_fmd_arch}" #echo "fmd: this repository contains sources for FreeM ${_fmd_freem_version}" function usage() { echo echo "FreeM developer utilities" echo echo "usage:" echo echo " ${PGM} [OPTIONS]" echo echo " is one of the following:" for FMDCMD in $(_fmd_commands) do if [[ "${FMDCMD}" != "pkg" ]] then echo " - ${FMDCMD}" fi done echo echo " To get detailed help on an individual fmd command:" echo " fmd help " echo exit 1 } if [[ $# < 1 ]] then usage fi FMD_COMMAND=$1 shift if [[ "${FMD_COMMAND}" == "help" ]] then if [[ $# == 0 ]] then usage else CMDSCRIPT="${SCRIPT_DIR}/fmd-$1" FMD_COMMAND="help" fi else CMDSCRIPT="${SCRIPT_DIR}/fmd-${FMD_COMMAND}" fi if [[ ! -x "${CMDSCRIPT}" ]] then echo "${PGM}: ${FMD_COMMAND} is not a valid command" exit 1 fi case "${FMD_COMMAND}" in help) ${CMDSCRIPT} help ;; log) ${SCRIPT_DIR}/fmd-log "${SCRIPT_DIR}/${PGM}" "$1" ;; commit) ${SCRIPT_DIR}/fmd-commit "${SCRIPT_DIR}/${PGM}" "$1" ;; *) ${CMDSCRIPT} "${SCRIPT_DIR}/${PGM}" $@ ;; esac