Compare commits
17 Commits
Author | SHA1 | Date |
---|---|---|
Maciej Barć | 56bdfe5c35 | |
Maciej Barć | 82a583f00d | |
Maciej Barć | 5db7afa3d5 | |
Maciej Barć | 662d9b42f4 | |
Maciej Barć | e1973e3055 | |
Maciej Barć | 910a2e8426 | |
Maciej Barć | 452a71560e | |
Maciej Barć | b71af2ce28 | |
xosefulk | d4306a3f7e | |
xosefulk | 14b734ad42 | |
Maciej Barć | 850ca56ff7 | |
Maciej Barć | c6b6f6062d | |
Maciej Barć | ba55fe2f2d | |
Maciej Barć | e2cd817f72 | |
Maciej Barć | 8945817ba4 | |
Maciej Barć | c0570e273b | |
Maciej Barć | 9987663dc4 |
|
@ -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:
|
||||||
|
|
28
README.md
28
README.md
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
17
src/eball
17
src/eball
|
@ -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
|
||||||
|
|
|
@ -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"
|
|
@ -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
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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() {
|
||||||
|
|
|
@ -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:
|
||||||
|
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
@ -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
7
src/pn
|
@ -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%/}"
|
||||||
|
|
|
@ -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+)$'
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
20
test.sh
|
@ -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
|
||||||
|
|
Loading…
Reference in New Issue