Fedora10PackagingNB
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/ See also: NetBeans Javaparser Homepage
|
| ./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.
Thenetbeans-6.1-200805300101-platform-src.zipincludes 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 | |
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

