makedeb


Introduction

Welcome

Installing

Release Types Shell Script APT Repository makedeb Package Repository Docker

makedeb

PKGBUILD Syntax Distro/Architecture Specific Variables Differences from makepkg Comparisons to Other Tools

Using the MPR

Introduction Mist - The MPR CLI Installing Packages Uploading Packages Support Policy

Prebuilt-MPR

Introduction Getting Started Adding Packages

MPR User Guidelines

Marking Maintainers in a PKGBUILD Package Relationships Using Experimental makedeb Features

Support

Obtaining Support Community Events makedeb Team Ways to Support makedeb Reporting Security Vulnerabilities

PKGBUILD Syntax



makedeb creates packages via the PKGBUILD package format. This is heavily influenced by the PKGBUILD format on Arch Linux, with tweaks and additions to better fit into the packaging ecosystem of Debian and Ubuntu.

PKGBUILDs are just Bash scripts that define variables and functions that tell makedeb how to build a package.

An example PKGBUILD that showcases common options is shown below. Some variables can take extra forms (such as with distro-specific variables). For more information, run man PKGBUILD on a machine where makedeb is installed.

# Maintainer: Your Name <foobar@example.com>
pkgname=NAME
pkgver=VERSION
pkgrel=1
pkgdesc=''
arch=()
depends=()
focal_depends=()
makedepends=()
makedepends_x86_64=()
checkdepends=()
optdepends=()
focal_optdepends_x86_64=()
provides=()
conflicts=()
replaces=()
preinst=''
postinst=''
prerm=''
postrm=''
backup=()
options=()
license=()
url=''

source=()
sha256sums=()
noextract=()

prepare() {
    cd "${pkgname}-${pkgver}/"
    git submodule init
}

build() {
    cd "${pkgname}-${pkgver}/"
    make
}

package() {
    cd "${pkgname}-${pkgver}/"
    make DESTDIR="${pkgdir}/" install
}

# vim: set sw=4 expandtab: