Bug 2448590 - Review Request: sgx-pccs - SGX Provisioning Certificate Caching Service
Summary: Review Request: sgx-pccs - SGX Provisioning Certificate Caching Service
Keywords:
Status: RELEASE_PENDING
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Marc-Andre Lureau
QA Contact: Fedora Extras Quality Assurance
URL: https://github.com/intel/confidential...
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2026-03-18 10:35 UTC by Daniel Berrangé
Modified: 2026-03-25 09:51 UTC (History)
2 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed:
Type: ---
Embargoed:
marcandre.lureau: fedora-review+


Attachments (Terms of Use)
The .spec file difference from Copr build 10236489 to 10256452 (2.97 KB, patch)
2026-03-24 10:05 UTC, Fedora Review Service
no flags Details | Diff
The .spec file difference from Copr build 10256452 to 10256909 (606 bytes, patch)
2026-03-24 13:06 UTC, Fedora Review Service
no flags Details | Diff
The .spec file difference from Copr build 10256909 to 10257515 (663 bytes, patch)
2026-03-24 16:56 UTC, Fedora Review Service
no flags Details | Diff

Description Daniel Berrangé 2026-03-18 10:35:14 UTC
Spec URL: https://berrange.fedorapeople.org/review/sgx-pccs/sgx-pccs.spec
SRPM URL: https://berrange.fedorapeople.org/review/sgx-pccs/sgx-pccs-1.25-1.fc45.src.rpm
Description: SGX Provisioning Certificate Caching Service
Fedora Account System Username: berrange

Comment 1 Fedora Review Service 2026-03-18 10:42:29 UTC
Copr build:
https://copr.fedorainfracloud.org/coprs/build/10236489
(succeeded)

Review template:
https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2448590-sgx-pccs/fedora-rawhide-x86_64/10236489-sgx-pccs/fedora-review/review.txt

Found issues:

- sgx-pccs : /usr/lib/node_modules/pccs/node_modules/node-addon-api/napi-inl.deprecated.h sgx-pccs : /usr/lib/node_modules/pccs/node_modules/node-addon-api/napi-inl.h sgx-pccs : /usr/lib/node_modules/pccs/node_modules/node-addon-api/napi.h sgx-pccs : /usr/lib/node_modules/pccs/node_modules/sqlite3/src/async.h sgx-pccs : /usr/lib/node_modules/pccs/node_modules/sqlite3/src/backup.h sgx-pccs : /usr/lib/node_modules/pccs/node_modules/sqlite3/src/database.h sgx-pccs : /usr/lib/node_modules/pccs/node_modules/sqlite3/src/gcc-preinclude.h sgx-pccs : /usr/lib/node_modules/pccs/node_modules/sqlite3/src/macros.h sgx-pccs : /usr/lib/node_modules/pccs/node_modules/sqlite3/src/statement.h sgx-pccs : /usr/lib/node_modules/pccs/node_modules/sqlite3/src/threading.h 
  Read more: https://docs.fedoraproject.org/en-US/packaging-guidelines/#_devel_packages
- License file LICENCE is not marked as %license
  Read more: https://docs.fedoraproject.org/en-US/packaging-guidelines/LicensingGuidelines/#_license_text

Please know that there can be false-positives.

---
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 Daniel Berrangé 2026-03-18 10:46:06 UTC
Some notes for reviews:

* The 'sgx-pccs' functionality is in fact already present in Fedora, created as a sub-RPM of 'linux-sgx'.  Historically PCCS was bundled with the general SGX codebase, but in their 1.25 release of SGX DCAP, it was split off upstream into its own git repository. This makes it practical to now package as a standalone thing in Fedora, which is a very good benefit, as it needs frequent updates for NodeJS security flaws. Once this package is approved and built in Fedora, I will be updating linux-sgx to turn off the build of its own 'sgx-pccs' sub-RPMs to avoid the clash. The upgrade path should be seemless since the RPMs have the same names and versioning scheme.

