Details

    • Type: New Feature New Feature
    • Status: Open
    • Priority: Major Major
    • Resolution: Unresolved
    • Affects Version/s: 5.2.0
    • Fix Version/s: 5.x
    • Component/s: None
    • Labels:
      None
    • Environment:

      linux, rpm-based

      Description

      Todo:

      • Create separate rpm maven project
      • move config, scripts, documentation from the jar project

      14:57 < Sherriff> Have you thought about distribution with for example rpm?
      14:58 < Sherriff> gtully: It seems to be working a lot better without systemUsage and destinationPolicy defined. Thanks alot
      14:58 < rajdavies> Sherriff: yeah - would be a good idea
      14:59 < Sherriff> rajdavies: Do you use Maven2 to build it now?
      14:59 < rajdavies> Sherriff: yep
      15:00 < Sherriff> Cool.
      15:00 < Sherriff> If you would like I can set up an rpm-project based on appassembler-m-p and unix-m-p.
      15:01 < Sherriff> for you.
      15:01 < rajdavies> Sherriff: that would be awesome!
      15:02 < Sherriff> It use Java Service Wrapper and some (a bit outdated doc) can be found here: http://wiki.community.objectware.no/display/smidigtonull/RPM+Deployment+with+Java+Service+Wrapper
      15:02 < Sherriff> The project setup would then be 1. jar-project and 2. rpm-project.
      15:03 < Sherriff> 2. Would contain config file, readmes, etc. and the start/stop scripts are generated by appassembler.

      I can probably do most of the work since I already have working rpm setup that I use for other projects.

      1. activemq-rpm_standalone-project.tar.bz2
        156 kB
        Erik Drolshammer
      2. activemq-rpm.tar.bz2
        156 kB
        Erik Drolshammer
      3. jamesc-apache-activemq-activemq-5.3.2-3-0-ga901aeb.tar.gz
        5 kB
        James C

        Activity

        Hide
        James C added a comment -

        Tarball of Makefile/specfile for building activemq 5.3.2 rpm

        Show
        James C added a comment - Tarball of Makefile/specfile for building activemq 5.3.2 rpm
        Hide
        James C added a comment -
        • rpm creation should be automated
          Maybe you can add activemq to SUSE build service to create RPMs for several plattforms.
          (see: http://de.opensuse.org/Build_Service)
          Automatic creation of a daily snapshot based on svn-trunk would be a cool idea.

        Yes, those were just some temp rpms We build it automatically on our Koji (same as fedora) buildserver. Latest version at : https://koji.afroditi.hellasgrid.gr/koji/packageinfo?packageID=492

        • ActiveMQ persistence data is currently located in /var/cache/activemq - this looks not very
          LSB compliant. Maybe /var/lib/activemq would be a better way

        Yes, probably. Now fixed.

        • /etc/activemq should only contain one single configuration
          (all other activemq-*.xml configurations should be placed in /usr/share/activemq/example/conf)

        This seems to be a problem with the upstream tarball creation. In the SVN repo they're in a separate directory and get merged during the build process. I'll submit a patch against the assembly descriptor to change this.

        • Basic configuration for the init-script should be moved to
          /etc/default/activemq

        The init.d script loads from /etc/sysconfig/activemq which is the RHEL/fedora equivalent of the debian /etc/default. I currently don't create a /etc/sysconfig/activemq by default. I probably should.

        • ActiveMQ comes with the java wrapper:
          /usr/share/activemq/bin/linux-x86-64/libwrapper.so
          /usr/share/activemq/bin/linux-x86-64/wrapper
          => it seems that this is the main reason to have separate rpm-archives for different platforms
          => in my opinion it would be a good idea to deliver activemq as a "noarch" package by using
          a init-script which do not need a binary helper.
          (see also my implementation https://issues.apache.org/activemq/browse/AMQ-2453, unluckily i got no feedback
          what is needed to get it in activemq-svntrunk)
          => in my opinion it would be a good idea to deliver activemq as a "noarch" package by using
          a init-script which do not need a binary helper.
          (noarch packages can i.e. be used on linux-x86/x86_64/s390/arm/.. and also on systems which support rpm like aix/pseries,...)

        Well the different platforms tend to have different rpms anyway since there are differences in how the different platforms lay things out and what is provided for init.d scripts (e.g. start-stop-daemon vs runuser and /etc/default vs /etc/sysconfig. Also we we move to a 'real' rpm built for Fedora from source it'll be x86_64 anyway since it must put the .so files for gcj into the package.

        Tomcat5 on RHEL uses jakarata-commons-daemon for startup which also has a small binary component. I know there are some licencing problems with JWS which means we can't a newer version - I'll look at a patch to use jakarta-commons-daemon instead and see if it's better.

        • ActiveMQ should not run as root-user as default

        the rpm creates an 'activemq' user and modifies the init.d to use it by default.

        Thanks for the feedback, and any modifications you have to make it work on non-RHEL rpm platforms would be welcome !

        The latest rpm (5.3.2-3) is here : https://koji.afroditi.hellasgrid.gr/koji/buildinfo?buildID=623 and I'll attach the tarball of the scripts to this ticket now.

        Show
        James C added a comment - rpm creation should be automated Maybe you can add activemq to SUSE build service to create RPMs for several plattforms. (see: http://de.opensuse.org/Build_Service ) Automatic creation of a daily snapshot based on svn-trunk would be a cool idea. Yes, those were just some temp rpms We build it automatically on our Koji (same as fedora) buildserver. Latest version at : https://koji.afroditi.hellasgrid.gr/koji/packageinfo?packageID=492 ActiveMQ persistence data is currently located in /var/cache/activemq - this looks not very LSB compliant. Maybe /var/lib/activemq would be a better way Yes, probably. Now fixed. /etc/activemq should only contain one single configuration (all other activemq-*.xml configurations should be placed in /usr/share/activemq/example/conf) This seems to be a problem with the upstream tarball creation. In the SVN repo they're in a separate directory and get merged during the build process. I'll submit a patch against the assembly descriptor to change this. Basic configuration for the init-script should be moved to /etc/default/activemq The init.d script loads from /etc/sysconfig/activemq which is the RHEL/fedora equivalent of the debian /etc/default. I currently don't create a /etc/sysconfig/activemq by default. I probably should. ActiveMQ comes with the java wrapper: /usr/share/activemq/bin/linux-x86-64/libwrapper.so /usr/share/activemq/bin/linux-x86-64/wrapper => it seems that this is the main reason to have separate rpm-archives for different platforms => in my opinion it would be a good idea to deliver activemq as a "noarch" package by using a init-script which do not need a binary helper. (see also my implementation https://issues.apache.org/activemq/browse/AMQ-2453 , unluckily i got no feedback what is needed to get it in activemq-svntrunk) => in my opinion it would be a good idea to deliver activemq as a "noarch" package by using a init-script which do not need a binary helper. (noarch packages can i.e. be used on linux-x86/x86_64/s390/arm/.. and also on systems which support rpm like aix/pseries,...) Well the different platforms tend to have different rpms anyway since there are differences in how the different platforms lay things out and what is provided for init.d scripts (e.g. start-stop-daemon vs runuser and /etc/default vs /etc/sysconfig. Also we we move to a 'real' rpm built for Fedora from source it'll be x86_64 anyway since it must put the .so files for gcj into the package. Tomcat5 on RHEL uses jakarata-commons-daemon for startup which also has a small binary component. I know there are some licencing problems with JWS which means we can't a newer version - I'll look at a patch to use jakarta-commons-daemon instead and see if it's better. ActiveMQ should not run as root-user as default the rpm creates an 'activemq' user and modifies the init.d to use it by default. Thanks for the feedback, and any modifications you have to make it work on non-RHEL rpm platforms would be welcome ! The latest rpm (5.3.2-3) is here : https://koji.afroditi.hellasgrid.gr/koji/buildinfo?buildID=623 and I'll attach the tarball of the scripts to this ticket now.
        Hide
        James C added a comment -

        Sure Dejan,

        I'll do another round to integrate some of Marcs comments and then I'll attach the sources here.

        Ultimately some of them need decisions by activemq commiters (stop using/releasing Java Wrapper, moving some of the example configs in the actual distribution to the examples directory) if they are a good thing to do. I'd like to keep the rpm structure as similar as possible to the actual deployed tarballs to make real rpm creation from source easier in the future.

        Show
        James C added a comment - Sure Dejan, I'll do another round to integrate some of Marcs comments and then I'll attach the sources here. Ultimately some of them need decisions by activemq commiters (stop using/releasing Java Wrapper, moving some of the example configs in the actual distribution to the examples directory) if they are a good thing to do. I'd like to keep the rpm structure as similar as possible to the actual deployed tarballs to make real rpm creation from source easier in the future.
        Hide
        Dejan Bosanac added a comment -

        Hi James,

        thanks for the great work on this. Can you attach the sources and grant a license for inclusion in Apache project?

        I'm a bit busy at the moment, but will look at this and related issues (including making start script better) soon. What I'd do as well is to create a PGP signature for it, so its source can be verified (as it is the case with other distributions).

        Marc, all improvements are welcomed. It'd be great to make ActiveMQ a first-class citizen on Linux.

        Show
        Dejan Bosanac added a comment - Hi James, thanks for the great work on this. Can you attach the sources and grant a license for inclusion in Apache project? I'm a bit busy at the moment, but will look at this and related issues (including making start script better) soon. What I'd do as well is to create a PGP signature for it, so its source can be verified (as it is the case with other distributions). Marc, all improvements are welcomed. It'd be great to make ActiveMQ a first-class citizen on Linux.
        Hide
        Marc Schöchlin added a comment -

        Hi,

        thank you for wrining the specfile - i take a quick view at your RPM (just inspected by using cpio):

        Some ideas/hints from a sysadmin's view:

        • rpm creation should be automated
          Maybe you can add activemq to SUSE build service to create RPMs for several plattforms.
          (see: http://de.opensuse.org/Build_Service)
          Automatic creation of a daily snapshot based on svn-trunk would be a cool idea.
        • ActiveMQ persistence data is currently located in /var/cache/activemq - this looks not very
          LSB compliant. Maybe /var/lib/activemq would be a better way
        • /etc/activemq should only contain one single configuration
          (all other activemq-*.xml configurations should be placed in /usr/share/activemq/example/conf)
        • Basic configuration for the init-script should be moved to
          /etc/default/activemq
        • ActiveMQ comes with the java wrapper:
          /usr/share/activemq/bin/linux-x86-64/libwrapper.so
          /usr/share/activemq/bin/linux-x86-64/wrapper
          => it seems that this is the main reason to have separate rpm-archives for different platforms
          => in my opinion it would be a good idea to deliver activemq as a "noarch" package by using
          a init-script which do not need a binary helper.
          (see also my implementation https://issues.apache.org/activemq/browse/AMQ-2453, unluckily i got no feedback
          what is needed to get it in activemq-svntrunk)
          => in my opinion it would be a good idea to deliver activemq as a "noarch" package by using
          a init-script which do not need a binary helper.
          (noarch packages can i.e. be used on linux-x86/x86_64/s390/arm/.. and also on systems which support rpm like aix/pseries,...)
        • ActiveMQ should not run as root-user as default

        I'm also interested in having distribution packages of activemq - if you like i can contribute to the specfiles....

        Regards
        Marc

        Show
        Marc Schöchlin added a comment - Hi, thank you for wrining the specfile - i take a quick view at your RPM (just inspected by using cpio): Some ideas/hints from a sysadmin's view: rpm creation should be automated Maybe you can add activemq to SUSE build service to create RPMs for several plattforms. (see: http://de.opensuse.org/Build_Service ) Automatic creation of a daily snapshot based on svn-trunk would be a cool idea. ActiveMQ persistence data is currently located in /var/cache/activemq - this looks not very LSB compliant. Maybe /var/lib/activemq would be a better way /etc/activemq should only contain one single configuration (all other activemq-*.xml configurations should be placed in /usr/share/activemq/example/conf) Basic configuration for the init-script should be moved to /etc/default/activemq ActiveMQ comes with the java wrapper: /usr/share/activemq/bin/linux-x86-64/libwrapper.so /usr/share/activemq/bin/linux-x86-64/wrapper => it seems that this is the main reason to have separate rpm-archives for different platforms => in my opinion it would be a good idea to deliver activemq as a "noarch" package by using a init-script which do not need a binary helper. (see also my implementation https://issues.apache.org/activemq/browse/AMQ-2453 , unluckily i got no feedback what is needed to get it in activemq-svntrunk) => in my opinion it would be a good idea to deliver activemq as a "noarch" package by using a init-script which do not need a binary helper. (noarch packages can i.e. be used on linux-x86/x86_64/s390/arm/.. and also on systems which support rpm like aix/pseries,...) ActiveMQ should not run as root-user as default I'm also interested in having distribution packages of activemq - if you like i can contribute to the specfiles.... Regards Marc
        Hide
        James C added a comment -

        Dejan,

        I've now got working specfile for RPMs (Fedora/RHEL5). See a short blog entry on it : <http://justdotheneedful.blogspot.com/2010/05/producing-rpms-for-apache-activemq.html>, and the github repo containing the build for now: <http://github.com/jamesc/apache-activemq>

        Let me know if this is useful to you and how you could see if being merged into the main activemq repo.
        cheers,

        James.

        Show
        James C added a comment - Dejan, I've now got working specfile for RPMs (Fedora/RHEL5). See a short blog entry on it : < http://justdotheneedful.blogspot.com/2010/05/producing-rpms-for-apache-activemq.html >, and the github repo containing the build for now: < http://github.com/jamesc/apache-activemq > Let me know if this is useful to you and how you could see if being merged into the main activemq repo. cheers, James.
        Hide
        Trevor Hemsley added a comment -

        I tried to use the files attached to this JIRA today but three of the jars did not build correctly - these were smackx, geronimo-activation and geronimo-stax-api. All the supposed 'jar' files in the RPM that was created actually contain a HTML error message with a 302 - moved permanently status pointing to a different URL. Build was run on a Centos 5.4 i386 system and otherwise seems to complete ok.

        In addition, when installed on Centos 5.4, the init script is linked to the wrong location - the files are installed under /opt/activemq but there is a dangling symlink created by the RPM installation that points to /usr/local/activemq/bin/activemq. The syntax of the adduser command in the post script is also wrong and tries to execute `adduser --system activemq` when on Centos5/RHEL5 this should say `adduser -r activemq`. These latter problems are easily fixed by editing the pre/post scripts and rebuilding the rpm.

        Any idea how I get the correct smackx and geronimo jars to build? Am not a maven expert by any means!

        Show
        Trevor Hemsley added a comment - I tried to use the files attached to this JIRA today but three of the jars did not build correctly - these were smackx, geronimo-activation and geronimo-stax-api. All the supposed 'jar' files in the RPM that was created actually contain a HTML error message with a 302 - moved permanently status pointing to a different URL. Build was run on a Centos 5.4 i386 system and otherwise seems to complete ok. In addition, when installed on Centos 5.4, the init script is linked to the wrong location - the files are installed under /opt/activemq but there is a dangling symlink created by the RPM installation that points to /usr/local/activemq/bin/activemq. The syntax of the adduser command in the post script is also wrong and tries to execute `adduser --system activemq` when on Centos5/RHEL5 this should say `adduser -r activemq`. These latter problems are easily fixed by editing the pre/post scripts and rebuilding the rpm. Any idea how I get the correct smackx and geronimo jars to build? Am not a maven expert by any means!
        Hide
        Erik Drolshammer added a comment -

        I have not used the latest releases of the unix-maven-plugin, but I don't think it currently supports relocatable. Looking at [1], it seems straight forward to add support to unix-m-p. Can you add a jira for it?
        As far as I can tell ActiveMQ seems "relocatable ready", so it seems doable.

        In my opinion relocatable is a minor convenience feature, not a blocking issue for adding rpm support to ActiveMQ...

        [1] http://www.rpm.org/max-rpm/ch-rpm-reloc.html

        Show
        Erik Drolshammer added a comment - I have not used the latest releases of the unix-maven-plugin, but I don't think it currently supports relocatable. Looking at [1] , it seems straight forward to add support to unix-m-p. Can you add a jira for it? As far as I can tell ActiveMQ seems "relocatable ready", so it seems doable. In my opinion relocatable is a minor convenience feature, not a blocking issue for adding rpm support to ActiveMQ... [1] http://www.rpm.org/max-rpm/ch-rpm-reloc.html
        Hide
        Peter Pothier added a comment -

        I downloaded
        activemq-rpm_standalone-project.tar.bz2

        unzipped it, built
        MAVEN_OPTS=-Xmx800m mvn clean install -Dmaven.test.skip=true

        and it created an RPM

        [INFO] Installing /opt/junk/activemq-rpm_standalone-project/target/activemq-rpm-5.3-1-SNAPSHOT.rpm to /root/.m2/repository/org/apache/activemq/activemq-rpm/5.3-SNAPSHOT/activemq-rpm-5.3-SNAPSHOT.rpm

        1. ls -l target/activemq-rpm-5.3-1-SNAPSHOT.rpm
          rw-rr- 1 root root 25722620 Dec 21 09:55 target/activemq-rpm-5.3-1-SNAPSHOT.rpm

        The RPM says "not relocatable", is there an option available to change this?

        Show
        Peter Pothier added a comment - I downloaded activemq-rpm_standalone-project.tar.bz2 unzipped it, built MAVEN_OPTS=-Xmx800m mvn clean install -Dmaven.test.skip=true and it created an RPM [INFO] Installing /opt/junk/activemq-rpm_standalone-project/target/activemq-rpm-5.3-1-SNAPSHOT.rpm to /root/.m2/repository/org/apache/activemq/activemq-rpm/5.3-SNAPSHOT/activemq-rpm-5.3-SNAPSHOT.rpm ls -l target/activemq-rpm-5.3-1-SNAPSHOT.rpm rw-r r - 1 root root 25722620 Dec 21 09:55 target/activemq-rpm-5.3-1-SNAPSHOT.rpm The RPM says "not relocatable", is there an option available to change this?
        Hide
        Erik Drolshammer added a comment -

        Minor adjustments to the adduser command

        Show
        Erik Drolshammer added a comment - Minor adjustments to the adduser command
        Hide
        Erik Drolshammer added a comment -

        Fixed a couple of bugs

        Show
        Erik Drolshammer added a comment - Fixed a couple of bugs
        Hide
        Erik Drolshammer added a comment -

        Changes from the previous rpm-project:

        • set jetty version to 6.1.18
        • upgraded to unix-maven-plugin 1.0-alpha-4
        • create the /var/lock/subsys/activemq directory
        • create an activemq user if it doesn't exist
        Show
        Erik Drolshammer added a comment - Changes from the previous rpm-project: set jetty version to 6.1.18 upgraded to unix-maven-plugin 1.0-alpha-4 create the /var/lock/subsys/activemq directory create an activemq user if it doesn't exist
        Hide
        Tarjei Huse added a comment -

        On the Zip issue:

        I upgraded the Jetty version set in the Pom to 6.1.18. Jetty then provided me with information on which jarfile was corrupt so I could reinstall it (smack-1.5.0). this fixed the admin problem.

        Show
        Tarjei Huse added a comment - On the Zip issue: I upgraded the Jetty version set in the Pom to 6.1.18. Jetty then provided me with information on which jarfile was corrupt so I could reinstall it (smack-1.5.0). this fixed the admin problem.
        Hide
        Tarjei Huse added a comment -

        I tested this today.

        Some problems :

        • the rpm should create a user and chown the activemq directory to that user.
        • the rpm should create a /var/lock/subsys/activemq directory
        • When I start the application, I get the following error and the web admin doesn't work:
          [org.mortbay.log] jetty-6.1.9
          2009-06-11 16:11:20,157 WARN [org.mortbay.log] Can't reuse /tmp/Jetty_0_0_0_0_8161_admin_admin9l5s6p, using /tmp/Jetty_0_0_0_0_8161_adminadmin_9l5s6p_36110
          2009-06-11 16:11:20,429 WARN [org.mortbay.log] Failed startup of context org.mortbay.jetty.webapp.WebAppContext@1958cc2 {/admin,file:/usr/local/activemq/webapps/admin/}

          java.util.zip.ZipException: error in opening zip file
          at java.util.zip.ZipFile.open(Native Method)
          at java.util.zip.ZipFile.<init>(ZipFile.java:114)
          at java.util.jar.JarFile.<init>(JarFile.java:133)
          at java.util.jar.JarFile.<init>(JarFile.java:97)
          at org.mortbay.jetty.webapp.TagLibConfiguration.configureWebApp(TagLibConfiguration.java:168)
          at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1217)
          at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:510)
          at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:448)
          at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)
          at org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:152)
          at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)
          at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
          at org.mortbay.jetty.Server.doStart(Server.java:222)
          at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)
          at org.mortbay.jetty.xbean.JettyFactoryBean.run(JettyFactoryBean.java:47)
          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
          at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
          at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
          at java.lang.reflect.Method.invoke(Method.java:597)
          at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1413)
          at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1374)
          at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1334)
          at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:473)
          at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
          at java.security.AccessController.doPrivileged(Native Method)
          at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
          at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)
          at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:221)
          at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
          at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
          at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
          at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:429)
          at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:729)
          at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:381)
          at org.apache.xbean.spring.context.ResourceXmlApplicationContext.<init>(ResourceXmlApplicationContext.java:64)
          at org.apache.xbean.spring.context.ResourceXmlApplicationContext.<init>(ResourceXmlApplicationContext.java:52)
          at org.apache.activemq.xbean.XBeanBrokerFactory.createApplicationContext(XBeanBrokerFactory.java:96)
          at org.apache.activemq.xbean.XBeanBrokerFactory.createBroker(XBeanBrokerFactory.java:52)
          at org.apache.activemq.broker.BrokerFactory.createBroker(BrokerFactory.java:71)
          at org.apache.activemq.broker.BrokerFactory.createBroker(BrokerFactory.java:54)
          at org.apache.activemq.console.command.StartCommand.startBroker(StartCommand.java:115)
          at org.apache.activemq.console.command.StartCommand.runTask(StartCommand.java:74)
          at org.apache.activemq.console.command.AbstractCommand.execute(AbstractCommand.java:57)
          at org.apache.activemq.console.command.ShellCommand.runTask(ShellCommand.java:129)
          at org.apache.activemq.console.command.AbstractCommand.execute(AbstractCommand.java:57)
          at org.apache.activemq.console.command.ShellCommand.main(ShellCommand.java:79)
          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
          at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
          at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
          at java.lang.reflect.Method.invoke(Method.java:597)
          at org.apache.activemq.console.Main.runTaskClass(Main.java:225)
          at org.apache.activemq.console.Main.main(Main.java:106)
          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
          at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
          at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
          at java.lang.reflect.Method.invoke(Method.java:597)
          at org.tanukisoftware.wrapper.WrapperSimpleApp.run(WrapperSimpleApp.java:240)
          at java.lang.Thread.run(Thread.java:619)
          2009-06-11 16:11:20,465 INFO [org.mortbay.log] Started SelectChannelConnector@0.0.0.0:8161

        Show
        Tarjei Huse added a comment - I tested this today. Some problems : the rpm should create a user and chown the activemq directory to that user. the rpm should create a /var/lock/subsys/activemq directory When I start the application, I get the following error and the web admin doesn't work: [org.mortbay.log] jetty-6.1.9 2009-06-11 16:11:20,157 WARN [org.mortbay.log] Can't reuse /tmp/Jetty_0_0_0_0_8161_admin_ admin 9l5s6p, using /tmp/Jetty_0_0_0_0_8161_admin admin _9l5s6p_36110 2009-06-11 16:11:20,429 WARN [org.mortbay.log] Failed startup of context org.mortbay.jetty.webapp.WebAppContext@1958cc2 {/admin,file:/usr/local/activemq/webapps/admin/} java.util.zip.ZipException: error in opening zip file at java.util.zip.ZipFile.open(Native Method) at java.util.zip.ZipFile.<init>(ZipFile.java:114) at java.util.jar.JarFile.<init>(JarFile.java:133) at java.util.jar.JarFile.<init>(JarFile.java:97) at org.mortbay.jetty.webapp.TagLibConfiguration.configureWebApp(TagLibConfiguration.java:168) at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1217) at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:510) at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:448) at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39) at org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:152) at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39) at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130) at org.mortbay.jetty.Server.doStart(Server.java:222) at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39) at org.mortbay.jetty.xbean.JettyFactoryBean.run(JettyFactoryBean.java:47) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1413) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1374) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1334) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:473) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409) at java.security.AccessController.doPrivileged(Native Method) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380) at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:221) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164) at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:429) at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:729) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:381) at org.apache.xbean.spring.context.ResourceXmlApplicationContext.<init>(ResourceXmlApplicationContext.java:64) at org.apache.xbean.spring.context.ResourceXmlApplicationContext.<init>(ResourceXmlApplicationContext.java:52) at org.apache.activemq.xbean.XBeanBrokerFactory.createApplicationContext(XBeanBrokerFactory.java:96) at org.apache.activemq.xbean.XBeanBrokerFactory.createBroker(XBeanBrokerFactory.java:52) at org.apache.activemq.broker.BrokerFactory.createBroker(BrokerFactory.java:71) at org.apache.activemq.broker.BrokerFactory.createBroker(BrokerFactory.java:54) at org.apache.activemq.console.command.StartCommand.startBroker(StartCommand.java:115) at org.apache.activemq.console.command.StartCommand.runTask(StartCommand.java:74) at org.apache.activemq.console.command.AbstractCommand.execute(AbstractCommand.java:57) at org.apache.activemq.console.command.ShellCommand.runTask(ShellCommand.java:129) at org.apache.activemq.console.command.AbstractCommand.execute(AbstractCommand.java:57) at org.apache.activemq.console.command.ShellCommand.main(ShellCommand.java:79) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.activemq.console.Main.runTaskClass(Main.java:225) at org.apache.activemq.console.Main.main(Main.java:106) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.tanukisoftware.wrapper.WrapperSimpleApp.run(WrapperSimpleApp.java:240) at java.lang.Thread.run(Thread.java:619) 2009-06-11 16:11:20,465 INFO [org.mortbay.log] Started SelectChannelConnector@0.0.0.0:8161
        Hide
        Erik Drolshammer added a comment -

        This is because the artifact was released today (last night) and have not been synchronized to repo1 yet. (Wait 12-15 hours and it should be ok.) The artifact can be found in http://repository.codehaus.org/org/codehaus/mojo/unix-maven-plugin/1.0-alpha-2/.

        Show
        Erik Drolshammer added a comment - This is because the artifact was released today (last night) and have not been synchronized to repo1 yet. (Wait 12-15 hours and it should be ok.) The artifact can be found in http://repository.codehaus.org/org/codehaus/mojo/unix-maven-plugin/1.0-alpha-2/ .
        Hide
        Hiram Chirino added a comment -

        Just tried the latest attachment and I get an error during the build:

        [chirino@localhost trunk]$ mvn install 
        [INFO] Scanning for projects...
        Downloading: http://repo1.maven.org/maven2/org/codehaus/mojo/unix-maven-plugin/1.0-alpha-2/unix-maven-plugin-1.0-alpha-2.pom
        Downloading: http://repo1.maven.org/maven2/org/codehaus/mojo/unix-maven-plugin/1.0-alpha-2/unix-maven-plugin-1.0-alpha-2.pom
        [INFO] ------------------------------------------------------------------------
        [ERROR] BUILD ERROR
        [INFO] ------------------------------------------------------------------------
        [INFO] Error building POM (may not be this project's POM).
        
        
        Project ID: org.codehaus.mojo:unix-maven-plugin
        
        Reason: POM 'org.codehaus.mojo:unix-maven-plugin' not found in repository: Unable to download the artifact from any repository
        
          org.codehaus.mojo:unix-maven-plugin:pom:1.0-alpha-2
        
        from the specified remote repositories:
          apache.snapshots (http://people.apache.org/repo/m2-snapshot-repository),
          central (http://repo1.maven.org/maven2)
         for project org.codehaus.mojo:unix-maven-plugin
        
        
        [INFO] ------------------------------------------------------------------------
        [INFO] For more information, run Maven with the -e switch
        [INFO] ------------------------------------------------------------------------
        [INFO] Total time: 10 seconds
        [INFO] Finished at: Wed Feb 18 09:26:00 GMT-05:00 2009
        [INFO] Final Memory: 1M/4M
        [INFO] ------------------------------------------------------------------------
        
        Show
        Hiram Chirino added a comment - Just tried the latest attachment and I get an error during the build: [chirino@localhost trunk]$ mvn install [INFO] Scanning for projects... Downloading: http: //repo1.maven.org/maven2/org/codehaus/mojo/unix-maven-plugin/1.0-alpha-2/unix-maven-plugin-1.0-alpha-2.pom Downloading: http: //repo1.maven.org/maven2/org/codehaus/mojo/unix-maven-plugin/1.0-alpha-2/unix-maven-plugin-1.0-alpha-2.pom [INFO] ------------------------------------------------------------------------ [ERROR] BUILD ERROR [INFO] ------------------------------------------------------------------------ [INFO] Error building POM (may not be this project's POM). Project ID: org.codehaus.mojo:unix-maven-plugin Reason: POM 'org.codehaus.mojo:unix-maven-plugin' not found in repository: Unable to download the artifact from any repository org.codehaus.mojo:unix-maven-plugin:pom:1.0-alpha-2 from the specified remote repositories: apache.snapshots (http: //people.apache.org/repo/m2-snapshot-repository), central (http: //repo1.maven.org/maven2) for project org.codehaus.mojo:unix-maven-plugin [INFO] ------------------------------------------------------------------------ [INFO] For more information, run Maven with the -e switch [INFO] ------------------------------------------------------------------------ [INFO] Total time: 10 seconds [INFO] Finished at: Wed Feb 18 09:26:00 GMT-05:00 2009 [INFO] Final Memory: 1M/4M [INFO] ------------------------------------------------------------------------
        Hide
        Erik Drolshammer added a comment -

        Fixed admin webapp

        Show
        Erik Drolshammer added a comment - Fixed admin webapp
        Hide
        Erik Drolshammer added a comment -

        Use unix-m-p version 1.0-alpha (final) + added (hopefully) the rest of the dependencies. The size of the final rpm is now 25 MiB.

        Show
        Erik Drolshammer added a comment - Use unix-m-p version 1.0-alpha (final) + added (hopefully) the rest of the dependencies. The size of the final rpm is now 25 MiB.
        Hide
        Erik Drolshammer added a comment -

        An initial rpm-project.

        Show
        Erik Drolshammer added a comment - An initial rpm-project.

          People

          • Assignee:
            Unassigned
            Reporter:
            Erik Drolshammer
          • Votes:
            3 Vote for this issue
            Watchers:
            6 Start watching this issue

            Dates

            • Created:
              Updated:

              Development