Bug 1557371

Summary: Review Request: java-openjdk - rolling release for short term support OpenJDK
Product: [Fedora] Fedora Reporter: jiri vanek <jvanek>
Component: Package ReviewAssignee: Jie Kang <jkang>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: ahughes, dbhole, ebaron, jkang, jonha87, mat.booth, mbalao, mizdebsk, mvala, omajid, package-review, pmikova, sgehwolf, zzambers
Target Milestone: ---Flags: jkang: fedora-review+
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-04-21 03:39:12 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
Diff of spelling/grammar/consistency changes to spec
none
check from another user
none
rpmlint output from installed packages none

Description jiri vanek 2018-03-16 13:49:58 UTC
Spec URL: https://jvanek.fedorapeople.org/java-openjdk/v04/f28/java-openjdk.spec
SRPM URL: https://jvanek.fedorapeople.org/java-openjdk/v04/f28/java-openjdk-10.0.0.46-3.fc28.src.rpm
Description: OpenJDK have release  cadence of 6 months. but 3/4 of them are Short Term Supported for 6 months only.  This package is designed to harbore them. Currently it is build on openJDK 10. LTSs will go as separate packages.
Fedora Account System Username: jvanek

See announcement: http://mail.openjdk.java.net/pipermail/discuss/2017-September/004281.html
See java SIG plans: https://jvanek.fedorapeople.org/devconf/2018/changesInjavaReleaseProcess.pdf

Comment 1 Jie Kang 2018-03-19 14:38:43 UTC
Created attachment 1409888 [details]
Diff of spelling/grammar/consistency changes to spec

I've attached a diff making spelling/grammar/consistency (spaces, endings, etc.) changes to the spec. Could you look it over and see if it's okay to apply?

As far as rpmlint on the spec at: https://jvanek.fedorapeople.org/java-openjdk/v04/f28/java-openjdk.spec

I see hundreds of "java-openjdk.spec: E: specfile-error error: Too many levels of recursion in macro expansion. It is likely caused by recursive macro declaration."

The final output is: 0 packages and 1 specfiles checked; 571 errors, 1 warnings.

The warning can be ignored, for the macro expansion error, is that expected and ignorable?

Comment 2 jiri vanek 2018-03-21 14:44:28 UTC
(In reply to Jie Kang from comment #1)
> Created attachment 1409888 [details]
> Diff of spelling/grammar/consistency changes to spec
> 
> I've attached a diff making spelling/grammar/consistency (spaces, endings,
> etc.) changes to the spec. Could you look it over and see if it's okay to
> apply?

I got one more same patch from community. I will apply them both (with yours as native speaker proffered) a and update builds and sources
> 
> As far as rpmlint on the spec at:
> https://jvanek.fedorapeople.org/java-openjdk/v04/f28/java-openjdk.spec
> 
> I see hundreds of "java-openjdk.spec: E: specfile-error error: Too many
> levels of recursion in macro expansion. It is likely caused by recursive
> macro declaration."

hehe :))) it only means you are on old fedora :)) Rpm had recursion depth limited by hard-coded 12, which is to low for our packages!-))  Since f27  this limits bumped to 64. You will not see this error here.

> 
> The final output is: 0 packages and 1 specfiles checked; 571 errors, 1
> warnings.
> 
> The warning can be ignored, for the macro expansion error, is that expected
> and ignorable?

Can be ignored.

TYVM!

Comment 4 Jie Kang 2018-03-21 16:56:13 UTC
Package Review
==============

SPEC: https://jvanek.fedorapeople.org/java-openjdk/v04/f28/java-openjdk.spec
SRPM: https://jvanek.fedorapeople.org/java-openjdk/v04/f28/java-openjdk-10.0.0.46-3.fc28.src.rpm

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

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

