Skip to content

Commit

Permalink
Initial configuration for Apache NetBeans 12.6 installers.
Browse files Browse the repository at this point in the history
  • Loading branch information
neilcsmith-net committed Dec 14, 2021
0 parents commit e0746f3
Show file tree
Hide file tree
Showing 15 changed files with 1,191 additions and 0 deletions.
7 changes: 7 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
dist/
nbpackage/

*.tar.gz
*.zip
*.AppImage

90 changes: 90 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
# Apache NetBeans installers

NBPackage configuration and build files for the Codelerity / Gj IT installers for
[Apache NetBeans](https://netbeans.apache.org).

For more information see [https://www.codelerity.com/netbeans/](https://www.codelerity.com/netbeans/)

## Build

This repository contains configuration files for building an Inno Setup Windows
installer, Linux Deb packages (x64 / all), and Linux AppImages (x64 / Arm).

Before starting, make a build of NBPackage inside an `nbpackage` directory (or
download a [pre-release binary](https://github.com/neilcsmith-net/netbeans-tools/releases)).

Download a copy of the official Apache NetBeans binary zip release, and check against
the hash file in the repository.

Create a `dist` directory for output files.

TIP : pass `--verbose` with any execution of nbpackage to see all output from
external build tools.

### Build Inno Setup installer

You will require an installation of Inno Setup from [https://jrsoftware.org/isdl.php](https://jrsoftware.org/isdl.php).

The configuration files here are designed to build on Linux via an installation of
Inno Setup in Wine. Tweak the configuration file to point to the right place if building
on Windows.

Download the right Azul Zulu JDK into the `windows-x64-iss` directory, checking against
the Azul provided hash. To use a different JDK, update the configuration file.

Build the installer by running -

```
./nbpackage/bin/nbpackage --input netbeans-12.6-bin.zip --config windows-x64-iss/netbeans-windows-x64.properties --output dist/
```

### Build DEB packages

You will require `fakeroot`, `dpkg` and `dpkg-deb` on the system. If building
the `x64` package, download the right Azul Zulu JDK into the `linux-x64` directory
and check against the provided hash file.

The `all` architecture configuration in `linux-all` does not require any additional
downloads and builds a DEB that runs on any architecture with the system JDK.

Build the package by running eg. -

```
./nbpackage/bin/nbpackage --input netbeans-12.6-bin.zip --config linux-x64/netbeans-x64-deb.properties --output dist/
```

### Build AppImages

AppImages must be built on the architecture they are designed for. The Arm AppImage
can be run on the Raspberry Pi or similar, and must be built on an Arm device.

Download the x64 or Arm executable of [AppImageKit](https://github.com/AppImage/AppImageKit/releases/tag/13)
into the relevant directory, checking against the provided hash. AppImageKit is itself
an AppImage - make sure to mark it executable before continuing.

The x64 AppImage will use the same JDK as the DEB above. For Arm (Raspberry Pi)
download the relevant BellSoft Liberica JDK and check against BellSoft's provided
hash.

Build the AppImage by running eg. -

```
./nbpackage/bin/nbpackage --input netbeans-12.6-bin.zip --config linux-arm32/netbeans-arm-appimage.properties --output dist/
```

## Legal

These packages are provided without warranty, and under the licenses and terms of
the bundled software. Please make sure you're familiar with all terms before downloading.
Apache NetBeans is provided under the terms of the
[Apache Software License](https://github.com/apache/netbeans/blob/master/LICENSE).
Some of the packages include a build of OpenJDK - [Azul Zulu](https://www.azul.com/downloads/)
for x86_64, and [BellSoft Liberica](https://bell-sw.com/pages/downloads/) for Arm.
Please see terms and licenses linked for the relevant JDK.

Apache, Apache NetBeans and the Apache NetBeans logo are trademarks or registered
trademarks of the Apache Software Foundation. Azul and Azul Zulu are trademarks or
registered trademarks of Azul Systems, Inc. BellSoft and Liberica are trademarks
or registered trademarks of BellSoft Ltd. Java and OpenJDK are registered trademarks
of Oracle and/or its affiliates. All other trademarks are the property of their
respective holders and used here only for identification purposes.
23 changes: 23 additions & 0 deletions linux-all/netbeans-all-deb.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Application name (required).
package.name=Apache NetBeans
# Application version (defaults 1.0).
package.version=12.6
# Packaging type.
package.type=linux-deb
# Path to Java runtime to include in the package (default none).
package.runtime=
# Path to 48x48 png icon as required by xdg specification. Defaults to Apache NetBeans logo.
package.deb.icon=
# Path to SVG icon. Will only be used if package.deb.icon also set. Defaults to Apache NetBeans logo.
package.deb.svg-icon=
# Optional name for .desktop file (without suffix). Defaults to sanitized package name.
package.deb.desktop-filename=apache-netbeans-ide-12.6
# StartupWMClass to set in .desktop file. Should match the WMClass of the main application window.
package.deb.wmclass=Apache NetBeans IDE 12.6
# Application category (or categories) to use in the .desktop file.
package.deb.category=Development;Java;IDE;
# Maintainer information as name and email. Mandated in Debian Control file.
package.deb.maintainer=Codelerity Ltd. <[email protected]>
# Description of package for Debian Control file. Defaults to information from package name and version.
package.deb.description=Package of ${package.name} ${package.version}.

1 change: 1 addition & 0 deletions linux-arm32/appimagetool-armhf.AppImage.sha512
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
632c5370bbe1e2bf4c199b59f69785a0e04f2ebfcdfc17e207550b280e6cb0c8bcf5504f07255aa2490b230647a6ab195b68a19cf095d01e376aa180ea619255 appimagetool-armhf.AppImage
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
b1fde08a17993018d90a824cbe33d3e9c5cd101d bellsoft-jdk17.0.1+12-linux-arm32-vfp-hflt.tar.gz
17 changes: 17 additions & 0 deletions linux-arm32/netbeans-arm-appimage.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# Application name (required).
package.name=Apache NetBeans
# Application version (defaults 1.0).
package.version=12.6
# Packaging type.
package.type=linux-appimage
# Path to Java runtime to include in the package (default none).
package.runtime=${CONFIG}/bellsoft-jdk17.0.1+12-linux-arm32-vfp-hflt.tar.gz
# Path to appimagetool (required) - can be downloaded from https://github.com/AppImage/AppImageKit/releases/
package.appimage.tool=${CONFIG}/appimagetool-armhf.AppImage
# Path to 48x48 png icon as required by xdg specification. Defaults to Apache NetBeans logo.
package.appimage.icon=
# Application category (or categories) to use in the AppImage .desktop file.
package.appimage.category=Development;Java;IDE;
# Architecture to build appimage for. By default will extract from appimagetool name.
package.appimage.arch=arm

1 change: 1 addition & 0 deletions linux-x64/appimagetool-x86_64.AppImage.sha512sum
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
9225a5df355c4520c5430fc1946f60322c99de36f3446aa17ee8f14af68665bb5b1d2b918079606448e821d93c1dca5b5fbad9ff4ea3f33963181ad2f97b5d67 appimagetool-x86_64.AppImage
17 changes: 17 additions & 0 deletions linux-x64/netbeans-x64-appimage.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# Application name (required).
package.name=Apache NetBeans
# Application version (defaults 1.0).
package.version=12.6
# Packaging type.
package.type=linux-appimage
# Path to Java runtime to include in the package (default none).
package.runtime=${CONFIG}/zulu17.30.15-ca-jdk17.0.1-linux_x64.tar.gz
# Path to appimagetool (required) - can be downloaded from https://github.com/AppImage/AppImageKit/releases/
package.appimage.tool=${CONFIG}/appimagetool-x86_64.AppImage
# Path to 48x48 png icon as required by xdg specification. Defaults to Apache NetBeans logo.
package.appimage.icon=
# Application category (or categories) to use in the AppImage .desktop file.
package.appimage.category=Development;Java;IDE;
# Architecture to build appimage for. By default will extract from appimagetool name.
package.appimage.arch=

23 changes: 23 additions & 0 deletions linux-x64/netbeans-x64-deb.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Application name (required).
package.name=Apache NetBeans
# Application version (defaults 1.0).
package.version=12.6
# Packaging type.
package.type=linux-deb
# Path to Java runtime to include in the package (default none).
package.runtime=${CONFIG}/zulu17.30.15-ca-jdk17.0.1-linux_x64.tar.gz
# Path to 48x48 png icon as required by xdg specification. Defaults to Apache NetBeans logo.
package.deb.icon=
# Path to SVG icon. Will only be used if package.deb.icon also set. Defaults to Apache NetBeans logo.
package.deb.svg-icon=
# Optional name for .desktop file (without suffix). Defaults to sanitized package name.
package.deb.desktop-filename=apache-netbeans-ide-12.6
# StartupWMClass to set in .desktop file. Should match the WMClass of the main application window.
package.deb.wmclass=Apache NetBeans IDE 12.6
# Application category (or categories) to use in the .desktop file.
package.deb.category=Development;Java;IDE;
# Maintainer information as name and email. Mandated in Debian Control file.
package.deb.maintainer=Codelerity Ltd. <[email protected]>
# Description of package for Debian Control file. Defaults to information from package name and version.
package.deb.description=Package of ${package.name} ${package.version}.

Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
9b8e4d1e47b02b9c2392462ee82988c189357471de3224c37173fa58e2b25112 zulu17.30.15-ca-jdk17.0.1-linux_x64.tar.gz
1 change: 1 addition & 0 deletions netbeans-12.6-bin.zip.sha512
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
2b41e310eff2c3d87edbe6390afc72606d7e931f8a1fd3529fe42c282b2f87fac6fe29582d8cb2f778997f1fb0cf0ae011f46d7cca591ad0c0c5dea7c944a708 ./netbeans-12.6-bin.zip
Loading

0 comments on commit e0746f3

Please sign in to comment.