enhance: Add comprehensive .gitignore for deb-mock project
Some checks failed
Build Deb-Mock Package / build (push) Successful in 54s
Lint Code / Lint All Code (push) Failing after 1s
Test Deb-Mock Build / test (push) Failing after 36s

- Add mock-specific build artifacts (chroot/, mock-*, mockroot/)
- Include package build files (*.deb, *.changes, *.buildinfo)
- Add development tools (.coverage, .pytest_cache, .tox)
- Include system files (.DS_Store, Thumbs.db, ._*)
- Add temporary and backup files (*.tmp, *.bak, *.backup)
- Include local configuration overrides (config.local.yaml, .env.local)
- Add test artifacts and documentation builds
- Comprehensive coverage for Python build system project

This ensures build artifacts, chroot environments, and development
tools are properly ignored in version control.
This commit is contained in:
robojerk 2025-08-18 23:37:49 -07:00
parent 1a559245ea
commit 4c0dcb2522
329 changed files with 27394 additions and 965 deletions

View file

@ -0,0 +1,213 @@
# bash >= 3 completion for mock(1)
_mock_root()
{
test $# -eq 0 && set -- /etc/mock "$HOME/.config/mock"
local suggest=$(
shopt -s nullglob
for dir in "$@"; do
# work with absolute paths!
cd "$dir" &>/dev/null || continue
for file in *; do
case $file in
site-defaults*) ;; # skip site defaults
*' '*) ;; # skip files with white spaces
*.cfg) echo "${file%%.cfg}" ;;
esac
done
done
)
COMPREPLY+=( $( compgen -W "$suggest" -- "$cur" ) )
_filedir 'cfg'
}
_mock_isopt()
{
[[ ${1:0:1} = - ]] && return 0
case $1 in
install|remove)
return 0
;;
esac
return 1
}
_mock_isopt_multiarg() {
local the_option=$1
_mock_isopt "$the_option" || return 1
case $the_option in
--*)
the_option=${the_option##--}
;;
esac
case $the_option in
rebuild|install|installdeps|remove|chain|update|copyin|copyout|pm-cmd|yum-cmd|dnf-cmd|chroot|shell)
return 0
;;
esac
return 1
}
_mock_parse_help()
{
# PRECOMPILED_PARSED_MOCK_HELP
_parse_help "$1"
}
_mock()
{
local cur prev words cword split
_init_completion -s || return
local cfgdirs=( /etc/mock "$HOME/.config/mock" )
local count=0
local greedyopt=rebuild # the default mode eating srpms
local prevopt=rebuild
for word in "${words[@]}" ; do
if [[ $count -eq $cword ]] ; then
# If the last (i.e. current) argument is an option, clear prevopt so that we complete
# the current argument as an option instead an argument to prevopt
_mock_isopt "$word" && prevopt=
break
fi
# Record the option argument previous to the current argument to determine the type of
# completion that is needed
if _mock_isopt_multiarg "$word"; then
prevopt=$word
# last greedy option wins
greedyopt=$word
elif _mock_isopt "$word"; then
prevopt=$word
else
# Revert back to the last greedy option. E.g. for 'mock -r fedora-rawhide-x86_64 <tab>',
# we want to react on the default 'rebuild' mode, not `-r`.
prevopt=$greedyopt
fi
if [[ "$word" == --configdir ]] ; then
cfgdirs=( "${words[((count+1))]}" )
elif [[ "$word" == --configdir=* ]] ; then
cfgdirs=( ${word/*=/} )
fi
count=$((++count))
done
case "$prevopt" in
-h|--help|--version)
# no further arguments are accepted after the above arguments
return
;;
--arch|--config-opts|-D|--define|--disablerepo|--enablerepo|--forcearch|--plugin-option|\
--rpmbuild-opts|--rpmbuild_timeout|--scm-option|--uniqueext|--with|--without)
# argument required but no completions available
return
;;
-r|--root|--chain)
_mock_root "${cfgdirs[@]}"
return
;;
--configdir|--cwd|--resultdir|--rootdir)
_filedir -d
return
;;
--copyin|--copyout|--macro-file|--sources)
_filedir
return
;;
--spec)
_filedir 'spec'
return
;;
--target)
# Yep, compatible archs, not compatible build archs
# (e.g. ix86 chroot builds in x86_64 mock host)
# This would actually depend on what the target root
# can be used to build for...
COMPREPLY=( $( compgen -W "$( command rpm --showrc | \
sed -ne 's/^\s*compatible\s\s*archs\s*:\s*\(.*\)/\1/i p' )" \
-- "$cur" ) )
return
;;
--enable-plugin|--disable-plugin)
COMPREPLY=( $( compgen -W "$( $1 $prev=DOES_NOT_EXIST 2>&1 | \
sed -ne "s/[',]//g" -e 's/.*[[(]\([^])]*\)[])]/\1/p' )" \
-- "$cur" ) ) #' unconfuse emacs
return
;;
--scrub)
COMPREPLY=( $( compgen -W "all chroot cache root-cache c-cache
yum-cache dnf-cache lvm overlayfs bootstrap" -- "$cur" ) )
return
;;
-i|--install|install)
_filedir 'rpm'
COMPREPLY=( $( compgen -W '"${COMPREPLY[@]}"' -X '*.src.rpm' ) )
COMPREPLY=( $( compgen -W '"${COMPREPLY[@]}"' -X '*.nosrc.rpm' ) )
[[ $cur != */* && $cur != [.~]* ]] && \
declare -F _yum_list &>/dev/null && _yum_list all "$cur"
return
;;
--isolation)
COMPREPLY=( $( compgen -W "auto simple nspawn" -- "$cur" ) )
return
;;
--remove|remove)
declare -F _yum_list &>/dev/null && _yum_list all "$cur"
return
;;
--short-circuit)
COMPREPLY=( $( compgen -W "install binary build prep" -- "$cur" ) )
return
;;
esac
$split && return
if [[ "$cur" == -* ]] ; then
COMPREPLY=( $( compgen -W '$( _mock_parse_help "$1" )' -- "$cur" ) )
# _parse_help fails to pick up --define (it's a parsing failure due to
# the quoted 'MACRO EXPR' argument)
COMPREPLY+=( $( compgen -W '--define=' -- "$cur" ) )
[[ $COMPREPLY == *= ]] && compopt -o nospace
else
_filedir '@(?(no)src.r|s)pm'
fi
} &&
complete -F _mock mock mock.py
_mock_parse_buildlog()
{
local cur prev cword split
_init_completion -s || return
case "$prev" in
-h|--help)
# no further arguments are accepted after the above arguments
return
;;
-p|--path)
_filedir
return
;;
esac
$split && return
if [[ $cword -eq 1 ]] ; then
COMPREPLY=( $( compgen -W '$( _parse_help "$1" )' -- "$cur" ) )
[[ $COMPREPLY == *= ]] && compopt -o nospace
fi
} &&
complete -F _mock_parse_buildlog mock-parse-buildlog mock-parse-buildlog.py
# Local variables:
# mode: shell-script
# sh-basic-offset: 4
# sh-indent-comment: t
# indent-tabs-mode: nil
# End:
# ex: ts=4 sw=4 et filetype=sh