mybld 2.6.4(8)

NAME
mybld - build my package or my collection of packages.

SYNOPSIS
mybld [options] <arguments>

DESCRIPTION
mybld is a tool utility, which compile my packages from sources. The tool start with installing in a specific folder a base NuTyX. By default it's the rolling version installed. Onces installed, the tool will enter into this base NuTyX (chroot) and install all the base devel packages. They are 3 mounting point (DEPOT,LOGS and sources folder) included in the chroot. All the sources code files, logs files and Binaries packages are then immediatly available in the chroot. The script located in /tmp/setup is executed and launch the necessary compilation. Once the compilation of my package(s) done, the tool goes out of the chroot, umount the 3 mounting points and delete the chroot. All the commands should be issue from the root of your git project.

OPTIONS:

-I, --init
    Create the 3 mounting points sources, LOGS and DEPOT folders and the root folder defined by the version. By default, the folder is named /rolling in your $HOME.

-s, --sync <collection>|<package>
    Synchronise the packages DEPOT folders with the one from the default remote server. If a <collection> is specified, it will sync this <collection> only. If a <package> is specified, it will sync this <package> only.

-c, --cleanup
    Cleanup the folders created by the tool. It umount properly the 3 mountpoint and then delete all the files in a safety way.

-R, --runtime <dependency package name>
    Return the list of packages depending on the <dependency package name>.

-p, --pause
    Make a pause before starting compilation. Usefull for tracking down issues.

-A, --ask
    Ask for a confirmation before proceed.

-n, --new <collection/<package> [version] [description]
    Create a new <collection>/<package> and fillup the username, email, [version] [description] -i, --increment <package> Increment the release number of the <package> recept and build the package after a confirmation.

ARGUMENTS:

<Parameter 1>
    Specify the all <collection> or the specific <package> to build, as mybld automaticaly find the collection name the package belong to, no need to specify the collection name anymore.

<Paramater 2 (optionnal)>
    This parameter works only together with the paramater 1. It will replace the version of the port ( and then the binaries ) with the value specify by parameter 2. Example:
      mybld irssi 1.2.2
      This example will upgrade the irssi binaries to version 1.2.2.
      Only possible to use this parameter if only version of the package change.

CONFIGURATION VARIABLES

Some configuration variable can be redefined in your $HOME/.mybld

VERSION=rolling
    Set the version of your binaries.
    Default: Active branch name of the git project

EDITOR=vi
    Set the editor you want to use.
    Default: vi

CHROOT=()
    Only relevant when install-nutyx script passing argument KERNEL=none. Set the list of packages to be install prior install-nutyx script enter into chroot. This list of packages will be added to the default ones.
    Default: not set

ROOT=$HOME/mybld
    Set the ROOT directory of my chroot where package(s) are build.
    Default: $HOME/mybld

ROOTMOUNT=$HOME/www
    Set the ROOT Mount LOGS, DEPOT and sources directories .
    Default: $HOME/www

URL=rsync://download.nutyx.org/nutyx
    Set the URL where all the binaries packages should be sync from. It's also possible to specify a folder as URL.
    Default: rsync://download.nutyx.org/nutyx

BASE=()
    Set the collections to keep after each successfully build. This variable is an array like BASE=(base cli gui)
    Default: not set

CONFIGURATION OF THE HOST NuTyX

The script needs the 'git' and the 'rsync' commands. They are not install by default on your NuTyX.
        sudo cards install rsync git

We need to create all the necessary folders into your $HOME/www default directory via the option -i:
        mybld -I

And we need to get all the binaries locally and used them, we need to rsync them via the option -s:
        mybld -s

IMPORTANTS NOTES:

We assume you already clone the git project associate to the binaries

You need about 5 Gbytes of free space to store the availables binaries from the NuTyX mirror. ($ROOTMOUNT/<arch>/<version>), Also be aware that $ROOTMOUNT/sources will continuously grow.

The installed NuTyX should ALWAYS be under $ROOT/rolling or $ROOT/<version>. Where <version> is a valid version.

In case of <yours> collections, it needs two collections:
        <yours> and <yours>-extra.

FILES

$HOME/.mybld
    It contains customise $VERSION, $EDITOR, $ROOT, ROOTMOUNT, $URL and $BASE variables. Please note that the $BASE variable is define as an array like: BASE=(base cli gui)

AUTHORS
Thierry Nuttens <tnut@nutyx.org>

SEE ALSO
cards.conf(5), pkgmk(8), pkgadd(8), pkginfo(8), ports(8), pkgmk.conf(5)

COPYRIGHT
mybld (cards) is Copyright (c) 2020 NuTyX and Copyright (c) 2020 NuTyX team (http://www.nutyx.org). mybld (cards) is licensed through the GNU General Public License. Read the COPYING file for the complete license.