Bug 2259602 - Review Request: config-kernel - An easy way to edit kernel configuration files and templates
Summary: Review Request: config-kernel - An easy way to edit kernel configuration file...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Benson Muite
QA Contact: Fedora Extras Quality Assurance
URL: https://github.com/pjps/config-kernel
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2024-01-22 10:58 UTC by pjp
Modified: 2024-02-26 01:12 UTC (History)
8 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2024-02-26 00:47:09 UTC
Type: ---
Embargoed:
benson_muite: fedora-review+


Attachments (Terms of Use)
The .spec file difference from Copr build 6996223 to 7005481 (1.29 KB, patch)
2024-02-10 05:13 UTC, Fedora Review Service
no flags Details | Diff

Description pjp 2024-01-22 10:58:12 UTC
Spec URL: https://pjp.fedorapeople.org/configk.spec
SRPM URL: https://pjp.fedorapeople.org/config-kernel-0.2-1.fc39.src.rpm

Description:
config-krenel tool helps to edit kernel configuration files and templates.
User can query, enable, disable or toggle CONFIG options via command line
switch or an $EDITOR program, without worrying about option dependencies.
Please see -> https://github.com/pjps/config-kernel

Fedora Account System Username: pjp

Comment 1 Fedora Review Service 2024-01-22 11:04:46 UTC
Copr build:
https://copr.fedorainfracloud.org/coprs/build/6939363
(succeeded)

Review template:
https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2259602-config-kernel/fedora-rawhide-x86_64/06939363-config-kernel/fedora-review/review.txt

Please take a look if any issues were found.


---
This comment was created by the fedora-review-service
https://github.com/FrostyX/fedora-review-service

If you want to trigger a new Copr build, add a comment containing new
Spec and SRPM URLs or [fedora-review-service-build] string.

Comment 2 Artur Frenszek-Iwicki 2024-01-31 06:43:07 UTC
> License:        GPLv2+
Old Callaway-style tag. New packages should use SPDX identifiers for licences.
The SPDX equivalent of this is "GPL-2.0-or-later".
https://docs.fedoraproject.org/en-US/packaging-guidelines/LicensingGuidelines/#_valid_license_short_names

> Group:		Application
Not used in Fedora.
https://docs.fedoraproject.org/en-US/packaging-guidelines/#_tags_and_sections

> %clean
> rm -rf $RPM_BUILD_ROOT
Don't do this.
https://docs.fedoraproject.org/en-US/packaging-guidelines/#_tags_and_sections

> %global debug_package %{nil}
No. We want debuginfo in Fedora. Patch the Makefile so it respects Fedora's CFLAGS.
https://docs.fedoraproject.org/en-US/packaging-guidelines/#_debuginfo_packages

> %files
> %defattr (-,root,root,-)
These are the defaults. No need to set them.
https://docs.fedoraproject.org/en-US/packaging-guidelines/#_file_permissions

> %files
> #%license add-license-file-here
> %doc README.md COPYING
The COPYING file should be marked as %license, not %doc.
https://docs.fedoraproject.org/en-US/packaging-guidelines/LicensingGuidelines/#_license_text

Comment 3 Benson Muite 2024-01-31 06:47:33 UTC
Can fedora build macros be used
%make
instead of
make

Adding the install step to the makefile would allow use of
%make_install

Comment 4 Benson Muite 2024-01-31 06:58:10 UTC
Rather than use:
cp configk %{buildroot}/%{_bindir}/
it may be better to use
install -m 0744 configk %{buildroot}/%{_bindir}/

Can a smoke check be added? Adding a %check section with 
configk -h
is sufficient, though if further checks are added to the upstream code, this would be great.

Comment 5 Benson Muite 2024-01-31 07:06:53 UTC
COPYING file does not seem to be in release v0.2 may need to add it manually or use a later commit.

For referencing tags use:
https://github.com/OWNER/PROJECT/archive/%{gittag}/%{name}-%{version}.tar.gz

For referencing commits use:
https://github.com/OWNER/PROJECT/archive/%{commit}/%{name}-%{shortcommit}.tar.gz

See https://docs.fedoraproject.org/en-US/packaging-guidelines/SourceURL

Comment 6 pjp 2024-01-31 12:33:40 UTC
Cool, I'll do the suggested changes. Thank you for the review comments Artur, Benson.

Comment 7 pjp 2024-02-02 12:13:13 UTC
Hello Artur, Benson

Please see:
  Spec: https://pjp.fedorapeople.org/configk.spec
  SRPM: https://pjp.fedorapeople.org/config-kernel-0.2-2.fc39.src.rpm


* I've made the suggested changes. Please kindly review it again.

Thank you.

Comment 8 Fedora Review Service 2024-02-02 18:20:37 UTC
Copr build:
https://copr.fedorainfracloud.org/coprs/build/6982443
(succeeded)

Review template:
https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2259602-config-kernel/fedora-rawhide-x86_64/06982443-config-kernel/fedora-review/review.txt

Please take a look if any issues were found.


---
This comment was created by the fedora-review-service
https://github.com/FrostyX/fedora-review-service

If you want to trigger a new Copr build, add a comment containing new
Spec and SRPM URLs or [fedora-review-service-build] string.

Comment 9 Benson Muite 2024-02-04 16:42:40 UTC
Package Review
==============

Legend:
[x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated
[ ] = Manual review needed


Issues:
=======
- Sources used to build the package match the upstream source, as provided
  in the spec URL.
  Note: Upstream MD5sum check error, diff is in
  /home/fedora/2259602-configk/diff.txt
  See: https://docs.fedoraproject.org/en-US/packaging-guidelines/SourceURL/
- Spec file name must match the spec package %{name}, in the format
  %{name}.spec.
  Note: configk.spec should be config-kernel.spec
  See: https://docs.fedoraproject.org/en-US/packaging-
  guidelines/#_spec_file_naming


===== MUST items =====

C/C++:
[-]: Provides: bundled(gnulib) in place as required.
     Note: Sources not installed
[ ]: Package does not contain kernel modules.
[x]: If your application is a C or C++ application you must list a
     BuildRequires against gcc, gcc-c++ or clang.
[x]: Header files in -devel subpackage, if present.
[x]: Package does not contain any libtool archives (.la)
[x]: Package contains no static executables.
[x]: Rpath absent or only used for internal libs.

Generic:
[x]: Package is licensed with an open-source compatible license and meets
     other legal requirements as defined in the legal section of Packaging
     Guidelines.
[x]: License field in the package spec file matches the actual license.
     Note: There is no build directory. Running licensecheck on vanilla
     upstream sources. No licenses found. Please check the source files for
     licenses manually.
[ ]: License file installed when any subpackage combination is installed.
[ ]: %build honors applicable compiler flags or justifies otherwise.
[x]: Package contains no bundled libraries without FPC exception.
[x]: Changelog in prescribed format.
[x]: Sources contain only permissible code or content.
[-]: Package contains desktop file if it is a GUI application.
[-]: Development files must be in a -devel package
[x]: Package uses nothing in %doc for runtime.
[ ]: Package consistently uses macros (instead of hard-coded directory
     names).
[ ]: Package is named according to the Package Naming Guidelines.
[ ]: Package does not generate any conflict.
[x]: Package obeys FHS, except libexecdir and /usr/target.
[-]: If the package is a rename of another package, proper Obsoletes and
     Provides are present.
[ ]: Requires correct, justified where necessary.
[ ]: Spec file is legible and written in American English.
[-]: Package contains systemd file(s) if in need.
[ ]: Useful -debuginfo package or justification otherwise.
[ ]: Package is not known to require an ExcludeArch tag.
[ ]: Package complies to the Packaging Guidelines
[x]: Package successfully compiles and builds into binary rpms on at least
     one supported primary architecture.
[x]: Package installs properly.
[x]: Rpmlint is run on all rpms the build produces.
     Note: There are rpmlint messages (see attachment).
[x]: If (and only if) the source package includes the text of the
     license(s) in its own file, then that file, containing the text of the
     license(s) for the package is included in %license.
[x]: The License field must be a valid SPDX expression.
[x]: Package requires other packages for directories it uses.
[x]: Package must own all directories that it creates.
[x]: Package does not own files or directories owned by other packages.
[x]: Package uses either %{buildroot} or $RPM_BUILD_ROOT
[x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the
     beginning of %install.
[x]: Macros in Summary, %description expandable at SRPM build time.
[x]: Dist tag is present.
[x]: Package does not contain duplicates in %files.
[x]: Permissions on files are set properly.
[x]: Package must not depend on deprecated() packages.
[x]: Package use %makeinstall only when make install DESTDIR=... doesn't
     work.
[x]: Package is named using only allowed ASCII characters.
[x]: Package does not use a name that already exists.
[x]: Package is not relocatable.
[x]: File names are valid UTF-8.
[x]: Large documentation must go in a -doc subpackage. Large could be size
     (~1MB) or number of files.
     Note: Documentation size is 7139 bytes in 1 files.
[x]: Packages must not store files under /srv, /opt or /usr/local

===== SHOULD items =====

Generic:
[!]: Uses parallel make %{?_smp_mflags} macro.
[ ]: If the source package does not include license text(s) as a separate
     file from upstream, the packager SHOULD query upstream to include it.
[ ]: Final provides and requires are sane (see attachments).
[ ]: Package functions as described.
[ ]: Latest version is packaged.
[ ]: Package does not include license text files separate from upstream.
[ ]: Patches link to upstream bugs/comments/lists or are otherwise
     justified.
[-]: Sources are verified with gpgverify first in %prep if upstream
     publishes signatures.
     Note: gpgverify is not used.
[ ]: Package should compile and build into binary rpms on all supported
     architectures.
[x]: %check is present and all tests pass.
[x]: Packages should try to preserve timestamps of original installed
     files.
[!]: Spec use %global instead of %define unless justified.
     Note: %define requiring justification: %define shortcommit e2f8b55
[x]: Reviewer should test that the package builds in mock.
[x]: Buildroot is not present
[x]: Package has no %clean section with rm -rf %{buildroot} (or
     $RPM_BUILD_ROOT)
[x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin.
[x]: Fully versioned dependency in subpackages if applicable.
[x]: Packager, Vendor, PreReq, Copyright tags should not be in spec file
[x]: Sources can be downloaded from URI in Source: tag
[x]: SourceX is a working URL.

===== EXTRA items =====

Generic:
[!]: Spec file according to URL is the same as in SRPM.
     Note: Bad spec filename: /home/fedora/2259602-configk/srpm-
     unpacked/configk.spec
     See: (this test has no URL)
[x]: Rpmlint is run on debuginfo package(s).
     Note: No rpmlint messages.
[x]: Rpmlint is run on all installed packages.
     Note: There are rpmlint messages (see attachment).
[x]: Large data in /usr/share should live in a noarch subpackage if package
     is arched.


Rpmlint
-------
Checking: config-kernel-0.2-2.fc40.aarch64.rpm
          config-kernel-debuginfo-0.2-2.fc40.aarch64.rpm
          config-kernel-debugsource-0.2-2.fc40.aarch64.rpm
          config-kernel-0.2-2.fc40.src.rpm
============================ rpmlint session starts ============================
rpmlint: 2.5.0
configuration:
    /usr/lib/python3.12/site-packages/rpmlint/configdefaults.toml
    /etc/xdg/rpmlint/fedora-legacy-licenses.toml
    /etc/xdg/rpmlint/fedora-spdx-licenses.toml
    /etc/xdg/rpmlint/fedora.toml
    /etc/xdg/rpmlint/scoring.toml
    /etc/xdg/rpmlint/users-groups.toml
    /etc/xdg/rpmlint/warn-on-functions.toml
rpmlintrc: [PosixPath('/tmp/tmp5t_nrjxo')]
checks: 32, packages: 4

config-kernel.src: W: strange-permission config-kernel-0.2.tar.gz 604
config-kernel.aarch64: E: spelling-error ('krenel', '%description -l en_US krenel -> kernel')
config-kernel.src: E: spelling-error ('krenel', '%description -l en_US krenel -> kernel')
config-kernel.aarch64: W: position-independent-executable-suggested /usr/bin/configk
config-kernel.aarch64: W: no-manual-page-for-binary configk
configk.spec:12: W: mixed-use-of-spaces-and-tabs (spaces: line 4, tab: line 12)
config-kernel.src: E: invalid-spec-name
config-kernel.aarch64: E: explicit-lib-dependency libfl-devel
config-kernel.aarch64: E: devel-dependency bison-devel
 4 packages and 0 specfiles checked; 5 errors, 4 warnings, 18 filtered, 5 badness; has taken 0.7 s 




Rpmlint (debuginfo)
-------------------
Checking: config-kernel-debuginfo-0.2-2.fc40.aarch64.rpm
============================ rpmlint session starts ============================
rpmlint: 2.5.0
configuration:
    /usr/lib/python3.12/site-packages/rpmlint/configdefaults.toml
    /etc/xdg/rpmlint/fedora-legacy-licenses.toml
    /etc/xdg/rpmlint/fedora-spdx-licenses.toml
    /etc/xdg/rpmlint/fedora.toml
    /etc/xdg/rpmlint/scoring.toml
    /etc/xdg/rpmlint/users-groups.toml
    /etc/xdg/rpmlint/warn-on-functions.toml
rpmlintrc: [PosixPath('/tmp/tmpokjusc01')]
checks: 32, packages: 1

 1 packages and 0 specfiles checked; 0 errors, 0 warnings, 7 filtered, 0 badness; has taken 0.2 s 





Rpmlint (installed packages)
----------------------------
============================ rpmlint session starts ============================
rpmlint: 2.5.0
configuration:
    /usr/lib/python3.12/site-packages/rpmlint/configdefaults.toml
    /etc/xdg/rpmlint/fedora-legacy-licenses.toml
    /etc/xdg/rpmlint/fedora-spdx-licenses.toml
    /etc/xdg/rpmlint/fedora.toml
    /etc/xdg/rpmlint/scoring.toml
    /etc/xdg/rpmlint/users-groups.toml
    /etc/xdg/rpmlint/warn-on-functions.toml
checks: 32, packages: 3

config-kernel.aarch64: W: unused-direct-shlib-dependency /usr/bin/configk /lib64/libfl.so.2
config-kernel.aarch64: E: spelling-error ('krenel', '%description -l en_US krenel -> kernel')
config-kernel.aarch64: W: position-independent-executable-suggested /usr/bin/configk
config-kernel.aarch64: W: no-manual-page-for-binary configk
config-kernel.aarch64: E: explicit-lib-dependency libfl-devel
config-kernel.aarch64: E: devel-dependency bison-devel
 3 packages and 0 specfiles checked; 3 errors, 3 warnings, 14 filtered, 3 badness; has taken 0.6 s 



Source checksums
----------------
https://github.com/pjps/config-kernel/archive/e2f8b55/config-kernel-0.2.tar.gz :
  CHECKSUM(SHA256) this package     : 783759630770ff168d8cdafbfa6e48a574de2150772f1c6b71eb3dcb9381e609
  CHECKSUM(SHA256) upstream package : 2874e48974da0d4b25013ef223a9106652dcdce6fcabe32905ba844ffd64f173
diff -r also reports differences


Requires
--------
config-kernel (rpmlib, GLIBC filtered):
    bison
    bison-devel
    flex
    gcc
    libc.so.6()(64bit)
    libfl-devel
    libfl.so.2()(64bit)
    make
    rtld(GNU_HASH)

config-kernel-debuginfo (rpmlib, GLIBC filtered):

config-kernel-debugsource (rpmlib, GLIBC filtered):



Provides
--------
config-kernel:
    config-kernel
    config-kernel(aarch-64)

config-kernel-debuginfo:
    config-kernel-debuginfo
    config-kernel-debuginfo(aarch-64)
    debuginfo(build-id)

config-kernel-debugsource:
    config-kernel-debugsource
    config-kernel-debugsource(aarch-64)



Generated by fedora-review 0.10.0 (e79b66b) last change: 2023-07-24
Command line :/usr/bin/fedora-review -b 2259602
Buildroot used: fedora-rawhide-aarch64
Active plugins: Generic, Shell-api, C/C++
Disabled plugins: fonts, Haskell, Perl, SugarActivity, PHP, Java, Ocaml, R, Python
Disabled flags: EXARCH, EPEL6, EPEL7, DISTTAG, BATCH

Comments:
a) Please use download url for a commit, would expect a url of
https://github.com/pjps/config-kernel/archive/7296aaeea1c9179a7ae3e6f8cb51e66077ad0f83/config-kernel-7296aae.tar.gz
b) Usually needed requires are automtically determined by checking libraries and executables for links to dynamic
libraries, so are omitted from the spec file.  If some runtime dependency cannot be determined this way, then
it is good to explicitly specify it.
c) Any reason for not using the default Fedora compiler flags? Modified the spec file to have:

