Fedora10PackagingNB

Revision as of 19:55, 9 June 2010 by Vvg (Talk | contribs)
(diff) ← Older revision | Current revision (diff) | Newer revision → (diff)

Fedora 10 - Packaging of the NetBeans

Contents


Overview

This document contains a log of activities for packaging of the NetBeans IDE 6.1 into the Fedora, Release 10.

Configuration

A NetBeans IDE 6.1 configuration with reduced set of the modules is packaged to limit number of external dependencies.

Overall list of necessary Libraries

The table below explains a list of the external Libraries that are required for the chosen configuration of the NetBeans IDE. The table also establish relation between required library and a Fedora package if it is exists.

Required Library Fedora 10 Package Status
./platform8/modules/ext/swing-layout-1.0.3.jar swing-layout-1.0.3-2.fc9 EXISTS
./platform8/modules/ext/script-api.jar
As of Java 6, the Script API is included in the JRE.
EXISTS
./platform8/modules/ext/jh-2.0_05.jar javahelp2-2.0.05-5.src.rpm javahelp2.spec Bugzilla Bug 439263: Review Request: javahelp2 - needed for NetBeans Platform
Status: Closed
Resolution: RAWHIDE
./ide9/modules/ext/xerces-2.8.0.jar xerces-j2-2.7.1-10jpp.1.fc9
The xerces-j2-2.8.0-1.fc is prepared as bootstrapped version of xerces-j2-2.8.0-1mdv2007.0.src.rpm
Bugzilla Bug 456281: Review Request: xerces-j2 - Java XML parser
./ide9/modules/ext/lucene-core-2.2.0.jar lucene-2.3.0-1jpp.0.fc9 EXISTS
./ide9/modules/ext/resolver-1.2.jar
It is patched version of the xml-commons-resolver-1.1, but not 1.2!
xml-commons-resolver-1.1
The netbeans-resolver-6.1-1.fc package is prepared. It is using the same upstream source as xml-commons-resolver-1.1 and applies the required patch. The package doesn't establish any relations to the original XML resolver (e.g. via Provides tags, alternatives or by name of installed JAR)
Bugzilla Bug 456298: Review Request: netbeans-resolver - Resolver subproject of xml-commons patched for NetBeans
{{{1}}}

