Bug 588142

Summary: Review Request: maven-release - Release a project updating the POM and tagging in the SCM
Product: [Fedora] Fedora Reporter: Guido Grazioli <guido.grazioli>
Component: Package ReviewAssignee: Alexander Kurtakov <akurtako>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: akurtako, fedora-package-review, notting, orion, overholt
Target Milestone: ---Flags: akurtako: fedora-review+
dennis: fedora-cvs+
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2010-05-25 18:53: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:
Bug Depends On:    
Bug Blocks: 590679, 590680    
Attachments:
Description Flags
patch I had to make to get build a bit further none

Description Guido Grazioli 2010-05-02 20:39:00 UTC
Spec URL: 
http://guidograzioli.fedorapeople.org/packages/maven-release/maven-release.spec
SRPM URL: 
http://guidograzioli.fedorapeople.org/packages/maven-release/maven-release-2.0-1.659858svn.fc14.src.rpm
Description: 
This plugin is used to release a project with Maven, saving a lot of
repetitive, manual work. Releasing a project is made in two steps:
prepare and perform.

Comment 1 Andrew Overholt 2010-05-05 16:05:12 UTC
Created attachment 411663 [details]
patch I had to make to get build a bit further

I applied this patch and got it to make it a bit further in the build.  Unfortunately, I'm still not able to build:

1) org.netbeans.lib:cvsclient:jar:20060125

  Try downloading the file manually from the project website.

  Then, install it using the command: 
      mvn install:install-file -DgroupId=org.netbeans.lib -DartifactId=cvsclient -Dversion=20060125 -Dpackaging=jar -Dfile=/path/to/file

  Alternatively, if you host your own repository you can deploy the file there: 
      mvn deploy:deploy-file -DgroupId=org.netbeans.lib -DartifactId=cvsclient -Dversion=20060125 -Dpackaging=jar -Dfile=/path/to/file -Durl=[url] -DrepositoryId=[id]

  Path to dependency: 
  	1) org.apache.maven.release:maven-release-manager:jar:1.0-alpha-5-SNAPSHOT
  	2) org.apache.maven.scm:maven-scm-provider-cvsjava:jar:1.0
  	3) org.netbeans.lib:cvsclient:jar:20060125

Comment 2 Guido Grazioli 2010-05-05 16:42:33 UTC
Sorry Andrew, i forgot to specify that to build in rawhide this package needs an update of maven-scm (which i own, but havent pushed so far); there is a missing cvsclient.jar symlink to netbeans library to be put in {_javadir}; that AND the cvsclient pom have to be moved to a netbeans subpackage, when work will go further there. For the moment the pom stays in maven-common-poms and the symlink in maven-scm (i dont want to make maven2-common-poms depend on netbeans-ide which is a big package).

Comment 3 Andrew Overholt 2010-05-05 17:46:41 UTC
Okay, just ping me here when this is ready to be reviewed.

Comment 4 Peter Lemenkov 2010-05-07 09:57:12 UTC
Hello, Guido.
Just FYI, you may substitute %{_datadir}/maven2/poms with %{_mavenpomdir}.

Comment 5 Guido Grazioli 2010-05-10 14:07:46 UTC
Hi Peter! Good catch.
I also fixed the release tag with a better one.

Updated files here:
http://guidograzioli.fedorapeople.org/packages/maven-release/

I just built in rawhide maven-scm-1.2-6, so this package can be built too (hopefully).

Comment 6 Orion Poplawski 2010-05-10 21:16:27 UTC
Adding myself as a lurker as apache-commons-jexl 2.0.1 requires maven-release-plugin.

Comment 7 Andrew Overholt 2010-05-17 12:32:05 UTC
I'm sorry, but I won't be able to review this in a timely manner.

Comment 8 Alexander Kurtakov 2010-05-17 13:47:00 UTC
OK, I'll do that

Comment 9 Alexander Kurtakov 2010-05-17 14:23:17 UTC
Why do we need to package a trunk snapshot instead of using what's released http://svn.apache.org/repos/asf/maven/release/tags/maven-release-2.0/ ?

Comment 10 Alexander Kurtakov 2010-05-17 14:25:02 UTC
OK, answer to self - it requires newer maven than what we have

Comment 11 Alexander Kurtakov 2010-05-17 14:57:23 UTC
Review:

OK: rpmlint must be run on every package. OUTPUT:

