RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.
Bug 2095993 - Move qpdf to CRB repository
Summary: Move qpdf to CRB repository
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 9
Classification: Red Hat
Component: qpdf
Version: CentOS Stream
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: rc
: ---
Assignee: Zdenek Dohnal
QA Contact: Petr Sklenar
URL:
Whiteboard:
Depends On:
Blocks: 2093516
TreeView+ depends on / blocked
 
Reported: 2022-06-11 16:50 UTC by Andrew Schorr
Modified: 2022-11-15 11:43 UTC (History)
5 users (show)

Fixed In Version: qpdf-10.3.1-5.el9
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2022-11-15 10:36:02 UTC
Type: Bug
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Gitlab redhat/centos-stream/release-engineering comps merge_requests 253 0 None opened Add qpdf to CRB. RhBz#2095993 2022-06-20 09:44:53 UTC
Red Hat Issue Tracker RHELPLAN-125041 0 None None None 2022-06-11 16:55:24 UTC
Red Hat Product Errata RHBA-2022:8200 0 None None None 2022-11-15 10:36:07 UTC

Description Andrew Schorr 2022-06-11 16:50:11 UTC
Description of problem:
I can 'dnf install qpdf-libs', but not 'dnf install qpdf'. Why is that?

Version-Release number of selected component (if applicable):
qpdf-10.3.1-4.el9.src.rpm

How reproducible:
Always. I must be doing something really stupid.

Steps to Reproduce:
1. dnf install qpdf
2.
3.

Actual results:
sh-5.1# dnf install qpdf
Last metadata expiration check: 0:33:20 ago on Sat 11 Jun 2022 12:11:54 PM EDT.
No match for argument: qpdf
Dependencies resolved.
Nothing to do.
Complete!


Expected results:
Install qpdf

Additional info:
I must be losing my mind. I see that the qpdf-libs rpm is installed on the system:
sh-5.1# rpm -qi qpdf-libs
Name        : qpdf-libs
Version     : 10.3.1
Release     : 4.el9
Architecture: x86_64
Install Date: Sat 28 May 2022 03:58:16 PM EDT
Group       : Unspecified
Size        : 1786959
License     : (Artistic 2.0 or ASL 2.0) and MIT
Signature   : RSA/SHA256, Thu 12 Aug 2021 11:33:43 AM EDT, Key ID 05b555b38483c65d
Source RPM  : qpdf-10.3.1-4.el9.src.rpm
Build Date  : Mon 09 Aug 2021 11:57:40 PM EDT
Build Host  : x86-06.stream.rdu2.redhat.com
Packager    : builder
Vendor      : CentOS
URL         : http://qpdf.sourceforge.net/
Summary     : QPDF library for transforming PDF files
Description :
QPDF is a C++ library that inspect and manipulate the structure of PDF files.
It can encrypt and linearize files, expose the internals of a PDF file,
and do many other operations useful to PDF developers.

I can download qpdf-10.3.1-4.el9.src.rpm and use rpmbuild to generate
qpdf-10.3.1-4.el9.x86_64.rpm and it installs fine. Why can't dnf find
and install the qpdf rpm for me? I must be doing something idiotic like
not enabling the proper repo, but shouldn't it be in appstream with qpdf-libs
and as it was in RHEL 8?

Comment 1 Josh Boyer 2022-06-13 11:25:08 UTC
Please note that qpdf is in the list of Removed Packages for Red Hat Enterprise Linux 9

https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html/considerations_in_adopting_rhel_9/assembly_changes-to-packages_considerations-in-adopting-rhel-9#removed-packages_assembly_changes-to-packages

qpdf-libs is included as an internal dependency.

Comment 2 Andrew Schorr 2022-06-13 12:50:18 UTC
Ah, OK, that sort of explains it. I see that qpdf-libs is needed by cups-filters. It seems super weird
to me that you'd maintain the source rpm, but then not make the main package available. Why is that
a helpful thing to do? Shouldn't the main qpdf rpm at least be in EPEL?

Thanks,
Andy

Comment 3 Zdenek Dohnal 2022-06-14 13:51:26 UTC
Hi Andrew,

the package was stopped being shipped in public RHEL/CentOS Stream repos because it was found out during RHEL minimization process there were no dependencies which required qpdf during runtime, so qpdf is currently only in buildroot repository, because there was a package which uses it during build.

Currently I'm not aware that it's possible to have only one rpm from srpm in EPEL without introducing a separate component with stripped source tarball... Josh, do you know whether it is possible to ship one RPM in EPEL?

Otherwise, in case you need qpdf in RHEL and you have an active subscription, it would be great if you filed a ticket at https://access.redhat.com and I can prioritize the issue.

