aptly - Debian repository management tool https://www.aptly.info/
 
 
 
 
Go to file
Ryan Gonzalez 79975bf2b6 Fix reflist diffs failing to compact when one of the inputs ends
The previous reflist logic would early-exit the loop body if one of the
lists was empty, but that skips the compacting logic entirely.

Instead of doing the early-exit, we can leave a list's ref as nil when
the list end is reached and then flip the comparison result, which will
essentially treat it as being greater than all others. This should
preserve the general behavior without omitting the compaction.

Signed-off-by: Ryan Gonzalez <ryan.gonzalez@collabora.com>
2024-04-24 17:36:36 +02:00
.github github CI: nightly builds for multiple distributions 2024-04-17 17:48:37 +02:00
_man Fix paths after repository transfer to aptly-dev 2018-04-18 21:19:43 +03:00
api Skip loading reflists when listing published repos 2024-04-24 17:35:44 +02:00
aptly fix lint complaints 2024-04-03 10:13:24 +02:00
azure fix typo 2024-04-11 19:40:25 +02:00
cmd Skip loading reflists when listing published repos 2024-04-24 17:35:44 +02:00
completion.d Fix system tests for custom codenames 2022-08-29 15:54:29 +02:00
console Fix: Implement golangci-lint suggestions 2023-09-21 11:25:18 +02:00
context Fix: Implement golangci-lint suggestions 2023-09-21 11:25:18 +02:00
database update golangci-lint and replace deprecated calls to io/ioutil 2022-12-12 10:21:39 +01:00
deb Fix reflist diffs failing to compact when one of the inputs ends 2024-04-24 17:36:36 +02:00
files Use github.com/saracen/walker for file walk operations 2024-04-24 16:46:16 +02:00
http fix system tests 2024-04-11 10:15:02 +02:00
man add forceVirtualHostedStyle for stores which only support virtual hosted style 2022-09-09 09:02:52 +02:00
pgp add support for `EdDSA` keys in `pubkeyAlgorithmName` 2023-11-23 11:40:58 +01:00
query Fix linter list and fix errors discovered by new staticcheck 2019-01-20 00:01:17 +03:00
s3 fix typo 2024-04-11 19:40:25 +02:00
swift fix typo 2024-04-11 19:40:25 +02:00
system Revert "Bump requests from 2.28.2 to 2.31.0 in /system" 2024-04-17 22:08:27 +02:00
systemd Bump Go versions for Travis, fix tests 2019-07-04 00:16:12 +03:00
task Fix: Implement golangci-lint suggestions 2023-09-21 11:25:18 +02:00
utils Fix: Implement golangci-lint suggestions 2023-09-21 11:25:18 +02:00
.flake8 system tests: use repository mirrors on S3 for reproducibility 2024-02-05 13:04:45 +01:00
.gitignore system tests: use repository mirrors on S3 for reproducibility 2024-02-05 13:04:45 +01:00
.golangci.yml update golangci-lint and replace deprecated calls to io/ioutil 2022-12-12 10:21:39 +01:00
.goxc.json .goxc.json: list os/arch explicitly to avoid darwin/386 2021-04-29 14:41:24 +02:00
.travis.yml Test against more recent versions of Go 2021-02-12 09:23:24 +01:00
AUTHORS Update AUTHORS 2024-02-06 20:49:35 +01:00
CODE_OF_CONDUCT.md Add Contributor Covenant Code of Conduct [ci skip] 2016-12-29 00:01:17 +03:00
CONTRIBUTING.md Fix: typo in aptly web page link 2022-02-05 09:28:44 +01:00
LICENSE Update license to mention that there are many contributors. 2015-07-04 13:06:58 +03:00
Makefile fix system tests 2024-04-11 10:15:02 +02:00
README.rst README: add new gitter url 2024-04-21 13:22:06 +02:00
aptly-api.service Move nightly builds to Travis CI 2018-06-12 00:26:44 +03:00
aptly.service Add systemd service for aptly http server and aptly api 2018-04-05 17:13:26 +02:00
codecov.yml Fix CodeCov Config has two targets and thresholds 2023-03-13 08:20:18 +01:00
go.mod apply go mod tidy 2024-04-24 16:46:16 +02:00
go.sum fix go mod tidy and use go 1.19 2024-04-24 16:46:16 +02:00
main.go Fix: Implement golangci-lint suggestions 2023-09-21 11:25:18 +02:00
main_test.go Fix: Implement golangci-lint suggestions 2023-09-21 11:25:18 +02:00
mem.gp gnuplot script. 2014-03-03 20:59:37 +04:00
upload-artifacts.sh github CI: nightly builds for multiple distributions 2024-04-17 17:48:37 +02:00

README.rst

=====
aptly
=====

.. image:: https://github.com/aptly-dev/aptly/actions/workflows/ci.yml/badge.svg
    :target: https://github.com/aptly-dev/aptly/actions

.. image:: https://codecov.io/gh/aptly-dev/aptly/branch/master/graph/badge.svg
    :target: https://codecov.io/gh/aptly-dev/aptly

.. image:: https://badges.gitter.im/Join Chat.svg
    :target: https://matrix.to/#/#aptly:gitter.im

.. image:: https://goreportcard.com/badge/github.com/aptly-dev/aptly
    :target: https://goreportcard.com/report/aptly-dev/aptly

Aptly is a swiss army knife for Debian repository management.

.. image:: http://www.aptly.info/img/aptly_logo.png
    :target: http://www.aptly.info/

Documentation is available at `http://www.aptly.info/ <http://www.aptly.info/>`_. For support please use
mailing list `aptly-discuss <https://groups.google.com/forum/#!forum/aptly-discuss>`_.

Aptly features: ("+" means planned features)

* make mirrors of remote Debian/Ubuntu repositories, limiting by components/architectures
* take snapshots of mirrors at any point in time, fixing state of repository at some moment of time
* publish snapshot as Debian repository, ready to be consumed by apt
* controlled update of one or more packages in snapshot from upstream mirror, tracking dependencies
* merge two or more snapshots into one
* filter repository by search query, pulling dependencies when required
* publish self-made packages as Debian repositories
* REST API for remote access
* mirror repositories "as-is" (without resigning with user's key) (+)
* support for yum repositories (+)

Current limitations:

* translations are not supported yet

Download
--------

To install aptly on Debian/Ubuntu, add new repository to ``/etc/apt/sources.list``::

    deb http://repo.aptly.info/ squeeze main

And import key that is used to sign the release::

    $ apt-key adv --keyserver keyserver.ubuntu.com --recv-keys EE727D4449467F0E

After that you can install aptly as any other software package::

    $ apt-get update
    $ apt-get install aptly

Don't worry about squeeze part in repo name: aptly package should work on Debian squeeze+,
Ubuntu 10.0+. Package contains aptly binary, man page and bash completion.

If you would like to use nightly builds (unstable), please use following repository::

    deb http://repo.aptly.info/ nightly main

Binary executables (depends almost only on libc) are available for download from `GitHub Releases <https://github.com/aptly-dev/aptly/releases>`_.

If you have Go environment set up, you can build aptly from source by running (go 1.14+ required)::

    git clone https://github.com/aptly-dev/aptly
    cd aptly
    make modules install

Binary would be installed to ``$GOPATH/bin/aptly``.

Contributing
------------

Please follow detailed documentation in `CONTRIBUTING.md <CONTRIBUTING.md>`_.

Integrations
------------

Vagrant:

-   `Vagrant configuration <https://github.com/sepulworld/aptly-vagrant>`_ by
    Zane Williamson, allowing to bring two virtual servers, one with aptly installed
    and another one set up to install packages from repository published by aptly

Docker:

-    `Docker container <https://github.com/mikepurvis/aptly-docker>`_ with aptly inside by Mike Purvis
-    `Docker container <https://github.com/urpylka/docker-aptly>`_ with aptly and nginx by Artem Smirnov

With configuration management systems:

-   `Chef cookbook <https://github.com/hw-cookbooks/aptly>`_ by Aaron Baer
    (Heavy Water Operations, LLC)
-   `Puppet module <https://github.com/alphagov/puppet-aptly>`_ by
    Government Digital Services
-   `Puppet module <https://github.com/tubemogul/puppet-aptly>`_ by
    TubeMogul
-   `SaltStack Formula <https://github.com/saltstack-formulas/aptly-formula>`_ by
    Forrest Alvarez and Brian Jackson
-   `Ansible role <https://github.com/aioue/ansible-role-aptly>`_ by Tom Paine

CLI for aptly API:

-   `Ruby aptly CLI/library <https://github.com/sepulworld/aptly_cli>`_ by Zane Williamson
-   `Python aptly CLI (good for CI) <https://github.com/TimSusa/aptly_api_cli>`_ by Tim Susa

GUI for aptly API:

-   `Python aptly GUI (via pyqt5) <https://github.com/chnyda/python-aptly-gui>`_ by Cedric Hnyda

Scala sbt:

-   `sbt aptly plugin <https://github.com/amalakar/sbt-aptly>`_ by Arup Malakar