C/C++:
[x]: Package does not contain kernel modules.
[x]: Package contains no static executables.
[x]: Rpath absent or only used for internal libs.
[x]: Development (unversioned) .so files in -devel subpackage, if present.
[x]: Package does not contain any libtool archives (.la)

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.
[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.
[ ]: Package must own all directories that it creates.
     Note: Directories without known owners:
     /usr/share/icons/hicolor/24x24,
     /usr/lib/jvm/java-10-openjdk-10.0.0.46-3.fc27.x86_64,
     /usr/share/icons/hicolor/32x32/apps,
     /usr/share/icons/hicolor/24x24/apps,
     /usr/lib/jvm/java-10-openjdk-10.0.0.46-3.fc27.x86_64-debug/lib,
     /usr/share/icons/hicolor/16x16/apps, /usr/share/icons/hicolor/16x16,
     /usr/lib/jvm/java-10-openjdk-10.0.0.46-3.fc27.x86_64-debug,
     /usr/share/icons/hicolor/48x48, /usr/share/icons/hicolor/48x48/apps,
     /usr/lib/jvm, /usr/share/icons/hicolor/32x32, /usr/share/icons/hicolor
[ ]: Package does not own files or directories owned by other packages.
     Note: Dirs in package are owned also by: /usr/lib/.build-id/0d [...]
[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.
[ ]: %config files are marked noreplace or the reason is justified.
     Note: No (noreplace) in %config
     /etc/java/java-10-openjdk/java-10-openjdk-10.0.0.46-3.fc27.x86_64/conf/management/jmxremote.password.template
     %config
     /etc/java/java-10-openjdk/java-10-openjdk-10.0.0.46-3.fc27.x86_64/conf/accessibility.properties
     %config
     /etc/java/java-10-openjdk/java-10-openjdk-10.0.0.46-3.fc27.x86_64-debug/conf/management/jmxremote.password.template
     %config
     /etc/java/java-10-openjdk/java-10-openjdk-10.0.0.46-3.fc27.x86_64-debug/conf/accessibility.properties
[x]: Each %files section contains %defattr if rpm < 4.4
     Note: %defattr present but not needed
[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.
[x]: 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.
[ ]: gtk-update-icon-cache is invoked in %postun and %posttrans if package
     contains icons.
     Note: icons in java-openjdk, java-openjdk-debug
[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: 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 requires other packages for directories it uses.
[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]: Package contains desktop file if it is a GUI application.
[x]: Package installs a %{name}.desktop using desktop-file-install or
     desktop-file-validate if there is such a file.
[x]: Dist tag is present.
[x]: Package does not contain duplicates in %files.
[x]: Permissions on files are set properly.
[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]: 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:
[!]: Uses parallel make %{?_smp_mflags} macro.
[x]: 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 java-
     openjdk-debug , java-openjdk-headless , java-openjdk-headless-debug ,
     java-openjdk-devel , java-openjdk-devel-debug , java-openjdk-jmods ,
     java-openjdk-jmods-debug , java-openjdk-demo , java-openjdk-demo-debug
     , java-openjdk-src , java-openjdk-src-debug , java-openjdk-javadoc ,
     java-openjdk-javadoc-zip , java-openjdk-javadoc-debug , java-openjdk-
     javadoc-zip-debug , java-openjdk-accessibility , java-openjdk-
     accessibility-debug , java-openjdk-debuginfo , java-openjdk-
     debugsource
[x]: 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.
[x]: Scriptlets must be sane, if used.
[x]: SourceX tarball generation or download is documented.
     Note: Package contains tarball without URL, check comments
[x]: Description and summary sections in the package spec file contains
     translations for supported Non-English languages, if available.
[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.
[!]: Spec use %global instead of %define unless justified.
     Note: %define requiring justification: %define buildoutputdir()
     %{expand:openjdk/build%{?1}}, %define uniquejavadocdir()
     %{expand:%{fullversion}%{?1}}, %define uniquesuffix()
     %{expand:%{fullversion}.%{_arch}%{?1}}, %define etcjavadir()
     %{expand:%{etcjavasubdir}/%{uniquesuffix -- %{?1}}}, %define sdkdir()
     %{expand:%{uniquesuffix -- %{?1}}}, %define jrelnk()
     %{expand:jre-%{javaver}-%{origin}-%{version}-%{release}.%{_arch}%{?1}},
     %define sdkbindir() %{expand:%{_jvmdir}/%{sdkdir -- %{?1}}/bin},
     %define jrebindir() %{expand:%{_jvmdir}/%{sdkdir -- %{?1}}/bin},
     %define post_script() %{expand:, %define post_headless() %{expand:,
     %define postun_script() %{expand:, %define postun_headless()
     %{expand:, %define posttrans_script() %{expand:, %define post_devel()
     %{expand:, %define postun_devel() %{expand:, %define posttrans_devel()
     %{expand:, %define post_javadoc() %{expand:, %define postun_javadoc()
     %{expand:, %define post_javadoc_zip() %{expand:, %define
     postun_javadoc_zip() %{expand:, %define files_jre() %{expand:, %define
     files_jre_headless() %{expand:, %define files_devel() %{expand:,
     %define files_jmods() %{expand:, %define files_demo() %{expand:,
     %define files_src() %{expand:, %define files_javadoc() %{expand:,
     %define files_javadoc_zip() %{expand:, %define files_accessibility()
     %{expand:, %define java_rpo() %{expand:, %define java_headless_rpo()
     %{expand:, %define java_devel_rpo() %{expand:, %define
     java_jmods_rpo() %{expand:, %define java_demo_rpo() %{expand:, %define
     java_javadoc_rpo() %{expand:, %define java_src_rpo() %{expand:,
     %define java_accessibility_rpo() %{expand:
[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]: SourceX is a working URL.

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

Generic:
[!]: Large data in /usr/share should live in a noarch subpackage if package
     is arched.
     Note: Arch-ed rpms have a total of 801628160 bytes in /usr/share java-
     openjdk-javadoc-debug-10.0.0.46-3.fc27.x86_64.rpm:344739840, java-
     openjdk-javadoc-10.0.0.46-3.fc27.x86_64.rpm:344739840, java-openjdk-
     javadoc-zip-10.0.0.46-3.fc27.x86_64.rpm:55736320, java-openjdk-
     javadoc-zip-debug-10.0.0.46-3.fc27.x86_64.rpm:55736320
     See:
     http://fedoraproject.org/wiki/Packaging:ReviewGuidelines#Package_Review_Guidelines
[x]: Spec file according to URL is the same as in SRPM.
[x]: Rpmlint is run on debuginfo package(s).
     Note: There are rpmlint messages (see attachment).
[x]: Rpmlint is run on all installed packages.
     Note: There are rpmlint messages (see attachment).
[x]: Package should not use obsolete m4 macros

Comment 5 jiri vanek 2018-03-21 17:18:05 UTC
Created attachment 1411281 [details]
check from another user

Comment 6 jiri vanek 2018-03-21 17:56:24 UTC
[] Package must own all directories that it creates.
   will be fixed.  Only /usr/lib/jvm should not be owned. it is owned by japackage tools. Also I think it is mentioned somewher ein guidelines, but have not found. Are you sure with generic /usr/share/ stuff?
Also I belive I own /usr/lib/jvm/java-10-openjdk-10.0.0.46-3.fc27.x86_64 .... at least it is listed for me...
[] %config files are marked noreplace or the reason is justified.
     Note: No (noreplace) in %config
     /etc/java/java-10-openjdk/java-10-openjdk-10.0.0.46-3.fc27.x86_64/conf/management/jmxremote.password.template
  This one realy do not deserves to be noreplace. It is config tempalte   

     %config
     /etc/java/java-10-openjdk/java-10-openjdk-10.0.0.46-3.fc27.x86_64/conf/accessibility.properties
  I had not marked this one, as it contains generated path and shold be fully contorlled by packager. Unluvkily, the only palce where jdk founds it is conf.

Same for debug variants.

[ ]: gtk-update-icon-cache is invoked in %postun and %posttrans if package
     contains icons.
     Note: icons in java-openjdk, java-openjdk-debug

It is, inst it?


[!]: Uses parallel make %{?_smp_mflags} macro.
I do not dare to use this flag. The build of OJDK is to complex to set anything on top.

[!]: Spec use %global instead of %define unless justified.
This is major thing, and cant be fixed. The Usage of %global on top of %define is  wrongly interpreted in fedora. If you change any of highlighted define to global, the build will misbehave for you. This rpmlint was invalidated in f27 and  RPM 4.14. I will try to find the chnageset and bugzilla which made me to change those selected globals back to defines.

Comment 7 jiri vanek 2018-03-21 17:57:43 UTC
(In reply to jiri vanek from comment #5)
> Created attachment 1411281 [details]
> check from another user

You had nicely nearly no-intersection :)

Comment 8 jiri vanek 2018-03-21 18:34:29 UTC
> [!]: Spec use %global instead of %define unless justified.
> This is major thing, and cant be fixed. The Usage of %global on top of
> %define is  wrongly interpreted in fedora. If you change any of highlighted
> define to global, the build will misbehave for you. This rpmlint was
> invalidated in f27 and  RPM 4.14. I will try to find the chnageset and
> bugzilla which made me to change those selected globals back to defines.

Twomajor ones:
https://src.fedoraproject.org/rpms/java-1.8.0-openjdk/c/cba2530f5fbb5597453d37b3b77423881346daf1?branch=f27
https://src.fedoraproject.org/rpms/java-1.8.0-openjdk/c/c75033910e507464e836ef13acdf19330d4e940d?branch=f27
See https://github.com/rpm-software-management/rpm/issues/127 to comments at  "pmatilai commented on Aug 18, 2017"

(initiated in https://bugzilla.redhat.com/show_bug.cgi?id=1482192)

Comment 9 jiri vanek 2018-03-21 18:37:05 UTC
> > I see hundreds of "java-openjdk.spec: E: specfile-error error: Too many
> > levels of recursion in macro expansion. It is likely caused by recursive
> > macro declaration."
...
> > The warning can be ignored, for the macro expansion error, is that expected
> > and ignorable?
> 
> Can be ignored.
> 
As aslo explained in See https://github.com/rpm-software-management/rpm/issues/127

Comment 10 Jie Kang 2018-03-21 21:13:03 UTC
(In reply to jiri vanek from comment #6)
> [] Package must own all directories that it creates.
>    will be fixed.  Only /usr/lib/jvm should not be owned. it is owned by
> japackage tools. Also I think it is mentioned somewher ein guidelines, but
> have not found. Are you sure with generic /usr/share/ stuff?
> Also I belive I own /usr/lib/jvm/java-10-openjdk-10.0.0.46-3.fc27.x86_64
> .... at least it is listed for me...

Right, [ ] means to manually check. I guess it wasn't able to automatically see? I would be suprised about /usr/lib/jvm/java-10-openjdk-10.0.0.46-3.fc27.x86_64 too but anyways, I'm going to see how it looks on my system.

> [] %config files are marked noreplace or the reason is justified.
>      Note: No (noreplace) in %config
>     
> /etc/java/java-10-openjdk/java-10-openjdk-10.0.0.46-3.fc27.x86_64/conf/
> management/jmxremote.password.template
>   This one realy do not deserves to be noreplace. It is config tempalte   
> 
>      %config
>     
> /etc/java/java-10-openjdk/java-10-openjdk-10.0.0.46-3.fc27.x86_64/conf/
> accessibility.properties
>   I had not marked this one, as it contains generated path and shold be
> fully contorlled by packager. Unluvkily, the only palce where jdk founds it
> is conf.

Okay. As it asks for justification, can comments be added to the spec for each of them?

> 
> Same for debug variants.
> 
> [ ]: gtk-update-icon-cache is invoked in %postun and %posttrans if package
>      contains icons.
>      Note: icons in java-openjdk, java-openjdk-debug
> 
> It is, inst it?

Checked and you're right, it is invoked.

> 
> 
> [!]: Uses parallel make %{?_smp_mflags} macro.
> I do not dare to use this flag. The build of OJDK is to complex to set
> anything on top.

Okay. This isn't MUST or even SHOULD but EXTRA so can be ignored; thanks for justification.

> 
> [!]: Spec use %global instead of %define unless justified.
> This is major thing, and cant be fixed. The Usage of %global on top of
> %define is  wrongly interpreted in fedora. If you change any of highlighted
> define to global, the build will misbehave for you. This rpmlint was
> invalidated in f27 and  RPM 4.14. I will try to find the chnageset and
> bugzilla which made me to change those selected globals back to defines.

Okay, your justification sounds good. Is there anyway to add information to the spec on this? Any point even? 

I'll post an updated review (still two things incomplete) but I will try to check file ownerships next morning.

Comment 11 Jie Kang 2018-03-21 21:13:24 UTC
Package Review
==============

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

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

C/C++:
[x]: Package does not contain kernel modules.
[x]: Package contains no static executables.
[x]: Rpath absent or only used for internal libs.
[x]: Development (unversioned) .so files in -devel subpackage, if present.
[x]: Package does not contain any libtool archives (.la)

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.
[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.
[ ]: Package must own all directories that it creates.
     Note: Directories without known owners:
     /usr/share/icons/hicolor/24x24,
     /usr/lib/jvm/java-10-openjdk-10.0.0.46-3.fc27.x86_64,
     /usr/share/icons/hicolor/32x32/apps,
     /usr/share/icons/hicolor/24x24/apps,
     /usr/lib/jvm/java-10-openjdk-10.0.0.46-3.fc27.x86_64-debug/lib,
     /usr/share/icons/hicolor/16x16/apps, /usr/share/icons/hicolor/16x16,
     /usr/lib/jvm/java-10-openjdk-10.0.0.46-3.fc27.x86_64-debug,
     /usr/share/icons/hicolor/48x48, /usr/share/icons/hicolor/48x48/apps,
     /usr/lib/jvm, /usr/share/icons/hicolor/32x32, /usr/share/icons/hicolor
[ ]: Package does not own files or directories owned by other packages.
     Note: Dirs in package are owned also by: /usr/lib/.build-id/0d [...]
[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]: %config files are marked noreplace or the reason is justified.
[x]: Each %files section contains %defattr if rpm < 4.4
     Note: %defattr present but not needed
[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.
[x]: 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]: gtk-update-icon-cache is invoked in %postun and %posttrans if package
     contains icons.
     Note: icons in java-openjdk, java-openjdk-debug
[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: 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 requires other packages for directories it uses.
[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]: Package contains desktop file if it is a GUI application.
[x]: Package installs a %{name}.desktop using desktop-file-install or
     desktop-file-validate if there is such a file.
[x]: Dist tag is present.
[x]: Package does not contain duplicates in %files.
[x]: Permissions on files are set properly.
[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]: 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:
[x]: Uses parallel make %{?_smp_mflags} macro.
[x]: 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 java-
     openjdk-debug , java-openjdk-headless , java-openjdk-headless-debug ,
     java-openjdk-devel , java-openjdk-devel-debug , java-openjdk-jmods ,
     java-openjdk-jmods-debug , java-openjdk-demo , java-openjdk-demo-debug
     , java-openjdk-src , java-openjdk-src-debug , java-openjdk-javadoc ,
     java-openjdk-javadoc-zip , java-openjdk-javadoc-debug , java-openjdk-
     javadoc-zip-debug , java-openjdk-accessibility , java-openjdk-
     accessibility-debug , java-openjdk-debuginfo , java-openjdk-
     debugsource
[x]: 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.
[x]: Scriptlets must be sane, if used.
[x]: SourceX tarball generation or download is documented.
     Note: Package contains tarball without URL, check comments
[x]: Description and summary sections in the package spec file contains
     translations for supported Non-English languages, if available.
[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]: Spec use %global instead of %define unless justified.
[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]: SourceX is a working URL.

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

Generic:
[!]: Large data in /usr/share should live in a noarch subpackage if package
     is arched.
     Note: Arch-ed rpms have a total of 801628160 bytes in /usr/share java-
     openjdk-javadoc-debug-10.0.0.46-3.fc27.x86_64.rpm:344739840, java-
     openjdk-javadoc-10.0.0.46-3.fc27.x86_64.rpm:344739840, java-openjdk-
     javadoc-zip-10.0.0.46-3.fc27.x86_64.rpm:55736320, java-openjdk-
     javadoc-zip-debug-10.0.0.46-3.fc27.x86_64.rpm:55736320
     See:
     http://fedoraproject.org/wiki/Packaging:ReviewGuidelines#Package_Review_Guidelines
[x]: Spec file according to URL is the same as in SRPM.
[x]: Rpmlint is run on debuginfo package(s).
     Note: There are rpmlint messages (see attachment).
[x]: Rpmlint is run on all installed packages.
     Note: There are rpmlint messages (see attachment).
[x]: Package should not use obsolete m4 macros

Comment 12 jiri vanek 2018-03-22 10:38:07 UTC
[!]: Large data in /usr/share should live in a noarch subpackage if package
     is arched.

Unluckily, here is nothing i can do about this. The javadoc and jaavdoc zip were noarch up to jdk8. Since jd9 there is aot, hich is x64 only. And this reflect also javadocs. So - unluckily, javadocs become arch-depndent, untill aot is supported on all arches (and once it become, oter similar feature is likely to appera - eg now graal is also intel64 only)

Comment 13 jiri vanek 2018-03-23 10:08:30 UTC
Updated with  typos and other minor nits fixed:
https://jvanek.fedorapeople.org/java-openjdk/v05/f28/

Notes
 - missing are comments which you requested (will be done)
 - the debug subpackages are renamed  slowdebug. This is experimental change, I wonted to see "how it looks" (thughts?)

Comment 14 Jie Kang 2018-03-26 14:10:09 UTC
OpenJDK contains JARs in source. Most are under openjdk/test/* which I believe is acceptable.

./openjdk/src/utils/IdealGraphVisualizer/branding/modules/org-netbeans-core-windows.jar
./openjdk/src/utils/IdealGraphVisualizer/branding/core/core.jar

are under source utilities. Are these exceptions too?

Comment 15 jiri vanek 2018-03-26 14:16:04 UTC
Wou. I have never noticed those two.
I would say that yes, the ons in test are aceptable, otherwise it will not be possibel to run the tests from src.rpm.
On contrary, the ones in  utils seems just wrong. I will remove them and see.

Comment 16 Jie Kang 2018-03-26 15:20:50 UTC
Few things are now "Manual review needed".

Questions:
1. Are the unversioned .so files listed below okay?
2. Which package creates '/usr/lib/jvm/java-10-openjdk-10.0.0.46-3.fc27.x86_64-debug'? I'd like to see if it's owned. I checked the rest from the previous review and they seem okay to me.
3. 'java-openjdk-devel' has provides application() && application(java-10-openjdk-10.0.0.46-4.fc27.x86_64-jconsole.desktop), these look strange to me, is this expected?
4. Can you check SHOULD item: 'Fully versioned dependency in subpackages if applicable.' Is it okay?

Thanks!


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

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

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

C/C++:
[x]: Package does not contain kernel modules.
[x]: Package contains no static executables.
[x]: Rpath absent or only used for internal libs.
[ ]: Development (unversioned) .so files in -devel subpackage, if present.
Note: See below for list of unversioned .so files
[x]: Package does not contain any libtool archives (.la)

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.
[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.
[ ]: Package must own all directories that it creates.
     /usr/lib/jvm/java-10-openjdk-10.0.0.46-3.fc27.x86_64-debug/lib,
     /usr/lib/jvm/java-10-openjdk-10.0.0.46-3.fc27.x86_64-debug
[x]: Package does not own files or directories owned by other packages.
[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]: %config files are marked noreplace or the reason is justified.
[x]: Each %files section contains %defattr if rpm < 4.4
     Note: %defattr present but not needed
[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.
[x]: 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]: gtk-update-icon-cache is invoked in %postun and %posttrans if package
     contains icons.
     Note: icons in java-openjdk, java-openjdk-debug
[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: 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 requires other packages for directories it uses.
[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]: Package contains desktop file if it is a GUI application.
[x]: Package installs a %{name}.desktop using desktop-file-install or
     desktop-file-validate if there is such a file.
[x]: Dist tag is present.
[x]: Package does not contain duplicates in %files.
[x]: Permissions on files are set properly.
[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]: 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:
[x]: Uses parallel make %{?_smp_mflags} macro.
[x]: 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).
Note: See below for list of provides
[ ]: Fully versioned dependency in subpackages if applicable.
     Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in java-
     openjdk-debug , java-openjdk-headless , java-openjdk-headless-debug ,
     java-openjdk-devel , java-openjdk-devel-debug , java-openjdk-jmods ,
     java-openjdk-jmods-debug , java-openjdk-demo , java-openjdk-demo-debug
     , java-openjdk-src , java-openjdk-src-debug , java-openjdk-javadoc ,
     java-openjdk-javadoc-zip , java-openjdk-javadoc-debug , java-openjdk-
     javadoc-zip-debug , java-openjdk-accessibility , java-openjdk-
     accessibility-debug , java-openjdk-debuginfo , java-openjdk-
     debugsource
[x]: 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.
[x]: Scriptlets must be sane, if used.
[x]: SourceX tarball generation or download is documented.
     Note: Package contains tarball without URL, check comments
[x]: Description and summary sections in the package spec file contains
     translations for supported Non-English languages, if available.
[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]: Spec use %global instead of %define unless justified.
[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]: SourceX is a working URL.

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

Generic:
[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.
[x]: Rpmlint is run on debuginfo package(s).
     Note: There are rpmlint messages (see attachment).
[x]: Rpmlint is run on all installed packages.
     Note: There are rpmlint messages (see attachment).
[x]: Package should not use obsolete m4 macros


Provides
--------
java-openjdk-devel:
    application()
    application(java-10-openjdk-10.0.0.46-4.fc27.x86_64-jconsole.desktop)
    java-10-devel
    java-openjdk-devel
    java-openjdk-devel(x86-64)
    java-sdk-10
    java-sdk-10-openjdk

Unversioned so-files
--------------------
java-openjdk: /usr/lib/jvm/java-10-openjdk-10.0.0.46-4.fc27.x86_64/lib/libawt_xawt.so
java-openjdk: /usr/lib/jvm/java-10-openjdk-10.0.0.46-4.fc27.x86_64/lib/libjawt.so
java-openjdk: /usr/lib/jvm/java-10-openjdk-10.0.0.46-4.fc27.x86_64/lib/libjsoundalsa.so
java-openjdk: /usr/lib/jvm/java-10-openjdk-10.0.0.46-4.fc27.x86_64/lib/libsplashscreen.so
java-openjdk-slowdebug: /usr/lib/jvm/java-10-openjdk-10.0.0.46-4.fc27.x86_64-slowdebug/lib/libawt_xawt.so
java-openjdk-slowdebug: /usr/lib/jvm/java-10-openjdk-10.0.0.46-4.fc27.x86_64-slowdebug/lib/libjawt.so
java-openjdk-slowdebug: /usr/lib/jvm/java-10-openjdk-10.0.0.46-4.fc27.x86_64-slowdebug/lib/libjsoundalsa.so
java-openjdk-slowdebug: /usr/lib/jvm/java-10-openjdk-10.0.0.46-4.fc27.x86_64-slowdebug/lib/libsplashscreen.so
java-openjdk-headless: /usr/lib/jvm/java-10-openjdk-10.0.0.46-4.fc27.x86_64/lib/jli/libjli.so
java-openjdk-headless: /usr/lib/jvm/java-10-openjdk-10.0.0.46-4.fc27.x86_64/lib/libattach.so
java-openjdk-headless: /usr/lib/jvm/java-10-openjdk-10.0.0.46-4.fc27.x86_64/lib/libawt.so
java-openjdk-headless: /usr/lib/jvm/java-10-openjdk-10.0.0.46-4.fc27.x86_64/lib/libawt_headless.so
java-openjdk-headless: /usr/lib/jvm/java-10-openjdk-10.0.0.46-4.fc27.x86_64/lib/libdt_socket.so
java-openjdk-headless: /usr/lib/jvm/java-10-openjdk-10.0.0.46-4.fc27.x86_64/lib/libextnet.so
java-openjdk-headless: /usr/lib/jvm/java-10-openjdk-10.0.0.46-4.fc27.x86_64/lib/libfontmanager.so
java-openjdk-headless: /usr/lib/jvm/java-10-openjdk-10.0.0.46-4.fc27.x86_64/lib/libinstrument.so
java-openjdk-headless: /usr/lib/jvm/java-10-openjdk-10.0.0.46-4.fc27.x86_64/lib/libj2gss.so
java-openjdk-headless: /usr/lib/jvm/java-10-openjdk-10.0.0.46-4.fc27.x86_64/lib/libj2pcsc.so
java-openjdk-headless: /usr/lib/jvm/java-10-openjdk-10.0.0.46-4.fc27.x86_64/lib/libj2pkcs11.so
java-openjdk-headless: /usr/lib/jvm/java-10-openjdk-10.0.0.46-4.fc27.x86_64/lib/libjaas_unix.so
java-openjdk-headless: /usr/lib/jvm/java-10-openjdk-10.0.0.46-4.fc27.x86_64/lib/libjava.so
java-openjdk-headless: /usr/lib/jvm/java-10-openjdk-10.0.0.46-4.fc27.x86_64/lib/libjavajpeg.so
java-openjdk-headless: /usr/lib/jvm/java-10-openjdk-10.0.0.46-4.fc27.x86_64/lib/libjdwp.so
java-openjdk-headless: /usr/lib/jvm/java-10-openjdk-10.0.0.46-4.fc27.x86_64/lib/libjimage.so
java-openjdk-headless: /usr/lib/jvm/java-10-openjdk-10.0.0.46-4.fc27.x86_64/lib/libjsig.so
java-openjdk-headless: /usr/lib/jvm/java-10-openjdk-10.0.0.46-4.fc27.x86_64/lib/libjsound.so
java-openjdk-headless: /usr/lib/jvm/java-10-openjdk-10.0.0.46-4.fc27.x86_64/lib/liblcms.so
java-openjdk-headless: /usr/lib/jvm/java-10-openjdk-10.0.0.46-4.fc27.x86_64/lib/libmanagement.so
java-openjdk-headless: /usr/lib/jvm/java-10-openjdk-10.0.0.46-4.fc27.x86_64/lib/libmanagement_agent.so
java-openjdk-headless: /usr/lib/jvm/java-10-openjdk-10.0.0.46-4.fc27.x86_64/lib/libmanagement_ext.so
java-openjdk-headless: /usr/lib/jvm/java-10-openjdk-10.0.0.46-4.fc27.x86_64/lib/libmlib_image.so
java-openjdk-headless: /usr/lib/jvm/java-10-openjdk-10.0.0.46-4.fc27.x86_64/lib/libnet.so
java-openjdk-headless: /usr/lib/jvm/java-10-openjdk-10.0.0.46-4.fc27.x86_64/lib/libnio.so
java-openjdk-headless: /usr/lib/jvm/java-10-openjdk-10.0.0.46-4.fc27.x86_64/lib/libprefs.so
java-openjdk-headless: /usr/lib/jvm/java-10-openjdk-10.0.0.46-4.fc27.x86_64/lib/librmi.so
java-openjdk-headless: /usr/lib/jvm/java-10-openjdk-10.0.0.46-4.fc27.x86_64/lib/libsaproc.so
java-openjdk-headless: /usr/lib/jvm/java-10-openjdk-10.0.0.46-4.fc27.x86_64/lib/libsctp.so
java-openjdk-headless: /usr/lib/jvm/java-10-openjdk-10.0.0.46-4.fc27.x86_64/lib/libunpack.so
java-openjdk-headless: /usr/lib/jvm/java-10-openjdk-10.0.0.46-4.fc27.x86_64/lib/libverify.so
java-openjdk-headless: /usr/lib/jvm/java-10-openjdk-10.0.0.46-4.fc27.x86_64/lib/libzip.so
java-openjdk-headless: /usr/lib/jvm/java-10-openjdk-10.0.0.46-4.fc27.x86_64/lib/server/libjsig.so
java-openjdk-headless: /usr/lib/jvm/java-10-openjdk-10.0.0.46-4.fc27.x86_64/lib/server/libjvm.so
java-openjdk-headless-slowdebug: /usr/lib/jvm/java-10-openjdk-10.0.0.46-4.fc27.x86_64-slowdebug/lib/jli/libjli.so
java-openjdk-headless-slowdebug: /usr/lib/jvm/java-10-openjdk-10.0.0.46-4.fc27.x86_64-slowdebug/lib/libattach.so
java-openjdk-headless-slowdebug: /usr/lib/jvm/java-10-openjdk-10.0.0.46-4.fc27.x86_64-slowdebug/lib/libawt.so
java-openjdk-headless-slowdebug: /usr/lib/jvm/java-10-openjdk-10.0.0.46-4.fc27.x86_64-slowdebug/lib/libawt_headless.so
java-openjdk-headless-slowdebug: /usr/lib/jvm/java-10-openjdk-10.0.0.46-4.fc27.x86_64-slowdebug/lib/libdt_socket.so
java-openjdk-headless-slowdebug: /usr/lib/jvm/java-10-openjdk-10.0.0.46-4.fc27.x86_64-slowdebug/lib/libextnet.so
java-openjdk-headless-slowdebug: /usr/lib/jvm/java-10-openjdk-10.0.0.46-4.fc27.x86_64-slowdebug/lib/libfontmanager.so
java-openjdk-headless-slowdebug: /usr/lib/jvm/java-10-openjdk-10.0.0.46-4.fc27.x86_64-slowdebug/lib/libinstrument.so
java-openjdk-headless-slowdebug: /usr/lib/jvm/java-10-openjdk-10.0.0.46-4.fc27.x86_64-slowdebug/lib/libj2gss.so
java-openjdk-headless-slowdebug: /usr/lib/jvm/java-10-openjdk-10.0.0.46-4.fc27.x86_64-slowdebug/lib/libj2pcsc.so
java-openjdk-headless-slowdebug: /usr/lib/jvm/java-10-openjdk-10.0.0.46-4.fc27.x86_64-slowdebug/lib/libj2pkcs11.so
java-openjdk-headless-slowdebug: /usr/lib/jvm/java-10-openjdk-10.0.0.46-4.fc27.x86_64-slowdebug/lib/libjaas_unix.so
java-openjdk-headless-slowdebug: /usr/lib/jvm/java-10-openjdk-10.0.0.46-4.fc27.x86_64-slowdebug/lib/libjava.so
java-openjdk-headless-slowdebug: /usr/lib/jvm/java-10-openjdk-10.0.0.46-4.fc27.x86_64-slowdebug/lib/libjavajpeg.so
java-openjdk-headless-slowdebug: /usr/lib/jvm/java-10-openjdk-10.0.0.46-4.fc27.x86_64-slowdebug/lib/libjdwp.so
java-openjdk-headless-slowdebug: /usr/lib/jvm/java-10-openjdk-10.0.0.46-4.fc27.x86_64-slowdebug/lib/libjimage.so
java-openjdk-headless-slowdebug: /usr/lib/jvm/java-10-openjdk-10.0.0.46-4.fc27.x86_64-slowdebug/lib/libjsig.so
java-openjdk-headless-slowdebug: /usr/lib/jvm/java-10-openjdk-10.0.0.46-4.fc27.x86_64-slowdebug/lib/libjsound.so
java-openjdk-headless-slowdebug: /usr/lib/jvm/java-10-openjdk-10.0.0.46-4.fc27.x86_64-slowdebug/lib/liblcms.so
java-openjdk-headless-slowdebug: /usr/lib/jvm/java-10-openjdk-10.0.0.46-4.fc27.x86_64-slowdebug/lib/libmanagement.so
java-openjdk-headless-slowdebug: /usr/lib/jvm/java-10-openjdk-10.0.0.46-4.fc27.x86_64-slowdebug/lib/libmanagement_agent.so
java-openjdk-headless-slowdebug: /usr/lib/jvm/java-10-openjdk-10.0.0.46-4.fc27.x86_64-slowdebug/lib/libmanagement_ext.so
java-openjdk-headless-slowdebug: /usr/lib/jvm/java-10-openjdk-10.0.0.46-4.fc27.x86_64-slowdebug/lib/libmlib_image.so
java-openjdk-headless-slowdebug: /usr/lib/jvm/java-10-openjdk-10.0.0.46-4.fc27.x86_64-slowdebug/lib/libnet.so
java-openjdk-headless-slowdebug: /usr/lib/jvm/java-10-openjdk-10.0.0.46-4.fc27.x86_64-slowdebug/lib/libnio.so
java-openjdk-headless-slowdebug: /usr/lib/jvm/java-10-openjdk-10.0.0.46-4.fc27.x86_64-slowdebug/lib/libprefs.so
java-openjdk-headless-slowdebug: /usr/lib/jvm/java-10-openjdk-10.0.0.46-4.fc27.x86_64-slowdebug/lib/librmi.so
java-openjdk-headless-slowdebug: /usr/lib/jvm/java-10-openjdk-10.0.0.46-4.fc27.x86_64-slowdebug/lib/libsaproc.so
java-openjdk-headless-slowdebug: /usr/lib/jvm/java-10-openjdk-10.0.0.46-4.fc27.x86_64-slowdebug/lib/libsctp.so
java-openjdk-headless-slowdebug: /usr/lib/jvm/java-10-openjdk-10.0.0.46-4.fc27.x86_64-slowdebug/lib/libunpack.so
java-openjdk-headless-slowdebug: /usr/lib/jvm/java-10-openjdk-10.0.0.46-4.fc27.x86_64-slowdebug/lib/libverify.so
java-openjdk-headless-slowdebug: /usr/lib/jvm/java-10-openjdk-10.0.0.46-4.fc27.x86_64-slowdebug/lib/libzip.so
java-openjdk-headless-slowdebug: /usr/lib/jvm/java-10-openjdk-10.0.0.46-4.fc27.x86_64-slowdebug/lib/server/libjsig.so
java-openjdk-headless-slowdebug: /usr/lib/jvm/java-10-openjdk-10.0.0.46-4.fc27.x86_64-slowdebug/lib/server/libjvm.so

Comment 17 Jie Kang 2018-03-26 15:22:08 UTC
Also for provides:

Provides
--------
java-openjdk-debuginfo:
    debuginfo(build-id)
    java-openjdk-debuginfo
    java-openjdk-debuginfo(x86-64)


is debuginfo(build-id) okay? Looks strange.

Comment 18 jiri vanek 2018-03-26 15:30:28 UTC
> is debuginfo(build-id) okay? Looks strange. 

is perfectly ok. Thats something what rpm do since f27 - each subpackage have those ids, and they are stored as you see it i was buffled by it when I saw it first time too.

Comment 19 jiri vanek 2018-03-26 15:32:48 UTC
> 1. Are the unversioned .so files listed below okay?

Should be. They are all considered as internal. I failed to tell it to RPM.
If we insists on versioning, I can symlink the.so files with .so.MAJORJDKV neighbours. But I dont think it is good idea.

Comment 20 jiri vanek 2018-03-26 15:34:35 UTC
> /usr/lib/jvm/java-10-openjdk-10.0.0.46-3.fc27.x86_64-debug

It shoudl no longer exists. It hsould be /usr/lib/jvm/java-10-openjdk-10.0.0.46-3.fc27.x86_64-slowdebug now.
It is created (AFAIK)  by java-openjdk-headless-slowdebug-10.0.0.46-3.fc27.x86_64
What is wrong with it?

Comment 21 jiri vanek 2018-03-26 15:35:50 UTC
> 'java-openjdk-devel' has provides application() && application(java-10-openjdk-10.0.0.46-4.fc27.x86_64-jconsole.desktop), these look strange to me, is this expected?

What is strange on that? :) We have paralel isntalls, so dull NVRA is propagated into jconsole desktop file. Same was jdk 9,8,7... With jconsole (and [removed] policy tool)

Comment 22 Jie Kang 2018-03-26 15:39:26 UTC
(In reply to jiri vanek from comment #20)
> > /usr/lib/jvm/java-10-openjdk-10.0.0.46-3.fc27.x86_64-debug
> 
> It shoudl no longer exists. It hsould be
> /usr/lib/jvm/java-10-openjdk-10.0.0.46-3.fc27.x86_64-slowdebug now.
> It is created (AFAIK)  by
> java-openjdk-headless-slowdebug-10.0.0.46-3.fc27.x86_64
> What is wrong with it?

(In reply to jiri vanek from comment #20)
> > /usr/lib/jvm/java-10-openjdk-10.0.0.46-3.fc27.x86_64-debug
> 
> It shoudl no longer exists. It hsould be
> /usr/lib/jvm/java-10-openjdk-10.0.0.46-3.fc27.x86_64-slowdebug now.
> It is created (AFAIK)  by
> java-openjdk-headless-slowdebug-10.0.0.46-3.fc27.x86_64
> What is wrong with it?

Oh, nothing is wrong. I just wanted to check if the directory has the correct owner but I wasn't sure which package to install. Tested now and looks good, thanks!

Item:
[ ]: Package must own all directories that it creates.
     /usr/lib/jvm/java-10-openjdk-10.0.0.46-3.fc27.x86_64-debug/lib,
     /usr/lib/jvm/java-10-openjdk-10.0.0.46-3.fc27.x86_64-debug

is now

[x]: Package must own all directories that it creates.
     /usr/lib/jvm/java-10-openjdk-10.0.0.46-3.fc27.x86_64-debug/lib,
     /usr/lib/jvm/java-10-openjdk-10.0.0.46-3.fc27.x86_64-debug

Not sure why it shows that though... it is owned when I install the package and check the directory.

Comment 23 Jie Kang 2018-03-26 15:40:31 UTC
(In reply to Jie Kang from comment #22)
> (In reply to jiri vanek from comment #20)
> > > /usr/lib/jvm/java-10-openjdk-10.0.0.46-3.fc27.x86_64-debug
> > 
> > It shoudl no longer exists. It hsould be
> > /usr/lib/jvm/java-10-openjdk-10.0.0.46-3.fc27.x86_64-slowdebug now.
> > It is created (AFAIK)  by
> > java-openjdk-headless-slowdebug-10.0.0.46-3.fc27.x86_64
> > What is wrong with it?
> 
> (In reply to jiri vanek from comment #20)
> > > /usr/lib/jvm/java-10-openjdk-10.0.0.46-3.fc27.x86_64-debug
> > 
> > It shoudl no longer exists. It hsould be
> > /usr/lib/jvm/java-10-openjdk-10.0.0.46-3.fc27.x86_64-slowdebug now.
> > It is created (AFAIK)  by
> > java-openjdk-headless-slowdebug-10.0.0.46-3.fc27.x86_64
> > What is wrong with it?
> 
> Oh, nothing is wrong. I just wanted to check if the directory has the
> correct owner but I wasn't sure which package to install. Tested now and
> looks good, thanks!
> 
> Item:
> [ ]: Package must own all directories that it creates.
>      /usr/lib/jvm/java-10-openjdk-10.0.0.46-3.fc27.x86_64-debug/lib,
>      /usr/lib/jvm/java-10-openjdk-10.0.0.46-3.fc27.x86_64-debug
> 
> is now
> 
> [x]: Package must own all directories that it creates.
>      /usr/lib/jvm/java-10-openjdk-10.0.0.46-3.fc27.x86_64-debug/lib,
>      /usr/lib/jvm/java-10-openjdk-10.0.0.46-3.fc27.x86_64-debug
> 
> Not sure why it shows that though... it is owned when I install the package
> and check the directory.

Also should be slowdebug; I used wrong text file, my bad! Anyways; no issue here.

Comment 24 jiri vanek 2018-03-26 15:57:44 UTC
> Fully versioned dependency in subpackages if applicable.
     Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in 

Unluckily, we have it mostly opposite. java-openjdk requires %{name}-headless%{?1}%{?_isa} = %{epoch}:%{version}-%{release}  (?1 is nothing xor debug) and rest is usually transitive. Main package have: Requires: %{name}-headless%{?1}%{?_isa} = %{epoch}:%{version}-%{release} correctly

     java-openjdk-headless - requires nothing, as rest requires it
     java-openjdk-devel - Requires:         %{name}%{?1}%{?_isa} = %{epoch}:%{version}-%{release}  ?1 confuses rpmlint?
     java-openjdk-jmods - Requires:         %{name}-devel%{?1} = %{epoch}:%{version}-%{release
     java-openjdk-demo , Requires: %{name}%{?1}%{?_isa} = %{epoch}:%{version}-%{release}
     java-openjdk-src ,Requires: %{name}-headless%{?1}%{?_isa} = %{epoch}:%{version}-%{release}
     java-openjdk-javadoc-zip , hmm.. no requires, no provides... hmmm Issue?
     java-openjdk-accessibility , Requires: %{name}%{?1}%{?_isa} = %{epoch}:%{version}-%{release (agaiin, ?1 confused it?)
     java-openjdk-javadoc , no requirement. imho it deserves to be included without jre itself.

If non-debug are good, then those are also good, as the macro is generating them. In addition, thoise will never be discovered by rpmlint, as those depends on java-openjdk-whatever-debug version (in same rationale as normla ones). And (imho) have no reason te depend on nonrmal ones.
     java-openjdk-debug
     java-openjdk-headless-debug , 
     java-openjdk-devel-debug
     java-openjdk-jmods-debug ,
     java-openjdk-demo-debug
     java-openjdk-src-debug ,
     java-openjdk-javadoc-debug ,
     java-openjdk-javadoc-zip-debug ,
     java-openjdk-accessibility-debug ,

     java-openjdk-debugsource - What is this?
     java-openjdk-debuginfo ,  And what is this?


So imho the only real issue (unlessomebody tells me whta are those last two) is      java-openjdk-javadoc-zip.
Imho should be fixed. No requires - same reasoning as javadoc, but some virtual provides shouldbe there.
So taken  from javadoc:

%define java_javadoc_rpo() %{expand:
OrderWithRequires: %{name}-headless%{?1}%{?_isa} = %{epoch}:%{version}-%{release}
# Post requires alternatives to install javadoc alternative
Requires(post):   %{_sbindir}/alternatives
# in version 1.7 and higher for --family switch
Requires(post):   chkconfig >= 1.7
# Postun requires alternatives to uninstall javadoc alternative
Requires(postun): %{_sbindir}/alternatives
# in version 1.7 and higher for --family switch
Requires(postun):   chkconfig >= 1.7

# Standard JPackage javadoc provides
Provides: java-javadoc-zip%{?1} = %{epoch}:%{version}-%{release}
Provides: java-%{javaver}-javadoc-zip%{?1} = %{epoch}:%{version}-%{release}
Provides: java-%{javaver}-%{origin}-javadoc-zip = %{epoch}:%{version}-%{release}
}

Including also alternatives, as spec contains 
alternatives   --install %{_javadocdir}/java-zip javadoczip .... lines


What do you think?

Comment 25 jiri vanek 2018-03-26 15:58:46 UTC
s/java_javadoc_rpo/java_javadoc_zip_rpo/

Comment 26 Jie Kang 2018-03-26 16:42:35 UTC
(In reply to jiri vanek from comment #24)
> > Fully versioned dependency in subpackages if applicable.
>      Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in 
> 
> Unluckily, we have it mostly opposite. java-openjdk requires
> %{name}-headless%{?1}%{?_isa} = %{epoch}:%{version}-%{release}  (?1 is
> nothing xor debug) and rest is usually transitive. Main package have:
> Requires: %{name}-headless%{?1}%{?_isa} = %{epoch}:%{version}-%{release}
> correctly
> 
>      java-openjdk-headless - requires nothing, as rest requires it
>      java-openjdk-devel - Requires:         %{name}%{?1}%{?_isa} =
> %{epoch}:%{version}-%{release}  ?1 confuses rpmlint?
>      java-openjdk-jmods - Requires:         %{name}-devel%{?1} =
> %{epoch}:%{version}-%{release
>      java-openjdk-demo , Requires: %{name}%{?1}%{?_isa} =
> %{epoch}:%{version}-%{release}
>      java-openjdk-src ,Requires: %{name}-headless%{?1}%{?_isa} =
> %{epoch}:%{version}-%{release}
>      java-openjdk-javadoc-zip , hmm.. no requires, no provides... hmmm Issue?
>      java-openjdk-accessibility , Requires: %{name}%{?1}%{?_isa} =
> %{epoch}:%{version}-%{release (agaiin, ?1 confused it?)
>      java-openjdk-javadoc , no requirement. imho it deserves to be included
> without jre itself.
> 
> If non-debug are good, then those are also good, as the macro is generating
> them. In addition, thoise will never be discovered by rpmlint, as those
> depends on java-openjdk-whatever-debug version (in same rationale as normla
> ones). And (imho) have no reason te depend on nonrmal ones.
>      java-openjdk-debug
>      java-openjdk-headless-debug , 
>      java-openjdk-devel-debug
>      java-openjdk-jmods-debug ,
>      java-openjdk-demo-debug
>      java-openjdk-src-debug ,
>      java-openjdk-javadoc-debug ,
>      java-openjdk-javadoc-zip-debug ,
>      java-openjdk-accessibility-debug ,
> 
>      java-openjdk-debugsource - What is this?
>      java-openjdk-debuginfo ,  And what is this?
> 
> 
> So imho the only real issue (unlessomebody tells me whta are those last two)
> is      java-openjdk-javadoc-zip.
> Imho should be fixed. No requires - same reasoning as javadoc, but some
> virtual provides shouldbe there.
> So taken  from javadoc:
> 
> %define java_javadoc_rpo() %{expand:
> OrderWithRequires: %{name}-headless%{?1}%{?_isa} =
> %{epoch}:%{version}-%{release}
> # Post requires alternatives to install javadoc alternative
> Requires(post):   %{_sbindir}/alternatives
> # in version 1.7 and higher for --family switch
> Requires(post):   chkconfig >= 1.7
> # Postun requires alternatives to uninstall javadoc alternative
> Requires(postun): %{_sbindir}/alternatives
> # in version 1.7 and higher for --family switch
> Requires(postun):   chkconfig >= 1.7
> 
> # Standard JPackage javadoc provides
> Provides: java-javadoc-zip%{?1} = %{epoch}:%{version}-%{release}
> Provides: java-%{javaver}-javadoc-zip%{?1} = %{epoch}:%{version}-%{release}
> Provides: java-%{javaver}-%{origin}-javadoc-zip =
> %{epoch}:%{version}-%{release}
> }
> 
> Including also alternatives, as spec contains 
> alternatives   --install %{_javadocdir}/java-zip javadoczip .... lines
> 
> 
> What do you think?

Fix for javadoc-zip sounds okay to me. Is zip format for javadoc used by many people? Just curious.

debuginfo and debugsource package info: https://fedoraproject.org/wiki/Changes/SubpackageAndSourceDebuginfo

I'm not sure if these are supposed to apply for openjdk package. Do you know?

Comment 27 Jie Kang 2018-03-26 16:47:21 UTC
Created attachment 1413241 [details]
rpmlint output from installed packages

I attached rpmlint output run on all installed packages. Note rpmlint checks more on installed packages than it does on uninstalled package by itself.

TLDR:
25 packages and 0 specfiles checked; 241 errors, 8540 warnings.

8368/8540 warnings are:

W: undefined-non-weak-symbol

This thread [1] has some people's comments on it. I think it's not a blocker but I wonder if it can ever be fixed: possibly upstream? I don't know enough to comment, sorry.

[1] https://www.redhat.com/archives/fedora-extras-list/2006-September/msg00831.html

Also look at other messages in above thread for more info.

Comment 28 jiri vanek 2018-03-28 14:53:03 UTC
(In reply to Jie Kang from comment #14)
> OpenJDK contains JARs in source. Most are under openjdk/test/* which I
> believe is acceptable.
> 
> ./openjdk/src/utils/IdealGraphVisualizer/branding/modules/org-netbeans-core-
> windows.jar
> ./openjdk/src/utils/IdealGraphVisualizer/branding/core/core.jar
> 
> are under source utilities. Are these exceptions too?

THose two are directories :) So no op here.

Comment 29 jiri vanek 2018-03-28 15:10:33 UTC
(In reply to jiri vanek from comment #24)
> > Fully versioned dependency in subpackages if applicable.
>      Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in 
> 
I ahve checked now even in final rpms. The requires are as I stated in c#24. All are correct. Imho bug in rpmlint? (bug in rpmlint is also something.jar directory)

Comment 30 jiri vanek 2018-03-28 15:21:01 UTC
...
> > Including also alternatives, as spec contains 
> > alternatives   --install %{_javadocdir}/java-zip javadoczip .... lines
> > 
> > 
> > What do you think?
> 
> Fix for javadoc-zip sounds okay to me. Is zip format for javadoc used by

Not doing so at the end.  I have overlooked that javadoc-zip have (correct) provides shared with javadoc.

> many people? Just curious.

It is! 99% of upstream releases contains javadoc as zip archive. all IDEs can index those zips... This is huge benefit, and Whole fedora javadoc strucutre should follow this and offer both variants. (as zips are not so useful outside ides or without programs like JavadocOfflineSearch)
> 
> debuginfo and debugsource package info:
> https://fedoraproject.org/wiki/Changes/SubpackageAndSourceDebuginfo
> 
> I'm not sure if these are supposed to apply for openjdk package. Do you know?

Not usre here. IMho the debuginfo &comp are treated well forOpenJDK RPMs.

Comment 31 jiri vanek 2018-03-28 15:25:05 UTC
(In reply to Jie Kang from comment #27)
> 
> W: undefined-non-weak-symbol
> 
> This thread [1] has some people's comments on it. I think it's not a blocker
> but I wonder if it can ever be fixed: possibly upstream? I don't know enough
> to comment, sorry.
> 
> [1]
> https://www.redhat.com/archives/fedora-extras-list/2006-September/msg00831.
> html
> 
> Also look at other messages in above thread for more info.

Done. Thank you for the info. Not sure if there is something to do now. Patch for usptream worthy, but not in review frame imho...

Comment 32 jiri vanek 2018-03-28 15:30:52 UTC
I think i have fixedd all the issues. How do you feel about: https://jvanek.fedorapeople.org/java-openjdk/v06/f28/

srpm: https://jvanek.fedorapeople.org/java-openjdk/v06/f28/java-openjdk-10.0.0.46-5.fc28.src.rpm
spec: https://jvanek.fedorapeople.org/java-openjdk/v06/f28/java-openjdk.spec

No binaries provided, as those were mostly cosmetic changes.

Comment 33 jiri vanek 2018-03-28 16:14:44 UTC
(In reply to jiri vanek from comment #32)
> I think i have fixedd all the issues. How do you feel about:
> https://jvanek.fedorapeople.org/java-openjdk/v06/f28/
> 
> srpm:
> https://jvanek.fedorapeople.org/java-openjdk/v06/f28/java-openjdk-10.0.0.46-
> 5.fc28.src.rpm
> spec: https://jvanek.fedorapeople.org/java-openjdk/v06/f28/java-openjdk.spec
> 
> No binaries provided, as those were mostly cosmetic changes.

Taking back. Got email from community with few more issues. fixing.

Comment 35 Jie Kang 2018-04-03 13:41:00 UTC
A few specific rpmlint errors I would like to address:


###
java-openjdk.x86_64: W: incoherent-version-in-changelog 1:10.0.0.46-1 ['1:10.0.0.46-7.fc27', '1:10.0.0.46-7']

Will the version be set to back to 1 for the package? Otherwise I'd like to see the changelog updated appropriately.

###
java-openjdk-src.x86_64: W: spelling-error %description -l en_US subpackage -> sub package, sub-package, package's

s/subpackage/sub-package in spec file. There are 3 locations I think

###
java-openjdk-src.x86_64: E: description-line-too-long C The java-openjdk-src subpackage contains the complete OpenJDK 10 class library source code for use by IDE indexers and debuggers.

Fedora wants description lines to be at most 79 characters. I think you use macros to build these. Can the description be split into multiple lines?

###

java-openjdk-src-slowdebug.x86_64: W: spelling-error %description -l en_US subpackage -> sub package, sub-package, package's
java-openjdk-src-slowdebug.x86_64: E: description-line-too-long C The java-openjdk-src-debug subpackage contains the complete OpenJDK 10 class library source code for use by IDE indexers and debuggers. Debugging for packages with debug on.

Same as above two.

###


java-openjdk-javadoc-zip-slowdebug.x86_64: E: summary-too-long C OpenJDK 10 API Documentation compressed in single archive for packages with debug on
java-openjdk-javadoc-zip-slowdebug.x86_64: E: description-line-too-long C The OpenJDK 10 API documentation compressed in single archive for packages with debug on.

Similar issue. Summary should not exceed 79 characters.

Maybe:

s/packages with debug on/debug packages
s/compressed in single archive/compressed

Also summary has 'Documentation' while description has 'documentation'. This should be made consistent. Prefer 'documentation', ie. not capitalized.

Comment 36 jiri vanek 2018-04-03 14:57:56 UTC
In addition,. I had checked the state of atk wrapper. It is dead. So i  will remove the empty packages in addition...(In reply to Jie Kang from comment #35)
> A few specific rpmlint errors I would like to address:
> 
> 
> ###
> java-openjdk.x86_64: W: incoherent-version-in-changelog 1:10.0.0.46-1
> ['1:10.0.0.46-7.fc27', '1:10.0.0.46-7']
> 
> Will the version be set to back to 1 for the package? Otherwise I'd like to
> see the changelog updated appropriately.

Yes it will.
> 
> ###
> java-openjdk-src.x86_64: W: spelling-error %description -l en_US subpackage
> -> sub package, sub-package, package's
> 
> s/subpackage/sub-package in spec file. There are 3 locations I think

hmmm. As you wish.
> 
> ###
> java-openjdk-src.x86_64: E: description-line-too-long C The java-openjdk-src
> subpackage contains the complete OpenJDK 10 class library source code for
> use by IDE indexers and debuggers.
> 
> Fedora wants description lines to be at most 79 characters. I think you use
> macros to build these. Can the description be split into multiple lines?

Well why. The 79 limitation is from 1979.  Yes, about 1% of people running without X may suffer, but those do not use Java. They are still on frontran.
Unless you insists, I would like  to keep it as it is.
> 
> ###
> 
...
> 
> Maybe:
> 
> s/packages with debug on/debug packages
> s/compressed in single archive/compressed
> 
> Also summary has 'Documentation' while description has 'documentation'. This
> should be made consistent. Prefer 'documentation', ie. not capitalized.

Will be done. TY!

Comment 37 Jie Kang 2018-04-03 16:01:53 UTC
(In reply to jiri vanek from comment #36)
> > ###
> > java-openjdk-src.x86_64: E: description-line-too-long C The java-openjdk-src
> > subpackage contains the complete OpenJDK 10 class library source code for
> > use by IDE indexers and debuggers.
> > 
> > Fedora wants description lines to be at most 79 characters. I think you use
> > macros to build these. Can the description be split into multiple lines?
> 
> Well why. The 79 limitation is from 1979.  Yes, about 1% of people running
> without X may suffer, but those do not use Java. They are still on frontran.
> Unless you insists, I would like  to keep it as it is.

s/Fedora wants/rpmlint wants


I'm not really the one to argue with about the reason behind the limitation.

https://fedoraproject.org/wiki/Packaging:Guidelines#Summary_and_description

also states: 'Also, please make sure that there are no lines in the description longer than 80 characters.' 

I can't say why it's still required but I would be surprised if nobody has complained about it. It hasn't changed though. I think with the changes I suggested below, the lines will be under 80 characters anyways.

> > Maybe:
> > 
> > s/packages with debug on/debug packages
> > s/compressed in single archive/compressed
> > 
> > Also summary has 'Documentation' while description has 'documentation'. This
> > should be made consistent. Prefer 'documentation', ie. not capitalized.
> 
> Will be done. TY!

Comment 38 Jie Kang 2018-04-03 16:05:23 UTC
Also one more typo in spec file:

# this is conifg tempalte, thus not config-noreplace
%config  %{etcjavadir -- %{?1}}/conf/management/jmxremote.password.template

s/tempalte/template

Comment 39 Jie Kang 2018-04-03 16:05:53 UTC
Package Review
==============

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

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

C/C++:
[x]: Package does not contain kernel modules.
[x]: Package contains no static executables.
[x]: Rpath absent or only used for internal libs.
[x]: Development (unversioned) .so files in -devel subpackage, if present.
[x]: Package does not contain any libtool archives (.la)

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.
[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]: Package must own all directories that it creates.
[x]: Package does not own files or directories owned by other packages.
[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]: %config files are marked noreplace or the reason is justified.
[x]: Each %files section contains %defattr if rpm < 4.4
[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.
[x]: 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]: gtk-update-icon-cache is invoked in %postun and %posttrans if package
     contains icons.
[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: 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 requires other packages for directories it uses.
[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]: Package contains desktop file if it is a GUI application.
[x]: Package installs a %{name}.desktop using desktop-file-install or
     desktop-file-validate if there is such a file.
[x]: Dist tag is present.
[x]: Package does not contain duplicates in %files.
[x]: Permissions on files are set properly.
[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]: File names are valid UTF-8.
[x]: Large documentation must go in a -doc subpackage. Large could be size
     (~1MB) or number of files.
[x]: Packages must not store files under /srv, /opt or /usr/local

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

Generic:
[-]: Uses parallel make %{?_smp_mflags} macro.
[x]: 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.
[x]: 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.
[x]: Scriptlets must be sane, if used.
[x]: SourceX tarball generation or download is documented.
[x]: Description and summary sections in the package spec file contains
     translations for supported Non-English languages, if available.
[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]: Spec use %global instead of %define unless justified.
[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]: SourceX is a working URL.

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

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

Comment 40 Jie Kang 2018-04-03 16:06:44 UTC
Will approve once final spec/srpm is posted.

Comment 41 jiri vanek 2018-04-06 12:30:03 UTC
All should be done now, except the 80chars lines. I truncated/wrapped where I felt ok. But others are contra productive from all points of view...

https://jvanek.fedorapeople.org/java-openjdk/v09/f28/

srpm: https://jvanek.fedorapeople.org/java-openjdk/v09/f28/java-openjdk-10.0.0.46-7.fc28.src.rpm
spec: https://jvanek.fedorapeople.org/java-openjdk/v09/f28/java-openjdk.spec

One more note - I decided to not truncate the releae back to 1. I will push with 9 (or as 10). Still, the changelog is correct. Please eyball.

Comment 43 Jie Kang 2018-04-06 13:36:58 UTC
One tiny nit:

%changelog
* Fri Apr 06 2018 Jiri Vanek <jvanek> - 1:10.0.0.46-9
- subpackage(s) replaced by sub-package(s) and other cosemtic changes

s/cosemtic/cosmetic

Comment 44 Gwyn Ciesla 2018-04-09 13:08:24 UTC
(fedrepo-req-admin):  The Pagure repository was created at https://src.fedoraproject.org/rpms/java-openjdk

Comment 45 jiri vanek 2018-04-09 16:14:47 UTC
pushed to f27,f28, master. TY!

Comment 46 Fedora Update System 2018-04-11 08:15:19 UTC
java-openjdk-10.0.0.46-10.fc28 has been submitted as an update to Fedora 28. https://bodhi.fedoraproject.org/updates/FEDORA-2018-d8b998b655

Comment 47 Fedora Update System 2018-04-11 08:15:37 UTC
java-openjdk-10.0.0.46-10.fc27 has been submitted as an update to Fedora 27. https://bodhi.fedoraproject.org/updates/FEDORA-2018-9ea9bf0f30

Comment 48 Fedora Update System 2018-04-11 22:39:45 UTC
java-openjdk-10.0.0.46-10.fc27 has been pushed to the Fedora 27 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2018-9ea9bf0f30

Comment 49 Fedora Update System 2018-04-11 22:58:35 UTC
java-openjdk-10.0.0.46-10.fc28 has been pushed to the Fedora 28 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2018-d8b998b655

Comment 50 Fedora Update System 2018-04-21 03:39:12 UTC
java-openjdk-10.0.0.46-10.fc27 has been pushed to the Fedora 27 stable repository. If problems still persist, please make note of it in this bug report.

Comment 51 Fedora Update System 2018-04-27 04:00:54 UTC
java-openjdk-10.0.0.46-10.fc28 has been pushed to the Fedora 28 stable repository. If problems still persist, please make note of it in this bug report.

Comment 52 Fedora Update System 2019-01-17 08:17:01 UTC
java-openjdk-11.0.1.13-11.rolling.el7 has been submitted as an update to Fedora EPEL 7. https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2019-6f43979cd7

Comment 53 Fedora Update System 2019-01-18 01:00:43 UTC
java-openjdk-11.0.1.13-11.rolling.el7 has been pushed to the Fedora EPEL 7 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2019-6f43979cd7

Comment 54 Fedora Update System 2019-03-18 09:32:54 UTC
java-openjdk-12.0.0.33-1.ea.1.rolling.el7 has been submitted as an update to Fedora EPEL 7. https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2019-a57742c17b

Comment 55 Fedora Update System 2019-03-19 04:00:46 UTC
java-openjdk-12.0.0.33-1.ea.1.rolling.el7 has been pushed to the Fedora EPEL 7 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2019-a57742c17b

Comment 56 Fedora Update System 2019-03-20 15:42:14 UTC
java-openjdk-12.0.0.33-2.rolling.el7 has been submitted as an update to Fedora EPEL 7. https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2019-b40d92c431

Comment 57 Fedora Update System 2019-03-20 19:58:54 UTC
java-openjdk-12.0.0.33-2.rolling.el7 has been pushed to the Fedora EPEL 7 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2019-b40d92c431