mirror of
https://github.com/release-engineering/dist-git.git
synced 2025-02-23 15:02:54 +00:00
added default_namespace config option
This commit is contained in:
parent
ae51199cb4
commit
3a0c21cb90
5 changed files with 51 additions and 1 deletions
|
@ -10,3 +10,5 @@ grok = True
|
|||
fedmsgs = True
|
||||
old_paths = True
|
||||
nomd5 = True
|
||||
|
||||
default_namespace = rpms
|
||||
|
|
|
@ -92,6 +92,18 @@ if [ -z "$BRANCH" -o -z "$PACKAGES" ] ; then
|
|||
exit -1
|
||||
fi
|
||||
|
||||
# prefix default namespace if set
|
||||
NEWP=
|
||||
for PACKAGE in $PACKAGES ; do
|
||||
PACKAGE=`echo $PACKAGE | sed -e "s+^/*\([^/]*\)/*$+\1+"`
|
||||
parts=($(echo $PACKAGE | tr "/" " "))
|
||||
parts_len=${#parts[@]}
|
||||
if [ -n "$default_namespace" ] && [ $parts_len -le 1 ]; then
|
||||
PACKAGE=$default_namespace/$PACKAGE
|
||||
fi
|
||||
NEWP="$NEWP $PACKAGE"
|
||||
done
|
||||
PACKAGES="$(echo $NEWP)"
|
||||
|
||||
# Sanity checks before we start doing damage
|
||||
NEWP=
|
||||
|
@ -108,6 +120,7 @@ for p in $PACKAGES ; do
|
|||
NEWP="$NEWP $p"
|
||||
done
|
||||
PACKAGES="$(echo $NEWP)"
|
||||
|
||||
if [ -z "$PACKAGES" ] ; then
|
||||
echo "NOOP: no valid packages found to process"
|
||||
exit -1
|
||||
|
|
|
@ -92,6 +92,18 @@ if [ -z "$BRANCH" -o -z "$PACKAGES" ] ; then
|
|||
exit -1
|
||||
fi
|
||||
|
||||
# prefix default namespace if set
|
||||
NEWP=
|
||||
for PACKAGE in $PACKAGES ; do
|
||||
PACKAGE=`echo $PACKAGE | sed -e "s+^/*\([^/]*\)/*$+\1+"`
|
||||
parts=($(echo $PACKAGE | tr "/" " "))
|
||||
parts_len=${#parts[@]}
|
||||
if [ -n "$default_namespace" ] && [ $parts_len -le 1 ]; then
|
||||
PACKAGE=$default_namespace/$PACKAGE
|
||||
fi
|
||||
NEWP="$NEWP $PACKAGE"
|
||||
done
|
||||
PACKAGES="$(echo $NEWP)"
|
||||
|
||||
# Sanity checks before we start doing damage
|
||||
NEWP=
|
||||
|
@ -108,6 +120,7 @@ for p in $PACKAGES ; do
|
|||
NEWP="$NEWP $p"
|
||||
done
|
||||
PACKAGES="$(echo $NEWP)"
|
||||
|
||||
if [ -z "$PACKAGES" ] ; then
|
||||
echo "NOOP: no valid packages found to process"
|
||||
exit -1
|
||||
|
|
|
@ -58,6 +58,13 @@ if [ -z "$PACKAGE" ] ; then
|
|||
exit -1
|
||||
fi
|
||||
|
||||
PACKAGE=`echo $PACKAGE | sed -e "s+^/*\([^/]*\)/*$+\1+"`
|
||||
parts=($(echo $PACKAGE | tr "/" " "))
|
||||
parts_len=${#parts[@]}
|
||||
if [ -n "$default_namespace" ] && [ $parts_len -le 1 ]; then
|
||||
PACKAGE=$default_namespace/$PACKAGE
|
||||
fi
|
||||
|
||||
# Sanity checks before we start doing damage
|
||||
[ $VERBOSE -gt 1 ] && echo "Checking package $PACKAGE..."
|
||||
if [ -f $REPODIR/$PACKAGE.git/refs/heads/master ] ; then
|
||||
|
|
|
@ -91,6 +91,17 @@ def makedirs(dir_, username, mode=02755):
|
|||
send_error(str(e))
|
||||
|
||||
|
||||
def ensure_namespaced(name, namespace):
|
||||
if not namespace:
|
||||
return name
|
||||
|
||||
name_parts = name.split('/')
|
||||
if len(name_parts) == 1:
|
||||
return os.path.join(namespace, name)
|
||||
|
||||
return name
|
||||
|
||||
|
||||
def main():
|
||||
config = ConfigParser()
|
||||
config.read('/etc/dist-git/dist-git.conf')
|
||||
|
@ -112,7 +123,7 @@ def main():
|
|||
assert os.environ['REQUEST_URI'].split('/')[1] == 'repo'
|
||||
|
||||
form = cgi.FieldStorage()
|
||||
name = check_form(form, 'name')
|
||||
name = check_form(form, 'name').strip('/')
|
||||
|
||||
# Search for the file hash, start with stronger hash functions
|
||||
if 'sha512sum' in form:
|
||||
|
@ -164,6 +175,10 @@ def main():
|
|||
hash_dir = os.path.join(module_dir, filename, hash_type, checksum)
|
||||
msgpath = os.path.join(name, filename, hash_type, checksum, filename)
|
||||
|
||||
# prefix name by default namespace if configured
|
||||
if config['dist-git'].get('default_namespace'):
|
||||
name = ensure_namespaced(name, config['dist-git'].get('default_namespace')).strip('/')
|
||||
|
||||
# first test if the module really exists
|
||||
git_dir = os.path.join(config['dist-git']['gitroot_dir'], '%s.git' % name)
|
||||
if not os.path.isdir(git_dir):
|
||||
|
|
Loading…
Add table
Reference in a new issue