librpminspect-devel-1.5-1.el7> 6 6`d63!}|J^>j/5,d`] j/5,d庪;` zg2*Jf&qUbYL'.|UC7)R)ڏj@5 +Gɫ}=9 1bl -l#*6ɧhE!R" eB0\:fY6 [ZMuZ,'a[\L%'bX.3hEzY=&]$j)}="fRABP  :Pd;|X7/jQ2v-G'S AEN NesҼbtnAeSw(;e]ŝ{oA—t{%ڸg*F!zQ;e!E*vJ`9NJ_`hRq%*j/5,d`] j/5,d=Gr:g[^t\ aB 1g*Qy*9Dzs ;mϖE| ,\'# Hډ hcaYI1*ScܸCX/ޒHuf?֚o?kX{=KCUYlHcliikL4 15lѺEGl!"hhZ4?19lrkFXB -RrbK-~xP媿!Bfػ Yrl&[6mc+iMx HOس?ҽ؎4_Ɍt;ʬ"vw,>#Nj+f˻UĄ9 >3kH.A$fX92>MPņpHZ bOkSRJ;{η`v} On%K72AF: jh>:ܮ?ܞd  Y/ >Py         d     ,L |Y(8 9 : Gt Hؤ I XY\ ], ^b8deflt u$ vTw x< ylptClibrpminspect-devel1.51.el7Header files and development libraries for librpminspectThe header files and development library links required to build software using librpminspect.`buildhw-x86-16.iad2.fedoraproject.orgFedora ProjectFedora ProjectGPLv3+ and LGPLv2+ and ASL 2.0 and CC-BYFedora ProjectDevelopment/Toolshttps://github.com/rpminspect/rpminspectlinuxx86_64%qA4XaAA큤A큤``)`)`)`)`)`)`)`)```)76e5e6e1789ad2c02bd8a6874e0bd87281a3990f92ab5c29b99c92a88a6d05f3c2652ff3769ddcac6f3d8dff037965b2c9e26a5d4de50ae2dc4d458a1417e58c7c8a08b5bb62d7d1117e3ede91b616e676003009749dce89fea0bdaa38a6630a45ebfd72c565667829096eedfe42e3d2c1f94113b6e7d73fd4ea5f6f070f76d26f202a98136b957f233aeaccaad34e405502daeb614f6668d639a5e1134666f046a446f9cf354aa6eb5730214661bf232d5ab1985bbbcd2a2d08643189a7410800b8fbfb18834c6d52248cf3b64be1f81e8db2c35aa2bac8a4b7f6db56c726837de2d720a99e5123707a338e0f67abfe4e43d5967e5174e10000a8c3a740de86e3a994d82e644b03a792a930f574002658412f62407f5fee083f2555c5f23118librpminspect.so.0rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrpminspect-1.5-1.el7.src.rpmlibrpminspect-devellibrpminspect-devel(x86-64)@    librpminspect(x86-64)librpminspect.so.0()(64bit)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)1.5-1.el73.0.4-14.6.0-14.0-15.2-14.11.3`@`\{@`7@`7@`U_@_@_@_@_[fDavid 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- Begin work on version 1.5 - Use llabs() instead of labs() in the filesize inspection - Improve has invalid execstack flags reporting - Use long unsigned int to report size changes in patches - Fix some errors in the changedfiles inspection - Update the changedfiles test cases - Check DT_SONAME in is_elf_shared_library() - Skip debuginfo and debugsource files in abidiff - Make sure abidiff test cases add a DT_SONAME to the test lib - Report INFO level for patches findings by default - Python black fixes in test/test_abidiff.py - Update the test/test_patches.py cases for patches changes - Generate regular changelog in utils/srpm.h - Skip branches without targets in submit-koji-builds.sh - Fedora and CentOS systems in ci need diffstat - opensuse-leap CI job requires diffstat - Fix the Debian CI jobs in GitHub Actions - Fix and enable the Ubuntu extra-ci job in GitHub Actions - Use pip instead of pip3 for the Ubuntu command - Use apt-get -y install in - Enable the opensuse-tumbleweed GHA job again - Make sure the Gentoo GHA job has diffstat - Get the Arch Linux GHA job working again - Use ubuntu:latest for the ubuntu GHA image - Simplify the utils/determine-os.sh script - Update license table in README.md - Allow any number of builds specified for fetch only mode - Handle old or broken versions of libmagic in changedfiles - Update GitHub Action status badges in README.md - Fix $(OS) check in the Makefile - Fix the ubuntu GitHub Actions extra-ci job - Make sure the centos8 job has git available before cloning - Change strappend() to work as a variadic function - Use json_tokener_parse_ex() to get better error reporting - Fix reading of the javabytecode block in the config file - Catch missing/losing -fPIC correctly on .a ELF objects (#352) - Refactor elf_archive_tests() and its helper functions - Followup fix for find_no_pic, find_pic, and find_all - Install cpp-coveralls using pacman on Arch Linux - Install cpp-coveralls using pip on Arch Linux - Install cpp-coveralls in pre.sh on Arch Linux - Install required Python modules in pre.sh on Arch Linux - Do not upgrade pip on Arch Linux, go back to using pip.txt - Drop DEBUG_PRINT from source generated by pic_bits.sh - Do not run apt-get update as a second time on Debians systems - The lost PIC tests need to invoke gcc with -fno-PIC - Update the OpenSUSE Tumbleweed files, but disable it anyway - Define inspection_ignores in struct rpminspect - Clean up the config file section reading code - Add add_ignore() to init.c - Fix fetch only mode download directory - Stub out libcurl download progress callback function - Perform symbolic owner and group matching in ownership (#364) - Restrict download_progress() to systems with CURLOPT_XFERINFOFUNCTION - Read per-inspection ignore lists from the config file. - Add commented out per-inspection ignore blocks - Implement per-inspection path ignore support (#351) - Report annocheck failures correctly in librpminspect. - Note all regular expression settings use regex(7) syntax - Allow size_threshold: info in the config file (#261) - Check ignore list in files for path prefixes to ignore (#360) - Support a list of expected empty RPMs in the config file (#355) - Call mparse_reset() before mparse_readfd() - Do not crash with the -c option specifies a non-existent file - Update TODO list - Make sure brp-compress is disabled in test_manpage.py - Require/Recommend /usr/bin/annocheck - Note size_threshold can be the keyword info - Ensure ctxt->lastError.message is not NULL before strdup (#382) - Handle corrupt compressed files in changedfiles (#382) - Disable debugging output for the ignore lists in init.c - Drop debugging output in the xml inspection - Remove what working directories we can - Correctly find icons for desktop files in subpackages (#367) - Followup to the Icon= check in the desktop inspection (#367) - BuildRequires libmandoc-devel >= 1.14.5 - Manually install mandoc on centos7 for now- Start work on the 1.4 release - Trim git commit summary prefix from changelog lines - Report the program version number in the results (#309) - Handle compressed but otherwise empty man pages (#308) - Flake8 fixes for test_manpage.py - s/self.rpm/self.after_rpm/ in two test_manpage.py tests - Disable broken ELF heurisitic and size limit in libclamav - Modify dump_cfg() to write valid YAML to stdout (#306) - Migrate more code off hsearch and to uthash - Replace hsearch() with uthash in the kmod inspection - Update TEST_METADATA status in TODO and MISSING - Restrict style checks to specific directories - Replace hsearch() with uthash in the abidiff inspection - Change tsearch/twalk use to uthash - Correct misuse of entry with hentry variables (#321) - Normalize copyright boilerplates in source files - Use hentry->key over hentry->value in pathmigration - Adjust lib/meson.build for Fedora rawhide - Drop gate.yml and begin non-x86_64 arches in ci.yml - Add armv7, aarch64, and s390x to the other_arches job - Change init.c error reporting over to err/warn functions - Modify file triggers and matrix use in ci.yml - Split 32-bit osdeps out to post.sh scripts in osdeps/ - Split style.yml in to shellcheck.yml and python.yml - Rewrite extra-ci.yml to use the matrix strategy method for GHA - Move the emulated CI jobs to extra-ci.yml - s/pkg/pki/ for the centos jobs - Debian and Ubuntu fixes for CI - Python pip on Debian is called pip - Try to fix just debian:stable - Enable debian:testing in extra-ci.yml - Enable centos8 in extra-ci.yml again - Enable centos7 in extra-ci.yml again - Enable opensuse-leap and gentoo in extra-ci.yml again - Run each test script individually on emulated targets - Try a different syntax for the emulated matrix jobs - Install s390 glibc headers on s390x fedora systems - Detect 32-bit and musl presence in test_elf.py - Skip lost -fPIC tests if gcc lacks -m32 support - Add stretch and buster to the emulated targets list - Drop Debian buster from the emulated targets - Install gcc-multilib only on Debian x86_64 and s390x systems - libc-dev:i386 -> libc6-dev:i386 - Disable Debian targets in extra-ci temporarily - s/AUR/git/g in osdeps/arch/post.sh - In read_cfgfile(), keep track of block depth correctly (#329) - A few more yaml parsing fixes for block vs group - Recommend or Require libabigail >= 1.8.2 - Finish normalizing all the error reporting statements - Advertise of rpminspect-report in the contrib README. - Report libclamav version and CVD versions (#258) - Ensure first argument of warn(3) is a format string. - Enable werror=true and warning_level=3 in default_options - Update the translation template file - Get rid of invalid free() in get_product_release() - Add inspection_id() to librpminspect - Update the po/rpminspect.pot template - Improve mkannounce.sh to handle stable and devel releases- Remove duplicate elf_end() call in init_elf_data() (#303) - Update translation template- Small change to the way Koji builds are submitted - Move the master branch to version 1.3 - Drop DEBUG_PRINT in process_table() - Add doc/git.md to explain source control conventions - Change Suggests to Recommends in the spec file - Add kmidiff and politics to the inspections section of generic.yaml - Update TODO list - Use warn() for non-fatal errors in mkdirp() - Require libabigail >= 1.8 in rpminspect.spec.in - Enable multiple --headers-dir1 and --headers-dir2 args in abidiff - Swap out some more fprintf()/fflush() reporting with warn() - #include in peers.c and rmtree.c - On fedora-rawhide CI jobs, install gcc-c++ and gcc-plugin-devel - Disable fedora-rawhide GitHub Action for now - Correctly handle the -w option on rpminspect(1) (#256) - Drop the relative path handling for the -w option - Build and install rc from source on opensuse-leap - Update doc/git.md on how to track upstream - Add .github/ and osdeps/ directories to extra-ci.yml - Build and install rc from source on opensuse-tumbleweed - Adjust curl(1) command line used for rc in opensuse CI jobs - Trying to figure out why the opensuse jobs produce curl errors - Another slight change to post.sh for the opensuse-leap CI job - s/PowerTools/powertools/g in the centos8 PKG_CMD definition - The output of html2text on opensuse systems is different - Rename HEADER_MAN to HEADER_MANPAGE (#264) - Add inspection_header_to_desc() to librpminspect (#264) - Add xunit output format support (#264) - Support the new output function call syntax (#264) - Move init_elf_data() to readelf.c, move data to struct rpminspect - Update inspect_elf.c unit tests for librpminspect changes - Remove check_ipv6() from inspect_elf.c - Create the badfuncs inspection - Update po/ translation files. - Add badfuncs test cases - Forgot to commit test_badfuncs.py. - Fix flake8 and black errors with test_badfuncs.py - Skip debug packages in filesize, display changes correctly - Fix spurious execstack failure - Fix YAML config file reading for BLOCK_INSPECTIONS - Expand dump_config() to cover all config file settings - Minor spelling fixes in strfuncs.c and making code explicit - Simplify list_to_string() so it handles 1-elements lists right - Add abspath() to canonicalize path strings - In the doc inspection, only show diff(1) output for text files (#254) - Add strxmlescape() to strfuncs.c in librpminspect (#264) - Output the system-out xunit portion as CDATA (#264) - Slightly change how strxmlescape() works - Add the runpath inspection to librpminspect - Rename test/data/lto.c to test/data/mathlib.c - Handle the empty string case in abspath() - Expand dump_cfg() to show runpath settings - Fix block handling problems in the YAML config reader - Note single builds cannot be rebases in is_rebase() - Hook up the driver for the runpath inspection - Install patchelf for tests on fedora and centos - Update TODO and README.md files - Pass -D to rpminspect in the test suite - Add integration tests for the runpath inspection - Python flake8 and black fixes in test_runpath.py - Fixes for GitHub Actions on Debian and Ubuntu - Disable Rust support in pip modules, more extra-ci fixes - Update pip and setuptools on debian and ubuntu CI jobs - Make sure pip is updated on debian, centos7, and centos8 - Fixes for extra-ci on arch, centos7, centos8, and debian - Adjust docker image names for opensuse and arch - Add Gentoo Linux to the Extra CI set - extra-ci.yml typo fix for the gentoo job - Use gentoo/stage3 as the container for the gentoo CI job - Disable opensuse-tumbleweed and archlinux CI jobs - Make sure util/determine-os.sh picks up Gentoo Linux - In the runpath inspection, fail if DT_RPATH and DT_RUNPATH exist - Use pip install for PIP_CMD on gentoo - Set PIP_CMD to pip install -user for gentoo - Handle a NULL from list_to_string() in abspath() - Do not match path prefixes in the runpath inspection - Python black fixes for test_runpath.py - Stop doing an emerge --sync on the gentoo CI job - Replace emerge --sync with a manual portage sync - Use emerge-webrsync to update portage on gentoo - Add uthash and move the file matching code to it. - Typo fix in README.md - Fix some memory leaks found by valgrind - Create mkannounce.sh to help make release announcements easier - shellcheck fixes for mkannounce.sh- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild- For BUILDTYPE=release, generate the correct type of changelog - Minor logic error in submit-koji-builds.sh - Fix reading existing spec file in submit-koji-builds.sh - Bump development build version to 1.2 - Use is_rebase() in the 'upstream' inspection - Use rpmtdSetIndex() and rpmtdGetString() in get_header_value() - Add get_rpmtag_fileflags() to files.c and call from extract_rpm() - Use correct Version and Release values in download_build() - #include -> #include - Add the 'config' inspection to librpminspect - Rephrase reporting messages in the 'config' inspection - Add the 'doc' inspection to librpminspect - Update TODO list - Minor updates to try and make gate.sh more reliable - Add config and doc to the inspections list in generic.yaml - Rename the '%files' inspection to 'files' (#194) - Modify baseclass.py to allow 'before' and 'after' NVR tuples - Use the after tuple to override the NVR in test_abidiff.py - Use the after tuple to override the NVR in test_upstream.py - Write rpminspect output to a file in the test suite - Add 28 test cases for the 'config' inspection - Fix the errors in the 'config' inspection found by the test suite - Fix Python problems in the test suite reported by black and flake8 - Add Makefile targets for black and flake8 - One more formatting issue reporting by Python black in test_config.py - More 'python black' formatting errors reported for test_config.py - https://mandoc.bsd.lv -> http://mandoc.bsd.lv - Add a -D/--dump-config option to rpminspect(1) - Use global reported variable in 'config' inspection - Fix reporting errors in the 'doc' inspection - Add test_doc.py with 'doc' inspection test cases - Ignore flake8 W291 in test_doc.py where we explicitly want whitepsace. - Add init_rebaseable() to librpminspect - Check the rebaseable list in is_rebase() in librpminspect - Update TODO list - Define a new GitHub Action using utils/gate.sh - Update the README.md file - shellcheck fixes for utils/gate.sh - Use utils/find-ninja.sh to determine what ninja-build command to use - Install fedora-packager for the gate.yml GitHub Action - Remove before and after variables from gate.sh; unused - Remove unnecessary basename() calls in inspect_upstream.c - Do not assume an or bn contain strings in is_rebase() (#196) - Adjust what things run during with GitHub Actions - Add get_rpm_header_string_array() to librpminspect - Replace init_source() with get_rpm_header_string_array() in inspect_upstream.c - free() allocated output string in inspect_changelog.c on errors - s/10240/16384/ in archive_read_open_filename() call in unpack.c - Add the 'patches' inspection to librpminspect - Add uncompress_file() to librpminspect - Add filecmp() and use that in place of zcmp/bzcmp/xzcmp - README.md updates - Restrict some GitHub Actions to source code and test suite changes. - Only enable lz4 compression if ARCHIVE_FILTER_LZ4 is defined - Go ahead and wrap the rest of the libarchive compression filters - s/class Test/class /g - Make sure uncompress_file() supports xz compression - Handle more compressed file MIME types. - Add test_changedfiles.py to the test suite. - Add test_patches.py with test cases for the 'patches' inspection - flake8 fixes in the test suite - Python format fixes for test_changedfiles.py - Python format fixes in test_patches.py - More Python format fixes for test_patches.py - Remove unnecessary 'a' in DESC_PATCHES - Better explanation as to why the EmptyLicenseTag tests are skipped. - Test suite cleanup; add rebase= and same= to TestCompareSRPM - Black formatting fixes for the test suite. - Remove unused imports in test_upstream.py - Revert black fixes for test_config.py - Fix my email address in test suite source files. - Support single package URLs for before and after builds (#190) - Handle invalid/missing RPMs in get_product_release() - Use warnx(), errx(), and err() in src/rpminspect.c - Modify submit-koji-builds.sh to pick up all pkg-git branches. - Update the rpminspect.1 man page to reflect current status. - Update translation template files in po/ - Support relative directory paths for the -w option (#188) - Implement the 'virus' inspection and add test cases for it. - Update po/ template files - Python formatting fixes for test_virus.py - Update the osdeps/*/reqs.txt files. - More osdeps updates for the clamav needs - Install 'xz' for the 'style' GitHub Action - Fix a variety of small memory leaks in librpminspect - Stop the freshclam service for the Ubuntu gate job - Support slightly older versions of libclamav in inspect_virus.c - Add the 'politics' inspection to librpminspect. - In tearDown() in the test suite, call rpmfluff clean() methods - Add test_politics.py with 'politics' inspection test cases - Python black format fixes for test_politics.py - 'it should added' -> 'it should be added' - Increase the runtime timeout for test_virus.py - Install the timeout decorator on all OSes in our GitHub Actions - Install timeout-decorator with pip, not timeout - Expand librpminspect with support for SHA-224, SHA-384, and SHA-512 - Define DEFAULT_MESSAGE_DIGEST in constants.h and use that. - Replace some fprintf()/fflush() calls with warn()/warnx() calls - Rename the 'DT_NEEDED' inspection to 'dsodeps' - Rename 'LTO' inspection to 'lto' - Update translation template and fix two incorrect error strings. - Note all valid message digests in data/politics/GENERIC - Improve reporting in the patches inspection - Only fail 'changedfiles' for VERIFY and higher results - If 'removedfiles' only reports INFO messages, pass the inspection - If 'addedfiles' only reports INFO results, pass the inspection - If 'patches' only reports INFO results, pass the inspection - No need to check value of allowed in permissions_driver() - Do not let INFO results fail the 'doc' inspection. - Do not let all INFO results in 'upstream' fail the inspection - Fix RPMFILE_FLAGS handling for %config files (#221) - Still report file changes in the 'config' inspection for rebases - Correctly check RPMFILE_DOC flags in the 'doc' inspection - Include rpm/rpmfi.h insted of rpm/rpmfiles.h - Only check regular files and symlinks in the 'doc' inspection - Remove unnecessary assert() statements in filecmp() - Remove incorrect warnx() reportings based on filecmp() return value - Exclude man pages from the 'doc' inspection - Honor the -a command line option for downloads as well as runtime (#233) - Allow optional 'commands' block in the config file - Fix assorted non-critical memory leaks - Remove unnecessary warn() after a failed stat() - Additional memory fixes for the abidiff inspection (#244) - Free ELF symbol names list in find_lto_symbols() before return - Followup to the memory fixes for read_abi() and free_abi() - Prevent invalid pointer dereferencing in invalid result in 'patches' (#245) - Avoid reusing the same abi_pkg_entry_t struct in read_abi() - Allow a set of excluded path prefixes in 'pathmigration' - Fix the YAML parsing for the pathmigration block - Document the BRANCHES variable for 'make koji' - Include the .asc file when submitting new Koji builds (#191) - Include the .asc file in the spec file- For BUILDTYPE=release, generate the correct type of changelog - Minor logic error in submit-koji-builds.sh - Fix reading existing spec file in submit-koji-builds.sh - Bump development build version to 1.2 - Use is_rebase() in the 'upstream' inspection - Use rpmtdSetIndex() and rpmtdGetString() in get_header_value() - Add get_rpmtag_fileflags() to files.c and call from extract_rpm() - Use correct Version and Release values in download_build() - #include -> #include - Add the 'config' inspection to librpminspect - Rephrase reporting messages in the 'config' inspection - Add the 'doc' inspection to librpminspect - Update TODO list - Minor updates to try and make gate.sh more reliable - Add config and doc to the inspections list in generic.yaml - Rename the '%files' inspection to 'files' (#194) - Modify baseclass.py to allow 'before' and 'after' NVR tuples - Use the after tuple to override the NVR in test_abidiff.py - Use the after tuple to override the NVR in test_upstream.py - Write rpminspect output to a file in the test suite - Add 28 test cases for the 'config' inspection - Fix the errors in the 'config' inspection found by the test suite - Fix Python problems in the test suite reported by black and flake8 - Add Makefile targets for black and flake8 - One more formatting issue reporting by Python black in test_config.py - More 'python black' formatting errors reported for test_config.py - https://mandoc.bsd.lv -> http://mandoc.bsd.lv - Add a -D/--dump-config option to rpminspect(1) - Use global reported variable in 'config' inspection - Fix reporting errors in the 'doc' inspection - Add test_doc.py with 'doc' inspection test cases - Ignore flake8 W291 in test_doc.py where we explicitly want whitepsace. - Add init_rebaseable() to librpminspect - Check the rebaseable list in is_rebase() in librpminspect - Update TODO list - Define a new GitHub Action using utils/gate.sh - Update the README.md file - shellcheck fixes for utils/gate.sh - Use utils/find-ninja.sh to determine what ninja-build command to use - Install fedora-packager for the gate.yml GitHub Action - Remove before and after variables from gate.sh; unused - Remove unnecessary basename() calls in inspect_upstream.c - Do not assume an or bn contain strings in is_rebase() (#196) - Adjust what things run during with GitHub Actions - Add get_rpm_header_string_array() to librpminspect - Replace init_source() with get_rpm_header_string_array() in inspect_upstream.c - free() allocated output string in inspect_changelog.c on errors - s/10240/16384/ in archive_read_open_filename() call in unpack.c - Add the 'patches' inspection to librpminspect - Add uncompress_file() to librpminspect - Add filecmp() and use that in place of zcmp/bzcmp/xzcmp - README.md updates - Restrict some GitHub Actions to source code and test suite changes. - Only enable lz4 compression if ARCHIVE_FILTER_LZ4 is defined - Go ahead and wrap the rest of the libarchive compression filters - s/class Test/class /g - Make sure uncompress_file() supports xz compression - Handle more compressed file MIME types. - Add test_changedfiles.py to the test suite. - Add test_patches.py with test cases for the 'patches' inspection - flake8 fixes in the test suite - Python format fixes for test_changedfiles.py - Python format fixes in test_patches.py - More Python format fixes for test_patches.py - Remove unnecessary 'a' in DESC_PATCHES - Better explanation as to why the EmptyLicenseTag tests are skipped. - Test suite cleanup; add rebase= and same= to TestCompareSRPM - Black formatting fixes for the test suite. - Remove unused imports in test_upstream.py - Revert black fixes for test_config.py - Fix my email address in test suite source files. - Support single package URLs for before and after builds (#190) - Handle invalid/missing RPMs in get_product_release() - Use warnx(), errx(), and err() in src/rpminspect.c - Modify submit-koji-builds.sh to pick up all pkg-git branches. - Update the rpminspect.1 man page to reflect current status. - Update translation template files in po/ - Support relative directory paths for the -w option (#188) - Implement the 'virus' inspection and add test cases for it. - Update po/ template files - Python formatting fixes for test_virus.py - Update the osdeps/*/reqs.txt files. - More osdeps updates for the clamav needs - Install 'xz' for the 'style' GitHub Action - Fix a variety of small memory leaks in librpminspect - Stop the freshclam service for the Ubuntu gate job - Support slightly older versions of libclamav in inspect_virus.c - Add the 'politics' inspection to librpminspect. - In tearDown() in the test suite, call rpmfluff clean() methods - Add test_politics.py with 'politics' inspection test cases - Python black format fixes for test_politics.py - 'it should added' -> 'it should be added' - Increase the runtime timeout for test_virus.py - Install the timeout decorator on all OSes in our GitHub Actions - Install timeout-decorator with pip, not timeout - Expand librpminspect with support for SHA-224, SHA-384, and SHA-512 - Define DEFAULT_MESSAGE_DIGEST in constants.h and use that. - Replace some fprintf()/fflush() calls with warn()/warnx() calls - Rename the 'DT_NEEDED' inspection to 'dsodeps' - Rename 'LTO' inspection to 'lto' - Update translation template and fix two incorrect error strings. - Note all valid message digests in data/politics/GENERIC - Improve reporting in the patches inspection - Only fail 'changedfiles' for VERIFY and higher results - If 'removedfiles' only reports INFO messages, pass the inspection - If 'addedfiles' only reports INFO results, pass the inspection - If 'patches' only reports INFO results, pass the inspection - No need to check value of allowed in permissions_driver() - Do not let INFO results fail the 'doc' inspection. - Do not let all INFO results in 'upstream' fail the inspection - Fix RPMFILE_FLAGS handling for %config files (#221) - Still report file changes in the 'config' inspection for rebases - Correctly check RPMFILE_DOC flags in the 'doc' inspection - Include rpm/rpmfi.h insted of rpm/rpmfiles.h - Only check regular files and symlinks in the 'doc' inspection - Remove unnecessary assert() statements in filecmp() - Remove incorrect warnx() reportings based on filecmp() return value - Exclude man pages from the 'doc' inspection - Honor the -a command line option for downloads as well as runtime (#233) - Allow optional 'commands' block in the config file - Fix assorted non-critical memory leaks - Remove unnecessary warn() after a failed stat() - Additional memory fixes for the abidiff inspection (#244) - Free ELF symbol names list in find_lto_symbols() before return - Followup to the memory fixes for read_abi() and free_abi() - Prevent invalid pointer dereferencing in invalid result in 'patches' (#245) - Avoid reusing the same abi_pkg_entry_t struct in read_abi() - Allow a set of excluded path prefixes in 'pathmigration' - Fix the YAML parsing for the pathmigration block - Document the BRANCHES variable for 'make koji' - Include the .asc file when submitting new Koji builds (#191) - Include the .asc file in the spec file- For BUILDTYPE=release, generate the correct type of changelog - Minor logic error in submit-koji-builds.sh - Fix reading existing spec file in submit-koji-builds.sh - Bump development build version to 1.2 - Use is_rebase() in the 'upstream' inspection - Use rpmtdSetIndex() and rpmtdGetString() in get_header_value() - Add get_rpmtag_fileflags() to files.c and call from extract_rpm() - Use correct Version and Release values in download_build() - #include -> #include - Add the 'config' inspection to librpminspect - Rephrase reporting messages in the 'config' inspection - Add the 'doc' inspection to librpminspect - Update TODO list - Minor updates to try and make gate.sh more reliable - Add config and doc to the inspections list in generic.yaml - Rename the '%files' inspection to 'files' (#194) - Modify baseclass.py to allow 'before' and 'after' NVR tuples - Use the after tuple to override the NVR in test_abidiff.py - Use the after tuple to override the NVR in test_upstream.py - Write rpminspect output to a file in the test suite - Add 28 test cases for the 'config' inspection - Fix the errors in the 'config' inspection found by the test suite - Fix Python problems in the test suite reported by black and flake8 - Add Makefile targets for black and flake8 - One more formatting issue reporting by Python black in test_config.py - More 'python black' formatting errors reported for test_config.py - https://mandoc.bsd.lv -> http://mandoc.bsd.lv - Add a -D/--dump-config option to rpminspect(1) - Use global reported variable in 'config' inspection - Fix reporting errors in the 'doc' inspection - Add test_doc.py with 'doc' inspection test cases - Ignore flake8 W291 in test_doc.py where we explicitly want whitepsace. - Add init_rebaseable() to librpminspect - Check the rebaseable list in is_rebase() in librpminspect - Update TODO list - Define a new GitHub Action using utils/gate.sh - Update the README.md file - shellcheck fixes for utils/gate.sh - Use utils/find-ninja.sh to determine what ninja-build command to use - Install fedora-packager for the gate.yml GitHub Action - Remove before and after variables from gate.sh; unused - Remove unnecessary basename() calls in inspect_upstream.c - Do not assume an or bn contain strings in is_rebase() (#196) - Adjust what things run during with GitHub Actions - Add get_rpm_header_string_array() to librpminspect - Replace init_source() with get_rpm_header_string_array() in inspect_upstream.c - free() allocated output string in inspect_changelog.c on errors - s/10240/16384/ in archive_read_open_filename() call in unpack.c - Add the 'patches' inspection to librpminspect - Add uncompress_file() to librpminspect - Add filecmp() and use that in place of zcmp/bzcmp/xzcmp - README.md updates - Restrict some GitHub Actions to source code and test suite changes. - Only enable lz4 compression if ARCHIVE_FILTER_LZ4 is defined - Go ahead and wrap the rest of the libarchive compression filters - s/class Test/class /g - Make sure uncompress_file() supports xz compression - Handle more compressed file MIME types. - Add test_changedfiles.py to the test suite. - Add test_patches.py with test cases for the 'patches' inspection - flake8 fixes in the test suite - Python format fixes for test_changedfiles.py - Python format fixes in test_patches.py - More Python format fixes for test_patches.py - Remove unnecessary 'a' in DESC_PATCHES - Better explanation as to why the EmptyLicenseTag tests are skipped. - Test suite cleanup; add rebase= and same= to TestCompareSRPM - Black formatting fixes for the test suite. - Remove unused imports in test_upstream.py - Revert black fixes for test_config.py - Fix my email address in test suite source files. - Support single package URLs for before and after builds (#190) - Handle invalid/missing RPMs in get_product_release() - Use warnx(), errx(), and err() in src/rpminspect.c - Modify submit-koji-builds.sh to pick up all pkg-git branches. - Update the rpminspect.1 man page to reflect current status. - Update translation template files in po/ - Support relative directory paths for the -w option (#188) - Implement the 'virus' inspection and add test cases for it. - Update po/ template files - Python formatting fixes for test_virus.py - Update the osdeps/*/reqs.txt files. - More osdeps updates for the clamav needs - Install 'xz' for the 'style' GitHub Action - Fix a variety of small memory leaks in librpminspect - Stop the freshclam service for the Ubuntu gate job - Support slightly older versions of libclamav in inspect_virus.c - Add the 'politics' inspection to librpminspect. - In tearDown() in the test suite, call rpmfluff clean() methods - Add test_politics.py with 'politics' inspection test cases - Python black format fixes for test_politics.py - 'it should added' -> 'it should be added' - Increase the runtime timeout for test_virus.py - Install the timeout decorator on all OSes in our GitHub Actions - Install timeout-decorator with pip, not timeout - Expand librpminspect with support for SHA-224, SHA-384, and SHA-512 - Define DEFAULT_MESSAGE_DIGEST in constants.h and use that. - Replace some fprintf()/fflush() calls with warn()/warnx() calls - Rename the 'DT_NEEDED' inspection to 'dsodeps' - Rename 'LTO' inspection to 'lto' - Update translation template and fix two incorrect error strings. - Note all valid message digests in data/politics/GENERIC - Improve reporting in the patches inspection - Only fail 'changedfiles' for VERIFY and higher results - If 'removedfiles' only reports INFO messages, pass the inspection - If 'addedfiles' only reports INFO results, pass the inspection - If 'patches' only reports INFO results, pass the inspection - No need to check value of allowed in permissions_driver() - Do not let INFO results fail the 'doc' inspection. - Do not let all INFO results in 'upstream' fail the inspection - Fix RPMFILE_FLAGS handling for %config files (#221) - Still report file changes in the 'config' inspection for rebases - Correctly check RPMFILE_DOC flags in the 'doc' inspection - Include rpm/rpmfi.h insted of rpm/rpmfiles.h - Only check regular files and symlinks in the 'doc' inspection - Remove unnecessary assert() statements in filecmp() - Remove incorrect warnx() reportings based on filecmp() return value - Exclude man pages from the 'doc' inspection - Honor the -a command line option for downloads as well as runtime (#233) - Allow optional 'commands' block in the config file - Fix assorted non-critical memory leaks - Remove unnecessary warn() after a failed stat() - Additional memory fixes for the abidiff inspection (#244) - Free ELF symbol names list in find_lto_symbols() before return - Followup to the memory fixes for read_abi() and free_abi() - Prevent invalid pointer dereferencing in invalid result in 'patches' (#245) - Avoid reusing the same abi_pkg_entry_t struct in read_abi() - Allow a set of excluded path prefixes in 'pathmigration' - Fix the YAML parsing for the pathmigration block - Document the BRANCHES variable for 'make koji' - Include the .asc file when submitting new Koji builds (#191) - Include the .asc file in the spec file- For BUILDTYPE=release, generate the correct type of changelog - Minor logic error in submit-koji-builds.sh - Fix reading existing spec file in submit-koji-builds.sh - Bump development build version to 1.2 - Use is_rebase() in the 'upstream' inspection - Use rpmtdSetIndex() and rpmtdGetString() in get_header_value() - Add get_rpmtag_fileflags() to files.c and call from extract_rpm() - Use correct Version and Release values in download_build() - #include -> #include - Add the 'config' inspection to librpminspect - Rephrase reporting messages in the 'config' inspection - Add the 'doc' inspection to librpminspect - Update TODO list - Minor updates to try and make gate.sh more reliable - Add config and doc to the inspections list in generic.yaml - Rename the '%files' inspection to 'files' (#194) - Modify baseclass.py to allow 'before' and 'after' NVR tuples - Use the after tuple to override the NVR in test_abidiff.py - Use the after tuple to override the NVR in test_upstream.py - Write rpminspect output to a file in the test suite - Add 28 test cases for the 'config' inspection - Fix the errors in the 'config' inspection found by the test suite - Fix Python problems in the test suite reported by black and flake8 - Add Makefile targets for black and flake8 - One more formatting issue reporting by Python black in test_config.py - More 'python black' formatting errors reported for test_config.py - https://mandoc.bsd.lv -> http://mandoc.bsd.lv - Add a -D/--dump-config option to rpminspect(1) - Use global reported variable in 'config' inspection - Fix reporting errors in the 'doc' inspection - Add test_doc.py with 'doc' inspection test cases - Ignore flake8 W291 in test_doc.py where we explicitly want whitepsace. - Add init_rebaseable() to librpminspect - Check the rebaseable list in is_rebase() in librpminspect - Update TODO list - Define a new GitHub Action using utils/gate.sh - Update the README.md file - shellcheck fixes for utils/gate.sh - Use utils/find-ninja.sh to determine what ninja-build command to use - Install fedora-packager for the gate.yml GitHub Action - Remove before and after variables from gate.sh; unused - Remove unnecessary basename() calls in inspect_upstream.c - Do not assume an or bn contain strings in is_rebase() (#196) - Adjust what things run during with GitHub Actions - Add get_rpm_header_string_array() to librpminspect - Replace init_source() with get_rpm_header_string_array() in inspect_upstream.c - free() allocated output string in inspect_changelog.c on errors - s/10240/16384/ in archive_read_open_filename() call in unpack.c - Add the 'patches' inspection to librpminspect - Add uncompress_file() to librpminspect - Add filecmp() and use that in place of zcmp/bzcmp/xzcmp - README.md updates - Restrict some GitHub Actions to source code and test suite changes. - Only enable lz4 compression if ARCHIVE_FILTER_LZ4 is defined - Go ahead and wrap the rest of the libarchive compression filters - s/class Test/class /g - Make sure uncompress_file() supports xz compression - Handle more compressed file MIME types. - Add test_changedfiles.py to the test suite. - Add test_patches.py with test cases for the 'patches' inspection - flake8 fixes in the test suite - Python format fixes for test_changedfiles.py - Python format fixes in test_patches.py - More Python format fixes for test_patches.py - Remove unnecessary 'a' in DESC_PATCHES - Better explanation as to why the EmptyLicenseTag tests are skipped. - Test suite cleanup; add rebase= and same= to TestCompareSRPM - Black formatting fixes for the test suite. - Remove unused imports in test_upstream.py - Revert black fixes for test_config.py - Fix my email address in test suite source files. - Support single package URLs for before and after builds (#190) - Handle invalid/missing RPMs in get_product_release() - Use warnx(), errx(), and err() in src/rpminspect.c - Modify submit-koji-builds.sh to pick up all pkg-git branches. - Update the rpminspect.1 man page to reflect current status. - Update translation template files in po/ - Support relative directory paths for the -w option (#188) - Implement the 'virus' inspection and add test cases for it. - Update po/ template files - Python formatting fixes for test_virus.py - Update the osdeps/*/reqs.txt files. - More osdeps updates for the clamav needs - Install 'xz' for the 'style' GitHub Action - Fix a variety of small memory leaks in librpminspect - Stop the freshclam service for the Ubuntu gate job - Support slightly older versions of libclamav in inspect_virus.c - Add the 'politics' inspection to librpminspect. - In tearDown() in the test suite, call rpmfluff clean() methods - Add test_politics.py with 'politics' inspection test cases - Python black format fixes for test_politics.py - 'it should added' -> 'it should be added' - Increase the runtime timeout for test_virus.py - Install the timeout decorator on all OSes in our GitHub Actions - Install timeout-decorator with pip, not timeout - Expand librpminspect with support for SHA-224, SHA-384, and SHA-512 - Define DEFAULT_MESSAGE_DIGEST in constants.h and use that. - Replace some fprintf()/fflush() calls with warn()/warnx() calls - Rename the 'DT_NEEDED' inspection to 'dsodeps' - Rename 'LTO' inspection to 'lto' - Update translation template and fix two incorrect error strings. - Note all valid message digests in data/politics/GENERIC - Improve reporting in the patches inspection - Only fail 'changedfiles' for VERIFY and higher results - If 'removedfiles' only reports INFO messages, pass the inspection - If 'addedfiles' only reports INFO results, pass the inspection - If 'patches' only reports INFO results, pass the inspection - No need to check value of allowed in permissions_driver() - Do not let INFO results fail the 'doc' inspection. - Do not let all INFO results in 'upstream' fail the inspection - Fix RPMFILE_FLAGS handling for %config files (#221) - Still report file changes in the 'config' inspection for rebases - Correctly check RPMFILE_DOC flags in the 'doc' inspection - Include rpm/rpmfi.h insted of rpm/rpmfiles.h - Only check regular files and symlinks in the 'doc' inspection - Remove unnecessary assert() statements in filecmp() - Remove incorrect warnx() reportings based on filecmp() return value - Exclude man pages from the 'doc' inspection - Honor the -a command line option for downloads as well as runtime (#233) - Allow optional 'commands' block in the config file - Fix assorted non-critical memory leaks - Remove unnecessary warn() after a failed stat() - Additional memory fixes for the abidiff inspection (#244) - Free ELF symbol names list in find_lto_symbols() before return - Followup to the memory fixes for read_abi() and free_abi() - Prevent invalid pointer dereferencing in invalid result in 'patches' (#245) - Avoid reusing the same abi_pkg_entry_t struct in read_abi() - Allow a set of excluded path prefixes in 'pathmigration' - Fix the YAML parsing for the pathmigration block - Document the BRANCHES variable for 'make koji' - Include the .asc file when submitting new Koji builds (#191) - Include the .asc file in the spec file- Formatting fixes in Makefile help output - Begin config file restructuring starting with rpminspect-data-generic - Support multiple configuration files. - Docs work in progress. - Only fail the annocheck inspection for RESULT_VERIFY. - Read debuginfo if available when running the 'annocheck' inspection. - Add the '%files' inspection to librpminspect - Add __attribute__((__sentinel__)) to the run_cmd() prototype - Add test suite cases for the '%files' inspection. - Added the 'types' inspection to compare MIME types between builds. - Update TODO file - Update the MISSING file - s/rpminspect.yaml/generic.yaml/ in the Makefile and README - Skip debuginfo and debugsource packages in the 'types' inspection - Add test_types.py to the test suite - Note the 'types' inspection generic.yaml - Modify add_entry() in init.c to skip duplicate entries - Start GitHub Action workflow files for rpminspect. - Install meson in ci-ubuntu.yml - Change 'nls' option in meson_options.txt to a boolean - Install gettext for ci-ubuntu - Add more build dependencies to ci-ubuntu.yml - Drop the 'method' parameter from dependency() lines in meson.build - Split xmlrpc libs to separate dependency() lines in meson.build - More xmlrpc updates for meson.build and lib/meson.build - Try to support systems with xmlrpc-c without the pkgconfig file. - Changes to build on Ubuntu, specifically the GitHub Actions system - Syntax error in ci-ubuntu.yml - Add ci-fedora.yml for GitHub Action CI on Fedora - Fix errors in ci-fedora.yml - Put all of the ci-ubuntu.yml steps in ci-ubuntu.yml - Remove install-libmandoc.sh and ubuntu-pkgs.sh helper scripts. - Install python3-setuptools in ci-ubuntu.yml - Install rpm-build in ci-fedora.yml - Install libxmlrpc-core-c3-dev in ci-ubuntu.yml - Disable ci-ubuntu.yml for now, enable code coverage in ci-fedora.yml - Remove Travis-CI files. - coverage fixes for ci-fedora.yml - Install git in ci-fedora.yml - Enable manual dispatching of the CI on Fedora tests - Remove actionspanel thing for GitHub Actions, drop Coveralls block - Comment the ci-fedora-yaml file - Fix the 'elf' inspection and test_elf.py on Ubuntu - Enable the ci-ubuntu GitHub Action again - Check all return values of getcwd() - Ignore installed Python modules with pip3 in ci-ubuntu.yml - Build 'execstack' test program with -Wl,-z,lazy - Add ci-centos8.yml to enable CI on CentOS 8 as a GitHub Action - s/centos8:latest/centos8/g - Trying 'container: centos:centos8' - Drop 'sudo' from ci-centos8.yml - Rename README to README.md - Enable GitHub Action for CI on CentOS 7 - Drop -I from the pip install line in ci-centos7.yml - Use the 'make instreqs' target for install test suite deps. - Add back 'dnf -y install 'dnf-command(builddep)'' to ci-fedora.yml - Nope, that doesn't do it. Just install make in ci-fedora.yml first - More 'make instreqs' fixes. - s/scripts/utils/g in the Makefile - s/TOPDIR/topdir/g in the Makefile - Install make in ci-centos7.yml - Move REQS and PIP lists out of the Makefile to files in osdep/ - '^$$' -> '^$' - Slightly different sourcing of the osdep/ files - Set OS using := in the Makefile - Make the reqs.txt files in osdep/ contain all deps - linux-headers -> linux-headers-$(uname -r) for Ubuntu - Remove html401-dtds from osdep/centos8/reqs.txt - Use `` instead of $() since this list goes through make(1) - Does $(shell uname -r) work in this case? - More osdep/ work and simplification. - Rename 'osdep' to 'osdeps' - meson patches for opensuse - Move mandoc installation to post.sh in osdep/ubuntu - Add GitHub Action for CI on OpenSUSE - opensuse:latest -> opensuse/leap:latest - Install tar in ci-opensuse.yml - Install gzip in ci-opensuse.yml - More fixes for ci-opensuse.yml - Small fixes to determine-os.sh - ci: Add Python linting jobs - ShellCheck fixes for the regress/ scripts - ci: Add ShellCheck to lint shell scripts - Adjust how the Makefile reports unknown operating system. - Just check $ID in determine-os.sh for opensuse - Use pip for PIP_CMD on opensuse-leap - Update the centos images before doing anything else. - Install curl in opensuse-leap - Get 'rc' from Fedora on opensuse and copy it to /usr/local - Install kernel-default-devel for opensuse CI - Move the 'uses' part of the centos CI jobs to the first step - ShellCheck fixes for the utils/ scripts. - Some flake8 fixes in test/, using yapf - Combine all of the GitHub Actions CI runs in to ci.yml - Manually install rpmfluff on CentOS 7; pip is failing here - Use rpmfluff-0.5.7 explicitly for centos7 - Use rpmfluff-0.5.6 on centos7 - OK, let's try rpmfluff-0.5 for centos7 - Last try, rpmfluff-0.5.4.1 for centos7 - Back to trying to manually install rpmfluff for centos7 - Style the Python code with Black - Add the Black formatting commit to blame revision ignore list - OK, just copy rpmfluff.py in place - Make sure to manually install rpmfluff-0.5.7.1 for centos7 - Don't assume we have a header or even a list of files (#161) - python: flake8: drop * imports - python: flake8: wrap long lines to less than 100 characters - python: flake8: drop unused imports - python: flake8: remove unused local variables - python: flake8: add PEP8 whitespace - python: flake8: mark in-line bash scripts as raw strings - python: rename several duplicate test cases - ci: merge style workflows - Adjust rpminspect.spec.in for file moves and default changes. - Return the reallybadword to the metadata tests - Adjust test_metadata.LosingVendorCompareKojiBuild to expect VERIFY - The shared libmandoc check should not look for a static libmandoc - Update the AUTHORS file - Rename ipv6_blacklist to forbidden_ipv6_functions - Rename stat-whitelist to fileinfo - Rename 'caps_whitelist' to 'caps' and drop the use of 'whitelist' - Rename abi-checking-whitelist/ to abi/ in /usr/share/rpminspect - Rename 'version-whitelist/' to 'rebaseable/' in /usr/share/rpminspect - Rename "political-whitelist/" to "politics/" in /usr/share/rpminspect - Drop unnecessary method re-definitions in base test classes - Use super() rather than explicitly calling the parent class - Call configFile() on object instance rather than using the parent class - Upload coverage report to codecov - Improve the error reporting for test result checking - Convert to AUTHORS.md file, add Makefile target to generate it. - Introduce the 'movedfiles' inspection and a lot of other fixes (#155) - AUTHORS -> AUTHORS.md in rpminspect.spec.in - Add basic tests for the filesize inspection - Multiply the file size difference before dividing - Update README.md - Update README.md (more Markdown changes) - Update POTFILES and rpminspect.pot - chmod 0755 test_filesize.py - tests: optionally check the result message - tests: add further filesize tests for shrinking files - inspect_filesize: drop extra - from the message about file shrinkage - Enable 'permissions' inspect for single build analysis. - Add 24 new test cases to cover the 'permissions' inspection. - chmod 0755 test_permissions.py - Make sure all RESULT_INFO results are set to NOT_WAIVABLE - Fix some specific problems with the 'permissions' inspection. - Pass "-r GENERIC" to rpminspect in the TestCompareKoji class - Add 12 more permissions test cases for setuid file checks - Update TODO list - Update test_symlink.py tests for new waiver_auth values - Add a fedora-rawhide job and renamed 'fedora' to fedora-stable - Update the rpminspect.pot translation template - Relicense librpminspect (lib/ and include/) as LGPL-3.0-or-later - Ignore .tox/ subdirectory - License the rpminspect-data-generic subpackage as CC-BY-4.0 - Add a copy of the Apache 2.0 license for the 5 files in librpminspect - Update the License tag in the spec file and the %license lines - Add debian-testing as a CI workflow; add missing osdeps files. - Update determine-os.sh to handle Fedora stable and rawhide - Drop the use of 'sudo' in ci.yml - sudo required for Ubuntu CI job, install make for debian-testing - See what $ID is set to in determine-os.sh - Workaround a bug in meson 0.55.0 for Fedora CI jobs - Add 'debian' catch to utils/determine-os.sh - Rename 'osdeps/debian-testing/' to 'osdeps/debian/' - Add opensuse-tumbleweed to the CI job list - Add libmagic-dev to osdeps/debian/reqs.txt - Fix memory corruption in init_rpminspect - Add comment clarifying the License tag in the spec file. - If check_results() raises AssertionError, dump the JSON output - Fix test_changelog.py test cases that are failing. - Fix UnbalancedChangeLogEditCompareKoji - Handle rpm versions with x.y.z.w version numbers in test_symlinks.py - Fix mandoc build problems in opensuse-tumbleweed CI job - Install gcovr using pip on opensuse-tumbleweed - Handle systems that lack pkg-config files for libelf and libcap - Add archlinux CI job in GitHub Actions - Forgot --noconfirm on the 'pacman -Syu' line. - Add missing DESC_MOVEDFILES block to inspection_desc() - More minor fixes to the Arch Linux CI job. - Install gcovr with pip for the Arch Linux CI job. - Support building on systems that lack - Add detection for to meson.build - Ensure an int is used for snprintf() in inspect_manpage_path() - WIP: 'abidiff' inspection - Only report permissions change if there is a mode_diff (#181) - Fix -Werror failures in inspect_abidiff.c - Add sl_run_cmd() to librpminspect. - Add get_arches() to librpminspect - WIP: abidiff inspection - Some minor edits to the README.md file - More minor updates to the README.md file - Replace get_arches() with init_arches() - Add test_addedfiles.py to the integration test suite - Expand find_one_peer() to soft match versioned ELF shared libraries - Add the beginnings of the 'abidiff' inspection code. - Report out findings in the abidiff inspection. - Update the test suite to cover rpmfluff 0.6 - libmandoc configure workaround needed on Debian too - shellcheck fixes for the scripts in utils/ - Add abi.c, the code that reads in the ABI compat level files (#144) - Be sure to close the open file before exiting init_fileinfo() - Python formatting cleanups - Add --diff to the Python format checker - Add new setting to abidiff section of the config file - Add -n/--no-rebase command line option to disable rebase detection - Store size_threshold as a long int rather than a char * - Check abidiff(1) results against the ABI compat level definitions (#144) - Add 'apt-get -y install libgcc-s1:i386' to pre.sh for Debian - Add integration test cases for the abidiff inspection (#144) - Add 'dpkg --configure -a' to pre.sh for debian - Install libterm-readline-perl-perl for debian CI - Install libabigail for Fedora and CentOS CI jobs - libgcc-s1:i386 -> lib32gcc-s1 for debian CI - Install libabigail for opensuse-leap, opensuse-tumbleweed, and arch CI - Install libabigail for debian and ubuntu CI - Install libabigail-dev for debian and ubuntu, not libabigail - Install libabigail-tools on opensuse-leap and opensuse-tumbleweed - Install libabigail-git for arch linux CI - Move free_argv_table() to runcmd.c - Install 'abigail-tools' for debian-testing and ubuntu CI - Install libabigail using the Arch User Repo on arch CI - Explain the osdeps/ subdirectory. - No, just clone libabigail from git and build it manually on arch - Add beginning of kmidiff inspection, put ABI functions in abi.c - Read list of possible kernel executable filenames from the config file. - Drop abidiff_ and kmidiff_ from extra_args; add kernel_filenames - Just call the abidiff and kmidiff extra args settings "extra_args" - Define 'kmi_ignore_pattern' in the config file. - Handle builds that lack all debuginfo packages (#186) - Do not assume peer->after_hdr exists (#187) - Store copy of original pointer in strsplit() to free at the end. - Use mmap() and strsplit() in read_file() rather than a getline() loop - Fix memory leaks in abi.c functions - open() failure in readfile() is not fatal, just return NULL - Add utils/gate.sh - Have check_abi() pass back the ABI compat level found - Update descriptions for abidiff and kmidiff inspections - Hook up the kmidiff inspection. - Use read_file() in init_fileinfo() and init_caps() - Use read_file() in validate_desktop_contents() - Use read_file() in disttag_driver() - Adjust how init_fileinfo() and init_caps() iterate over file contents - Fix 'tox -e format' style problems found. - Avoid comparing elf files that are not shared libraries - Support --kmi-whitelist in the kmidiff inspection - Trim worksubdir from paths in reported abidiff and kmidiff commands - Remove the kmi_ignore_pattern setting for the config file. - Create include/queue.h to replace the _COMPAT_QUEUE blocks everywhere - Update AUTHORS.md - Report metadata changes for rebased packages as INFO - Do not fail the specname inspection when given a non-SRPM - For passing upstream inspections, do not report a remedy string. - Do not fail the lostpayload inspections if it only gives INFO messages - Clarify unapproved license message in the license inspection - Use FOPEN_MAX for nopenfd parameter in nftw() calls - Make sure to close open file descriptors from get_elf() calls. - Include 'src' architecture in the rpminspect runs in gate.sh - Make sure kmidiff is listed in the spec file - TODO updates - Update rpminspect.pot and POTFILES for translations 1.5-1.el71.5-1.el7librpminspectconstants.hinspect.houtput.hreadelf.hresults.hrpminspect.htypes.huthash.hlibrpminspect.solibrpminspect-devel-1.5COPYING.LIB/usr/include//usr/include/librpminspect//usr/lib64//usr/share/licenses//usr/share/licenses/librpminspect-devel-1.5/-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=genericcpioxz2x86_64-redhat-linux-gnudirectoryUTF-8 Unicode textC source, UTF-8 Unicode text, with very long linesC source, UTF-8 Unicode textUTF-8 Unicode text, with very long linesC source, ASCII textASCII textRhttps://bugz.fedoraproject.org/rpminspect?`7zXZ !#,g] b2u jӫ`(0xn!%LP%&ev4#I; =gANLiM'S"<`E%BQ WKqJ1GamF.[~.结bVlo.$KY6D%@dD2Y_ "7(_9ZT X+po2^4lr?IÀszhAdO.tHD!|,iHEQ11}Nn}L@;aDF`cGQZ a:/',kb?b``lC+X>ѾxqEU`TN3 z'5' h~Ut:x`6؄FT zS 4EKtPߩF* h }M ׫S2). 2 ZQ[ȉeaj@DS,({^$ pKifoӲUW[|ŠFQi·loa͈3 |Au&_78B73,B~"CDI?Hh2̏:~^b Iqd Gx*dui*Rːha6GBc ;"|8K\42vٚ}Y4,_p܎N1Vܞ!tQ6Sp|}e V 1ŊͅDZlǛyZf3[6t|יtĜР[ƼA"߾oa概̭lv>tU.yv џ6&{t1_̗B r YA{"6DR )f\olz;c2q$ۼ[Ja67ۃq8{J}%0v>]4_3ml7N͋.ơN5W'x#*c=NǸgK U8sP  s{>VS4ʨo@{)ƺhrMj6UDQ񛀘Pv%*|?Cgˀ*:Fݚͨ{z@:/W8vS#u lWˤbߑ(jDX'mx#!bBÑx7}\.jkApzND+ TGi?K0d ~jٛ)1/y8\ &KWR04ll$zYsHNCМ5_igV!uҦ* 2"ZvnnabAhs-oIo ޑzFÆ$gEȿH#[r,(FH'UܢkW51c_Zsu'Q֣x׮b4p?&=sߓ<:y~ɡMD9M(4|u;Uhlʉ6DF2;:~6U^ArHCn'ߦoőe5C>ܖ_[+[;'C טjLȳi{ ItAd]5۩ZAs舱*509XOEp23CG/[!`|qA~\ 8T0}<v~:Ā\_]G =QVw$sQ>|6aﭶ9~f|BU4LCA wI "ԭiF$ނӺ<.!6u!B[.NB9o\ #3rOj;Vz iɚKþԌN Gܾs7$r'M٘*@:02'i!aBji r"6nZ H/C.pB 5ϯBwJãe) k o;gaW^B,{}> z]CuHEqCw26~Tm8JO>U#gٽwab3*z>`[v Ɩ[v= 'H|-$?<11p5qV~cOV'tu;V9PT3(MPTM}Z?7ت=?0yW,(/;gSΩa5F*]:[mT1lW{z~c%A +ϖ'9mO(fQF^}钯3 F uvׂZ9 (fI ΀9/vB WYO {Y[LDGhzڶdQ< "뵜*0ip5!]L::F^}[7+HF*aq .˖ Ztx4F>~07v k vLw/'lz?^:PQ#`u ;sG:"r='v1~ %ab 2guk H[o°`vv + v;>lď$oKcn>osCˈp0@ãRIJ԰[l낆|X# z$hDWmǞH+K%QPKDu!a;9{"$ [[8#4w=hx|íZzWîNpP2Ox~cfhCWl6J=?Y'Z3pPEmA⪵ unꋡZ?|f#dTdsqǭFhX)ޏ;VGbeOyUؓg,)e5U`?e@ 1OjJҽ9rN L@u\(G$Dm^%|&-Ag&cM4\.=q5}&=-M+pT gB{BpӇ?qRjԠ$i 'bT2J M#P&s\#;4*>Se+f2NrRO@[8D?FjQ7>Qə$bdlhPSuܟyO;qo1 x uW+a eIӅxdڞ />C,H#K)]T`rJaGx B =cU!N?pApBLO* R֔*&AS۠rsDM-+Sɒr(K4!6`/V_4:h)VGw )qEňljm0x)e2/ s⽫J~=z*JА8\Z'oR]*|P-OfzGL$֚5| `&W`Tz4.MJ "ՈL6&)ח_A~ P) ~}h 4X!S%q'z&}Ve?:a}{KlzЭqTʜ0b?PNݗrVwRDoόN֜-X/bGwڠ dQ*نЃZF!njǁlL h'_vV 2._ 6E NqHB 0T9E0ޢ_8R4^_RO$L lO~m=@ߗPmWsoQЍMap̓'E_L1{_^ٕ)*,X>ǦzQ7U˙OnD s5s.T77}PF2_bGVht)q;,x֮Ů h=KȇqGc`ϿCIh쀛2k#bՉ;$ʛ$'Z#q* \R'Y:z03K mzY4 =m[h;Wl "k-[&lޢyg] *"۪c 0(fC'Wƒ+$"CZ@r\]+ȴa=ͩ@2%}p2 STJ>_Y)4#RPLH1)Rg(>NQAgUPz`c}hvJXPa0tZ:xÞ^4HFk哹 {1aZ}Vo_fP8Sl)[ l+.@ޞ'Αn`+_"@%o((԰h]M/-ȟ^hHz Hx\`  qV3 qr:*Vkf%ir9i`E[vq{z-]$r+$R/k@^u^ҋwjՙDKu*q&,|4М@M/vشv5G%@}z'sjfNGf;;@UxWە{Oa|$Idʅ4|vn65-WdA9Kv9Md/6R>C$aFi/f>F-]ɲ65gW6Q#_^RFL}M ]P%V1]\ kЊD#X_q5(VǼȉ_R&5p)q'(8tz30rEG128nX.%6LTE8qUw.A$ '!<쉹X)eZ\KQ+qBZH| w(V `EMjBC<m "o,F= %qF(+3]^|Yf+3j~W;}_Z\.'Q}0'`#?܃Cew#\b GurZF(RWDp6X_xSM{$|?ILx3 F0/|\roNjԳ3d٫֥%*WR3QƇI5Oݨi5`O TہԀ!ӕA/{=SJi~n3ʰHBnvLJvvCzT^kVMQ%3n76f086X9@X|A8Mc82|uōcSl"=O"֣unwAnyo|(ý/ԔM+RJ=?(Oc+4e =`*~Jv3Yx#=%KhQi[N}G: HeيХaΑ~^tB0mՓƲhٷ+&r@seF& y_d&rY1:=i\F r\V?L<~CH|۟6}z,2&B}W52Ej'觷(P.{\OV3>ps(vU8Y?qw݊# bLxZxժdO.c~6,9n7h9{6% B-؄0Ő4L'jj\QU4 f@g]~jBtdus~n]'HeLolWy)Uh  f9P_:;]ٷxP_2 s&H@@]%{Ap%+Vu#$E <i#~0z}+X W*_t.0؋oH~lPUo?HOe -/.G*\)`40_dY.w:>T,wu<1ǟ:+y(W[=B3̢PJ_gD!朡`.aQ#Tg IpS1vL[|e#U?`6aa*נ3AruCZJõm5HOXyO/{Oy~JI0D!c',6=8}}Yl0h+2h&E`{;wM) 5U{Z]޾avͽ.bZ'I%uWy:.a Dڡpx0,6Fj ъ{! #tq1ekfθgS *erd ӱ9%"['-/Iz:#ЗS1YyN A>BzX UqsTeVxEkŖ* $h7L;uơɨ~pՠ.0.kŭ%}=7cX1'=Z}9 oR"gR<6/[~€ɱ$B;j K[gRd;Y衪Md?&a\Qd[/v Q0rJᰗ4sy{!tO*뢯 / /Nxc1y7=duUonl 7_\ETP4[ t3|sH9^d\m=Tq9 ֭0}_4WDQ `7z6\2<?.=gHퟎ!QQ(`<tgG-2>cz֬ u7) =S2TW۞a JWT0̢ݔ,X|UQ 5 % !TU"HE%8"ƔoX)>]"?*">h}:|I-pG{}[\WI\/3!)&~l0B?W~\Ȃ`鬰#N׼'eHYԓ[61J)Mg5R=f&DY; A`e\rL]qa fOE&{G*h\};jM͕}0 [9ɂ|!`x*zaJ"747acUEoJc C9̐D, ֌Y+AܯOs(ҍ沀!D+py>Vq);H#UI]1^3AxJgj_*# S~B_;Գ} 0ТT6#^Jn{R㷽wݭ!m( |O*~H0cIg濓#A( >1~ Pvq-3T_iI%zY\G}[LJ~э$cPux{;*rSSBbS{A^0[ mŁ%p 5_ydJܫ9L \ ]:T.}9%l(A{ !oDӅ:nDIb3)r-CjKFowuszj"AkC &$֘ P k4{d<*W?¤<4d RF ׃r LPS2S*OwQsS߬dRlgznl_Z~a87jv!)̒I Ĩe(Y$*&bن,qObԦ\s[vlIvA촪n`%r4槳ֶ|t_>q91X_L /R1f>b'ӂ jw,h֑OWkfϛY+2Tu53^ i d͆yo?|^#dmw41rs`e@*-e+3 `נ30]} MfJqfךk2ul3iFbO ڔ aIQ;9e]ʲIJ>AK\4>m3֍Vu3!hZzgc/Weh0Yb5ka1uDWn9bI"vB}:VsGy8qC'<o <$^=j0-(t E?ˆ7$t,;m\o krD>7`s*.u$qo!6ėф@>N~ ,Yg CMȓ@&'}LR**8icce-n))<\_t@YS& 7cܕa"eu%D(_H1 t;[.,nƪI׵KRj;&])mZaCv,Ɍ3Q酲{ޖg߰oy{ B=fe;Ҿa+2~ԕj~Me1)e%҂kO5&N1 M Խ&1 !lVTGeOpf0tuV͉VG:gPd%SA8SxsMz<(<bG`g!7v=7xhZG.6BqUٚcmKM]>2Y5QBg3ĭJ^>0\Lrj)5Qzld&tNFB89x7R1sH'5m嘪> Z\hWzMZ7]@$Ǻ;t͌R!Hyq ^qs' 9CXNImZ9P@yQyW#<96QI\ߖQG(փUc`HF2dT(TR (X-ǜEˣ" +YA=i{o9fQ)jҘLL"lAL5ehXB2Ee^&mȊɌ̭\}[BD3~#衱tL7ݿ_? ka8܌2Ք.iN7j[O7\DN c ?yQaa[`0مcEi.akO?;h_` o65 DP)Aig _Q3wȦ*—P;nyY d(qQ.9,ug*ݷU3fuZd%J FW@מ0 CxT7#=2_U 5mǑe9ƭY<dk^:6T|Y9Ա(<˜w8FЀ n䇃;a#zߝg Jhl*D@ KwX+ڂX*L}Ӓiߞ&vAdt[ tT1B%r+3?\Ivǐv[Iigjf6+aA*x8J39Ա"pUbJ8Ձ 7{@fLzt'RÌƙW>DZYJ9(Q6P!̂LFˮ !^7K^B79|IB[,%u NICo64rV˃bW =E2?{[UIC|u)o=>V,SdA<0UTRK/ EfD[&񇇺QDK]n7[C#d4o'L7?LMBׯk0b/T9[BdfSַpw.ߧ|W6!=Ȇi jB'?z%mO2B,FN”Re`ж! ^up՚}ZoXfb3^[5k( 7J4 S BLq/[l5WGH/PaDo+r{5W J?9^&w KpOFF1 ֛а4uiI; [֙#C5_}(PҸ\} ):]` 1s(h\BȪuaQ\EV׵R$춽q_dIu!6+nu)q;}>pσ$*+P%49|-ŧ ]ZCC#?Js] 'ɲiZO;㯒@3Ğ-v˄Y׷5ֱr1Hj8TQŐFSx@Ј+Sj'.Zw˚2LhnMd^cAR3IBn$kWF%=縍ĩI\"c2yB{S>G*~NmXbն6Dof{Ǧ4{(Fh?^5=+-Ò\8B[jMZS GHÜh0`Io{>)׏< 2 QXZ:΁Pꡤp{v4n|vP}Ź޺awp V_Lkojq>T³? v%mN|뽝5}^ׁS b; [*+ahb%g9'ӃGx}.Gݭ xOxbpͶGM{gr<> R/tsgdzŎJy!!QGuo3G+_Iff 9(Nw}!VxXT!z`V5sAN.IL{#r ze ^M4+p={+Zx"ovb+Vs.VV0VԗR;(9MD0O $ 9a3zr"DiGAy))\3qo,Vy$)*!k3r%w F9+8ΑbA ^Wl2ܽ LKeA#Mj-iQԧ=#68&v"KIolUԞZ M" 6jUQhKA=/?^ P;a}pBƚxS/U>{[I"n&"odxnm~jO! ~"5{IF),@ŏR Û_ .c6e^M7߻@R$W%KsP6Q猑2z٧XolÄU_t't~D=i! ɻ&Aƿ5Nl\w]U|)1⸤I$Z~TBX^T>Vr]Zءm6,D;Aϖ4Wdx]TbP*~5~m_c[W iJr)cPm/ґJc9/Q,n^] {}E'5r$ᬬf֭;'/BO;"V &n h=! 'bb˔>>[UuC*I<bc-FF5Hw@hX7sy@Xw?5/#PN*1h^;؛]YYLAؒ[` s[J~^(iZ8AFn[x6mu<yU>ފ1 psSSW\9[#}$=]d#Nڎ02j{Bix{))LRś* :Uc-HHT;I3 AS8y}GvY< QuNy(,iJ&cq?s\|HCIۮ9ӚcaN~bC%Ф=ԬMq6oȢ+큭@W+REuDچ 2iY +錅xv*1(~fR_m3H llWbHk{$kX$y>sϦ`B[5?<'A']MĘWqDQT1z*;*vVDAZ`ٸa_I>C#O ȕȇR_;>7%Tv4/ gՕyBSY,gT:fOH;D\pظ)AO+wHTWIҪ]6AfjS*k! ó^ .@ }uvw>qß7VsĬZyVeFҌ#$?axyNȚx^02KM(TD)7OT?Up̊n>{,+,*.8(DF=e}¿ ޔm}Fl%gT={̡8(סPNFuvmx^Xɩ_/H^ďCTPyx?Mn)lأz BmwTwk,v 3% V(erMΦn"3A_F[' VKsCj|CET]GFf2*|X(b8\Ǵ S)v4r =UΌlKŐ[ri b'. Dmۯ^由6 @DX >lFL=E3N?9gJ4/.4]`-:d<20s=p_TG{Z^)S7 K(s{M{{} e1f.6Ŕ VH, I3FnEVR D=V(BpoϏ i0oZUo+<1 4O&JO 6" y1ŧYR.:tBVl^ _CVWZvz@AGM\ ä%U$.bNLJqXv_&@b%[4$ʭb6I-:ę^?Ad^ޡ~@oD GTHQqw,UixX-IDe'1z\?S i(uVLچ{ɔe4CJfۓ9r:}n9ąvyoF2樫,[Eo3JH_e 7+:VQ}DI| #RԨ=oIY7,~l:ڡI0Oe]ik, )XCZ?n4'wa1ulvX^/#&oہ*aÀ/wa@Hi]Q*<dzC`h+D8>T{:E8sx1PK+ Zjb˅\w}l<c/,4-w=PG tZM+w*j5{3=FP,seTRK]kGf#ڈ_BVWjWh ed[G0gr0︈  ׁ lU9;K~|yF]u4*f~֦s3-kyzgg_EAx|qj2:hQX0?T'={qoh/u2kۮڒf=kZO(47Q{7wjOC|< I эP{mF28ʠ-v!A0Հep< ۚI:Ld.x8@ͯ01+,ܗCGtw,_1陌tl3*Wr82$82:5tr-I[̐~0&S5ֳ(Im _hfaHͿV7-W e_ Aon< Nf^P qLOBb6t~ߞLi9egeI~#C7\ʏ  I[`A- wUlV"R|\(<_~W{7%:n)ȁct|c;U^穭%aR^FXѥ0> :'x"q0Kֳ+YJ@f<7Rlq jI$5#*>Z,>J`<~=p U Q\XQk 'zv ^~o]Gs"]-m~WS$51bf%o zi.|f'X6&WxjڲuBPEu*Eȱ6y;NNڜs =D zsXq'JpYXҁh|jrCL ^f6 svwO<@Q{e*9sfcr?.5Ÿw0|Dmce4e})S!WVP{N E)Y*5MYGO!CK+)b$=e"c ևDA$Ϡ殑~>]Uҙ#vscԓ,ˤ ˨PŢb,џ:7)TKcDkP 3t ~Mc%ƴ 3^!5D2[`EІ>D2M8 kHumP^M5궜KK)_݀FHnp+'҃F?154;~Uğ)S.J*wmIKX;1̄S ~%`&DwwJGt91=2# o#ْ<3`p֚N&HѼt%b'"<֙d`'Xʭ5;ƨ+@GoZDԑMɓw Ma#@Hc;8Ulo Q4_JwROIaE\ W*򇩱 ̥>oKt9-n²W򮀤.2ڴM됯p 2 /qX<@I.vxW d x.G0zx1ZS?/"7|΁%.P?_[v |!!D4T( %dSЮE$0<䓹B4!?E`YOHo1t>4U$KYQIarBSNZ,MmL)jaI$2%ʒlM90~%{qRAɄz QI]%a4'؂[ᱫҐBS{-e'Aiϗ4 W9jԍ\% j!B ĠO 5c_vԝJ9N8+qb`l$#`ZwѴ춏|r97&[d@!v> 'kˋT1J_h4)S$*o10což_wߞ9J 5o~:rpZS*Vjs˰^< 'cNQnCm=@c}Ycl.JķK^]!cҊH~B{ޒ]:c}_ F\rA+&0rijT|h1JM(oW#Ym=^l*y:|:y1Vo ϰ՘rкL>J'B/LږۙhG@WZ *Ә3Zʄ I$z>> Ԥ֗AYC0l}ݰy*k%(# S.ŀ6U>4rd-5)_BlDڡe Lۣpj.b "]JtYw KGU>cZBz*z.ET>iG܆AjSS f7rY%ltVݗGumQ.$mP dc2yz#~L6G8a=L#8BƞP[IL+ hbElp;Ϯс'cr)%4oЮn~oɬ+Om';CjЫ3p1QhQ &1EwƄATS]8LHWK?FkG((H^ae1@m-$[.ӝaYXi_^^~f^oDN8JjDifD wP"^jj=!+; 9k2hzh,4_jǚz~b,Fjrڍ-.Z&i2qoS?j P뇽J?}J{c7'kۨ^WmS2$-+8Xl&GV(!;!rIIXz^כI 6kغ:^XR՚xOŅ6@ tf{⯨sco ^|鑃4NG;3]_0f}.ۜcLƈB/T&׋+.J8D.+^_trO/vK [B?-.uirnrF!B>u./ wAʈx>H/ {3T_ @ %?d~2pgb/'pÓVQk4YTh2} ڽiPf:blBj0W4Ik_ѫg7;1 6l(8 k| U 6S 8DLj3Zr'-TiD#jڊSQ ?( y,mC~`B\{=1ɑrnCZ假N0 (=::4ƺSjriTɦ4Sh y-TB8uUe US?Pz0в hUH^+`єIPd6Sȼ'i~ZDךd'(=A)qᾦػ+r>`C^ ֋4c3g 73`\o4݁P@>?FJʼD ?࣫Y ? V;uU=`X$=O~ טME'޸*% * i m#ƆO˜;#B q!Է7Bamb}jWQu!Tz(d8+#Hkw6IQ{ⷻ>UPҷDzu_s_{>e[!pQ7dЇoz?UD J ,{lIN3L//Q[ڤI` c,bg5;Bjq*nxŹe qg G J1oΎNEټgٻ--4o(/\t5x:Oj>u5!8 jDENsD&RDΐYr!eyGBfオĈmb^v.{"Lݬ?t|+Y/Q΋so $7sXdt͘͞G&JUԖJ)Hr%xfv\}ulPoimVIIs5g[›uPT'*{W+(F<0Ė~Ykz&#AI9MOIҵjə61 \q3; Q~w-. @ u(^,lBf+Pfhl s#h9 絇*sm 0V1Z MLWV(_Уw-2m enƘzv3֪fiUR!N7M +@(RVp'Qb̵D}APnAg𸾬U0:p;q MHVyYa@{ p Z+U\&Ds$n/$dJSo54ݶYE7߲ߤ$}e@Sڪ#3hPsR(l*NQZQ ?oJUAInQbE9 ƱlsyrX`xvAZ%4c,fv{[JF϶iL/ή'$_>1ɔVX#,K {X`+}V-6] nI\N!ԖsN|>hO>OˈJWP %W1*T2d%$C9Yq; Dd4X~L砢K*'q{ T_ةfMM=9.u`%jgMu:iW4'BG9sh5yطt %ՙw_n}Sfj/%j^rdǙ}bQܝC*ҝyΦɒ+-w1ٜ ie@M vy5c$2 K;Qy(!"Ǣk/B=0P?X4@t{_Kх{? ĹL 5c+TE1jQJNw`ml{"k5&b@W J2i릮g%XbM(SWf;.IB%a0V$ Ra,'vn 0~&Hf7W%يՓ& 'ER?5# vԯ#. sPe }51ޛݪ>Gr2*luԠq|\ esĈݵH;ʡE2$2AeWwx÷ &}2*iYߑM_U]j1 [-)k}84 7 ZՠW~*"\> AE`-5/Љsqh5\Kz`6{ XqYѫ8g {p`<ch3;8xE]wn\N&CTEΔuU]En?p;ƱQ#9e].ȿxڈa:P`ޏ*')ɥoӑrhVJvp_~qH0/s {2ʎV$?Deb\W8h\*f= L(~&lnXLxx=rh֟ҪjWAH>gærF tBѤnofrh)I*}ED8}}Yۗ#Î.Am#୆ %Y<ǒޡ(>P&*Fʵnl.]o=^N:8-\qq0]]Փ@ĺy" GOz_[Q~y4/DaJ@.QxХ 7{!g8h H&,z$a gƦQX4.EƀcBz:KM4OG`yAvH *@EB*u|GP9 Tk9 >T$L汶Cx1x3H' |e=5ZJߏqa3kbNGaok'm".ntR(O֍r< ~ګ%v5nQ8{DM*[ܮ ]= XI6zqua5>zP QmvR}z(fDB&Z(^Gue9V%~迒!(4U颭(ag%*Vo 8Ыe-o|:js ;~X*۪=P"N~{ ė+OZj_pjm$ Ch|#&PM+єMeѰV tlnQepc>?l`z,CكƪT"cLa] kǹ ռeX19q ٛ}Yņ4\v@?Jh]40ܟ^Ev[bWqff_v b[i^w|W"~fԟC+AU1+{ tY}/3f5) a rLij<_ѡ C:d1 }csvMӤ i5Y-x:8zDb+zWr–XWO!#gR lSZ%Kn|.+DBͮ:7ο ٰ[yj\փ>U R7h,{-OO^_`frA=s!Zoev-m[틾6o`AbX8'HuT4f)%wn[6{LIssC+А%8lwojuRQki<J6L֝105uC) &"vX#2.n!9,DlTc-)~F]miOፃהj~R"$Ō\7-4]r9=enr2{iz>=uu\Q j_o|hn%͠UoOOJ28zq~2 S~, D9!#U,Rf½E;jLh}xГ6ۃuq3V(69vݸ,DVYTKM J)%㈌)'(~8ڻ tXw_yWł/kv0F@u[rnE_sb8!.37gF/Zd)MI*'d"AAY4kh}qKxF,"C&0c@@t`|F4rr9H!8+}b l1X[m#u^% >JitRqIڏ0bJz0(KWr["?N%F/ 9wPh`C5pFJKƷMKǐݧoEToMo~3IfU/ྂy/ZC}M!pE͚N"֍Ikp1 Ƅ;‚/mfi͡}Dt-}M8freh#!˲zcuKͱJ4-J;in736g7!^KiQ x+d~NeBߛ{DK1Im؊Q(}L! c$tУBWD09\auJ=pT `BA·gbk$5w NIVQnEmfJ8ǒd'+P^{~ٜ |l,0)8 ko5Y>")ԑ槇@5F]C@U2Z4d&]Ae=tśeGnqD `0N6-o VPگ]eO:gy EV>GJJ&4]z9mHU CkR”ԐL,&sY&(Q`]{>glЎ .*B&Z^Q !l'<$?+LTr /4xgm¼ %>I{k0Jv*P ܔ7{ك.![+r1 Ax;X@ 7ޤ p<$r>"'#"n #u K =LB! ܺr)RvOdfW@*cJ}7 \$}]>kX=Qp1i&<ڃbӢ_ǩsLX$w5/i w'!fz .J )~5g=fR\rC+{6+Vi.Y6ʋ| u`6$ݭQ'ҵ"r"&'d٦oG1m0ܪ W9bNk- NnU QهxVY\7˕}MF/wma f)nRZ_D߇3W&/j-  glVKdlgB˰˥hBAY23Tx4:"*]{VUXaqȝ(͈ŏgc57Oso'Gkn}t1Ϋ\͸Q>dLX;i*#ve;_XQs+]?v NGc?Γ[]XQ,"m} \d+M%88C`,~s=D+XqI}nS ^c?z}Õװ?GcYzݗȖA|?N~|Xj sYX!?LbkAG>Wh\of̫0qiAVwp |2I`ͬ`L.Q7a\bW!9 xk;~XAni޳\@gyrIoaU|+p90 UX ҥۻ?w HHlɿ{doW|,O,tqQ3prHS3K޾= {"1@G NT FM?dL43hd :b';;k9I}tyB$LJM5z (Zvݐ` 2sЋ ]l wλFڮ7s@<x}NªjÅuҟ i1yv-cr'W/}ϭq$D} Z&mݺ{c~A,%kb or1CI=X F |0ދϘ&FYK=6Fa6#m7$e%.p7 dO2("56o_X`1wp *I9W7D2EkƟ~pyEsQx"O9!ݽpxِ#-g  s%qy2 [ptZ5pyH"Wa~`㤖u[r# *$[Y0+7ԲUy8V3ĐI}B-LpSмHm5PtZr`;E!'q4WNC?ډꇲ!}~Я3`kcǾ&Tєwl-csjZ#* ҿ\RRNyQR%%%~3~&Bhg_d㰒S̭x1.P̢"q}%wT?i;itmW/ \K4)q[o#',GƢ/ y-pyʪ69ƒsΑ'3 zYp7θG߶5-8^Z{?''$.Y+Xzy $s:UE!i 9ރVTx1y5V&c/loWy 8ɐ VF YZ