autodeb

module
v0.2.2 Latest Latest
Warning

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

Go to latest
Published: May 8, 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-runner: TODO. This executable is not yet available.

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

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 instance.
Package cli is responsible for parsing command line arguments and creating a server instance.
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 server instance.
Package cli is responsible for parsing command line arguments and creating a server instance.
internal
apt
dch
errorchecks
Package errorchecks implements functions for inspecting error meanings.
Package errorchecks implements functions for inspecting error meanings.
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
server
Package server contains the core of the autodeb server.
Package server contains the core of the autodeb server.
server/api
Package api provides the main router.
Package api provides the main router.
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.
tar
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

Jump to

Keyboard shortcuts

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