Compare commits

...

17 Commits

Author SHA1 Message Date
Maciej Barć 56bdfe5c35
src/repomanci: update ignored
Signed-off-by: Maciej Barć <xgqt@riseup.net>
2021-07-24 00:58:25 +02:00
Maciej Barć 82a583f00d
ebuild-activate: tweaks; add more aliases; mark time
Signed-off-by: Maciej Barć <xgqt@riseup.net>
2021-07-05 14:13:02 +02:00
Maciej Barć 5db7afa3d5
ebuild-activate: add PORTAGE_*LOG*
Signed-off-by: Maciej Barć <xgqt@riseup.net>
2021-07-05 13:54:45 +02:00
Maciej Barć 662d9b42f4
src/ebuild-activate: change PS1
Signed-off-by: Maciej Barć <xgqt@riseup.net>
2021-07-03 16:27:17 +02:00
Maciej Barć e1973e3055
src: add ebuild-activate
Thanks to Micahł Górny for inspiration: https://0x0.st/-fQu.sh

Signed-off-by: Maciej Barć <xgqt@riseup.net>
2021-07-03 16:19:06 +02:00
Maciej Barć 910a2e8426
src/*: empty GENTOO_MIRRORS
Signed-off-by: Maciej Barć <xgqt@riseup.net>
2021-07-01 20:09:16 +02:00
Maciej Barć 452a71560e
src: verbose repoman
Signed-off-by: Maciej Barć <xgqt@riseup.net>
2021-06-06 23:58:36 +02:00
Maciej Barć b71af2ce28
.gitlab-ci.yml: switch to dyne/devuan:ceres image
Signed-off-by: Maciej Barć <xgqt@riseup.net>
2021-06-04 10:59:29 +02:00
xosefulk d4306a3f7e
simplify logic 2021-06-04 14:21:00 +06:00
xosefulk 14b734ad42
ditch `echo` for `printf` & redirect error messages to standard output stream 2021-06-04 14:19:26 +06:00
Maciej Barć 850ca56ff7
src/eball: update usage
Signed-off-by: Maciej Barć <xgqt@riseup.net>
2021-04-18 02:03:25 +02:00
Maciej Barć c6b6f6062d
*: update my email (xgqt@riseup.net)
Signed-off-by: Maciej Barć <xgqt@riseup.net>
2021-04-18 02:02:15 +02:00
Maciej Barć ba55fe2f2d
src/install-ebuild-deps: fix some stupid bugs; update copyright
Signed-off-by: Maciej Barć <xgqt@riseup.net>
2021-04-18 01:59:44 +02:00
Maciej Barć e2cd817f72
src/commit-ebuild: rework; add options to quickly bump or drop pkgs
Signed-off-by: Maciej Barć <xgqt@riseup.net>
2021-04-08 23:57:45 +02:00
Maciej Barć 8945817ba4
LICENSE: original text
Signed-off-by: Maciej Barć <xgqt@riseup.net>
2021-03-29 13:26:46 +02:00
Maciej Barć c0570e273b
README.md: re-format; update license text
Signed-off-by: Maciej Barć <xgqt@riseup.net>
2021-03-29 13:02:48 +02:00
Maciej Barć 9987663dc4
*: move to GPL-3.0-only
Signed-off-by: Maciej Barć <xgqt@riseup.net>
2021-03-29 13:02:30 +02:00
22 changed files with 385 additions and 203 deletions

View File

@ -2,8 +2,7 @@
# scripts is free software: you can redistribute it and/or modify # scripts is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or # the Free Software Foundation, version 3.
# (at your option) any later version.
# scripts is distributed in the hope that it will be useful, # scripts is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of # but WITHOUT ANY WARRANTY; without even the implied warranty of
@ -13,21 +12,24 @@
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with scripts. If not, see <https://www.gnu.org/licenses/>. # along with scripts. If not, see <https://www.gnu.org/licenses/>.
# Original author: Maciej Barć (xgqt@protonmail.com) # Original author: Maciej Barć <xgqt@riseup.net>
# Copyright (c) 2020, src_prepare group # Copyright (c) 2020-2021, src_prepare group
# Licensed under the GNU GPL v3 License # Licensed under the GNU GPL v3 License
image: debian:stable-slim image: dyne/devuan:ceres
stages: stages:
- test - test
before_script: before_script:
- apt-get update - apt update
- apt-get install -y bash pylint3 shellcheck - apt-get install -y bash pylint3 shellcheck
- ln -fs $(which pylint3) /usr/bin/pylint - ln -fs $(which pylint3) /usr/bin/pylint
test: test:
stage: test stage: test
script: script:

View File

@ -1,3 +1,5 @@
# Scripts
<p align="center"> <p align="center">
<a href="https://gitlab.com/src_prepare/scripts/pipelines"> <a href="https://gitlab.com/src_prepare/scripts/pipelines">
<img src="https://gitlab.com/src_prepare/scripts/badges/master/pipeline.svg"> <img src="https://gitlab.com/src_prepare/scripts/badges/master/pipeline.svg">
@ -20,6 +22,30 @@
</p> </p>
# Scripts # About
Miscellaneous maintenance scripts by src_prepare group Miscellaneous maintenance scripts by src_prepare group
# License
SPDX-License-Identifier: GPL-3.0-only
## Unless otherwise stated contents here are under the GNU GPL v3 license
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 <https://www.gnu.org/licenses/>.
Copyright (c) 2020-2021, src_prepare group
Licensed under the GNU GPL v3 License

View File

@ -5,8 +5,7 @@
# scripts is free software: you can redistribute it and/or modify # scripts is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or # the Free Software Foundation, version 3.
# (at your option) any later version.
# scripts is distributed in the hope that it will be useful, # scripts is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of # but WITHOUT ANY WARRANTY; without even the implied warranty of
@ -16,7 +15,7 @@
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with scripts. If not, see <https://www.gnu.org/licenses/>. # along with scripts. If not, see <https://www.gnu.org/licenses/>.
# Original author: Maciej Barć (xgqt@protonmail.com) # Original author: Maciej Barć <xgqt@riseup.net>
# Copyright (c) 2020, src_prepare group # Copyright (c) 2020, src_prepare group
# Licensed under the GNU GPL v3 License # Licensed under the GNU GPL v3 License
@ -28,7 +27,7 @@
# Check if we are in a git repo # Check if we are in a git repo
if ! git status >/dev/null; then if ! git status >/dev/null; then
echo "Not a git repo... exiting" printf "%s\n" "Not a git repo... exiting" >> /dev/stderr
exit 1 exit 1
fi fi
@ -47,19 +46,20 @@ fi
# This will likely exit firh error, because repoman # This will likely exit firh error, because repoman
# has to download some files (metadata.xsd) # has to download some files (metadata.xsd)
# We do that so we can truthfully test the actual latest commit # We do that so we can truthfully test the actual latest commit
echo ">>> Starting full test" printf "%s\n" \
echo "Running repoman -Idix" ">>> Starting full test" \
repoman -Idix "Running repoman -Idix"
echo "Running pkgcheck scan" repoman --verbose -Idix
printf "%s\n" "Running pkgcheck scan"
pkgcheck scan pkgcheck scan
echo ">>> Starting latest commit test" printf "%s\n" ">>> Starting latest commit test"
test_success=true test_success=true
# Use pkgchek # Use pkgchek
echo "Running pkgcheck scan --commits" printf "%s\n" "Running pkgcheck scan --commits"
pkgcheck scan --commits || test_success=false pkgcheck scan --commits || test_success=false
# Iterate through changed files in last commit # Iterate through changed files in last commit
@ -79,10 +79,10 @@ do
if cd "${commit_dir}" if cd "${commit_dir}"
then then
echo printf "\n%s\n" \
echo "Directory $(pwd):" "Directory $(pwd):" \
echo "Running repoman -Idix" "Running repoman -Idix"
repoman -Idix || test_success=false repoman --verbose -Idix || test_success=false
cd - >/dev/null || return cd - >/dev/null || return
fi fi
done done
@ -90,7 +90,7 @@ done
# If any of the QA tools fail the test will fail # If any of the QA tools fail the test will fail
if [ ${test_success} = false ] if [ ${test_success} = false ]
then then
echo ">>> Exiting with failure due to previous errors..." printf "%s\n" ">>> Exiting with failure due to previous errors..." >> /dev/stderr
exit 1 exit 1
else else
exit 0 exit 0

View File

@ -5,8 +5,7 @@
# scripts is free software: you can redistribute it and/or modify # scripts is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or # the Free Software Foundation, version 3.
# (at your option) any later version.
# scripts is distributed in the hope that it will be useful, # scripts is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of # but WITHOUT ANY WARRANTY; without even the implied warranty of
@ -16,7 +15,7 @@
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with scripts. If not, see <https://www.gnu.org/licenses/>. # along with scripts. If not, see <https://www.gnu.org/licenses/>.
# Original author: Maciej Barć <xgqt@protonmail.com> # Original author: Maciej Barć <xgqt@riseup.net>
# Copyright (c) 2021, src_prepare group # Copyright (c) 2021, src_prepare group
# Licensed under the GNU GPL v3 License # Licensed under the GNU GPL v3 License
@ -70,8 +69,12 @@ do
done done
# Output info with colors. # Output info with colors.
echo -e "\e[1;33m${PACKAGE}\e[0m" purple=$'\e[1;35m'
echo -e " \e[1;35mPortage:\e[0m${PORTPACK_VERS}" esc=$'\e[0m'
echo -e " \e[1;35mOverlay:\e[0m${OVERPACK_VERS}"
printf "%s\n" \
"${purple}${PACKAGE}${esc}" \
" ${purple}Portage:${esc}${PORTPACK_VERS}" \
" ${purple}Overlay:${esc}${OVERPACK_VERS}"
fi fi
done done

View File

@ -5,8 +5,7 @@
# scripts is free software: you can redistribute it and/or modify # scripts is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or # the Free Software Foundation, version 3.
# (at your option) any later version.
# scripts is distributed in the hope that it will be useful, # scripts is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of # but WITHOUT ANY WARRANTY; without even the implied warranty of
@ -16,7 +15,7 @@
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with scripts. If not, see <https://www.gnu.org/licenses/>. # along with scripts. If not, see <https://www.gnu.org/licenses/>.
# Original author: Maciej Barć <xgqt@protonmail.com> # Original author: Maciej Barć <xgqt@riseup.net>
# Copyright (c) 2020-2021, src_prepare group # Copyright (c) 2020-2021, src_prepare group
# Licensed under the GNU GPL v3 License # Licensed under the GNU GPL v3 License
@ -47,11 +46,12 @@ reset="$(tput sgr0)"
ok_msg() { ok_msg() {
echo "${bold}${green}* ${white}${1}${reset}" printf "%s\n" "${bold}${green}* ${white}${1}${reset}"
} }
err_msg() { err_msg() {
echo "${bold}${red}* ${white}${1}${reset}" # redirect error messages to standard error stream
printf "%s\n" "${bold}${red}* ${white}${1}${reset}" >> /dev/stderr
} }
usage() { usage() {
@ -104,7 +104,7 @@ do
if [ "${known_unique#*${pkg}}" = "${known_unique}" ] if [ "${known_unique#*${pkg}}" = "${known_unique}" ]
then then
nnuniq=$((nnuniq + 1)) nnuniq=$((nnuniq + 1))
echo printf "\n"
ok_msg "Package ${nnuniq} ${pkg}:" ok_msg "Package ${nnuniq} ${pkg}:"
use_eix --exact --force-color "${pkg}" use_eix --exact --force-color "${pkg}"
fi fi

View File

@ -5,8 +5,7 @@
# scripts is free software: you can redistribute it and/or modify # scripts is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or # the Free Software Foundation, version 3.
# (at your option) any later version.
# scripts is distributed in the hope that it will be useful, # scripts is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of # but WITHOUT ANY WARRANTY; without even the implied warranty of
@ -16,7 +15,7 @@
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with scripts. If not, see <https://www.gnu.org/licenses/>. # along with scripts. If not, see <https://www.gnu.org/licenses/>.
# Original author: Maciej Barć (xgqt@protonmail.com) # Original author: Maciej Barć <xgqt@riseup.net>
# Copyright (c) 2020, src_prepare group # Copyright (c) 2020, src_prepare group
# Licensed under the GNU GPL v3 License # Licensed under the GNU GPL v3 License
@ -37,5 +36,5 @@ then
su root -c "rm -fr ${cache}" || exit 1 su root -c "rm -fr ${cache}" || exit 1
fi fi
else else
echo "No pre-generated md5-cache found in ${cache}" printf "%s\n" "No pre-generated md5-cache found in ${cache}" >> /dev/stderr
fi fi

View File

@ -5,8 +5,7 @@
# scripts is free software: you can redistribute it and/or modify # scripts is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or # the Free Software Foundation, version 3.
# (at your option) any later version.
# scripts is distributed in the hope that it will be useful, # scripts is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of # but WITHOUT ANY WARRANTY; without even the implied warranty of
@ -16,7 +15,7 @@
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with scripts. If not, see <https://www.gnu.org/licenses/>. # along with scripts. If not, see <https://www.gnu.org/licenses/>.
# Original author: Maciej Barć (xgqt@protonmail.com) # Original author: Maciej Barć <xgqt@riseup.net>
# Copyright (c) 2020, src_prepare group # Copyright (c) 2020, src_prepare group
# Licensed under the GNU GPL v3 License # Licensed under the GNU GPL v3 License
@ -26,21 +25,54 @@ set -e
export PATH export PATH
pdir="$(git rev-parse --show-prefix)"
FEATURES="sign" FEATURES="sign"
export FEATURES export FEATURES
package_directory="$(git rev-parse --show-prefix)"
package="${package_directory%/}"
error_no_version() {
printf "%s\n" \
"[ERROR]: No version given" \
" Ran with option: ${1}" >> /dev/stderr
exit 1
}
git add . git add .
if [ -z "${1}" ] case "${1}"
then in
repoman commit "" )
else printf "%s\n" "[DEBUG]: no additional arguments/options given" >> /dev/stderr
repoman commit -m "${pdir%/}: ${*}" repoman commit
fi ;;
-b | --bump )
git pull --verbose printf "%s\n" "[DEBUG]: to be: ${package}: bump to ${2}"
git push --verbose if [ -n "${2}" ]
then
repoman commit -m "${package}: bump to ${2}"
else
error_no_version "${1}"
fi
;;
-d | --drop )
printf "%s\n" "[DEBUG]: to be: ${package}: drop old ${2}"
if [ -n "${2}" ]
then
repoman commit -m "${package}: drop old ${2}"
else
error_no_version "${1}"
fi
;;
-* )
printf "%s\n" "[ERROR]: Unknown option ${1}" >> /dev/stderr
exit 1
;;
* )
printf "%s\n" "[DEBUG]: to be: ${package}: ${*}"
repoman commit -m "${package}: ${*}"
;;
esac

View File

@ -5,8 +5,7 @@
# scripts is free software: you can redistribute it and/or modify # scripts is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or # the Free Software Foundation, version 3.
# (at your option) any later version.
# scripts is distributed in the hope that it will be useful, # scripts is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of # but WITHOUT ANY WARRANTY; without even the implied warranty of
@ -16,8 +15,8 @@
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with scripts. If not, see <https://www.gnu.org/licenses/>. # along with scripts. If not, see <https://www.gnu.org/licenses/>.
# Original author: Maciej Barć (xgqt@protonmail.com) # Original author: Maciej Barć <xgqt@riseup.net>
# Copyright (c) 2020, src_prepare group # Copyright (c) 2020-2021, src_prepare group
# Licensed under the GNU GPL v3 License # Licensed under the GNU GPL v3 License
@ -30,9 +29,9 @@ usage() {
Usage: eball FILES Usage: eball FILES
eball - test new ebuilds eball - test new ebuilds
Original author: XGQT Original author: Maciej Barć
Copyright (c) 2020, src_prepare group Copyright (c) 2020-2021, src_prepare group
Licensed under the ISC License Licensed under the GPLv3
HELP HELP
} }
@ -50,12 +49,12 @@ fi
for ebuild in "${@}" for ebuild in "${@}"
do do
# one may want this to be unprivileged # one may want this to be unprivileged
repoman manifest || ebuild "${ebuild}" manifest GENTOO_MIRRORS="" repoman manifest || ebuild "${ebuild}" manifest
# we want this to be privileged on Gentoo systems # we want this to be privileged on Gentoo systems
if [ "$(whoami)" != root ] && [ -z "${EPREFIX}" ] if [ "$(whoami)" != root ] && [ -z "${EPREFIX}" ]
then then
echo "Switching to the root account" printf "%s\n" "Switching to the root account"
su root -c "ebuild ${ebuild} clean test merge" su root -c "ebuild ${ebuild} clean test merge"
else else
ebuild "${ebuild}" clean test merge ebuild "${ebuild}" clean test merge

119
src/ebuild-activate Normal file
View File

@ -0,0 +1,119 @@
#!/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 <https://www.gnu.org/licenses/>.
# Original author: Maciej Barć <xgqt@riseup.net>
# 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"

View File

@ -5,8 +5,7 @@
# scripts is free software: you can redistribute it and/or modify # scripts is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or # the Free Software Foundation, version 3.
# (at your option) any later version.
# scripts is distributed in the hope that it will be useful, # scripts is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of # but WITHOUT ANY WARRANTY; without even the implied warranty of
@ -16,7 +15,7 @@
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with scripts. If not, see <https://www.gnu.org/licenses/>. # along with scripts. If not, see <https://www.gnu.org/licenses/>.
# Original author: Maciej Barć (xgqt@protonmail.com) # Original author: Maciej Barć <xgqt@riseup.net>
# Copyright (c) 2020, src_prepare group # Copyright (c) 2020, src_prepare group
# Licensed under the GNU GPL v3 License # Licensed under the GNU GPL v3 License
@ -37,9 +36,8 @@ command_exists() {
if command -v "${1}" >/dev/null if command -v "${1}" >/dev/null
then then
return 0 return 0
else
return 1
fi fi
return 1
} }
if command_exists tput if command_exists tput
@ -59,7 +57,7 @@ eprefix_addpath() {
PATH=${1}:${PATH} PATH=${1}:${PATH}
export PATH export PATH
else else
echo "${eprefix_warn} ${1} not found" printf "%s\n" "${eprefix_warn} ${1} not found" >> /dev/stderr
fi fi
} }
@ -69,7 +67,7 @@ eprefix_addman() {
MANPATH=${1}:${MANPATH} MANPATH=${1}:${MANPATH}
export MANPATH export MANPATH
else else
echo "${eprefix_warn} ${1} not found" printf "%s\n" "${eprefix_warn} ${1} not found" >> /dev/stderr
fi fi
} }
@ -96,9 +94,10 @@ case ${-} in
: :
;; ;;
* ) * )
echo "${eprefix_bad} Error: not a login shell" printf "%s\n" \
echo "${eprefix_bad} Run: source ${0}" "${eprefix_bad} Error: not a login shell" \
echo ">>> Exiting the shell" "${eprefix_bad} Run: source ${0}" \
">>> Exiting the shell" >> /dev/stderr
exit 1 exit 1
;; ;;
esac esac
@ -106,8 +105,9 @@ esac
# Exit if eprefix does not exist # Exit if eprefix does not exist
if [ ! -d "${EPREFIX}" ] if [ ! -d "${EPREFIX}" ]
then then
echo "${eprefix_bad} No ${EPREFIX} found!" printf "%s\n" \
echo ">>> Exiting the shell" "${eprefix_bad} No ${EPREFIX} found!" \
">>> Exiting the shell" >> /dev/stderr
sleep 3 sleep 3
exit 1 exit 1
fi fi
@ -179,44 +179,42 @@ FEATURES="${FEATURES} -usersandbox -sandbox"
export FEATURES export FEATURES
# Check if we are on a prefix profile # Check if we are on a prefix profile
echo "" printf "\n"
if command_exists eselect if command_exists eselect
then then
eprofile="$(eselect profile show)" eprofile="$(eselect profile show)"
if [[ "${eprofile}" == *prefix* ]] if [[ "${eprofile}" == *prefix* ]]
then then
echo "${eprefix_good} ${eprofile}" printf "%s\n" "${eprefix_good} ${eprofile}"
else else
echo "${eprefix_bad} You are not on a prefix profile" printf "%s\n" "${eprefix_bad} You are not on a prefix profile" >> /dev/stderr
fi fi
unset eprofile unset eprofile
else else
echo "${eprefix_bad} Could not determine running profile" printf "%s\n" "${eprefix_bad} Could not determine running profile" >> /dev/stderr
fi fi
# >>> Finish # >>> Finish
echo "" printf "\n%s\n" \
echo ">>> Sourced the eprefix script" ">>> Sourced the eprefix script\n" \
echo "" "${eprefix_good} Prefix: ${EPREFIX}" \
echo "${eprefix_good} Prefix: ${EPREFIX}" "${eprefix_good} Packages: $(eprefix_packages)" \
echo "${eprefix_good} Packages: $(eprefix_packages)" "${eprefix_good} In World: $(eprefix_world)" \
echo "${eprefix_good} In World: $(eprefix_world)" "${eprefix_good} Have fun! ;-)"
echo "${eprefix_good} Have fun! ;-)"
if command_exists emerge if command_exists emerge
then then
echo "" printf "\n%s\n" ">>> Environment ready"
echo ">>> Environment ready"
else else
echo "" printf "\n%s\n" \
echo "${eprefix_bad} Could not locate emerge" "${eprefix_bad} Could not locate emerge" \
echo "${eprefix_bad} Environment may be broken" "${eprefix_bad} Environment may be broken" \
echo ">>> Continuing anyway..." ">>> Continuing anyway..." >> /dev/stderr
fi fi

View File

@ -5,8 +5,7 @@
# scripts is free software: you can redistribute it and/or modify # scripts is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or # the Free Software Foundation, version 3.
# (at your option) any later version.
# scripts is distributed in the hope that it will be useful, # scripts is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of # but WITHOUT ANY WARRANTY; without even the implied warranty of
@ -16,7 +15,7 @@
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with scripts. If not, see <https://www.gnu.org/licenses/>. # along with scripts. If not, see <https://www.gnu.org/licenses/>.
# Original author: Maciej Barć (xgqt@protonmail.com) # Original author: Maciej Barć <xgqt@riseup.net>
# Copyright (c) 2020, src_prepare group # Copyright (c) 2020, src_prepare group
# Licensed under the GNU GPL v3 License # Licensed under the GNU GPL v3 License
@ -32,9 +31,10 @@ export PATH
if [ -z "${1}" ] if [ -z "${1}" ]
then then
echo "No overlay names given" printf "%s\n" \
echo "Please give at least one overlay name as a commandline argument" "No overlay names given" \
echo "Exiting" "Please give at least one overlay name as a commandline argument" \
"Exiting" >> /dev/stderr
exit 1 exit 1
fi fi
@ -44,5 +44,5 @@ do
do do
euscan --nocolor --quiet "${ebuild}" | tee -a "euscan-${overlay}.log" euscan --nocolor --quiet "${ebuild}" | tee -a "euscan-${overlay}.log"
done done
echo ">>> Done scanning ${overlay}" printf "%s\n" ">>> Done scanning ${overlay}"
done done

View File

@ -4,8 +4,7 @@
# scripts is free software: you can redistribute it and/or modify # scripts is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or # the Free Software Foundation, version 3.
# (at your option) any later version.
# scripts is distributed in the hope that it will be useful, # scripts is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of # but WITHOUT ANY WARRANTY; without even the implied warranty of
@ -22,8 +21,8 @@
function scanning(){ function scanning(){
EUSCAN=$(euscan --nocolor --quiet "$1") EUSCAN=$(euscan --nocolor --quiet "$1")
if [ -n "$EUSCAN" ]; then if [ -n "$EUSCAN" ]; then
echo "=============== NOW: $(find ./* -mindepth 2 -maxdepth 2 -name ''"$1"'*.ebuild' | tail -1) ================= printf "%s\n" "=============== NOW: $(find ./* -mindepth 2 -maxdepth 2 -name ''"$1"'*.ebuild' | tail -1) =================
$(echo -e "$EUSCAN" | tail -1)" $(printf "%s\n" "$EUSCAN" | tail -1)"
fi fi
} }
@ -34,7 +33,7 @@ function folder(){
for FILE in */* for FILE in */*
do do
PACKAGE=$(echo "$FILE" | grep -Eo '[A-z0-9_-]+$') PACKAGE=$(printf "%s\n" "$FILE" | grep -Eo '[A-z0-9_-]+$')
PACKAGES+=("$PACKAGE") PACKAGES+=("$PACKAGE")
done done
@ -48,14 +47,15 @@ function folder(){
wait "$j" wait "$j"
done done
echo -n ">>> Done scanning $1" printf "%s\n" ">>> Done scanning $1"
} }
function nofolder(){ function nofolder(){
if [ -z "${1}" ]; then if [ -z "${1}" ]; then
echo "No overlay names given" printf "%s\n" \
echo "Please give at least one overlay name as a commandline argument" "No overlay names given" \
echo "Exiting" "Please give at least one overlay name as a commandline argument" \
"Exiting" >> /dev/stderr
exit 1 exit 1
fi fi
@ -71,23 +71,23 @@ do
wait "$j" wait "$j"
done done
echo -n ">>> Done scanning ${overlay}" printf "%s\n" ">>> Done scanning ${overlay}"
done done
} }
function help(){ function help(){
echo "You can use:" printf "%s\n" \
echo "* -r or --repo <HERE-REPO-NAME>" "You can use:" \
echo "* -f or --folder <FOLDER-NAME>" "* -r or --repo <HERE-REPO-NAME>" \
echo "* -f or --folder <FOLDER-NAME>\n" \
echo "Example of usage" "Example of usage" \
echo "./euscan-parallel -r src_prepare-overlay" "./euscan-parallel -r src_prepare-overlay" \
echo "./euscan-parallel -f ~/git/src_prepare-overlay" "./euscan-parallel -f ~/git/src_prepare-overlay"
} }
function main(){ function main(){
[ "$(whereis eix | wc -w)" -le "1" ] && { echo "The eix is NOT installed"; exit; } [ "$(whereis eix | wc -w)" -le "1" ] && { printf "%s\n" "The eix is NOT installed" >> /dev/stderr; exit; }
[ "$(whereis euscan | wc -w)" -le "1" ] && { echo "The euscan is NOT installed"; exit; } [ "$(whereis euscan | wc -w)" -le "1" ] && { printf "%s\n" "The euscan is NOT installed" >> /dev/stderr; exit; }
case $1 in case $1 in
-h|--help) -h|--help)
help help
@ -99,7 +99,7 @@ function main(){
folder "$2" | tee -a "euscan-$(date -I).log" folder "$2" | tee -a "euscan-$(date -I).log"
;; ;;
*) *)
echo "No found variable"; echo; help printf "%s\n" "No found variable" >> /dev/stderr; printf "\n"; help
esac esac
} }

View File

@ -5,8 +5,7 @@
# scripts is free software: you can redistribute it and/or modify # scripts is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or # the Free Software Foundation, version 3.
# (at your option) any later version.
# scripts is distributed in the hope that it will be useful, # scripts is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of # but WITHOUT ANY WARRANTY; without even the implied warranty of
@ -16,7 +15,7 @@
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with scripts. If not, see <https://www.gnu.org/licenses/>. # along with scripts. If not, see <https://www.gnu.org/licenses/>.
# Original author: Maciej Barć (xgqt@protonmail.com) # Original author: Maciej Barć <xgqt@riseup.net>
# Copyright (c) 2020, src_prepare group # Copyright (c) 2020, src_prepare group
# Licensed under the GNU GPL v3 License # Licensed under the GNU GPL v3 License
@ -27,7 +26,7 @@ export PATH
emsg() { emsg() {
echo "$(tput bold)$(tput setaf 6)>>> $(tput setaf 4)$(date +%H:%M:%S)$(tput setaf 7) ${*} $(tput sgr0)" printf "%s\n" "$(tput bold)$(tput setaf 6)>>> $(tput setaf 4)$(date +%H:%M:%S)$(tput setaf 7) ${*} $(tput sgr0)"
} }
edie() { edie() {

View File

@ -6,8 +6,7 @@ This file is part of scripts.
scripts is free software: you can redistribute it and/or modify scripts is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or the Free Software Foundation, version 3.
(at your option) any later version.
scripts is distributed in the hope that it will be useful, scripts is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
@ -17,8 +16,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with scripts. If not, see <https://www.gnu.org/licenses/>. along with scripts. If not, see <https://www.gnu.org/licenses/>.
Original author: Maciej Barć (xgqt@protonmail.com) Original author: Maciej Barć <xgqt@riseup.net>
Copyright (c) 2020, src_prepare group Copyright (c) 2020-2021, src_prepare group
Licensed under the GNU GPL v3 License Licensed under the GNU GPL v3 License
Install Ebuild Dependencies Install Ebuild Dependencies
@ -30,12 +29,13 @@ to emerge dependencies we would just do "emerge --oneshot --onlydeps PKG".
import argparse import argparse
import sys
from subprocess import call from subprocess import call
parser = argparse.ArgumentParser( parser = argparse.ArgumentParser(
description="Install Ebuild Dependencies", description="Install Ebuild Dependencies",
epilog="Copyright (c) 2020, src_prepare group (License: ISC)" epilog="Copyright (c) 2020-2021, src_prepare group (License: GPLv3)"
) )
parser.add_argument( parser.add_argument(
"ebuild", "ebuild",
@ -46,16 +46,14 @@ args = parser.parse_args()
def pkg_name(pkg_str): def pkg_name(pkg_str):
"""Parse string and return a pkg name""" """
Parse string and return a pkg name.
"""
# TODO: don't strip but force # TODO: don't strip but force
proper = ""
# Strip required use # Strip required use
for i in ["["]: proper = pkg_str.split("[")[0]
if i in pkg_str:
proper = pkg_str.split(i)[0]
# Strip conditional use # Strip conditional use
for i in ["$", "DEPEND", "||", "!", "?", "(", ")"]: for i in ["$", "DEPEND", "||", "!", "?", "(", ")"]:
@ -66,12 +64,21 @@ def pkg_name(pkg_str):
def ebuild_deps(ebuild_file): def ebuild_deps(ebuild_file):
"""Returns dependencies from a ebuild file""" """
Returns dependencies from a ebuild file.
"""
deps = [] deps = []
adddeps = False adddeps = False
with open(ebuild_file) as ebuild: with open(ebuild_file) as ebuild:
for line in ebuild.read().splitlines(): for line in ebuild.read().splitlines():
if adddeps:
# TODO: Find a better way to find the depend "block"
if "DEPEND" in line:
adddeps = True
elif adddeps:
# TODO: Find a better pkg match method # TODO: Find a better pkg match method
if "/" in line: if "/" in line:
deps.append( deps.append(
@ -79,16 +86,20 @@ def ebuild_deps(ebuild_file):
) )
elif "\"" in line: elif "\"" in line:
adddeps = False adddeps = False
# TODO: Find a better way to find the depend "block"
elif "DEPEND" in line:
adddeps = True
return deps return deps
def main(): def main():
"""The main function""" """
The main function.
"""
print("Ebuilds:", args.ebuild) print("Ebuilds:", args.ebuild)
if args.ebuild == []:
print("[ERROR]: No ebuilds given")
sys.exit(1)
all_deps = [] all_deps = []
for ebuild in args.ebuild: for ebuild in args.ebuild:

View File

@ -6,8 +6,7 @@ This file is part of scripts.
scripts is free software: you can redistribute it and/or modify scripts is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or the Free Software Foundation, version 3.
(at your option) any later version.
scripts is distributed in the hope that it will be useful, scripts is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
@ -17,7 +16,7 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with scripts. If not, see <https://www.gnu.org/licenses/>. along with scripts. If not, see <https://www.gnu.org/licenses/>.
Original author: Maciej Barć (xgqt@protonmail.com) Original author: Maciej Barć <xgqt@riseup.net>
Copyright (c) 2020, src_prepare group Copyright (c) 2020, src_prepare group
Licensed under the GNU GPL v3 License Licensed under the GNU GPL v3 License

View File

@ -5,8 +5,7 @@
# scripts is free software: you can redistribute it and/or modify # scripts is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or # the Free Software Foundation, version 3.
# (at your option) any later version.
# scripts is distributed in the hope that it will be useful, # scripts is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of # but WITHOUT ANY WARRANTY; without even the implied warranty of
@ -16,7 +15,7 @@
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with scripts. If not, see <https://www.gnu.org/licenses/>. # along with scripts. If not, see <https://www.gnu.org/licenses/>.
# Original author: Maciej Barć (xgqt@protonmail.com) # Original author: Maciej Barć <xgqt@riseup.net>
# Copyright (c) 2020, src_prepare group # Copyright (c) 2020, src_prepare group
# Licensed under the GNU GPL v3 License # Licensed under the GNU GPL v3 License
@ -75,15 +74,15 @@ main() {
ebuild="$(basename "$(pwd)")-9999.ebuild" ebuild="$(basename "$(pwd)")-9999.ebuild"
if [ ! -f "${ebuild}" ] if [ ! -f "${ebuild}" ]
then then
echo "${ebuild_template}" > "${ebuild}" printf "%s\n" "${ebuild_template}" > "${ebuild}"
else else
echo "Already exists: ${ebuild}" printf "%s\n" "Already exists: ${ebuild}" >> /dev/stderr
fi fi
if [ ! -f "metadata.xml" ] if [ ! -f "metadata.xml" ]
then then
echo "${metadata_template}" > "metadata.xml" printf "%s\n" "${metadata_template}" > "metadata.xml"
else else
echo "Already exists: metadata.xml" printf "%s\n" "Already exists: metadata.xml" >> /dev/stderr
fi fi
} }
@ -92,10 +91,11 @@ if [ -f ../../profiles/repo_name ]
then then
main main
else else
echo "Are you in a overlay repo?" printf "%s\n" \
echo "To use this script successfully:" "Are you in a overlay repo?" \
echo "1. Create a \${CATEGOTY}/\${PN} directory" "To use this script successfully:" \
echo "2. Change directory to it" "1. Create a \${CATEGOTY}/\${PN} directory" \
echo "3. Execute ${0}" "2. Change directory to it" \
"3. Execute ${0}" >> /dev/stderr
exit 1 exit 1
fi fi

7
src/pn
View File

@ -5,8 +5,7 @@
# scripts is free software: you can redistribute it and/or modify # scripts is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or # the Free Software Foundation, version 3.
# (at your option) any later version.
# scripts is distributed in the hope that it will be useful, # scripts is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of # but WITHOUT ANY WARRANTY; without even the implied warranty of
@ -16,7 +15,7 @@
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with scripts. If not, see <https://www.gnu.org/licenses/>. # along with scripts. If not, see <https://www.gnu.org/licenses/>.
# Original author: Maciej Barć (xgqt@protonmail.com) # Original author: Maciej Barć <xgqt@riseup.net>
# Copyright (c) 2020, src_prepare group # Copyright (c) 2020, src_prepare group
# Licensed under the GNU GPL v3 License # Licensed under the GNU GPL v3 License
@ -27,4 +26,4 @@ trap 'exit 128' INT
cd "${1:-$(pwd)}" || exit 1 cd "${1:-$(pwd)}" || exit 1
path="$(git rev-parse --show-prefix)" path="$(git rev-parse --show-prefix)"
echo "${path%/}" printf "%s\n" "${path%/}"

View File

@ -4,8 +4,7 @@
# scripts is free software: you can redistribute it and/or modify # scripts is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or # the Free Software Foundation, version 3.
# (at your option) any later version.
# scripts is distributed in the hope that it will be useful, # scripts is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of # but WITHOUT ANY WARRANTY; without even the implied warranty of
@ -25,7 +24,7 @@
if [ -z "$1" ]; then if [ -z "$1" ]; then
echo "Must specify a file to modify..." printf "%s\n" "Must specify a file to modify..."
exit 1 exit 1
fi fi
regex='^=?(\S+)(?:-[[:digit:]]+\S*)(\s)(\S+)$' regex='^=?(\S+)(?:-[[:digit:]]+\S*)(\s)(\S+)$'

View File

@ -5,8 +5,7 @@
# scripts is free software: you can redistribute it and/or modify # scripts is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or # the Free Software Foundation, version 3.
# (at your option) any later version.
# scripts is distributed in the hope that it will be useful, # scripts is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of # but WITHOUT ANY WARRANTY; without even the implied warranty of
@ -16,8 +15,8 @@
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with scripts. If not, see <https://www.gnu.org/licenses/>. # along with scripts. If not, see <https://www.gnu.org/licenses/>.
# Original author: Maciej Barć (xgqt@protonmail.com) # Original author: Maciej Barć <xgqt@riseup.net>
# Copyright (c) 2020, src_prepare group # Copyright (c) 2020-2021, src_prepare group
# Licensed under the GNU GPL v3 License # Licensed under the GNU GPL v3 License
@ -27,7 +26,7 @@ export PATH
main() { main() {
[ -f Manifest ] && rm -v Manifest [ -f Manifest ] && rm -v Manifest
repoman --verbose manifest GENTOO_MIRRORS="" repoman --verbose manifest
repoman --verbose -Idx full repoman --verbose -Idx full
pkgcheck --verbose scan pkgcheck --verbose scan
@ -37,12 +36,13 @@ main() {
case ${1} case ${1}
in in
-h | -help | --help ) -h | -help | --help )
echo "Usage: ${0}" printf "%s\n" \
echo "Performed in this script:" "Usage: ${0}" \
echo "1. remove Manifest file" "Performed in this script:" \
echo "2. regen Manifest with 'repoman manifest'" "1. remove Manifest file" \
echo "3. Check with 'repoman -Idx full'" "2. regen Manifest with 'repoman manifest'" \
echo "4. Check with 'pkgcheck scan'" "3. Check with 'repoman -Idx full'" \
"4. Check with 'pkgcheck scan'"
;; ;;
* ) * )
main main

View File

@ -5,8 +5,7 @@
# scripts is free software: you can redistribute it and/or modify # scripts is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or # the Free Software Foundation, version 3.
# (at your option) any later version.
# scripts is distributed in the hope that it will be useful, # scripts is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of # but WITHOUT ANY WARRANTY; without even the implied warranty of
@ -16,7 +15,7 @@
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with scripts. If not, see <https://www.gnu.org/licenses/>. # along with scripts. If not, see <https://www.gnu.org/licenses/>.
# Original author: Maciej Barć (xgqt@protonmail.com) # Original author: Maciej Barć <xgqt@riseup.net>
# Copyright (c) 2020, src_prepare group # Copyright (c) 2020, src_prepare group
# Licensed under the GNU GPL v3 License # Licensed under the GNU GPL v3 License
@ -30,13 +29,16 @@
ignored_dirs=( ignored_dirs=(
. .
.git .git
3rd_party
doc
eclass eclass
files files
licenses licenses
metadata metadata
profiles profiles
public
scribblings
scripts scripts
3rd_party
) )
@ -49,12 +51,13 @@ ignored_dirs=(
# This will likely exit firh error, because repoman # This will likely exit firh error, because repoman
# has to download some files (metadata.xsd) # has to download some files (metadata.xsd)
# We do that so we can truthfully test the actual latest commit # We do that so we can truthfully test the actual latest commit
echo ">>> Starting full test" printf "%s\n" \
echo "Running repoman -Idix" ">>> Starting full test" \
repoman -Idix "Running repoman -Idix"
repoman --verbose -Idix
echo ">>> Starting latest commit test" printf "%s\n" ">>> Starting latest commit test"
# If any of the QA checks fail the test will fail # If any of the QA checks fail the test will fail
test_success=true test_success=true
@ -71,27 +74,26 @@ do
do do
if [[ "${commit_dir}" = *"${i_dir}"* ]] if [[ "${commit_dir}" = *"${i_dir}"* ]]
then then
echo printf "\n%s\n" "Ignoring ${commit_dir}"
echo "Ignoring ${commit_dir}"
continue 2 continue 2
fi fi
done done
if cd "${commit_dir}" if cd "${commit_dir}"
then then
echo printf "\n%s\n" \
echo "Checking ${commit_dir}" "Checking ${commit_dir}" \
echo "Running repoman -Idix" "Running repoman -Idix"
repoman -Idix || test_success="false" repoman --verbose -Idix || test_success="false"
cd - >/dev/null || return cd - >/dev/null || return
fi fi
done done
if [ "${test_success}" = "false" ] if [ "${test_success}" = "false" ]
then then
echo ">>> Exiting with failure due to previous errors" printf "%s\n" ">>> Exiting with failure due to previous errors" >> /dev/stderr
exit 1 exit 1
else else
echo ">>> Exiting successfully" printf "%s\n" ">>> Exiting successfully"
exit 0 exit 0
fi fi

View File

@ -5,8 +5,7 @@
# scripts is free software: you can redistribute it and/or modify # scripts is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or # the Free Software Foundation, version 3.
# (at your option) any later version.
# scripts is distributed in the hope that it will be useful, # scripts is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of # but WITHOUT ANY WARRANTY; without even the implied warranty of
@ -16,7 +15,7 @@
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with scripts. If not, see <https://www.gnu.org/licenses/>. # along with scripts. If not, see <https://www.gnu.org/licenses/>.
# Original author: Maciej Barć (xgqt@protonmail.com) # Original author: Maciej Barć <xgqt@riseup.net>
# Copyright (c) 2020, src_prepare group # Copyright (c) 2020, src_prepare group
# Licensed under the GNU GPL v3 License # Licensed under the GNU GPL v3 License

20
test.sh
View File

@ -5,8 +5,7 @@
# scripts is free software: you can redistribute it and/or modify # scripts is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or # the Free Software Foundation, version 3.
# (at your option) any later version.
# scripts is distributed in the hope that it will be useful, # scripts is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of # but WITHOUT ANY WARRANTY; without even the implied warranty of
@ -16,7 +15,7 @@
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with scripts. If not, see <https://www.gnu.org/licenses/>. # along with scripts. If not, see <https://www.gnu.org/licenses/>.
# Original author: Maciej Barć (xgqt@protonmail.com) # Original author: Maciej Barć <xgqt@riseup.net>
# Copyright (c) 2020, src_prepare group # Copyright (c) 2020, src_prepare group
# Licensed under the GNU GPL v3 License # Licensed under the GNU GPL v3 License
@ -31,16 +30,15 @@ exit_result=0
run_test() { run_test() {
for file in ${2} for file in ${2}
do do
echo "File ${file}... checking" printf "%s\n" "File ${file}... checking"
if command "${1}" "${file}" if command "${1}" "${file}"
then then
echo " file is correct" printf "%s\n" " file is correct"
else else
echo " there were errors found in the file" printf "%s\n" " there were errors found in the file" >> /dev/stderr
exit_result=1 exit_result=1
fi fi
echo "Done: ${file}" printf "%s\n\n" "Done: ${file}"
echo
done done
} }
@ -53,11 +51,9 @@ run_test pylint "${py_files}"
if [ ${exit_result} = 0 ] if [ ${exit_result} = 0 ]
then then
echo "No errors reported" printf "%s\n" "No errors reported" "Exiting successfully"
echo "Exiting successfully"
exit ${exit_result} exit ${exit_result}
else else
echo "Some errors reported" printf "%s\n" "Some errors reported" "Exiting without success" >> /dev/stderr
echo "Exiting without success"
exit ${exit_result} exit ${exit_result}
fi fi