extras-buildsys/utils/pushscript Config_EPEL.py, NONE, 1.1 epel-push, NONE, 1.1 epel-sync, NONE, 1.1

Dennis Gilmore (ausil) fedora-extras-commits at redhat.com
Thu Mar 15 04:09:43 UTC 2007


Author: ausil

Update of /cvs/fedora/extras-buildsys/utils/pushscript
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv10025

Added Files:
	Config_EPEL.py epel-push epel-sync 
Log Message:
add epel config and push script



--- NEW FILE Config_EPEL.py ---
#!/usr/bin/python -t
# -*- mode: Python; indent-tabs-mode: nil; -*-
#
# This program 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; either version 2 of the License, or
# (at your option) any later version.
#
# This program 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 this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA

import os

signersgid = 101314  # signers group
signersumask = 0002
signkeyname = 'epel at fedoraproject.org'

distro = 'fedora'
project = 'epel'

class opts:
    mail = True
    repoprune = True
    repoview = True
    signkeycheck = True
    doublesync = False

top_workdir = '/srv/rpmbuild'

treedir = top_workdir+'/%s/tree/%s' % (project, project)
stagesdir = top_workdir+'/repodir'

# Where we store mails to be sent, our main lockfile, ...
#rundir = '/srv/extras-push/%s-%s-rundir' % (distro, project)
rundir = top_workdir+'/epel-push-rundir'
cachedir = rundir+'/mdcache'

alldists = [ '5', '4' ] # also the order in build reports

frozendists = []

archdict = {'3':['x86_64', 'i386'], 
            '4':['ppc','x86_64', 'i386'],
            '5':['ppc','x86_64', 'i386'],
            '6':['ppc','x86_64', 'i386'],
            'development':['ppc','x86_64','i386'],
            }

multilibdists = [ 'development', '5', '4' ]

# map: dist -> target arch -> list of pkg name regexp patterns
# We don't check virtual package names, unless it's a virtual -devel pkg.
# black-list takes precedence over white-list
multiblacklists = { 'development' : { 'x86_64' : [ 'gnustep-make'] },
               }
multiwhitelists = { 'development' : { 'x86_64' : [ '.*-devel', 'wine', 'wine-arts', 'wine-devel' ] },
               '5' : { 'x86_64' : [ '.*-devel', 'wine', 'wine-arts', 'wine-devel' ] },
               '4' : { 'x86_64' : [ '.*-devel', 'wine', 'wine-arts', 'wine-devel' ] },
               }

# packages to exclude from being pruned: dist => Python regexp list
repoprune_keepdict = {'3': ["-kmod$","amaya","gnome-vfsmm26","libgnomemm26","libgnomeuimm26","xtide","wxGTK"],
                      '4': ["-kmod$"],
                      '5': ["-kmod$"],
                      '6': ["-kmod$"],
                      'development': [],
                      }

# repository symlinks to remove/create since they confuse createrepo
repobuild_linkdict = {}

# comps.xml updating and installation
comps_up_pass1 = 'LC_ALL=C CVS_RSH=ssh cvs -f -d :pserver:anonymous at cvs.fedora.redhat.com:/cvs/extras update'
comps_up_pass2 = 'make -f Makefile'
comps_dangerousfiles = ['Makefile','update-comps','po/Makefile']
comps_map = { 'development' : 'comps-fe7.xml',
              '6' : 'comps-fe6.xml',
              '5' : 'comps-fe5.xml',
              }

diversion_dict = { 'mugshot' : stagesdir+'/fedora-extras'+'/mugshot',
                   }

# For RepoSupport.py features (TODO: use rpmUtils?)
targetarchs = { 'i386' : 'i686',
                'x86_64' : 'x86_64',
                'ppc' : 'ppc'
                }

# For RepoSupport.py features.
baserepos = { '4' : ['fedora-epel'],
              '5' : ['fedora-epel']
              }

# For RepoSupport.py features.
testrepos = { '4' : [],
              '5' : [],
              'development' : []
              }

# For RepoSupport.py features.
reponames = { 'fedora-epel' : 'Fedora EPEL'
              }

# For RepoSupport.py features.
# (%s, %s) = (release, arch)
repourls = { 'fedora-epel' : 'file:///srv/rpmbuild/epel/tree/epel/%s/%s/'
             }
#             'fedora-epel-testing' : 'file:///srv/rpmbuild/epel/tree/epel/testing/%s/%s/'

sync_cmd = './epel-sync'

createrepo = '/usr/bin/createrepo -q'

cr_cachedir = '/tmp/repomd-cache-epel'  # createrepo cachedir

#repoview = '/usr/bin/repoview'
repoview = '/srv/extras-push/work/repoview -q'

post_cmds = []
#post_cmds = ['upgradecheck.py -c %s' % os.path.expanduser('~/work/upgradecheck/upgradecheck-core+extras.conf'),
#             'nohup /srv/extras-push/work/extras-repoclosure/rc-run-all.py --mail=owners --mail=summary &'
#             ]

# Build report.
smtp_server = ''
project_hr = 'Fedora EPEL'
mail_from = 'buildsys at fedoraproject.org'
mail_to = 'epel-devel-list at redhat.com'
mail_footer = """

For more information about the built packages please see the repository
or the Fedora Info Feed: http://fedoraproject.org/infofeed/

"""


--- NEW FILE epel-push ---
#!/usr/bin/python -t
# This program 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; either version 2 of the License, or
# (at your option) any later version.
#
# This program 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 this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA

cfg = 'EPEL'

if __name__ == '__main__':
    import os, sys, errno
    if len(sys.argv) < 2:
        print 'Usage: %s <release|all> [release]...\n' % os.path.basename(sys.argv[0])
        sys.exit(errno.EINVAL)
    cmd = os.path.join(sys.path[0],'Push.py')
    args = [cmd]+[cfg]+sys.argv[1:]
    os.execvp(cmd,args)


--- NEW FILE epel-sync ---
#!/bin/bash

outputdir=/srv/rpmbuild/epel/tree/epel
targetdir=/srv/web/docroot/epel/
#targetdir=fpserv.linux.duke.edu:/srv/web/docroot/epel/
#exclude=""
exclude=""
opts="-avH --progress --delete $exclude"

umask 0002

echo "Test sync"
rsync -n $opts $outputdir/* $targetdir | grep -v repodata

echo "Real Sync"
echo "Ctrl-C or kill to exit"
echo "Sleeping for 30s"
sleep 30
rsync $opts $outputdir/* $targetdir




More information about the fedora-extras-commits mailing list