home | help
REPRODUCE(1)		     General Commands Manual		    REPRODUCE(1)

NAME
     appjail-reproduce -- AppJail image builder

SYNOPSIS
     appjail-reproduce -v
     appjail-reproduce -b [-dfs] [-A file] [-B file] [-C algo] [-c file]
		       [-j prefix] [-L directory] [-l directory] [-m mirrors]
		       [-p directory] [-r directory]
		       [project[%arch[[,arch] ...][:tag[[,tag] ...]]]]

DESCRIPTION
     appjail-reproduce is a small open source BSD-3 licensed tool for automating
     the creation of images using Makejails, scripts and simple text files, pro-
     viding a common workflow and simplifying many things.

     -v   Show the version and exit.

     -b   Build one or more projects.

     -d   Enable debug logging.

	  default: NO

     -f   Build projects, including those marked as completed.

     -s   Show a space-separated list of images after building them.

     -A file
	  List of Makejails to include after the main instructions.

     -B file
	  List of Makejails to include before the main instructions.

     -C algo
	  Compress the images using this algorithm.

	  default: xz

     -c file
	  Configuration file.

	  default: ~/.config/appjail-reproduce/config.conf

     -j prefix
	  Jail prefix.

	  default: reproduce_

     -L directory
	  Locks directory.

	  default: /tmp/reproduce/locks (if uid==0)
	  default: ~/.reproduce/locks (if uid!=0)

     -l directory
	  Logs directory.

	  default: ~/.reproduce/logs

     -m mirrors
	  List of mirrors.

     -p directory
	  Projects directory.

	  default: ~/.reproduce/projects

     -r directory
	  Directory used by appjail-reproduce to store certain information, such
	  as the lock file and jail names.

	  default: ~/.reproduce/run

REMOVING FILES
     You  can  specify a list of files to remove using a file named toremove.lst
     in the project directory. appjail-reproduce will process the file	line  by
     line and pass it as arguments to rm(1).

     WARNING:  BE  CAREFUL  not to prefix the pathname with a slash or something
     similar.

HOOK
     If you need more control, you can use a hook, a script named  hook.sh  that
     will  run	before	creating the image. The hook runs in the jails directory
     (JAILDIR in your appjail.conf(5)configuration file), but on the  host,  not
     inside the jail.

     You  may  need  to  perform  some tasks even before the jail is created, so
     there is another type of hook, prehook.sh, which runs at  that  time.  It's
     useful for creating a release with specific customization.

ENVIRONMENT
     appjail-reproduce	will  define some environment variables when building an
     image intended to be used by  reproduce.conf,  appjail-makejail(5)  or  the
     hook.

     REPRODUCE_PROJECT
	  Project name.

     REPRODUCE_PROJECTDIR
	  Project directory.

     REPRODUCE_JAIL_NAME
	  Jail name.

     REPRODUCE_OSRELEASE
	  OS release.

     REPRODUCE_OSARCH
	  OS architecture.

     REPRODUCE_OSVERSION
	  OS version.

     REPRODUCE_TAG
	  Tag name.

SEE ALSO
     appjail(1) reproduce-spec(5)

AUTHORS
     JesAos Daniel Colmenares Oviedo <DtxdF@disroot.org>

FreeBSD ports 15.quarterly	 March 05, 2026 		    REPRODUCE(1)

home | help