mirror of
https://gitlab.alpinelinux.org/alpine/abuild.git
synced 2024-12-26 00:42:22 +00:00
176 lines
4.5 KiB
Groff
176 lines
4.5 KiB
Groff
.Dd November 4, 2017
|
|
.Dt NEWAPKBUILD 1 PRM
|
|
.Os "Alpine Linux"
|
|
.Sh NAME
|
|
.Nm newapkbuild
|
|
.Nd generate a new APKBUILD
|
|
.Sh SYNOPSIS
|
|
.Nm
|
|
.Op Fl n Ar NAME
|
|
.Op Fl d Ar DESC
|
|
.Op Fl l Ar LICENSE
|
|
.Op Fl u Ar URL
|
|
.Op Fl aCmpy
|
|
.Op Fl cfhs
|
|
.Op Ar pkgname Op Ar -pkgver
|
|
.Nm
|
|
.Op Fl n Ar NAME
|
|
.Op Fl d Ar DESC
|
|
.Op Fl l Ar LICENSE
|
|
.Op Fl u Ar URL
|
|
.Op Fl aCmpy
|
|
.Op Fl cfhs
|
|
.Op Ar source_url
|
|
.Sh DESCRIPTION
|
|
.Nm
|
|
generates a new APKBUILD for use with
|
|
.Xr abuild 1 .
|
|
.Bl -tag -width "pkgname-pkgver" -offset indent -compact
|
|
.It Fl n Ar NAME
|
|
Specifies the name of the new package.
|
|
A new directory called
|
|
.Ar NAME
|
|
will be created in the current directory, with the APKBUILD file.
|
|
.It Fl d Ar DESC
|
|
Specifies the description (pkgdesc=) for the new package.
|
|
.It Fl l Ar LICENSE
|
|
Specifies the license under which the new package is distributed.
|
|
This should match an SPDX Identifier.
|
|
.It Fl u Ar URL
|
|
Specifies the Web page (url=) for the new package.
|
|
This should
|
|
.Em not
|
|
be the source package URL; it should be the project's main Web page.
|
|
.It Fl c
|
|
Causes
|
|
.Nm
|
|
to additionally copy an init.d script, conf.d file, and sample pre- and post-
|
|
install scripts to the APKBUILD directory.
|
|
This allows you to have a quick start for daemon packages.
|
|
.It Fl f
|
|
Forces
|
|
.Nm
|
|
to overwrite an existing APKBUILD, if one already exists in the package
|
|
directory.
|
|
.It Fl h
|
|
Displays usage information.
|
|
.It Fl s
|
|
Create an automatic SourceForge URL for the package based on its name and
|
|
version.
|
|
This is only valid if
|
|
.Ar pkgname-pkgver
|
|
is specified on the command line.
|
|
.It Ar pkgname-pkgver
|
|
Specify the package name, if not already specified by
|
|
.Fl n .
|
|
If followed by a dash (-) and a valid version string, additionally specify the
|
|
package's version.
|
|
.El
|
|
.Ss Build system type
|
|
.Nm
|
|
will try to automatically detect the build system by inspecting the source
|
|
directory if
|
|
.Ar source_url
|
|
is specified, and write out typical build instructions for that build system.
|
|
If you do not specify the source URL, or you want to override auto-detection,
|
|
you may specify one of the following four flags:
|
|
.Bl -tag -width "-a" -offset indent -compact
|
|
.It Fl a
|
|
Specifies that the package uses autotools.
|
|
The APKBUILD will contain a typical invocation of ./configure, make, and make
|
|
install.
|
|
.It Fl C
|
|
Specifies that the package uses CMake.
|
|
CMake will be added to the makedepends and a typical CMake invocation will be
|
|
added to the APKBUILD.
|
|
.It Fl m
|
|
Specifies that the package uses Meson.
|
|
A typical Meson and Ninja invocation will be added to the APKBUILD.
|
|
.It Fl p
|
|
Specifies that the package uses a Perl Makefile.PL file.
|
|
The CPAN template will be used.
|
|
.It Fl y
|
|
Specifies that the package uses a Python setup.py build system.
|
|
Python will be added to the makedepends.
|
|
.El
|
|
If you do not specify any option, and you do not specify the source URL, the
|
|
generated APKBUILD file will not contain any build instructions.
|
|
.Sh FILES
|
|
All files generated will be placed in a
|
|
.Pa pkgname
|
|
directory inside the current working directory, with
|
|
.Pa pkgname
|
|
being created if it does not exist.
|
|
.Bl -tag -width "pkgname.post-install" -compact
|
|
.It Pa APKBUILD
|
|
.Nm
|
|
will create
|
|
.Pa APKBUILD
|
|
with the details gathered from the invocation of
|
|
.Nm ,
|
|
and introspection of the downloaded package source if
|
|
.Ar source_url
|
|
is provided.
|
|
For more information about APKBUILD and its format, see
|
|
.Xr APKBUILD 5 .
|
|
.It Pa pkgname.initd
|
|
If
|
|
.Fl c
|
|
is given,
|
|
.Nm
|
|
will create
|
|
.Pa pkgname.initd
|
|
with example data to assist in the creation of an init.d script for a daemon.
|
|
.It Pa pkgname.confd
|
|
If
|
|
.Fl c
|
|
is given,
|
|
.Nm
|
|
will create
|
|
.Pa pkgname.confd
|
|
to assist in the creation of a conf.d file for a daemon, used by init.d
|
|
scripts.
|
|
conf.d files are used to configure init.d scripts; for more information, see
|
|
.Xr openrc 8
|
|
and
|
|
.Xr rc_config 3 .
|
|
.It Pa pkgname.pre-install
|
|
If
|
|
.Fl c
|
|
is given,
|
|
.Nm
|
|
will create
|
|
.Pa pkgname.pre-install ,
|
|
the contents of which will be run by
|
|
.Xr apk 8
|
|
before the package is installed.
|
|
.It Pa pkgname.post-install
|
|
If
|
|
.Fl c
|
|
is given,
|
|
.Nm
|
|
will create
|
|
.Pa pkgname.post-install ,
|
|
the contents of which will be run by
|
|
.Xr apk 8
|
|
after the package is successfully installed.
|
|
For more information about apk install hooks, consult the
|
|
.Xr apk 8
|
|
manual.
|
|
.El
|
|
.Sh EXAMPLES
|
|
newapkbuild -n sharutils -d "Utilities for manipulating shell archives" \\
|
|
-l "GPL-3.0+" -u "https://www.gnu.org/software/sharutils/" -a \\
|
|
https://ftp.gnu.org/gnu/sharutils/sharutils-4.15.2.tar.xz
|
|
.Sh SEE ALSO
|
|
SPDX license reference (on the Web at <https://spdx.org/licenses/>),
|
|
.Xr abuild 1 ,
|
|
.Xr apk 8 ,
|
|
.Xr APKBUILD 5 .
|
|
.Sh AUTHORS
|
|
.Nm :
|
|
.An Natanael Copa Aq Mt ncopa@alpinelinux.org
|
|
.Pp
|
|
Documentation:
|
|
.An A. Wilcox Aq Mt awilfox@adelielinux.org
|