Skip to content

An all-in-one software repository sync script (or at least it aims to be)

License

Notifications You must be signed in to change notification settings

AfroThundr3007730/syncrepo

logo Syncrepo

An all-in-one software repository sync script (or at least it aims to be)

GitHub Release GitHub Repo stars GitHub forks GitHub watchers GNU General Public License Mirrored on Codeberg Chat on Gitter

GitHub Actions Workflow Status FOSSA License Status OpenSSF Best Practices Codacy Badge Codecov Coverage Maintainability

Open in GitHub Codespaces

Project Overview

Below are configuration files for creating upstream and downstream yum and apt repositories. These can be hosted on a CentOS, Debian, or Ubuntu system and served via rsync or http.

The only requirements are rsync and a webserver, such as apache. For apt repositories or ClamAV definitions, debmirror or clamavmirror will also be needed. Note that not all required setup steps are listed here.

TODO: Add a proper setup guide.

Working with this repository

The master branch hosts stable releases, unless bugfixes are needed, then a release branch is forked to host changes.

The dev branch is where the latest changes happen. It's not guaranteed to be completely functional all the time.

Further details can be found in the contributor guidelines.

Repository Layout

Filename Description
docs/ Documentation and other metadata
src/syncrepo.sh New all-in-one repository sync script
src/syncrepo.service Systemd service unit for syncrepo script
src/syncrepo.timer Systemd timer unit for syncrepo script
src/syncrepo-vhost.conf Apache vhost config for repository
src/syncrepo-log.conf Logrotate config file
src/rsyncd.conf Rsync config for repository
src/rsyncd.service Systemd service unit for rsyncd service
src/centos-local.repo Centos package config for clients
src/debian-sources.list Debian package sources for clients
src/ubuntu-sources.list Ubuntu package sources for clients
modules/debmirror/ The debmirror tool submodule
modules/clamavmirror/ The clamavmirror tool submodule

Contributing

Contributions are welcome! Check out the contribution guide.

Code of Conduct

This project follows the Contributor Covenant.

Credits

All project contributors are listed in the authors document.

Change log

Changes can (ostensibly) be found in the change log.

Security Issues

For reporting security issues, see the security document.

License

This project is released under the GNU GPL-3.0 License.

Versioning

This project follows Semantic Versioning 2.0.0.

Acknowledgements

This project uses resources from these other projects.


Contributor Covenant Semantic Versioning Keep a Changelog Make a Readme Developer Certificate