Coverage for modules/org/openteacher/profileRunners/packagers/debian/debian : 50%
Hot-keys on this page
r m x p toggle line displays
j k next/prev highlighted chunk
0 (zero) top of page
1 (one) first highlighted chunk
|
#! /usr/bin/env python3 # -*- coding: utf-8 -*-
# Copyright 2012-2013, 2017, Marten de Vries # # This file is part of OpenTeacher. # # OpenTeacher 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, either version 3 of the License, or # (at your option) any later version. # # OpenTeacher 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 OpenTeacher. If not, see <http://www.gnu.org/licenses/>.
self._mm.mods(type="sourceWithSetupSaver"), self._mm.mods(type="metadata"), self._mm.mods(type="execute"), ) "package-debian": 0, "default": -1, }
return #debian-based only module, remain inactive
try: buildNumber = sys.argv[1] path = sys.argv[2] cExtensions = sys.argv[3] == "true" except IndexError: sys.stderr.write("Please specify 1) a debian build number, 2) a path for the deb file (ending in .deb) and 3) 'true' to enable c extensions and 'false' to disable c extensions as the last command line arguments.\n") return
sourceWithSetupSaver = self._modules.default("active", type="sourceWithSetupSaver") if cExtensions: sourcePath = sourceWithSetupSaver.saveSourceWithCExtensions() else: sourcePath = sourceWithSetupSaver.saveSource() packageName = self._metadata["name"].lower()
oldCwd = os.getcwd() os.chdir(sourcePath) with open("stdeb.cfg", "w", encoding='UTF-8') as f: f.write(""" [DEFAULT] Package3: {package} Section: misc XS-Python-Version: >= 3.3 Depends: python3-pyqt5, python3-pyqt5.qtopengl, python-pyqt5.qtmultimedia, python-pyqt5.qtquick, python-pyqt5.qtwebkit, espeak, python3-chardet, tesseract-ocr, python3-enchant, python3-urwid """.strip().format( package=packageName )) subprocess.check_call([ sys.executable or "python3", "setup.py", "--command-packages=stdeb.command", "sdist_dsc", #e.g. 0openteachermaintainers1 "--debian-version", "0" + self._metadata["email"].split("@")[0] + buildNumber, ]) os.chdir("deb_dist/%s-%s" % ( packageName, self._metadata["version"], )) with open("debian/%s.manpages" % packageName, "w", encoding='UTF-8') as f: #this assumes there are only manpages of category 1. Which #is currently just fine. f.write("\n".join(glob.glob("linux/*.1"))) subprocess.check_call(["dpkg-buildpackage", "-rfakeroot", "-uc", "-us",], env=dict(os.environ, DEB_BUILD_OPTIONS='nocheck')) os.chdir(oldCwd) shutil.copy( glob.glob(os.path.join(sourcePath, "deb_dist/*.deb"))[0], path )
|