obs-service-compose_kiwi_description-2.0.3-bp155.1.5 >  A dkMI%z `6iGZm^mY-Z2MSNǞGMo]O hԷTdjo?)2{&N`2u5+ͣv#N~jt -4.* ȫxnG%AAQeh6%-v/h[wu~3AOUcG}pڸf m7gV1ݞYWGܨ,5)fBoiݾEH ,шSFy /ddO*}$dD]8‘mEH.UUe܅!d`G}QӁРn@x Bkb8\3[M1ΜU `V|;e^5h+e7%"#ou:Rx_{] %F1ۆw#.du1Ҟd*5*-b cR8!8ۚ~N,mZ]M Gs E[lGpDS\B838458480c2db1cb754f185989b26a491d973bfe29cfc42cfef29d8c7491af367907da3716b63ab5bebfbfca1a8a895396873f93l`dkMI%z Ieg)cg\$,h9G%cZGHJwOoqa4 Rl`-$6?w%"Nb43~#"gw=OZ> "RUO J*'BOu w %9an+.K1@:)0*᫦*K5+3{*qsOŸ SC$lkgүӱ%}|q"&F:M(cW`%Ưh ؇8 N >p>d?dd'- 7 kx|  (4 : @ L  (4\x( 8(9L:8FaBGaTHa`IalXapYat\a]a^abacbdcecfclcuc,vc8wcxcyczccccdCobs-service-compose_kiwi_description2.0.3bp155.1.5An OBS service: generate KIWI description using KEGThis is a source service for openSUSE Build Service. The source service produces a KIWI image description through KEG from one or more given git repositories that contain keg-recipes source tree. It supports auto-generation of change log files from commit history.dkMlamb58 SUSE Linux Enterprise 15 SP5openSUSEGPL-3.0-or-laterhttps://bugs.opensuse.orgDevelopment/Tools/Buildinghttps://github.com/SUSE-Enceladus/keglinuxnoarch A큤dkMdkMdkM68c6f4f6b17256ced4ba9248bb0a758829cda5835eb931e64f13616fe76413eb98d9f8cb1928ad20cd5d639e41a28cf1c84a398186b2a99b990d2ddd0f72aeebrootrootrootrootrootrootpython-kiwi-keg-2.0.3-bp155.1.5.src.rpmobs-service-compose_kiwi_description@    /usr/bin/python3gitpython3-kiwi-kegrpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.0.4-14.6.0-14.0-15.2-14.14.3cccwscwscn9@a{@azay?@ay?@aqV@ad'@ad'@aV@aLl@a9@a9@a&0a&0aGaG```@`@`@```@`E`E``@`@`@`Z`Z`Z`Z`f@``N@`N@`@`@`@````~@`~@`x*`x*`x*`x*`x*`x*`x*`m`dd@`c`S@`S@`S@`Q@`Q@`Q@`Q@`Q@`Q@`P`OL@`OL@`OL@`OL@`J@`J@`H`H`H`H`H`Gc@`F`D@`@`?z@`>(`>(`>(`>(`>(`>(`>(`>(`>(`<@`<@`<@`<@`<@`<@`<@`<@`<@`;`;`;`;`;`;`:4@`8`8`8`8`8`8`8`8`8`7@`7@`7@`7@`7@`&m`"y@`@`U` l`2@__j_j_j__jgleissner@suse.comjgleissner@suse.comjgleissner@suse.comjgleissner@suse.comjgleissner@suse.comMarcus Schäfer Marcus Schäfer Joachim Gleissner Joachim Gleissner Marcus Schäfer Marcus Schäfer Marcus Schäfer Joachim Gleissner Marcus Schäfer Joachim Gleissner Joachim Gleissner Joachim Gleissner Joachim Gleissner Joachim Gleissner Joachim Gleissner Marcus Schäfer Joachim Gleissner Joachim Gleissner Joachim Gleissner Joachim Gleissner Joachim Gleissner Marcus Schäfer Joachim Gleissner Stefan Knorr Joachim Gleissner Joachim Gleissner Joachim Gleissner Joachim Gleissner Joachim Gleissner Joachim Gleissner Joachim Gleissner Joachim Gleissner Joachim Gleissner Joachim Gleissner Joachim Gleissner Joachim Gleissner Joachim Gleissner Joachim Gleissner Joachim Gleissner Joachim Gleissner Joachim Gleissner Joachim Gleissner Joachim Gleissner Stefan Knorr Marcus Schäfer Marcus Schäfer Marcus Schäfer Marcus Schäfer Marcus Schäfer Marcus Schäfer Marcus Schäfer Marcus Schäfer Jesus Bermudez Velazquez Jesus Bermudez Velazquez Jesus Bermudez Velazquez Jesus Bermudez Velazquez Marcus Schäfer Marcus Schäfer Jesus Bermudez Velazquez Joachim Gleissner Joachim Gleissner Jesus Bermudez Velazquez Marcus Schäfer Marcus Schäfer Joachim Gleissner Jesus Bermudez Velazquez Jesus Bermudez Velazquez Marcus Schäfer Marcus Schäfer Marcus Schäfer Marcus Schäfer Jesus Bermudez Velazquez Jesus Bermudez Velazquez Marcus Schäfer Jesus Bermudez Velazquez Jesus Bermudez Velazquez Jesus Bermudez Velazquez Jesus Bermudez Velazquez Jesus Bermudez Velazquez Marcus Schäfer Marcus Schäfer Jesus Bermudez Velazquez Jesus Bermudez Velazquez Jesus Bermudez Velazquez Jesus Bermudez Velazquez Marcus Schäfer Marcus Schäfer Marcus Schäfer Marcus Schäfer Marcus Schäfer Jesus Bermudez Velazquez Jesus Bermudez Velazquez Jesus Bermudez Velazquez Jesus Bermudez Velazquez Marcus Schäfer Marcus Schäfer Marcus Schäfer Marcus Schäfer Marcus Schäfer Marcus Schäfer Marcus Schäfer Marcus Schäfer Marcus Schäfer Marcus Schäfer Marcus Schäfer Marcus Schäfer Marcus Schäfer Marcus Schäfer Jesus Bermudez Velazquez Marcus Schäfer Marcus Schäfer Jesus Bermudez Velazquez Jesus Bermudez Velazquez Jesus Bermudez Velazquez Marcus Schäfer Marcus Schäfer Marcus Schäfer Marcus Schäfer Marcus Schäfer Marcus Schäfer Joachim Gleissner Joachim Gleissner Joachim Gleissner Marcus Schäfer Joachim Gleissner Joachim Gleissner Joachim Gleissner Marcus Schäfer Marcus Schäfer Marcus Schäfer Robert Schweikert Marcus Schäfer - Update to version 2.0.3: * Bump version: 2.0.2 → 2.0.3- Update to version 2.0.2: * Use keg instead of kiwi-keg as source dir name * Nameing consistency * Warn if referenced archive is not defined * tox.ini: Use allowlist_external * CI testing: Use Ubuntu 20.04 for python 3.6 build * Fix unit tests of OBS src service module * Regenerate docbook source file * Fix issues with man page sources * Update installation documentation- Update to version 2.0.2: * Bump version: 2.0.1 → 2.0.2 * Fix spec file name in .bumpversion.cfg * Do not obsolete python-kiwi_keg * Add unit test for missing include path message * Log message if include path does not exist (issue#113) * Use kiwi-keg instead of keg as source dist name * Rename package to python-kiwi-keg * Include doc source dir in Manifest- Update to version 2.0.1: * Bump version: 2.0.0 → 2.0.1 * Drop rpmlintrc * Use argument defaults that match type hints * Add missing dependeny on 'schema' to setup.py- Update to version 2.0.0: * Redesign image definition layout (codename 'minikeg') * Documentation overhaul * Build man page when building package * Install man pages in the correct section * Support multibuild parameter in src service * OBS src service: write _multibuild file * improve source info tracking * changelog generator: output dates in YAML changelog * make keg man page more akin to usual man-page style * OBS source service: add support for change log generator * changelog_generator: support multiple revision args * Support multiple roots for changelog generation * Support multiple full recipes roots * Add changelog generator- Increment patch version on service run By default read the version element from the written config.kiwi file and increment the patch part of the version information by 1 This action can be prevented by the parameter- Complete obs service This commit implements the actual keg call and store of result image data in the output directory from which OBS auto commits the data to the project if called on the remote side. This Fixes #68- Handle errors in input data more gracefully Check input objects for type before trying a dictionary rmerge. Print error message instead of stack trace when image defintion populate fails. Use separate exception for data errors.- Add dependency on Jinja2- Added mandatory outdir option When OBS calls the service through the API it appends the --outdir option. The passed information must be used to store the contents of the project. OBS will commit everything in --outdir to the backend- Update unit tests for kiwi API usage- Rename service to compose_kiwi_description In addition to the rename also allow an additional keg recipe location to be used in conjunction with a main recipe location- Support profile parameters in base profiles Copy profile parameter section from the base profile (if exists) into nested profiles and remove it from the base profile. This allows to have profile parameters in the base section rather than requiring all profile parameter containing sections to be in the nested profiles, potentially reducing duplication.- Added keg obs service The fetch_from_keg obs service can be used to integrate the creation of image descriptions via keg with the open build service. This commit creates the basic structure for the service.- Do not include base profiles in _multibuild file- Drop check for 'arch' key Do not require image definition dict to have an 'arch' key. This is now handle via generic schema comments.- Remove left-over debug message- Add support for nested profiles Add support for nested profiles in multi-build image definitions. This potentially allows for shorter package sections, less duplication in overlay archives, and shorter config.sh scripts. This commit also streamlines the produced overlay archives by not including directories multiple times.- Undo spacing change- Better errors and dest-dir default (issue#58) Add default destination directory (issue#58). Do basic verification of image data structure and print error messages instead of stack dumps.- Push rendered SUSE documentation for release- Bump version: 1.0.0 → 1.1.0- More typo fixes- Typo fixes in documentation- Add parameter for setting image version- Expand on single- vs multi-build.- Fix missing mypy library stubs For static type checking many modules startet to create library stubs packages to contain the types, like header files in C/C++. This commit installs the missing stubs package to the development environment- Documentation fixes Some re-phrasing in "command line" section. Various typo fixes.- DC: Update to new suse2021 stylesheets- Add note about profile specific parameters to documentation- Add documentation on keg recipes data strucutre- Bump version: 0.0.8 → 1.0.0- Remove unused import- Improve list-recipes functionality Instead of looking for directories with a image.yaml, try to construct an image definition from all leaf directories in 'images'. This adds basic validation of the image definitions. Add image name, description, and version number to output.- Fix return type hint for get_script_path()- Do not indent file content in config scripts When generating file content in config scripts, do not indent file content in profile sections. Also added descriptive comments to script_utils functions.- Rename utils.py to file_utils.py- Drop obsolete template files- Generate config.sh and images.sh directly This moves generating the config scripts into keg rather than relying on templates in keg-recipes. Use of templates is still supported to generate script headers which can be used to provide additional information available from the data dictionary.- Properly support overwriting of keys Keys from upper levels may be overwritten in lower levels, but adding subsequent data modules may revert that by merging upper level dict files again. This commit prevents duplicate merging.- Do not generate _mbuild if no profiles are defined- Add support for _multibuild creation- Typo fixes- Formatting fixes- Fix unit test for create_overlays- Be compatible with python 3.6 Do not use shutils.copytree for compatibility with python 3.6. The dirs_exists_ok parameter was introduced with python 3.8.- Generate overlay archive tags for schema Process overlay data when the image defintion is populated, and add archive tags to the profile sections for use in schema templates. Also add collected archive information to data dictonary root, for easier archive generation later. Simplify archive generation, produce tarball directly without intermediate copy, and set file ownership to 'root'. Change mockup recipes data to be more in line with real data layout.- Add dump-dict parameter Adds an option to dump the generated data dictionary to stdout instead of creating an image description. Useful for debugging.- docs: Minor typo/consistency fixes- Update documentation title After a converstation with Stefan Knorr from the doc team we agreed on updating the Keg title to be more specific. In addition a short information what Keg is was added under the title. In the rendered SUSE layout this information appears under the Preface section.- Bump version: 0.0.7 → 0.0.8- Fixed package build keg binary and docs not added to spec filelist- Bump version: 0.0.6 → 0.0.7- Added MANIFEST.in Documentation missing in package data- Bump version: 0.0.5 → 0.0.6- Fixed sorting issue in unit tests There is a code test on a dict traversal which can lead to different ordering. The unit test which tests these contents needs to compare on a sorted base- Bump version: 0.0.4 → 0.0.5- Use template to add archive- Option to disable creation - Affects only root tarballs- Create overlay tarballs by default - Tarball creation by default - Add flag to disable tarball creation - Add archive name to xml file if tarball is not root- Move root check inside method- Fixed doc string Make sure line breaks for data type descriptions happens after the type declaration. This avoids rendering mistakes for the documentation build- Added information about data read from image tree With --verbose set print information which file from the image definition was read in the order of their reading.- Generate overlay tarball - Use the new defined overlay structure- make flake8 happy- add unit test coverage for delete-key support Adds a key to a (not actually produced) Leap <= 15.1 image description and removes it for the Leap 15.2 one that is used in the unit test. This will cover the corresponding code path. This also required a slight rearrangment of the mockup image defintion, as it wasn't quite using the appropriate keg data layout.- Better performance for getting the files- Make sure recipe list is returned sorted- Simplify list recipes The implementation used os.scandir which returns unsorted information that can also vary between calls. Therefore we saw periodically failures on the unit tests and the feature could be implemented using os.walk with less code and sorted output- Allow dict keys to be null when merging Allow keys to be 'null' when merging into data dictionary. This can be used to delete an inherited key.- Add archive element if not root - Only add archive elements to config.kiwi if not root- Update overlay structure - Parse overlay yaml allowing duplicate keys - Check overlaynames are present - Create different overlay tarballs - Update config.kiwi with the proper archive elements- Bump version: 0.0.3 → 0.0.4- Update keg documentation Add missing information about new --list-recipes option Also fixed a typo in the docopt usage string for this option- script template file is not related to schema type The script template file names for config.sh.templ, images.sh.templ were prefixed by the schema type, e.g 'vm'. This is not needed because the contents of the scripts are defined by the collected data from the image definition tree and do not change in ther semantic depending on the schema type. Therefore we only need one template for config.sh and one template for images.sh- Fixed comment indentation in script templates- Sort the list- Fixes - Rename option to create overlays tarball - Tarball includes only the overlays directories- Add support for images.sh script Unfortunately adding support for another script hook was not possible without changing the layout of the image definition data for scripts. The basic structure for the scripts config.sh and images.sh is now as follows: ```yaml config: [#] config.sh setup config_script: NAMESPACE: - SCRIPTLET_NAME files: NAMESPACE: - PATH_DEFINITION services: NAMESPACE: - SERVICE_DEFINITION sysconfig: NAMESPACE: - FILE_DEFINITION [#] images.sh setup image_script: SAME_STRUCTURE_AS_FOR_CONFIG_SCRIPT ``` On merge of this commit the data structure in the keg-recipes repository must be adapted. This Fixes #35- Show paths instead of names- Add option to list available recipes This Fixes #32- Update overlay creation - Place the overlay structure under root in destination dir - Add option to create a tarball- Create missing overlay dirs in destination dir- Add support for overlay files This Fixes #30- Preserve XML comments The KIWI validation does not preserve comments after validation as they have no meaning for the processing of the image description. However for OBS comments are treated as project configurations and therefore the toplevel comments if present must be added back. Because comment processing is tricky especially for inline comments and when moving to a another than the XML markup, this commit also includes a processing refactoring. In addition to the toplevel comment preserve on XML documents it also adds format processing options as follows: Added two new options --format-xml|--format-yaml which allows to explicitly specify if on top of the Keg generated KIWI description an update to the current KIWI schema should be applied or not. In addition a warning about handling of comments in this mode will be issued If no format-* options are given the keg generated XML document is only validated against the KIWI API but not translated into the installed schema. This allows to keep all comments as created by the keg jinja template mechanism. This Fixes #19- Keg vs. keg consistency Use Keg to name the project and `keg` to name the commandline tool- Fixes - wrong indentation - remove extra blank line- Use property decorator - Use the properties available to access the attributes - Add missing properties - Add setter- Update image definition populate methods - Add update profiles method - Add update contents method- Refactor utils Turn the code into a class. Remove code duplication in some methods Update a method name- Improve overall error checking Make sure obvios errors like recipe path does not exist or schema template was not found are catched by keg. Also make sure validation errors from KIWI are part of the log output- Update documentation pre review by Jesus, Robert- Add back 100% code coverage check- Reference the Leap example Improve user experience with keg to provide an example that actually can run outside of obs and without access to private SLES repos.- Fixed call for create_kiwi_description The CLI call did not take the new markup argument into account- Fix type hints- Add type hint checker This Fixes #16- Update rmerge doc string- Add template functions tests - Test template functions - Add type hints - Rename parse_yaml_tree method to get_yaml_tree This Fixes #12- Bump version: 0.0.2 → 0.0.3- Fixed unit tests to respect keg version updates- Bump version: 0.0.1 → 0.0.2- Fixed bumpversion config Adapt to new location of version.py- Handle unsupported markup types Raise a KegError on unsupported markup type, currently we support xml and yaml- Test if given destination directory exists- Added release target to Actions workflow On tags a new release to PyPi will be made. A new release tag is only allowed to be set and pushed via bumpversion on main. This Fixes #8- Turn README into ReST style Allow the python index to correctly display it- Rename python namespace from keg to kiwi_keg The project and namespace keg is already registered on the python package index. Thus we need to rename the python namespace as it cannot co-exist with an already registered one- Added install chapter- Added doc_suse tox target Build SUSE documentation from sphinx based project. This will be the docs that gets published on documentation.suse.com- Added Keg Documentation Added overview chapter and update manual page This Fixes #7- Fixed packaging metadata for pypi- Fixed leap/15.2/image.yaml in test data tree The wrong include path was used- Explain tox targets- Added support for YAML markup in KiwiDescription- Added anymarkup to virtual environment keg will also support YAML output. For this the anymarkup module is needed.- Remove dots for build status badge- Update build status badge- Add information for contributing This Fixes #13- Refactor generator Turn the generator into a class. Apply the single responsibilty OO pattern. Add tests for the code and give the single parts of the processing a name. Update the keg commandline code to make use of the classes. Keg should also be usuable as an API, thus I think it's important come up with a good class design. This Fixes #10- Flake fixes for keg generator prior refactor make sure at least the linter is happy with it- Fixed main docopt setup and use of logging The logging facility was used in a wrong way by passing the log object around. This commit fixes this part and also puts the docopt string to the python top scope were it belongs to. The result of this code is now also covered by tests which makes sure to handle errors the way we want it- Temporary disable 100% code coverage in tests Until we are writing tests to fully cover the existing code this commit disables the test coverage check such that we can use the pull request checks- Add tests for KegImageDefinition class The KegImageDefinition class takes a keg image definition and composes/includes recursively all data that belongs to this image definition. The component data is taken from the provided data tree. This commit tests the traversal of data and checks on the expected output. This Fixes #11- Added test data infrastructur For testing components of keg we need a test data infrastructure. The proposed data is based on composing a Leap 15.2 JeOS image- fix: some data dirs may be skipped Declare only actually scanned directories as already scanned.- adjust year in copyright notice- use docopt instead of argparse- Move to github actions Due to the strange travis policies we are moving the tox targets to github actions- Add support for config.sh script lib Read script files from data directories and make them available to config.sh template renderer.- Add support for additional data trees Add support for specifing additional optional data root directories that will be scanned after the main one. This allows to pull additional parameters or overwrite exiting ones from a separate repository.- Initial code drop Initial code drop, supports generation of config.kiwi and config.sh.- Added KiwiDescription class The KiwiDescription class allows to validate and markup translate a given KIWI description file against the KIWI API. The translation through the KIWI API includes automatic XSLT processing into the schema used by KIWI at call time and pretty formats the output- Fixed status branch name keg uses main not master- Consolidate README into ReST- - Initial README- Initial Application Setup Setup python project for keg: * tox based development environment * pytest unit tests and coverage * bumpversion version management * rpm package spec and changelog management * sphinx documentationlamb58 16847538942.0.3-bp155.1.5servicecompose_kiwi_descriptioncompose_kiwi_description.service/usr/lib/obs//usr/lib/obs/service/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -gobs://build.opensuse.org/openSUSE:Backports:SLE-15-SP5/standard/8860b519d68b25bd2153c242e87bd397-python-kiwi-kegcpioxz5noarch-suse-linuxdirectoryPython script, ASCII text executableASCII text, with very long linesR}@9M:_Dޗ(utf-84b3fd4d284bf7c57d9b84e08d88f23b51f10cb219c3d23f43c583531750220de? 7zXZ !t/ ] crt:bLL ؝. a2O>)V',,hgu*"-SUR_,[ϳ%Q[pyb$4:kc FCt(aNƳ\]Fp<\Dž=P8S ҝBnf,X9~>xܲǰzn~xO}+1vlEy$P. |.',9i{nN'ǫޔ%K{"8 "ryRu/5~cjj . <)ox]SȽoO,6 rV ѹyç ^5a1<)E-b5gϱWBOh,Td2DnR/;Ȱ>p"+F '{#:C_HwE;|aAa6 982*x+H~V=mfXu†&u> ޳Qv?RT);`|LݡbCT9 }d-x%IND"@^(SHdۖOAC* أWTd.SBO՝,$xj:{r˒MՆ]s .efOxv4o瘒FUUAn%=@myMX#~oJgXlZV2bBsژjw"DꏥD7DdT 4Ny5 0%j?#CZ;(xn%٬L&Ww]<8"HSӺג݉hKBv2a:JLm wOɥt]e߮=y`طR6mdU[jV*0GPA YZ