%global commit      7296aaeea1c9179a7ae3e6f8cb51e66077ad0f83
%global shortcommit %(c=%{commit}; echo ${c:0:7})

Name:           config-kernel
Version:        0.2^7296aae
Release:        2%{?dist}
Summary:        An easy way to edit kernel configuration files and templates

License:        GPL-2.0-or-later
URL:            https://github.com/pjps/config-kernel
Source:         %{URL}/archive/%{commit}/config-kernel-%{shortcommit}.tar.gz

BuildRequires:  bison
BuildRequires:  bison-devel
BuildRequires:  flex
BuildRequires:  gcc
BuildRequires:  make

%if 0%{?fedora}
BuildRequires:  libfl-devel
%else
BuildRequires:  libfl-static
%endif

%description
config-kernel tool helps to edit kernel configuration files and templates.
User can query, enable, disable or toggle CONFIG options via command line
switch or an $EDITOR program, without worrying about option dependencies.

%prep
%autosetup -n %{name}-%{commit}

%build
%make_build %{?_smp_mlags}


%install
mkdir -p %{buildroot}/%{_bindir}
install -m 0755 configk %{buildroot}/%{_bindir}/

%check
./configk -h > /dev/null
./configk -v


and got the following build warnings:

configk.c: In function ‘_init’:
configk.c:184:17: warning: format ‘%d’ expects argument of type ‘int’, but argument 3 has type ‘rlim_t’ {aka ‘long unsigned int’} [-Wformat=]
  184 |         err(-1, "could not set open files limit to: %d", rs.rlim_cur);
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  ~~~~~~~~~~~
      |                                                            |
      |                                                            rlim_t {aka long unsigned int}
configk.c:168:13: warning: unused variable ‘n’ [-Wunused-variable]
  168 |     uint8_t n;
      |             ^
configk.c: In function ‘gets_range’:
configk.c:399:12: warning: unused variable ‘r’ [-Wunused-variable]
  399 |     int8_t r = eescans(EXPR_RANGE, rxp, &rng);
      |            ^
configk.c: In function ‘validate_option’:
configk.c:427:9: warning: pointer targets in assignment from ‘char *’ to ‘uint8_t *’ {aka ‘unsigned char *’} differ in signedness [-Wpointer-sign]
  427 |     val = t->opt_value;
      |         ^
configk.c:432:23: warning: pointer targets in passing argument 1 of ‘atoi’ differ in signedness [-Wpointer-sign]
  432 |         long v = atoi(val);
      |                       ^~~
      |                       |
      |                       uint8_t * {aka unsigned char *}
In file included from /usr/include/features.h:503,
                 from /usr/include/bits/libc-header-start.h:33,
                 from /usr/include/stdio.h:28,
                 from configk.c:17:
/usr/include/stdlib.h:481:1: note: expected ‘const char *’ but argument is of type ‘uint8_t *’ {aka ‘unsigned char *’}
  481 | __NTH (atoi (const char *__nptr))
      | ^~~~~
configk.c:440:20: warning: pointer targets in passing argument 1 of ‘strlen’ differ in signedness [-Wpointer-sign]
  440 |         l = strlen(val);
      |                    ^~~
      |                    |
      |                    uint8_t * {aka unsigned char *}
In file included from configk.h:19,
                 from configk.c:27:
/usr/include/string.h:407:35: note: expected ‘const char *’ but argument is of type ‘uint8_t *’ {aka ‘unsigned char *’}
  407 | extern size_t strlen (const char *__s)
      |                       ~~~~~~~~~~~~^~~
configk.c:441:38: warning: pointer targets in passing argument 2 of ‘strstr’ differ in signedness [-Wpointer-sign]
  441 |         if (l > 1 || !strstr("yYnN", val))
      |                                      ^~~
      |                                      |
      |                                      uint8_t * {aka unsigned char *}
/usr/include/string.h:350:58: note: expected ‘const char *’ but argument is of type ‘uint8_t *’ {aka ‘unsigned char *’}
  350 | extern char *strstr (const char *__haystack, const char *__needle)
      |                                              ~~~~~~~~~~~~^~~~~~~~
configk.c:448:20: warning: pointer targets in passing argument 1 of ‘strlen’ differ in signedness [-Wpointer-sign]
  448 |         l = strlen(val);
      |                    ^~~
      |                    |
      |                    uint8_t * {aka unsigned char *}
/usr/include/string.h:407:35: note: expected ‘const char *’ but argument is of type ‘uint8_t *’ {aka ‘unsigned char *’}
  407 | extern size_t strlen (const char *__s)
      |                       ~~~~~~~~~~~~^~~
configk.c:449:40: warning: pointer targets in passing argument 2 of ‘strstr’ differ in signedness [-Wpointer-sign]
  449 |         if (l > 1 || !strstr("yYnNmM", val))
      |                                        ^~~
      |                                        |
      |                                        uint8_t * {aka unsigned char *}
/usr/include/string.h:350:58: note: expected ‘const char *’ but argument is of type ‘uint8_t *’ {aka ‘unsigned char *’}
  350 | extern char *strstr (const char *__haystack, const char *__needle)
      |                                              ~~~~~~~~~~~~^~~~~~~~
