Bug 2005989 - Review Request: liborc - Apache ORC library
Summary: Review Request: liborc - Apache ORC library
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Michael S.
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2021-09-20 15:48 UTC by Kaleb KEITHLEY
Modified: 2022-02-09 20:15 UTC (History)
5 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2022-02-09 20:15:41 UTC
Type: ---
Embargoed:
misc: fedora-review+


Attachments (Terms of Use)

Description Kaleb KEITHLEY 2021-09-20 15:48:06 UTC
Spec URL: https://kkeithle.fedorapeople.org/liborc.spec
SRPM URL: https://kojipkgs.fedoraproject.org//work/tasks/6910/76006910/liborc-1.6.6-1.fc36.src.rpm
Description: ORC is a self-describing type-aware columnar file format designed
for Hadoop workloads.
Fedora Account System Username: kkeithle

Comment 1 Kaleb KEITHLEY 2021-09-20 17:48:10 UTC
this is a prerequisite, dependency for Apache arrow which I will also be packaging after this.

There are newer versions of Apache orc, but this is the version that is currently bundled in the Apache arrow src rpms associated with the rpms for CentOS and RHEL at https://arrow.apache.org/install/

Comment 2 Vít Ondruch 2021-09-21 09:06:38 UTC
There is already:

https://src.fedoraproject.org/rpms/orc

While there is no relation, wouldn't the liborc confuse with orc? Or possibly collide (in the future). It certainly provides `liborc-0.4.so.0()(64bit)`, not sure what is the soname of this package.

Comment 3 Kaleb KEITHLEY 2021-09-21 11:21:26 UTC
(In reply to Vít Ondruch from comment #2)
> There is already:
> 
> https://src.fedoraproject.org/rpms/orc
> 
> While there is no relation, wouldn't the liborc confuse with orc? 

I don't see how. orc does not have a liborc subpackage, and once or if (my) liborc package exists it they would not be able to add one, right?

> Or
> possibly collide (in the future). It certainly provides
> `liborc-0.4.so.0()(64bit)`, not sure what is the soname of this package.

Libraries:
* liborc-0.4 != liborc. I.e. liborc-0.4.so != liborc.so, liborc-0.4.a != liborc.a

and their SO_NAMEs:
* liborc-0.4.so.1 != liborc.so.1

There is no collision.

Comment 4 Kaleb KEITHLEY 2021-09-21 11:25:39 UTC
And yes, I checked when I started and found orc, and I considered the libraries and SO_NAMEs. ;-)

