Ports

Development

/etc/make.conf

DEVELOPER=YES
DEV_WARNING_WAIT=0

Testing

It is suggested to use devel/poudriere-devel for testing instead of ports-mgmt/porttools.

How to work on ports without being root all the time?

How to add patches to the files directory?

make patch does not work well with Git-like patches:

diff --git a/config.def.h b/config.def.h
index b41747f..eae969e 100644
--- a/config.def.h
+++ b/config.def.h

It cannot understand what files it should patch so it will nag the user with a File to patch:  prompt for every modified file in the patch. To avoid this it is necessary to:

Also remember that it is possible to use git diff --no-prefix if you are in charge of generating those patches.

How to modify port's options in a non-interactive way (BATCH=yes)?

What does the error "make: ... line ...: Malformed conditional ..." mean?

You probably forgot to add the following line to your Makefile:

.include <bsd.port.options.mk>

References

npm ports

Articles and tutorials

General

If you cannot find a mechanism you are looking for in the Porter's Handbook it is worth trying to look at the files in /usr/ports/Mk.

Specific tools tutorials

Usage

Tools

Poudriere

It is easy to use. Really. It seems to be tough to set up but it's not. Give it a try.

How to maintain a tree of custom, personal ports?

Ideally, we would like to have a repository with our custom ports only, which could be easily integrated with Poudriere for testing. Generally, there isn't a canonical solution to this problem. Some good sould have suggested me a couple of solutions, however:

Troubleshooting

General hints:

  1. Check your logs:  /usr/local/poudriere/data/logs/bulk/${jailname}/latest/

  2. Check your options: /usr/local/etc/poudriere.d/options

How to deal with "Connection timeout" while checking out ports tree?

In case of connection timeouts of:

poudriere ports -c -m svn+https -p subversive

try to use Git instead:

poudriere ports -c -m git -p subversive

[00:00:00] Error: DISTFILES_CACHE directory does not exist. (cf. poudriere.conf)

You are probably missing /usr/ports/distfiles. Just create that directory.

poudriere testport outputs "Error: Unable to extract pkg."

If everything build and packaged fine and then you get this error then you might have a problem with conflicts. The package that you are testing might try to install files, which are conflicting with other already installed packages. Try poudriere testport in a fresh jail.

Ports etiquette


CategoryHowTo CategoryPorts

MateuszPiotrowski/Ports (last edited 2021-04-10T04:57:26+0000 by KubilayKocak)