configk.c:456:20: warning: pointer targets in passing argument 1 of ‘strlen’ differ in signedness [-Wpointer-sign]
  456 |         l = strlen(val);
      |                    ^~~
      |                    |
      |                    uint8_t * {aka unsigned char *}
/usr/include/string.h:407:35: note: expected ‘const char *’ but argument is of type ‘uint8_t *’ {aka ‘unsigned char *’}
  407 | extern size_t strlen (const char *__s)
      |                       ~~~~~~~~~~~~^~~
configk.c:461:23: warning: pointer targets in initialization of ‘char *’ from ‘uint8_t *’ {aka ‘unsigned char *’} differ in signedness [-Wpointer-sign]
  461 |             char *c = val + 2;
      |                       ^~~
configk.c:468:29: warning: pointer targets in passing argument 1 of ‘strtol’ differ in signedness [-Wpointer-sign]
  468 |             long v = strtol(val, NULL, 0);
      |                             ^~~
      |                             |
      |                             uint8_t * {aka unsigned char *}
In file included from configk.h:20:
/usr/include/stdlib.h:177:48: note: expected ‘const char * restrict’ but argument is of type ‘uint8_t *’ {aka ‘unsigned char *’}
  177 | extern long int strtol (const char *__restrict __nptr,
      |                         ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~
configk.c:429:5: warning: enumeration value ‘CSTRING’ not handled in switch [-Wswitch]
  429 |     switch (t->opt_type)
      |     ^~~~~~
configk.c:429:5: warning: enumeration value ‘CVALNOSET’ not handled in switch [-Wswitch]
configk.c: In function ‘set_option’:
configk.c:501:13: warning: unused variable ‘r’ [-Wunused-variable]
  501 |         int r = eescans(EXPR_DEFAULT, t->opt_value, &val);
      |             ^
configk.c: In function ‘toggle_configs’:
configk.c:537:23: warning: unused variable ‘svp’ [-Wunused-variable]
  537 |     char *tok, *slt, *svp;
      |                       ^~~
configk.c:537:17: warning: unused variable ‘slt’ [-Wunused-variable]
  537 |     char *tok, *slt, *svp;
      |                 ^~~
configk.c:537:11: warning: unused variable ‘tok’ [-Wunused-variable]
  537 |     char *tok, *slt, *svp;
      |           ^~~
configk.c: In function ‘check_kconfigs’:
configk.c:638:13: warning: pointer targets in passing argument 1 of ‘ccparse’ differ in signedness [-Wpointer-sign]
  638 |     ccparse(&r);
      |             ^~
      |             |
      |             int8_t * {aka signed char *}
In file included from configk.c:30:
cparse.tab.h:107:20: note: expected ‘char *’ but argument is of type ‘int8_t *’ {aka ‘signed char *’}
  107 | int ccparse (char *ret);
      |              ~~~~~~^~~
configk.c: In function ‘edit_kconfigs’:
configk.c:732:18: warning: pointer targets in passing argument 2 of ‘waitpid’ differ in signedness [-Wpointer-sign]
  732 |     waitpid(pid, &st, 0);
      |                  ^~~
      |                  |
      |                  uint32_t * {aka unsigned int *}
In file included from configk.c:24:
/usr/include/sys/wait.h:106:45: note: expected ‘int *’ but argument is of type ‘uint32_t *’ {aka ‘unsigned int *’}
  106 | extern __pid_t waitpid (__pid_t __pid, int *__stat_loc, int __options);
      |                                        ~~~~~^~~~~~~~~~
configk.c:752:5: warning: ignoring return value of ‘scanf’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
  752 |     scanf("%c%*C", &r);
      |     ^~~~~~~~~~~~~~~~~~
configk.c: In function ‘gets_range’:
configk.c:387:28: warning: ‘;range ’ directive output may be truncated writing 7 bytes into a region of size between 1 and 255 [-Wformat-truncation=]
  387 |             snprintf(t, l, "%s;range %s", rxp, tok);
      |                            ^~~~~~~~~~~~~
In file included from /usr/include/stdio.h:980:
In function ‘snprintf’,
    inlined from ‘gets_range’ at configk.c:387:13:
/usr/include/bits/stdio2.h:54:10: note: ‘__snprintf_chk’ output 8 or more bytes (assuming 262) into a destination of size 255
   54 |   return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   55 |                                    __glibc_objsize (__s), __fmt,
      |                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   56 |                                    __va_arg_pack ());
      |                                    ~~~~~~~~~~~~~~~~~
In function ‘read’,
    inlined from ‘copy_file.isra.0’ at configk.c:672:9:
/usr/include/bits/unistd.h:28:10: warning: ‘*read’ specified size 18446744073709551614 exceeds maximum object size 9223372036854775807 [-Wstringop-overflow=]
   28 |   return __glibc_fortify (read, __nbytes, sizeof (char),
      |          ^~~~~~~~~~~~~~~
/usr/include/bits/unistd-decl.h: In function ‘copy_file.isra.0’:
/usr/include/bits/unistd-decl.h:29:16: note: in a call to function ‘*read’ declared with attribute ‘access (write_only, 2, 3)’
   29 | extern ssize_t __REDIRECT_FORTIFY (__read_alias, (int __fd, void *__buf,
      |                ^~~~~~~~~~~~~~~~~~
In file included from /usr/include/fcntl.h:342,
                 from configk.c:19:
In function ‘open’,
    inlined from ‘copy_file.isra.0’ at configk.c:676:15:
/usr/include/bits/fcntl2.h:50:11: error: call to ‘__open_missing_mode’ declared with attribute error: open with O_CREAT or O_TMPFILE in second argument needs 3 arguments
   50 |           __open_missing_mode ();
      |           ^~~~~~~~~~~~~~~~~~~~~~
configk.c: In function ‘append’:
configk.c:281:9: warning: ‘__strncpy_chk’ specified bound depends on the length of the source argument [-Wstringop-truncation]
  281 |         strncpy(tmp, dst, strlen(dst));
      |         ^
configk.c:281:9: note: length computed here
  281 |         strncpy(tmp, dst, strlen(dst));
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
lex.yy.c:4136:16: warning: ‘input’ defined but not used [-Wunused-function]
 4136 | #else
      |                ^    
lex.yy.c:4089:17: warning: ‘yyunput’ defined but not used [-Wunused-function]
 4089 | 
      |                 ^      
lex.ee.c: In function ‘eelex’:
lex.ee.c:2220:19: warning: variable ‘yylloc’ set but not used [-Wunused-but-set-variable]
 2220 | 
      |                   ^     
lex.ee.c: At top level:
lex.ee.c:2827:16: warning: ‘input’ defined but not used [-Wunused-function]
 2827 | #else
      |                ^    
eparse.y: In function ‘eeparse’:
eparse.y:84:13: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
   84 |         if ($$ = $4)
      |             ^
eparse.y:267:29: warning: format ‘%s’ expects argument of type ‘char *’, but argument 4 has type ‘int’ [-Wformat=]
  267 |             fprintf(stderr, "$(%s) if %s\n", $2, $6);
      |                             ^~~~~~~~~~~~~~~                                 
      |                                                                        |
      |                                                                        int
clexer.l: In function ‘cclex’:
clexer.l:53:1: error: format not a string literal and no format arguments [-Werror=format-security]
   53 | <*>.               { if (SHOW_CONFIG == postedit) printf(yytext); }
      | ^
lex.cc.c:1357:19: warning: variable ‘yylloc’ set but not used [-Wunused-but-set-variable]
 1357 | 
      |                   ^     
lex.cc.c: At top level:
lex.cc.c:1865:16: warning: ‘input’ defined but not used [-Wunused-function]
 1865 | #else
      |                ^    
lex.cc.c:1822:17: warning: ‘yyunput’ defined but not used [-Wunused-function]
 1822 | 
      |                 ^      
cc1: some warnings being treated as errors
cparse.tab.c: In function ‘ccparse’:
cparse.tab.c:1626:27: warning: pointer targets in passing argument 2 of ‘ccerror’ differ in signedness [-Wpointer-sign]
 1626 |         yyerror (&yylloc, ret, yymsgp);
      |                           ^~~
      |                           |
      |                           char *
cparse.y:46:25: note: expected ‘int8_t *’ {aka ‘signed char *’} but argument is of type ‘char *’
   46 | void yyerror(YYLTYPE *, int8_t *, char const *);
      |                         ^~~~~~~~
cparse.tab.c:1744:21: warning: pointer targets in passing argument 2 of ‘ccerror’ differ in signedness [-Wpointer-sign]
 1744 |   yyerror (&yylloc, ret, YY_("memory exhausted"));
      |                     ^~~
      |                     |
      |                     char *
cparse.y:46:25: note: expected ‘int8_t *’ {aka ‘signed char *’} but argument is of type ‘char *’
   46 | void yyerror(YYLTYPE *, int8_t *, char const *);
      |                         ^~~~~~~~
make: *** [Makefile:6: configk] Error 1

Comment 10 pjp 2024-02-07 10:17:10 UTC
Hello Benson,

* Thank you so much for the detailed review and sharing a revised spec file, really appreciate it. I have used it below.

Please see:
  Spec: https://pjp.fedorapeople.org/config-kernel.spec
  SRPM: https://pjp.fedorapeople.org/config-kernel-0.2^18b6853-3.fc39.src.rpm

===
$ rpmlint RPMS/x86_64/config-kernel-0.2^18b6853-3.fc39.x86_64.rpm SRPMS/config-kernel-0.2^18b6853-3.fc39.src.rpm SPECS/config-kernel.spec 
============================ rpmlint session starts ============================
rpmlint: 2.5.0
configuration:
    /usr/lib/python3.12/site-packages/rpmlint/configdefaults.toml
    /etc/xdg/rpmlint/fedora-legacy-licenses.toml
    /etc/xdg/rpmlint/fedora-spdx-licenses.toml
    /etc/xdg/rpmlint/fedora.toml
    /etc/xdg/rpmlint/scoring.toml
    /etc/xdg/rpmlint/users-groups.toml
    /etc/xdg/rpmlint/warn-on-functions.toml
checks: 32, packages: 3

config-kernel.x86_64: W: position-independent-executable-suggested /usr/bin/configk
 2 packages and 1 specfiles checked; 0 errors, 1 warnings, 8 filtered, 0 badness; has taken 0.2 s
===

* I've fixed all of the compiler warnings/errors. The spec file and package related errors/warnings are also fixed, except the above one, even after trying -fpie/-fPIE/-fPIC options.

* Please kindly review it again. Hope it works.

Thank you.

Comment 11 Fedora Review Service 2024-02-07 10:23:48 UTC
Copr build:
https://copr.fedorainfracloud.org/coprs/build/6996223
(succeeded)

Review template:
https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2259602-config-kernel/fedora-rawhide-x86_64/06996223-config-kernel/fedora-review/review.txt

Please take a look if any issues were found.


---
This comment was created by the fedora-review-service
https://github.com/FrostyX/fedora-review-service

If you want to trigger a new Copr build, add a comment containing new
Spec and SRPM URLs or [fedora-review-service-build] string.

Comment 12 Benson Muite 2024-02-08 17:56:32 UTC
Package Review
==============

Legend:
[x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated
[ ] = Manual review needed



===== MUST items =====

C/C++:
[-]: Provides: bundled(gnulib) in place as required.
     Note: Sources not installed
[ ]: Package does not contain kernel modules.
[x]: If your application is a C or C++ application you must list a
     BuildRequires against gcc, gcc-c++ or clang.
[x]: Header files in -devel subpackage, if present.
[x]: Package does not contain any libtool archives (.la)
[x]: Package contains no static executables.
[x]: Rpath absent or only used for internal libs.

Generic:
[x]: Package is licensed with an open-source compatible license and meets
     other legal requirements as defined in the legal section of Packaging
     Guidelines.
[x]: License field in the package spec file matches the actual license.
     Note: Checking patched sources after %prep for licenses. Licenses
     found: "GNU General Public License, Version 2", "Unknown or
     generated", "GNU General Public License v2.0 or later", "*No
     copyright* GNU General Public License, Version 2". 2 files have
     unknown license. Detailed output of licensecheck in
     /home/fedora/2259602-config-kernel/licensecheck.txt
[x]: License file installed when any subpackage combination is installed.
[ ]: %build honors applicable compiler flags or justifies otherwise.
[x]: Package contains no bundled libraries without FPC exception.
[x]: Changelog in prescribed format.
[x]: Sources contain only permissible code or content.
[-]: Package contains desktop file if it is a GUI application.
[-]: Development files must be in a -devel package
[x]: Package uses nothing in %doc for runtime.
[x]: Package consistently uses macros (instead of hard-coded directory
     names).
[x]: Package is named according to the Package Naming Guidelines.
[x]: Package does not generate any conflict.
[x]: Package obeys FHS, except libexecdir and /usr/target.
[-]: If the package is a rename of another package, proper Obsoletes and
     Provides are present.
[x]: Requires correct, justified where necessary.
[x]: Spec file is legible and written in American English.
[-]: Package contains systemd file(s) if in need.
[-]: Useful -debuginfo package or justification otherwise.
[x]: Package is not known to require an ExcludeArch tag.
[x]: Package complies to the Packaging Guidelines
[x]: Package successfully compiles and builds into binary rpms on at least
     one supported primary architecture.
[x]: Package installs properly.
[x]: Rpmlint is run on all rpms the build produces.
     Note: There are rpmlint messages (see attachment).
[x]: If (and only if) the source package includes the text of the
     license(s) in its own file, then that file, containing the text of the
     license(s) for the package is included in %license.
[x]: The License field must be a valid SPDX expression.
[x]: Package requires other packages for directories it uses.
[x]: Package must own all directories that it creates.
[x]: Package does not own files or directories owned by other packages.
[x]: Package uses either %{buildroot} or $RPM_BUILD_ROOT
[x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the
     beginning of %install.
[x]: Macros in Summary, %description expandable at SRPM build time.
[x]: Dist tag is present.
[x]: Package does not contain duplicates in %files.
[x]: Permissions on files are set properly.
[x]: Package must not depend on deprecated() packages.
[x]: Package use %makeinstall only when make install DESTDIR=... doesn't
     work.
[x]: Package is named using only allowed ASCII characters.
[x]: Package does not use a name that already exists.
[x]: Package is not relocatable.
[x]: Sources used to build the package match the upstream source, as
     provided in the spec URL.
[x]: Spec file name must match the spec package %{name}, in the format
     %{name}.spec.
[x]: File names are valid UTF-8.
[x]: Large documentation must go in a -doc subpackage. Large could be size
     (~1MB) or number of files.
     Note: Documentation size is 7271 bytes in 1 files.
[x]: Packages must not store files under /srv, /opt or /usr/local

===== SHOULD items =====

Generic:
[-]: If the source package does not include license text(s) as a separate
     file from upstream, the packager SHOULD query upstream to include it.
[x]: Final provides and requires are sane (see attachments).
[ ]: Package functions as described.
[x]: Latest version is packaged.
[x]: Package does not include license text files separate from upstream.
[-]: Sources are verified with gpgverify first in %prep if upstream
     publishes signatures.
     Note: gpgverify is not used.
[x]: Package should compile and build into binary rpms on all supported
     architectures.
[x]: %check is present and all tests pass.
[x]: Packages should try to preserve timestamps of original installed
     files.
[x]: Reviewer should test that the package builds in mock.
[x]: Buildroot is not present
[x]: Package has no %clean section with rm -rf %{buildroot} (or
     $RPM_BUILD_ROOT)
[x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin.
[x]: Fully versioned dependency in subpackages if applicable.
[x]: Packager, Vendor, PreReq, Copyright tags should not be in spec file
[x]: Sources can be downloaded from URI in Source: tag
[x]: SourceX is a working URL.
[x]: Spec use %global instead of %define unless justified.

===== EXTRA items =====

Generic:
[x]: Rpmlint is run on debuginfo package(s).
     Note: No rpmlint messages.
[x]: Rpmlint is run on all installed packages.
     Note: There are rpmlint messages (see attachment).
[x]: Large data in /usr/share should live in a noarch subpackage if package
     is arched.
[x]: Spec file according to URL is the same as in SRPM.


Rpmlint
-------
Checking: config-kernel-0.2^18b6853-3.fc40.x86_64.rpm
          config-kernel-debuginfo-0.2^18b6853-3.fc40.x86_64.rpm
          config-kernel-debugsource-0.2^18b6853-3.fc40.x86_64.rpm
          config-kernel-0.2^18b6853-3.fc40.src.rpm
============================ rpmlint session starts ============================
rpmlint: 2.5.0
configuration:
    /usr/lib/python3.12/site-packages/rpmlint/configdefaults.toml
    /etc/xdg/rpmlint/fedora-legacy-licenses.toml
    /etc/xdg/rpmlint/fedora-spdx-licenses.toml
    /etc/xdg/rpmlint/fedora.toml
    /etc/xdg/rpmlint/scoring.toml
    /etc/xdg/rpmlint/users-groups.toml
    /etc/xdg/rpmlint/warn-on-functions.toml
rpmlintrc: [PosixPath('/tmp/tmpftd88m4v')]
checks: 32, packages: 4

config-kernel.x86_64: W: position-independent-executable-suggested /usr/bin/configk
 4 packages and 0 specfiles checked; 0 errors, 1 warnings, 18 filtered, 0 badness; has taken 0.6 s 




Rpmlint (debuginfo)
-------------------
Checking: config-kernel-debuginfo-0.2^18b6853-3.fc40.x86_64.rpm
============================ rpmlint session starts ============================
rpmlint: 2.5.0
configuration:
    /usr/lib/python3.12/site-packages/rpmlint/configdefaults.toml
    /etc/xdg/rpmlint/fedora-legacy-licenses.toml
    /etc/xdg/rpmlint/fedora-spdx-licenses.toml
    /etc/xdg/rpmlint/fedora.toml
    /etc/xdg/rpmlint/scoring.toml
    /etc/xdg/rpmlint/users-groups.toml
    /etc/xdg/rpmlint/warn-on-functions.toml
rpmlintrc: [PosixPath('/tmp/tmpaszekuic')]
checks: 32, packages: 1

 1 packages and 0 specfiles checked; 0 errors, 0 warnings, 7 filtered, 0 badness; has taken 0.2 s 





Rpmlint (installed packages)
----------------------------
============================ rpmlint session starts ============================
rpmlint: 2.5.0
configuration:
    /usr/lib/python3.12/site-packages/rpmlint/configdefaults.toml
    /etc/xdg/rpmlint/fedora-legacy-licenses.toml
    /etc/xdg/rpmlint/fedora-spdx-licenses.toml
    /etc/xdg/rpmlint/fedora.toml
    /etc/xdg/rpmlint/scoring.toml
    /etc/xdg/rpmlint/users-groups.toml
    /etc/xdg/rpmlint/warn-on-functions.toml
checks: 32, packages: 3

config-kernel.x86_64: W: unused-direct-shlib-dependency /usr/bin/configk /lib64/libfl.so.2
config-kernel.x86_64: W: position-independent-executable-suggested /usr/bin/configk
 3 packages and 0 specfiles checked; 0 errors, 2 warnings, 14 filtered, 0 badness; has taken 0.6 s 



Source checksums
----------------
https://github.com/pjps/config-kernel/archive/18b6853077bbbc1f3543377eccdd25919d3fda70/config-kernel-18b6853077bbbc1f3543377eccdd25919d3fda70.tar.gz :
  CHECKSUM(SHA256) this package     : 6fe0e3b4f6eaee429cb0a8ad75806da259380e1bbb8834c388bf50f6fb9c3e8d
  CHECKSUM(SHA256) upstream package : 6fe0e3b4f6eaee429cb0a8ad75806da259380e1bbb8834c388bf50f6fb9c3e8d


Requires
--------
config-kernel (rpmlib, GLIBC filtered):
    libc.so.6()(64bit)
    libfl.so.2()(64bit)
    rtld(GNU_HASH)

config-kernel-debuginfo (rpmlib, GLIBC filtered):

config-kernel-debugsource (rpmlib, GLIBC filtered):



Provides
--------
config-kernel:
    config-kernel
    config-kernel(x86-64)

config-kernel-debuginfo:
    config-kernel-debuginfo
    config-kernel-debuginfo(x86-64)
    debuginfo(build-id)

config-kernel-debugsource:
    config-kernel-debugsource
    config-kernel-debugsource(x86-64)



Generated by fedora-review 0.10.0 (e79b66b) last change: 2023-07-24
Command line :/usr/bin/fedora-review -b 2259602
Buildroot used: fedora-rawhide-x86_64
Active plugins: Shell-api, Generic, C/C++
Disabled plugins: Java, PHP, SugarActivity, Haskell, fonts, Perl, Python, Ocaml, R
Disabled flags: EXARCH, EPEL6, EPEL7, DISTTAG, BATCH

Comments:
a) Thanks for the updates.
b) builds on all architectures:
https://koji.fedoraproject.org/koji/taskinfo?taskID=113171799
c) Two warnings
config-kernel.x86_64: W: unused-direct-shlib-dependency /usr/bin/configk /lib64/libfl.so.2
config-kernel.x86_64: W: position-independent-executable-suggested /usr/bin/configk

rpmlint -e position-independent-executable-suggested
position-independent-executable-suggested:
This executable should be position independent (all binaries should).  Check
that it is built with -fPIE/-fpie in compiler flags and -pie in linker flags.

Maybe try split the makefile to have a linking step rather than building and linking in one command.
This would allow -pie to be added to the linker command.

Comment 13 pjp 2024-02-09 08:02:04 UTC
Hello Benson,

* Thanks so much for the review, I appreciate it.

(In reply to Benson Muite from comment #12)
> c) Two warnings
> config-kernel.x86_64: W: unused-direct-shlib-dependency /usr/bin/configk /lib64/libfl.so.2

* Hmmn, I did not get this warning.

> config-kernel.x86_64: W: position-independent-executable-suggested
> /usr/bin/configk
> 
> rpmlint -e position-independent-executable-suggested
> position-independent-executable-suggested:
> This executable should be position independent (all binaries should).  Check
> that it is built with -fPIE/-fpie in compiler flags and -pie in linker flags.
> 
> Maybe try split the makefile to have a linking step rather than building and
> linking in one command. This would allow -pie to be added to the linker command.


* I tried adding "-pie -PIE -pic -PIC" to $CFLAGS & $LDFLAGS both, it does not help to fix the warning.

===
# dnf info bison-devel
Installed Packages
Source       : bison-3.8.2-5.fc39.src.rpm
Repository   : @System
From repo    : fedora
Summary      : -ly library for development using Bison-generated parsers
URL          : http://www.gnu.org/software/bison/
Description  : The bison-devel package contains the -ly library sometimes used by
             : programs using Bison-generated parsers.  If you are developing programs
             : using Bison, you might want to link with this library.  This library
             : is not required by all Bison-generated parsers, but may be employed by
             : simple programs to supply minimal support for the generated parsers.
#
# rpmls bison-devel
-rw-r--r--  /usr/lib64/liby.a
drwxr-xr-x  /usr/share/doc/bison-devel
-rw-r--r--  /usr/share/doc/bison-devel/COPYING
# 
# file /usr/lib64/liby.a 
/usr/lib64/liby.a: current ar archive
===

* It looks like '-ly' Bison yacc(1) library is a static object archive, not a shared library. Likely that is causing generation of a non-position-independent binary. Not sure how to fix it.


Thank you.

Comment 14 pjp 2024-02-09 10:37:07 UTC
Hello Benson,

(In reply to Benson Muite from comment #12)
> c) Two warnings
> config-kernel.x86_64: W: unused-direct-shlib-dependency /usr/bin/configk /lib64/libfl.so.2

* Fixed this by removing explicit linkage to -lfl.
$ ldd ./configk
	linux-vdso.so.1 (0x00007fff4eb57000)
	libc.so.6 => /lib64/libc.so.6 (0x00007f8a7f21b000)
	/lib64/ld-linux-x86-64.so.2 (0x00007f8a7f438000)

> config-kernel.x86_64: W: position-independent-executable-suggested /usr/bin/configk

* CFLAGS="-fPIE -pie" helped to fix this.
$ file ./configk
./configk: ELF 64-bit LSB pie executable, x86-64, version 1\012-  (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=534ce544c299439bb4ac64dce83fbede5639ce66, for GNU/Linux 3.2.0, stripped\012- data


Please see:
    SPEC: https://pjp.fedorapeople.org/config-kernel.spec
    SRPM: https://pjp.fedorapeople.org/config-kernel-0.2^6640364-4.fc39.src.rpm


* Please have a look again. Hope it works.

Thank you.

Comment 15 Fedora Review Service 2024-02-10 05:13:14 UTC
Created attachment 2016144 [details]
The .spec file difference from Copr build 6996223 to 7005481

Comment 16 Fedora Review Service 2024-02-10 05:13:17 UTC
Copr build:
https://copr.fedorainfracloud.org/coprs/build/7005481
(succeeded)

Review template:
https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2259602-config-kernel/fedora-rawhide-x86_64/07005481-config-kernel/fedora-review/review.txt

Please take a look if any issues were found.


---
This comment was created by the fedora-review-service
https://github.com/FrostyX/fedora-review-service

If you want to trigger a new Copr build, add a comment containing new
Spec and SRPM URLs or [fedora-review-service-build] string.

Comment 17 Benson Muite 2024-02-14 07:05:22 UTC
Package Review
==============

Legend:
[x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated
[ ] = Manual review needed



===== MUST items =====

C/C++:
[-]: Provides: bundled(gnulib) in place as required.
     Note: Sources not installed
[x]: Package does not contain kernel modules.
[x]: If your application is a C or C++ application you must list a
     BuildRequires against gcc, gcc-c++ or clang.
[x]: Header files in -devel subpackage, if present.
[x]: Package does not contain any libtool archives (.la)
[x]: Package contains no static executables.
[x]: Rpath absent or only used for internal libs.

Generic:
[x]: Package is licensed with an open-source compatible license and meets
     other legal requirements as defined in the legal section of Packaging
     Guidelines.
[x]: License field in the package spec file matches the actual license.
     Note: Checking patched sources after %prep for licenses. Licenses
     found: "GNU General Public License, Version 2", "Unknown or
     generated", "GNU General Public License v2.0 or later", "*No
     copyright* GNU General Public License, Version 2". 2 files have
     unknown license. Detailed output of licensecheck in
     /home/fedora/2259602-config-kernel/licensecheck.txt
[x]: License file installed when any subpackage combination is installed.
[x]: %build honors applicable compiler flags or justifies otherwise.
[x]: Package contains no bundled libraries without FPC exception.
[x]: Changelog in prescribed format.
[x]: Sources contain only permissible code or content.
[-]: Package contains desktop file if it is a GUI application.
[-]: Development files must be in a -devel package
[x]: Package uses nothing in %doc for runtime.
[x]: Package consistently uses macros (instead of hard-coded directory
     names).
[x]: Package is named according to the Package Naming Guidelines.
[x]: Package does not generate any conflict.
[x]: Package obeys FHS, except libexecdir and /usr/target.
[-]: If the package is a rename of another package, proper Obsoletes and
     Provides are present.
[x]: Requires correct, justified where necessary.
[x]: Spec file is legible and written in American English.
[-]: Package contains systemd file(s) if in need.
[x]: Useful -debuginfo package or justification otherwise.
[x]: Package is not known to require an ExcludeArch tag.
[x]: Package complies to the Packaging Guidelines
[x]: Package successfully compiles and builds into binary rpms on at least
     one supported primary architecture.
[x]: Package installs properly.
[x]: Rpmlint is run on all rpms the build produces.
     Note: No rpmlint messages.
[x]: If (and only if) the source package includes the text of the
     license(s) in its own file, then that file, containing the text of the
     license(s) for the package is included in %license.
[x]: The License field must be a valid SPDX expression.
[x]: Package requires other packages for directories it uses.
[x]: Package must own all directories that it creates.
[x]: Package does not own files or directories owned by other packages.
[x]: Package uses either %{buildroot} or $RPM_BUILD_ROOT
[x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the
     beginning of %install.
[x]: Macros in Summary, %description expandable at SRPM build time.
[x]: Dist tag is present.
[x]: Package does not contain duplicates in %files.
[x]: Permissions on files are set properly.
[x]: Package must not depend on deprecated() packages.
[x]: Package use %makeinstall only when make install DESTDIR=... doesn't
     work.
[x]: Package is named using only allowed ASCII characters.
[x]: Package does not use a name that already exists.
[x]: Package is not relocatable.
[x]: Sources used to build the package match the upstream source, as
     provided in the spec URL.
[x]: Spec file name must match the spec package %{name}, in the format
     %{name}.spec.
[x]: File names are valid UTF-8.
[x]: Large documentation must go in a -doc subpackage. Large could be size
     (~1MB) or number of files.
     Note: Documentation size is 7271 bytes in 1 files.
[x]: Packages must not store files under /srv, /opt or /usr/local

===== SHOULD items =====

Generic:
[-]: If the source package does not include license text(s) as a separate
     file from upstream, the packager SHOULD query upstream to include it.
[x]: Final provides and requires are sane (see attachments).
[ ]: Package functions as described.
[x]: Latest version is packaged.
[x]: Package does not include license text files separate from upstream.
[-]: Sources are verified with gpgverify first in %prep if upstream
     publishes signatures.
     Note: gpgverify is not used.
[x]: Package should compile and build into binary rpms on all supported
     architectures.
[x]: %check is present and all tests pass.
[x]: Packages should try to preserve timestamps of original installed
     files.
[x]: Reviewer should test that the package builds in mock.
[x]: Buildroot is not present
[x]: Package has no %clean section with rm -rf %{buildroot} (or
     $RPM_BUILD_ROOT)
[x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin.
[x]: Fully versioned dependency in subpackages if applicable.
[x]: Packager, Vendor, PreReq, Copyright tags should not be in spec file
[x]: Sources can be downloaded from URI in Source: tag
[x]: SourceX is a working URL.
[x]: Spec use %global instead of %define unless justified.

===== EXTRA items =====

Generic:
[x]: Rpmlint is run on debuginfo package(s).
     Note: No rpmlint messages.
[x]: Rpmlint is run on all installed packages.
     Note: No rpmlint messages.
[x]: Large data in /usr/share should live in a noarch subpackage if package
     is arched.
[x]: Spec file according to URL is the same as in SRPM.


Rpmlint
-------
Checking: config-kernel-0.2^6640364-4.fc40.x86_64.rpm
          config-kernel-debuginfo-0.2^6640364-4.fc40.x86_64.rpm
          config-kernel-debugsource-0.2^6640364-4.fc40.x86_64.rpm
          config-kernel-0.2^6640364-4.fc40.src.rpm
============================ rpmlint session starts ============================
rpmlint: 2.5.0
configuration:
    /usr/lib/python3.12/site-packages/rpmlint/configdefaults.toml
    /etc/xdg/rpmlint/fedora-legacy-licenses.toml
    /etc/xdg/rpmlint/fedora-spdx-licenses.toml
    /etc/xdg/rpmlint/fedora.toml
    /etc/xdg/rpmlint/scoring.toml
    /etc/xdg/rpmlint/users-groups.toml
    /etc/xdg/rpmlint/warn-on-functions.toml
rpmlintrc: [PosixPath('/tmp/tmpqx3iluk_')]
checks: 32, packages: 4

 4 packages and 0 specfiles checked; 0 errors, 0 warnings, 16 filtered, 0 badness; has taken 0.5 s 




Rpmlint (debuginfo)
-------------------
Checking: config-kernel-debuginfo-0.2^6640364-4.fc40.x86_64.rpm
============================ rpmlint session starts ============================
rpmlint: 2.5.0
configuration:
    /usr/lib/python3.12/site-packages/rpmlint/configdefaults.toml
    /etc/xdg/rpmlint/fedora-legacy-licenses.toml
    /etc/xdg/rpmlint/fedora-spdx-licenses.toml
    /etc/xdg/rpmlint/fedora.toml
    /etc/xdg/rpmlint/scoring.toml
    /etc/xdg/rpmlint/users-groups.toml
    /etc/xdg/rpmlint/warn-on-functions.toml
rpmlintrc: [PosixPath('/tmp/tmpnxhn38c9')]
checks: 32, packages: 1

 1 packages and 0 specfiles checked; 0 errors, 0 warnings, 5 filtered, 0 badness; has taken 0.2 s 





Rpmlint (installed packages)
----------------------------
============================ rpmlint session starts ============================
rpmlint: 2.5.0
configuration:
    /usr/lib/python3.12/site-packages/rpmlint/configdefaults.toml
    /etc/xdg/rpmlint/fedora-legacy-licenses.toml
    /etc/xdg/rpmlint/fedora-spdx-licenses.toml
    /etc/xdg/rpmlint/fedora.toml
    /etc/xdg/rpmlint/scoring.toml
    /etc/xdg/rpmlint/users-groups.toml
    /etc/xdg/rpmlint/warn-on-functions.toml
checks: 32, packages: 3

 3 packages and 0 specfiles checked; 0 errors, 0 warnings, 13 filtered, 0 badness; has taken 0.6 s 



Source checksums
----------------
https://github.com/pjps/config-kernel/archive/66403648970d7cb11d1e48555b014cb9ce78818d/config-kernel-66403648970d7cb11d1e48555b014cb9ce78818d.tar.gz :
  CHECKSUM(SHA256) this package     : b1b20f76776feb2c56bf4378498b6e492d8b72fa4a79fe9a62cf538a72793e8b
  CHECKSUM(SHA256) upstream package : b1b20f76776feb2c56bf4378498b6e492d8b72fa4a79fe9a62cf538a72793e8b


Requires
--------
config-kernel (rpmlib, GLIBC filtered):
    libc.so.6()(64bit)
    rtld(GNU_HASH)

config-kernel-debuginfo (rpmlib, GLIBC filtered):

config-kernel-debugsource (rpmlib, GLIBC filtered):



Provides
--------
config-kernel:
    config-kernel
    config-kernel(x86-64)

config-kernel-debuginfo:
    config-kernel-debuginfo
    config-kernel-debuginfo(x86-64)
    debuginfo(build-id)

config-kernel-debugsource:
    config-kernel-debugsource
    config-kernel-debugsource(x86-64)



Generated by fedora-review 0.10.0 (e79b66b) last change: 2023-07-24
Command line :/usr/bin/fedora-review -b 2259602
Buildroot used: fedora-rawhide-x86_64
Active plugins: Shell-api, C/C++, Generic
Disabled plugins: R, Java, Ocaml, Haskell, Perl, Python, fonts, PHP, SugarActivity
Disabled flags: EXARCH, EPEL6, EPEL7, DISTTAG, BATCH

Comments:
a) Thanks. Approved.

Comment 18 pjp 2024-02-15 10:20:02 UTC
Great, thanks so much. :)

Comment 19 Fedora Admin user for bugzilla script actions 2024-02-15 10:25:39 UTC
The Pagure repository was created at https://src.fedoraproject.org/rpms/config-kernel

Comment 20 Fedora Update System 2024-02-17 17:04:37 UTC
FEDORA-2024-40d429b903 (config-kernel-0.3-1.fc38) has been submitted as an update to Fedora 38.
https://bodhi.fedoraproject.org/updates/FEDORA-2024-40d429b903

Comment 21 Fedora Update System 2024-02-17 17:04:37 UTC
FEDORA-2024-67e653a525 (config-kernel-0.3-1.fc39) has been submitted as an update to Fedora 39.
https://bodhi.fedoraproject.org/updates/FEDORA-2024-67e653a525

Comment 22 Fedora Update System 2024-02-18 01:49:11 UTC
FEDORA-2024-67e653a525 has been pushed to the Fedora 39 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf install --enablerepo=updates-testing --refresh --advisory=FEDORA-2024-67e653a525 \*`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2024-67e653a525

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 23 Fedora Update System 2024-02-18 02:32:48 UTC
FEDORA-2024-40d429b903 has been pushed to the Fedora 38 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf install --enablerepo=updates-testing --refresh --advisory=FEDORA-2024-40d429b903 \*`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2024-40d429b903

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 24 Fedora Update System 2024-02-26 00:47:09 UTC
FEDORA-2024-40d429b903 (config-kernel-0.3-1.fc38) has been pushed to the Fedora 38 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 25 Fedora Update System 2024-02-26 01:12:24 UTC
FEDORA-2024-67e653a525 (config-kernel-0.3-1.fc39) has been pushed to the Fedora 39 stable repository.
If problem still persists, please make note of it in this bug report.


Note You need to log in before you can comment on or make changes to this bug.