Comment 5 Vít Ondruch 2021-09-22 09:45:54 UTC
(In reply to Kaleb KEITHLEY from comment #3)
> (In reply to Vít Ondruch from comment #2)
> > There is already:
> > 
> > https://src.fedoraproject.org/rpms/orc
> > 
> > While there is no relation, wouldn't the liborc confuse with orc? 
> 
> I don't see how. orc does not have a liborc subpackage, and once or if (my)
> liborc package exists it they would not be able to add one, right?


I think there won't be anything stopping anybody to add `liborc` subpackage, unless they happen to know about `liborc` package.


> > Or
> > possibly collide (in the future). It certainly provides
> > `liborc-0.4.so.0()(64bit)`, not sure what is the soname of this package.
> 
> Libraries:
> * liborc-0.4 != liborc. I.e. liborc-0.4.so != liborc.so, liborc-0.4.a !=
> liborc.a
> 
> and their SO_NAMEs:
> * liborc-0.4.so.1 != liborc.so.1
> 
> There is no collision.

Probably not ATM.


(In reply to Kaleb KEITHLEY from comment #4)
> And yes, I checked when I started and found orc, and I considered the
> libraries and SO_NAMEs. ;-)

Thx for pointing this out. I was not sure, therefore I thought it might be good idea to raise this concern just in case.

Comment 6 Didik Supriadi 2021-09-22 11:47:42 UTC
Hi,
I just came across this package review.

Since I saw BUILD_JAVA is off on the spec file, is there any usage of BR maven?

Also, I'd recommend you use the source from this link for apache: https://archive.apache.org/dist/orc/orc-1.7.0/
and verify its signatures. in this case:
Source0: https://archive.apache.org/dist/orc/orc-1.7.0/orc-1.7.0.tar.gz
Source1: https://archive.apache.org/dist/orc/orc-1.7.0/orc-1.7.0.tar.gz.asc
Source2: https://archive.apache.org/dist/orc/KEYS
…
BuildRequires: gnupg2
…
%prep
%{gpgverify} --keyring='%{SOURCE2}' --signature='%{SOURCE1}' --data='%{SOURCE0}'

Comment 7 Kaleb KEITHLEY 2021-09-28 17:43:58 UTC
(In reply to Didik Supriadi from comment #6)
> Hi,
> I just came across this package review.
> 
> Since I saw BUILD_JAVA is off on the spec file, is there any usage of BR
> maven?
> 

I have removed the BR for maven.

> Also, I'd recommend you use the source from this link for apache:
> https://archive.apache.org/dist/orc/orc-1.7.0/
> and verify its signatures. in this case:
> Source0: https://archive.apache.org/dist/orc/orc-1.7.0/orc-1.7.0.tar.gz

I'm not building a later version at this time. I explained this in https://bugzilla.redhat.com/show_bug.cgi?id=2005989#c1

> Source1: https://archive.apache.org/dist/orc/orc-1.7.0/orc-1.7.0.tar.gz.asc
> Source2: https://archive.apache.org/dist/orc/KEYS
> …
> BuildRequires: gnupg2
> …
> %prep
> %{gpgverify} --keyring='%{SOURCE2}' --signature='%{SOURCE1}'
> --data='%{SOURCE0}'

Except it doesn't work due to a bad signature in the KEYS file. See https://kojipkgs.fedoraproject.org//work/tasks/6218/76426218/build.log

Comment 8 Kaleb KEITHLEY 2021-09-28 17:45:42 UTC
(In reply to Vít Ondruch from comment #5)
> (In reply to Kaleb KEITHLEY from comment #3)
> > (In reply to Vít Ondruch from comment #2)
> > > There is already:
> > > 
> > > https://src.fedoraproject.org/rpms/orc
> > > 
> > > While there is no relation, wouldn't the liborc confuse with orc? 
> > 
> > I don't see how. orc does not have a liborc subpackage, and once or if (my)
> > liborc package exists it they would not be able to add one, right?
> 
> 
> I think there won't be anything stopping anybody to add `liborc` subpackage,
> unless they happen to know about `liborc` package.
> 

I can't stop people from making mistakes in the future.

You seem to want something. I'm not in the business of guessing what it is.

Can you please be specific about what you want so that I can consider it?


> 
> > > Or
> > > possibly collide (in the future). It certainly provides
> > > `liborc-0.4.so.0()(64bit)`, not sure what is the soname of this package.
> > 
> > Libraries:
> > * liborc-0.4 != liborc. I.e. liborc-0.4.so != liborc.so, liborc-0.4.a !=
> > liborc.a
> > 
> > and their SO_NAMEs:
> > * liborc-0.4.so.1 != liborc.so.1
> > 
> > There is no collision.
> 
> Probably not ATM.
> 
> 
> (In reply to Kaleb KEITHLEY from comment #4)
> > And yes, I checked when I started and found orc, and I considered the
> > libraries and SO_NAMEs. ;-)
> 
> Thx for pointing this out. I was not sure, therefore I thought it might be
> good idea to raise this concern just in case.

Comment 9 Michael S. 2022-01-19 13:24:48 UTC
So, the SRPM is no longer here, can you upload it to fedorapeople, so fedora-review can download it ?

Comment 10 Kaleb KEITHLEY 2022-01-19 14:16:36 UTC
(In reply to Michael S. from comment #9)
> So, the SRPM is no longer here, can you upload it to fedorapeople, so
> fedora-review can download it ?

Spec URL: https://kkeithle.fedorapeople.org/liborc.spec
SRPM URL: https://kojipkgs.fedoraproject.org//work/tasks/2041/81452041/liborc-1.6.6-1.fc36.src.rpm
or        https://kkeithle.fedorapeople.org/liborc-1.6.6-1.fc36.src.rpm

Comment 11 Michael S. 2022-01-27 19:49:28 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/2005989-liborc/diff.txt
  See: https://docs.fedoraproject.org/en-US/packaging-guidelines/SourceURL/

- Directory %{_libdir}/cmake/orc/ is unowned (same for /usr/include/orc)

- Sources need to be verified with gpgverify

- Latest version is 1.7.2

- Patch should be sent upstream (or have a comment)

- debuginfo is disabled, should be explained why

- package is 64 bits only, but that's a upstream issue, just mentioning for the record

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

C/C++:
[x]: Package does not contain kernel modules.
[x]: Package contains no static executables.
[x]: If your application is a C or C++ application you must list a
     BuildRequires against gcc, gcc-c++ or clang.
[x]: ldconfig not called in %post and %postun for Fedora 28 and later.
[x]: Package does not contain any libtool archives (.la)
[x]: Rpath absent or only used for internal libs.
[x]: Development (unversioned) .so files in -devel subpackage, if present.

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", "*No copyright* Apache License 2.0",
     "Apache License 2.0". 1223 files have unknown license. Detailed output
     of licensecheck in /home/fedora/2005989-liborc/licensecheck.txt
[x]: License file installed when any subpackage combination is installed.
[x]: Package requires other packages for directories it uses.
     Note: No known owner of /usr/lib64/cmake/orc, /usr/include/orc
[!]: Package must own all directories that it creates.
     Note: Directories without known owners: /usr/lib64/cmake/orc,
     /usr/include/orc
[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.
[x]: Package contains desktop file if it is a GUI application.
[x]: 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.
[!]: Useful -debuginfo package or justification otherwise.
[!]: Package is not known to require an ExcludeArch tag.
[x]: Large documentation must go in a -doc subpackage. Large could be size
     (~1MB) or number of files.
     Note: Documentation size is 10240 bytes in 2 files.
[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]: 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]: Spec file name must match the spec package %{name}, in the format
     %{name}.spec.
[x]: File names are valid UTF-8.
[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.
     Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in liborc1
     , liborc-devel
[-]: Package functions as described.
[!]: Latest version is packaged.
[x]: 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.
[-]: Description and summary sections in the package spec file contains
     translations for supported Non-English languages, if available.
[!]: Package should compile and build into binary rpms on all supported
     architectures.
[-]: %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]: Spec use %global instead of %define unless justified.

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

Generic:
[!]: Spec file according to URL is the same as in SRPM.
     Note: Bad spec filename: /home/fedora/2005989-liborc/srpm-
     unpacked/liborc.spec
     See: (this test has no URL)
[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: liborc1-1.6.6-1.fc36.x86_64.rpm
          liborc-devel-1.6.6-1.fc36.x86_64.rpm
          liborc-1.6.6-1.fc36.src.rpm
liborc1.x86_64: W: spelling-error %description -l en_US liborc -> liberator
liborc1.x86_64: W: description-shorter-than-summary
liborc1.x86_64: W: unstripped-binary-or-object /usr/lib64/liborc.so.1.6.6
liborc-devel.x86_64: W: no-dependency-on liborc/liborc-libs/libliborc
liborc-devel.x86_64: W: no-documentation
liborc.src: W: spelling-error %description -l en_US pushdown -> push down, push-down, splashdown
liborc.src: W: spelling-error %description -l en_US structs -> struts, destructs, obstructs
liborc.src: W: file-size-mismatch orc-1.6.6.tar.gz = 13939853, https://archive.apache.org/dist/orc/orc-1.6.6/orc-1.6.6.tar.gz = 14048870
3 packages and 0 specfiles checked; 0 errors, 8 warnings.




Rpmlint (installed packages)
----------------------------
Cannot parse rpmlint output:


Source checksums
----------------
https://archive.apache.org/dist/orc/orc-1.6.6/orc-1.6.6.tar.gz :
  CHECKSUM(SHA256) this package     : 9a92b3eaad1d8b88a18cee41058feb34eb43d919df363e0b74a0b857724e4ba0
  CHECKSUM(SHA256) upstream package : 93d2e5f7c9f76ea5cdf29073c73a00a37c54281a5c02bcc6395f1cf521ea246c
diff -r also reports differences


Requires
--------
liborc1 (rpmlib, GLIBC filtered):
    libc.so.6()(64bit)
    libgcc_s.so.1()(64bit)
    libgcc_s.so.1(GCC_3.0)(64bit)
    libgcc_s.so.1(GCC_3.3.1)(64bit)
    liblz4.so.1()(64bit)
    libm.so.6()(64bit)
    libprotobuf.so.30()(64bit)
    libsnappy.so.1()(64bit)
    libstdc++.so.6()(64bit)
    libstdc++.so.6(CXXABI_1.3)(64bit)
    libz.so.1()(64bit)
    libzstd.so.1()(64bit)
    rtld(GNU_HASH)

liborc-devel (rpmlib, GLIBC filtered):
    cmake-filesystem(x86-64)
    liborc.so.1()(64bit)
    liborc1(x86-64)



Provides
--------
liborc1:
    liborc.so.1()(64bit)
    liborc1
    liborc1(x86-64)

liborc-devel:
    cmake(orc)
    liborc-devel
    liborc-devel(x86-64)



Generated by fedora-review 0.7.6 (b083f91) last change: 2020-11-10
Command line :/usr/bin/fedora-review -b 2005989
Buildroot used: fedora-rawhide-x86_64
Active plugins: C/C++, Shell-api, Generic
Disabled plugins: R, fonts, Python, SugarActivity, Haskell, Java, Ocaml, Perl, PHP
Disabled flags: EPEL6, EPEL7, DISTTAG, BATCH, EXARCH

Comment 12 Kaleb KEITHLEY 2022-01-31 17:50:41 UTC
thanks for reviewing.

tl;dnr. Updated .spec and src.rpm at https://kkeithle.fedorapeople.org/liborc-20220131/

see below for individual responses inline.


(In reply to Michael S. from comment #11)
> 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/2005989-liborc/diff.txt
>   See: https://docs.fedoraproject.org/en-US/packaging-guidelines/SourceURL/
> 
> - Directory %{_libdir}/cmake/orc/ is unowned (same for /usr/include/orc)
> 
> - Sources need to be verified with gpgverify
> 
> - Latest version is 1.7.2
> 
> - Patch should be sent upstream (or have a comment)
> 
> - debuginfo is disabled, should be explained why
> 
> - package is 64 bits only, but that's a upstream issue, just mentioning for
> the record
> 
> ===== MUST items =====
> 
> C/C++:
> [x]: Package does not contain kernel modules.
> [x]: Package contains no static executables.
> [x]: If your application is a C or C++ application you must list a
>      BuildRequires against gcc, gcc-c++ or clang.
> [x]: ldconfig not called in %post and %postun for Fedora 28 and later.
> [x]: Package does not contain any libtool archives (.la)
> [x]: Rpath absent or only used for internal libs.
> [x]: Development (unversioned) .so files in -devel subpackage, if present.
> 
> 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", "*No copyright* Apache License 2.0",
>      "Apache License 2.0". 1223 files have unknown license. Detailed output
>      of licensecheck in /home/fedora/2005989-liborc/licensecheck.txt
> [x]: License file installed when any subpackage combination is installed.
> [x]: Package requires other packages for directories it uses.
>      Note: No known owner of /usr/lib64/cmake/orc, /usr/include/orc
> [!]: Package must own all directories that it creates.
>      Note: Directories without known owners: /usr/lib64/cmake/orc,
>      /usr/include/orc

fixed

> [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.
> [x]: Package contains desktop file if it is a GUI application.
> [x]: 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.
> [!]: Useful -debuginfo package or justification otherwise.

fixed

> [!]: Package is not known to require an ExcludeArch tag.

package does not build on 32-bit arches. There is a big comment addressing that
at lines 9-12 of the .spec

> [x]: Large documentation must go in a -doc subpackage. Large could be size
>      (~1MB) or number of files.
>      Note: Documentation size is 10240 bytes in 2 files.
> [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]: 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]: Spec file name must match the spec package %{name}, in the format
>      %{name}.spec.
> [x]: File names are valid UTF-8.
> [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.
>      Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in liborc1
>      , liborc-devel
> [-]: Package functions as described.
> [!]: Latest version is packaged.
> [x]: Package does not include license text files separate from upstream.
> [!]: Patches link to upstream bugs/comments/lists or are otherwise
>      justified.

?? I don't understand this. The one patch contains the changes to the source
— i.e. the cmake files — necessary to build without also downlloading and
building bundled (vendored) dependencies from the downloaded sources.

As we know, downloading during a mock build (in koji or otherwise) doesn't
work.


> [!]: Sources are verified with gpgverify first in %prep if upstream
>      publishes signatures.
>      Note: gpgverify is not used.
> [-]: Description and summary sections in the package spec file contains
>      translations for supported Non-English languages, if available.
> [!]: Package should compile and build into binary rpms on all supported
>      architectures.

It does. See comment about ExcludeArch

> [-]: %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]: Spec use %global instead of %define unless justified.
> 
> ===== EXTRA items =====
> 
> Generic:
> [!]: Spec file according to URL is the same as in SRPM.
>      Note: Bad spec filename: /home/fedora/2005989-liborc/srpm-
>      unpacked/liborc.spec
>      See: (this test has no URL)

???

> [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: liborc1-1.6.6-1.fc36.x86_64.rpm
>           liborc-devel-1.6.6-1.fc36.x86_64.rpm
>           liborc-1.6.6-1.fc36.src.rpm
> liborc1.x86_64: W: spelling-error %description -l en_US liborc -> liberator
> liborc1.x86_64: W: description-shorter-than-summary
> liborc1.x86_64: W: unstripped-binary-or-object /usr/lib64/liborc.so.1.6.6
> liborc-devel.x86_64: W: no-dependency-on liborc/liborc-libs/libliborc

It does have a dependency on liborc1, at line 57 of the .spec. That's the 
subpackage with liborc.so.* in it. If it's preferable to have the dependency
on the parent, wrapper package (liborc) we can do that too.

> liborc-devel.x86_64: W: no-documentation
> liborc.src: W: spelling-error %description -l en_US pushdown -> push down,
> push-down, splashdown
> liborc.src: W: spelling-error %description -l en_US structs -> struts,
> destructs, obstructs
> liborc.src: W: file-size-mismatch orc-1.6.6.tar.gz = 13939853,
> https://archive.apache.org/dist/orc/orc-1.6.6/orc-1.6.6.tar.gz = 14048870

fixed. Size difference is due to the tarball from the src.rpm in apache's
package repo which untars into .../orc-rel-release-1.6.6/*. I have replaced
that tarball with the tarball from the apache archive. (Which apart from the 
dirname has exactly the same contents according to diff -ur ...)

> 3 packages and 0 specfiles checked; 0 errors, 8 warnings.
> 
> 
> 
> 
> Rpmlint (installed packages)
> ----------------------------
> Cannot parse rpmlint output:
> 
> 
> Source checksums
> ----------------
> https://archive.apache.org/dist/orc/orc-1.6.6/orc-1.6.6.tar.gz :
>   CHECKSUM(SHA256) this package     :
> 9a92b3eaad1d8b88a18cee41058feb34eb43d919df363e0b74a0b857724e4ba0
>   CHECKSUM(SHA256) upstream package :
> 93d2e5f7c9f76ea5cdf29073c73a00a37c54281a5c02bcc6395f1cf521ea246c
> diff -r also reports differences
> 
> 
> Requires
> --------
> liborc1 (rpmlib, GLIBC filtered):
>     libc.so.6()(64bit)
>     libgcc_s.so.1()(64bit)
>     libgcc_s.so.1(GCC_3.0)(64bit)
>     libgcc_s.so.1(GCC_3.3.1)(64bit)
>     liblz4.so.1()(64bit)
>     libm.so.6()(64bit)
>     libprotobuf.so.30()(64bit)
>     libsnappy.so.1()(64bit)
>     libstdc++.so.6()(64bit)
>     libstdc++.so.6(CXXABI_1.3)(64bit)
>     libz.so.1()(64bit)
>     libzstd.so.1()(64bit)
>     rtld(GNU_HASH)
> 
> liborc-devel (rpmlib, GLIBC filtered):
>     cmake-filesystem(x86-64)
>     liborc.so.1()(64bit)
>     liborc1(x86-64)
> 
> 
> 
> Provides
> --------
> liborc1:
>     liborc.so.1()(64bit)
>     liborc1
>     liborc1(x86-64)
> 
> liborc-devel:
>     cmake(orc)
>     liborc-devel
>     liborc-devel(x86-64)
> 
> 
> 
> Generated by fedora-review 0.7.6 (b083f91) last change: 2020-11-10
> Command line :/usr/bin/fedora-review -b 2005989
> Buildroot used: fedora-rawhide-x86_64
> Active plugins: C/C++, Shell-api, Generic
> Disabled plugins: R, fonts, Python, SugarActivity, Haskell, Java, Ocaml,
> Perl, PHP
> Disabled flags: EPEL6, EPEL7, DISTTAG, BATCH, EXARCH

Comment 13 Kaleb KEITHLEY 2022-01-31 20:11:15 UTC
(In reply to Kaleb KEITHLEY from comment #12)
> > ...
> > Rpmlint
> > -------
> > Checking: liborc1-1.6.6-1.fc36.x86_64.rpm
> >           liborc-devel-1.6.6-1.fc36.x86_64.rpm
> >           liborc-1.6.6-1.fc36.src.rpm
> > ...
> > liborc-devel.x86_64: W: no-dependency-on liborc/liborc-libs/libliborc
> 
> liborc-devel does have a dependency on liborc1, at line 57 of the .spec. That's the 
> subpackage with liborc.so.* in it. If it's preferable to have the dependency
> on the parent, wrapper package (liborc) we can do that too.
> 

And I actually don't get that warning on my f35 box. I do get this though:
  liborc-devel.x86_64: E: no-library-dependency-on liborc1 /usr/lib64/liborc.so.1
And on f36 I don't get that warning.

I tried adding an explicit dependency in liborc1 on liborc and that gave:
  liborc1.x86_64: W: shlib-fixed-dependency liborc(x86-64) = 1.6.6-1.fc36
in addition to the above error. (so I took it back out.)

I tried changing the liborc-devel Requires from:
  Requires: %{name}1%{?_isa} = %{version}-%{release}
to:
  Requires: %{name}%{?_isa} = %{version}-%{release}
and on f35 it still gives:
  liborc-devel.x86_64: E: no-library-dependency-on liborc1 /usr/lib64/liborc.so.1
but on f36 it gives no warnings or errors.

Comment 14 Kaleb KEITHLEY 2022-02-02 16:49:02 UTC
fixed tne
  liborc-devel.x86_64: E: no-library-dependency-on liborc1 /usr/lib64/liborc.so.1
or
  liborc-devel.x86_64: W: no-dependency-on liborc/liborc-libs/libliborc

new src.rpm and .spec in
https://kkeithle.fedorapeople.org/liborc-20220202/

Comment 15 Ken Dreyer (Red Hat) 2022-02-08 18:57:50 UTC
misc, has Kaleb addressed your comments?

We want to move ahead with packaging this in Fedora and EPEL to avoid bundling it in Ceph.

Comment 16 Michael S. 2022-02-09 17:06:16 UTC
So, there is still the question of latest version, but I think that's not a big problem, it will be updated sooner or later.

The gpg verification is a nice to have but that's not blocking (and I can't explain how it work) The comment for the patch would be nice, or at least, making sure upstream know about it, but that's again, a nice to have, not going to block on that.

So gonna approve, just need to remember how to do that (sorry it took so long :/)

Comment 17 Kaleb KEITHLEY 2022-02-09 17:10:03 UTC
(In reply to Michael S. from comment #16)
> So, there is still the question of latest version, but I think that's not a
> big problem, it will be updated sooner or later.
> 
> The gpg verification is a nice to have but that's not blocking (and I can't
> explain how it work) The comment for the patch would be nice, or at least,
> making sure upstream know about it, but that's again, a nice to have, not
> going to block on that.
> 
> So gonna approve, just need to remember how to do that (sorry it took so
> long :/)

I think you did :-) And now I file a NewRepo ticket and cite this BZ.

Comment 18 Gwyn Ciesla 2022-02-09 19:36:38 UTC
(fedscm-admin):  The Pagure repository was created at https://src.fedoraproject.org/rpms/liborc


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