Skip to content

Commit

Permalink
Update configuration for Apache NetBeans 21.
Browse files Browse the repository at this point in the history
  • Loading branch information
neilcsmith-net committed Feb 19, 2024
1 parent a127adb commit fa293b8
Show file tree
Hide file tree
Showing 23 changed files with 150 additions and 149 deletions.
34 changes: 14 additions & 20 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ For more information see [https://www.codelerity.com/netbeans/](https://www.code
This repository contains configuration files for building an Inno Setup Windows
installer, Linux Deb packages (x64 / all), and Linux AppImages (x64 / Arm).

Before starting, download and unzip [nbpackage-1.0-beta3-bin](https://archive.apache.org/dist/netbeans/netbeans-nbpackage/1.0-beta3/nbpackage-1.0-beta3-bin.zip)
Before starting, download and unzip [nbpackage-1.0-beta4-bin](https://archive.apache.org/dist/netbeans/netbeans-nbpackage/1.0-beta4/nbpackage-1.0-beta4-bin.zip)
into an `nbpackage` directory. Executing `./nbpackage/bin/nbpackage --help` should show
the help text for the packager.

Expand All @@ -36,7 +36,7 @@ the Azul provided hash. To use a different JDK, update the configuration file.
Build the installer by running -

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

### Build MacOS installer
Expand All @@ -52,19 +52,20 @@ configuration file.
Build the installer by running -

```
./nbpackage/bin/nbpackage --input netbeans-20-bin.zip --config macos-x64/netbeans-macos-x64.properties --output dist/
./nbpackage/bin/nbpackage --input netbeans-21-bin.zip --config macos-x64/netbeans-macos-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.
You will require `fakeroot`, `dpkg` and `dpkg-deb` on the system. The DEB package must
currently be built on the architecture it is designed for. Download the right
Azul Zulu JDK into the `linux-x64` or `linux-aarch64` directory and check against the
provided hash file.

Build the package by running eg. -

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

### Build RPM packages
Expand All @@ -76,27 +77,22 @@ provided hash file.
Build the package by running eg. -

```
./nbpackage/bin/nbpackage --input netbeans-20-bin.zip --config linux-x64/netbeans-x64-rpm.properties --output dist/
./nbpackage/bin/nbpackage --input netbeans-21-bin.zip --config linux-x64/netbeans-x64-rpm.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.
AppImages must be built on the architecture they are designed for.

Download the x64 or Arm executable of [AppImageKit](https://github.com/AppImage/AppImageKit/releases/tag/13)
Download the x64 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 and RPM 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-20-bin.zip --config linux-arm32/netbeans-arm-appimage.properties --output dist/
./nbpackage/bin/nbpackage --input netbeans-21-bin.zip --config linux-x64/netbeans-x64-appimage.properties --output dist/
```

## Legal
Expand All @@ -105,14 +101,12 @@ These packages are provided without warranty, and under the licenses and terms o
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.
Some of the packages include an [Azul Zulu](https://www.azul.com/downloads/) build of OpenJDK.
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
registered trademarks of Azul Systems, Inc. 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.

32 changes: 32 additions & 0 deletions linux-aarch64/netbeans-aarch64-deb.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# Application name (required).
package.name=Apache NetBeans
# Application version (defaults 1.0).
package.version=21
# Packaging type.
package.type=linux-deb
# Path to Java runtime to include in the package (default none).
package.runtime=${CONFIG}/zulu21.32.17-ca-jdk21.0.2-linux_aarch64.tar.gz
# A single-line description of the package. Not all packagers will display this.
package.description=Package of ${package.name} ${package.version}.
# Application publisher. Not all packagers will display this.
package.publisher=${package.name}
# Link to application / publisher website. Not all packagers will display this.
package.url=https://www.codelerity.com/netbeans/
# 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-${package.version}
# StartupWMClass to set in .desktop file. Should match the WMClass of the main application window.
package.deb.wmclass=Apache NetBeans IDE ${package.version}
# 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]>
# Optional path to custom Debian Control file template.
package.deb.control-template=
# Optional path to custom .desktop file template.
package.deb.desktop-template=
# Optional path to custom launcher script template.
package.deb.launcher-template=
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
ce7df1af5d44a9f455617c4b8891443fbe3e4b269c777d8b82ed66f77167cfe0 zulu21.32.17-ca-jdk21.0.2-linux_aarch64.tar.gz
1 change: 0 additions & 1 deletion linux-arm32/appimagetool-armhf.AppImage.sha512

This file was deleted.

This file was deleted.

26 changes: 0 additions & 26 deletions linux-arm32/netbeans-arm-appimage.properties

This file was deleted.

4 changes: 2 additions & 2 deletions linux-x64/netbeans-x64-appimage.properties
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
# Application name (required).
package.name=Apache NetBeans
# Application version (defaults 1.0).
package.version=20
package.version=21
# Packaging type.
package.type=linux-appimage
# Path to Java runtime to include in the package (default none).
package.runtime=${CONFIG}/zulu21.30.15-ca-jdk21.0.1-linux_x64.tar.gz
package.runtime=${CONFIG}/zulu21.32.17-ca-jdk21.0.2-linux_x64.tar.gz
# A single-line description of the package. Not all packagers will display this.
package.description=Package of ${package.name} ${package.version}.
# Application publisher. Not all packagers will display this.
Expand Down
4 changes: 2 additions & 2 deletions linux-x64/netbeans-x64-deb.properties
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
# Application name (required).
package.name=Apache NetBeans
# Application version (defaults 1.0).
package.version=20
package.version=21
# Packaging type.
package.type=linux-deb
# Path to Java runtime to include in the package (default none).
package.runtime=${CONFIG}/zulu21.30.15-ca-jdk21.0.1-linux_x64.tar.gz
package.runtime=${CONFIG}/zulu21.32.17-ca-jdk21.0.2-linux_x64.tar.gz
# A single-line description of the package. Not all packagers will display this.
package.description=Package of ${package.name} ${package.version}.
# Application publisher. Not all packagers will display this.
Expand Down
4 changes: 2 additions & 2 deletions linux-x64/netbeans-x64-rpm.properties
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
# Application name (required).
package.name=Apache NetBeans
# Application version (defaults 1.0).
package.version=20
package.version=21
# Packaging type.
package.type=linux-rpm
# Path to Java runtime to include in the package (default none).
package.runtime=${CONFIG}/zulu21.30.15-ca-jdk21.0.1-linux_x64.tar.gz
package.runtime=${CONFIG}/zulu21.32.17-ca-jdk21.0.2-linux_x64.tar.gz
# A single-line description of the package. Not all packagers will display this.
package.description=Package of ${package.name} ${package.version}.
# Application publisher. Not all packagers will display this.
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
5ad730fbee6bb49bfff10bf39e84392e728d89103d3474a7e5def0fd134b300a zulu21.32.17-ca-jdk21.0.2-linux_x64.tar.gz
6 changes: 3 additions & 3 deletions macos-aarch64/netbeans-macos-aarch64.properties
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
# Application name (required).
package.name=Apache NetBeans
# Application version (defaults 1.0).
package.version=20
package.version=21
# Packaging type.
package.type=macos-pkg
# Path to Java runtime to include in the package (default none).
package.runtime=${CONFIG}/zulu21.30.15-ca-jdk21.0.1-macosx_aarch64.tar.gz
package.runtime=${CONFIG}/zulu21.32.17-ca-jdk21.0.2-macosx_aarch64.tar.gz
# A single-line description of the package. Not all packagers will display this.
package.description=Package of ${package.name} ${package.version}.
# Application publisher. Not all packagers will display this.
Expand All @@ -25,7 +25,7 @@ package.macos.entitlements-template=
# Search pattern for native binaries that need to be code signed.
package.macos.codesign-files={*.dylib,*.jnilib,**/nativeexecution/MacOSX-*/*,Contents/Home/bin/*,Contents/Home/lib/jspawnhelper}
# Search pattern for JARs that bundle native binaries that need to be code signed.
package.macos.codesign-jars={jna-5*.jar,junixsocket-native-common-*.jar,launcher-common-*.jar,jansi-*.jar,nbi-engine.jar}
package.macos.codesign-jars={flatlaf*.jar,jna-5*.jar,junixsocket-native-common-*.jar,launcher-common-*.jar,jansi-*.jar,nbi-engine.jar}
# Code signing identity as passed to Codesign.
package.macos.codesign-id=
# Installer signing identity as passed to Pkgbuild.
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
e8260516de8b60661422a725f1df2c36ef888f6fb35393566b00e7325db3d04e zulu21.32.17-ca-jdk21.0.2-macosx_aarch64.tar.gz
6 changes: 3 additions & 3 deletions macos-x64/netbeans-macos-x64.properties
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
# Application name (required).
package.name=Apache NetBeans
# Application version (defaults 1.0).
package.version=20
package.version=21
# Packaging type.
package.type=macos-pkg
# Path to Java runtime to include in the package (default none).
package.runtime=${CONFIG}/zulu21.30.15-ca-jdk21.0.1-macosx_x64.tar.gz
package.runtime=${CONFIG}/zulu21.32.17-ca-jdk21.0.2-macosx_x64.tar.gz
# A single-line description of the package. Not all packagers will display this.
package.description=Package of ${package.name} ${package.version}.
# Application publisher. Not all packagers will display this.
Expand All @@ -25,7 +25,7 @@ package.macos.entitlements-template=
# Search pattern for native binaries that need to be code signed.
package.macos.codesign-files={*.dylib,*.jnilib,**/nativeexecution/MacOSX-*/*,Contents/Home/bin/*,Contents/Home/lib/jspawnhelper}
# Search pattern for JARs that bundle native binaries that need to be code signed.
package.macos.codesign-jars={jna-5*.jar,junixsocket-native-common-*.jar,launcher-common-*.jar,jansi-*.jar,nbi-engine.jar}
package.macos.codesign-jars={flatlaf*.jar,jna-5*.jar,junixsocket-native-common-*.jar,launcher-common-*.jar,jansi-*.jar,nbi-engine.jar}
# Code signing identity as passed to Codesign.
package.macos.codesign-id=
# Installer signing identity as passed to Pkgbuild.
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
3ad8fe288eb57d975c2786ae453a036aa46e47ab2ac3d81538ebae2a54d3c025 zulu21.32.17-ca-jdk21.0.2-macosx_x64.tar.gz
1 change: 0 additions & 1 deletion netbeans-20-bin.zip.sha512

This file was deleted.

1 change: 1 addition & 0 deletions netbeans-21-bin.zip.sha512
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
1bd5695755eb9547d88a5539a6e43884d787dba4da6ecadc1b261e07c1dda56d0a03986a66755c5d3a358216711c0393ac8fdd649e15c953bdfe380cb564ca65 ./netbeans-21-bin.zip
Loading

0 comments on commit fa293b8

Please sign in to comment.