* The 'sgx-pccs' RPM generates a metric tonne of rpmlint warnings. I've addressed many issues, but feel the remaining ones are acceptable, or unavoidable given the poor state / limitations of working with the NodeJS ecosystem.

    sgx-pccs.x86_64: W: non-standard-uid /var/lib/pccs pccs
    sgx-pccs.x86_64: W: non-standard-uid /var/log/pccs pccs
    sgx-pccs.x86_64: W: non-standard-gid /etc/pccs/ssl pccs
    sgx-pccs.x86_64: W: non-standard-gid /var/lib/pccs pccs
    sgx-pccs.x86_64: W: non-standard-gid /var/log/pccs pccs
    sgx-pccs.x86_64: E: non-standard-dir-perm /etc/pccs/ssl 750
    sgx-pccs.x86_64: E: non-standard-dir-perm /var/log/pccs 700

      => Intentional package integration choices

    sgx-pccs.x86_64: W: no-manual-page-for-binary pccs
    sgx-pccs.x86_64: W: no-documentation
    sgx-pccs.x86_64: W: log-files-without-logrotate ['/var/log/pccs']

      => limitations of what's provided by upstream

     23 * zero-length
     11 * devel-file-in-non-devel-package
    186 * hidden-file-or-dir
         => NodeJS has no separation of dev env content from production content,
            so when bundling nodejs package deps you get all sorts of undesirable
            files such as those highlighted by rpmlint. While in theory we could
            painstakingly analyse and remove much of it, it doesn't appear to be
            a requirement of the nodejs packaging guidelines

     34 files-duplicate
         => I've listed the license files for every nodejs dep in %license,
            and inevitably many deps have the same license text and hardlinking
            does not work for files listed in %license.

Comment 3 Marc-Andre Lureau 2026-03-23 12:19:37 UTC
- Should use Provides: bundled() (https://docs.fedoraproject.org/en-US/packaging-guidelines/#bundling), or not?
- pccs_server.js not installed, what is the package doing? :)
- it looks like node_sqlite3 module is built but not using %{optflags}/CFLAGS/CXXFLAGS, to be checked
- the license files are put under node_modules/. Drop" mkdir ../node_module_licenses" ?
- SOURCE50 -> SOURCE1
- instead of hardcoding lib64, perhaps use %{_libdir} instead?
- yhaving → having
- sgx-pccs-admin missing %{?_isa} versioned dependency

What distribution/release do you target? If rhel9 and others must be supported, maybe setup a copr to check the various configurations?

