[Extras-cauldron-commits] r120 - trunk/buildme/tools
ed_ at garage.maemo.org
ed_ at garage.maemo.org
Sun Nov 23 19:12:09 EET 2008
Author: ed_
Date: 2008-11-23 19:12:09 +0200 (Sun, 23 Nov 2008)
New Revision: 120
Modified:
trunk/buildme/tools/buildme
trunk/buildme/tools/buildme.conf
trunk/buildme/tools/buildme.conf.debug
Log:
implemented category check
Modified: trunk/buildme/tools/buildme
===================================================================
--- trunk/buildme/tools/buildme 2008-10-18 17:26:52 UTC (rev 119)
+++ trunk/buildme/tools/buildme 2008-11-23 17:12:09 UTC (rev 120)
@@ -41,6 +41,7 @@
from minideblib.ChangeFile import ChangeFileException
from minideblib.AptRepoClient import AptRepoClient
from minideblib.DpkgVersion import DpkgVersion
+from minideblib DpkgDebPackage import DpkgDebPackage
from buildlib.fsm import FSM
from buildlib.exceptions import Error
@@ -272,6 +273,7 @@
# set global variables for use in next steps
env.params['sbdtargets'] = SbdArch(tnames)
env.params['destination'] = destination
+ env.params['allowed_categories'] = conf.get(product, 'allowed_categories').split(' ')
return FSM.OK
@@ -358,9 +360,12 @@
def check_sources(env):
""" Some checks for sources """
+ conf = env.params['conf']
+
# version check
product = env.params['product']
logger = env.params['logger']
+ allowed_categories = env.params['allowed_categories']
dsc = env.params['dsc']
source = dsc['source']
version = dsc['version']
@@ -377,6 +382,12 @@
logger.removeHandler(env.params['uploader_handler'])
return FSM.NEXT
+ # category check
+ if 'section' in dsc:
+ category = dsc['section'].lower()
+ if category.startswith('user/') and category.split('user/')[1] not in allowed_categories:
+ logger.summary("WARNING: package '%d' has non-standard category: '%s'" % (dsc, dsc['section']))
+
return FSM.OK
def iter_targets(env):
@@ -428,7 +439,7 @@
logger.debug('run build command')
(env.params['rcode'], _) = destination.run(dsc.fname)
- return FSM.OK
+ return FSM.OK
def copy_results(env):
""" Copy build results from the destination. Organize log files """
@@ -494,6 +505,23 @@
return FSM.OK
+def check_binaries(env):
+ logger = env.params['logger']
+ resultdir = env.params['infras']['results']
+ allowed_categories = env.params['allowed_categories']
+
+ # category check
+ for fname in glob.glob(os.path.join(resultdir, '*.deb')):
+ pkg = DpkgDebPackage(fname)
+ # category check
+ if 'section' in pkg.control:
+ category = pkg.control['section'].lower()
+ if category.startswith('user/') and category.split('user/')[1] not in allowed_categories:
+ logger.summary("WARNING: package '%s' has non-standard category: '%s'" % \
+ (os.path.basename(fname), pkg.control['section']))
+
+ return FSM.OK
+
def remove_sources(env):
""" Send email """
@@ -581,10 +609,11 @@
iter_fnames : {FSM.OK : setup_build, FSM.STOP : None},
setup_build : {FSM.OK : check_sources, FSM.NEXT : iter_fnames},
check_sources : {FSM.OK : iter_targets, FSM.NEXT : iter_fnames},
- iter_targets : {FSM.OK : do_build, FSM.STOP : remove_sources},
+ iter_targets : {FSM.OK : do_build, FSM.STOP : check_binaries},
do_build : {FSM.OK : copy_results},
copy_results : {FSM.OK : check_build},
- check_build : {FSM.OK : iter_targets, FSM.STOP : remove_sources},
+ check_build : {FSM.OK : iter_targets, FSM.STOP : check_binaries},
+ check_binaries: {FSM.OK : remove_sources},
remove_sources: {FSM.OK : sign_results, FSM.STOP : footer},
sign_results : {FSM.OK : copy_to_queue},
copy_to_queue : {FSM.OK : footer},
Modified: trunk/buildme/tools/buildme.conf
===================================================================
--- trunk/buildme/tools/buildme.conf 2008-10-18 17:26:52 UTC (rev 119)
+++ trunk/buildme/tools/buildme.conf 2008-11-23 17:12:09 UTC (rev 120)
@@ -12,6 +12,7 @@
upload_timeout = 14400
result_url = https://garage.maemo.org/builder/%(product)s/%(build_dir)s/
src_repo = deb-src file:///var/www/extras-devel/ %(product)s free non-free
+allowed_categories = desktop development education games graphics multimedia navigation network office science social system utilities
[chinook]
product = chinook
Modified: trunk/buildme/tools/buildme.conf.debug
===================================================================
--- trunk/buildme/tools/buildme.conf.debug 2008-10-18 17:26:52 UTC (rev 119)
+++ trunk/buildme/tools/buildme.conf.debug 2008-11-23 17:12:09 UTC (rev 120)
@@ -12,6 +12,7 @@
upload_timeout = 14400
result_url = https://garage.maemo.org/builder/%(product)s/%(build_dir)s/
src_repo = deb-src file:///var/www/extras-devel/ %(product)s free non-free
+allowed_categories = desktop development education games graphics multimedia navigation network office science social system utilities
[chinook]
product = chinook
More information about the Extras-cauldron-commits
mailing list