Index: python/univention-install-config-registry-info =================================================================== --- python/univention-install-config-registry-info (Revision 1839) +++ python/univention-install-config-registry-info (Arbeitskopie) @@ -32,6 +32,7 @@ # . import os, sys +from optparse import OptionParser import subprocess import univention.config_registry_info as ucr_info @@ -41,18 +42,34 @@ print '\t%s' % ' '.join(argv) return subprocess.call(argv) +def check_path(path): + if not os.path.exists(path): + error_path(path) + return path + +def error_path(path): + print >> sys.stderr, "File %s was not found" % path + sys.exit(1) + def binary_packages(): _prefix = 'Package: ' packages = [] - fp = open( 'debian/control' ) + fp = open( check_path('debian/control') ) for line in fp.readlines(): if not line.startswith( _prefix ): continue packages.append( line[ len( _prefix ) : -1 ] ) fp.close() return packages - + if __name__ == '__main__': + parser = OptionParser( version='univention-install-config-registry-info @%@package_version@%@') + parser.set_usage("Usage: %prog") + + parser.set_description("""Description: univention-install-config-registry-info is a debhelper like programm that is responsible for installing univention config registry (UCR) variable and category descriptions into etc/univention/registry.info/variables/ and /etc/univention/registry.info/categories/ in the package build directory. The files debian/PACKAGE.univention-config-registry-variables and debian/PACKAGE.univention-config-registry-categories are installed.""") + + parser.parse_args() + info = ucr_info.ConfigRegistryInfo( install_mode = True ) for package in binary_packages(): # package's conffiles Index: python/univention-install-service-info =================================================================== --- python/univention-install-service-info (Revision 1839) +++ python/univention-install-service-info (Arbeitskopie) @@ -32,6 +32,7 @@ # . import os, sys +from optparse import OptionParser import subprocess import univention.service_info as us_info @@ -41,10 +42,19 @@ print '\t%s' % ' '.join(argv) return subprocess.call(argv) +def check_path(path): + if not os.path.exists(path): + error_path(path) + return path + +def error_path(path): + print >> sys.stderr, "File %s was not found" %path + sys.exit(1) + def binary_packages(): _prefix = 'Package: ' packages = [] - fp = open( 'debian/control' ) + fp = open( check_path('debian/control') ) for line in fp.readlines(): if not line.startswith( _prefix ): continue @@ -53,6 +63,13 @@ return packages if __name__ == '__main__': + parser = OptionParser( version='univention-install-service-info @%@package_version@%@') + parser.set_usage("Usage: %prog") + + parser.set_description("""Description: univention-install-service-info is a debhelper like programm that is responsible for installing a service description file into etc/univention/service.info/services/ in the package build directory. The files debian/PACKAGE.univention-service are installed.""") + + parser.parse_args() + info = us_info.ServiceInfo( install_mode = True ) for package in binary_packages(): # package's conffiles Index: python/univention-install-config-registry =================================================================== --- python/univention-install-config-registry (Revision 1839) +++ python/univention-install-config-registry (Arbeitskopie) @@ -32,6 +32,7 @@ # . import os, sys +from optparse import OptionParser import subprocess import univention.config_registry @@ -40,10 +41,19 @@ if os.environ.get('DH_VERBOSE', False): print '\t%s' % ' '.join(argv) return subprocess.call(argv) - + +def check_path(path): + if not os.path.exists(path): + error_path(path) + return path + +def error_path(path): + print >> sys.stderr, "File %s was not found" % path + sys.exit(1) + def getPackages(): packages = [] - fp = open('debian/control') + fp = open(check_path('debian/control')) for line in fp.readlines(): if not line.startswith('Package: '): continue @@ -67,8 +77,7 @@ if file.startswith('etc/'): f = 'conffiles/'+file[4:] if os.path.exists(f): return f - print "file "+file+" was not found" - sys.exit(1) + error_path(file) def destPath(file, package, type='files'): return tmpDir(package)+'/etc/univention/templates/'+type+'/'+file @@ -81,8 +90,15 @@ return type else: return 'file' - + if __name__ == '__main__': + parser = OptionParser( version='univention-install-config-registry @%@package_version@%@') + parser.set_usage("Usage: %prog") + + parser.set_description("""Description: univention-install-config-registry is a debhelper like programm that is responsible for installing template files using univention config registry (UCR) variables into etc/univention/templates/ in the package build directory. The templates references by debian/PACKAGE.univention-config-registry are installed.""") + + parser.parse_args() + for package in getPackages(): file = extFile(package, 'univention-config-registry') if not os.path.exists(file): @@ -97,7 +113,7 @@ try: bla=open('debian/'+package+'.conffiles').readlines() except IOError: bla=[] conffiles = open('debian/'+package+'.conffiles','a') - fp = open(file) + fp = open(check_path(file)) filelist = [] for item in univention.config_registry.parseRfc822(fp.read()): if item['Type'][0] == 'file':