Comment 4 Daniel Berrangé 2026-03-24 09:56:20 UTC
(In reply to Marc-Andre Lureau from comment #3)
> - Should use Provides: bundled()
> (https://docs.fedoraproject.org/en-US/packaging-guidelines/#bundling), or
> not?

That is all automatically added....  except I lost the copying of 'package.json' into the RPM so it didn't happen

> - pccs_server.js not installed, what is the package doing? :)

That's the other file I lost copying of. Guess I messed up when rebasing from 1.24 to 1.25 just before uploading and failed to retest :-(

> - it looks like node_sqlite3 module is built but not using
> %{optflags}/CFLAGS/CXXFLAGS, to be checked

The build is not verbose so we can't see it currently,  but when I make it verbose it shows

  g++ -o Debug/obj.target/node_sqlite3/src/backup.o ../src/backup.cc '-DNODE_GYP_MODULE_NAME=node_sqlite3' '-DUSING_UV_SHARED=1' '-DUSING_V8_SHARED=1' '-DV8_DEPRECATION_WARNINGS=1' '-D_GLIBCXX_USE_CXX11_ABI=1' '-D_FILE_OFFSET_BITS=64' '-D_LARGEFILE_SOURCE' '-D__STDC_FORMAT_MACROS' '-DNAPI_VERSION=10' '-DNAPI_DISABLE_CPP_EXCEPTIONS=1' '-DBUILDING_NODE_EXTENSION' '-DDEBUG' '-D_DEBUG' -I/var/home/berrange/.cache/node-gyp/22.22.0/include/node -I/var/home/berrange/.cache/node-gyp/22.22.0/src -I/var/home/berrange/.cache/node-gyp/22.22.0/deps/openssl/config -I/var/home/berrange/.cache/node-gyp/22.22.0/deps/openssl/openssl/include -I/var/home/berrange/.cache/node-gyp/22.22.0/deps/uv/include -I/var/home/berrange/.cache/node-gyp/22.22.0/deps/zlib -I/var/home/berrange/.cache/node-gyp/22.22.0/deps/v8/include -I/var/home/berrange/src/fedora/sgx-pccs/sgx-pccs-1.25-build/confidential-computing.tee.dcap.pccs-DCAP_1.25/service/node_modules/node-addon-api -I/usr/include  -fPIC -pthread -Wall -Wextra -Wno-unused-parameter -fPIC -m64 -g -O0 -fno-rtti -fno-strict-aliasing -std=gnu++17 -MMD -MF ./Debug/.deps/Debug/obj.target/node_sqlite3/src/backup.o.d.raw  -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer   -c


which looks like the required CFLAGS, so I think we're good.

I'll add V=1 to the spec so this is recorded in logs.

> - the license files are put under node_modules/. Drop" mkdir
> ../node_module_licenses" ?

Yep, that's left over cruft

> - SOURCE50 -> SOURCE1

Yep.

> - instead of hardcoding lib64, perhaps use %{_libdir} instead?

We can't use %{_libdir} in this context, but %{_lib} is suitable.

> - yhaving → having

Yep

> - sgx-pccs-admin missing %{?_isa} versioned dependency

Yep

> What distribution/release do you target? If rhel9 and others must be
> supported, maybe setup a copr to check the various configurations?

There is a little bit of code copied over from linux-sgx.spec that targets RHEL-9, but it is still TBD if I'll pull this into RHEL-9 or not. If I don't then the conditionals will get dropped eventually.


The changes are at the same URLs

Spec URL: https://berrange.fedorapeople.org/review/sgx-pccs/sgx-pccs.spec
SRPM URL: https://berrange.fedorapeople.org/review/sgx-pccs/sgx-pccs-1.25-1.fc45.src.rpm

Comment 5 Fedora Review Service 2026-03-24 10:05:24 UTC
Created attachment 2134640 [details]
The .spec file difference from Copr build 10236489 to 10256452

Comment 6 Fedora Review Service 2026-03-24 10:05:26 UTC
Copr build:
https://copr.fedorainfracloud.org/coprs/build/10256452
(succeeded)

Review template:
https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2448590-sgx-pccs/fedora-rawhide-x86_64/10256452-sgx-pccs/fedora-review/review.txt

Found issues:

- sgx-pccs : /usr/lib/node_modules/pccs/node_modules/node-addon-api/napi-inl.deprecated.h sgx-pccs : /usr/lib/node_modules/pccs/node_modules/node-addon-api/napi-inl.h sgx-pccs : /usr/lib/node_modules/pccs/node_modules/node-addon-api/napi.h sgx-pccs : /usr/lib/node_modules/pccs/node_modules/sqlite3/src/async.h sgx-pccs : /usr/lib/node_modules/pccs/node_modules/sqlite3/src/backup.h sgx-pccs : /usr/lib/node_modules/pccs/node_modules/sqlite3/src/database.h sgx-pccs : /usr/lib/node_modules/pccs/node_modules/sqlite3/src/gcc-preinclude.h sgx-pccs : /usr/lib/node_modules/pccs/node_modules/sqlite3/src/macros.h sgx-pccs : /usr/lib/node_modules/pccs/node_modules/sqlite3/src/statement.h sgx-pccs : /usr/lib/node_modules/pccs/node_modules/sqlite3/src/threading.h 
  Read more: https://docs.fedoraproject.org/en-US/packaging-guidelines/#_devel_packages
- License file LICENCE is not marked as %license
  Read more: https://docs.fedoraproject.org/en-US/packaging-guidelines/LicensingGuidelines/#_license_text

Please know that there can be false-positives.

---
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 7 Marc-Andre Lureau 2026-03-24 11:13:42 UTC
Some other issues found with Claude help:

- %{?sysusers_requires_compat} should be added for rhel9
- Node.js.adoc: All Node.js module spec files must include a `+%check+`, add
  %check
  %{__nodejs} -e 'require("%{buildroot}%{nodejs_sitearch}/pccs/pccs_server.js")' || :
- ReviewGuidelines.adoc:  Each architecture listed in `+ExcludeArch+` *MUST* have a bug filed in bugzilla
- PatchUpstreamStatus.adoc: All patches in Fedora spec files *SHOULD* have a comment

- pccs.service line 16: InaccessibleDirectories= has been deprecated in favor of InaccessiblePaths=. (ok for rhel9)
- The spec comments (lines 68-73) say PCCS can run on any platform since it doesn't require local SGX hardware. But the service file has ConditionPathExists=/dev/sgx_enclave


- Systemd Unit File: Consider Adding Security Hardening

  The service file already has DevicePolicy=closed and InaccessibleDirectories=/home, which is good. Per the systemd guidelines, consider adding more hardening:

  ProtectSystem=strict
  ProtectHome=yes
  NoNewPrivileges=yes
  ReadWritePaths=/var/lib/pccs /var/log/pccs /etc/pccs

- -admin Subpackage Missing Versioned Dependency on Base
  Line 133: The Recommends uses %{?_isa} but the admin subpackage is BuildArch: noarch (line 134). Using %{?_isa} on a noarch package recommending an arch-specific package will resolve to the build architecture,
  which may cause issues. It should be:

  Recommends: sgx-pccs = %{epoch}:%{version}-%{release}


The rest reported seemed minor to me

Comment 8 Daniel Berrangé 2026-03-24 12:59:58 UTC
> - %{?sysusers_requires_compat} should be added for rhel9

Ok

> - Node.js.adoc: All Node.js module spec files must include a `+%check+`, add
>   %check
>   %{__nodejs} -e
> 'require("%{buildroot}%{nodejs_sitearch}/pccs/pccs_server.js")' || :

That isn't appropriate for application code, only modules, because it starts executing the main() entry point and things rapidly go down hill from there.


> - ReviewGuidelines.adoc:  Each architecture listed in `+ExcludeArch+` *MUST*
> have a bug filed in bugzilla

That is only relevant where the architecture exclusion is due to a bug that needs tracking.

This exclude is a reflection of architecture specific hardware, so there's no bug that needs fixing.

> - PatchUpstreamStatus.adoc: All patches in Fedora spec files *SHOULD* have a
> comment

The patches are all git commits that have detailed descriptions in the commit message, so I don't think we need to duplicate comments in the spec

> - pccs.service line 16: InaccessibleDirectories= has been deprecated in
> favor of InaccessiblePaths=. (ok for rhel9)

Ok

> - The spec comments (lines 68-73) say PCCS can run on any platform since it
> doesn't require local SGX hardware. But the service file has
> ConditionPathExists=/dev/sgx_enclave

Bug, as is the later device acl for that.

> - Systemd Unit File: Consider Adding Security Hardening
> 
>   The service file already has DevicePolicy=closed and
> InaccessibleDirectories=/home, which is good. Per the systemd guidelines,
> consider adding more hardening:
> 
>   ProtectSystem=strict
>   ProtectHome=yes
>   NoNewPrivileges=yes
>   ReadWritePaths=/var/lib/pccs /var/log/pccs /etc/pccs

Yes, and ProtectHome obsoletes the InaccessibleDirectories cnofig

> - -admin Subpackage Missing Versioned Dependency on Base
>   Line 133: The Recommends uses %{?_isa} but the admin subpackage is
> BuildArch: noarch (line 134). Using %{?_isa} on a noarch package
> recommending an arch-specific package will resolve to the build architecture,
>   which may cause issues. It should be:
> 
>   Recommends: sgx-pccs = %{epoch}:%{version}-%{release}

Hmm, yes, I forgot the epoch too


The changes are at the same URLs

Spec URL: https://berrange.fedorapeople.org/review/sgx-pccs/sgx-pccs.spec
SRPM URL: https://berrange.fedorapeople.org/review/sgx-pccs/sgx-pccs-1.25-1.fc45.src.rpm

Comment 9 Fedora Review Service 2026-03-24 13:06:51 UTC
Created attachment 2134673 [details]
The .spec file difference from Copr build 10256452 to 10256909

Comment 10 Fedora Review Service 2026-03-24 13:06:54 UTC
Copr build:
https://copr.fedorainfracloud.org/coprs/build/10256909
(succeeded)

Review template:
https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2448590-sgx-pccs/fedora-rawhide-x86_64/10256909-sgx-pccs/fedora-review/review.txt

Found issues:

- sgx-pccs : /usr/lib/node_modules/pccs/node_modules/node-addon-api/napi-inl.deprecated.h sgx-pccs : /usr/lib/node_modules/pccs/node_modules/node-addon-api/napi-inl.h sgx-pccs : /usr/lib/node_modules/pccs/node_modules/node-addon-api/napi.h sgx-pccs : /usr/lib/node_modules/pccs/node_modules/sqlite3/src/async.h sgx-pccs : /usr/lib/node_modules/pccs/node_modules/sqlite3/src/backup.h sgx-pccs : /usr/lib/node_modules/pccs/node_modules/sqlite3/src/database.h sgx-pccs : /usr/lib/node_modules/pccs/node_modules/sqlite3/src/gcc-preinclude.h sgx-pccs : /usr/lib/node_modules/pccs/node_modules/sqlite3/src/macros.h sgx-pccs : /usr/lib/node_modules/pccs/node_modules/sqlite3/src/statement.h sgx-pccs : /usr/lib/node_modules/pccs/node_modules/sqlite3/src/threading.h 
  Read more: https://docs.fedoraproject.org/en-US/packaging-guidelines/#_devel_packages
- License file LICENCE is not marked as %license
  Read more: https://docs.fedoraproject.org/en-US/packaging-guidelines/LicensingGuidelines/#_license_text

Please know that there can be false-positives.

---
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 11 Marc-Andre Lureau 2026-03-24 13:59:55 UTC
- fedora-review points out "use %global instead of %define unless justified"
- add -iname 'licence*' to capture config-chain's license

next iteration is probably review+ from me then

Comment 12 Daniel Berrangé 2026-03-24 16:47:59 UTC
(In reply to Marc-Andre Lureau from comment #11)
> - fedora-review points out "use %global instead of %define unless justified"
> - add -iname 'licence*' to capture config-chain's license

ack to both.

The changes are at the same URLs

Spec URL: https://berrange.fedorapeople.org/review/sgx-pccs/sgx-pccs.spec
SRPM URL: https://berrange.fedorapeople.org/review/sgx-pccs/sgx-pccs-1.25-1.fc45.src.rpm

Comment 13 Fedora Review Service 2026-03-24 16:56:08 UTC
Created attachment 2134677 [details]
The .spec file difference from Copr build 10256909 to 10257515

Comment 14 Fedora Review Service 2026-03-24 16:56:11 UTC
Copr build:
https://copr.fedorainfracloud.org/coprs/build/10257515
(succeeded)

Review template:
https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2448590-sgx-pccs/fedora-rawhide-x86_64/10257515-sgx-pccs/fedora-review/review.txt

Found issues:

- sgx-pccs : /usr/lib/node_modules/pccs/node_modules/node-addon-api/napi-inl.deprecated.h sgx-pccs : /usr/lib/node_modules/pccs/node_modules/node-addon-api/napi-inl.h sgx-pccs : /usr/lib/node_modules/pccs/node_modules/node-addon-api/napi.h sgx-pccs : /usr/lib/node_modules/pccs/node_modules/sqlite3/src/async.h sgx-pccs : /usr/lib/node_modules/pccs/node_modules/sqlite3/src/backup.h sgx-pccs : /usr/lib/node_modules/pccs/node_modules/sqlite3/src/database.h sgx-pccs : /usr/lib/node_modules/pccs/node_modules/sqlite3/src/gcc-preinclude.h sgx-pccs : /usr/lib/node_modules/pccs/node_modules/sqlite3/src/macros.h sgx-pccs : /usr/lib/node_modules/pccs/node_modules/sqlite3/src/statement.h sgx-pccs : /usr/lib/node_modules/pccs/node_modules/sqlite3/src/threading.h 
  Read more: https://docs.fedoraproject.org/en-US/packaging-guidelines/#_devel_packages

Please know that there can be false-positives.

---
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 15 Marc-Andre Lureau 2026-03-24 19:09:32 UTC
LGTM

Package Review
==============

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


Issues:
=======
- Header files in -devel subpackage, if present.
  Note: sgx-pccs : /usr/lib/node_modules/pccs/node_modules/node-addon-
  api/napi-inl.deprecated.h sgx-pccs :
  /usr/lib/node_modules/pccs/node_modules/node-addon-api/napi-inl.h sgx-
  pccs : /usr/lib/node_modules/pccs/node_modules/node-addon-api/napi.h sgx-
  pccs : /usr/lib/node_modules/pccs/node_modules/sqlite3/src/async.h sgx-
  pccs : /usr/lib/node_modules/pccs/node_modules/sqlite3/src/backup.h sgx-
  pccs : /usr/lib/node_modules/pccs/node_modules/sqlite3/src/database.h
  sgx-pccs : /usr/lib/node_modules/pccs/node_modules/sqlite3/src/gcc-
  preinclude.h sgx-pccs :
  /usr/lib/node_modules/pccs/node_modules/sqlite3/src/macros.h sgx-pccs :
  /usr/lib/node_modules/pccs/node_modules/sqlite3/src/statement.h sgx-pccs
  : /usr/lib/node_modules/pccs/node_modules/sqlite3/src/threading.h
  See: https://docs.fedoraproject.org/en-US/packaging-
  guidelines/#_devel_packages

Those are node module bundles, probably ok

- 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.
  Note: License file LICENCE is not marked as %license
  See: https://docs.fedoraproject.org/en-US/packaging-
  guidelines/LicensingGuidelines/#_license_text

Each module license is handled by the spec installation, and flagged under node_modules/
I think this is false-positive.

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

C/C++:
[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]: 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: "Unknown or generated", "BSD 3-Clause License", "*No copyright*
     MIT License". 40 files have unknown license. Detailed output of
     licensecheck in /home/elmarco/pkg/2448590-sgx-pccs/licensecheck.txt
[x]: License file installed when any subpackage combination is installed.
[x]: If the package is under multiple licenses, the licensing breakdown
     must be documented in the spec.
[x]: %build honors applicable compiler flags or justifies otherwise.
[x]: Package contains no bundled libraries or specifies bundled libraries
     with Provides: bundled(<libname>) if unbundling is not possible.
[x]: Changelog in prescribed format.
[x]: Sources contain only permissible code or content.
[x]: 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.
[x]: Package contains systemd file(s) if in need.
[x]: Useful -debuginfo package or justification otherwise.
[-]: Package is not known to require an ExcludeArch tag.
     "This exclude is a reflection of architecture specific hardware"
[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]: %config files are marked noreplace or the reason is justified.
[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]: No %config files under /usr.
[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]: systemd_post is invoked in %post, systemd_preun in %preun, and
     systemd_postun in %postun for Systemd service files.
     Note: Systemd service file(s) in sgx-pccs
[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 0 bytes in 0 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).
[x]: Fully versioned dependency in subpackages if applicable.
[?]: Package functions as described.
[x]: Latest version is packaged.
[x]: Package does not include license text files separate from upstream.
[x]: Patches link to upstream bugs/comments/lists or are otherwise
     justified.
[-]: Scriptlets must be sane, if used.
[x]: SourceX tarball generation or download is documented.
[-]: Sources are verified with gpgverify first in %prep if upstream
     publishes signatures.
     Note: gpgverify is not used.
[-]: %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]: 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]: Package should compile and build into binary rpms on all supported
     architectures.
[x]: Spec use %global instead of %define unless justified.

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

Generic:
[x]: Spec file according to URL is the same as in SRPM.
     Note: Spec file as given by url is not the same as in SRPM (see
     attached diff).
     -> rpmautospec expansion 
[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.

Comment 16 Fedora Admin user for bugzilla script actions 2026-03-25 09:51:43 UTC
The Pagure repository was created at https://src.fedoraproject.org/rpms/sgx-pccs


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