Merge pull request #1 from opencomputeproject/master

Merge latest.
This commit is contained in:
Jeffrey Townsend
2016-11-02 11:20:34 -07:00
committed by GitHub
3 changed files with 39 additions and 7 deletions

View File

@@ -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 "

View File

@@ -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")))