maven-release-manager-javadoc.noarch: W: spelling-error Summary(en_US) Javadocs -> Java docs, Java-docs, Javanese
maven-release-plugin-javadoc.noarch: W: spelling-error Summary(en_US) Javadocs -> Java docs, Java-docs, Javanese
maven-release-manager.noarch: W: spelling-error %description -l en_US plugin -> plug in, plug-in, plugging
maven-release-manager.noarch: W: no-documentation
maven-release.noarch: W: spelling-error %description -l en_US plugin -> plug in, plug-in, plugging
maven-release.noarch: W: non-conffile-in-etc /etc/maven/fragments/maven-release
maven-release-plugin.noarch: W: no-documentation
maven-release.src: W: spelling-error %description -l en_US plugin -> plug in, plug-in, plugging
maven-release.src: W: invalid-url Source0: maven-release-2.0.tar.xz

Not a problem. 

OK: The package must be named according to the Package Naming Guidelines .
OK: The spec file name must match the base package %{name}, in the format
%{name}.spec unless your package has an exemption. 
OK: The package must meet the Packaging Guidelines .
OK: The package must be licensed with a Fedora approved license and meet the
Licensing Guidelines .
OK: The License field in the package spec file must match the actual license. 
OK: The spec file must be written in American English.
OK: The spec file for the package MUST be legible. 
OK: The sources used to build the package must match the upstream source, as
provided in the spec URL.
OK: The package MUST successfully compile and build into binary rpms on at
least one primary architecture.
OK: All build dependencies must be listed in BuildRequires, except for any that
are listed in the exceptions section of the Packaging Guidelines ; inclusion of
those as BuildRequires is optional. Apply common sense.
OK: Packages must NOT bundle copies of system libraries.
OK: A package must own all directories that it creates. 
OK: A Fedora package must not list a file more than once in the spec file's
%files listings. 
OK: Permissions on files must be set properly. 
OK: Each package must consistently use macros.
OK: The package must contain code, or permissable content. 
OK: Large documentation files must go in a -doc subpackage. Javadocs
subpackage.
OK: If a package includes something as %doc, it must not affect the runtime of
the application. 
OK: Packages must not own files or directories already owned by other
packages. 
OK: All filenames in rpm packages must be valid UTF-8.

 
Btw, What is the reason for putting BuildArch:noarch when the main package is noarch already. Plese remove it.

Other than that the package is good.

This package is APPROVED.

Comment 12 Guido Grazioli 2010-05-18 08:13:03 UTC
> Btw, What is the reason for putting BuildArch:noarch when the main package 
> is noarch already. Plese remove it.

Sure, will do that.

> Why do we need to package a trunk snapshot instead of using what's released?
> it requires newer maven than what we have

Yep i had to rewind in the vcs quite far in the past; other than that, there was an issue for a plugin version (i can provide details if u are interested) for which the version was correct in the pom, but the build hit some NoSuchMethod exceptions: it could be a mismatch in the rpm or in the pom.

As far as i push this version in F-13, will start the work to build maven-release against rawhide-maven221

Thanks for the review

Comment 13 Guido Grazioli 2010-05-18 08:14:38 UTC
New Package CVS Request
=======================
Package Name: maven-release
Short Description: Release a project updating the POM and tagging in the SCM
Owners: guidograzioli
Branches: F-13

Comment 14 Dennis Gilmore 2010-05-18 18:24:11 UTC
CVS Done

Comment 15 Alexander Kurtakov 2010-05-20 12:12:21 UTC
Hi Guido, 
Will you push this in rawhide soon ?

Comment 16 Alexander Kurtakov 2010-05-25 17:07:05 UTC
Hi Guido,
We need this for a number of things, please say smth or I'll do the rawhide build on Thursday.
Thanks,
Alex

Comment 17 Guido Grazioli 2010-05-25 18:53:12 UTC
Sorry for the delay, i've been away from work (and the F project) for a bunch of days; maven-release is now built in rawhide.

Comment 18 Alexander Kurtakov 2010-05-25 19:01:06 UTC
Thanks a lot Guido!

Comment 19 Orion Poplawski 2010-07-01 20:49:28 UTC
Any reason this was never built for F-13?

Comment 20 Guido Grazioli 2010-07-06 08:34:29 UTC
Hello Orion sorry for the delay again; i'm working to update in rawhide to a more recent version, in order to have maven-release available with all new packaged maven plugins in f14; to build in f13 this package requires a hack in maven-scm, that i only pushed in rawhide atm, that hopefully will not be needed when bug 572165 is fixed. However if there is interest in maven-release for F13, i will build it.

Comment 21 Orion Poplawski 2010-07-07 16:18:50 UTC
pdfbox-1.2.0 appears to require it (which I am slowly working on packaging), and at some point I'd like to get it into F13.  No hurry though.  Thanks.