# -*- Mode: Python -*- vi:si:et:sw=4:sts=4:ts=4:syntax=python class Recipe(recipe.Recipe): name = 'docbook-xml' version = '4.5' # FIXME - no license defined licenses = [] btype = BuildType.CUSTOM stype = SourceType.TARBALL url = 'https://docbook.org/xml/%(version)s/%(name)s-%(version)s.zip' tarball_checksum = '4e4e037a2b83c98c6c94818390d4bdd3f6e10f6ec62dd79188594e26190dc7b4' files_catalog = ['etc/catalog.xml'] async def install(self): etc_path = os.path.join(self.config.prefix, 'etc') if not os.path.exists(etc_path): os.makedirs(etc_path) etc_catalog_path = os.path.join(etc_path, 'catalog.xml') new_catalog_path = os.path.join(self.build_dir, 'catalog.xml') def read_catalog(path): try: with open(path, 'r') as f: lines= f.readlines() if len(lines) != 0: lines = lines[2:-1] except Exception as ex: lines = [''] return ''.join(lines) etc_catalog_lines = read_catalog(etc_catalog_path) new_catalog_lines = read_catalog(new_catalog_path) if new_catalog_lines in etc_catalog_lines: return with open(etc_catalog_path, 'w') as f: f.write("\n") f.write('\n') f.write(etc_catalog_lines) f.write("\n") f.write(new_catalog_lines) f.write("")