/usr/share/debomatic/modules/Blhc.py is in debomatic 0.22-5.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 | # Deb-o-Matic - Blhc module
#
# Copyright (C) 2014 Mattia Rizzolo
# Copyright (C) 2015-2016 Luca Falavigna
#
# Authors: Mattia Rizzolo <mattia@mapreri.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; version 3 of the License.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
#
# Stores blhc output on top of the built package in the pool directory.
import os
from glob import glob
from subprocess import call
from tempfile import NamedTemporaryFile
from shutil import copyfile
class DebomaticModule_Blhc:
def __init__(self):
self.blhc = '/usr/bin/blhc'
def post_build(self, args):
if args.opts.has_section('blhc') and \
args.opts.has_option('blhc', 'options'):
blhcopts = args.opts.get('blhc', 'options').strip().split()
else:
blhcopts = []
if args.hostarchitecture:
architecture = args.hostarchitecture
else:
architecture = args.architecture
resultdir = os.path.join(args.directory, 'pool', args.package)
buildlog = glob(os.path.join(resultdir, '*_%s.build' %
architecture))[0]
blhclog = os.path.join(resultdir, args.package) + '.blhc'
if os.access(buildlog, os.R_OK):
if os.access(self.blhc, os.X_OK):
cmd = [self.blhc] + blhcopts + [buildlog]
with NamedTemporaryFile() as fd:
exitcode = call(cmd, stdout=fd, stderr=fd)
# Save bhlc log only if useful information has been
# reported, discard output when exit status is:
# 0: Buildlog is OK
# 1: No compiler commands were found
if exitcode not in [0, 1]:
copyfile(fd.name, blhclog)
return
|