epm(1)
β¨ NAME β¨
hi bestie π meet epm(1) β and it does exactly one thing and does it gorgeously: it creates software packages. That's the whole vibe. This one's credited to Jim Jagielski, and it's part of the ESP Package Manager family. slay. π
β¨ SYNOPSIS β¨
epm [ -a architecture ] [ -f format ] [ -g ] [ -k ] [ -m name ] [ -n[mrs] ] [ -s setup.ext ] [ --depend ] [ --help ] [ --keep-files ] [ --output-dir directory ] [ --setup-image setup.ext ] [ --setup-program /foo/bar/setup ] [ --setup-types setup.types ] [ --uninstall-program /foo/bar/uninst ] [ -v ] [ name=value name=value ] product [ listfile ]
like, yes, that's a lot of brackets. she contains multitudes. π
β¨ DESCRIPTION β¨
okay so the tea β: epm(1) generates software packages β and not just the bare package, it comes complete with installation, removal, and (if necessary) patch scripts too. it's giving whole-package, full-service, main character energy π
and unless you've said otherwise, the files it needs for product are read from a file named "product.list". no cap, that's just the default. πΈ
β¨ OPTIONS β¨
The following options are recognized:
-aarchitecture β tells it the actual architecture for the software. skip this one and it'll just use the generic processor architecture instead ("intel","sparc","mips", etc.). lowkey convenient, highkey sometimes wrong. π-f bsdβ generates a BSD distribution, suitable for installing on a FreeBSD, NetBSD, or OpenBSD system. π¦-f debβ generates a Debian distribution, suitable for installing on a Debian-based Linux system. π-f nativeβ generates a native distribution. it picksdeborrpmfor Linux,bsdfor FreeBSD, NetBSD, and OpenBSD, andmacosfor macOS. everything else defaults to the portable format. it's the "you know what I want" option β¨-f macosβ (this one's listed here with nothing under it, because the next entry does the talking π)-f macos-signedβ generates a macOS software package. themacos-signedformat uses the signing identity from theEPM_SIGNING_IDENTITYenvironment variable. π₯-f portableβ generates a portable distribution built on shell scripts and tar files. the resulting distribution gets installed and removed the exact same way on every operating system. this is the default [default]. bestie-level consistency, we love to see it π«Ά-f rpmβ (again, listed bare, because its signed sibling right below carries the description π)-f rpm-signedβ generates a Red Hat Package Manager ("RPM") distribution, suitable for installing on an RPM-based Linux system. therpm-signedformat uses the GPG private key you've defined in the~/.rpmmacrosfile. π-gβ disable stripping of executable files in the distribution. so they keep all their bits, diva behavior, respect π-kβ keep the intermediate files (spec, etc.) used to create the distribution, right there in the distribution directory. messy but honest π-mname β specifies the platform name as a string. the default is to use the auto-generated name that comes from the-noption. β¨-n[mrs]β specifies what operating system and machine info gets baked into the package name. distributions are normally named"product-version-system-release-machine.ext", and"product-version-system-release-machine-patch.ext"for patch distributions. that"system-release-machine"chunk can be customized or eliminated with the appropriate trailing letters:- all on its own,
-nremoves the"system-release-machine"string from the filename entirely. - the letter
mincludes the architecture (machine). - the letter
rincludes the operating system version (release). - the letter
sincludes the operating system name.
- all on its own,
-vβ increases the amount of information that is reported. stack multiplev's for more verbose output. π’--dependβ lists the dependent (source) files for all files in the package. π§--output-dirdirectory β specifies the directory for output files. the default directory is based on the operating system, version, and architecture. π-ssetup.ext β (paired with--setup-imagebelow π)--setup-imagesetup.ext β includes the ESP Software Wizard with the specified image file, bundled with the distribution. heads up though: this option is currently only supported by portable distributions. π--setup-program/foo/bar/setupβ specifies the setup executable to use with the distribution. and again: this option is currently only supported by portable distributions. π«Ά--setup-typessetup.types β specifies thesetup.typesfile to include with the distribution. yep, you guessed it: this option is currently only supported by portable distributions. π--uninstall-program/foo/bar/uninstβ specifies theuninstexecutable to use with the distribution. and (say it with me) this option is currently only supported by portable distributions. π
ok real talk bestie: for-s/--setup-image/--setup-program/--setup-types/--uninstall-program, those only play nice with portable distributions. don't come for me, I'm just the messenger π«
β¨ ENVIRONMENT β¨
The following environment variables are supported by epm:
EPM_SIGNING_IDENTITYβ the common name that should be used when signing a package. ποΈβ¨
β¨ LIST FILES β¨
the EPM list file format is now described over in the epm.list(5) man page. so like, go read that one next, it's the sequel π¦
β¨ SEE ALSO β¨
epminstall(1), mkepmlist(1), epm.list(5), setup(1).
the friend group π
β¨ COPYRIGHT β¨
Copyright Β© 1999-2020 by Michael R Sweet, All Rights Reserved. Copyright Β© 2020 by Jim Jagielski, All Rights Reserved.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
and that's the whole page, bestie π this one's from the ESP Package Manager on 20 November 2020 β go make something iconic with it. mwah ππ
π¦ where this page comes from
- nixos 26.05: epm 5.0.0
- nixpkgs unstable: epm 5.0.0
- ubuntu stonking: epm 5.0.1-1 Β· GPL-2.0-or-later
- Copyright Β© 2020 by Jim Jagielski
- Copyright Β© 1999-2020 by Michael R Sweet
- Copyright Β© 1999-2008 by Easy Software Products, all rights reserved
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms