---
name: "pybit-web"
section: "1"
platform: "linux"
package: "pybit-web"
version: "1.0.0-4"
release: "Debian 10 (Buster)"
platforms: ["linux"]
url: "https://new.carta.tech/pybit-web"
---

# pybit-web(1)

buildd server to isuse build jobs to pybit clients.

## NAME

pybit-web - buildd server to isuse build jobs to pybit clients.

## DESCRIPTION

pybit-web provides a database connection and the controller to send messages to pybit clients to create a specific package build using the specified version control system. The client feeds status messages back to the controller which are displayed via the web interface.

## SETTING UP THE PYBIT-WEB SERVER

The Debian packaging of pybit-web uses dbconfig-common to configure the database.

For a local postgres instance, choose the unix socket option and the default ident authentication, then postgres as the database administrative user and www-data as the pybit-web database user. You can use whatever name you prefer for the pybit-web database itself.

Note: Ensure that the www-data user is specified or apache will not be granted permission to use the database connection. It's not enough to just set the user to www-data in /etc/pybit/web/web.conf - this setting is correct but needs postgres to be configured to allow access to www-data.

Also check that the pybit-web database owner is set to www-data and that all the tables in the database have the owner set to www-data. Use ALTER DATABASE OWNER name TO "www-data" and ALTER TABLE name OWNER to "www-data" if necessary.

## BLACKLISTING PACKAGES

Sometimes there will be packages being committed to the VCS with updated debian/changelog files but which either cannot or should not be built automatically.

pybit-web supports a postgres table called Blacklist, with fields "field" and "regex". Blacklist is used internally by process\_job() in controller to determine if certain packages are centrally blacklisted using regexes. If there is a match on the field in question, pybit-web will not issue a build request for this package. process\_job() is called by both the WebGUI and the VCS hook.

For example "name" and "(.\*-dev)" will mean we do not autobuild any development packages, while "vcs\_uri" and "(.\*/users/\*)" will block sources from locations such as /repo/users/jamesb/somebadcode

The controller log will print "BLACKLISTED! - \[regex\] matches \[fieldname\]:\[data\]" if a package is blacklisted.

A 403 will be returned, as well as a False, from process\_job to its caller (previously it returned void)

## SEE ALSO

The pybit wiki has more information on setting up the server as well as the rabbitmq server and the watcher. https://github.com/nicholasdavidson/pybit/wiki/Server-Setup

## AUTHOR

This manual page was written by Neil Williams \<codehelp@debian.org\>
