mirror of
https://github.com/aptly-dev/aptly.git
synced 2026-07-27 13:57:46 +00:00
update CONTRIBUTING
This commit is contained in:
+15
-51
@@ -110,15 +110,13 @@ make docker-build
|
|||||||
|
|
||||||
To run aptly commands in the development docker container, run:
|
To run aptly commands in the development docker container, run:
|
||||||
```
|
```
|
||||||
make docker-aptly
|
make docker-shell
|
||||||
```
|
```
|
||||||
|
|
||||||
Example:
|
Example:
|
||||||
```
|
```
|
||||||
$ make docker-aptly
|
$ make docker-shell
|
||||||
bash: cannot set terminal process group (16): Inappropriate ioctl for device
|
aptly@b43e8473ef81:/work/src$ aptly version
|
||||||
bash: no job control in this shell
|
|
||||||
aptly@b43e8473ef81:/app$ aptly version
|
|
||||||
aptly version: 1.5.0+189+g0fc90dff
|
aptly version: 1.5.0+189+g0fc90dff
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -152,42 +150,28 @@ Run `make help` for more information.
|
|||||||
|
|
||||||
This section describes local setup to start contributing to aptly.
|
This section describes local setup to start contributing to aptly.
|
||||||
|
|
||||||
#### Go & Python
|
|
||||||
|
|
||||||
You would need `Go` (latest version is recommended) and `Python` 3.9 (or newer, the CI currently tests against 3.11).
|
|
||||||
|
|
||||||
If you're new to Go, follow [getting started guide](https://golang.org/doc/install) to install it and perform
|
|
||||||
initial setup. With Go 1.8+, default `$GOPATH` is `$HOME/go`, so rest of this document assumes that.
|
|
||||||
|
|
||||||
Usually `$GOPATH/bin` is appended to your `$PATH` to make it easier to run built binaries, but you might choose
|
|
||||||
to prepend it or to skip this test if you're security conscious.
|
|
||||||
|
|
||||||
#### Dependencies
|
#### Dependencies
|
||||||
|
|
||||||
You would need some additional tools and Python virtual environment to run tests and checks, install them with:
|
Building aptly requires go version 1.22.
|
||||||
|
|
||||||
make prepare dev system/env
|
On Debian bookworm with backports enabled, go can be installed with:
|
||||||
|
|
||||||
This is usually one-time action.
|
apt install -t bookworm-backports golang-go
|
||||||
|
|
||||||
Aptly is using Go modules to manage dependencies, download modules using:
|
|
||||||
|
|
||||||
make modules
|
|
||||||
|
|
||||||
#### Building
|
#### Building
|
||||||
|
|
||||||
If you want to build aptly binary from your current source tree, run:
|
To build aptly, run:
|
||||||
|
|
||||||
|
make build
|
||||||
|
|
||||||
|
Run aptly:
|
||||||
|
|
||||||
|
build/aptly
|
||||||
|
|
||||||
|
To install aptly into `$GOPATH/bin`, run:
|
||||||
|
|
||||||
make install
|
make install
|
||||||
|
|
||||||
This would build `aptly` in `$GOPATH/bin`, so depending on your `$PATH`, you should be able to run it immediately with:
|
|
||||||
|
|
||||||
aptly
|
|
||||||
|
|
||||||
Or, if it's not on your path:
|
|
||||||
|
|
||||||
~/go/bin/aptly
|
|
||||||
|
|
||||||
#### Unit-tests
|
#### Unit-tests
|
||||||
|
|
||||||
aptly has two kinds of tests: unit-tests and functional (system) tests. Functional tests are preferred way to test any
|
aptly has two kinds of tests: unit-tests and functional (system) tests. Functional tests are preferred way to test any
|
||||||
@@ -244,26 +228,6 @@ There are some packages available under `system/files/` directory which are used
|
|||||||
this default location. You can run aptly under different user or by using non-default config location with non-default
|
this default location. You can run aptly under different user or by using non-default config location with non-default
|
||||||
aptly root directory.
|
aptly root directory.
|
||||||
|
|
||||||
#### Style Checks
|
|
||||||
|
|
||||||
Style checks could be run with:
|
|
||||||
|
|
||||||
make check
|
|
||||||
|
|
||||||
aptly is using [golangci-lint](https://github.com/golangci/golangci-lint) to run style checks on Go code. Configuration
|
|
||||||
for the linter could be found in [.golangci.yml](.golangci.yml) file.
|
|
||||||
|
|
||||||
Python code (system tests) are linted with [flake8 tool](https://pypi.python.org/pypi/flake8).
|
|
||||||
|
|
||||||
#### Vendored Code
|
|
||||||
|
|
||||||
aptly is using Go vendoring for all the libraries aptly depends upon. `vendor/` directory is checked into the source
|
|
||||||
repository to avoid any problems if source repositories go away. Go build process will automatically prefer vendored
|
|
||||||
packages over packages in `$GOPATH`.
|
|
||||||
|
|
||||||
If you want to update vendored dependencies or to introduce new dependency, use [dep tool](https://github.com/golang/dep).
|
|
||||||
Usually all you need is `dep ensure` or `dep ensure -update`.
|
|
||||||
|
|
||||||
### man Page
|
### man Page
|
||||||
|
|
||||||
aptly is using combination of [Go templates](http://godoc.org/text/template) and automatically generated text to build `aptly.1` man page. If either source
|
aptly is using combination of [Go templates](http://godoc.org/text/template) and automatically generated text to build `aptly.1` man page. If either source
|
||||||
|
|||||||
Reference in New Issue
Block a user