diff options
Diffstat (limited to 'doc/makepkg.8')
-rw-r--r-- | doc/makepkg.8 | 156 |
1 files changed, 156 insertions, 0 deletions
diff --git a/doc/makepkg.8 b/doc/makepkg.8 new file mode 100644 index 00000000..418d5dca --- /dev/null +++ b/doc/makepkg.8 @@ -0,0 +1,156 @@ +.TH makepkg 8 "January 30, 2006" "Frugalware Developer Manual" "" +.SH NAME +makepkg \- package build utility +.SH SYNOPSIS +\fBmakepkg [options]\fP +.SH DESCRIPTION +\fBmakepkg\fP will build packages for you. All it needs is +a build-capable linux platform, wget, and some build scripts. The advantage +to a script-based build is that you only really do the work once. Once you +have the build script for a package, you just need to run makepkg and it +will do the rest: download and validate source files, check dependencies, +configure the buildtime settings, build the package, install the package +into a temporary root, make customizations, generate meta-info, and package +the whole thing up for \fBpacman\fP to use. + +\fBmakeworld\fP can be used to rebuild an entire package group or the +entire build tree. See \fBmakeworld --help\fP for syntax. + +.SH OPTIONS +.TP +.B "\-b, \-\-builddeps" +Build missing dependencies from source. When makepkg finds missing build-time or +run-time dependencies, it will look for the dependencies' FrugalBuild files under +$fst_root (set in your /etc/repoman.conf). If it finds them it will +run another copy of makepkg to build and install the missing dependencies. +The child makepkg calls will be made with the \fB-b\fP and \fB-i\fP options. +.TP +.B "\-B, \-\-noccache" +Do not use ccache during build. +.TP +.B "\-c, \-\-clean" +Clean up leftover work files/directories after a successful build. +.TP +.B "\-C, \-\-cleancache" +Used with --chroot cleans up the chroot which means removing unnecessary +packages from it. If used twice, then it removes all source files from +the cache directory and cleans up the full compiler cache to free up diskspace. +.TP +.B "\-d, \-\-nodeps" +Do not perform any dependency checks. This will let you override/ignore any +dependencies required. There's a good chance this option will break the build +process if all of the dependencies aren't installed. +.TP +.B "\-D <pkgname>" +Clean up only one package's compiler cache. (Uses ccache -C.) +.TP +.B "\-e, \-\-noextract" +Do not extract source files. Instead, use whatever already exists in the +src/ directory. This is handy if you want to go into src and manually +patch/tweak code, then make a package out of the result. +.TP +.B "\-f, \-\-force" +\fBmakepkg\fP will not build a package if a \fIpkgname-pkgver-pkgrel-arch.fpm\fP +file already exists in the build directory. You can override this behaviour with +the \fB--force\fP switch. +.TP +.B "\-G, \-\-genmd5" +Download all source files (if required) and use \fImd5sum\fP to generate md5 hashes +for each of them. You can then redirect the output into your FrugalBuild for source +validation (makepkg -G >>FrugalBuild). +.TP +.B "\-g, \-\-gensha1" +Download all source files (if required) and use \fIsha1sum\fP to generate sha1 hashes +for each of them. You can then redirect the output into your FrugalBuild for source +validation (makepkg -g >>FrugalBuild). +.TP +.B "\-h, \-\-help" +Output syntax and commandline options. +.TP +.B "\-i, \-\-install" +Install/Upgrade the package after a successful build. +.TP +.B "\-j <jobs>" +Sets MAKEFLAGS="-j<jobs>" before building the package. This is useful for overriding +the MAKEFLAGS setting in /etc/makepkg.conf. +.TP +.B "\-L, \-\-nolastmod" +Disable updating the Last modified line. +.TP +.B "\-k, \-\-logging" +Logging package build process +.TP +.B "\-l <pkgname>" +Download the package's buildscript before starting the build. This is useful +if you do not want to do a full 'repoman upd' nor want to download manually the +buildscript. +.TP +.B "\-m, \-\-nocolor" +Disable color in output messages +.TP +.B "\-n, \-\-nostrip" +Do not strip binaries and libraries. +.TP +.B "\-o, \-\-nobuild" +Download and extract files only, do not build. +.TP +.B "\-p <buildscript>" +Read the package script \fI<buildscript>\fP instead of the default (\fIFrugalBuild\fP). +.TP +.B "\-r, \-\-rmdeps" +Upon successful build, remove any dependencies installed by makepkg/pacman during +dependency auto-resolution (using \fB-b\fP or \fB-s\fP). +.TP +.B "\-R, \-\-chroot" +Build the package in a chroot environment. +.TP +.B "\-s, \-\-syncdeps" +Install missing dependencies using pacman. When makepkg finds missing build-time +or run-time dependencies, it will run pacman to try and resolve them. If successful, +pacman will download the missing packages from a package repository and +install them for you. +.TP +.B "\-t <tree>" +When building in a chroot (using -R) you may want to build packages for a +version other than the host one. Using this option, it's possible to build +packages for "stable" while the host system is "current" and vica versa. +.TP +.B "\-u, \-\-noup2date" +Do not check for newer version before starting build. Normally makepkg will +prevent you from building obsolete source by mistake. If you know what you are +doing, you can disable this feature with this switch. +.B "\-S, \-\-sudosync" +Install missing dependencies using pacman and sudo. This is the same as \fB-s\fP +except that makepkg will call pacman with sudo. This means you don't have to +build as root to use dependency auto-resolution. +.TP +.TP +.B "\-w <destdir>" +Write the resulting package file to the directory \fI<destdir>\fP instead of the +current working directory. +.TP +.B "\-\-noconfirm" +When calling pacman to resolve dependencies or conflicts, makepkg can pass +the \fI--noconfirm\fP option to it so it does not wait for any user +input before proceeding with operations. +.TP +.B "\-\-noprogressbar" +When calling pacman, makepkg can pass the \fI--noprogressbar\fP option to it. +This is useful if one is directing makepkg's output to a non-terminal (ie, a file). + +.SH CONFIGURATION +Configuration options are stored in \fI/etc/makepkg.conf\fP. This file is parsed +as a bash script, so you can export any special compiler flags you wish +to use. This is helpful for building for different architectures, or with +different optimizations. + +\fBNOTE:\fP This does not guarantee that all package Makefiles will use +your exported variables. Some of them are flaky... +.SH "SEE ALSO" +.BR FrugalBuild (8), +.BR pacman (8) +.SH AUTHOR +.nf +Judd Vinet <jvinet@zeroflux.org> +and the Frugalware developers <frugalware-devel@frugalware.org> +.fi |