MAKE-JPKG(1)
π MAKE-JPKG π
okay bestie, so make-jpkg is the little icon that builds Debian packages out of Java binary distributions β¨ like, you hand it a Java thing and it hands you back a .deb. it's giving glow-up, fr fr.
β¨ SYNOPSIS β¨
make-jpkg [OPTION]... [FILE]
πΈ DESCRIPTION πΈ
okay so the whole vibe is: make-jpkg takes the Java distribution FILE you give it and builds a Debian package out of it. that's it. that's the job. π«Ά
here's what java binary distributions it's currently obsessed with, from Oracle (http://www.oracle.com/technetwork/java/javase/downloads):
- the Java Development Kit (JDK), version 6, 7 and 8
- the Java Runtime Environment (JRE), version 6, 7 and 8
- the Java API Javadoc, version 6, 7 and 8
π¨ bestie listen. choose tar.gz archives or self-extracting archives. do not choose the RPM. i'm so serious. not the RPM. that is not the vibe. π
π OPTIONS π
the following options are recognized, and yes we're going through all of them, no skipping:
--full-nameNAME β the full name that goes in the maintainer field of the package π«Ά--emailEMAIL β the email address that goes in the maintainer field of the package π§--distributionDISTRIBUTION β which distribution to use in the debian changelog for the resulting package--priorityPRIORITY β a numeric priority forupdate-alternativesto use. this overrides the default priority, and the default is intentionally lower than the priority of the Debian-provided OpenJDK packages. only reach for this option if you genuinely want the generated package to be treated as higher priority byupdate-alternatives. like, be sure. π--changesβ create a.changesfile--revisionβ add debian revision--sourceβ build a source package instead of a binary deb package--with-system-certsβ swaps the JVM's keystore for a softlink pointing at the system's keystore, (/etc/ssl/certs/java/cacerts), which is managed automatically by theca-certificatesandca-certificates-javapackages. the way that it just stays in sync?? iconic. π--jce-policyJCE_POLICY_FILE β replaces the cryptography files with versions from the JCE_POLICY_FILE you specify--helpβ display help text and exit--versionβ output version information and exit
so the whole workflow: go download a supported JRE, JDK, or API tar.gz or self-extracting archive from http://www.oracle.com/technetwork/java/javase/downloads and then run make-jpkg file with the file you just downloaded. the program will ask you for extra info, and then it builds a Debian binary package right there in your current directory. main character energy tbh π
also heads up: the program needs about 400 MB of free disk space in a temporary directory. that temp dir defaults to /tmp, but you can point it somewhere else by setting the environment variable TMPDIR. plan accordingly bestie, don't let it run out of room mid-build π
π EXAMPLE π
to install Oracle(TM) 8 Standard Edition JDK, download a release from http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html and then invoke make-jpkg, like for example:
make-jpkg <path_to_download_directory>/jdk-8u102-linux-x64.tar.gz
this generates a Debian package in the current directory, that can be installed using dpkg:
dpkg -i oracle-java8-jdk_8u102_amd64.deb
and when you're done, you can delete the initial download as well as the generated package:
rm <path_to_download_directory>/jdk-8u102-linux-x64.tar.gz
oracle-java8-jdk_8u102_amd64.deb
π¦ ENVIRONMENT π¦
TMPDIRβ base directory used for temporary files (defaults to/tmp)J2SE_PACKAGE_FULL_NAMEβ full name used in the maintainer field of the package; if none is supplied then the default of"Debian Java Maintainers"is used.J2SE_PACKAGE_EMAILβ email address used in the maintainer field of the package; if none is supplied the default of"pkg-java-maintainers@lists.alioth.debian.org"is used.
π SEE ALSO π
update-java-alternatives(1) β go check it out, iykyk π
π AUTHOR π
this manual page was written by Hubert Schmid <j2se-package@z42.de>.
it is now maintained by the Debian Java Maintainers <pkg-java-maintainers@lists.alioth.debian.org>. π«Ά
and that's the whole thing, bestie!! β¨ this was General Commands Manual, from way back on September 10, 2016 π go build some packages, you're gonna slay ππ
π¦ where this page comes from
- debian bookworm: java-package 0.62 Β· GPL-2.0-only
- debian trixie: java-package 0.64 Β· GPL-2.0-only
- ubuntu jammy: java-package 0.62 Β· GPL-2.0-only
- ubuntu noble: java-package 0.64 Β· GPL-2.0-only
- ubuntu questing: java-package 0.64
- ubuntu resolute: java-package 0.64build1 Β· GPL-2.0-only
- ubuntu stonking: java-package 0.64build1 Β· GPL-2.0-only
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms