autodeb

module
v0.5.0 Latest Latest
Warning

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

Go to latest
Published: May 15, 2018 License: MIT

README

autodeb

godoc reference pipeline status go report card

autodeb tries to automatically update Debian packages to newer upstream versions or to backport them.

autodeb is the concretization Lucas Nussbaum's GSOC 2018 proposed project titled "Automatic Packages for Everything (backports, new upstream versions, etc.)". The project proposal can be found in the Debian Wiki. The project was officialy accepted.

Getting in touch

You may chat with us at #autodeb on irc.debian.org (or via webchat). If you've found something that is clearly a bug, feel free to report it in the issue tracker.

Documentation

Available executables

  • list-packages-with-newer-upstream-versions: lists source packages that have newer upstream versions available

  • update-random-package: find a package that needs updating to a newer upstream version and try updating it automatically. On success, the output is moved to the current directory.

  • autodeb-server: This is the server component of the system. It provides a web interface, a REST API and dput-compatible interface.

  • autodeb-worker: This is the worker component of the system. It retrieves jobs from the main server and executes them.

Getting started

1. Setup Go

Note that you might want to get a recent version of the go compiler from a backports repository.

$ apt-get install golang-go git make
$ export GOPATH=~/go
$ go get -u golang.org/x/lint/golint
2. Clone the project
$ mkdir -p $GOPATH/src/salsa.debian.org/autodeb-team/
$ git clone https://salsa.debian.org/autodeb-team/autodeb.git $GOPATH/src/salsa.debian.org/autodeb-team/autodeb
$ cd $GOPATH/src/salsa.debian.org/autodeb-team/autodeb
3. Build the project
$ make get-deps
$ make
4. Run any of the scripts

Note that runtime dependencies of the scripts include:

  • devscripts
  • sbuild
$ ./list-packages-with-newer-upstream-versions
$ ./update-random-package
$ ./autodeb-server
$ ./autodeb-worker

Directories

Path Synopsis
cmd
autodeb-server command
autodeb-server is the main server
autodeb-server is the main server
autodeb-server/internal/cli
Package cli is responsible for parsing command line arguments and creating a server config.
Package cli is responsible for parsing command line arguments and creating a server config.
autodeb-worker command
autodeb-worker retrieves jobs from the main server and executes them
autodeb-worker retrieves jobs from the main server and executes them
autodeb-worker/internal/cli
Package cli is responsible for parsing command line arguments and creating a worker config.
Package cli is responsible for parsing command line arguments and creating a worker config.
internal
apiclient
Package apiclient implements a client for the autodeb-server REST API
Package apiclient implements a client for the autodeb-server REST API
errorchecks
Package errorchecks implements functions for inspecting error meanings.
Package errorchecks implements functions for inspecting error meanings.
exec
Package exec contains methods that call os commands
Package exec contains methods that call os commands
filesystem
Package filesystem provides an abstraction for a file system.
Package filesystem provides an abstraction for a file system.
ftpmasterapi
Package ftpmasterapi is a client for the REST API at api-ftp-master.debian.org
Package ftpmasterapi is a client for the REST API at api-ftp-master.debian.org
http
Package http is responsible for creating an HTTP server
Package http is responsible for creating an HTTP server
http/decorators
Package decorators contains general-purpose HTTP handler decorators
Package decorators contains general-purpose HTTP handler decorators
log
Package log provides a logger.
Package log provides a logger.
server
Package server contains the core of the autodeb server.
Package server contains the core of the autodeb server.
server/app
Package app implements most of the application logic
Package app implements most of the application logic
server/database
Package database is responsible for all database logic.
Package database is responsible for all database logic.
server/models
Package models defines all models used within the application.
Package models defines all models used within the application.
server/router
Package router provides the main router.
Package router provides the main router.
server/router/internal/webpages
Package webpages contains handlers that serve autodeb-server's web pages
Package webpages contains handlers that serve autodeb-server's web pages
udd
Package udd is a client for the API at udd.debian.org
Package udd is a client for the API at udd.debian.org
worker
Package worker contains the core of the autodeb worker.
Package worker contains the core of the autodeb worker.

Jump to

Keyboard shortcuts

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