librpminspect-devel-1.12.1-1.el7> 6 6`d63!}|J^>j/5,de(@ j/5,dQhYBy(-lbcr(yՌP͇%&(޴ 4Vm3K͛Uy}@_FGX ~U*oHۼ#˅=4XQET{} ,89YIptjv~zv΃3>}p4XZFVW(PF4ͤ7,5;;bûկGl8$b0]ًlWaH?t]q+ҠgKmh6/F fC$$JY&?fbڑ^ְ2^^Ev:TڪQ! !xQHH]{z9." PZuu15ɰ(zxwW~:r*Al*5D?]ѭ1^;(sd571b53de37e9c5ec5dd1576c12fd495334dba32cʉ3!}|J^>j/5,de(@ j/5,d9K,u%Qe ڝwܡ5;)(go}ӏ[ۨ'4,0D/gbf-?G/-7rV2D6HLCl +(ɔ 6~T7||bpitѶ1OA)֡v}#3FT.+vn|H9=tRMN* xk}QB s~1לYI`;f I4*YI-!>:?~d # \ 8 T p  v \|(89 : XG,HdIܜXܬYܴ\]^ݱb,defltu,vdwxyLPTClibrpminspect-devel1.12.11.el7Header files and development libraries for librpminspectThe header files and development library links required to build software using librpminspect.e(:buildvm-ppc64le-02.iad2.fedoraproject.org9Fedora ProjectFedora ProjectGPL-3.0-or-later AND LGPL-3.0-or-later AND LGPL-2.1-or-later AND Apache-2.0 AND MIT AND AND BSD-1-Clause AND BSD-2-Clause AND BSD-3-Clause AND CC-BY-4.0Fedora ProjectDevelopment/Toolshttps://github.com/rpminspect/rpminspectlinuxppc64leMD2)s6KQ~ A큤A큤e(:e(,e(,e(,e(,e(,e(,e(,e(,e(,e(,e(:e(:e(,ab8d8b006e5fdc95e9473baec4c0718e98a5612f2dcee5cded2a5f6d5fbd5e42a15b62cf2f97ea364611cadb9547f7e8b61a7d9c224a730f48a80467fc168d64413efe5ce83686c85c285f77b0bdd3d739bc4887ecbf7aca523dcb2ecda888a72bc962144d411774b59827a4dd81d04f32f1660aba1e6bf686c8b0562fc37d9f113b0879485c6d52a1fa526c8befaf1166c0ab1e8e1d1df6820aed84a0e3daea628f18a1cc233628ee3199862b99a33a174b164334de9b4a2d79951431c11c0839c43691992fb663450dc831888c1b331aa605f36bc704ed62b7ff267ef53f1a470ac349878199345bfd94953c89d686d9e0a3a52784c1101160f82ba437312bf8af3d768ab0117925a9ffd3bf50759c51e10b26a9311678e7af128a358ee51920ad5213c1a4f1a20648f9dbef8b55240809eaeb705f5cc7a15f72295d1ce17ae3a994d82e644b03a792a930f574002658412f62407f5fee083f2555c5f23118librpminspect.so.0rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrpminspect-1.12.1-1.el7.src.rpmlibrpminspect-devellibrpminspect-devel(ppc-64)@    librpminspect(ppc-64)librpminspect.so.0()(64bit)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)1.12.1-1.el73.0.4-14.6.0-14.0-15.2-14.11.3e'e'd@bb\@aW@a@a0`@`\{@`7@`7@`U_@_@_@_@_[fDavid Cantrell - 1.12.1-1David Cantrell - 1.12-1David Cantrell - 1.11-1David Cantrell - 1.10-1David Cantrell - 1.9-1David Cantrell - 1.8-1David Cantrell - 1.7-1David Cantrell - 1.6-1David Cantrell - 1.5-1David Cantrell - 1.4-1David Cantrell - 1.3.1-1David Cantrell - 1.3-2Fedora Release Engineering David Cantrell - 1.2-1David Cantrell - 1.2-1David Cantrell - 1.2-1David Cantrell - 1.2-1David Cantrell - 1.1-1- Upgrade to rpminspect-1.12.1- Upgrade to rpminspect-1.12- Upgrade to rpminspect-1.11- Upgrade to rpminspect-1.10- Upgrade to rpminspect-1.9- Upgrade to rpminspect-1.8- Upgrade to rpminspect-1.7- Upgrade to rpminspect-1.6- Begin work on version 1.5 - Use llabs() instead of labs() in the filesize inspection - Improve has invalid execstack flags reporting - Use long unsigned int to report size changes in patches - Fix some errors in the changedfiles inspection - Update the changedfiles test cases - Check DT_SONAME in is_elf_shared_library() - Skip debuginfo and debugsource files in abidiff - Make sure abidiff test cases add a DT_SONAME to the test lib - Report INFO level for patches findings by default - Python black fixes in test/test_abidiff.py - Update the test/test_patches.py cases for patches changes - Generate regular changelog in utils/srpm.h - Skip branches without targets in submit-koji-builds.sh - Fedora and CentOS systems in ci need diffstat - opensuse-leap CI job requires diffstat - Fix the Debian CI jobs in GitHub Actions - Fix and enable the Ubuntu extra-ci job in GitHub Actions - Use pip instead of pip3 for the Ubuntu command - Use apt-get -y install in - Enable the opensuse-tumbleweed GHA job again - Make sure the Gentoo GHA job has diffstat - Get the Arch Linux GHA job working again - Use ubuntu:latest for the ubuntu GHA image - Simplify the utils/determine-os.sh script - Update license table in README.md - Allow any number of builds specified for fetch only mode - Handle old or broken versions of libmagic in changedfiles - Update GitHub Action status badges in README.md - Fix $(OS) check in the Makefile - Fix the ubuntu GitHub Actions extra-ci job - Make sure the centos8 job has git available before cloning - Change strappend() to work as a variadic function - Use json_tokener_parse_ex() to get better error reporting - Fix reading of the javabytecode block in the config file - Catch missing/losing -fPIC correctly on .a ELF objects (#352) - Refactor elf_archive_tests() and its helper functions - Followup fix for find_no_pic, find_pic, and find_all - Install cpp-coveralls using pacman on Arch Linux - Install cpp-coveralls using pip on Arch Linux - Install cpp-coveralls in pre.sh on Arch Linux - Install required Python modules in pre.sh on Arch Linux - Do not upgrade pip on Arch Linux, go back to using pip.txt - Drop DEBUG_PRINT from source generated by pic_bits.sh - Do not run apt-get update as a second time on Debians systems - The lost PIC tests need to invoke gcc with -fno-PIC - Update the OpenSUSE Tumbleweed files, but disable it anyway - Define inspection_ignores in struct rpminspect - Clean up the config file section reading code - Add add_ignore() to init.c - Fix fetch only mode download directory - Stub out libcurl download progress callback function - Perform symbolic owner and group matching in ownership (#364) - Restrict download_progress() to systems with CURLOPT_XFERINFOFUNCTION - Read per-inspection ignore lists from the config file. - Add commented out per-inspection ignore blocks - Implement per-inspection path ignore support (#351) - Report annocheck failures correctly in librpminspect. - Note all regular expression settings use regex(7) syntax - Allow size_threshold: info in the config file (#261) - Check ignore list in files for path prefixes to ignore (#360) - Support a list of expected empty RPMs in the config file (#355) - Call mparse_reset() before mparse_readfd() - Do not crash with the -c option specifies a non-existent file - Update TODO list - Make sure brp-compress is disabled in test_manpage.py - Require/Recommend /usr/bin/annocheck - Note size_threshold can be the keyword info - Ensure ctxt->lastError.message is not NULL before strdup (#382) - Handle corrupt compressed files in changedfiles (#382) - Disable debugging output for the ignore lists in init.c - Drop debugging output in the xml inspection - Remove what working directories we can - Correctly find icons for desktop files in subpackages (#367) - Followup to the Icon= check in the desktop inspection (#367) - BuildRequires libmandoc-devel >= 1.14.5 - Manually install mandoc on centos7 for now- Start work on the 1.4 release - Trim git commit summary prefix from changelog lines - Report the program version number in the results (#309) - Handle compressed but otherwise empty man pages (#308) - Flake8 fixes for test_manpage.py - s/self.rpm/self.after_rpm/ in two test_manpage.py tests - Disable broken ELF heurisitic and size limit in libclamav - Modify dump_cfg() to write valid YAML to stdout (#306) - Migrate more code off hsearch and to uthash - Replace hsearch() with uthash in the kmod inspection - Update TEST_METADATA status in TODO and MISSING - Restrict style checks to specific directories - Replace hsearch() with uthash in the abidiff inspection - Change tsearch/twalk use to uthash - Correct misuse of entry with hentry variables (#321) - Normalize copyright boilerplates in source files - Use hentry->key over hentry->value in pathmigration - Adjust lib/meson.build for Fedora rawhide - Drop gate.yml and begin non-x86_64 arches in ci.yml - Add armv7, aarch64, and s390x to the other_arches job - Change init.c error reporting over to err/warn functions - Modify file triggers and matrix use in ci.yml - Split 32-bit osdeps out to post.sh scripts in osdeps/ - Split style.yml in to shellcheck.yml and python.yml - Rewrite extra-ci.yml to use the matrix strategy method for GHA - Move the emulated CI jobs to extra-ci.yml - s/pkg/pki/ for the centos jobs - Debian and Ubuntu fixes for CI - Python pip on Debian is called pip - Try to fix just debian:stable - Enable debian:testing in extra-ci.yml - Enable centos8 in extra-ci.yml again - Enable centos7 in extra-ci.yml again - Enable opensuse-leap and gentoo in extra-ci.yml again - Run each test script individually on emulated targets - Try a different syntax for the emulated matrix jobs - Install s390 glibc headers on s390x fedora systems - Detect 32-bit and musl presence in test_elf.py - Skip lost -fPIC tests if gcc lacks -m32 support - Add stretch and buster to the emulated targets list - Drop Debian buster from the emulated targets - Install gcc-multilib only on Debian x86_64 and s390x systems - libc-dev:i386 -> libc6-dev:i386 - Disable Debian targets in extra-ci temporarily - s/AUR/git/g in osdeps/arch/post.sh - In read_cfgfile(), keep track of block depth correctly (#329) - A few more yaml parsing fixes for block vs group - Recommend or Require libabigail >= 1.8.2 - Finish normalizing all the error reporting statements - Advertise of rpminspect-report in the contrib README. - Report libclamav version and CVD versions (#258) - Ensure first argument of warn(3) is a format string. - Enable werror=true and warning_level=3 in default_options - Update the translation template file - Get rid of invalid free() in get_product_release() - Add inspection_id() to librpminspect - Update the po/rpminspect.pot template - Improve mkannounce.sh to handle stable and devel releases- Remove duplicate elf_end() call in init_elf_data() (#303) - Update translation template- Small change to the way Koji builds are submitted - Move the master branch to version 1.3 - Drop DEBUG_PRINT in process_table() - Add doc/git.md to explain source control conventions - Change Suggests to Recommends in the spec file - Add kmidiff and politics to the inspections section of generic.yaml - Update TODO list - Use warn() for non-fatal errors in mkdirp() - Require libabigail >= 1.8 in rpminspect.spec.in - Enable multiple --headers-dir1 and --headers-dir2 args in abidiff - Swap out some more fprintf()/fflush() reporting with warn() - #include in peers.c and rmtree.c - On fedora-rawhide CI jobs, install gcc-c++ and gcc-plugin-devel - Disable fedora-rawhide GitHub Action for now - Correctly handle the -w option on rpminspect(1) (#256) - Drop the relative path handling for the -w option - Build and install rc from source on opensuse-leap - Update doc/git.md on how to track upstream - Add .github/ and osdeps/ directories to extra-ci.yml - Build and install rc from source on opensuse-tumbleweed - Adjust curl(1) command line used for rc in opensuse CI jobs - Trying to figure out why the opensuse jobs produce curl errors - Another slight change to post.sh for the opensuse-leap CI job - s/PowerTools/powertools/g in the centos8 PKG_CMD definition - The output of html2text on opensuse systems is different - Rename HEADER_MAN to HEADER_MANPAGE (#264) - Add inspection_header_to_desc() to librpminspect (#264) - Add xunit output format support (#264) - Support the new output function call syntax (#264) - Move init_elf_data() to readelf.c, move data to struct rpminspect - Update inspect_elf.c unit tests for librpminspect changes - Remove check_ipv6() from inspect_elf.c - Create the badfuncs inspection - Update po/ translation files. - Add badfuncs test cases - Forgot to commit test_badfuncs.py. - Fix flake8 and black errors with test_badfuncs.py - Skip debug packages in filesize, display changes correctly - Fix spurious execstack failure - Fix YAML config file reading for BLOCK_INSPECTIONS - Expand dump_config() to cover all config file settings - Minor spelling fixes in strfuncs.c and making code explicit - Simplify list_to_string() so it handles 1-elements lists right - Add abspath() to canonicalize path strings - In the doc inspection, only show diff(1) output for text files (#254) - Add strxmlescape() to strfuncs.c in librpminspect (#264) - Output the system-out xunit portion as CDATA (#264) - Slightly change how strxmlescape() works - Add the runpath inspection to librpminspect - Rename test/data/lto.c to test/data/mathlib.c - Handle the empty string case in abspath() - Expand dump_cfg() to show runpath settings - Fix block handling problems in the YAML config reader - Note single builds cannot be rebases in is_rebase() - Hook up the driver for the runpath inspection - Install patchelf for tests on fedora and centos - Update TODO and README.md files - Pass -D to rpminspect in the test suite - Add integration tests for the runpath inspection - Python flake8 and black fixes in test_runpath.py - Fixes for GitHub Actions on Debian and Ubuntu - Disable Rust support in pip modules, more extra-ci fixes - Update pip and setuptools on debian and ubuntu CI jobs - Make sure pip is updated on debian, centos7, and centos8 - Fixes for extra-ci on arch, centos7, centos8, and debian - Adjust docker image names for opensuse and arch - Add Gentoo Linux to the Extra CI set - extra-ci.yml typo fix for the gentoo job - Use gentoo/stage3 as the container for the gentoo CI job - Disable opensuse-tumbleweed and archlinux CI jobs - Make sure util/determine-os.sh picks up Gentoo Linux - In the runpath inspection, fail if DT_RPATH and DT_RUNPATH exist - Use pip install for PIP_CMD on gentoo - Set PIP_CMD to pip install -user for gentoo - Handle a NULL from list_to_string() in abspath() - Do not match path prefixes in the runpath inspection - Python black fixes for test_runpath.py - Stop doing an emerge --sync on the gentoo CI job - Replace emerge --sync with a manual portage sync - Use emerge-webrsync to update portage on gentoo - Add uthash and move the file matching code to it. - Typo fix in README.md - Fix some memory leaks found by valgrind - Create mkannounce.sh to help make release announcements easier - shellcheck fixes for mkannounce.sh- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild- For BUILDTYPE=release, generate the correct type of changelog - Minor logic error in submit-koji-builds.sh - Fix reading existing spec file in submit-koji-builds.sh - Bump development build version to 1.2 - Use is_rebase() in the 'upstream' inspection - Use rpmtdSetIndex() and rpmtdGetString() in get_header_value() - Add get_rpmtag_fileflags() to files.c and call from extract_rpm() - Use correct Version and Release values in download_build() - #include -> #include - Add the 'config' inspection to librpminspect - Rephrase reporting messages in the 'config' inspection - Add the 'doc' inspection to librpminspect - Update TODO list - Minor updates to try and make gate.sh more reliable - Add config and doc to the inspections list in generic.yaml - Rename the '%files' inspection to 'files' (#194) - Modify baseclass.py to allow 'before' and 'after' NVR tuples - Use the after tuple to override the NVR in test_abidiff.py - Use the after tuple to override the NVR in test_upstream.py - Write rpminspect output to a file in the test suite - Add 28 test cases for the 'config' inspection - Fix the errors in the 'config' inspection found by the test suite - Fix Python problems in the test suite reported by black and flake8 - Add Makefile targets for black and flake8 - One more formatting issue reporting by Python black in test_config.py - More 'python black' formatting errors reported for test_config.py - https://mandoc.bsd.lv -> http://mandoc.bsd.lv - Add a -D/--dump-config option to rpminspect(1) - Use global reported variable in 'config' inspection - Fix reporting errors in the 'doc' inspection - Add test_doc.py with 'doc' inspection test cases - Ignore flake8 W291 in test_doc.py where we explicitly want whitepsace. - Add init_rebaseable() to librpminspect - Check the rebaseable list in is_rebase() in librpminspect - Update TODO list - Define a new GitHub Action using utils/gate.sh - Update the README.md file - shellcheck fixes for utils/gate.sh - Use utils/find-ninja.sh to determine what ninja-build command to use - Install fedora-packager for the gate.yml GitHub Action - Remove before and after variables from gate.sh; unused - Remove unnecessary basename() calls in inspect_upstream.c - Do not assume an or bn contain strings in is_rebase() (#196) - Adjust what things run during with GitHub Actions - Add get_rpm_header_string_array() to librpminspect - Replace init_source() with get_rpm_header_string_array() in inspect_upstream.c - free() allocated output string in inspect_changelog.c on errors - s/10240/16384/ in archive_read_open_filename() call in unpack.c - Add the 'patches' inspection to librpminspect - Add uncompress_file() to librpminspect - Add filecmp() and use that in place of zcmp/bzcmp/xzcmp - README.md updates - Restrict some GitHub Actions to source code and test suite changes. - Only enable lz4 compression if ARCHIVE_FILTER_LZ4 is defined - Go ahead and wrap the rest of the libarchive compression filters - s/class Test/class /g - Make sure uncompress_file() supports xz compression - Handle more compressed file MIME types. - Add test_changedfiles.py to the test suite. - Add test_patches.py with test cases for the 'patches' inspection - flake8 fixes in the test suite - Python format fixes for test_changedfiles.py - Python format fixes in test_patches.py - More Python format fixes for test_patches.py - Remove unnecessary 'a' in DESC_PATCHES - Better explanation as to why the EmptyLicenseTag tests are skipped. - Test suite cleanup; add rebase= and same= to TestCompareSRPM - Black formatting fixes for the test suite. - Remove unused imports in test_upstream.py - Revert black fixes for test_config.py - Fix my email address in test suite source files. - Support single package URLs for before and after builds (#190) - Handle invalid/missing RPMs in get_product_release() - Use warnx(), errx(), and err() in src/rpminspect.c - Modify submit-koji-builds.sh to pick up all pkg-git branches. - Update the rpminspect.1 man page to reflect current status. - Update translation template files in po/ - Support relative directory paths for the -w option (#188) - Implement the 'virus' inspection and add test cases for it. - Update po/ template files - Python formatting fixes for test_virus.py - Update the osdeps/*/reqs.txt files. - More osdeps updates for the clamav needs - Install 'xz' for the 'style' GitHub Action - Fix a variety of small memory leaks in librpminspect - Stop the freshclam service for the Ubuntu gate job - Support slightly older versions of libclamav in inspect_virus.c - Add the 'politics' inspection to librpminspect. - In tearDown() in the test suite, call rpmfluff clean() methods - Add test_politics.py with 'politics' inspection test cases - Python black format fixes for test_politics.py - 'it should added' -> 'it should be added' - Increase the runtime timeout for test_virus.py - Install the timeout decorator on all OSes in our GitHub Actions - Install timeout-decorator with pip, not timeout - Expand librpminspect with support for SHA-224, SHA-384, and SHA-512 - Define DEFAULT_MESSAGE_DIGEST in constants.h and use that. - Replace some fprintf()/fflush() calls with warn()/warnx() calls - Rename the 'DT_NEEDED' inspection to 'dsodeps' - Rename 'LTO' inspection to 'lto' - Update translation template and fix two incorrect error strings. - Note all valid message digests in data/politics/GENERIC - Improve reporting in the patches inspection - Only fail 'changedfiles' for VERIFY and higher results - If 'removedfiles' only reports INFO messages, pass the inspection - If 'addedfiles' only reports INFO results, pass the inspection - If 'patches' only reports INFO results, pass the inspection - No need to check value of allowed in permissions_driver() - Do not let INFO results fail the 'doc' inspection. - Do not let all INFO results in 'upstream' fail the inspection - Fix RPMFILE_FLAGS handling for %config files (#221) - Still report file changes in the 'config' inspection for rebases - Correctly check RPMFILE_DOC flags in the 'doc' inspection - Include rpm/rpmfi.h insted of rpm/rpmfiles.h - Only check regular files and symlinks in the 'doc' inspection - Remove unnecessary assert() statements in filecmp() - Remove incorrect warnx() reportings based on filecmp() return value - Exclude man pages from the 'doc' inspection - Honor the -a command line option for downloads as well as runtime (#233) - Allow optional 'commands' block in the config file - Fix assorted non-critical memory leaks - Remove unnecessary warn() after a failed stat() - Additional memory fixes for the abidiff inspection (#244) - Free ELF symbol names list in find_lto_symbols() before return - Followup to the memory fixes for read_abi() and free_abi() - Prevent invalid pointer dereferencing in invalid result in 'patches' (#245) - Avoid reusing the same abi_pkg_entry_t struct in read_abi() - Allow a set of excluded path prefixes in 'pathmigration' - Fix the YAML parsing for the pathmigration block - Document the BRANCHES variable for 'make koji' - Include the .asc file when submitting new Koji builds (#191) - Include the .asc file in the spec file- For BUILDTYPE=release, generate the correct type of changelog - Minor logic error in submit-koji-builds.sh - Fix reading existing spec file in submit-koji-builds.sh - Bump development build version to 1.2 - Use is_rebase() in the 'upstream' inspection - Use rpmtdSetIndex() and rpmtdGetString() in get_header_value() - Add get_rpmtag_fileflags() to files.c and call from extract_rpm() - Use correct Version and Release values in download_build() - #include -> #include - Add the 'config' inspection to librpminspect - Rephrase reporting messages in the 'config' inspection - Add the 'doc' inspection to librpminspect - Update TODO list - Minor updates to try and make gate.sh more reliable - Add config and doc to the inspections list in generic.yaml - Rename the '%files' inspection to 'files' (#194) - Modify baseclass.py to allow 'before' and 'after' NVR tuples - Use the after tuple to override the NVR in test_abidiff.py - Use the after tuple to override the NVR in test_upstream.py - Write rpminspect output to a file in the test suite - Add 28 test cases for the 'config' inspection - Fix the errors in the 'config' inspection found by the test suite - Fix Python problems in the test suite reported by black and flake8 - Add Makefile targets for black and flake8 - One more formatting issue reporting by Python black in test_config.py - More 'python black' formatting errors reported for test_config.py - https://mandoc.bsd.lv -> http://mandoc.bsd.lv - Add a -D/--dump-config option to rpminspect(1) - Use global reported variable in 'config' inspection - Fix reporting errors in the 'doc' inspection - Add test_doc.py with 'doc' inspection test cases - Ignore flake8 W291 in test_doc.py where we explicitly want whitepsace. - Add init_rebaseable() to librpminspect - Check the rebaseable list in is_rebase() in librpminspect - Update TODO list - Define a new GitHub Action using utils/gate.sh - Update the README.md file - shellcheck fixes for utils/gate.sh - Use utils/find-ninja.sh to determine what ninja-build command to use - Install fedora-packager for the gate.yml GitHub Action - Remove before and after variables from gate.sh; unused - Remove unnecessary basename() calls in inspect_upstream.c - Do not assume an or bn contain strings in is_rebase() (#196) - Adjust what things run during with GitHub Actions - Add get_rpm_header_string_array() to librpminspect - Replace init_source() with get_rpm_header_string_array() in inspect_upstream.c - free() allocated output string in inspect_changelog.c on errors - s/10240/16384/ in archive_read_open_filename() call in unpack.c - Add the 'patches' inspection to librpminspect - Add uncompress_file() to librpminspect - Add filecmp() and use that in place of zcmp/bzcmp/xzcmp - README.md updates - Restrict some GitHub Actions to source code and test suite changes. - Only enable lz4 compression if ARCHIVE_FILTER_LZ4 is defined - Go ahead and wrap the rest of the libarchive compression filters - s/class Test/class /g - Make sure uncompress_file() supports xz compression - Handle more compressed file MIME types. - Add test_changedfiles.py to the test suite. - Add test_patches.py with test cases for the 'patches' inspection - flake8 fixes in the test suite - Python format fixes for test_changedfiles.py - Python format fixes in test_patches.py - More Python format fixes for test_patches.py - Remove unnecessary 'a' in DESC_PATCHES - Better explanation as to why the EmptyLicenseTag tests are skipped. - Test suite cleanup; add rebase= and same= to TestCompareSRPM - Black formatting fixes for the test suite. - Remove unused imports in test_upstream.py - Revert black fixes for test_config.py - Fix my email address in test suite source files. - Support single package URLs for before and after builds (#190) - Handle invalid/missing RPMs in get_product_release() - Use warnx(), errx(), and err() in src/rpminspect.c - Modify submit-koji-builds.sh to pick up all pkg-git branches. - Update the rpminspect.1 man page to reflect current status. - Update translation template files in po/ - Support relative directory paths for the -w option (#188) - Implement the 'virus' inspection and add test cases for it. - Update po/ template files - Python formatting fixes for test_virus.py - Update the osdeps/*/reqs.txt files. - More osdeps updates for the clamav needs - Install 'xz' for the 'style' GitHub Action - Fix a variety of small memory leaks in librpminspect - Stop the freshclam service for the Ubuntu gate job - Support slightly older versions of libclamav in inspect_virus.c - Add the 'politics' inspection to librpminspect. - In tearDown() in the test suite, call rpmfluff clean() methods - Add test_politics.py with 'politics' inspection test cases - Python black format fixes for test_politics.py - 'it should added' -> 'it should be added' - Increase the runtime timeout for test_virus.py - Install the timeout decorator on all OSes in our GitHub Actions - Install timeout-decorator with pip, not timeout - Expand librpminspect with support for SHA-224, SHA-384, and SHA-512 - Define DEFAULT_MESSAGE_DIGEST in constants.h and use that. - Replace some fprintf()/fflush() calls with warn()/warnx() calls - Rename the 'DT_NEEDED' inspection to 'dsodeps' - Rename 'LTO' inspection to 'lto' - Update translation template and fix two incorrect error strings. - Note all valid message digests in data/politics/GENERIC - Improve reporting in the patches inspection - Only fail 'changedfiles' for VERIFY and higher results - If 'removedfiles' only reports INFO messages, pass the inspection - If 'addedfiles' only reports INFO results, pass the inspection - If 'patches' only reports INFO results, pass the inspection - No need to check value of allowed in permissions_driver() - Do not let INFO results fail the 'doc' inspection. - Do not let all INFO results in 'upstream' fail the inspection - Fix RPMFILE_FLAGS handling for %config files (#221) - Still report file changes in the 'config' inspection for rebases - Correctly check RPMFILE_DOC flags in the 'doc' inspection - Include rpm/rpmfi.h insted of rpm/rpmfiles.h - Only check regular files and symlinks in the 'doc' inspection - Remove unnecessary assert() statements in filecmp() - Remove incorrect warnx() reportings based on filecmp() return value - Exclude man pages from the 'doc' inspection - Honor the -a command line option for downloads as well as runtime (#233) - Allow optional 'commands' block in the config file - Fix assorted non-critical memory leaks - Remove unnecessary warn() after a failed stat() - Additional memory fixes for the abidiff inspection (#244) - Free ELF symbol names list in find_lto_symbols() before return - Followup to the memory fixes for read_abi() and free_abi() - Prevent invalid pointer dereferencing in invalid result in 'patches' (#245) - Avoid reusing the same abi_pkg_entry_t struct in read_abi() - Allow a set of excluded path prefixes in 'pathmigration' - Fix the YAML parsing for the pathmigration block - Document the BRANCHES variable for 'make koji' - Include the .asc file when submitting new Koji builds (#191) - Include the .asc file in the spec file- For BUILDTYPE=release, generate the correct type of changelog - Minor logic error in submit-koji-builds.sh - Fix reading existing spec file in submit-koji-builds.sh - Bump development build version to 1.2 - Use is_rebase() in the 'upstream' inspection - Use rpmtdSetIndex() and rpmtdGetString() in get_header_value() - Add get_rpmtag_fileflags() to files.c and call from extract_rpm() - Use correct Version and Release values in download_build() - #include -> #include - Add the 'config' inspection to librpminspect - Rephrase reporting messages in the 'config' inspection - Add the 'doc' inspection to librpminspect - Update TODO list - Minor updates to try and make gate.sh more reliable - Add config and doc to the inspections list in generic.yaml - Rename the '%files' inspection to 'files' (#194) - Modify baseclass.py to allow 'before' and 'after' NVR tuples - Use the after tuple to override the NVR in test_abidiff.py - Use the after tuple to override the NVR in test_upstream.py - Write rpminspect output to a file in the test suite - Add 28 test cases for the 'config' inspection - Fix the errors in the 'config' inspection found by the test suite - Fix Python problems in the test suite reported by black and flake8 - Add Makefile targets for black and flake8 - One more formatting issue reporting by Python black in test_config.py - More 'python black' formatting errors reported for test_config.py - https://mandoc.bsd.lv -> http://mandoc.bsd.lv - Add a -D/--dump-config option to rpminspect(1) - Use global reported variable in 'config' inspection - Fix reporting errors in the 'doc' inspection - Add test_doc.py with 'doc' inspection test cases - Ignore flake8 W291 in test_doc.py where we explicitly want whitepsace. - Add init_rebaseable() to librpminspect - Check the rebaseable list in is_rebase() in librpminspect - Update TODO list - Define a new GitHub Action using utils/gate.sh - Update the README.md file - shellcheck fixes for utils/gate.sh - Use utils/find-ninja.sh to determine what ninja-build command to use - Install fedora-packager for the gate.yml GitHub Action - Remove before and after variables from gate.sh; unused - Remove unnecessary basename() calls in inspect_upstream.c - Do not assume an or bn contain strings in is_rebase() (#196) - Adjust what things run during with GitHub Actions - Add get_rpm_header_string_array() to librpminspect - Replace init_source() with get_rpm_header_string_array() in inspect_upstream.c - free() allocated output string in inspect_changelog.c on errors - s/10240/16384/ in archive_read_open_filename() call in unpack.c - Add the 'patches' inspection to librpminspect - Add uncompress_file() to librpminspect - Add filecmp() and use that in place of zcmp/bzcmp/xzcmp - README.md updates - Restrict some GitHub Actions to source code and test suite changes. - Only enable lz4 compression if ARCHIVE_FILTER_LZ4 is defined - Go ahead and wrap the rest of the libarchive compression filters - s/class Test/class /g - Make sure uncompress_file() supports xz compression - Handle more compressed file MIME types. - Add test_changedfiles.py to the test suite. - Add test_patches.py with test cases for the 'patches' inspection - flake8 fixes in the test suite - Python format fixes for test_changedfiles.py - Python format fixes in test_patches.py - More Python format fixes for test_patches.py - Remove unnecessary 'a' in DESC_PATCHES - Better explanation as to why the EmptyLicenseTag tests are skipped. - Test suite cleanup; add rebase= and same= to TestCompareSRPM - Black formatting fixes for the test suite. - Remove unused imports in test_upstream.py - Revert black fixes for test_config.py - Fix my email address in test suite source files. - Support single package URLs for before and after builds (#190) - Handle invalid/missing RPMs in get_product_release() - Use warnx(), errx(), and err() in src/rpminspect.c - Modify submit-koji-builds.sh to pick up all pkg-git branches. - Update the rpminspect.1 man page to reflect current status. - Update translation template files in po/ - Support relative directory paths for the -w option (#188) - Implement the 'virus' inspection and add test cases for it. - Update po/ template files - Python formatting fixes for test_virus.py - Update the osdeps/*/reqs.txt files. - More osdeps updates for the clamav needs - Install 'xz' for the 'style' GitHub Action - Fix a variety of small memory leaks in librpminspect - Stop the freshclam service for the Ubuntu gate job - Support slightly older versions of libclamav in inspect_virus.c - Add the 'politics' inspection to librpminspect. - In tearDown() in the test suite, call rpmfluff clean() methods - Add test_politics.py with 'politics' inspection test cases - Python black format fixes for test_politics.py - 'it should added' -> 'it should be added' - Increase the runtime timeout for test_virus.py - Install the timeout decorator on all OSes in our GitHub Actions - Install timeout-decorator with pip, not timeout - Expand librpminspect with support for SHA-224, SHA-384, and SHA-512 - Define DEFAULT_MESSAGE_DIGEST in constants.h and use that. - Replace some fprintf()/fflush() calls with warn()/warnx() calls - Rename the 'DT_NEEDED' inspection to 'dsodeps' - Rename 'LTO' inspection to 'lto' - Update translation template and fix two incorrect error strings. - Note all valid message digests in data/politics/GENERIC - Improve reporting in the patches inspection - Only fail 'changedfiles' for VERIFY and higher results - If 'removedfiles' only reports INFO messages, pass the inspection - If 'addedfiles' only reports INFO results, pass the inspection - If 'patches' only reports INFO results, pass the inspection - No need to check value of allowed in permissions_driver() - Do not let INFO results fail the 'doc' inspection. - Do not let all INFO results in 'upstream' fail the inspection - Fix RPMFILE_FLAGS handling for %config files (#221) - Still report file changes in the 'config' inspection for rebases - Correctly check RPMFILE_DOC flags in the 'doc' inspection - Include rpm/rpmfi.h insted of rpm/rpmfiles.h - Only check regular files and symlinks in the 'doc' inspection - Remove unnecessary assert() statements in filecmp() - Remove incorrect warnx() reportings based on filecmp() return value - Exclude man pages from the 'doc' inspection - Honor the -a command line option for downloads as well as runtime (#233) - Allow optional 'commands' block in the config file - Fix assorted non-critical memory leaks - Remove unnecessary warn() after a failed stat() - Additional memory fixes for the abidiff inspection (#244) - Free ELF symbol names list in find_lto_symbols() before return - Followup to the memory fixes for read_abi() and free_abi() - Prevent invalid pointer dereferencing in invalid result in 'patches' (#245) - Avoid reusing the same abi_pkg_entry_t struct in read_abi() - Allow a set of excluded path prefixes in 'pathmigration' - Fix the YAML parsing for the pathmigration block - Document the BRANCHES variable for 'make koji' - Include the .asc file when submitting new Koji builds (#191) - Include the .asc file in the spec file- For BUILDTYPE=release, generate the correct type of changelog - Minor logic error in submit-koji-builds.sh - Fix reading existing spec file in submit-koji-builds.sh - Bump development build version to 1.2 - Use is_rebase() in the 'upstream' inspection - Use rpmtdSetIndex() and rpmtdGetString() in get_header_value() - Add get_rpmtag_fileflags() to files.c and call from extract_rpm() - Use correct Version and Release values in download_build() - #include -> #include - Add the 'config' inspection to librpminspect - Rephrase reporting messages in the 'config' inspection - Add the 'doc' inspection to librpminspect - Update TODO list - Minor updates to try and make gate.sh more reliable - Add config and doc to the inspections list in generic.yaml - Rename the '%files' inspection to 'files' (#194) - Modify baseclass.py to allow 'before' and 'after' NVR tuples - Use the after tuple to override the NVR in test_abidiff.py - Use the after tuple to override the NVR in test_upstream.py - Write rpminspect output to a file in the test suite - Add 28 test cases for the 'config' inspection - Fix the errors in the 'config' inspection found by the test suite - Fix Python problems in the test suite reported by black and flake8 - Add Makefile targets for black and flake8 - One more formatting issue reporting by Python black in test_config.py - More 'python black' formatting errors reported for test_config.py - https://mandoc.bsd.lv -> http://mandoc.bsd.lv - Add a -D/--dump-config option to rpminspect(1) - Use global reported variable in 'config' inspection - Fix reporting errors in the 'doc' inspection - Add test_doc.py with 'doc' inspection test cases - Ignore flake8 W291 in test_doc.py where we explicitly want whitepsace. - Add init_rebaseable() to librpminspect - Check the rebaseable list in is_rebase() in librpminspect - Update TODO list - Define a new GitHub Action using utils/gate.sh - Update the README.md file - shellcheck fixes for utils/gate.sh - Use utils/find-ninja.sh to determine what ninja-build command to use - Install fedora-packager for the gate.yml GitHub Action - Remove before and after variables from gate.sh; unused - Remove unnecessary basename() calls in inspect_upstream.c - Do not assume an or bn contain strings in is_rebase() (#196) - Adjust what things run during with GitHub Actions - Add get_rpm_header_string_array() to librpminspect - Replace init_source() with get_rpm_header_string_array() in inspect_upstream.c - free() allocated output string in inspect_changelog.c on errors - s/10240/16384/ in archive_read_open_filename() call in unpack.c - Add the 'patches' inspection to librpminspect - Add uncompress_file() to librpminspect - Add filecmp() and use that in place of zcmp/bzcmp/xzcmp - README.md updates - Restrict some GitHub Actions to source code and test suite changes. - Only enable lz4 compression if ARCHIVE_FILTER_LZ4 is defined - Go ahead and wrap the rest of the libarchive compression filters - s/class Test/class /g - Make sure uncompress_file() supports xz compression - Handle more compressed file MIME types. - Add test_changedfiles.py to the test suite. - Add test_patches.py with test cases for the 'patches' inspection - flake8 fixes in the test suite - Python format fixes for test_changedfiles.py - Python format fixes in test_patches.py - More Python format fixes for test_patches.py - Remove unnecessary 'a' in DESC_PATCHES - Better explanation as to why the EmptyLicenseTag tests are skipped. - Test suite cleanup; add rebase= and same= to TestCompareSRPM - Black formatting fixes for the test suite. - Remove unused imports in test_upstream.py - Revert black fixes for test_config.py - Fix my email address in test suite source files. - Support single package URLs for before and after builds (#190) - Handle invalid/missing RPMs in get_product_release() - Use warnx(), errx(), and err() in src/rpminspect.c - Modify submit-koji-builds.sh to pick up all pkg-git branches. - Update the rpminspect.1 man page to reflect current status. - Update translation template files in po/ - Support relative directory paths for the -w option (#188) - Implement the 'virus' inspection and add test cases for it. - Update po/ template files - Python formatting fixes for test_virus.py - Update the osdeps/*/reqs.txt files. - More osdeps updates for the clamav needs - Install 'xz' for the 'style' GitHub Action - Fix a variety of small memory leaks in librpminspect - Stop the freshclam service for the Ubuntu gate job - Support slightly older versions of libclamav in inspect_virus.c - Add the 'politics' inspection to librpminspect. - In tearDown() in the test suite, call rpmfluff clean() methods - Add test_politics.py with 'politics' inspection test cases - Python black format fixes for test_politics.py - 'it should added' -> 'it should be added' - Increase the runtime timeout for test_virus.py - Install the timeout decorator on all OSes in our GitHub Actions - Install timeout-decorator with pip, not timeout - Expand librpminspect with support for SHA-224, SHA-384, and SHA-512 - Define DEFAULT_MESSAGE_DIGEST in constants.h and use that. - Replace some fprintf()/fflush() calls with warn()/warnx() calls - Rename the 'DT_NEEDED' inspection to 'dsodeps' - Rename 'LTO' inspection to 'lto' - Update translation template and fix two incorrect error strings. - Note all valid message digests in data/politics/GENERIC - Improve reporting in the patches inspection - Only fail 'changedfiles' for VERIFY and higher results - If 'removedfiles' only reports INFO messages, pass the inspection - If 'addedfiles' only reports INFO results, pass the inspection - If 'patches' only reports INFO results, pass the inspection - No need to check value of allowed in permissions_driver() - Do not let INFO results fail the 'doc' inspection. - Do not let all INFO results in 'upstream' fail the inspection - Fix RPMFILE_FLAGS handling for %config files (#221) - Still report file changes in the 'config' inspection for rebases - Correctly check RPMFILE_DOC flags in the 'doc' inspection - Include rpm/rpmfi.h insted of rpm/rpmfiles.h - Only check regular files and symlinks in the 'doc' inspection - Remove unnecessary assert() statements in filecmp() - Remove incorrect warnx() reportings based on filecmp() return value - Exclude man pages from the 'doc' inspection - Honor the -a command line option for downloads as well as runtime (#233) - Allow optional 'commands' block in the config file - Fix assorted non-critical memory leaks - Remove unnecessary warn() after a failed stat() - Additional memory fixes for the abidiff inspection (#244) - Free ELF symbol names list in find_lto_symbols() before return - Followup to the memory fixes for read_abi() and free_abi() - Prevent invalid pointer dereferencing in invalid result in 'patches' (#245) - Avoid reusing the same abi_pkg_entry_t struct in read_abi() - Allow a set of excluded path prefixes in 'pathmigration' - Fix the YAML parsing for the pathmigration block - Document the BRANCHES variable for 'make koji' - Include the .asc file when submitting new Koji builds (#191) - Include the .asc file in the spec file- Formatting fixes in Makefile help output - Begin config file restructuring starting with rpminspect-data-generic - Support multiple configuration files. - Docs work in progress. - Only fail the annocheck inspection for RESULT_VERIFY. - Read debuginfo if available when running the 'annocheck' inspection. - Add the '%files' inspection to librpminspect - Add __attribute__((__sentinel__)) to the run_cmd() prototype - Add test suite cases for the '%files' inspection. - Added the 'types' inspection to compare MIME types between builds. - Update TODO file - Update the MISSING file - s/rpminspect.yaml/generic.yaml/ in the Makefile and README - Skip debuginfo and debugsource packages in the 'types' inspection - Add test_types.py to the test suite - Note the 'types' inspection generic.yaml - Modify add_entry() in init.c to skip duplicate entries - Start GitHub Action workflow files for rpminspect. - Install meson in ci-ubuntu.yml - Change 'nls' option in meson_options.txt to a boolean - Install gettext for ci-ubuntu - Add more build dependencies to ci-ubuntu.yml - Drop the 'method' parameter from dependency() lines in meson.build - Split xmlrpc libs to separate dependency() lines in meson.build - More xmlrpc updates for meson.build and lib/meson.build - Try to support systems with xmlrpc-c without the pkgconfig file. - Changes to build on Ubuntu, specifically the GitHub Actions system - Syntax error in ci-ubuntu.yml - Add ci-fedora.yml for GitHub Action CI on Fedora - Fix errors in ci-fedora.yml - Put all of the ci-ubuntu.yml steps in ci-ubuntu.yml - Remove install-libmandoc.sh and ubuntu-pkgs.sh helper scripts. - Install python3-setuptools in ci-ubuntu.yml - Install rpm-build in ci-fedora.yml - Install libxmlrpc-core-c3-dev in ci-ubuntu.yml - Disable ci-ubuntu.yml for now, enable code coverage in ci-fedora.yml - Remove Travis-CI files. - coverage fixes for ci-fedora.yml - Install git in ci-fedora.yml - Enable manual dispatching of the CI on Fedora tests - Remove actionspanel thing for GitHub Actions, drop Coveralls block - Comment the ci-fedora-yaml file - Fix the 'elf' inspection and test_elf.py on Ubuntu - Enable the ci-ubuntu GitHub Action again - Check all return values of getcwd() - Ignore installed Python modules with pip3 in ci-ubuntu.yml - Build 'execstack' test program with -Wl,-z,lazy - Add ci-centos8.yml to enable CI on CentOS 8 as a GitHub Action - s/centos8:latest/centos8/g - Trying 'container: centos:centos8' - Drop 'sudo' from ci-centos8.yml - Rename README to README.md - Enable GitHub Action for CI on CentOS 7 - Drop -I from the pip install line in ci-centos7.yml - Use the 'make instreqs' target for install test suite deps. - Add back 'dnf -y install 'dnf-command(builddep)'' to ci-fedora.yml - Nope, that doesn't do it. Just install make in ci-fedora.yml first - More 'make instreqs' fixes. - s/scripts/utils/g in the Makefile - s/TOPDIR/topdir/g in the Makefile - Install make in ci-centos7.yml - Move REQS and PIP lists out of the Makefile to files in osdep/ - '^$$' -> '^$' - Slightly different sourcing of the osdep/ files - Set OS using := in the Makefile - Make the reqs.txt files in osdep/ contain all deps - linux-headers -> linux-headers-$(uname -r) for Ubuntu - Remove html401-dtds from osdep/centos8/reqs.txt - Use `` instead of $() since this list goes through make(1) - Does $(shell uname -r) work in this case? - More osdep/ work and simplification. - Rename 'osdep' to 'osdeps' - meson patches for opensuse - Move mandoc installation to post.sh in osdep/ubuntu - Add GitHub Action for CI on OpenSUSE - opensuse:latest -> opensuse/leap:latest - Install tar in ci-opensuse.yml - Install gzip in ci-opensuse.yml - More fixes for ci-opensuse.yml - Small fixes to determine-os.sh - ci: Add Python linting jobs - ShellCheck fixes for the regress/ scripts - ci: Add ShellCheck to lint shell scripts - Adjust how the Makefile reports unknown operating system. - Just check $ID in determine-os.sh for opensuse - Use pip for PIP_CMD on opensuse-leap - Update the centos images before doing anything else. - Install curl in opensuse-leap - Get 'rc' from Fedora on opensuse and copy it to /usr/local - Install kernel-default-devel for opensuse CI - Move the 'uses' part of the centos CI jobs to the first step - ShellCheck fixes for the utils/ scripts. - Some flake8 fixes in test/, using yapf - Combine all of the GitHub Actions CI runs in to ci.yml - Manually install rpmfluff on CentOS 7; pip is failing here - Use rpmfluff-0.5.7 explicitly for centos7 - Use rpmfluff-0.5.6 on centos7 - OK, let's try rpmfluff-0.5 for centos7 - Last try, rpmfluff-0.5.4.1 for centos7 - Back to trying to manually install rpmfluff for centos7 - Style the Python code with Black - Add the Black formatting commit to blame revision ignore list - OK, just copy rpmfluff.py in place - Make sure to manually install rpmfluff-0.5.7.1 for centos7 - Don't assume we have a header or even a list of files (#161) - python: flake8: drop * imports - python: flake8: wrap long lines to less than 100 characters - python: flake8: drop unused imports - python: flake8: remove unused local variables - python: flake8: add PEP8 whitespace - python: flake8: mark in-line bash scripts as raw strings - python: rename several duplicate test cases - ci: merge style workflows - Adjust rpminspect.spec.in for file moves and default changes. - Return the reallybadword to the metadata tests - Adjust test_metadata.LosingVendorCompareKojiBuild to expect VERIFY - The shared libmandoc check should not look for a static libmandoc - Update the AUTHORS file - Rename ipv6_blacklist to forbidden_ipv6_functions - Rename stat-whitelist to fileinfo - Rename 'caps_whitelist' to 'caps' and drop the use of 'whitelist' - Rename abi-checking-whitelist/ to abi/ in /usr/share/rpminspect - Rename 'version-whitelist/' to 'rebaseable/' in /usr/share/rpminspect - Rename "political-whitelist/" to "politics/" in /usr/share/rpminspect - Drop unnecessary method re-definitions in base test classes - Use super() rather than explicitly calling the parent class - Call configFile() on object instance rather than using the parent class - Upload coverage report to codecov - Improve the error reporting for test result checking - Convert to AUTHORS.md file, add Makefile target to generate it. - Introduce the 'movedfiles' inspection and a lot of other fixes (#155) - AUTHORS -> AUTHORS.md in rpminspect.spec.in - Add basic tests for the filesize inspection - Multiply the file size difference before dividing - Update README.md - Update README.md (more Markdown changes) - Update POTFILES and rpminspect.pot - chmod 0755 test_filesize.py - tests: optionally check the result message - tests: add further filesize tests for shrinking files - inspect_filesize: drop extra - from the message about file shrinkage - Enable 'permissions' inspect for single build analysis. - Add 24 new test cases to cover the 'permissions' inspection. - chmod 0755 test_permissions.py - Make sure all RESULT_INFO results are set to NOT_WAIVABLE - Fix some specific problems with the 'permissions' inspection. - Pass "-r GENERIC" to rpminspect in the TestCompareKoji class - Add 12 more permissions test cases for setuid file checks - Update TODO list - Update test_symlink.py tests for new waiver_auth values - Add a fedora-rawhide job and renamed 'fedora' to fedora-stable - Update the rpminspect.pot translation template - Relicense librpminspect (lib/ and include/) as LGPL-3.0-or-later - Ignore .tox/ subdirectory - License the rpminspect-data-generic subpackage as CC-BY-4.0 - Add a copy of the Apache 2.0 license for the 5 files in librpminspect - Update the License tag in the spec file and the %license lines - Add debian-testing as a CI workflow; add missing osdeps files. - Update determine-os.sh to handle Fedora stable and rawhide - Drop the use of 'sudo' in ci.yml - sudo required for Ubuntu CI job, install make for debian-testing - See what $ID is set to in determine-os.sh - Workaround a bug in meson 0.55.0 for Fedora CI jobs - Add 'debian' catch to utils/determine-os.sh - Rename 'osdeps/debian-testing/' to 'osdeps/debian/' - Add opensuse-tumbleweed to the CI job list - Add libmagic-dev to osdeps/debian/reqs.txt - Fix memory corruption in init_rpminspect - Add comment clarifying the License tag in the spec file. - If check_results() raises AssertionError, dump the JSON output - Fix test_changelog.py test cases that are failing. - Fix UnbalancedChangeLogEditCompareKoji - Handle rpm versions with x.y.z.w version numbers in test_symlinks.py - Fix mandoc build problems in opensuse-tumbleweed CI job - Install gcovr using pip on opensuse-tumbleweed - Handle systems that lack pkg-config files for libelf and libcap - Add archlinux CI job in GitHub Actions - Forgot --noconfirm on the 'pacman -Syu' line. - Add missing DESC_MOVEDFILES block to inspection_desc() - More minor fixes to the Arch Linux CI job. - Install gcovr with pip for the Arch Linux CI job. - Support building on systems that lack - Add detection for to meson.build - Ensure an int is used for snprintf() in inspect_manpage_path() - WIP: 'abidiff' inspection - Only report permissions change if there is a mode_diff (#181) - Fix -Werror failures in inspect_abidiff.c - Add sl_run_cmd() to librpminspect. - Add get_arches() to librpminspect - WIP: abidiff inspection - Some minor edits to the README.md file - More minor updates to the README.md file - Replace get_arches() with init_arches() - Add test_addedfiles.py to the integration test suite - Expand find_one_peer() to soft match versioned ELF shared libraries - Add the beginnings of the 'abidiff' inspection code. - Report out findings in the abidiff inspection. - Update the test suite to cover rpmfluff 0.6 - libmandoc configure workaround needed on Debian too - shellcheck fixes for the scripts in utils/ - Add abi.c, the code that reads in the ABI compat level files (#144) - Be sure to close the open file before exiting init_fileinfo() - Python formatting cleanups - Add --diff to the Python format checker - Add new setting to abidiff section of the config file - Add -n/--no-rebase command line option to disable rebase detection - Store size_threshold as a long int rather than a char * - Check abidiff(1) results against the ABI compat level definitions (#144) - Add 'apt-get -y install libgcc-s1:i386' to pre.sh for Debian - Add integration test cases for the abidiff inspection (#144) - Add 'dpkg --configure -a' to pre.sh for debian - Install libterm-readline-perl-perl for debian CI - Install libabigail for Fedora and CentOS CI jobs - libgcc-s1:i386 -> lib32gcc-s1 for debian CI - Install libabigail for opensuse-leap, opensuse-tumbleweed, and arch CI - Install libabigail for debian and ubuntu CI - Install libabigail-dev for debian and ubuntu, not libabigail - Install libabigail-tools on opensuse-leap and opensuse-tumbleweed - Install libabigail-git for arch linux CI - Move free_argv_table() to runcmd.c - Install 'abigail-tools' for debian-testing and ubuntu CI - Install libabigail using the Arch User Repo on arch CI - Explain the osdeps/ subdirectory. - No, just clone libabigail from git and build it manually on arch - Add beginning of kmidiff inspection, put ABI functions in abi.c - Read list of possible kernel executable filenames from the config file. - Drop abidiff_ and kmidiff_ from extra_args; add kernel_filenames - Just call the abidiff and kmidiff extra args settings "extra_args" - Define 'kmi_ignore_pattern' in the config file. - Handle builds that lack all debuginfo packages (#186) - Do not assume peer->after_hdr exists (#187) - Store copy of original pointer in strsplit() to free at the end. - Use mmap() and strsplit() in read_file() rather than a getline() loop - Fix memory leaks in abi.c functions - open() failure in readfile() is not fatal, just return NULL - Add utils/gate.sh - Have check_abi() pass back the ABI compat level found - Update descriptions for abidiff and kmidiff inspections - Hook up the kmidiff inspection. - Use read_file() in init_fileinfo() and init_caps() - Use read_file() in validate_desktop_contents() - Use read_file() in disttag_driver() - Adjust how init_fileinfo() and init_caps() iterate over file contents - Fix 'tox -e format' style problems found. - Avoid comparing elf files that are not shared libraries - Support --kmi-whitelist in the kmidiff inspection - Trim worksubdir from paths in reported abidiff and kmidiff commands - Remove the kmi_ignore_pattern setting for the config file. - Create include/queue.h to replace the _COMPAT_QUEUE blocks everywhere - Update AUTHORS.md - Report metadata changes for rebased packages as INFO - Do not fail the specname inspection when given a non-SRPM - For passing upstream inspections, do not report a remedy string. - Do not fail the lostpayload inspections if it only gives INFO messages - Clarify unapproved license message in the license inspection - Use FOPEN_MAX for nopenfd parameter in nftw() calls - Make sure to close open file descriptors from get_elf() calls. - Include 'src' architecture in the rpminspect runs in gate.sh - Make sure kmidiff is listed in the spec file - TODO updates - Update rpminspect.pot and POTFILES for translations 1.12.1-1.el71.12.1-1.el7librpminspectconstants.hinit.hinspect.houtput.hreadelf.hresults.hrpminspect.hsecrules.htypes.huthash.hlibrpminspect.solibrpminspect-devel-1.12.1COPYING.LIB/usr/include//usr/include/librpminspect//usr/lib64//usr/share/licenses//usr/share/licenses/librpminspect-devel-1.12.1/-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mcpu=power8 -mtune=power8cpioxz2ppc64le-redhat-linux-gnudirectoryASCII textC source, ASCII text, with very long linesC source, ASCII textASCII text, with very long linesRhttps://bugz.fedoraproject.org/rpminspect?`7zXZ !#,2] b2u jӫ`(y/&fhg0,ԝvzx(J4bO xUޯ0CYOV9X_d_*K!@Jr:I2W>;!qu-%ڬ> 0n n@Hʺ7VQt,I  5C"7_j펭z(%f&kpE߶J )Upsӂ`yǃɕś^ [rCag ׳\i sOqI.6KK(l%}?\0 T<0}lϊZShFck>&M'/|QEäOWx;H|h|UV0\Iߍ<uPE_þ{+)ܟToh60Aq]ifTj\9\|&g^,tACnu=ue,rh&#b "°tl'w1͇Y)z2}Ÿ@Y?B!Ewx$w?L^~/'BeLd rJ)9/9ͫQ "-y\D`0i%{of=OrBjU;%RHE1C&b`lqv{aKN R쑅ZzN,H:Xuŝs@fV@%x!zsӊ}9̝U_$/(N p}H9{Ǫ|]sŬ(QgkC4YTUSg$ݭ/YӤ:\2}- M^;Yi_ߐND;4!U_&xvU@[+ g{& nE5 uKGѤ*I_GHcwrqmAUR8C֒j}!u .bZemɘ ϝsMꥮO ˿)r7cmc.j-v~T 쌺h[[]+-iOǻ"g8A3uvLWĠ99KDSO VIs <%ۨpY+?s W n}3b\|K*܉{]:!]XO򩮇8b#22eEl$AmL@.<ʖn@5}7sn;alrPd"*%3p;mɌ5 Qh]:H듟A%^K Uoo$"~@tZy؋Mw{Ѝ8Z ^r]e, !:3r(~-m:~ڥKʕ Tj7D"6V-t>Y{/噿)̦Oi9q|d**`mD+OTm^BNt|f&5! iz -v5ؔ<ٽZ] lI(;01bhqeG񧴅`k|?CX ~fO#!v8V^ σ0? eDARN 5]햞l  *A[ɟꤨ; UUoԠ{]|#j~>{/(f4V|8f/]`X%o?DŲs ;hUBvEI.3-C6x"HivZ9C%@{Uv'C{l;ݰ3C"c֍jY8Q4Kd^!@(x;O5dOX˧"OƗgmAa LAH :Xخ4l/T}V{D6@Bn9$?%ho8FBGe}Ν_(4D=U{bľ\rQHx &UUe ٘ bH]k 1c`O$8.Pk9!(Jj8;fuG t|JbcN dL݈=)gGa``O=tXiqUZ%PZs.Lp6`}\;̏fW@5D@wI8 ^A>[.?+|ԫf*hU` {\ >Ho_]Kɫ/z=R@Rw91.4JnI?wΎG'4/Bpl'V43zп\d5bH0xu aO͘G)4804j7бm]] "~5NLjEHU:HiC# ?nL߽26{$vsb%Oʘ&vҝ7jPL }۹٧q5m8AO?ToxR}d%uǣ)8ڏue43Gc[ljO6?̇%W])C=ɫDLQY2k5(s{hݾk1i&]\Btzp]60\l0(WBT?-Zў[@333T6˳hB"Όǹ,EGv;$TLf>06GMfYܑNDTKclVZnӰk? Q'v2+VKBY W}H>?R^px=cNizs8h Vu H٧̯+gJ~ ƹg}2xFL!EchWM웬k\CJ%' |A% @ DcO*OGe۱u9VZׯ=Kl!W.\~ M#[JZt1O!r\J gكi選5t8?\\+jףo+LPeBoYEm{U }BvL@\,uX*I[LAHS$!ZhRy-MN~B;ť|{^I5%ǰ~>Ϛs&jiG|NKU? PvkdrC eKPtEkHP:W2W8ƠLs"3ȽZ`OU4o ̟=bΟ1 %7a4AHf~ۀA}Ϭ#R6)Gkf<8H;X>nNLҳ< ' O# B?գU=?= -ڃUC[nO7n%*륂$v& qTP^Px_y&d[R)ȑ3@Ye/f=G'0磥:qK`ή,%! #]Ci_ Aݨ[b~K=F KC&/9|WAIjVڛ8}7h!,T2 +v̀Y.`gJ#%҅&gl)Dƻ{м;[*S?:y!Ň$3M#Gn#?aJM2!Ȧ|7c*85QxRYTKVl&ƞ%sy gCw>.f(5罋zk ,0%(>9$`ӳY޵ @nD0qbԧHO:Мf*WgRg7k Phzd펨€ԋ =Wa^q#/ M,_EinHy~FQ?eUH{M4 mdyB Owy::hFju&ݘgvK{.ʗorZ4h3/hᆃ7 $a i$^Aý&}e 69ȼJT&EN'w Gj*t$.$8Z,Z)䊃# tdi[n]GJWެ +3j9n pI; _v<(Unl MC[aAѫ# '6Ne64! 7^( .yuZL1U,N)*9'8kg3*I݅ys͂<=\pI%7qJ=3J%=x"AyFXt>zPe-ljC# yx-u~|O _HKR\QΎm77J+^ilw0#?뚮fP;QZ|p ʽ̬`tv%J_+'pSEBH.٢#ˉ M [ ",u86;b#rgkkS^%WeػہM,ƭDa_o8ؤ ǰUiu>yҾL"L%+ZYB. V[ٓx *ʢRIw(B*Kf`'3$@Pϊ(hC %|A6ד1N?<ǭpNRun0eBacVػ<ͤڂsڔ:jm'[J`ӭPFx~;rTz\;p;7A@Qȿm+95e|%\xy;wgB9&sxި0*}$q% p;X ᮥ9׺ 5fQ[`~^ @4d'B i);:cùN1sbFr: =~g-$"1͏A.](%G\iQz&Ysf7T)*Gr 8qhʚ,q DQj@iP/)e!I8V(R&ͫWFBOjՃ1.Q[.0B̭Q)J]sa1Nr,L?bDI*I(4c %Η)Q|U4[N#4E <̓:̡k9TaJ(a5 ;v- uŹbJ(XGkI1ujƃ{znGqlrET'gg%tjn?!|5wF/eW?Lp( G'6aCMu`-{$p*Yv6Co^`_ws߷F]8ӵu'UWxw1tRU@&#5\6zձnb+twҪ>v)F47^12G?W"a1;# ?P',a/ҁP_һGXy}[T9cn_ =h®њFQFZr ?2xqe0qiS Y5(ztTm?CC39؂?//}$&x9$΅@ϫ=QD&BN+Gd|RTw_= d(P1t{J>#]`-%vRTyb_*i[dR,OAk7o4!N*@v،iPh0jo9Wcuz2;:-(|v^E1 7'LdDo z輢qx~TA:$>%01E"g< lt5l<ʘIyZ͋ vh*` 0RGQ!=\CtZCJr& L\*O: ]2bFQ? WYeJL8%IV*)p\FٍMKXhA!2yqA8dvU&ޘ/pbd&A3mSw.\{;x3%2֜;WkF>ޢ:B {AQ=wnNZ*<)&IVL!';vt#9D.8_rY]3VZ5_p3,W}Q:VH[T|(H:B} i wA9< %ڤO>&>ֽB-̏AW[n[P-Y*g♧TӻW5|ʥ֘$r|;רw %p#wlҽ{}5YPMr?{w`wSWTa.;4nZ-$ςDR* =9&TrJAJX aO:AMxDXIx \EH5Ȓ/\ '0,$_T0'|˜VP2;tn'ڣZ7{6M<xgt N2{3%-p~:vĞwdy։YPM.eÈMLWud_]s|!l}>XWx7gS;-EQhΘi&Q%gsLx}CLQPzNRY#G'US .+qT2M% i{;0  &]=2r uvYwN"N'EKzASija0$hS I/!.<3WIm`/ppKF."qDڕ^7q֠@nhV&ArF)ۺ$D7Z#SR(A9-^L)\U2}zH^ dxFU=84!G'#A8bL (h 5f~H)8'ף@E+K,aS 3C`g2F/S&aw> Ȕj YQjͶMPT:I+Dw(u F.cGJA?u8W՛ďbt qc.`iQ4"c˗I$=Mrt]d!,p3dH~e%pz (I/-}ɓv;LPY"=/fG~v6s65']7Y=m Rx82{"ٴ?- ܼ Gcrx 7_}qW7H!ݼvzMx0u&/EYޙELɳaPB'^3si683Q@hR.e Sp܀ ; bLZErh]k4((W&~"On)f{-6V7Ӳ Cl DNNˢy{-Ѿ!A:wK7bioĦX꥽7Lrӕ[I1p?w)l- r~g7j "`7t W- %~ԫFدC%bq,]©7 .@̍C6ɺ *%t6"Uv22:ةII&*l@Qhﺋ\.ePE1eTrW[#W91:D"ں/nQsuv|.):=@T9l`ܡhW$yHL n9<=,7,h%6;䥾ۧ|YtRxVf2{"',(h咃XRi~lCӚ&eW Ձ\ p\po/ҭk=MWorl~(EQl(jRmGJ,!6]ra>Гrεrb >He[=fcNޜ$Hzki5Lj`bZ@Ck Ce~i)1{xhk#9Pa7T,V؁ODCx;pmб~YNj8) LAb6fE7 FL;|dUmQ'A V-;r'eg^]Z]YG¹F'&71\ͅ>Ȥ v# bpiYCb/aMEk3Ւ6eFHvsn]U,j{^'^7:PLKfmgq1ޙe R/|u =A|m{AWz( {SNo'lTrqCK)0e#g"( [1w.h}E'>lVCh-vZb'bcmn( ɵ锾vJ%1J!{ͥF('m4Mӳo!@a#d18F3vf\Qf`6"n6=^5|^d= %D Qs*>i;&/re'N}Sg)CDr 7" N3~qc!< {tAq1P3:y"QAXHv܏UWi‘GirDMJw%OK@ؚpqKtnCa*&5 >A.u7BK،_4 Jd%y#7 } Nyh1)Sי``S&cp` uZRuK!Yn(J+yX@zx! 8bQ=;bx$vdL5^1 uflCaffbxm.xG}uGv ׈ei2ł#ղC!9 hg>5Q/*9hy d쨫&,@qwKkyk=K^1Uy+lW-aIZeey9R;$\.g}Ÿg8.4sX,UD+  1&}IT.18J~H՘}gXur%{nt~*d9/#A'AٟZl(6@yVUk¦˔2f8mDFzػ@T![l~s܂Z`PA<]ҘP|Lҿ~ǏƇ<+E,Tn,+^׮ cCfxbItl/{^35+)M%_żN F^ fJDC/-Jrq.ƜY%3GKV0f.b/FFblGLBS^Ƿ7NQm^1aw{ }T[1_pX@K1+i 9(X(xxpǭ<5:S% z[6KPoo@Ȇ%3)(b ?JPDc?6r签YIt{9*kc'X (IxVT 8yXn넧K=:oN"iHQ[*l2ðv $TNp}11"mWG {_؉ dFhuP/KyRU ?Á$' 4P )ъYDVPc~`Sh%[oss!2=pǘ;%dYPU^JM!n7 BG,\=#~WO"9쐬Pdg8MND"2K_gQg$ ! e?di -Tb>~RbiYe$8h)֢!1+uA]P.TKޥ$7μ ܅ !_4 qӃ՟o*87300Լ7ۨ{Ҁ?ECU_}cb;"4R-.յ}`׋ihbٷ' C?) BRM2t4;H?/ ,W˳e?]}\j02c6i>%!ﺃ!QOo_fv|qZN8WߛpixHU]$ѹmL.t/Fm-tn>+" KE+0Zo$%vg7K;J(6OA2bML|-~סqo]]`G$ΈxJT#jTx`?z>,YŇdҞ\3r X"U/ZS4Ek=N@ˬEp ǨlP(}XѺ=ED T Rc"eNj[l6y9X-,F1Qb~a8(/%ar>[,u>c($\E|LҚcYF b{7'l'Mtݔ<.? "ם^rx Š =]zeHpDoTF* UpKPe6_O!E| }pv-S`OiM&syNi"=x;Spf ֛-uC4\禞n{O{cq'Ә9ϯq5$WvxtyE zm {,%fЈG2q wdֺC\i0#wڽ+i8AWl} /v m=icЪj@igJ`3muu?gL5"?K G9'9lO]ſa 4<!˩hs[f@BBy՝o㍂<=\R]ĽaG qy^=,V-14'#gy&E@0]*T|㪘2dܰcd?L-b&?1 bOCDjmtxtB|)*eT{ɁYd Q$8λ"902O/e9m-3B+YZ i*vXTAtK7m ^Su)g ]'rlďϖQ$+?+Tay (v2_sLĺڶ)4qFEd{5=Y"0.EGv ,_#|EUoҌ_UyX`%AԑGiֽ, lK 2pT)՚/:c.iMKQGXNXr7kiVFxyS~I؂Q) AAzYah;20l(0_UWt̵ڲCM `@5󵄵<J':H? TK: "C|aDw"s G $k!ua) #7S.{P@k tCPd$RLj"6QUi_L8ה|W%SMERk0%nNG,޽ f"lOx@vߒXuVS8zlHn6z>Q\C}PLnX+oB?h$aYȦr`J|q#mGĮaبQu\K~$D~ZߠYB( Z F8ƌ`. eFEQ&{! lHo%ΦؔD/p(K<k{|xt9h/dӅt0|Lj[y ,,R$&vԉUtinygX66v̔r!MfH Nʸw0kET`.W m$[H aV#;6nbs 3/HF6kd߾΀/hHYȁ»v}dehUꙑ6Pk9$Io4%=Zc:S.oMYl:ܿX_'| |$5]zy ti& CfSH9@ tD!?^\}rb u"%FoziaiWdǺ3W%缂L ;J͊a}dϸ<-~'?ZR׳j] Ҧu H F!u FǬ7-NuQ2,}{>jwwOC\b*,h InR*Oš!'Ci(~@UQ xASy RA8s? ʪK+5'ye -rtz!hc x@2[fEp2)ż(CV{+akrunru.* j3E/ ?Y!w|yf0Iz2ZZ1,хˏM3YX>7B:қ" V _ 12#sL(\QTXrWjxS2/u~\C68Kb۵7KDT(r|iF +o `b`^ 7eOmT5m"2L9L` g7t*Y6!㠨^[}nQj jJxX(r |,|F:HQ8\/ ] [ ky8\bsޫ"m#*{i$3~Wa-`D4VoOb{ڦSE(\8AAJ=ePTۮ a) @O1\$!]/:-iNX-"7*0,AK=|.s !^k j%9)uSs*>H#e"&oHU*H&ecʄSCLDc[<\ŵ?^zn?# S ['0RѶJ_#tT0P' )S gU@䃅D RY.Zh|skn=tñ ҡb!U ~_6o+.ݔXC:[{ i Pḫ챉`Z MOn!(D 6s1O#F "d J:Dl0*ߋ,'x"ѕ-R=w#cT Xx~桼ë|E6Gio+5]y⁣{,!+1ٔE)T %Pf9+M??ȂRu׹nM}CdlҿWóquD띨DY[3(ܯOC..E#d4c jOo]vzʬ6yI+` /@_D )Ӗ1@slއ]ryZk>2 R{gڿ7QmucA+?ؘ33Sb7!K^MbEՍfi X8t0A-bu:4{qNR+Fl*]5ퟐtW =[d用l?. ߔG¢%@{D3tP.b[z_{(,+t Z}’1DIW Z7*CӹP 3G;#58S&#w Gm?1k+nN aأryK(WZ 1#lq o0ÍD% 7d{[G;Cv@*UB 7~ܚ-NŗU]rIHf^Z`@sCv;/9Ղ6z#A8{ѬĹOŸcǼ<.pw 3y|y9)L%!q3i4GR8r0U`Qz󙲫FH=`͏/]tm|jѥ&K*v!D'^uk6a+v;шK/ ԯM'lϷ~Iѳas9x/pJwCWX%':#[*bbFhUF:Db";1;նo@(ҲqC4qxxX,;R @ V}y 5Yc J 1vVNlK:6JXpE^ӥ9-ν8}>2W/">MRbF|<2I~+fvd?\NhF> 9JYhE ?8N^F o=W/ARa>9@zYIBdlV]8Y(ZOFX%5zlȼO5ro5"*lCY-!SM:qP2d~0\(nYSi*7=,+ҁ.}iRLĒܓʗwj̈́.d$ڜF՝o[x7lX,NuCɐ)T/Jv-#x suOZsp|"had!#e3{fNN&/ڨ k"ɣ*JG\i|{MG=q v c5eɁBoϔG]K00(6!ݡlI`51$3&^F+w>jkW 3[T$c oBe8;&KG/dƮud4D>d Ȕ:5dǜ vǿ#Z2a0#󙆍^ˁXTd uɌwbKCIKmBL5TR}XcNwՁbd {2N R{N3NΦ6jJ誻<*ܑ)2vD.Lr'YMKy 7[yw1q^ajXՇ8am"X]IO12SV͢C2"Xcq}jle"jNz0mC%y!*u^5@o>࡛x=&",;b3ܤ=}k("Ί29^AW :Ÿi (R] 2)cuQ=m~.+71+yO.~] @7i7%%ʻDxIwLlںB'aK ]9)a3rVcDem'.?1-kP1| Oـ%;\5" _Yb`"[ ۨdEodQr)_/QtJ/Ky!bp1܈uw5_Y7Ո\ΣYs Ҁ8%1k@5J:tt_ZA֐d@}2+!M*+K eR, )tC3 EF1Em S9{`xGZ Q9wt?k@LT`gݩ˦7r~]G<[~6d{[A:&G+f"=vF'_A[%~ "2@*mLU*OzWjS%BsuaRm.(üf*/Ig4 Aul]s$-P#hzg,D7t'smxmcw9(+ E,1%a4\*?ƈ+"a/Dˈ␟u0Ձ`c|b3P0Sq5\(=p̥nzXlC%8bL!<>=}IŢ|"5-9TޯpQ|șwvTw h Tw ";9@ђoۭ.VlPz7A<gl $F>!1%}ʻgv@,K%*FG   )ij54OG[۩s bS`'Gtg:̓:x-e |X*)O-LCZkN07ea-uuA)]m~7#š N*5C>:\$ހ0wx^*Q-u/ w;(b7-P~kj&j.t%  )0ފPT.K)KC9]A.pclSbw1G^BY^ϗ6[&(@]X0z%ˀ. 4]r,宆rdLٿv3/Z6W:H\6 R(1GӧPvlvY&GQ"zCeu2fF1g4zYյD)Vk#%[LxBUϝ"cYKDOQVFtLg*x! D<7!|ћID_մr[g)̺ܰyqn{4wZ)1%x`>T"M kUej)A&TgNf?Zh̶U33ǨyXm^CQ7a"F^ًpL+<Hq14ۗ{B\+ 1f^#P7.>.Z1"wPsfFfS~HϤA5 n@r3 zӦ (Qݛ<#FmS)p%& כk`p(ġlURE<4:SdD=y_ %tf+U,9/}Z'Hit5QHQh- 3H aG6t:WM>YR|'aF"fn\W3/Ӓex e v֭Gzj3' wT>ƒ"JBZtRⲧǗ3#%|̴,)7"^%Ў֗X! |I%ptG^iypFAA;5MEt'ٔlTӫ*W,#ơ0)ur*|a[M|q2&rȀq+ E(p8YKY^>lXjl,gN:ȃ71OAH q rHk^^v[<\` /[P"ũÌ,` \n>_6yYҍ@!lW`nK(*rW|WdA^BZޚ 001OzcGYy?)_R/j!La|3 oꢈ+*$/jqe\ J|QD*iXixI V7ՋcF*Twa,;HsvzXo3tǦ ''Ml%vzd6{f{ۑdԵ ǀo\{1q#uwlj.aI89}7`1~%?\/QBs[8ǝwj+q\G.bƋRe[7$YMM?I+S E3 )3iF_4fqP>?i)U$kX{Q^W6ڇ;HT$ip2="-`"VAY8Sa/*P[ɸ2! xy'EMb]p^HTg?Od8-Ċ\l>6Y?0?ya=(96 '|'t xN!Ow}FzvCjg>mG0j/4P%|dԋ:q\3ZdřR jMM%h=ՇO`kEik )=0ЭHk)k \Z0-G[T:ⱹ$*_؁FL,ap Q-;lch?jz6&b V|6iE1zg_YiB 3n5Y!e )*/R;r*;~f~:eFsPvXK}j Z2B`Alwm~2kEEࣔ{q18:bMOU{D|Y٨ū8ko#0'dz6b}8/?AM4=aIy侎sDl\yQv W?14ű/$q_v+88!M3=G:hwSi n|D>m.> =غi_sƤ0ڢ.1ܟT7Aqo/-JV4P.NbGhWg>>3 vỹĴPY$mсX~S3ls`Y NQ8aenن*xkҾ!-YeYTu `]}K_9Sse腅AˉIdbj۽Hcd-LK4,{qenY2`{遾ADl^@a6RSa+e$U#W[4]5dJ^kql(2ek\*1~?d݋+4l_f =/HŶ[ H]ڱVu@U&tnDdgjEتNnZTBW| 9ؠEgX*NênRj0n7D vbyF9҉~D8`ϻ9xMw=܊AP35 L[mWam3և@1[5OQgcںT._&,ͳRW}Y+ #ZՋăS)F(ƪ$EW6H6zFQByjQ: }iTa>+pY;`~Wgwk-[Ս?XS+Mˆd xjpU^2]("aUhzP+<>svj~=%D0_aᤱϧe`3&hf#\&ʐOF>Xq!!%%mZ$Uc,nŞ(v؆F=j6H) @\  %="*5#;ڙe4~jG8 `+Y xﶖ`hb]VL̥:TYQ.Pe3~|^ K,\{%U7]l*5;^5E 5qcMejDl$s;7|ģ~tK`7Tz̅;pXY[8%rôy`ֽ|^L(x&$%InjbESH7.B:S amUqeRy};_zWagp7N VzqAr0MND-yf`׷T$~-kq'J Jx,8W* }nЍ_GŬɅ :[HcbUWP"$#83a{?Ϫ<A7ZVBoaWgp-Y4/ jo&\9O~ӌx^bV bӃʘSG}ToRq\VUP Rp"h7"E_ef^fֲɖd#ZO !;@Wwu5FA{XPF'QB;Srf l,Y f>a۷}; b˕G3"^ugMm5qN|68jIm-{ٚDEA18Fv9ΏՁW#d5 7piTykVHiYX'x  NU1,&b=bn?h>^*/q*ŶS;iKfFĢD'׽p4ԿyYWa5ʜ"bi؈\|} )k @6S!&G'zlGϤTfUc!W3MnF7M23\}K9⡷d'TC\co:(,bXX@t`*?_;0'Fظʈ[(K'to67զI$q,0'  bik X/s @`C'y{$Jr C>B3k5$;4rzX!3]?sGz84i*2~BIo}Hl ^b^.'ŧwu x=8 IaK\nj @ svtso;BtE^\',O GZ~E+^TȚ7|!y*k!Nw ~s9};k 7lOnk7>+[MwpUOoQh %1EEAcWF˶W^}_%~59yIH͸MQrxh.s.mJiY,dO#56+V*ƠoVB3B1B>!{Kp +ֵoXm{7G_m'e.d3PJV#(~ሃ[4u6Jvm kwBW2cKa@xp'J9^UL.c"%G~h'5gi(VR8 W N$ WQ7gK5ySjHň"SCNɂEB%}D߉muuTLJ_|y#qƧر5i/3ցXkx=%v2+kYϔrIh GFqҕ0YA݀tlZNq s>x@tiiR(c@$~ 6QsW{,"` '1uR!ZTKnZKhk>K[}!mb\;WoXh}y<б7MV0B/n {\|^ c }0ň*!dF'ӣE67!-x"q- RAvk0dv2F=~$rTq1_Y@^3}u6Q{E?|[p ު1E} wTub>c?۸5=ό*3He,<7pfpWfwu4D؈E%'AwKEh3B)vr<4&ʭ sQae9!_GÛ`TJ"slϻg'50gOcX4Y,Oy !M E1:ezʇq$y9 thA\ 3O [y}Yؖ/ɗ#Dܞq>P7I=3lHsANw1`=Ap col$hF]n(Ŏ~dk@a*Zm`Dka2i)ݮo)J^(#3E3~.7.\{i''tRM~IZsϠ۴c@Vs nz89 T`%>͖oA)F2fXV~bקY͠Q?䌰d ogRa3Ĉ-9,16 ߂:pOOqk7*8gZ%׌,L' bS6iD_FNau/kQP,vWuð`\$RGxu0̗ˍe0Ѓ[Zl$|r(k*0o*2 \AR%G w(3QCz "ݫˬISeRc~eHh}4R z0"3l@׃b[b#ldکhu@wi O\:= )/1avKHjh>zmm84qoXOI_ ,\_ Bp/)JчSةI;ΉǻRAyiX˖AxlM7[=x xe+aǏ)ۙhG+Aj8"۩]s@ K Q'UJ/b}I>\~+<4P8pϛAxP:ed`eAQC? NE #X Vj&Z6WoBQ(}װd?1=Qa7!'Bz+}QfQ9ъEman+,Aq`ΞJrwsIW?iyٴ >d]4Qaw0oKdݺȊ38_Pb1z'B(!KWoQ{8a{q\xnPmxS2"[ژ_4JAUM1 {Q6i;Z+b&I3$x0a6<;?sC!Lx4`Smci[.^ZV3'vE1oeiQݻ lע$l2Gŏ%(Tm(+<{C7oϲ|Qϔn؃Q<{+VvKu'C5tZg/6Ak ,3o5x-z3Jx4u]+WE "t493 zUf>f"Et,}X&̣ʡ,_hi%o6:1veZBez%r}Ԟ%GTmH;x3[9wR)OKbUoW?1# D8k Ho WGpsyfkj-܁b~_g@<ֺX!<_*|H=ZGX]n=JU!jɕ9 ݀Z/m_6B7f)y͟UU-:rJ/8(Rq &lR|Μ-wy[H$~gjϮl=3gn *gH/,&47V/mҤYޝ [^J8Elyo3,o]Ib̃v#S/ QG""e<ƙ6@8?L7Q` t0g4% 'o|苷B3@BSEY9ƍa Z^6ӡvjoΰƩBQv,( W+Z!A &/{yJI-[jy%=V2)D-EhBi B9RQe7.+ȿ; ng%cў!TonS33:A< e_$ۙl FuQ60O/]XapP\Y*v̛m B&/-hҺ"TN<}fZ;} 4 &+y>C4T#̞g3/gjb/Έ+r 'groR-cq&13h}|AFja‡BʲCMpw3_H_ }TӦWa,_wңttI"॒棻 /,ɚX_9qxz䝔[%V|C_+P9>1\I(IPH~1H]s#it>KU!Q濨tSd) 4'jy,Iv@R<;㚪,P*ezsxp^j/PzWsW1#ʭ^k VW |('UʓCѢQDhא 4Go@d]8>pӧ JIj~Y5 bJC  Y,ѡo9Mƭ5z,5BYIJUeH|WRNe`#9Yջd#TYs g{|8cF&f֟% tmv΁uoJ]gDKNt`w|*~+D`\[l9-Kb" c023l[1$sK:<E/qwr0Cୀr6>4#2y(aw iV%b%EɁS0G.Zs%[W? gZhr9fsbT#SY#3Dd$vӖ@Dɀ-r8:Qb|zФHIVyR)Dg|0C>ZY*w0b'[4E`^BHl5 ZUƹ |iv[Mu"g[ ,eK;/LI\sQNnvgjժ': ×!sqz1y* gdz i=7"Nͣz.Nrxb5s)8#,ٞ |{ AMͥ1А?c/ `*>/!hs: v*IwO(=QD͸6 6Kk,ZiΞgxh<#|H֡GF6pKm2pDMC=܇aB9PS!hmVUc곹02;'T/U8}[_q?mUR8$&iL7L6$r8z+yMڮ@C(֟8/ceN;|QvQi"-0Fъ#5*r^A)y^ĸ<ա։ZX!߳ #ɒ'*$7@8#NS>8 *0F#6U>E81K?Z>|dgu>sѭ$ecrreA8T(HLsYTQ)sg fA0̏ }\ #[(> @L "N~ nF"˱8uB>j1%hs% Ѣ[zBg>^4m H|]i۔pԞ=(wW)x1Il\z41t4"K\{[4r\P'VVea1Fc#fiRI ݬѣAx-#)!$Hbubcd* uB3j4(qd2T$`5o:1{ S׸`Ewo{8rBq\Աoz)2;f0H ܛWafx߱ . ;V*E}pU~[˂cr׾J}sp{*H%Z6j.bղ#pNrP6@_~MB_BUC`xnNHY´*{Sp오hls7QG]VℬCñZ7[r@ D_]G7rX:3f꼇#&naI C~_?@[qYӘlpD-W>k,QwxJך`^ȔYbUHy``9:TpNpA7E f~D;jj<(꧱wO*˪2Xs:1AO1&2!"K`jg)Nv eZ)^6MGF+|rWP4*H"#]ɒ=# "lhz@;,iN TZ%ߥ 儛iM@+;ĝj"C᤯ $elTEf!!_ЀTk.wJ J;D{Cd,/N :@ͪkZMk{Gˎ A0r-ն`αY2xcJk4_@+a+Ĺ 7xČ,T r NՊPgױ*f=k1!< B L?2h`ڈ=Iâ E-&3/*fD.5V=>bjx߅P81~Ŕ38+)>}Zm<ּT$CHGb W-Ѐ D nMtӟH=#xxx Nb{}8C!fu"Hz>Y@Evoe9#Lǽ>$(ՓfQ,iz4]whR/.oυW@̜Ad6GJqad1JHTqbO9MD+%ϐ(5WGrV){Zթ-8xF[#afg17#d[zQ5 /md fjrnokg@˙Bۤ@59zx,C!~].ș5M̯u뽩?z 9B 9F<4QA$ 4usA$V%R<ڢc9K-|F%u&=e"kM7n#mbcxdSt?%ǂ5?ؑnBaE[o4{I,|q&FY{FW40\ t'x꾢99loaMx [qtF6nU{-ifN5p:.jC]s.Ʒc6ma~8rVhK'~טQ8PSt-J 8҆+\ m4ͩR/,GF9eI9C[͓iSQEMp"_O̟":r0PfF8T}x?IrW;CbaGv5Q 8bZ>6BֿsN<Šsp]D+z1<]ED嫪|mE@; {C \qsԄ1JNR0#Ƙ8c:Zp Z&$ꍠhACXY4rum4۫PK1(+I *?h+ v@b >RˊI}N;05:2]capgtI #mbB Q XOج5? =(cf20AO~Ӊ)MMs/ _],@_t4밐 18 *FMnua9EX~`WQF_Uӿ]ɘz`fUn %"5wd_Cx 6͠8~z&,Hwͽ'[DN 맢r5#ٛ,Gf!p["1s?#ok4t>KqιK/?-IȚ&0,|0N o:kwWoCeOL01ƒY? 'zJ75-ł$]/0/vH EX>PǷ !q*HxmZs}]n[W f6W5;Ea MAC3Z舮!)8*Eil_]qiiFCBؔgj3߹TUATw{r9श[=Ce r 8ƆFhr΍fw#[|"#Gz;Я]]L]^[8#ՃkDΦ|c? mP s`yq#& ͈Vr&Ky!+vPm@Uf2mD~M f^4yيi$nTI;-04`<~ucU "?&-\t7F߅q  wpNx",*U(3rčo7PfV cG=DRm/vݑ~cw^;$ s8qTa*۰ʊ;.gWi $F24ݑy@GK_@peǜa;|Jsִ浯ھ%.M'ӣ4JYxXh^F3KGE}kTG {l_Dh G?c*S3]U_()&B`? W-x1Ab]zIA*<%H!ԣ士l=AJurNWmwsԚM(8t9Vyp‹\HOp~+g%eGH^`>%(W_j68Mx\꒳BホϾX>6X|gmذ~7y ؚ?8kJ-4kʂMs*o,Zd@gVm\iO-j2*X8$įp{D`t[4]>+`2 2 iwNx- RB-EVutB.f28GܠCm#>1}B9ܤqra- # Ml-^ Uh| R rYӺTVgvz.>ړɗm CrӚ#xd㧥jh/tk;B;[}znFORY,Q IW;V^!A IWGn)WM\`jF='Y7Z^/ge\mӘB̙ڰud48!w+خy4 bX*4&v;pa~5obr2 !%lWsI^DuYA;賥^O7 fmE%HL.|i3a0I0Aap4_om({.0.&yb&\DP, DsQNVc5kփOt_+ƣ"V9*c1i<!Yl3 #F=%:w,Q:5~)MȇgXQW:SG7Ẍ́t{4;ë"k|1 `)ZHp>O&IĎu/IpG#IQ鍎#|q3sHWr)XOBnG`]D&CfrD͇C!n \xZ8QO~107,a3Ab!p[wh*;z&+ F3' H4.3>Ta1Umb@&?~s;zޞb#+l$TNڬa ЩWD~:Ux(%{WVl!ZFĜ]f| {2œP,J@K'n;11*@` vCN&;8MWJN)P!,Wd\4R<``\1=A\rMlx/PdzpN7v^цQI.U ;4ȪA`\$i3z&4##HS Tl1F#4>o( 7m T hkOx=okTª`SxO8ĸHkmkàm sz01x HA`.Px;:3j<c "!P[MLNpT旑*F_;킱W .S(Nddd5k;!@vՙiOM8!-c4F,j 6Jy uwc4e@TA'c̟Z-0LƲBT -* ,~a鯰|>rp ;T~7lM|]{(;nvv5T]*a@f[a6I%+=C0]7!&2IՏW_o_`OT2+_CXWM;S{- 7J{T pIX Jgd$Y; (p*$u(@8R#d^oz-cihROE2?^۲&1@XP;'],*9-Át٦DPrJ_s{v]#1Vs95wmH+_7 RV;6tSczA8#ζKOWK$X:mm M|=akG&$ aIxOV oAgon<( /"ggbpyk!4U+06uUbڨv#\@1R1eRi؜C'όK*07ϮA(8ğ'wӝʜh~梫afDʛW\zvu!Ag(߫cUH\i~_=:Tcxh}u5*$T>͢'y - L ;D車 Xw-ݶ"Sq띐#=^ob[P8f%iz3#ҰdRD&m妛\wm(\lj;` (vܖ6v3A~I}}sp S_(4)tk`#ɒ;6T$/$ ,jh?=E e7Beiix u(ɝO[aT>q0ݢsMx&>>P"$vrw\5b> **&Nv3%B= :zpNI3_2*c\-U9sp,_tjAW9{U?&yG3HyN"~'CRoMq$؍kcك<̗Eb*2g.k`|? x>E_(Xz*xiH{,<37\qGAGp (Aq̻Vp 7og6Q= =w䅃 ơ.D5T;c6" {.^zi`뤸Gl ^)+oW6` ;P/.TrKլ~fm59}_!Hn*#Hۻ-6aiŲc,hBS4AaEbc[h'n9Y4Ҿe. 4Pp_Eɟ/.Px!yB7Duj0txP; |2Cr 'D7R뤏.ĦG@0O}:ů xP 5ե vE[mĠpbco*;o&Ah/ XM.+ M[)^C`&N0i5W0]2Qzof|ӇGv@Ysn0 aZG k>/8rcߴ"ִ_s^Ea8 ~!0Sa ҜؿP>;{^_vXgS厑Kbw*7B/Nd8J)_#ĸV^VtV?/-MP-cBAOQF%J(Mf`U Zb \d*鄅@Wo>政ˈ:،1Bб.RރӼR$&07\oV!brhQ_&`cU7[XGa/cǤi0{ skTa C ?JIJ .@n#v j9 okZ]E>CSL6buP [s[{f޽!R]h8ffM@{wLx1&`=Fp:"(b~j+e5m c="(D-r+)!?7c^|=ziC '% }F[cqՖ?L3?џ8ʌ+)? Ad)hCbpŐT MD#%>!|!AIհG\WnP"290v \`@iJC: nҎ9?M%ԕq(tehY#A''Gl3G>zYf8] lc毩w='RA.YZz{:=፾+C;g l}*Oq9Drs,5QfV{%~.Kя@#d !{,S2OyFeSCP5!&c?E6lэ7Z\"jIv*C7(-x_>_m bF_~MXDՈ\}"j'a-8?p`w>kj RH(ȼ PxY4)+C\{ 3NX&m[-mƔ1ˈ7P`f~Z+Kp'#oybM?.s.3b*R)UKׄn}voVuxy?*# _2􋚅ZGv"hRۯLP]mԙC,BڬNJ0;hObW pu&kѽ]QĴ5AI'.phUmNu.լ3Lwfj xSpKMcrr43U8̹l d7cASW\6LOA6*IEj/c?e#;IF6N}y, ߊtǍpO)Mz7 Q,:.jI `ڢڍKAϩ ,up4lMj*z#QHt)|5@3ʣptfG ^0^Ӎ>ƋrMMb&Zn{F+ xPX]^冽jA|UKQކt,}S̶{{6L bClNQa`y'9 l MQv=8%}pFљdrѯP16['ÿ+3ֱ5*n05y5A]>ܹUFcC`@Ym7;& 9]K\( ƗdL1!s|$2p(iZN}j@`"fmXF .yE4BVY[F_4y:_Kc8^CDz-.0# $Uq 6I61W3{@v׽ĵMKz ю \n|^n8o^%\FȧهW7ZUQ Ā7dc:k :hJNb+]9+τP'TXgAT$EXܨ1Ȋ>lZ4#۫EeysL5I2~2$&Q<2ͬ(<09p+vkT׭ۡZFaWٮ[/.i/mR=aJFC{XV{U(^\(2{TՕ3ʕmě\h?N]ݛMd2;`m*'X@l " t9(+2s \2U@>12< {_Z{ 1 ۴pzfa^L,U]& 7NtgF C75Ӹ5(wIt n4LR&\mC0nlLHC +wq3zV*Yю٩+II%Eɟ`ѹ`r~ҡדBE ],n, WvxYLuw̫#5.ޫv)rySx.1:LEj"5=W|Wu6 IQjKD8 vm@&+^d7"k/~cf Ny6Ux&则o pÀBD) wmԸ0ROs*'fհR^FN@,6Ct5ػs`,Q,eTA>̥Dpeޯr4KיWoyIrt B{,8Ew=\U>lqa] r1{KUG>n}r27ķ &{n Y 8>DT [aqe+>. CME wz\7=WLGs: #}{/pctP0a.hͳ-[6Do ޼ɟ"\{Zbэvwp..0*zlj؊@)}!?`3M^vہ[j恂~i~qh<}uog@[@.) r;nQKPXw,QE*4о8e„;|~3OBw3UFl]:P Nm`=sʰX9؎$[>5b%z*2r!?F< &88uLd*p!HqFM`\O ;TAW Jig,/ %dim+1Z v:RgHN[嘎yTTӾpf¨iIC] +*S&TH] BGB·fHzBNMGRCهCR)LW:&g%z#gW!(liv i*ȫwmrs? d&Wb|pMҧV-Ȗ+OzU.[C?i&OvlqLCWMfhĀ#DԧLab097,JP[I^jY1 s1Cp6i|)7$X-Jƥ ='coʒ{ͥM]eyV YQJ}9tXG>K Vhn}?fp&|&G\Y7D{14UQqr:sA3]M9 pP}2ًN]Ƹ*Ob\Z2~؀0R[q@[fS_ !}^Soշ}ûo79pwO("Nmħ PZJ:Zt^O=P}Ŀ:ЅUH>*/BPn^)`noZS"_}br/1\B =asdt 8sfͨs-d|o} fi'"V0Dga`$qfs^nۈ= lhP,oM[oz]DN~i7tpIrv>XrM}!go@eyA ǒMC+˕XkDhLLZ6H =Ζ\,mJ8۫2OȆH!!ZoE8VP_g򥧴Hք69FC6Q FH~GR#"vyTθit{ÇR cWr_2C˽1XCr_W)O̘%܊Yb?c.yEq~0w 9\w[iKX6$'͖7/y%y5~;6(U"ʘ;R@K^s%?Ξ!qhm`4= @^\Bi ޖV _03+s&Lh|y@0NHy@*tnq]L8ȡ9~d|ڝiά!BE_XPk>:¾>. ϶~edJh=O.%[oixLw3 ކc] LMqwشa/h`؞DB#YCnAE.ZTjDʛshhTu"Yx%x0 y"]ۊ>$S&쁿]^>#]j31*Rz#_GK?5Ѩӎ2\툖3 S/ {7އ6ʇf~?.SFeY*%WaDY VwV~(FXrD =7Et2`涇+,O_&EMjlJ,]7=C&+M Lwf/=Gs@EEXۃw@cBWibE}Kmս8VEw_E/B}J dǚ*2BNDzYYO sqx5Aܦa>WcJ[LyRW˭dpYĄG̊q\ @ mAeS k.Zd"?&Nkp:+ u[VD<vbzfS9Ja1\~FPI?LEGߐOLa5{+̻_hKkf,Rdt-P mr)_˔ӵ=4*K_4T(|/>iꜱ6ƛS!)p* r12 X? B6js,[ޠ?a8Ҡ)ǘ)Pn9v_vLa5\!/q=4_p97f";(߹O!}>༗vq'D'|I"RFf:ҔE }d͏zXϮKGӸ69nWi6@ Ǧ,[luҔPfA(MnYǝ|ȇ?2u&W 1n(RcbJĚ X bۣ.+< eqT^v'w|z 00.=M2yr8ʈAU=[xrݸY$<