[MacPorts] #25656: New port: maven3
#25656: New port: maven3 ---------------------------------------+------------------------------------ Reporter: lists@… | Owner: macports-tickets@… Type: submission | Status: new Priority: Normal | Milestone: Component: ports | Version: 1.9.1 Keywords: | Port: ---------------------------------------+------------------------------------ I am attaching the Portfile for maven 3.0-beta-1. -- Ticket URL: <http://trac.macports.org/ticket/25656> MacPorts <http://www.macports.org/> Ports system for Mac OS
#25656: New port: maven3 ---------------------------------------+------------------------------------ Reporter: lists@… | Owner: macports-tickets@… Type: submission | Status: new Priority: Normal | Milestone: Component: ports | Version: 1.9.1 Keywords: | Port: ---------------------------------------+------------------------------------ Comment(by lists@…): The attached maven3 Portfile is based upon the maven2 Portfile. The contents are: {{{ # -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c -basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4 # $Id$ PortSystem 1.0 name maven3 version 3.0-beta-1 categories java devel maintainers jon.buffington.name:me platforms darwin description A java-based build and project management environment. long_description Maven is a software project management and comprehension tool. Based on \ the concept of a Project Object Model (POM), Maven can manage a project's \ build, reporting and documentation from a central piece of information. homepage http://maven.apache.org/ master_sites apache:maven/binaries distname apache-maven-${version}-bin worksrcdir apache-maven-${version} checksums md5 82d43745cf2f2d1d939f1139a09d6654 \ sha1 639ada216287e1f2689e5e142f1e21aa7560d3d2 \ rmd160 0d8e9576a9b330bd759ec741b05011ad0f48ff5a depends_build bin:java:kaffe use_configure no universal_variant no build {} destroot { # Verify the target directory exists. xinstall -m 755 -d ${destroot}${prefix}/share/java/${name} # Copy the needed elements of the directory tree. file copy \ ${worksrcpath}/bin \ ${worksrcpath}/boot \ ${worksrcpath}/conf \ ${worksrcpath}/lib \ ${destroot}${prefix}/share/java/${name} # Remove extraneous bat files. foreach f [glob -directory ${destroot}${prefix}/share/java/${name}/bin *.bat] { file delete $f } # Fix permissions on shell scripts. foreach f { maven install_repo.sh } { if [file exists ${destroot}${prefix}/share/java/${name}/bin/$f] { file attributes ${destroot}${prefix}/share/java/${name}/bin/$f -permissions +x } } # Reduce the permissions on the conf directory and settings.xml file. file attributes ${destroot}${prefix}/share/java/${name}/conf -permissions 0755 file attributes ${destroot}${prefix}/share/java/${name}/conf/settings.xml -permissions 0644 # Symlink maven into the bin directory system "cd ${destroot}${prefix}/bin && ln -s ${prefix}/share/java/${name}/bin/mvn" } livecheck.type regex livecheck.url ${homepage}download.html livecheck.regex apache-maven-(\[0-9.\]+)-bin\\.tar }}} -- Ticket URL: <http://trac.macports.org/ticket/25656#comment:1> MacPorts <http://www.macports.org/> Ports system for Mac OS
#25656: New port: maven3 ---------------------------------------+------------------------------------ Reporter: lists@… | Owner: macports-tickets@… Type: submission | Status: new Priority: Normal | Milestone: Component: ports | Version: 1.9.1 Keywords: | Port: maven, maven2, maven3 ---------------------------------------+------------------------------------ Changes (by ryandesign@…): * cc: jberry@…, gk5885@…, ryandesign@… (added) * port: => maven, maven2, maven3 Comment: Since this maven3 portfile is based on the existing maven2 portfile, I would prefer to see a diff from the maven2 portfile, rather than a complete new portfile. When I compare your new portfile with the existing maven2 portfile, I see many changes that do not appear to relate to the task at hand (updating from maven 2 to maven 3). For example, you've changed the modeline from the recommended MacPorts modeline to something else, changed some portfile comments, changed the description, and changed how the build phase is disabled. I would like the maven, maven2 and maven3 portfiles to be as similar as possible. I also think the whitespace style of the existing maven and maven2 portfiles is an atrocious mix of spaces and tabs. I would like to begin by fixing the whitespace of the maven and maven2 portfiles to use spaces only and to have consistent indentation, then to resolve any remaining extraneous differences between those ports, then perhaps make other changes to those ports that you're implying in the maven3 portfile you attached here, then we can think about making a maven3 port based on the cleaned-up maven2 port. -- Ticket URL: <http://trac.macports.org/ticket/25656#comment:2> MacPorts <http://www.macports.org/> Ports system for Mac OS
#25656: New port: maven3 ---------------------------------------+------------------------------------ Reporter: lists@… | Owner: macports-tickets@… Type: submission | Status: new Priority: Normal | Milestone: Component: ports | Version: 1.9.1 Keywords: | Port: maven, maven2, maven3 ---------------------------------------+------------------------------------ Comment(by lists@…): I can contact gk5885 at kickstyle.net and jberry at macports.org about cleaning up the maven* portfiles using your comments on the sbt clean-up. I copied the modeline from the docs <http://guide.macports.org/#development.creating-portfile>. Should the docs be updated? -- Ticket URL: <http://trac.macports.org/ticket/25656#comment:3> MacPorts <http://www.macports.org/> Ports system for Mac OS
#25656: New port: maven3 ---------------------------------------+------------------------------------ Reporter: lists@… | Owner: macports-tickets@… Type: submission | Status: new Priority: Normal | Milestone: Component: ports | Version: 1.9.1 Keywords: | Port: maven, maven2, maven3 ---------------------------------------+------------------------------------ Comment(by lachlan.deck@…): Hi Ryan, I've added a clean version of maven3 portfile. It is formatted as you've (well) suggested and also uses pre/post destroot operations as it should. The maven2 port was fixing permissions on files that only existed in maven1 -- so that's been fixed. As far as providing an upgrade diff for the existing maven2 portfile I don't think that's a good thing(tm) to do. Various portfiles exist (e.g., for various versions of mysql or postgres) that target a specific major release version of the target port and that is a good thing to continue with here as maven3 is a major upgrade from maven2. Besides which, maven3 is in beta and as such people will want to have both installed (as it is required by some other tools). As such the attached portfile targets bin/mvn3 rather than overwriting bin/mvn as the previously attached port was (wrongly) doing. i.e., if it's a new port it shouldn't interfere with existing port executables. I'm happy to watch for updates to maven3 and provide updated diffs as they are released. -- Ticket URL: <http://trac.macports.org/ticket/25656#comment:4> MacPorts <http://www.macports.org/> Ports system for Mac OS
#25656: New port: maven3 ---------------------------------------+------------------------------------ Reporter: lists@… | Owner: macports-tickets@… Type: submission | Status: new Priority: Normal | Milestone: Component: ports | Version: 1.9.1 Keywords: | Port: maven, maven2, maven3 ---------------------------------------+------------------------------------ Comment(by lists@…): I modified Lachlan's file to use the final Maven 3.0 release. I added extra file permission fixes and chose to symlink the `mvn` into the `bin` directory to follow the precedent of the `maven1` and `maven2` ports. Based upon the changes, I substituted my ID in place of Lachlan's only differentiate to file's origin. If Lachlan prefers, he can be the maintainer. Hopefully, this file addresses Ryan's concerns. -- Ticket URL: <https://trac.macports.org/ticket/25656#comment:8> MacPorts <http://www.macports.org/> Ports system for Mac OS
#25656: New port: maven3 ---------------------------------------+------------------------------------ Reporter: lists@… | Owner: macports-tickets@… Type: submission | Status: new Priority: Normal | Milestone: Component: ports | Version: 1.9.1 Keywords: | Port: maven, maven2, maven3 ---------------------------------------+------------------------------------ Comment(by lachlan.deck@…): No worries Jon! It was yours to begin with :-) I'm more than happy you've updated it. It's been a while since I looked at it as we never heard back from Ryan. Without further feedback and communication from Ryan it seems things will lag on this port (perhaps for some time to come?) which is a shame. Faster turn arounds would be preferable. -- Ticket URL: <https://trac.macports.org/ticket/25656#comment:9> MacPorts <http://www.macports.org/> Ports system for Mac OS
#25656: New port: maven3 ---------------------------------------+------------------------------------ Reporter: lists@… | Owner: macports-tickets@… Type: submission | Status: new Priority: Normal | Milestone: Component: ports | Version: 1.9.1 Keywords: | Port: maven, maven2, maven3 ---------------------------------------+------------------------------------ Changes (by ryandesign@…): * cc: blair@… (added) Comment: Blair added a maven3 port in r72281. I don't know if he was aware of this ticket or if his version includes everything proposed here. Blair, can you comment? -- Ticket URL: <https://trac.macports.org/ticket/25656#comment:10> MacPorts <http://www.macports.org/> Ports system for Mac OS
#25656: New port: maven3 ---------------------------------------+------------------------------------ Reporter: lists@… | Owner: macports-tickets@… Type: submission | Status: new Priority: Normal | Milestone: Component: ports | Version: 1.9.1 Keywords: | Port: maven, maven2, maven3 ---------------------------------------+------------------------------------ Comment(by blair@…): I wasn't aware of this ticket and it's attached Portfiles. If people want to submit diffs against the newly updated maven2 and maven3 ports, I'll commit them. -- Ticket URL: <https://trac.macports.org/ticket/25656#comment:11> MacPorts <http://www.macports.org/> Ports system for Mac OS
#25656: New port: maven3 ---------------------------------------+------------------------------------ Reporter: lists@… | Owner: macports-tickets@… Type: submission | Status: new Priority: Normal | Milestone: Component: ports | Version: 1.9.1 Keywords: | Port: maven, maven2, maven3 ---------------------------------------+------------------------------------ Comment(by lists@…): Replying to [comment:11 blair@…]:
I wasn't aware of this ticket and it's attached Portfiles.
If people want to submit diffs against the newly updated maven2 and maven3 ports, I'll commit them.
Blair, The critical patch would be fixing the permissions. Unfortunately, the archive was created with the JAR files having the SUID bit enabled and writeable by all. {{{ pre-destroot { # Remove the extraneous Windows bat files. foreach f [glob -directory ${worksrcpath}/bin *.bat] { file delete $f } # Reduce the permissions on the distribution files. file attributes ${worksrcpath}/conf -permissions 0755 file attributes ${worksrcpath}/conf/settings.xml -permissions 0644 # Reduce the permissions on the JAR files. foreach f [glob -directory ${worksrcpath}/boot *.jar] { file attributes $f -permissions 0644 } foreach f [glob -directory ${worksrcpath}/lib *.jar] { file attributes $f -permissions 0644 } } }}} -- Ticket URL: <https://trac.macports.org/ticket/25656#comment:12> MacPorts <http://www.macports.org/> Ports system for Mac OS
#25656: New port: maven3 ---------------------------------------+------------------------------------ Reporter: lists@… | Owner: macports-tickets@… Type: submission | Status: new Priority: Normal | Milestone: Component: ports | Version: 1.9.1 Keywords: | Port: maven, maven2, maven3 ---------------------------------------+------------------------------------ Comment(by blair@…): I fixed the permission issues in r72308 and r72310. One thing to consider is using a "select" module like python_select to select between maven versions for the ${prefix}/bin/mvn symlink. This may not be necessary though after a while if maven3 shows itself to be backwards compatibile with maven2. Let me know your thoughts. -- Ticket URL: <https://trac.macports.org/ticket/25656#comment:13> MacPorts <http://www.macports.org/> Ports system for Mac OS
#25656: New port: maven3 ----------------------------------------+----------------------------------- Reporter: lists@… | Owner: macports-tickets@… Type: submission | Status: closed Priority: Normal | Milestone: Component: ports | Version: 1.9.1 Resolution: fixed | Keywords: Port: maven, maven2, maven3 | ----------------------------------------+----------------------------------- Changes (by jmr@…): * status: new => closed * resolution: => fixed Comment: This submission is definitely fixed, and there are now other tickets for the other issues raised. -- Ticket URL: <https://trac.macports.org/ticket/25656#comment:14> MacPorts <http://www.macports.org/> Ports system for Mac OS
participants (1)
-
MacPorts