# -*- python -*- # build top level files # this is a SConscript, too, to support really build-dirs Import('env', 'is_dist') cronfile = env.FileSubst('capisuite.cron', 'capisuite.cronin') rcfile = env.FileSubst('rc.capisuite', 'rc.capisuite.in') env.AddPostAction([cronfile, rcfile], Chmod('$TARGETS', 0755)) env.Alias('install', [ env.Install('$docdir', Split('COPYING NEWS README AUTHORS')), ]) # Since these are not installed, we need to list explicitly # them for distribuition env.DistSourcesOf([cronfile, rcfile]) env.ExtraDist('cronjob.conf') #--- a simple 'Echo' action with nice output --- import SCons, os def echo_func(file, text): open(file, 'a').writelines([text, os.linesep]) def echo_str(file, text): return 'Echo("%s", %s)' % (file, repr(text)) Echo = SCons.Action.ActionFactory(echo_func, echo_str) #--- build Changelog --- changelog_header = """ # This file is automatically generated from the Subversion log for # the current branch (i.e. the branch which was used for this # release). Only changes starting from 2005-01-01 are listed here. # # ChangeLog.complete lists all changes in all branches if needed # for reference. """ cl = File('#/ChangeLog') env.ExtraDist(cl) if is_dist or 'ChangeLog' in COMMAND_LINE_TARGETS: cl = env.Command(cl, None, [Echo('$TARGET', changelog_header), Echo('$TARGET', ''), # need to set locale to set correct character encoding 'LANG=de_DE svn log -v -r "HEAD:{2005-01-01}" >> $TARGET' ])[0] env.AlwaysBuild(cl) changelog_complete_header = """ # This file is automatically generated from the Subversion # repository. It contains all changes in all development branches # and is only meant for reference purposes. If you want to see the # changes which lead to this release, please refer to the ChangeLog """ cl = File('#/ChangeLog.complete') env.ExtraDist(cl) if is_dist or 'ChangeLog' in COMMAND_LINE_TARGETS: cl = env.Command(cl, None, [Echo('$TARGET', changelog_complete_header), Echo('$TARGET', ''), # need to set locale to set correct character encoding 'LANG=de_DE svn log -v $SVNREPOSITORY >> $TARGET' ])[0] env.AlwaysBuild(cl)