python3-specfile-0.32.2-1.el9$>`=)UHT>CQ?Qud  V />B Q]GG :G G G G 4GPGG<GX(8"9\":"S"B=F=G>GH?0GI@LGX@Y@Z@[@\@G]BG^GbHdJ]eJbfJglJjtJGuKGvLwM\GxNxGyODzPPPPPQ0Q4Cpython3-specfile0.32.21.el9A library for parsing and manipulating RPM spec files Python library for parsing and manipulating RPM spec files. Main focus is on modifying existing spec files, any change should result in a minimal diff.fbuildvm-x86-10.iad2.fedoraproject.orgFedora ProjectFedora ProjectMITFedora ProjectUnspecifiedhttps://github.com/packit/specfilelinuxnoarch;.\ T&&00 4747;;4d4d''VV)W)WHH;;((<<2TJBn:xF2&X;+CcI%|D)"AA큤A큤A큤fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffI1b940bb6e556353793023b99890a7d4f68f9d855967ceda5e61203ce9b9627154694279aa4c5acda089ee81646e986fb6f4bb057bd0e9da1a688168e7b9d431004be9a1014bed619d732daf37d3a3fe37498e125223e52247abe3295fc2dbbd43aa464174798e461ecb0ca2b16395b4c8ab4ef6be91e917ad1f21003a952f710a1a859b5379649391697284ec59a72a7676147909e872223acacf42df6be247f58e51b6bf3641e6ba83d80832a1e3c01cf0fc557cd0cc56d763cb0dbe6999de6e73869c3c07458c77a12b724540d9646ef2233d133f2cbcbbf564f09ee258559e73869c3c07458c77a12b724540d9646ef2233d133f2cbcbbf564f09ee2585592ef4f4869311248ef5110ec9d3bc1beba70cd8d365ee418762f7107a1aad48f22ef4f4869311248ef5110ec9d3bc1beba70cd8d365ee418762f7107a1aad48f2334607326d8723007afc707c151b967ada8fe98746d4e92381a1feec9180b13f334607326d8723007afc707c151b967ada8fe98746d4e92381a1feec9180b13f07cb6a513c9f16e2144624db361bcf8798b183c3fa11544bd537d59060042ea107cb6a513c9f16e2144624db361bcf8798b183c3fa11544bd537d59060042ea113f1735a0e3d6e53b1c914eee1aeb3cb3b7cf0b5e085ec29ebdc5a9967ba71d013f1735a0e3d6e53b1c914eee1aeb3cb3b7cf0b5e085ec29ebdc5a9967ba71d04894605c1d8d67645714b240ee6c249423a433cc93dadbef7a19823557ebf4544894605c1d8d67645714b240ee6c249423a433cc93dadbef7a19823557ebf4543797935479e11559844688925e41ec29161231cb4969652eb60e3767072a16303797935479e11559844688925e41ec29161231cb4969652eb60e3767072a1630bff00361e08e0b2622e5cc05a00065dfe3915a4e332d0d851dbca1f17194945abff00361e08e0b2622e5cc05a00065dfe3915a4e332d0d851dbca1f17194945ac74306f98375b1d3844c427bb4cf66c7d0e79395cce6cfeaa28a741158caf63ec74306f98375b1d3844c427bb4cf66c7d0e79395cce6cfeaa28a741158caf63e3491aa374d06d15bd57c8c892ce21d5327f128a6b7530311e5144cca24b6062a3491aa374d06d15bd57c8c892ce21d5327f128a6b7530311e5144cca24b6062a63400ec591e13bf928980942fe817584dfcbd03cc3b6f57086f9d87398f28a2763400ec591e13bf928980942fe817584dfcbd03cc3b6f57086f9d87398f28a2752aa98c48069e4c25c2c6b277ed9701f91cdc24e1481dc60d43ead537138f0ed52aa98c48069e4c25c2c6b277ed9701f91cdc24e1481dc60d43ead537138f0ed9d10acddb27a92830a7dda9e929da17d40b81ad755356772213f1cf964d8f14c9d10acddb27a92830a7dda9e929da17d40b81ad755356772213f1cf964d8f14cc5e95b77d5152232872e6c5756756289dcf749dd321e5c6128cf27b7b77b72ffc5e95b77d5152232872e6c5756756289dcf749dd321e5c6128cf27b7b77b72ff5d0cd0bb4dfc80be1a8ad73e19b7a7531b9d170fb2eb227041eff4838b6b13215d0cd0bb4dfc80be1a8ad73e19b7a7531b9d170fb2eb227041eff4838b6b13214af3c0966ed8d8dfae1ffc331c144075fb9939193a658bdabb0f1e12665e8fbe4af3c0966ed8d8dfae1ffc331c144075fb9939193a658bdabb0f1e12665e8fbe336c48fceb20c3072e5c1b76df8cd6a80b5166801cb843dadb5994b5d9777b34336c48fceb20c3072e5c1b76df8cd6a80b5166801cb843dadb5994b5d9777b345b1819ae5110102f0a8c734fec2c44daea54a0c919f72f9e117229154ab9170d5b1819ae5110102f0a8c734fec2c44daea54a0c919f72f9e117229154ab9170d4d096e08ead176aad0173c2223e3771f099ef8812f2183ea50f39616164357104d096e08ead176aad0173c2223e3771f099ef8812f2183ea50f3961616435710ee499fe3726593bcb0bc489c53b95a6b80a505e6b9a1aad77f67508e739c3292ee499fe3726593bcb0bc489c53b95a6b80a505e6b9a1aad77f67508e739c32924b5deb339873797b8ab88f07922af6ae3c16ad8729ed09795d10b1d10f0971e29766ad51d52423195c945c79b47f80e4a28c5c480717eca7f6dc871d07eeed44e21b7eedcc8a5f6689175d95a9f9c1ff9ccde86afd95f0414dc6c062707346d6b42ab53ea0d854afab0f635f8f6c9ddc4e3798eed2a76ccaf601587b76f8034ac3938bcec8c2e3bf4e61b9f8218086f6a4fd596bddcb09ff3407f7bab2ccf3a22d08f3a06b2721159e23bef64223b9c0312121874b1f679387395211c1ba9d6030b2a4f354e4a0cf42530115eeefdb09ac7b94f497225ac77390bbca6bbe4d2f63929a3ec2263f12e37f0f15184db1fab69429f9ba523781b46bd6ae86a8bc383a660af2b81aee1932e961acb68f0e0e0f2ec03d1c321df1d7c1392f29b681dde45fe86e763b4605671ac6cfe2a3e1d5b9823f615f1d87b1706980aba600d9d4e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b8551e4e091f620386cc5ab8c678f27260fb3a11ce84efdee9070fedfb49d5e71e86621d5b308babb24ea68b9ca21186f5f557f4d2f5f765cab708152f135c4437de64badd2a2d1611dd5a27c53d914bccd6e6e6412f524a6b6a6d9ccde8cf9506e1d398a75b75754b78b5f161e52dad8ad04d226ad3c66fb8da7916f1e9a3858db3e5b70c5f5de32f8beada8bf028a8bd97088415dbcda78e2911457fd3c714c36224904992cc2f3352daec94ab88a2f3d65d4ce49b47e065d3fca05e69c4f880044317059a7b806d5e3e97dbc11c8bdaf64288583999c2d8f1776ba00e922f2d0e7eedcd989bee45615fafa898cb91237eb548f486bc9537c7200fe525a2be8aa3ccf0987a00fd5cee230ef9ebb837af6d1e08d9319dff326c6aed141aeffbd4f1d5dcefc6d934f98dabc57f6ca2a8bf13b008d3adb233192ef18edc28ceee5974rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootpython-specfile-0.32.2-1.el9.src.rpmpython-specfilepython3-specfilepython3.9-specfilepython3.9dist(specfile)python3dist(specfile)@@@     python(abi)python3.9dist(rpm)python3.9dist(typing-extensions)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PartialHardlinkSets)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsZstd)3.93.0.4-14.6.0-14.0.4-14.0-15.4.18-14.16.1.3f@f@fIf|fafO/e@ed@e[J@eH@e?ed@d"dǢ@d@d7dp@d\dA)@d cU@cױ@cvcʂ@c @cc#@cEcocWcMCcIO@c@Packit - 0.32.2-1Packit - 0.32.1-1Packit - 0.32.0-1Packit - 0.30.0-1Packit - 0.29.0-1Packit - 0.28.3-1Packit - 0.28.0-1Packit - 0.27.0-1Packit - 0.25.0-1Packit - 0.24.0-1Packit - 0.23.0-1Packit - 0.22.1-1Packit - 0.22.0-1Nikola Forró - 0.21.0-1Packit - 0.20.2-1Packit - 0.20.0-1Packit - 0.19.0-1Packit - 0.18.0-1Packit - 0.17.0-1Packit - 0.16.0-1Packit - 0.15.0-1Packit - 0.14.0-1Packit - 0.13.2-1Packit - 0.13.1-1Packit - 0.13.0-1Packit - 0.12.0-1Packit - 0.11.1-1Packit - 0.11.0-1Packit - 0.10.0-1Packit - 0.9.1-1Packit - 0.9.0-1Tomas Tomecek - 0.8.0-2Packit - 0.8.0-1Packit - 0.7.0-1- Explicitly invalidate the global parse hash when a SpecParser instance is created to prevent this issue. (#409)- Fixed two issues related to condition parsing. (#405)- It is now possible to bump a release in a manner similar to `rpmdev-bumpspec` using `Specfile.bump_release()` method. (#399)- Fixed an exception that occured when accessing the `Specfile.has_autochangelog` property while having unparseable lines (e.g. lines ending with unescaped `%`) in `%changelog`. (#387)- Improved compatibility with RPM 4.20 (alpha version is currently in Fedora Rawhide). (#380)- Fixed several minor issues such as processing seemingly commented-out macro definitions (e.g. `#%global prerel rc1`) and treating `SourceLicense` tag as a source. (#374, #376) - Made `EVR`, `NEVR` and `NEVRA` objects comparable. (#379)- A trailing newline is no longer added to spec files without one upon saving. (#353)- Improved handling of commented-out macro definitions and fixed related logic in `Specfile.update_value()`. (#338)- There is a new method, `Specfile.update_version()`, that allows updating spec file version even if it is a pre-release. (#317)- Improved type annotations for `UserList` subclasses. (#299) - Macro definitions gained a new `commented_out` property indicating that a macro definition is commented out. Another new property, `comment_out_style`, determines if it is achieved by using a `%dnl` (discard next line) directive (e.g. `%dnl %global prerelease beta2`) or by replacing the starting `%` with `#` (e.g. `#global prerelease beta2`). (#298)- Sources now have a `valid` property that indicates whether a source is valid in the current context, meaning it is not present in a false branch of any condition. (#295)- Removed dependency on setuptools-scm-git-archive. (#290)- Macro definitions and tags gained a new `valid` attribute. A macro definition/tag is considered valid if it doesn't appear in a false branch of any condition appearing in the spec file. (#276)- `specfile` no longer tracebacks when some sources are missing and can't be _emulated_. In such case the spec file is parsed without them at the cost of `%setup` and `%patch` macros potentially expanding differently than with the sources present. (#271) - Specfile's license in RPM spec file is now confirmed to be SPDX compatible. (#269)- Fixed Packit config to work properly with `propose-downstream` and `pull-from-upstream` jobs. (#261)- Fixed infinite loop when removing macros with `%` in the name. (#244) - Added a possibility to undefine system macros by setting a macro value to `None` in the `macros` argument of the `Specfile` constructor. (#244) - Fixed a bug in processing options of `%prep` macros. For instance, when a quoted string appeared inside an expression expansion, it could lead to improper parsing, rendering the spec file invalid after accessing the options. (#253)- Parsing has been optimized so that even spec files with hundreds of thousands of lines can be processed in reasonable time. (#240)- Specfile library now handles multiple `%changelog` sections. (#230)- Added a new `guess_packager()` function that uses similar heuristics as `rpmdev-packager`, meaning that the `Specfile.add_changelog_entry()` method no longer requires `rpmdev-packager` to guess the changelog entry author. (#220) - The `Specfile.add_changelog_entry()` method now uses dates based on UTC instead of the local timezone. (#223)- Added `Specfile.has_autorelease` property to detect if a spec file uses the `%autorelease` macro. (#221)- Parsing the spec file by RPM is now performed only if really necessary, greatly improving performance in certain scenarios. (#212) - Checked that license is a valid SPDX license.- Fixed a bug that broke parsing in case spec file contained conditionalized macro definitions or similar constructs. (#209) - Specfile no longer depends on rpm-py-installer, it now depends directly on rpm. (#207)- Fixed infinite loop that occured when section options were followed by whitespace. (#197)- Fixed a bug in section parsing that caused sections to be ignored when there were macro definitions spread across the spec file and not cumulated at the top. (#191)- Added `Section.options` attribute for convenient manipulation of section options. (#183) - specfile now supports single-line sections where section content is represented by a macro starting with a newline. (#182) - Added `evr` argument to `Specfile.add_changelog_entry()`. This allows adding a changelog entry with an EVR value that's different from the current specfile's value. This makes it easier to reconstruct a specfile's `%changelog` based on another source using the higher level interface. (#181)- All classes including `Specfile` itself can now be copied using the standard `copy()` and `deepcopy()` functions from `copy` module. (#176) - `Section.name` attribute has been renamed to a more fitting `Section.id`. (#167) - `setup.cfg` now uses `license_files` instead of deprecated `license_file`. (#162)- Tags enclosed in conditional macro expansions are not ignored anymore. (#156) - Fixed context managers being shared between Specfile instances. (#157)- Context managers (`Specfile.sections()`, `Specfile.tags()` etc.) can now be nested and combined together (with one exception - `Specfile.macro_definitions()`), and it is also possible to use tag properties (e.g. `Specfile.version`, `Specfile.license`) inside them. It is also possible to access the data directly, avoiding the `with` statement, by using the `content` property (e.g. `Specfile.tags().content`), but be aware that no modifications done to such data will be preserved. You must use `with` to make changes. (#153)- Fixed an issue that caused empty lines originally inside changelog entries to appear at the end. (#140) - Renamed the `ignore_missing_includes` option to a more general `force_parse`. If specified, it allows to attempt to parse the spec file even if one or more sources required to be present at parsing time are not available. Such sources include sources referenced from shell expansions in tag values and sources included using the `%include` directive. (#137)- `specfile` now supports localized tags (e.g. `Summary(fr)`) and tags with qualifiers (e.g. `Requires(post)`). It also follows more closely rpm parsing logic and doesn't fail on invalid section names. (#132)- Added utility classes for working with (N)EVR. (#113) - Fixed an issue with multiple instances of `Specfile` not expanding macros in the right context. (#117)- Rebuild to trigger downstream Packit automation- Added `Specfile.update_tag()` method that allows updating tag values while trying to preserve macro expansions. You can watch a demo on [YouTube](https://youtu.be/yzMfBPdFXZY). (#101)- It is now possible to filter changelog entries by specifying lower bound EVR, upper bound EVR or both. (#104) - Added support for filenames specified in source URL fragments, for example: `https://example.com/foo/1.0/download.cgi#/python-specfile-0.32.2.tar.gz` (#100)python39-specfilebuildvm-x86-10.iad2.fedoraproject.org 1726737856  ""$$&&((**,,..0023456789:;<=>?@ABCDEFG0.32.2-1.el90.32.2-1.el90.32.2-1.el90.32.20.32.2@0.32.2-1.el9specfilespecfile-0.32.2.dist-infoINSTALLERLICENSEMETADATAWHEELtop_level.txt__init__.py__pycache____init__.cpython-39.opt-1.pyc__init__.cpython-39.pycchangelog.cpython-39.opt-1.pycchangelog.cpython-39.pycconditions.cpython-39.opt-1.pycconditions.cpython-39.pycconstants.cpython-39.opt-1.pycconstants.cpython-39.pyccontext_management.cpython-39.opt-1.pyccontext_management.cpython-39.pycexceptions.cpython-39.opt-1.pycexceptions.cpython-39.pycformatter.cpython-39.opt-1.pycformatter.cpython-39.pycmacro_definitions.cpython-39.opt-1.pycmacro_definitions.cpython-39.pycmacros.cpython-39.opt-1.pycmacros.cpython-39.pycoptions.cpython-39.opt-1.pycoptions.cpython-39.pycprep.cpython-39.opt-1.pycprep.cpython-39.pycsections.cpython-39.opt-1.pycsections.cpython-39.pycsourcelist.cpython-39.opt-1.pycsourcelist.cpython-39.pycsources.cpython-39.opt-1.pycsources.cpython-39.pycspec_parser.cpython-39.opt-1.pycspec_parser.cpython-39.pycspecfile.cpython-39.opt-1.pycspecfile.cpython-39.pyctags.cpython-39.opt-1.pyctags.cpython-39.pyctypes.cpython-39.opt-1.pyctypes.cpython-39.pycutils.cpython-39.opt-1.pycutils.cpython-39.pycvalue_parser.cpython-39.opt-1.pycvalue_parser.cpython-39.pycchangelog.pyconditions.pyconstants.pycontext_management.pyexceptions.pyformatter.pymacro_definitions.pymacros.pyoptions.pyprep.pypy.typedsections.pysourcelist.pysources.pyspec_parser.pyspecfile.pytags.pytypes.pyutils.pyvalue_parser.pypython3-specfileREADME.md/usr/lib/python3.9/site-packages//usr/lib/python3.9/site-packages/specfile-0.32.2.dist-info//usr/lib/python3.9/site-packages/specfile//usr/lib/python3.9/site-packages/specfile/__pycache__//usr/share/doc//usr/share/doc/python3-specfile/-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64-v2 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protectiondrpmzstd19noarch-redhat-linux-gnudirectoryASCII textPython script, UTF-8 Unicode text executable, with very long linesPython script, ASCII text executablepython 3.9 byte-compiledempty  !"#$%&'()*+,-./0123456789:;<=>?@ABCPPOPPRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRF:q+bn https://bugz.fedoraproject.org/python-specfileutf-8aeb352a7b6dd118b8fa3aaf14ae2ab82cde5d82cebe1325c1ecaff9bd7aeb7c11f2ad19b0e0c34c19836168a7fdba8bb3bddd259320538dfb235bcc415b6fcaf?(/h}S#9xd;f#h9AmsfMkMJ} h-e 4#3;p4% #m$twPH=s D)+L}qHO4@9cl-K"G +4`f|@?7|а\H 8#k准4j @Ա3!mM[6Ⲛ id *!ti ,( P Rtq,dW`gR7E{ 6),yYs`-qJA8bSGΉ/KH*-hp˧3F7ygd)P5^mwalĕY(f>-z߸MlQQ)dJv;L鍏'm32x(s!0 H I>_aFy[Gt7oԓ OKxUxrFь-##焢_XUHD<~~fC2=JLytStMgYgmzKsא?_?LII5z>iWJ9)9ιZVJJAe2y,')sۚlu<_ZxPӦBZgsjWau6 Ix^蚵5 oѺiTL> JI uyibpZo.A Ll@S3. RSj VNluG$D{xKMG0j={W?׶>eGxpF B B[tK7I iSUҩSlIFO))!m4"t;gVaX+rnVިpeX}·e=GÇ$DdjQ*`lARо&hLEXV䙱 0H:@KaքL{U|Cd(xED*)FkB"G,]_GWBƠYP -0*$BW )J qBJ 38ո D.i+J);E8C3^>ʘyZP0'W"®ʎHbSN8(1Rnh[p۠|`? -P0He{9z>®%;ĺ@\EgX^b >,cZ_o䠫M!{I*M= "9&q37"e22Vkժ>>WaJ l?M ''.p'i>(5F-QEnCȫ~ iEY~P$6Qkql;Zm7xy LN|A(z=67ap7|P cvrYC`kƣ W))$r%_mNb! pv G4Ǯ気[Գib@cωaG ydc$oNG!?XEY窚ez̉f]=W~.(6 CX}0>ͧp>BV|TN-06ύqDUN