#!/bin/sh # This file is part of scripts. # scripts 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, version 3. # scripts 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 scripts. If not, see . # Original author: Maciej Barć # Copyright (c) 2021, src_prepare group # Licensed under the GNU GPL v3 License # Exit if script is not sourced case ${-} in *i* ) : ;; * ) printf "%s\n" "Run: source ${0}" \ ">>> Exiting the shell" \ >> /dev/stderr exit 1 ;; esac # Internal _timest="$(date +%Y-%m-%d_%H:%M:%S || echo 'null')" _tmpdir='/tmp/edev' _toplevel="$(git rev-parse --show-toplevel || echo '/dev/null')" # Mark time when user entered environment for given repository if mkdir -p "${_tmpdir}" then if cd "${_tmpdir}" then ln -fs "${_toplevel}" "${_timest}" cd - || echo 'Bug?' fi fi # Set variables for ebuild development ACCEPT_LICENSE='*' export ACCEPT_LICENSE if type lz4 >/dev/null then BINPKG_COMPRESS='lz4' export BINPKG_COMPRESS fi if mkdir -p "${_tmpdir}/dist" then DISTDIR="${_tmpdir}/dist" export DISTDIR fi GENTOO_MIRRORS='' export GENTOO_MIRRORS INSTALL_MASK='' export INSTALL_MASK if mkdir -p "${_tmpdir}/elog" then PORTAGE_ELOG_CLASSES='warn error log' export PORTAGE_ELOG_CLASSES PORTAGE_ELOG_SYSTEM='save' export PORTAGE_ELOG_SYSTEM PORTAGE_LOGDIR="${_tmpdir}/elog" export PORTAGE_LOGDIR fi if [ -e "${_toplevel}/profiles/repo_name" ] then PORTDIR="${_toplevel}" export PORTDIR fi PS1="(ebuild) ${PS1}" # Some helpful aliases alias cd-edev='cd ${_tmpdir}' alias cd-repo='cd ${_toplevel}' alias cd-dist='cd ${DISTDIR}' alias cd-elog='cd ${PORTAGE_LOGDIR}' alias clean-edev='rm -r ${_tmpdir}' alias clean-dist='rm -r ${DISTDIR}' alias clean-elog='rm -r ${PORTAGE_LOGDIR}' alias ls-edev='ls -ahl ${_tmpdir}' alias ls-repo='ls -ahl ${_toplevel}' alias ls-dist='ls -ahl ${DISTDIR}' alias ls-elog='ls -ahl ${PORTAGE_LOGDIR}' clear echo ">>> Entering Ebuild development environment"