Bug 864084
Summary: | Review Request: maven-native - Compile c and c++ source under Maven | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | gil cattaneo <puntogil> | ||||||
Component: | Package Review | Assignee: | Björn 'besser82' Esser <besser82> | ||||||
Status: | CLOSED ERRATA | QA Contact: | Fedora Extras Quality Assurance <extras-qa> | ||||||
Severity: | medium | Docs Contact: | |||||||
Priority: | medium | ||||||||
Version: | rawhide | CC: | besser82, matt, mizdebsk, notting, package-review, pmackinn, rrati, tstclair | ||||||
Target Milestone: | --- | Flags: | besser82:
fedora-review+
gwync: fedora-cvs+ |
||||||
Target Release: | --- | ||||||||
Hardware: | All | ||||||||
OS: | Linux | ||||||||
Whiteboard: | |||||||||
Fixed In Version: | maven-native-1.0-0.3.alpha.7.fc19 | Doc Type: | Bug Fix | ||||||
Doc Text: | Story Points: | --- | |||||||
Clone Of: | Environment: | ||||||||
Last Closed: | 2013-06-20 02:32:14 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: | |||||||||
Bug Depends On: | |||||||||
Bug Blocks: | 985087 | ||||||||
Attachments: |
|
Description
gil cattaneo
2012-10-08 14:25:11 UTC
Maven and C, nice :) Let me know once it builds in rawhide and I'll review this package. Spec URL: http://gil.fedorapeople.org/maven-native/1/maven-native.spec SRPM URL: http://gil.fedorapeople.org/maven-native/1/maven-native-1.0-0.2.alpha.7.fc16.src.rpm - fix javac target tested on: http://koji.fedoraproject.org/koji/taskinfo?taskID=4638188 I am taking this review. I'm sorry, but for now I don't have time to complete this review. Created attachment 731271 [details]
Patch for spec file to get maven-native to build on F18 with Java7
Spec URL: http://gil.fedorapeople.org/maven-native/1/maven-native.spec SRPM URL: http://gil.fedorapeople.org/maven-native/1/maven-native-1.0-0.2.alpha.7.fc18.src.rpm hi Pete, thanks for your help/patch but javac target/source is already set by mojo.java.target option in the mvn comandline... or i miss something ... ? regards tested on: http://koji.fedoraproject.org/koji/taskinfo?taskID=5207540 Ahhh, I'm sorry. I didn't have that in your original spec file. Your property approach is cleaner. Probably don't need my %pom_xpath_inject stanza after all. Whichever way you see fit is fine by me. Thanks. Spec URL: http://gil.fedorapeople.org/maven-native/1/maven-native.spec SRPM URL: http://gil.fedorapeople.org/maven-native/1/maven-native-1.0-0.2.alpha.7.fc18.src.rpm - fix license tag Created attachment 759546 [details] Test failures Package has a few issues: BLOCKERS: * Maven packages should use new style packaging * License is MIT and ASL 2.0, actually NON-BLOCKERS / NICE TO HAVE: * %doc LICENSE.txt in main- and javadoc-pkg should be enough * Maven packages do not need to (Build)Require jpackage-utils. Package Review ============== Legend: [x] = Pass [!] = Fail [-] = Not applicable [?] = Not evaluated [ ] = Manual review needed Issues: ======= - Maven packages should use new style packaging Note: If possible update your package to latest guidelines See: https://fedoraproject.org/wiki/Packaging:Java#Apache_Maven ---> update spec accordingly if applicable, please - Fully versioned dependency in subpackages, if present. Note: Missing: Requires: %{name} = %{version}-%{release} in maven-native- components, native-maven-plugin See: http://fedoraproject.org/wiki/Packaging/Guidelines#RequiringBasePackage ---> false positive: it's in spec, properly. ===== MUST items ===== 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]: Package contains no bundled libraries without FPC exception. [x]: Changelog in prescribed format. [x]: Sources contain only permissible code or content. [-]: Package contains desktop file if it is a GUI application. [-]: Development files must be in a -devel package [x]: Package requires other packages for directories it uses. [x]: Package uses nothing in %doc for runtime. [x]: Package is not known to require ExcludeArch. [x]: Fully versioned dependency in subpackages, if present. Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in maven- native-components , native-maven-plugin , maven-native-javadoc ---> false positive, see above [x]: Package complies to the Packaging Guidelines [!]: License field in the package spec file matches the actual license. Note: Checking patched sources after %prep for licenses. Licenses found: "MIT/X11 (BSD like)", "Apache (v2.0)", "Unknown or generated". 41 files have unknown license. Detailed output of licensecheck in /home/bjoern.esser/fedora/review/864084-maven-native/licensecheck.txt ---> should be: MIT and ASL 2.0 [x]: License file installed when any subpackage combination is installed. ---> %doc LICENSE.txt in main- and javadoc-pkg should be enough, no need to have it in the other, too. [x]: Package consistently uses macro is (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]: Package must own all directories that it creates. [x]: Package does not own files or directories owned by other packages. [x]: Requires correct, justified where necessary. [x]: Spec file is legible and written in American English. [-]: Package contains systemd file(s) if in need. [-]: Large documentation must go in a -doc subpackage. Note: Documentation size is 30720 bytes in 3 files. [x]: All build dependencies are listed in BuildRequires, except for any that are listed in the exceptions section of Packaging Guidelines. [x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the beginning of %install. [x]: Each %files section contains %defattr if rpm < 4.4 [x]: Macros in Summary, %description expandable at SRPM build time. [x]: Package does not contain duplicates in %files. ---> %doc LICENSE.txt, but that's OK to guidelines, see above [x]: Permissions on files are set properly. [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 %doc. [x]: Package use %makeinstall only when make install' ' DESTDIR=... doesn't work. [x]: Package is named using only allowed ASCII characters. [x]: Package do not use a name that already exist [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]: Packages must not store files under /srv, /opt or /usr/local [!]: Package successfully compiles and builds into binary rpms on at least one supported primary architecture. ---> build.log shows test are failing, see attachment [x]: Package installs properly. [x]: Rpmlint is run on all rpms the build produces. Note: No rpmlint messages. Java: [x]: Packages have proper BuildRequires/Requires on jpackage-utils Note: Maven packages do not need to (Build)Require jpackage-utils. It is pulled in by maven-local ---> so remove it, please. [x]: Javadoc documentation files are generated and included in -javadoc subpackage [x]: Javadoc subpackages should not have Requires: jpackage-utils [x]: Javadocs are placed in %{_javadocdir}/%{name} (no -%{version} symlink) [x]: Bundled jar/class files should be removed before build Maven: [x]: Pom files have correct Maven mapping Note: Some add_maven_depmap calls found. Please check if they are correct or update to latest guidelines [x]: If package contains pom.xml files install it (including depmaps) even when building with ant [x]: Old add_to_maven_depmap macro is not being used [x]: Packages DOES NOT have Requires(post) and Requires(postun) on jpackage- utils for %update_maven_depmap macro [x]: Package DOES NOT use %update_maven_depmap in %post/%postun [x]: Packages use %{_mavenpomdir} instead of %{_datadir}/maven2/poms ===== 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]: Package functions as described. [x]: Latest version is packaged. [x]: Package does not include license text files separate from upstream. [-]: 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. [-]: %check is present and all tests pass. [x]: Packages should try to preserve timestamps of original installed files. [x]: Packager, Vendor, PreReq, Copyright tags should not be in spec file [x]: Sources can be downloaded from URI in Source: tag [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]: Dist tag is present. [x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin. [x]: SourceX tarball generation or download is documented. [x]: SourceX is a working URL. [x]: Spec use %global instead of %define. Java: [x]: Package uses upstream build method (ant/maven/etc.) [x]: Packages are noarch unless they use JNI ===== EXTRA items ===== Generic: [x]: Large data in /usr/share should live in a noarch subpackage if package is arched. [x]: Rpmlint is run on all installed packages. Note: No rpmlint messages. [x]: Spec file according to URL is the same as in SRPM. Rpmlint ------- Checking: maven-native-1.0-0.2.alpha.7.fc20.noarch.rpm maven-native-components-1.0-0.2.alpha.7.fc20.noarch.rpm native-maven-plugin-1.0-0.2.alpha.7.fc20.noarch.rpm maven-native-javadoc-1.0-0.2.alpha.7.fc20.noarch.rpm 4 packages and 0 specfiles checked; 0 errors, 0 warnings. Rpmlint (installed packages) ---------------------------- # rpmlint native-maven-plugin maven-native-components maven-native- javadoc maven-native 4 packages and 0 specfiles checked; 0 errors, 0 warnings. # echo 'rpmlint-done:' Requires -------- native-maven-plugin (rpmlib, GLIBC filtered): bcel jpackage-utils maven-native maven-native-components mvn(org.apache.maven:maven-artifact) mvn(org.apache.maven:maven-compat) mvn(org.apache.maven:maven-core) mvn(org.apache.maven:maven-model) mvn(org.apache.maven:maven-plugin-api) plexus-archiver plexus-utils maven-native-components (rpmlib, GLIBC filtered): apache-commons-lang jpackage-utils maven-native plexus-containers-container-default plexus-utils maven-native-javadoc (rpmlib, GLIBC filtered): jpackage-utils maven-native (rpmlib, GLIBC filtered): java jpackage-utils plexus-containers-container-default plexus-utils Provides -------- native-maven-plugin: mvn(org.codehaus.mojo:native-maven-plugin) native-maven-plugin maven-native-components: maven-native-components mvn(org.codehaus.mojo.natives:maven-native-bcc) mvn(org.codehaus.mojo.natives:maven-native-components) mvn(org.codehaus.mojo.natives:maven-native-generic-c) mvn(org.codehaus.mojo.natives:maven-native-javah) mvn(org.codehaus.mojo.natives:maven-native-manager) mvn(org.codehaus.mojo.natives:maven-native-msvc) maven-native-javadoc: maven-native-javadoc maven-native: maven-native mvn(org.codehaus.mojo.natives:maven-native) mvn(org.codehaus.mojo.natives:maven-native-api) Source checksums ---------------- http://repo2.maven.org/maven2/org/codehaus/mojo/natives/maven-native/1.0-alpha-7/maven-native-1.0-alpha-7-source-release.zip : CHECKSUM(SHA256) this package : e1c9cfd7a9afd8b224d9b1af3ae17372779a9ed849d74c634de23e5a2ca782a2 CHECKSUM(SHA256) upstream package : e1c9cfd7a9afd8b224d9b1af3ae17372779a9ed849d74c634de23e5a2ca782a2 Generated by fedora-review 0.4.1 (b2e211f) last change: 2013-04-29 Buildroot used: fedora-rawhide-x86_64 Command line :/usr/bin/fedora-review -m fedora-rawhide-x86_64 -b 864084 ##### Please fix and I'll review again. hi (In reply to Björn Esser from comment #9) > Created attachment 759546 [details] > Test failures > > Package has a few issues: > > BLOCKERS: > * Maven packages should use new style packaging i cant use xmvn binary in F18 isn't available > * License is MIT and ASL 2.0, actually Fixed > Please fix and I'll review again. Spec URL: http://gil.fedorapeople.org/maven-native/2/maven-native.spec SRPM URL: http://gil.fedorapeople.org/maven-native/2/maven-native-1.0-0.3.alpha.7.fc18.src.rpm - fix license tag Hi Gil! (In reply to gil cattaneo from comment #10) > i cant use xmvn binary in F18 isn't available OK, so keep that in mind (or comment in spec) to change when F18 is fading/EOL. ##### How about the test failures in attached build.log? Can I just ignore them or are they mission-critical? Cheers, Björn hi Björn (In reply to Björn Esser from comment #11) > Hi Gil! > > (In reply to gil cattaneo from comment #10) > > i cant use xmvn binary in F18 isn't available > > OK, so keep that in mind (or comment in spec) to change when F18 is > fading/EOL. thanks! > ##### > > How about the test failures in attached build.log? Can I just ignore them or > are they mission-critical? the missing class is provided by mvn(org.apache.maven:maven-artifact). and for now, only for this case, caused some troubles during the testing, but the hadhoop packagers not reported relevant problems (work fine) > > Cheers, > Björn Package is fine, now. All issues resolved or discussed. ##### Package Review ============== Legend: [x] = Pass [!] = Fail [-] = Not applicable [?] = Not evaluated [ ] = Manual review needed Issues: ======= - Maven packages should use new style packaging Note: If possible update your package to latest guidelines See: https://fedoraproject.org/wiki/Packaging:Java#Apache_Maven ---> as discussed: fix this when F18 is EOL. - Fully versioned dependency in subpackages, if present. Note: Missing: Requires: %{name} = %{version}-%{release} in maven-native- components, native-maven-plugin See: http://fedoraproject.org/wiki/Packaging/Guidelines#RequiringBasePackage ---> false positive: is in spec, properly ===== MUST items ===== 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]: Package contains no bundled libraries without FPC exception. [x]: Changelog in prescribed format. [x]: Sources contain only permissible code or content. [-]: Package contains desktop file if it is a GUI application. [-]: Development files must be in a -devel package [x]: Package requires other packages for directories it uses. [x]: Package uses nothing in %doc for runtime. [x]: Package is not known to require ExcludeArch. [x]: Fully versioned dependency in subpackages, if present. Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in maven- native-components , native-maven-plugin , maven-native-javadoc [x]: Package complies to the Packaging Guidelines [x]: License field in the package spec file matches the actual license. Note: Checking patched sources after %prep for licenses. Licenses found: "MIT/X11 (BSD like)", "Apache (v2.0)", "Unknown or generated". 41 files have unknown license. Detailed output of licensecheck in /home/bjoern.esser/fedora/review/864084-maven-native/licensecheck.txt ---> proper License-tag in spec [x]: License file installed when any subpackage combination is installed. [x]: Package consistently uses macro is (instead of hard-coded directory names). [x]: If the package is under multiple licenses, the licensing breakdown must be documented in the spec. [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]: Package must own all directories that it creates. [x]: Package does not own files or directories owned by other packages. [x]: Requires correct, justified where necessary. [x]: Spec file is legible and written in American English. [-]: Package contains systemd file(s) if in need. [-]: Large documentation must go in a -doc subpackage. Note: Documentation size is 30720 bytes in 3 files. [x]: All build dependencies are listed in BuildRequires, except for any that are listed in the exceptions section of Packaging Guidelines. [x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the beginning of %install. [x]: Each %files section contains %defattr if rpm < 4.4 [x]: Macros in Summary, %description expandable at SRPM build time. [x]: Package does not contain duplicates in %files. [x]: Permissions on files are set properly. [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 %doc. [x]: Package use %makeinstall only when make install' ' DESTDIR=... doesn't work. [x]: Package is named using only allowed ASCII characters. [x]: Package do not use a name that already exist [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]: Packages must not store files under /srv, /opt or /usr/local [x]: Package successfully compiles and builds into binary rpms on at least one supported primary architecture. [x]: Package installs properly. [x]: Rpmlint is run on all rpms the build produces. Note: No rpmlint messages. Java: [x]: Packages have proper BuildRequires/Requires on jpackage-utils Note: Maven packages do not need to (Build)Require jpackage-utils. It is pulled in by maven-local [x]: Javadoc documentation files are generated and included in -javadoc subpackage [x]: Javadoc subpackages should not have Requires: jpackage-utils [x]: Javadocs are placed in %{_javadocdir}/%{name} (no -%{version} symlink) [x]: Bundled jar/class files should be removed before build Maven: [x]: Pom files have correct Maven mapping Note: Some add_maven_depmap calls found. Please check if they are correct or update to latest guidelines [x]: If package contains pom.xml files install it (including depmaps) even when building with ant [x]: Old add_to_maven_depmap macro is not being used [x]: Packages DOES NOT have Requires(post) and Requires(postun) on jpackage- utils for %update_maven_depmap macro [x]: Package DOES NOT use %update_maven_depmap in %post/%postun [x]: Packages use %{_mavenpomdir} instead of %{_datadir}/maven2/poms ===== 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]: Package functions as described. [x]: Latest version is packaged. [x]: Package does not include license text files separate from upstream. [-]: 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. [-]: %check is present and all tests pass. [x]: Packages should try to preserve timestamps of original installed files. [x]: Packager, Vendor, PreReq, Copyright tags should not be in spec file [x]: Sources can be downloaded from URI in Source: tag [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]: Dist tag is present. [x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin. [x]: SourceX tarball generation or download is documented. [x]: SourceX is a working URL. [x]: Spec use %global instead of %define. Java: [x]: Package uses upstream build method (ant/maven/etc.) [x]: Packages are noarch unless they use JNI ===== EXTRA items ===== Generic: [x]: Large data in /usr/share should live in a noarch subpackage if package is arched. [x]: Rpmlint is run on all installed packages. Note: No rpmlint messages. [x]: Spec file according to URL is the same as in SRPM. Rpmlint ------- Checking: maven-native-1.0-0.3.alpha.7.fc20.noarch.rpm maven-native-components-1.0-0.3.alpha.7.fc20.noarch.rpm native-maven-plugin-1.0-0.3.alpha.7.fc20.noarch.rpm maven-native-javadoc-1.0-0.3.alpha.7.fc20.noarch.rpm 4 packages and 0 specfiles checked; 0 errors, 0 warnings. Rpmlint (installed packages) ---------------------------- # rpmlint native-maven-plugin maven-native-components maven-native- javadoc maven-native 4 packages and 0 specfiles checked; 0 errors, 0 warnings. # echo 'rpmlint-done:' Requires -------- native-maven-plugin (rpmlib, GLIBC filtered): jpackage-utils maven-native maven-native-components mvn(bcel:bcel) mvn(org.apache.maven:maven-artifact) mvn(org.apache.maven:maven-compat) mvn(org.apache.maven:maven-core) mvn(org.apache.maven:maven-model) mvn(org.apache.maven:maven-plugin-api) mvn(org.codehaus.plexus:plexus-archiver) mvn(org.codehaus.plexus:plexus-utils) maven-native-components (rpmlib, GLIBC filtered): jpackage-utils maven-native mvn(commons-lang:commons-lang) mvn(org.codehaus.plexus:plexus-container-default) mvn(org.codehaus.plexus:plexus-utils) maven-native-javadoc (rpmlib, GLIBC filtered): jpackage-utils maven-native (rpmlib, GLIBC filtered): java jpackage-utils mvn(org.codehaus.plexus:plexus-container-default) mvn(org.codehaus.plexus:plexus-utils) Provides -------- native-maven-plugin: mvn(org.codehaus.mojo:native-maven-plugin) native-maven-plugin maven-native-components: maven-native-components mvn(org.codehaus.mojo.natives:maven-native-bcc) mvn(org.codehaus.mojo.natives:maven-native-components) mvn(org.codehaus.mojo.natives:maven-native-generic-c) mvn(org.codehaus.mojo.natives:maven-native-javah) mvn(org.codehaus.mojo.natives:maven-native-manager) mvn(org.codehaus.mojo.natives:maven-native-msvc) maven-native-javadoc: maven-native-javadoc maven-native: maven-native mvn(org.codehaus.mojo.natives:maven-native) mvn(org.codehaus.mojo.natives:maven-native-api) Source checksums ---------------- http://repo2.maven.org/maven2/org/codehaus/mojo/natives/maven-native/1.0-alpha-7/maven-native-1.0-alpha-7-source-release.zip : CHECKSUM(SHA256) this package : e1c9cfd7a9afd8b224d9b1af3ae17372779a9ed849d74c634de23e5a2ca782a2 CHECKSUM(SHA256) upstream package : e1c9cfd7a9afd8b224d9b1af3ae17372779a9ed849d74c634de23e5a2ca782a2 Generated by fedora-review 0.4.1 (b2e211f) last change: 2013-04-29 Buildroot used: fedora-rawhide-x86_64 Command line :/usr/bin/fedora-review -m fedora-rawhide-x86_64 -b 864084 ##### The next one is APPROVED! (In reply to gil cattaneo from comment #12) > the missing class is provided by mvn(org.apache.maven:maven-artifact). > and for now, only for this case, caused some troubles during the testing, > but the hadhoop packagers not reported relevant problems (work fine) Allright! So I ignored them in review. If there are possible issues caused by these hadhoop-packagers will stumble upon them, surely. ;) Thanks! New Package SCM Request ======================= Package Name: maven-native Short Description: Compile c and c++ source under Maven Owners: gil Branches: f18 f19 f20 InitialCC: java-sig Git done (by process-git-requests). maven-native-1.0-0.3.alpha.7.fc19 has been submitted as an update for Fedora 19. https://admin.fedoraproject.org/updates/maven-native-1.0-0.3.alpha.7.fc19 maven-native-1.0-0.3.alpha.7.fc18 has been submitted as an update for Fedora 18. https://admin.fedoraproject.org/updates/maven-native-1.0-0.3.alpha.7.fc18 maven-native-1.0-0.3.alpha.7.fc19 has been pushed to the Fedora 19 testing repository. maven-native-1.0-0.3.alpha.7.fc18 has been pushed to the Fedora 18 stable repository. maven-native-1.0-0.3.alpha.7.fc19 has been pushed to the Fedora 19 stable repository. |