Comment 4 Josh Boyer 2022-06-14 13:55:24 UTC
(In reply to Zdenek Dohnal from comment #3)
> Hi Andrew,
> 
> the package was stopped being shipped in public RHEL/CentOS Stream repos
> because it was found out during RHEL minimization process there were no
> dependencies which required qpdf during runtime, so qpdf is currently only
> in buildroot repository, because there was a package which uses it during
> build.
> 
> Currently I'm not aware that it's possible to have only one rpm from srpm in
> EPEL without introducing a separate component with stripped source
> tarball... Josh, do you know whether it is possible to ship one RPM in EPEL?

It is not possible to ship binary RPMs from RHEL in EPEL repositories.

Comment 5 Andrew Schorr 2022-06-14 15:38:08 UTC
Hi, OK, but this is kind of an ugly situation. For users who want or need qpdf, there's now no reasonable
way to get it. I had to download the qpdf source rpm from RHEL and then rebuild it to get the qpdf main rpm
that's compatible with the qpdf-libs in RHEL. That's really weird. I can understand the desire
to minimize RHEL, but if you need qpdf-libs in RHEL, you should just include qpdf as well. That's
my two cents. Thanks for listening.

Comment 6 Zdenek Dohnal 2022-06-15 08:26:14 UTC
I understand your position on the matter, however adding qpdf into AppStream would add additional responsibilities to support for the package, which I would not want to do without a request from the proper support channels. And since qpdf is needed for building a package in RHEL, I cannot strip it from RHEL and release it as a separate package in EPEL.

I will consult on our discussions how we can tackle such packages - whether we can open some parts of buildroot as unsupported or by any other means - but for now I will close the bug. Feel free to reopen if there is a request via the official support channel.

In the meantime I will provide steps how to compile your own qpdf RPM, in case it is needed:

```
$ pwd
/home/<user>
$ sudo dnf -y install rpm-build
$ mkdir qpdf && cd qpdf
$ dnf download --source qpdf
$ rpm2cpio <downloaded_srpm> | cpio -idmv
$ sudo dnf -y builddep *.spec
$ rpmbuild --rebuild <downloaded_srpm>
$ sudo dnf -y install /home/<user>/rpmbuild/RPMS/<qpdf_rpm>

```

Comment 7 Andrew Schorr 2022-06-15 13:22:25 UTC
Thanks. I am well aware of how to build the package. And FYI, there's no need to unpack
it with rpm2cpio to run "dnf builddep", since that command can take a source rpm as
an argument, in addition to a spec file. From "man dnf builddep":

SYNOPSIS
       dnf builddep <package>...

ARGUMENTS
       <package>
              Either path to .src.rpm, .nosrc.rpm or .spec file or  package  available  in  a
              repository.

I really think you guys need a better way to deal with situations like this. The present solution
is very clunky and unsatisfying.

Regards, 
Andy

Comment 8 Zdenek Dohnal 2022-06-16 08:00:01 UTC
(In reply to Andrew Schorr from comment #7)
> Thanks. I am well aware of how to build the package.

I'm sorry, my comment didn't seem to be clear - I'm aware that you are able to build the package, the steps were for others who need qpdf, see this bugzilla and they're not experienced to do the RPM build.

The intent was to help others and spare their time with reading RPM man pages/manuals/how-to's on the internet.

> And FYI, there's no
> need to unpack
> it with rpm2cpio to run "dnf builddep", since that command can take a source
> rpm as
> an argument, in addition to a spec file. From "man dnf builddep":
> 
> SYNOPSIS
>        dnf builddep <package>...
> 
> ARGUMENTS
>        <package>
>               Either path to .src.rpm, .nosrc.rpm or .spec file or  package 
> available  in  a
>               repository.

Aha, thanks! I don't do building from srpm that often (I use wrapper tools above them) and I always use installing build deps from SPEC file, so good to know this, thanks again!

So the updated steps for people who want qpdf and they're not experienced in RPM:

```
$ pwd
/home/<user>
$ sudo dnf -y install rpm-build
$ mkdir qpdf && cd qpdf
$ dnf download --source qpdf
$ sudo dnf -y builddep <downloaded_srpm>
$ rpmbuild --rebuild <downloaded_srpm>
$ sudo dnf -y install /home/<user>/rpmbuild/RPMS/<qpdf_rpm>

```

> 
> I really think you guys need a better way to deal with situations like this.
> The present solution
> is very clunky and unsatisfying.

According to the email conversation, there is a possibility to move the rpm to CRB repository - I'm checking what is needed to request that. In case this bug would fit in, I will reopen and move this through.

Zdenek

Comment 9 Zdenek Dohnal 2022-06-17 08:06:11 UTC
Ok, so I have everything I need, I'm reopening the issue.

I propose moving qpdf RPM from buildroot into public CRB repository for the following reasons:

- qpdf is requested by CentOS Stream user and the RPM was in previous RHELs and CentOS, so it would be great if the RPM was available publicly as unsupported to keep the functionality in RHEL/CentOS Stream

- no new packages are introduced into public RHEL/CentOS Stream, because the RPM was in buildroot already, and none of its deps has to move with it to CRB, so there is no impact on other teams

- packages in CRB are unsupported, so there is no requirement for migration support between RHELs, no compatibility assurance and no additional tests have to implemented

- the RHEL package which requires qpdf does it only during build time and the package is in AppStream, so no change for it either


Ping @Joe Orton, @Petr Sklenar and @Petr Dancak for review and acks as PO and QE.

Comment 11 Joe Orton 2022-06-17 08:53:53 UTC
Ack as PO to add this to CRB.

Comment 14 Zdenek Dohnal 2022-06-21 08:39:47 UTC
We are currently waiting for MR from comment #13 to be merged - then I can create a new build which will get qpdf into CRB.

Comment 21 errata-xmlrpc 2022-11-15 10:36:02 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (qpdf bug fix and enhancement update), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2022:8200


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