mirror of
https://github.com/flatcar/scripts.git
synced 2025-09-24 15:11:19 +02:00
cros_mark_all_as_stable: introduce blacklist, set the initial blacklist source as ./
* This allows to block a list of ebuilds from being uprevved by the PFB * With little modification, there could be a GUI which allows people to manage a blacklist on the server, with stating the reason (ex.: autotest-tests - $me, creating the ebuild, unstable for now) modified: cros_mark_all_as_stable TEST= 1) create a blacklist: chromeos-base/autotest chromeos-base/autotest-tests 2) run ./cros_mark_all_as_stable --board=x86-generic ... INFO : chromeos-base/autotest blacklisted, skipping INFO : chromeos-base/autotest-tests blacklisted, skipping ... Review URL: http://codereview.chromium.org/3076038
This commit is contained in:
parent
8817081418
commit
a203b46c48
@ -39,11 +39,28 @@ GRAB_HEAD_COMMIT_CMD="git show HEAD | head -1 | cut -f 2 -d ' '"
|
||||
PACKAGE_LIST=""
|
||||
# List of commit ids corresponding to package list.
|
||||
COMMIT_ID_LIST=""
|
||||
# List of IFS-delimited ebuilds to ignore.
|
||||
PACKAGE_BLACKLIST=""
|
||||
# File containing the names of blacklisted packages.
|
||||
BLACKLIST_FILE=$(dirname "${0}")/cros_mark_as_stable_blacklist
|
||||
|
||||
[ -f "${BLACKLIST_FILE}" ] && \
|
||||
PACKAGE_BLACKLIST=$(cat "${BLACKLIST_FILE}")
|
||||
|
||||
function package_is_blacklisted() {
|
||||
# Makes a list that looks like "\|package1\|package2\|...packagen".
|
||||
local blist_regex=$(for i in ${PACKAGE_BLACKLIST}; do echo -n "\\|${i}"; done)
|
||||
expr "${1}" : "^\(${blist_regex/\\|/}\)$" &> /dev/null && return 0 || return 1
|
||||
}
|
||||
|
||||
# For each package, compares the head commit id to the commit id in the ebuild.
|
||||
# If they do not match, add the package and its commit id into ${PACKAGE_LIST}
|
||||
# and ${COMMIT_ID_LIST}
|
||||
for package in ${PACKAGES}; do
|
||||
if package_is_blacklisted ${package}; then
|
||||
info "${package} blacklisted, skipping"
|
||||
continue
|
||||
fi
|
||||
ebuild_path=$(${EQUERYCMD} which ${package}) || continue
|
||||
# Sets ${CROS_WORKON_SRCDIR} from the ebuild.
|
||||
eval $(${EBUILDCMD} ${ebuild_path} info) &> /dev/null || continue
|
||||
|
0
cros_mark_as_stable_blacklist
Normal file
0
cros_mark_as_stable_blacklist
Normal file
Loading…
x
Reference in New Issue
Block a user