Note: There is a patch provided by netbeans.org - see relevant files in mercurial: readme.txt and resolver.patch
See also: Issue 127132 "SOA module installation broken"
./ide9/modules/ext/freemarker-2.3.8.jar
freemarker-2.3.13-1.fc is prepared.
Packaging Process
Bugzilla Bug 456276: Review Request: freemarker - FreeMarker template engine
Site: freemarker.sourceforge.net
Origin: freemarker-2.3.8.tar.gz
Note: There is the next compatible version 2.3.13 recommended as the latest stable release. See Download FreeMarker
./ide9/modules/ext/commons-logging-1.0.4.jar jakarta-commons-logging-1.0.4-7jpp.5.fc9 EXISTS
./ide9/modules/ext/ini4j-0.2.6.jar
ini4j-0.3.2-1.fc is prepared. The version 0.3.2 requires Maven (not Ant) at the build time. The version 0.3.2 is compatible with the version 0.2.6 and includes valuable fixes. See Change log
Bugzilla Bug 456280: Review Request: ini4j - Java API for handling files in Windows .ini format
Site: ini4j.sourceforge.net
Title: Java API for handling Windows ini file format
./ide9/modules/ext/svnClientAdapter-0.9.23.jar
netbeans-svnclientadapter-6.1-1.fc is prepared as bootstrapped version of libnb-svnClientAdapter-6.0.1-1mdv2008.1.src.rpm
Bugzilla Bug 456316: Review Request: netbeans-svnclientadapter - Subversion Client Adapter
./ide9/modules/ext/jsch-0.1.24.jar jsch-0.1.31-2jpp.3.fc9 EXISTS
./java2/ant/* ant-1.7.0-1jpp.4.fc9 EXISTS
./java2/modules/ext/junit-3.8.2.jar junit-3.8.2-4jpp.3.fc9 EXISTS
./java2/modules/ext/junit-4.1.jar junit4-4.3.1-1jpp.1.fc8 EXISTS
./java2/modules/ext/swing-worker-1.1.jar
As of Java 6, SwingWorker is included in the JRE.
TBD (our own libswingworker-java (1.1) in Ubuntu)
NB Module: swingapp
Origin: https://swingworker.dev.java.net/
./java2/modules/ext/appframework-1.0.3.jar
appframework-1.03-1.fc and appframework-javadoc-1.03-1.fc are prepared. It is bootstrapped version of appframework-1.0.3-3mdv2009.0.src.rpm
Bugzilla Bug 456266: Review Request: appframework - Swing Application Framework
libappframework-java (1.0.3) in Ubuntu
NB Module: swingapp
Origin: https://appframework.dev.java.net/
Source: http://appframework.dev.java.net/downloads/AppFramework-1.03-src.zip
./java2/modules/ext/beansbinding-1.2.1.jar
The beansbinding-1.2.1-1.fc package is prepared. It is bootstrapped version of beansbinding-1.2.1-1mdv2008.1
Bugzilla Bug 456273: Review Request: beansbinding - Beans Binding (JSR 295) reference implementation
our own libbeansbinding-java (1.2.1) in Ubuntu
NB Module: form
Origin: N/A
Files: beansbinding-1.2.1.jar beansbinding-1.2.1-doc.zip
./java2/modules/ext/javac-api-nb-7.0-b07.jar
./java2/modules/ext/javac-impl-nb-7.0-b07.jar
The netbeans-javaparser-6.1-1.fc is prepared. It is using nb-javaparser-6.1-src.zip as the source upstream.
Bugzilla Bug 456312: Review Request: netbeans-javaparser - NetBeans Java Parser
libnb-javaparser-java (6.1) in Ubuntu
NB Module: libs.javacapi
Name: Javac Compiler API

NB Module: libs.javacimpl
Name: Javac Compiler Implementation
Origin: https://jdk7.dev.java.net/
./platform8/modules/ext/jna-3.0.2.jar NB Module: libs.jna
Origin:
{{{1}}}
seems to be used by core.nativeaccess;
Bugzilla Bug 436036: Review Request: jna - Pure Java access to native libraries
Bug Status: CLOSED NEXTRELEASE on 2008-04-04
The Fedora 9 DVD doesn't contain this package.
{{{1}}}


don't care:

./java2/modules/ext/spring/commons-logging-1.1.jar
jakarta-commons-logging-1.0.4-7jpp.5.fc9
NB Module: libs.springframework
Origin: http://commons.apache.org/logging/
./java2/modules/ext/spring/spring-2.5.jar
N/A
NB Module: libs.springframework
Origin: http://www.springframework.org


Sources

The netbeans-6.1-200805300101-src.zip file will be used as sources for packaging. This zip archive file contains all sources of the NetBeans.

There is another archive netbeans-6.1-200805300101-platform-src.zip that contains subset of sources with sources only the NetBeans Platform. This zip archive file can be used for packaging of the NetBeans Platform.

Extracting Sources

clusters.config.basic.list
NB Cluster Cluster Config
nb.cluster.harness platform, basic
nb.cluster.platform platform, basic
nb.cluster.ide basic
nb.cluster.java basic
nb.cluster.apisupport basic
nb.cluster.nb basic


Refining sources

In the strict sense, there are bugs in both archives mentioned above, because these files contains pre-built binaries and libraries that are assumed as sources of the NetBeans. Actually, in many cases, the original sources for these pre-built binaries and libraries aren't accessible in the given NetBeans archives. To be compatible with the strict requirements established by fedoraproject.org the sources of the NetBeans should be refined before packaging.

The
netbeans-6.1-200805300101-platform-src.zip
includes the following binary files:
File Content Comment
find . -name '*.jar' -type f
./autoupdate.services/test/unit/src/org/netbeans/api/autoupdate/data/executable-jar.jar test data
./nbbuild/sierra/build.jar  ?software
./nbbuild/external/apitest-29.jar software
./nbbuild/nbantext.jar software
./o.jdesktop.layout/external/swing-layout-1.0.3.jar software Fedora 9 includes swing-layout-1.0.3-2.fc9.i386
./apisupport.harness/external/jsearch-2.0_05.jar software
./o.n.core/test/qa-functional/data/SampleProject/data.jar test data
./javahelp/external/jh-2.0_05.jar software Bugzilla Bug 439263: Review Request: javahelp2 - needed for NetBeans Platform
./libs.jna/external/jna-3.0.1.jar software prev version!?
./libs.jna/external/jna-3.0.2.jar software
./o.n.bootstrap/test/unit/src/org/netbeans/jars/default-package-resource-cached.jar test data
./o.n.bootstrap/test/unit/src/org/netbeans/jars/default-package-resource.jar test data
./openide.loaders/test/qa-functional/src/DataLoaderTests/DataObjectTest/data/data.jar test data
./libs.jsr223/external/jsr223-api.jar software For Java 1.5 only! It is included in Java 1.6
find . -name '*.exe' -type f
./apisupport.harness/release/launchers/app.exe software Windows platform only!!!
./apisupport.harness/release/launchers/app_w.exe software Windows platform only!!!
./o.n.bootstrap/launcher/windows/nbexec.exe software Windows platform only!!!
find . -name '*.zip' -type f
./o.jdesktop.layout/external/swing-layout-1.0.3-doc.zip documentation Fedora 9 includes swing-layout-1.0.3-2.fc9.i386
./o.jdesktop.layout/external/swing-layout-1.0.3-src.zip archived sources Fedora 9 includes swing-layout-1.0.3-2.fc9.i386
./openide.loaders/test/qa-functional/src/FileSystemTest/data/data.zip test data


Note: If the binary files containing test data will be removed then the tests will lose ability to work.


Specified Packages

The netbeans-platform.spec specifies the following packages:

Package Name Summary
libnb-platform8 NetBeans Platform for Development of Rich Client Swing Applications
libnb-platform8-javadoc Javadoc documentation for NetBeans Platform
libnb-platform8-devel Build harness for NetBeans Platform


Platform Package Dependencies

Build-time dependecies

Library NB Module Source License Description
./platform8/modules/ext/jh-2.0_05.jar ./javahelp/external/jh-2.0_05.jar javahelp2-src-2.0.05.zip on javahelp.dev.java.net GPL-2-CP Standard Java help browser system.
./platform8/modules/ext/jna-3.0.2.jar ./libs.jna/external/jna-3.0.2.jar source browse on jna.dev.java.net LGPL-2.1 Dynamically access native libraries from Java without JNI.
./apisupport.harness/external/jsearch-2.0_05.jar
./libs.jna/external/jna-3.0.2.jar
./o.jdesktop.layout/external/swing-layout-1.0.3.jar
./o.jdesktop.layout/external/swing-layout-1.0.3-doc.zip 20-properties.patch removes depedency
./o.jdesktop.layout/external/swing-layout-1.0.3-src.zip 20-properties.patch removes depedency
TODO complete the table


SRPMS

List of the prepared SRPMs:

  • appframework-1.03-1.fc9.src.rpm
  • beansbinding-1.2.1-1.fc9.src.rpm
  • freemarker-2.3.13-1.fc9.src.rpm
  • ini4j-0.3.2-1.fc9.src.rpm
  • netbeans-6.1-1.fc9.src.rpm
  • netbeans-javaparser-6.1-1.fc9.src.rpm
  • netbeans-platform8-6.1-1.fc9.src.rpm
  • netbeans-resolver-6.1-1.fc9.src.rpm
  • netbeans-svnclientadapter-6.1-1.fc9.src.rpm
  • xerces-j2-2.8.0-1.fc9.src.rpm

RPMS

}}commentbox Note: Installation of the all NetBeans 6.1 packages can be done via one command:
rpm -iv netbeans-*-6.1*.rpm
}}

Installation order:

  • netbeans-platform8-6.1-1.fc9
  • netbeans-platform8-harness-6.1-1.fc9
  • netbeans-svnclientadapter-6.1-1.fc9
  • netbeans-resolver-6.1-1.fc9
  • netbeans-ide9-6.1-1.fc9
  • netbeans-javaparser-6.1-1.fc9
  • netbeans-6.1-1.fc9
  • netbeans-apisupport1-6.1-1.fc9
  • netbeans-java2-6.1-1.fc9
  • netbeans-platform8-javadoc-6.1-1.fc9
Not logged in. Log in, Register

By use of this website, you agree to the NetBeans Policies and Terms of Use. © 2012, Oracle Corporation and/or its affiliates. Sponsored by Oracle logo