rpminspect-debuginfo-1.11-1.el8 > 6 6_6 3!y덏%!E/֡d !E/֡Q1cuk) kpJ09zqϏ2)ޒi3-bӷp 4wW=|IT]q!''Dm.? ‡ Z)yޟؚmz=s7 qRjՃ ۵WcmX!¯V* e\@m>9@S9rªvkG)xV<}$vpL Լ@:x,NrΎ Yb33aba71a666cf1acecbe9401d337a3b85fe3e8d823c18576c16f922a9a4b3e0012113dee554ed16276e4edb7697d53b9a1db8079i3!y덏%!E/֡d !E/֡/)~|-ugAhuBUldhow-8}_57LpzwJHYZGr1 9k^52&m΀2RƑl]~mals*c_iCL;dΞx`Yf |ȳ4^ P(kQ+7Zkk1WsJI]6;z[T?MZ?Xr?] v0\<,otCu?X t,3;xe} BJ%2VHꌈiww-?=8=Ox-QG%ap]?bWT~<]]D+vb~8MYʋk}fgP#v$oVNQcN8q/`5.i4VA.nSn)$vs,xrUE\papvj&^!*:_3{K bLÞOh:H)VFD>p@߈?xd " K(,;J -3< d  x      >    & Xx [(w89:GD Hl Iٔ X٠Y٬\ ] ^bZdܪeܯfܲlܴt u vw| xޤ y(,2tCrpminspect-debuginfo1.111.el8Debug 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.dbuildvm-x86-12.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<GoDAAAA큤AA큤ddddddddddbcc39d522b83f1a600f87cf8c311a4981e332b2dc00a144823178210b1bf72367e4c1a3e38774974181c2c57a7860bbe2a7a7b7bf8c847b35b36e49c776c74a2../../../.build-id/3e/18088ad80e76b2138958c5562aff54d5c45289../../../../../usr/lib/debug/usr/bin/rpminspect-1.11-1.el8.x86_64.debugrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrpminspect-1.11-1.el8.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.3d@bb\@aW@a@a0`@`\{@`7@`7@`U_@_@_@_@_[fDavid 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.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 3e18088ad80e76b2138958c5562aff54d5c452891.11-1.el81.11-1.el8debug.build-id3e18088ad80e76b2138958c5562aff54d5c4528918088ad80e76b2138958c5562aff54d5c45289.debug.dwzrpminspect-1.11-1.el8.x86_64usrbinrpminspect-1.11-1.el8.x86_64.debug/usr/lib//usr/lib/debug//usr/lib/debug/.build-id//usr/lib/debug/.build-id/3e//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]=5d6a9be69712a85c2c0567c08ff4ac20ecf6456d, 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]=3e18088ad80e76b2138958c5562aff54d5c45289, with debug_info, not strippedPhttps://bugz.fedoraproject.org/rpminspectrpminspect-debugsource(x86-64)1.11-1.el8utf-870c0aaffef5290dda262c4a166950eb16eb0993d9bcfc57c938b082dbebee778?7zXZ !#,C] b2u jӫ`(y/&S:Z#r3e]_`Sm7m'!J۽({HyHuFnOj9NׇjO8P#0*Zתf3ȱCshAA.ַz7@=ó/*ު/F(M]kl_}|rZj!b[Q5ZDш4ymbUY#2с+lzށdTMfVPEU9KӜ=0b'pV,:űm#,(?@f i6˞? :9@/)nCڗ3Jh{oJag* Oղb<+VI|c#! T/3fIjᯊ!<GNkmHbx7w E2`b' iثHՉp:=q 8JI(t;f,[<*c^HmPd#\ #[Aw0Q^6D/1'knz!Ks ݵ1o{[HU|e vBҿQNv>3x,5krn"'˪VIrzo0]wOڻy&bytB@s w=,d/P{}@s@.ŋ=F(iDh˒Ѵk"'l)trfZg\DG b;h/hqRg̤XyO[RNgF -"G-ݷB.(üek TK[N sP"L!kCM-\zL%ZL͔.8.'NӛXl`pɴLoejI{u TM4iaˣcm S}`W1|K`l6QWY[hהKJk Y'NYOWZ/ MUΡ{DK^Mwb7ht ͍YιBȔ]S,Ÿp+3qܟm2 헃T~ 4C|SVܻ`uSJȕж @ҟra߰`e\5SUqJ5 ;|h*YX1k ?$؍';25>ϟm\PĖ)^M]m-SJ9 gʦتyj{lbQw 3#ӉzOd{Sp3_Um"MS}X\ob]ٻ Һ#{tڄn ̑d~TMܬpq[&f/Fo]r7Hi{垈=C~K'Y͏#b|X&.AE҃q3oW4w8 I*#5N*I&X>_[s@TrOf0kcW$jh;Z&d ұ6זFj, t87 `+WZv[F_JNXcӖH~7vupX}p41(Kz<;N5Z6W럦dKT+b4hX/yW/+Nqi5c^д%;'RYp& OPrݿtFHN+a5m'\.: qi he!(=)lf}J ?];_%Ā0_>}S4Qѭ? H<` Q|p_CQg׸fepT#ש@dKXE5|-ntpT60iN$$]h1'ؒ=HI(+쬁(^69$L8ʸث2}h`3 B')2T*_vE`z *֓ y&!]]@%?"(eqT+WZlҰs8+{3lqxO鎅u%CeVU?퍣c԰˿ûDX[/2W!B;"<ٓ 1VLD?XFjLV,u~zobj>,׼  `}\N"Nph[+{,ؑu'?SBe rku^xݕU]\".F-y@ McE.ϕp5g\hܭzg ,vŝx";3xڛH㥸WT p qA+;:"߇܉'̹ d?9JjߔhyۄX 0nk SY?r4EBPqpۖL\HĚ{Wu~`͜Ȃd%(jgP.M(Sb\'W8e&$Ӯ Mx< \v %QRMȼ#wGطh3 &G8y5Ʋ,&I1MW3}8 5C;քFS  UEnـܘ NTsHL $,.ýG`u8sqL[w=y YZ@O)rKy^ 'fS}PS$r'<_D8|T0f/ٱۮ4ɻ 낀HKBP!u>}(^ZH|1 ${vNLF+Y{r߬zX -QӐo8 twE>bӮQhd^fm=tky<<˭2S='c(^r$*ȍΧZafGxO]/=)p;O_c -á;'zCO1R)jPz{x6(s&kK~l %O:^P,m'ʪ:)L.iiu CZRFN43ϓUn%??sLՅEQa*n3oX.gubOmLhZ븬A.; ؅L)7^1Wdh *V<2gtVwi8gGwv9u"8覵L "<:tt'\7Bw@Ԙ( I!k\ ]c,d5c$X,hI`쨩Pl&YWҊta.ކfIO D,42H5qB }G9c)J4wнم|%TewBp[ӷkF%V4̆& 6 YW'=ĕ}|%Cɚ3Y 6j&D537'l…! 7|BO^|U'˸ ~181_OIH#d ճ9@{JeX½vGr+E!#_p-_2k-I'}xAާbyFך{Ȑ46 9hJB^}e厦gf/Cv&̐;$ǿyS*>w.G}-FgwFXgnoj=*_Rm0=XQ[sNHw'c':Н_4j0ŋԮLeô㺽Oc׶& 70 SaCqe,΅"ܙ KDv\،(M/KxP)4ιlYZGa-"c=wYt]=s2n*h#80LFDCpv7wGz#ERPg\ rnw+|YOYIJ}!ϯέMədoty6%GTduҐ0S*?daywsl^ >5K+@ˌsA/ڇ#ANHM k=:W0?i<2Q?YvxڕEr8R )罷Ej!FEs[K:mI|YO>0mᐗ[,mMXg*ڊ"s_nSV:c,Ƥ{,AA511"Z႖1]NV| ϊI"IFA_4p* -Q nSb.,ƪ;B+Cn`# ә6K$nӠSdc\ !"2^|J"*z8*["gn ==axGA6]ә?D *I)_ۊm`lcY:[o~)@a&ˈt9/lj_=hX0/uvTTN]Kx2Fawr^h<8M 8L 5,C4ne/8v]APS.5-hJϢRjSϝ ij09;R,~ćv! U<0xu8.EgK UtZ6W `a"Fc(ɚ1os2NO~I,j䤠D+@1Ko_ &μ0wORKsŨE{NqlMU>f@x[*kT۲Qpi;B]QpCϜ1%+Ν'w_uց>S ;9 i(MM;}"iE k `sj5Vkk[d\njw5/ʝq|+ϔ%㏐oh%;nXw ї5]f5vQxUFÁD6s' FHnTkZ(Jk陲:'o=P/t1(N> ?is0`LIQ#5vu*JTj({7وH 5xૢ+jРy*t.1v; Bۚ\$/Vԧo;ZcÚ fؠ~ߜZj 92]10=5ULՏ=hzFah_Qk7QQZ ;bZkF6Jv!Jjާ w2tȠ|&wP"G]chRtka&pda,TVA:7mG:+]z6ICL 6 4^;%BYc+LFx#-i&*EV%0{|SpM &؉tMZΧ+L J^xn|)RBkD>%\T= m%! [d%B^3U13g;0,Bp ]g4UɝVҶdqdI"Xc4h>#} $2!B-H >6~R J)nֵm)ĊV4  ;%Fq{u{ܼY3*k5[_ٍ/:EњS5[<|ї&zƙqwV%uhLоO!J}Qw'TFHFWġ)~R.8ˋEVa=ؚf(ldQd1MZ5ːKE1Gڑk=kr/G67Q+ Knwc"$#+f [2+􄠧}V63!qMczs,^w)7>4Bur!:7Ƽ߈<݅\! %kϏS!7lllPV⦣/GZ *B۴|(༮I.O50K6@ڋ#ol5Qiv5لO,knYJ}t%8Rփ}?]lt╈kZ}T/g5qyd܌S XNLϻmx~V{@o^dռYB~? yhFY%yi)MDxFϫ̥YQ_]<'Fgj{I|)70Ϥm5rQ~ѯo)aRC,TLIP39ubSzwϐ-lݐe8;*&/%>*ͺa+#Lq7LMtm 6ףW)SKI-&#n+ܧطj)9fL(~Z9 Klr gA '08NXU?g|e3D#O[L+'b/ 1҆*ԽRcUSN6oB*N%Pݍ_f9 .7|AĔUk+EPjYH4(t-9.)u7Z~eT9X CUH"_  cWykl +t  a$y %X/q1bo R9S}sH04y=hTqZf|*T˚j-+$ڿsn,ȌQ aB QO kTOvx#-?2#Lώd6ӃHa!)ʗJuPCs$&=cɽrQop:MMa>Y{Eo,a޳d)C4 w/G.X{ 1ȖBm@"̞ [ArBFDKwkJAw y_g<b nBNVs aך~xp05{'PdM zbY:]ZS|E2+@沤$z'wZ@`t=Aa+nc?J47_0.s6B;HMCJruVaZBI C뵞] @< ̀%y{qxj=ό'1xbC*&t\򘏗]w5Qit+Q1G(-]]Qm';hd\y֏~L=3%TP g:6 >]ҾU@HrV:[0JFRF W.=_- mH ,F dj2Myʍ+t$k {.DE3?c[i')KbēxqFViUBAzI0ǐ)f "GS J%⻊`ג9jIᢑiP"!UUatԇ$үry %n@VZM%> x ϋ\Cƻ8 YWC"G#-+} 'fȰykCE'cpT6OUy"xͻ 8[SQ>ךC`͢iikZ*;78@#"Ap- 9⸰5]iS@(:)ʄ!n}DbQAͼi$#FsEx\W1%ziw!K:Ffi>cgF=}ye-Q,˹^(V#k6j̐-I4*lxZ3!nT_$Yq~zqNԁ쥫g~@/2)5fJcĺWapՇpŀgƋO~T ߾x!а eoFhJv+}B`DRСӉECM_L6 [WDW"!Ex7R˛Mc\/WLYi1z"1r+b jdpfIکm;0f$\7IDf(yBuG2ppXa#SH7wEfŽ}53;`/e3ɵ_1DoNр%b:Et˘y@OjL3|wa|CwNg:(Âٰv"fAY;q݌'J4/OuN洮@?Z·[nQ&&7 %BK#2psηAS?*8hs[*!5q6e8%qR{/e)_Hjz-i^AS_-YlA:`Qe&ǃ;Idy ,G0.:/l"Jc? QpM%ĞKS3T ̐1 *@_98 !).wSAcTWnA_G΂UET []Zi)8(fk[5 @ŵތ% (Oܨn}M"Zbq]FXya|vLCJ~s\C5AYYkn ݭ$CF=JR Џ~*Vʆ>4>هrhHuȊaU1qa2jMػ`W^- sP&>0i1Qƥ20䅔㉳ uLcy3AOe]κ>QםnRKGLj#TOxYB u~H-9 .(( պAGhx\izdOy,&tزy8:lZM{:vA!Hs *XxL @IaY:fA_A^f[{bI 4z*ѽ.1U/m EWԝLL*\ʭIYMH㳙Vuylòm0.@ṟ!%} ܺ"cv?iOGa!>r.˔|4dlƒ;eQ#$TD;7F'ahDeI"/jd7 {=|"^6`az;>k{0J#PN)f%lj"wyx]k5]^2V'.0-N>A(đM$|=LwE RXf<@ũF"FaZd(_B} NCK[uVkrt|+@ b@MqB.,b;] jE=3^bYbIB[`ʚDn NJ5RSIWdgx\;L_6cl% ;١^K0*9oyԸãI(^j)ւ$дZ=ESz `R\ `Zbs| RY}>83²QHRg!N^)k6 {Nw.vb\韦;NC~g@gSi+0_;e2o^~Yֳۙ.Ri"ZJgYD젃x,߮s\QL $*_Z0p*ikҾ%RJcO[u[Ne)^X"6o Jx2ʪz :+G5̔ޘg^zF~ֻZF0 c#zmӕU,lI5%x%΀,Z=IyRWCQh]G/cH&y>FG5tL4QN هX}8 +#l1ЧN_WQKtfhXHʅ )|Sج?& ^t#P 4=Ɇ <rN}q̧fbb[d\s@6L?s(uDڑvfXЌRjB޲j9?,a ]W~@_Nڽ}+onϹ?Q?LQ:%b ޿*:`cur~XߒH'G lS1 8#CkߴWl᡽ P#v Еi{a㟻@ jq1^SȄ"έ@{{nStnLϙlnM17Zf_\$+Aᒬ5I 6/6נP5:c(؏!- #^Fi>?+C= rLQ7<FtUe ܿz-&Z{Fk1Y i۳s;gB^=Nj}5bX6ș}=~A*uK pZb(áPԛ$8Ov:.'nC-IٻП퐐-ٻSyյ9V*ӏz~83QU2S}wa(o mI!. glK;SxB;E[G|\M Y(lյt'o$֤65~ ݬ<)f KȲw^: 4' EK}ΑE~ ֢'sxZV_uO'zIuh_Tqx68Ĭk2+_r$.pԄϐsg3:92b:%in6$4$$J ":=< 6tկ+1>-н'f$&z A_M=N4P;5CBMΤv̩ұ\&D|WBcm S DαLx7OP`24e87˧ZɒP0@ԄK p@v%ǖyStcW1Ynaܐ1jG1 g] Xϥfeq zҲȺ5s`{ԱXEP)#is^DZby'ަy )tpIX\׵VdEy-o"A>S(բǬ5q.h a0(7y'\ y ]-:j6M; `8b?/pF*T'3dw+4@8P2σwR2qWB.$`,RU'SyA:]py˱3OOﱈ~?SiP6W%FCء#*飦^cέ7Ȭ(5t 7 3U̿%PcV>rJ Qf]^37C~ʑ`WD˔4u~Ivh?ܟnjpX yslQ~B?!TpәZ\8a&#{ڍ+P[#fe8[JI?_LP b nx{ADZR gzB]Rix88S@[?M+ 8&$+ ! p ΖK0LzWD]oo@,#k6up8 vK:||J卹(KhRVlI^nȱR3bLA2a- i"6Qt34):)Rx),܇`YD!UTӧu^bʼ&cGlgyFA~ek1xM?!FRK+:Gm䛦wf8B^QK~ϫMקYe `}zÆ,3I ydh2HH[u,dTՃGW6)ԿfM`^ 2$aQreNirZNW^fz 0›$ij`>X|J4T+Ş1&LσݰUJWo ,8M3A̡MTF-Ve>ū[^ijTTZ5m;N{T+/ =umpK9"hcsc vÄ\q郚2'MkiD+izE҉`Pp@{ ҚbDvyvRm2%|s{=<`!d_: ѱeqM9 fI DG)}Ug8| eI":|S*5!zH̻dUW 9?T]\>F&#\ 6DuԺ>'eϿz,"'^7.FXYWk]SH5_Nw^!DӝNw $71<d$ s07a,}hN5C\ ީ"\`3ᘱ?iy(R%Pp&^kWt <\vlndogsV;n=S^RO<ܷ4]dO + &VZp]Uo9iبp r.m=J=s]8`˖ .9U q9ٜ3Xo6o#+.KX`0f.4L3Y'J{`uP4=6ٗYƆAMc਽ [ԡCϓX5I'ZNrNό{JG҆ oRk@t?5HCB˗tWupիZ-g, ΘLrTTghoA#pu@~(o]ft-8mMPD 9_2-zzNH+Q38?ɣ<μV#S?(3vAPgZye]ߥ芔,@)60tb(蓜$慁CnzYme jlݑs2J֕21h2X^0/~!VڽlgGHo`xf𴧋,b 3M0Z*kL{'P$m*a8ZTn;ёMTy04Z$V؋R:Pc*G\~S3g;m@d`HJ]fS( 栾.tTO4hhէ ym&YY"?3SVUfZFJc|;\xFx?B[K<-"-. cjl]Z0ur껳?C{ t5#l:#܅`#.c7Bud͘pk"H}*sęೄdgH{z(dž+j-:fzWDlmҮg_]0^/9)Y}\-óBcuND lUX+ԃrSM"ár'˂< DQގbXFi\L`LWPAd(9\!Xz^5=5:켸BmnsDzl Moz(hB%(-ņU@3}(d6NcgJ݃OOu29O".ɹ8FWO-o64 ̆\a$/#r%YfVдB;Br#2p"Ϋ (| oc\H{sRe'i5bz`w 2\[Cq0ҷ%/x簿W7y[qer J IK̽(Hh\qZyr׷oiD]l@5RO/+=Nj~rw^ycmO=clWWgDq8P> E!t|ipԅ#Fc 2JþKq⭊<7[]Tgf t}}ZrTEԎQgRp:dẎ&\ _ imT\{!!bU}a0-QՒjG<0@}l< Ҩ""i bޫl5YV*"Vs1,(nĮqпDžJUTղrM GR#ǨGYǑ߸a`twd0'`;(i\#Xyę al:2B0Q6Y^UF^]{\IOD'6^lxOLQvn_)xdąu,J"~,#WNw.kc-DoS$-02$"(:|!PK ^"JK*a@.hzDBnes%$W. q/D8U6cC|">0-C;L"%hlI ZZb>W"(~*n,S0;K",.CV2G8ʁu${pD2-f%Ѹ6.A]Ԓhjm'=d?x>s4dDNĿ1VKNVLN0f<$C) Ҭ˪yw2Pk("%Tv3kC,MŪ&jG (q pQׇZn`]X5a#Y8lm]㗹u؊Nl& 2z$Vi%QK܂vdH~I.ϐB/df"Y~1l[C/+w͗3) sz2L9Q)G"%B-_VC$һS q{J%ù@ |r?6h :R.+]&B!iĹJl 3+!^| LKWi҃-{[a~_*8ڝ`R-$YufL.d)t5[u /G![QS{ 1w1& ;6R̒,N4%9=+$ ݎ΍!)ߛ.Zd#@h$]3K4`" E'1*!Kv;iޟz/NJm՜5Ο| }wPHkPڋbF73}iI!Msdnd˩5I< =& c8{e;߽mEJY3sFq] ^Ύɶȱ;kHsvօ'$vΫ ^3G6l.\Df?sVE*Ir+ $ml扰Li)ǥT ^ RЬKc$Oj?W%"y|g/'F3!NsνI0^>SٞbD`GLtn Vnw)j8Cƚ%uQ,hºV'ɠSZsY]ˇQf^<17o B86CnOGc??"૑a 9Iks^4)&>OEB>A21Fm=0ȡXZuUxlѸ]ٸnH^@}+%LLOdd2NUѬn>@J6E{ř +V,Jb &-0ׄ|Z%]F,~^pR&zePS d RG7 u(+@e^s V\\/H#υ8N&HmiHay z:Ih:T)(圩+t~sBCCbM`"?JC~-,+Y1rn50 ;H.&ySD,Y=9yz(bBO }X=a[-R7NFNw8lMYsM㣧gV,'aj$ { ZX)ؤ?K|SR0 |fيoWSqzjLgxs9A㛺Z,hא뮷gĻz] 2C5&bAOD<!/Pɑ=`~u"Gܾ3Ap $5= )4/7㗍'N2uwH\Kf@cvuMNy-ϝmg_/x%rjޤ;wB#GR!{PCMU ITݻ(U@牯u\>[z\~J^PUn'7T2kfO1vdK^#SE7e>z'6|?J5r2Kx$[/"R"xFb]1Ss9fU]~a"+ɑ_ Vu*bKF'Ŕ> 5&l8}p{kՍm~ ?nyk0^?Oި0`6 Fw~|lsDW?[1] %z{ٱ~!5:DR5nY"[OⷮGxp.4-2Ma)Sʰ8+>ǔ <,Y8ۢ6pP۫JvȔ KP c O98d0F.jmhZhqR!bG"}N(6##*jϐ+<"o+/ 4?: rKY? B[a[zz#ĶÚ䦅S @VyA9Fz IYJx6 ^|2M,((D++5m8Ė.ӭvHxq8_q:" B%FdPO鴭m΃4/y1GAkIh0=~ffYYίl;}F`؊?nnH%Ҫ#L1GFZ5(h._x/]j3ϧ,7PYdFmwSBz^<: t&\ay̔=L"'(BUޥ ksb\X=%cUy}bB}p+p;o:f@J  %t+] 풘Œu3©0+8hZF1,*`f8!8YATIF^30FlP(N/\!kGN?Zt00+-4u+ҨqZ92w=P^XBO<>bvS}U/z/z{h{ǹM!OuXH:h?mQozj6LG %\ȰIk-p #ށdخ>8 t1]F:Dvt7 tn;'B*QB #!wX׳S}:مPU䫦Q+؋jS~)vi&1Fuwua|^O:Epއ}~X6B,GYVXKȰoVyt2$$9b˞ wKPw>J(lo$WOkX;o3辰3eUL]aBE2y=e Lޓ,$6Xib >y(r>utB斕nWt Ć%0W#ѡڿĘ3٬D$ UG2yU6\m^:= "ĞӀ7%YxH97 !WY 姮zэd<oc \}JJ% ي4e,Zd9^YGj- 5 h񎠡kW]r w&t DVF6av߼Mj3uA{4"A,X={jŲ)#| 08?8R89{:6Pdd"榑eb.V$P::b[ۭdzn>|>lEg2_s [}o/Í'ڞ(zCa4@ JwL-W*0` Oy o3ZPyA?SJOhq9= ' NlLf*{0Qn3Og|hDiߦ<'ZfGmP8=,HHa%y(kиy2==/Ir^xWeHzF O(vA>UnQk&oZ*H=v"ధd).͹hmuܕ_ߗ-LL,T[$1@HS#x˚h&.F25k| 5 x4mwn@dbח-$ϩ~ZjlTjfP^*zɢZSFpB#YXk[h`.!Ok:?²1ZgDs"#ͩ|Y٭ȗZ3#4G0/;ʀŻ`Zc>dhSV/j]!ao^W9Y׼iU K I8 }.#P4 /DG$@ Hi5!^Zs1c}Se$-U}cZ4r.J̸G|2mm_:Ȳ=Q # 5u6ɤ#1eg ^{"'K+|@s9J(q-5獧d|85ӛB%]nJqӰ\S>vm!7%40m*3hlowSU1}]6O%^^5Up{ZMC‚(zY_c+US'њfͰ_а>L`G ݾMZ*:s!Y 6IFa\Ӡ=JkZvb;maֲ A-Yt}rZWҞP[D%bꆀxZ%w-4`eT!t (`m$&tf̻u!RzBZyȈ> 񥻶ւ:8]{OQgEW꫏8'xޛF=TG8^MFDh7 zE0ͮGh!ҹ)EI |&Wo|KN?x/*IQzJҪd#=ia٤J@cv؟v l,"FTM r X`΁-ZkM1f,+ݽ Qp?< LvOesv˂=-w vn*NиQGiϏqX*_4g~zҊdb3@>iF09nñZk1Zgɜ֋*cX˛"F)rp*bk7!(*aе$F ->4wN|(4>+ry'nO2"7CI*urNfu V%iŏ?a\JB&3/7sBty\`dUt;eT›a4H}FJ 6]ʗrP̡Q`$vnahxRov؊{]:H7b8 M\g,MIA i(%nf/24Ws]k/Mb_&ϨU U(q,~*ʄ~Vm~iOG\q|Uxŏ7h֋RDȺ>g=/L} 8a8#_rOkBQkD_D86 J7t)`02*?lmdXzݮ\MC[3Rl{),-jȾKK~Lw )x=huG/-?e1hQmJ%gxu5uITo57Cj$S Qp@^AV3'_B6$aO}z {BUGXlw8+{=܅6i&#x4@yų~z4~TaJKځZ5r Lç^*)bXx9`j&RyQ?-~5f7lKնl|ux|++Ӹ484d>ňWEjTWέ}'ƾ΍t@?K: ~2WP ]`ޠD JWqJdv._ 5Ɏ/OFΪJȉ_Pl b&>d& Wk슥Il8Ft<:Bǀ֣MombOzC˰$-q>w)]꼏d9t3m~KPnL JVkPjU7مMOx#\=|alL5gK\ ,&j={-8飺@bsޜQ;@yY.𦤵YSV!C֝>81rC(>چa"\k S?`$KON%/[qU|2HkheTGJ)ɱghJp; +uqȻ|T&ĖV 2ZR.<>B3Cu`୺]Ԯ< +T@Oy TjN^{)Zs4R.c"6'ŕ(Vި6ax%%swmf~i1Ee٤-\&BԅE@Zy<^;pq|uQv+@  dĉk@*mad(ZCi&!pҬ \HnNܖKGeJQs g34\>m {M\,RPw>?C%tBIKf} h0n k@Q&-oJԼx?^ "qڨFpE,=X9^37.)9Æ2Tdn냪S^^IUs@ae Ӏi~6zl{]z^THNW"0\ʅ*sD{̐31k/0x,q d:!k?u(tO++uO :.~x ]͑Eok 9u`4i<ܪ$vWekcNQE,kFk?J7DbAC~b͛ 6p7npifm2W؂2 jS@78,2q{/X5>ݣ\ ~9O\eՃofQd*Xb 6t 2W\z~6o]߁aVeI~6uAc"7qw$Fr!\ ڻj /~wBYv(.hRz:gYl8xq$8Az Pd2Gg3aCA(9Ng; GN5#_=/ÄՍJsB({5ә 'N?hK\!>c{e6l@*UgXGJ)NϱJ @KId%ݦ=llD$Ց/#8;Bzˋυ!:[DU5 Qਟ-oCq{x(F8U21̨xI<.wXFo Ð7X>KT:"L;!Z"%$Y`t{i_,Vu3=OeNzOmyɆbRċ$$(fS?u=*kB8//HSV0u­Edw 0AF &]@9H|B|سF->\0+V+ʅ/0W-]e9x?u%=GsiN&᜘W3r?s@} ԖO/Χx|)|`TBN0Xǰ\:&y.k:eKS٬{|!CB<bP0N[yNW?]R>ќJP@XP"Yäw&e@^ŰࣀJQBLi5FhIՁ*]26$!ďE-QGú5_g S7N,źK>`su$!8-z(U]3)>eᣓ{N>^ޏ|j68s_B C nTu_>ߛ8GO:-,)ApĮVӧ"ê \ʃ:{EkRݿa1ܠJrȅ=s3UbfՏZ)I Ce` gb &zf=:EE8HΝd}}YB['bE\r/MtbLŰHvYn a-.%x| m4p [7ɇ*֞ʴd2J)ߊSe,)GPQMH]aI蠭Hbr{"άG*]FD/`wSIOa-G87%h*Oz3ًAVjm<y{ |u3 >7].m.+ ݑ&u"]$2i ԭ \(JhQAֳ-BNOXХ[b~JJ^A^t #FdbĹ&DO, aw뀶^JaѤ,D'1+\&KFeWkf[ ^hAc;P* e^ﲗNvOqrLlGm>;#Z[*&75fQq3`Eilu6ʟy$qT.ٹˠo(9Q"v 6j]q%cy XITBV]Q>dzi6I΄7sO {Xv)[3a9k:X2Wvi;%;֓Z2)߾熨LCbևZZBVdJJTt,Dr.[v^qPlE}4\Ŭ*L"~9NLI89 \"Y{0Ys"}\G1Ϩ,@d 6ŤZp^pwgK]N;"- M@ֶsֆͽE ˷<gqmKPccn'iCx7Z[ab̑̇0 Gt`^ߧEv9˜TYdEJ[Kَ `e< 4(9#OуjDv ~ E:~ ˋ1!oCGʴl9[qڽncepQn0.t (XJϪY{bAi8`| L5WTK.;+K԰j_N=1^ X!KNp{HGm}^Q:ᕹCYm|FſɖfvSD˲!LU{y&tib&39{,a1e:]QՉA1_k"Ġd9.BB=&1 KՊt t9׮wcKb),IK ,\>H=}<[^ȍ:?e꒕hc ~Tמ,@g2͖H`\ 1{g iV|h) /ԋf^~oJhtN bni&UZگ31Jna#J7NyNag*ȥh)Śg߆h $ApSaկ` 97 kBؔ`k {&l.SBq%]WH,& M_q20O+Dዲ.q]+( :^Dq^Ue|6QTGHdF;U{qضc^͊q@Sr-MVL#)F:Zp }M9JF~?X{+w*@n 53l |Z>]¥lnŁ*|oW=,FDu:,O8f=VDJ| gʞI7Ӎ;v>,n3ӥxF0fNXtD)m~wehFgfTL.IY kw$ f~@AfRi=k EɿXyƁ"Ց ԅLL!iE+Tqg}ZB[L0e9ߟdn΄rۜR2DLƤ;jro3U-r->8}|v_d <-a0W{bt*c'P`.L]jPn_78xԓ2 k`C#tj:xBaP5i3h_lm;XY1;mw㈱1/c_l*rw:5x\:W!r Hn=-Lʊ>K6(E+>xB>|Wځ{hgؖ5PUCNr?k;Y7*~yV9AMMy}jϮkbyeǐ*IZY0 H*%BOvW'v?^ C[G6jn:sr ;V*]Ry,GU*'h(мU,CGx+(+lMcH],Chr5]5LMv7YX:ъYm7oZDY8M~:P`i4 ܆ev7ؗxno"Tj<Ѽ/wB/VJTI$r-"4gB5PAF-Ƃy m_'VHӭoʚ䀯>ܓTVwc GϖPn=VOYRNy7E\O ij:I ܂G,wNԥ"n`tUIlo̵&fRZ׼}Y%Q̓'÷yg#HkFq0~c"{Vh.iV"5h}JuXޫOeZuRy])u?})OF7|1񥫬. }: ,fH?1. ?1s(W֙UG#q-PW7l"[mv7kXuW۟+&YXJ7r!/9Ä䖽Tl=h@W7:nXrQ<7 7}y4$J'H#xᖦMFLai)`#O{R;P -g1=fuYLjyZX.E"%ߝ@/\ G>mZ)Tļ``SoS|} d[] ^!FǫV`, i YZ