GlassFish V2 UR1

Bug #191658 reported by Nitya Doraisamy
18
Affects Status Importance Assigned to Milestone
Ubuntu
Fix Released
Wishlist
Nitya Doraisamy

Bug Description

Source: glassfishv2
Section: devel
Priority: optional
Maintainer: Nitya Doraisamy <email address hidden>
Build-Depends: cdbs, debhelper (>= 5.0.0), ant (>=1.6.5-6build1), po-debconf, ia32-libs [amd64], libstdc++5
Standards-Version: 3.7.3
Homepage: https://glassfish.dev.java.net

Package: glassfishv2-bin
Architecture: i386 amd64
Replaces: glassfish-bin
Pre-Depends: debconf (>= 0.5) | debconf-2.0
Depends: sun-java5-jdk | sun-java6-jdk | openjdk-6-jdk, ant (>=1.6.5-6build1), imqv2, sun-javadb-core, ${shlibs:Depends}
Description: Sun's open source GlassFish(TM) v2 Update 1 Application Server
 GlassFish(TM) v2 Update 1 is an enterprise class Java EE 5 application server
 sponsored by Sun Microsystems, with TopLink persistence code, donated by Oracle.
 GlassFish Application Server v2 Update 1 provides advanced features such as support
 for clustering, high availability through in-memory replication, advanced monitoring,
 a very easy to use administration console and much more. GlassFish provides an easy-to-use
 platform for developing/hosting web applications (servlets and JSPs), EJB's modules and
 enterprise applications. More information at https://glassfish.dev.java.net

Package: glassfishv2
Architecture: all
Replaces: glassfish
Pre-Depends: debconf (>= 0.5) | debconf-2.0
Depends: sun-java5-jdk | sun-java6-jdk | openjdk-6-jdk, ant (>=1.6.5-6build1), imqv2, glassfishv2-bin, sun-javadb-core
Description: Sun's open source GlassFish(TM) v2 Update 1 Application Server
 GlassFish(TM) v2 Update 1 is an enterprise class Java EE 5 application server
 sponsored by Sun Microsystems, with TopLink persistence code, donated by Oracle.
 GlassFish Application Server v2 Update 1 provides advanced features such as support
 for clustering, high availability through in-memory replication, advanced monitoring,
 a very easy to use administration console and much more.
 GlassFish provides an easy-to-use platform for developing/hosting web applications
 (servlets and JSPs), EJB's modules and enterprise applications.
 More information at https://glassfish.dev.java.net
 Refer to glassfishv2-doc package for QuickStart guide
 Release Notes : http://docs.sun.com/doc/820-3530

Package: glassfishv2-doc
Architecture: all
Enhances: glassfishv2
Description: GlassFish(TM) v2 Update 1 Documentation
 This package bundles the QuickStart guide for GlassFish Application Server v2 Update 1
 and other documentation

-----------------------------------------------------------------------

Source: imqv2
Section: devel
Priority: optional
Maintainer: Nitya Doraisamy <email address hidden>
Build-Depends: debhelper (>= 5), ant (>=1.6.5-6build1)
Standards-Version: 3.7.3

Package: imqv2
Architecture: all
Replaces: imq
Depends: sun-java5-jre | sun-java6-jre | openjdk-6-jre
Description: Sun Java(TM) System Message Queue for GlassFish v2 Update 1
 This package bundles the Message Queue binaries for use with the GlassFish(TM)
 v2 Update 1 Application Server. GlassFish v2 Update 1 is used to develop
 Sun Java System Application Server 9.1 Update 1

description: updated
description: updated
Revision history for this message
Matthias Klose (doko) wrote :

just looking at the control file, the build-depends look very incomplete ...

Revision history for this message
Nitya Doraisamy (nitya-doraisamy) wrote :
Revision history for this message
Nitya Doraisamy (nitya-doraisamy) wrote :

Filed a Feature Freeze Exception for this,
https://bugs.launchpad.net/bugs/193386

