mirror of
https://github.com/Telecominfraproject/OpenNetworkLinux.git
synced 2025-12-27 18:25:00 +00:00
2
sm/infra
2
sm/infra
Submodule sm/infra updated: 3bfc913ed8...b0e02165a7
@@ -352,14 +352,14 @@ class OnlPackage(object):
|
||||
# FPM doesn't seem to have a doc option so we copy documentation
|
||||
# files directly into place.
|
||||
#
|
||||
docpath = os.path.join(root, "usr/share/doc/%(name)s" % self.pkg)
|
||||
if not os.path.exists(docpath):
|
||||
os.makedirs(docpath)
|
||||
|
||||
for src in self.pkg.get('docs', []):
|
||||
if not os.path.exists(src):
|
||||
raise OnlPackageError("Documentation source file '%s' does not exist." % src)
|
||||
|
||||
dstpath = os.path.join(root, "usr/share/doc/%(name)s" % self.pkg)
|
||||
if not os.path.exists(dstpath):
|
||||
os.makedirs(dstpath)
|
||||
shutil.copy(src, dstpath)
|
||||
shutil.copy(src, docpath)
|
||||
|
||||
changelog = os.path.join(workdir, 'changelog')
|
||||
copyright_ = os.path.join(workdir, 'copyright')
|
||||
@@ -399,6 +399,18 @@ class OnlPackage(object):
|
||||
for provides in onlu.sflatten(self.pkg.get('provides', [])):
|
||||
command = command + "--provides %s " % provides
|
||||
|
||||
for conflicts in onlu.sflatten(self.pkg.get('conflicts', [])):
|
||||
command = command + "--conflicts %s " % conflicts
|
||||
|
||||
for replaces in onlu.sflatten(self.pkg.get('replaces', [])):
|
||||
command = command + "--replaces %s " % replaces
|
||||
|
||||
if 'virtual' in self.pkg:
|
||||
command = command + "--provides %(v)s --conflicts %(v)s --replaces %(v)s " % dict(v=self.pkg['virtual'])
|
||||
|
||||
if 'priority' in self.pkg:
|
||||
command = command + "--deb-priority %s " % self.pkg['priority']
|
||||
|
||||
if 'init' in self.pkg:
|
||||
if not os.path.exists(self.pkg['init']):
|
||||
raise OnlPackageError("Init script '%s' does not exist." % self.pkg['init'])
|
||||
@@ -410,6 +422,16 @@ class OnlPackage(object):
|
||||
if self.pkg.get('init-after-remove', True):
|
||||
command = command + "--after-remove %s " % OnlPackageAfterRemoveScript(self.pkg['init'], dir=workdir).name
|
||||
|
||||
if self.pkg.get('asr', True):
|
||||
# Generate the ASR documentation for this package.
|
||||
sys.path.append("%s/sm/infra/tools" % os.getenv('ONL'))
|
||||
import asr
|
||||
asro = asr.AimSyslogReference()
|
||||
asro.extract(workdir)
|
||||
asro.format(os.path.join(docpath, asr.AimSyslogReference.ASR_NAME), 'json')
|
||||
|
||||
############################################################
|
||||
|
||||
if logger.level < logging.INFO:
|
||||
command = command + "--verbose "
|
||||
|
||||
|
||||
@@ -410,7 +410,7 @@ rm -f /usr/sbin/policy-rc.d
|
||||
logger.info("Cleaning Filesystem...")
|
||||
onlu.execute('sudo chroot %s /usr/bin/apt-get clean' % dir_)
|
||||
onlu.execute('sudo chroot %s /usr/sbin/localepurge' % dir_ )
|
||||
onlu.execute('sudo chroot %s find /usr/share/doc -type f -delete' % dir_)
|
||||
onlu.execute('sudo chroot %s find /usr/share/doc -type f -not -name asr.json -delete' % dir_)
|
||||
onlu.execute('sudo chroot %s find /usr/share/man -type f -delete' % dir_)
|
||||
|
||||
if 'PermitRootLogin' in options:
|
||||
@@ -458,6 +458,14 @@ rm -f /usr/sbin/policy-rc.d
|
||||
ua.chmod('go-w', f)
|
||||
ua.chmod('go-w', os.path.dirname(f))
|
||||
|
||||
if options.get('asr', None):
|
||||
asropts = options.get('asr')
|
||||
logger.info("Gathering ASR documentation...")
|
||||
sys.path.append("%s/sm/infra/tools" % os.getenv('ONL'))
|
||||
import asr
|
||||
asro = asr.AimSyslogReference()
|
||||
asro.merge(dir_)
|
||||
asro.format(os.path.join(dir_, asropts['file']), fmt=asropts['format'])
|
||||
|
||||
for (mf, fields) in Configure.get('manifests', {}).iteritems():
|
||||
logger.info("Configuring manifest %s..." % mf)
|
||||
@@ -520,6 +528,8 @@ rm -f /usr/sbin/policy-rc.d
|
||||
f.write("%s" % issue)
|
||||
onlu.execute("sudo chmod a-w %s" % fn)
|
||||
|
||||
|
||||
|
||||
finally:
|
||||
onlu.execute("sudo umount -l %s %s" % (os.path.join(dir_, "dev"), os.path.join(dir_, "proc")))
|
||||
|
||||
|
||||
Reference in New Issue
Block a user