obs-service-publish_tar
OBS Source Service obs-service-publish_tar
will create a archive.tar[.
archive containing the published repository
. The archive is generated in the rpm package directory.
Usage
Place the publish_tar
and publish_tar.service
files in /usr/lib/obs/service.
On your package in OBS, create a _service file with the following contents:
/srv/www/updates
gz
updates-%d.tar.gz
enable
MYPROJECT
SLE_15_SP2
rsync://myserver/reposync/update-archives
my_obs_server
my_api_user
my_api_password
Clicking on "trigger services" should do these steps, in order:
- gather the complete published repository for the project indicated in "sourceproject" for the repository indicated in "repository" (except the src and repocache directories)
- compress the contents into a new archive named in "archive", with compression type defined in "compression". A variable of %d will expand to "YYYY-MM-DD".
- the contents will be under the path defined by "destinationpath" inside the archive (e.g. everything under /srv/www/updates in this example)
- if "changesgenerate" is set to "enable", go around all the packages in the project indicated, look for .changes files and concatenate them into a global changelog. The changelog will have the same name as the archive, but with a ".changelog" extension. This uses the OBS API server, user and password indicated in the corresponding parameters.
- finally, it'll publish the archive to the RSYNC server indicated in "publish_url". By default we do not erase previous archives.
License
GNU General Public License v2.0 or later