Also cleaned up build-depends and description of packages and uploaded the new packages to REVU queue.

Revision history for this message
Nitya Doraisamy (nitya-doraisamy) wrote :

Updated package name to glassfishv2, glassfishv2-bin and imqv2
Updated dependency to sun-javdb-core and removed dependent package sunwderby-v2ur1

http://revu.ubuntuwire.com/details.py?package=glassfishv2
http://revu.ubuntuwire.com/details.py?package=glassfishv2-bin
http://revu.ubuntuwire.com/details.py?package=imqv2

description: updated
Revision history for this message
Matthias Klose (doko) wrote :

I assume these packages should go to multiverse.

please try to build the package in your PPA to better see some problems.

- the glassfishv2 package currently fails to build from source in hardy

- it is architecture dependent, not independent

- the included binaries are i386 only, missing dependencies on required libraries

- why "Replaces: glassfish"? afaik the original intent was to be able to install both
  versions in parallel to allow the user a smooth upgrade.

- config files should go into /etc

- the -jre dependencies are redundant, as you already depend on the -jdk packages.

- is glassfish started at system startup time? which user runs glassfish? If yes, then
  an init script and creating and removal of a user `glassfish' are missing.

- please use the debconf system for interaction with the user during installation
  (see the sun-java6 package or any other package depending on debconf for
  an example).

- examples go to <docdir>/examples

- I didn't look too hard where the administrator is supposed to install applications.
  But there's no place for that in /var/lib, or in /usr/local/. users should not be
  encouraged to install stuff in /usr.

- where are log files written? These should not go in /usr, but in /var/log, or
  /var/log/<subdir>

Revision history for this message
Nitya Doraisamy (nitya-doraisamy) wrote :

Yes, GlassFish V2 packages are for Multiverse. The sources are not included.
- The "Replaces : glassfish" is being used for overwriting the /usr/bin/asadmin so that it noe refers to glassfish v2 installation.
I based this on debian policy manual info " ... However, if the overwriting package declares that it Replaces the one containing the file being overwritten, then dpkg will replace the file from the old package with that from the new. The file will no longer be listed as "owned" by the old package. "

- glassfish v2 install location is /usr/share/glassfishv2. After installation, the default domain is created in /var/lib/glassfishv2 and is started. /usr/local/ is not used by GlassFish V2 UR1 packages. GlassFish V1 install location was /usr/share/glassfish and it's default domain was created in /var/lib/glassfish

- Using asadmin command by a user results in creation and start of a personal domain for the user

- The log files for each domain are placed under the domain's directory as per the appserver's conventions.

- The docs which are basically a QuickStart guide are currently in the appserver's install location. I would like to leave them there because the online documentation for the glassfish v2 points users to this location. Please let me know if we can work with this for this release.

- I will fix the packages redundant -jre dependencies & architecture dependency and update the package asap in REVU.

Revision history for this message
Matthias Klose (doko) wrote :

> The "Replaces : glassfish" is being used for overwriting the /usr/bin/asadmin
> so that it noe refers to glassfish v2 installation.

ok, but back to the original question: you do package glassfishv2 with a new package name. what is the rationale about this? If I did understand you correctly glassfish and glassfishv2 should be able to install in parallel, so that both versions can run in parallel, and the user/administrator can easily move to the new version. If this is the use case, then please name the script adadminv2 and remove the Replaces. If there's not such a use case, then maybe use the same name for the source and the binary package.

> the default domain is created in /var/lib/glassfishv2

then there has to be code to cleanup /var/lib/glassfishv2 on package purge.

> - Using asadmin command by a user results in creation and start of a personal domain for the user

how? the user doesn't have permissions to do so?

> - The log files for each domain are placed under the domain's directory as per the appserver's conventions.

in this case, these should go to /var/log/glassfishv2, with a symlink to /var/log/glassfishv2 where the appserver expects those.

> The docs which are basically a QuickStart guide are currently in the appserver's install location.

The same holds for the docs. Please move them to /usr/share/doc, and if the appserver expects the docs in some location, then
create symlinks to /usr/share/doc.

> I would like to leave them there because the online documentation for the glassfish v2 points users to this location.

Well, the user uses the included documentation, which only should reference the locally installed documentation.

Revision history for this message
Matthias Klose (doko) wrote :

please consider splitting the docs into an architecture independant package, and maybe create a glassfish-bin package which just contains the architecture depending parts.

Revision history for this message
Nitya Doraisamy (nitya-doraisamy) wrote :

Fixed redundant -jre dependencies and architecture dependencies and refreshed the packages in REVU queue.

Working on using the debconf to interact with the user during installation.

> The "Replaces : glassfish" is being used for overwriting the /usr/bin/asadmin
> so that it noe refers to glassfish v2 installation.

>>ok, but back to the original question: you do package glassfishv2 with a new package name. what is the rationale about this? If I did understand you correctly glassfish >>and glassfishv2 should be able to install in parallel, so that both versions can run in parallel, and the user/administrator can easily move to the new version. If this is the >>use case, then please name the script adadminv2 and remove the Replaces. If there's not such a use case, then maybe use the same name for the source and the >>binary package.

Yes, both installations can run in parallel, but GlassFish convention is for it's script to be named asadmin and hence I was using the 'Replaces:' to achieve this.
I will ping the GlassFish leads to get their thoughts/take on renaming to asadmin2 or glassfishv2 to conform to the new package name.

> the default domain is created in /var/lib/glassfishv2

>>then there has to be code to cleanup /var/lib/glassfishv2 on package purge.

Yes, On package purge, /var/lib/glassfishv2 is cleaned up.

> - Using asadmin command by a user results in creation and start of a personal domain for the user

>>how? the user doesn't have permissions to do so?

When a user uses asadmin, if they don't have a personal domain, the command creates it for them in the user's home directory.

> - The log files for each domain are placed under the domain's directory as per the appserver's conventions.
>>in this case, these should go to /var/log/glassfishv2, with a symlink to /var/log/glassfishv2 where the appserver expects those.
> The docs which are basically a QuickStart guide are currently in the appserver's install location.
>>The same holds for the docs. Please move them to /usr/share/doc, and if the appserver expects the docs in some location, then
>>create symlinks to /usr/share/doc.
> I would like to leave them there because the online documentation for the glassfish v2 points users to this location.
>>Well, the user uses the included documentation, which only should reference the locally installed documentation.

The docs unfortunately are just a basic QuickStart. Most of the documentation for the server is generally published online.
One other issue, is that the documentation is written in such a way that it assumes that the server is installed all in one place.
I will look into what can be done.

Revision history for this message
Nitya Doraisamy (nitya-doraisamy) wrote :

I have uploaded the latest packages for GlassFish v2 UR1 to REVU.

The glassfish packages have been updated to use debconf & po-debconf for interaction with user during installation and lintian is passing cleanly.

I have not heard yet from GlassFish leads regarding switching the init script name to glassfishv2. Will keep posted.

FFe has been granted for GlassFish v2 UR1 and am hoping for reviewers to approve.

Revision history for this message
Nitya Doraisamy (nitya-doraisamy) wrote :

Split the docs for GlassFish v2 UR1 from glassfishv2 package to separate doc package as per review comment.
The doc package glassfishv2-doc has been uploaded to REVU
http://revu.ubuntuwire.com/details.py?package=glassfishv2-doc

- More info on the asadmin script,
- It currently acts as a wrapper for Glassfish's asadmin
- Switching the name to glassfishv2 might cause confusion as the following prompt is displayed on running it,
 asadmin)
- It delegates to the asadmin script for most commands.

Revision history for this message
Matthias Klose (doko) wrote :

I wrote:
> please consider splitting the docs into an architecture independant package,
> and maybe create a glassfish-bin package which just contains the architecture depending parts.

Your reply:
> Split the docs for GlassFish v2 UR1 from glassfishv2 package to separate doc package as per review comment.

Sorry if I was unclear in my comment; "splitting the docs into an architecture independant package" means to build a separate binary (architecture independant) package from the same source package.

Revision history for this message
Matthias Klose (doko) wrote :

> Yes, both installations can run in parallel,

No, they can't with the current packaging

> I will ping the GlassFish leads to get their thoughts/take
> on renaming to asadmin2 or glassfishv2 to conform to the new package name.

any news on this?

Plesae note that with two projects you always have views from both sides; a software packaged for a distribution should satisfy the expectations of existing users of the distribution and the expectations of users using the upstream builds.

Revision history for this message
Matthias Klose (doko) wrote :

the glassfishv2-bin package fails to build from source

Revision history for this message
Matthias Klose (doko) wrote :

please use a new revision, if you do make changes to a reviewed package (e.g. -0ubuntu2)

Revision history for this message
Matthias Klose (doko) wrote :

looking at the -bin package again; seems to be the same issue as in comment 12 (https://bugs.edge.launchpad.net/ubuntu/+bug/191658/comments/12): why build the -bin package from a separate source at all?

Revision history for this message
Nitya Doraisamy (nitya-doraisamy) wrote :

I misunderstood the previous comment regarding separate packages. I have fixed it now.

GlassFish v2 packages have been updated to build binary packages for -bin & -doc also from the source package.
Updated revision number for the package.

http://revu.ubuntuwire.com/details.py?package=glassfishv2

Revision history for this message
Nitya Doraisamy (nitya-doraisamy) wrote :

>> I will ping the GlassFish leads to get their thoughts/take
>> on renaming to asadmin2 or glassfishv2 to conform to the new package name.

>any news on this?

>Plesae note that with two projects you always have views from both sides; a software packaged for a distribution should satisfy the expectations of existing users of the >distribution and the expectations of users using the upstream builds.

With respect to renaming asadmin wrapper administration client utility for glassfish v2, the following is a summary of feedback from GlassFish core members.

This is a public interface that GlassFish users are expected to use for their administration tasks. All of our documentation and support services cover administration, configuration and management of the appserver based on usage of this client interface. Changing this to another name has a tremendous impact on several areas of our software and our support services and the impact based on higher adoption of GF v2 from Ubuntu users would be pretty large.

Meanwhile, I have communicated this requirement to the core team for consideration in the next iteration of GF in Ubuntu through appropriate means. For the Hardy release, we would request you to grant a waiver for this requirement and approve this package.

We appreciate the time you have taken to provide us feedback to improve and meet Ubuntu guidelines to have GF in good shape for Hardy. Thanks very much.

Revision history for this message
Nitya Doraisamy (nitya-doraisamy) wrote :
description: updated
Revision history for this message
Nitya Doraisamy (nitya-doraisamy) wrote :

Updated version for packages to reflect glassfish releases, to 2.0.1
 (glassfishv2 being the second release of GlassFish & ur1)

Added Replaces field to glassfishv2, glassfishv2-bin & imqv2

http://revu.ubuntuwire.com/details.py?package=glassfishv2
http://revu.ubuntuwire.com/details.py?package=imqv2

I will be filing bug report for package removal of glassfish-bin, glassfish and imq (for removal of V1 packages) from Hardy

description: updated
description: updated
description: updated
Revision history for this message
Scott Kitterman (kitterman) wrote :

Ack from me for FFe. You'll need a second.

Revision history for this message
Martin Pitt (pitti) wrote :

source accepted into hardy multiverse.

Revision history for this message
Martin Pitt (pitti) wrote :

Whoops, sorry; unaccepted due to license problems.

Revision history for this message
Scott Kitterman (kitterman) wrote :

It'd be nice to get the 2nd ack from motu-release too.

Revision history for this message
Scott Kitterman (kitterman) wrote :

Note: FFe already approved in Bug #193386

Revision history for this message
Scott Kitterman (kitterman) wrote :

Looks like this made it.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.