autodeb

module
v0.20.0 Latest Latest
Warning

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

Go to latest
Published: Aug 12, 2018 License: MIT

README

autodeb

godoc reference pipeline status go report card Build Status codecov

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 officially 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

  • 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
$ ./autodeb-server
$ ./autodeb-worker

Directories

Path Synopsis
cmd
autodeb-server
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
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.
errors
Package errors exposes a subset of the github.com/pkg/errors API.
Package errors exposes a subset of the github.com/pkg/errors API.
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.
http
Package http is responsible for creating an HTTP server
Package http is responsible for creating an HTTP server
http/middleware
Package middleware contains general-purpose HTTP handlers
Package middleware contains general-purpose HTTP handlers
http/sessions
Package sessions is wrapper around github.com/gorilla/sessions.
Package sessions is wrapper around github.com/gorilla/sessions.
log
Package log provides a logger.
Package log provides a logger.
log/http
Package http implements logging primitives for the http package
Package http implements logging primitives for the http package
pgp
pgp/pgptest
Package pgptest contains an armored PGP key to be used for testing.
Package pgptest contains an armored PGP key to be used for testing.
server
Package server contains the core of the autodeb server.
Package server contains the core of the autodeb server.
server/appctx
Package appctx implements the application's context.
Package appctx implements the application's context.
server/auth
Package auth contains implementations of authentification backends
Package auth contains implementations of authentification backends
server/auth/disabled
Package disabled implements a disabled authentification backend.
Package disabled implements a disabled authentification backend.
server/auth/oauth
Package oauth implements an authentification backend based on OAuth.
Package oauth implements an authentification backend based on OAuth.
server/database
Package database is responsible for all database logic.
Package database is responsible for all database logic.
server/handlers
Package router provides the main router.
Package router provides the main router.
server/handlers/webpages
Package webpages contains handlers that serve autodeb-server's web pages
Package webpages contains handlers that serve autodeb-server's web pages
server/models
Package models defines all models used within the application.
Package models defines all models used within the application.
server/services
Package services implements the bulk of the application logic.
Package services implements the bulk of the application logic.
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