portutil

command module
v0.0.0-...-6ea1ffd Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 19, 2023 License: BSD-2-Clause Imports: 1 Imported by: 0

README

Small command-line utility to ease the process in updating and committing FreeBSD packages, but namely an ad-hoc project for FreeBSD port maintainers like myself.

Requirements

Running FreeBSD system with the following packages installed: pkg install -f modules2tuple porttools

Installation

From the terminal, run the following:

# make install

This will build and install the resulting Go binary, as-well-as accompanying Makefiles residing under Mk. There is an example configuration file, that when placed in your home directory (named as .portutil), is used for default values including port maintainer and base ports directory.

Commands

Below are brief descriptions of the commands available.

build

Build a local port, equivalent to running make -C /path/to/port.

commit

Commit local changes made to a port (typically ran after the update process), whereby the commit header becomes the according port-name and version in which it was updated to, for example: devel/gh: Update to 1.3.4.

info

Print information about a local port and it's remote counterpart (fetched from portscout), for example:

------------------------------------
Origin: misc/broot
Local: 1.14.3
Latest: v1.17.0
Maintainer: lcook@FreeBSD.org
Type: CARGO
Directory: /home/lcook/dev/git/freebsd/ports/misc/broot
------------------------------------

test

Run a local ports test-suite, equivalent to running make test -C /path/to/port.

update

Update a local port to it's latest version gathered via portscout.

Currently, ports using either the USES=go:modules or USES=cargo directive are "special cases" handled within update.mk, else simply DISTVERSION is amended to the latest version, followed by make makesum -C /path/to/port, regenerating distinfo. Note that pkg-plist is to be dealt with manually in most cases, similarly anything that routinely requires human intervention (such as static variables used for build-version output), outside the scope of this utility.

version

Display latest versions of local ports, for example:

[D]         x11-wm/berry: 0.1.9 -> 0.1.12
[D]        devel/git-bug: 0.7.2 -> 0.8.0
[D]     sysutils/hostctl: 1.1.2 -> 1.1.3
[D]          textproc/ov: 0.11.2 -> 0.12.0
[D]              www/lux: 0.15.0 -> 0.16.0
[D]        sysutils/smug: 0.3.2 -> 0.3.3
[D]               net/k6: 0.37.0 -> 0.41.0
[C]     sysutils/fselect: 0.8.0 -> 0.8.1

Ports marked "[D]" are "default", meaning no special-case handling, while "[C]" and "[G]" equate to [C]argo and [G]o-based ports respectively.

License

BSD 2-Clause

Documentation

Overview

* SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) Lewis Cook <lcook@FreeBSD.org> * All rights reserved.

Directories

Path Synopsis
* SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) Lewis Cook <lcook@FreeBSD.org> * All rights reserved.
* SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) Lewis Cook <lcook@FreeBSD.org> * All rights reserved.
internal
fetch
* SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) Lewis Cook <lcook@FreeBSD.org> * All rights reserved.
* SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) Lewis Cook <lcook@FreeBSD.org> * All rights reserved.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL