rpminspect-debuginfo-1.12.1-1.el8.1> 6 6_ ܉3!y덏%!E/֡f !E/֡+6Xm涒:&BJ<!9xq-y$r|7 5Hs@1ǍL)W(7Ւ: k{Ul:U7HH#iD2M-N8}`u$02PW>8dKU)xL@F7p܅,>&gQZuz{_ rJAsS8AHS8t/<%0pU 9i}Lf׼胪j9c˖ft<.Aw]|C+{ @[ /]/C[ Wr^ =JmzmIhJ^a f:ۼ4J#"q)kXKw+wMԙ9 ┚XY}UQ +>R-m"]ϏkYLe\VvfX?K'\b7}JlEvyt:Yjaf6a2c049823ee88f77ea95383e01febe08464aec49bd981ca19e4b8cda3252ca4bc4c45e5080eff8fd2b98dc9b9c0078123c25emȒo5pW/50>@L?<d & O,0?N 17@ h  |      B    . ` g(89: G H ID XPY\\ڤ ] ^ۈbdjeofrltt݌ uݴ vw< xd yߌߐߔ߾8Crpminspect-debuginfo1.12.11.el8.1Debug information for package rpminspectThis package provides debug information for package rpminspect. Debug information is useful when developing applications that use this package or when debugging this package.fbuildhw-x86-04.iad2.fedoraproject.orgGFedora 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/Debughttps://github.com/rpminspect/rpminspectlinuxx86_64<KqLAAAA큤AA큤ffffffffff226de93862f0e33a187369b9d4f22188b2d1ac6d9e672c6dec9a2b1ff0f7c8535d40d0c3933c19ab18d78c80501e82822a9628e1081cc1013cf976631fd53b76../../../.build-id/ef/c02d3f06dc7ffd24ec1c225798869d5f3ae133../../../../../usr/lib/debug/usr/bin/rpminspect-1.12.1-1.el8.1.x86_64.debugrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrpminspect-1.12.1-1.el8.1.src.rpmdebuginfo(build-id)rpminspect-debuginforpminspect-debuginfo(x86-64)    rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.0.4-14.6.0-14.0-15.2-14.14.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 efc02d3f06dc7ffd24ec1c225798869d5f3ae1331.12.1-1.el8.11.12.1-1.el8.1debug.build-idefc02d3f06dc7ffd24ec1c225798869d5f3ae133c02d3f06dc7ffd24ec1c225798869d5f3ae133.debug.dwzrpminspect-1.12.1-1.el8.1.x86_64usrbinrpminspect-1.12.1-1.el8.1.x86_64.debug/usr/lib//usr/lib/debug//usr/lib/debug/.build-id//usr/lib/debug/.build-id/ef//usr/lib/debug/.dwz//usr/lib/debug/usr//usr/lib/debug/usr/bin/-O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protectioncpioxz2x86_64-redhat-linux-gnudirectoryELF 64-bit LSB relocatable, x86-64, version 1 (SYSV), BuildID[sha1]=364c625ac1525088244dc6c1136a33c1bbeb26f4, with debug_info, not strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter \004, for GNU/Linux 3.2.0, BuildID[sha1]=efc02d3f06dc7ffd24ec1c225798869d5f3ae133, with debug_info, not strippedPhttps://bugz.fedoraproject.org/rpminspectrpminspect-debugsource(x86-64)1.12.1-1.el8.1utf-858fd2e123c0dd1fc8da58e3138f3ca3f58ae9a544bb5abc7c7dce0f11da0cdea?7zXZ !#,/] b2u jӫ`(y0,!nX:P.#ʌ=+<>*#cj1˛fPE(Ay&D8 Wtf]B[eʼhWe{~^lMqTزq9N@"RxRԍ12ţ?ho+O|O +KJC=IbuEVEL벳,Ws)>飘9W`p@ib3!5_iey¿3:RN.0 ÿ:$Uأ)@žD՞/BB; 8bЇ0ɱ.v%3X8!;G?E6ߩ𠴸d/R$3gWG1䭼 H-1:"zR!8`>J~ln tE1]K4j,3&Y>$}9]^18hlxUt'I-EmTJ gDqLzC~ۛWӍ@WG>pA"f95 ˗-2*r_^op6|65シRPc!gp3Xe|gaVǔ=h)),Xq@[f6L"rLGRƇRf5=%4/q#Ef4ENx\-Tlvcs>B1I]xp DLe+QIyI%;uICQhY f 4mW·3@%콽4^VU!P|7"\oZ)mC AHq, 7:,p )잝YXUYQ3co[/+jjKp EV.%ٵ P9ᥳqghnށha2= 6v]5{m?=L~$/`XE$&d4z!uqw3jg` mKsgk1ʈ!q z=ݷךQӹ/>W &VMu.sDs!M pM/ OR?7;n⨂,_e,:~ܶڭ@, ΜZ0AdŕB(%˟x|/R^'֫hCXj%-pQ< :Z8)7Edy޼:$157([.U®4pR2 . _-%FO|2Y֨]]F? 8iIq{Ӿ(nB!J- pp]Q?"_]z[|wGzb P4c:!C6]Xtw‡C'Q)fyUSԃۘL[em-64Ҫޮ>3`Y@5%tR25Z:=:K{F*gɯ1\z[.k};glkvt5GwkZ&&KeLG-6U [7mj1,$ kKpOrXttiK^S>=[I{-cݍ>"`ŧ_B%/=Ԝ,B/ĨL ${ܵb HNT+@[6'^" |hdV<THDdfKC q6]W/h1m\ pKuzF"Gd!?VpnzVg):JFxq*總@'g 'ORkO{g)S앿VzNjuZǵ{CȦ%hUI10m8 @bw4 mIIv gYk05D5<D~8#fA4 ]$(K+w^ zEnyNH9cG7!Ub ~N×orBK\ [MO^6FgLnX̛pXtbL*i%0QxTlT|XQRg[d K~R@>Afd]Yy1jʬ "?Y-|zd^ 2fv>>Z%;0x=w)QygG^ ge1*ڟ{3\mdv62!0:mVӪ'|7ֽ6d'!oB40qfCwP c]e]ӺBuSc,K/qEmѭ~l+⽐n9҇SM?"t0xɱ$T9nv2+㷚_X@ʐ :$Z tH#q9K.ZrKՇv3&VjgXR5+d@LìH_=9bK봷e{a\qܰ4[w#s>ƨq^Ä,,` f<Ο ~Tq]awrcڴ=Ʀ-mU(2^DSy-3PdzN/ _*PnвwMw+FzٹdbcpMK kB5QѱNTyoߙX=X6?+G$V{|lƷnS``Do`Wɞu= .{0BWac4 Y ۷ M$Sy! Z9h[=*xd" M@]DV.أ{s @ZOnK oI!'u989 Ay̻ɣNkŽМIA &`BKrvZK6}\ tU:2yԙs BY ah[ awɫ:߲C\ɝ\v+kH^JLvp9TiFJ~TU"w>2N'AKsEgۮg$PЪ(s +`=_Z|D,1~@쪇4 ^=J5(Ȇܮo B`‚PI~H'0l|~5;8$)wQ}()M&\c9h3 4xׁ^弄8>Wt^9j[W3AUBA}9B8#vcG )7 #֓/( a X쯲~5➨ޢWyr:ʟZ5iHgR7~mߒ?w2SPP9{tԟCHB@V_j]]c<Tp&,2|va_ C*Q1d<+́*znEḥW#.z my4J0 cOMi6 uICHĞ6 t!#\LY#wkYSu X>h񵋴a= fTpo|.;eQ.L^DSv٨9`{Aݜ΋ 9,U j@Ө&)uR9$~|#5zXg QfY0Ѫ-ӹR錛>m Ȋ Ebx])]ݽl{1!"gڵzI;}~~R$.…= t>T̊VZVˀe 11y(o`왼*!3 )wF x៚2+j4y1!M$h$ay $ۑc-~WFdkt CKT2J)=ڝӧ.3u6|K!:nj y8Sd9LRFIڡ#'W^%*zPj,QzJ/9QíȖè iԘ GXt}Hۻ#Suh,}1kz 㕇<ɛ("wv~=mcfYGs P/+h0>YX Ii@5 Cdtpy.&^/k!r9LV)}j7P9oe:x.(9pYbII> k >s?j?:4CH ٥Q})`]^aؤ,cC Z*%.`GeuKԭoV!8ィmBwyؚi0h;O|aHC"tʼ.)ijFop%H B(veJpla<H ŷMQmb+(dJ%F}PI&Q$|CK3d.3O]xwa%7)\b,DKFZ]tfnj ͍㛿1>j Y|rz<_j%>ezèBVx 'VSo33L]b/ǔ1ꝇ;g&\&fe~ZB#N&7.NRiw pUi=c2H /\"C+X_.DAÓW:SJ~yɲ!V+,_SNl\< Qsc9/}lDv]-[ktʇIJJtA͔FXAr۽euQ'*vQ/ZgUʍ*a TY9nΠWIqPxWW &uG-&f" Ľ`5+ "K%,n*;8",ƛA,1nm녳5erYKj~d~'oB4vދz?\_~"6:#x+`x `@4F|Fd1Y<}ֿzbq7qMϟ= 5cV91Weە<19.l;~דWg+6@U_{\ˆ+[8c8x<aU5'7&ܘq]FqD1k)^ -,B>AV8>(+5[$yi: VjRRÓ_ȹj:oH3JUm wxO50߫T^oJk 0."co³vTB".sS^pA7sZu/\ʩst亞*nO0"f>De=!/ {??is4$\rmnaRb>y_x{?{nc Y$jAǣ}s)5V#e IxZbB=~%_KkXfJl%Ca$|y'i,w p|(Y|bh34Q$m0q<]PQ$iOu 87 7`#Ӻ]}/+"Dap<еոP)ZB NbG -<~%k] ,l#Ͳ.`)܇&ϼ,0_b̆"4 x/3mDVԽ kr,&8Zτ=Z*NA/]X1+5{ߖ oX0f-@I͍xQ /%K;a$5 !Bs˪=Ywùdrsʄd (*V 螴vK󥫿΁Q ,N>8?(jzdc((k$p Ojݷ"OݹG䘠ĕAla}~Va :7yR6#Z`CphP!ۥttR~OM%F[HQC#5A&ce5\TDzDݙY[3d= ٚ72(H !abMA+{ґLˍmMګ~wG9_߽ ʵI}uE@#9MD> 1k/eH_0cRBw0M# ӻ^}ȟb~9lEFif}`%\|uNb,/K|Eg['c{)}(Uݲ|`a ^HUPc~=#$QnNŰi[fv!^ݼ U}Z>ir~N i'yCf E6^F3O0 KT ϾcK+U$cQ$(Yrוѐ&'%+(m\*߷H,[ |DE](?ڙZJ\O>V I<sZapi7Ac1&MA-._6ȹJsX;lʭ@MUF\My>4+Mlk|x۹gQ 8:юy5Xȣ@`+(ޑK -e>C>}qh4_ I6EOs]1݊|-OO%=d3R}\Pq ܩ=pu(VtE0h-R\X5Op̃ m$2<>?㺯@*]}K{ iaE R;ZѬVVr.~}ݑb -){ldhu B_JdJ)#?+E׵(+dp-\׶OrɪO7N$$GDHlLWӍ*eOÃF>r{A~if>6ot ) 9x+0u\N;I9ٵz䘡Ep}Ue=,d/5 ڰ`St2>EMʽe'j5c"/||4r yx#27mH\xU: s [|6Ӱ6KPP!r1]^_@Mx*P=Jt8+l/E,=qAMRS}\2Kg nQOrSŘzzocG ,GnqW/u7T:FDU?)(r4-H_۽}kг­_ed(¸=#^H c|IяF*-ϻάbčP6gqjF׾;e~vW[WR tH{iBNWN'3Ǐ lT#EA?{` !Y!ڪnl%/6K\Uby޲acA<@FŁeEhiz@ؼξT4y o_opF %IqlP Vw/i0`լˆ'dLJ]-AƎ.SJϾ‘uw|Uփ"drUusаE Uf2 %Rm~9v5Coh2 F+ǒ{icyN;7rǁ{Fe߆MAn%+&'GwT)fud]2 XTɇKSX $IOu#rǚ#N3T=jO2FT^R/9@Eⓙ:&gZAZ<Ӥ,GI49/9-XGƸrANAhcJԫ-̗1LQɻ1]ojP - :6XҨ/ay%%DL Wm7\^ 1rq>&9Dcm.b`E't?:$ M1䴆1rW6.A8[wLpP㙧r3aY]RD]ݪoDp]@{~?oWM͙ዞ2X~=d!~qcѣ4j .w;;/uQ$$xٮz6W/w(}@ [:_WgLO0= |c-˕8eE(B8ҾBQwgbD X'{bLm=Z4۶@Ϸu  +3SAws+߱.q-1 媆W`-7.5|^K|(JK -f?r2)e6QU9$]P "lvÏtӽ5!dZuÐ5qUa^bˢMpȡAg-%۽4x﷐SOj'GvϏYq+HPCmҨ E@#*B4`xdsѷp63X|E^Sn'-m]2{3`b,Uu.ءCDŘ"B>Z!B5L[k`!9'7cP:/gCI:NL2=O\gPx],(dպ`w`uZ_.8DSHy" +=Udўi69Rzo<39?beW)g~]ݱň|U,i/?rCA9C25{+e8L4^#S~ MZn9jke篴8#/,/k>U5ݞp}(gUm@(=m] Cj$pg{*? $uUB 2ӽl8ޮ*۳M{9t ̿{WW+$P_NCh|U 7 }_KI=GU3X.рȮNLm6wbL :qfxq$ zr^ e ^0$D/ۥLhE|`8c:W *eEGW=%)l[ ,['tI0cCu(t1Ih+!٠уg2rf3Npc(9uQ)Ԓ'؟:̆Fv}?d3C]ZRŌw5}Ph,Te0h]hOKArU"4Ӂ&7@M]!t$*9ﯬ[; dR\um;%%f@Q"ot ]&5,$ӝШ%rqH[3#֠;|5`?4JX!!xޤzfZXܜJ/1ᩢMm6zhK:A"M8W{=2]OoM;"3j|<nDƎͼd:٣U~i2i& @}@B8rFQbyMkV#9NgrRY~Ih<{}{sUPszkrbao ct%͹Z`q Y)lpٗI@uD C@?3{\H5C'G)ZfvR_ P _t#υ6V%};_[UkC >Q>rXe/L)М|Ѕ4@ӞsPw|[>{2ϸΊb(Kܖc31wIT)qҴ`j;-߂#kѻxA@;.hԴ`[Lq|џ 1Zm~BlBdK! }Z"ÃgfW%b~+ߨ|֕P$6(ZQ`8Pm`d,TƮvT6sLQI !! a.ޝD`,vhɤ R=cN_+[LObay3 |Msm%; r^(kwid5EAp[u ƊZZǁB@'T3qh8:8>huĭkB(^îYDε2jw'E|rFhi{pa Wqș&#6L #, OߟQ2_%Cf5W-wq+>4 H2n G7mŴkW!t"boUOEWϷCM˶Ka[[>߃1Lz(ڐ3jvj=Y^-{@R1uDcC.S Y3ǢV?Bһ1'܀;#mH*c )~10B8~8e3#9 bܬ(k$~ "q4.0^K%v QDl%+f1=!!dTm|]ӲHVO|Վ~D\8R\LԴ8m28+ˎ:(Ε-7 ]/} }Tu]]?2lXY佃Ԃk5eM`y憕a$E=472'&!4cæj2 ÈL`m'mփ"Y "'_'c$e~P72~GJ Z=UmaNf/ۡ+{]v_;G,3ӆH bҥ-,L}5Gq$N4nڍ.3(P3%ceJT٭%JzG?/_A1}{U ֋s9cROTqG|F^ @wtG~qǃUf:OQ+~1-fbӽ+5kfu^W&Z.0`S$K%t\0Kq؂z2, u ;,96G(,d+wx1 a^oࢠDZB|g_N7or~]z99kDI-k :0u_V:]_?12AܗD]4FF3-ؾ./ܱtv Ƚ4"mgJ)=SUtfHbH^גST 2m͋.9e P^G!5ԶaZ`r7&:|ʧ#g޺u%n)v2?"7g ;պYnӅ( :ptj]TA*s!P,oPi߼nqDzw0Μj/Zϳ Iʚ?t{(uAGcJ6;"GD-ycȰ, U4M@5q-F\<ۍh5ܤ?9(XB10^ 1lfP8ym @5ʫvKrEԻq18i}x#\xD'/sSÅlR2;2 ;j# \gl<ŏ'дRT-fVQn5qjr5썋J(ƅh=zļS I Xr1a0gH$(`,#eRxǪ[6{E ۬>!V؊OaF*df!245/?NRP$ƭ1(!)%m_\u}.(>Bt7U@w`L~)HQvSRM2; b.ow>'*)sc,(?QK\*9oxXn6[cV0)͔Uh H;=q|_bHcH+R}J{v; =|:Bn/?CkJ1O {mbi)Qq".#@fյy;<^0oAB~OǴYScT3ӗ}'q!:󁂁G5#,.q8E"!P- >5re'c+Әt@Ҏ%:)xѩ_zo+A NUF/0zIaܸo11@W9NV]"j ao 1RLv,luHЛ͛7،;L_v~Kjn'Vp܏39|~j`ܻ`UD3e S1Sv<[E&4o@-wXCO2 - )(\`fS5L6bƢEiOE'a&gpFOZn6S|ܖ)B+h(õ=5lӌm“nX%jQފ:'>|Bge}bO+9~ {@[$|_HiCQwGT(P;1g-Do[3jQ b׹:G1 5)42o݈9oTH5svw&Xz굶 DDwY++74I+٬-l@vw@f>{4SHֹ"]A zK۾~`oi8d[G xqYZ/X,^\+uoT$7C7 TUHYG`=?Gz2P;N꥙oDWZ^F!^&wy^O)ߌ)58aL~۹FQ f./l=L|";P.9Fg.z6 :I" `-Ȑ nZH#`Ŝ'WN'fS9,1ĝO5·|/W'kSMؒ\r4c8#JIs)#I%ir#^GBf6I+z>*{TV*?^`pOϻ|khw+Dyae0 ưKRp8w s^im#Lu@[F/;Chq'ҩ֥Be܎,'SEY.%AҷNTDypHK-@ }nt #Ƥ*^+ћ_4Nbb݉9{uz,J9 Шq'BtC?͙+Y~^ N Y1 xFN$[ 1BSv~ Bt_d (7 *~9 r߄փDcl۹c>Y@}!6&;M2AuբXSa}>9Ⱥ L"_ONL(`> p ?OVa}<7Aަڶ*9Igئd:xI\Thc] u$>b u>NZ@~gr@F^"(NrHX`n+zRD٭=$aټ񐙝R4@O h{ⳇODžc7)} J 8:vG,vG{tݳo8u9)OvW\Zɷpgl_uC\,r?K*$_5%_;Š>sY;8tn1,iox ݔW) ƵU֘,4˝p9nER\;%H\2ϚK\mY1:.PNZgACH}W m8Ψԙo:L (Ӿ\'6>Qmm=qomhx8,_ 3<F[9.8/%IϤ6{s %<.t/.-s3qrݭ@2h~=P @3a٦HSfM[]דzWlx\ɮ TBGS ?&o9uUM(NIC'Ăn"ırnm8~Jl1Nu|,?WGeW1 IuYрpbu]ypwBwCî&Gx᰺]2Ș"xsw_ג<,bg P7V]~NL p?Aޡ3wxl.3^a ˚ù.N;Rr_M3xPc\-~g#^eF~XҁB{Qi+ }~GmVZk;5qqll0 7Rz\䥁t\\Ce[ΑmńߡKGZf ηA;;) *[xBxCF|G`[Dm .DQ ;a:[a&I1zQ1wlJ#{y7Qs*!2>m%WDuaE} +a+Da#0 M҉#o}P*lx׍q9e?O2H0x})=q E({{3t^AwCEվF薿). q1z~"_Sipm-cW iuPa@,Rib YR14cTz.4ٱ$[ "J Nfv.rBKH3wk*#wȓЅ7Z- +U1MMAC$c~UQJE@qHEK٢fOw3  JRgyvm^O)~Vupc*|16xC6ĘYw Fjc?DKym-_b64ewtK ;Whz20v"#QŒ~F[7݀~Sl{]d$2ٱQ` }N^<` uSSh9ʣ YZEV#6ڞ}hgV!]V^? uA ƅl._E [ 6yE'2'Ѹ$y6- 6be#_!f> Ik*=Bc͆2ڀD_F;hqQ;nܽ<5/J8"`Z< 8i~^n?:35[;\jًTV8$3r.㢢ɍxƼq"a=rIj;oVx!ɢv wHZ× ~8&jrܒMҰ>vj>^({*Aܮ6fk1H'K85p%j 7.̾BdTEa'+n}SoyRb|üʸ pC_`.KQT5{e}>4dXڳ(C[aTYBE.ZCB5a?R!kK}P$b39ƥv<|Dq{s#n ȞB5ĩK3̈:I˪s5 ׆b,h6ߊhweZ2;$'Ċ"w4T36ɬ` d75Ëf:TqYTK7ѯI}1>50oyhs# Y|*vjo2$qO gx]^)/YtuNvfR7( 6xm4,|kv螈$E- n"W?<A8)r]^èx_-`QljLdeT.^a6؆9f7۸Ooa }ZbIE7oFװ0zd* -6G =5Y57UR v{gKz'׸,ޔ"E>]PՆwJhaL~P?ꦓ4hA7c]Q| =J>YKSQ4^K-Fk1Q6MKK<(!. n9b2cj[In89KgΥ%&. qd,NL\ \x%RguYWo?Y Z'0LP{Gv㥗Q$Pe5E⁦,g `pf"(B8krx?0>6unt4mEM[Bx^лp.YX̧NY K0VZˢ9y.+C R?|>cbEc2,IByY*zcו$?9;twG 1 !I.=yv/3;^Ʊ߹EX.Z![Cd/5oK@g[bAp+a ~w銡]-Fh4<%1` f=ɪptc؃p ɏ ~wN:3]_i,d=  ˭R7}K}5F(rK? 3Q5Ԧ/f-m77gT_nXn31p~up~l# ӿ1g tYc%Ą+;bRN+ܗ 81+L,8P%}8[>lv Iβ`+T' Ѵ<a+4MKقڈ{("SǠ*+P(@ E<~ecJ ,@¯Hu=)lR7Å T6]\5^ͅNIj7AaNTP>[Gc5ݳ]1yC_YS+;nltBJNUUN$d-9z\6U](B 3UmXr{72|O 4 !# tHlK$"P`vO+^oX'ZD$u%j7F[>O&!sdS+S)Y It&ʐC\kRۉ ['ƌ`O B:%wүuɵKu3~롨]^΁r%T1ؾ 0paK)53j~yBDe/]Vm9 LEȭd\a>̐+*?/,4dVbJ,lA*Аs>mpLŎ5⾒Q8 Ta޷1ylK5$ }܏tYuEy3Xgi\u{z nٚVRSКgtL+6]t4$ Kb$AtЊ1?¬ۥ## crD.!N:{)[m7HIni@ KIhu,#@uBU+. *gd_o#5硋yimKm"wlguD+DֻH:YJLl̊a1noguewVp>E9>,6T6#igQƜ&dbzYH+I_߅D=sb )~9d Dlu{oQ?i%Q D ;hr#" 卬dSLR .${`dj8pKGwxe.T?ϾhD%B4<6FH)N7;9?loe nM3*r'j6>{5)ƎR[{':󵺃0Ř.C1aeTJ ⏉Ugv>mz˯MSCVJnr1!x8u@lSA,oy|ܵxqX 6|WMZuaPBWT`fatǩ?WoLC@q5Q|ZG҂\JC74k9`6=DSާ.-&Жf*JxoW+h?E][2KKhNS쵐i63Sw:T|LXllrbHW "y\[\;2CTvOZ@㧶5s͑ NsqPcY=<BDiw*va{H%_[=j XLH]"W<j׊ yTVmVՙ E ,(~" Q>)֢_ F]=ZDalꭷB7"uW$.GCi!}3ɔlr0ďL.3sD` 4qf HZTW4-,N ̄H,6<(_}\蚏 "5q3.c8VWSt!{ AJ{錋 av]v҉ @{g >87NX8Qw1c ]G%T*7|rU(%mv(@pѥeIxv+LJx9W &CNE4Mq2ֹb'h~صv78|_kX̲*xP/DcW&6ɊD!dd?" 6ǔ*#/YŮX\3>/Hf6MS٢R`k}bՋ9J3a1lpX+ ^ 3BԩôQȧNEF#5$bGQR=SJoiy_I +OYClh \t<-fXXޜ_!{“*޹@但C4N<,RN'TE^q4=,<}=CJm7{$&,jϞXɨ; njZ+ pu_UF,ʚS#7'rlcYuc{纅pJF>% -~{vI$BYգ4+XM Ñ:xưNzE#nYjLdv` !^ zNh.*n:gaHj!SO8AJT!Qrs ,Y!ބ!6t1Z'8Ǹb׺"l]+ /=wE\pĄ>91)6Ss6Fw46uvV] Y]U-\t_D]/<~.#/7 8Xu l{Q{p^=:U_7 &irK?y}-Tur{u~m%jy7d\mLL5~AL_ ~|D3`ܻC;i7D\/Ҵlej^My[ SBֈ1JKdKޝpt9<ׁpw_c c幁pLh.>$ )r%h( p RZ y%laYF%m5&Jay÷ d+3Ak!hd 㣚Єy8_r&gјX3miӔFD<ɖ5PDžZ8TE7.jP>@o26>72k"7! ZB88%l7d-(\xi`͹)<[f>j}4/s)g,L,0F7U ͤ ?/ḩL4G DR `˃g ȉj5Ka>za8 Ɖsv4|PMd`AEj oqTWM; T>#[ - R_&'^GaA"}Ib&S_:8R&UZl:^;{ُqj5Y-vP$'*u=<aHxf~(mԢznp4̂dHh&?iϟnC&oi(Ơro#SB#g-vmPrR3<| O C6S>O'72jQp1uDJ5tC)+>߶(Ec12WYz-< MJ rWtHS%_ WgAADd>ڳP+ˬĮvLO[@!:a5b{_1p,X!Ua(g2D[O`y$6 3G>sqRb)Oo[ h$"r(%R4ƀUgMXBۚ$C6@'I%sp+5Y3!+;2\dNV‹;1 :A0I3B_=3GtaɘWuv[|K9O5w8Snf1jҍAB,Ccp vt]Pz&vMhU8nh~ Q6p)}GIoR5wފ0c}4,Ėd pJ۫vtoW,e(T#ܸ~@W<$(Bg5Bn٩4% 5(pסjhb,\AmLjymLbN3BIBRW-S/Nk>`D#.>қ`> CIi䋴㾗nRRoigGp8qrz,W4A2ȕ%\ޮOoj{CMɢlmD{rMfʛ|!asc^l*Ũ4dCl:~`-S+Pj{; R]M Ek!0[JTjFs[d-6;UDⳉ؂ݟO'l7'h ޭѲ}I_T^Rʘc=U#b#3Iªg S2̓-\yrg(S%W \oͮrOP@1* &97ׂx3Z̑"ڄ2lwȇZl0JDɴr쟚0S"b)yWRkLP5݄R86xcX=Km|ڃ\{xo,gCISv%,bkЕ4 =xrMεlkӦL [;N?$fZl~6@;Ө$"(K赤ۿd>?@--Չ{|&`v=NR]J>'<8j>0R1QWtђ]ʸnCz TXEkxrc0o@Sz/G2gq_$|֭|ܩa1Ÿ4#É[\F5/`,/X+ĸ{2;Kw&EutL9Ę3{n£rX˳gHB2::!s|U _86((μ5MS{M6E*(O]e ey ՠg .hb:Pw\mS`A頑5ZP{`l]dgVe}i2zōȏE ??n6!0|C_>~RW RXV8y:VX6G?)-ȕyMo^IË#w WO+eJU,趀uAv"j*ÑNaCo0* .gxI&,F@wct+}^ZF&tO ڋxx?es ݡ_ư̿F024Щ 3agޤfyD|M)LrQ 5 rSR9jCy\S=vd)^a7h5Cljcixx,^K]*Uv{e^>v|h>{daځvo1$4fZ9?RR. .$4-%4Ύy.;ҡa0gᢠ=3VjﭬWʖ-~9i ѮL0SFt,u0mO AaƑԚs_AcPc2HWCo!dÑ2u"Cgӏ>Y~Ùݑ˛1Z|I__Yق̝ Vj7urfl|7U9Zuf(n0+P}6OnMC`LT oij|FP$h Ab@O+J:Ep \q,Zx]3>9/Ti`x'tZ <^W%AEP~I8NnIG s޼Uv2ں  % AppmON5VV.oɜyp4iL-Nc@_VZ./nƟ6)S+S+p^`ro0V ][oA۾;By5~[]$=dA(_%8U>dYo )V4X e i;$o6V(oB|PS;,iY(*ZgN- Nζe}PU>ֱֲzoc>kjv@ [.>5b&p>:g ՊIWϖ=YiQj}:O4/eցÿDʹ$eE 0 Et܋̇F3V)0.4ÙLwS]j"~}'YETjW[ײa;y9'B 񰼺k$T=0g(eMcu+a#NWd60/nPQR24TT9tMdP(xO(̶}?U޻\曩 E}[\ƱsRoY^&ҵp0#mˎ~MMG3N"VsgUb Yۊ\=GO(qjRaHNå[pO@U 1V` GI.BZ` }puQasNHSnoB,nͱ猵WR7lhT:5 F(!^?Q,}ų(gsAPBI[鿭ŋŹ_v)wP|—V少ͼ+/w0EKYUi-#c9*^cޖֈ әsJ9~{֗IQ^Jͨ"?1-]߶c>} hדFo(ڰ4ڑdG|NC'*+![o}@'F8"z|yIЪO~ؾ01~왆!gn%-, mze4#h(Db tHЋfր;BC&hЎӷTsM5N?.ICED@] KRFN =q̜uø@޼@ZF^|2};oo6h)y?5c.K%@hA7Чci/.tqZGHsxI wBUpvެ7#xdaߙ w&GNh a}:˴DB+7qv~ 'vQ@}h~uR҄oEHoL-&wOp3 s2 W8lMA"SFƺH+b@v[%!FtTtE\-Հ~6 25@NbRD%q|̧ye(ict,<9nxF\S~))%"Wf#Mf zh>*1ד߅s(d )~ҘN^s\6Kvx`o!&ūX1e*mhe݇% 6#pypc߿{r"WWD6|"ȝ+Q<\:; gH)G/edG%1RKe+}lvs5LI0ԒjSA@gگ7겛`Zf99|040[cdނxߺB^dJguzk7Tb-`(6|}D .Ǔl{V2]`aLUvt+͓PohGg2.>lF-fz֞^-sq&nhgWN;1`Ic)0n=*`!n YIJgklCvˤDTKBb'@KHLAQ,cejm$550אHP ]Z?KCq l7 a@*6uM;4q3dXp*v f?Nʭv_'u<NDg'LW4qu4fe&}̇buËKXxqTq"|oL8$_9#t腥yT#`WZQ Z`h$V1i"ficM$BRY5gPX!w1p' ءL"e`2n1ׁsncѬEނ͟aF@y;OfAE]sZ.[ͷ-7rp!'Fg.['6r1h7܍Rd'p4=ʠ[?)R N]}'3?`쎬g&sst|Ejo_VYaBYjަKœ9V<ו1*rm !jsd%2Pia@!{t\@tvH0;_@ y>9qn'|mWfcvs͆c1>[ݝ;/C)A:zɼ޸=:ALK/굂H1u4bu&ETH&!̣ [/C_&e]x們1D*kkAL@ | ]^C)[eѨu ZoIG$ O Rb U23F >pFQ%۪"sQ` m3j/1X㵣AK~uoDž @yE|o'74 nQbL=YΌSҀZ`>${M 4dղP0Η i)˲ TG!{jo3a?y.a<=Bޭ6.oc\p˼Du8uJGhxVďH55}ޚR:KWͽrM8P_޾X?`55ǰ$Z].7K:)+I.!05hɫƕ޿α~E6t_+UJGad ]R}-JLzUgp>x/T&eꚽݑ)FY^?p #>`LEnuIPM0@wZ9TҊ*BHԲ:8rAi9Gaf?Hn~)|>I%콛-O;"PT\ty'YxK#(AVoTrԸ ::SWA./|s@@҆Dw1NU >6Qޟ|<-3-9P}qHW0L  ~ʚ)+xv:Mmd(JsjfWFtN uMu&Cx!D;()dh3ٔ-K*Uyt$rHRPSEާmrm|mG\;T" 0yldQ{rFECt4$\*SQ v.:g>ip:;ulEbKUDp|t ;'9jKԯI!{fDtU:LD/a:3^ K^Eq1FLoC6.7v$,懿C>ftCyxB ;: @t<͑Zs &Ymi ->]nEgM㝺堄դuXʴ~-/z[cҠutVX5wJ%zܱaBcqC1 чFxwrtfq1oʰR >yZ܋Hc@t~op*c:CW=N֡uo݄,=ѥRJ *6RmZgz%2'htX6S֘tV0u LFd_'mHrd͆2W dIB\6a商uW׸p(ZET‚}|fY'fMX~ EMG҅V >5{0[[L:JJޓIc7x0B[ %ɯŒS YZ