#
# spec file for package autogits
#
# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via https://bugs.opensuse.org/
#


Name:           autogits
Version:        0
Release:        0
Summary:        GitWorkflow utilities
License:        GPL-2.0-or-later
URL:            https://src.opensuse.org/adamm/autogits
Source1:        vendor.tar.zst
BuildRequires:  golang-packaging
BuildRequires:  systemd-rpm-macros
BuildRequires:  zstd
%{?systemd_ordering}

%description
Git Workflow tooling and utilities enabling automated handing of OBS projects
as git repositories


%package -n gitea-events-rabbitmq-publisher
Summary:        Publishes Gitea webhook data via RabbitMQ

%description -n gitea-events-rabbitmq-publisher
Listens on an HTTP socket and publishes Gitea events on a RabbitMQ instance
with a topic
  <scope>.src.$organization.$webhook_type.[$webhook_action_type]


%package -n doc
Summary:        Common documentation files

%description -n doc
Common documentation files


%package -n devel-importer
Summary:        Imports devel projects from obs to git

%description -n devel-importer
Command-line tool to import devel projects from obs to git


%package -n group-review
Summary:        Reviews of groups defined in ProjectGit

%description -n group-review
Is used to handle reviews associated with groups defined in the
ProjectGit.


%package -n obs-staging-bot
Summary:        Build a PR against a ProjectGit, if review is requested

%description -n obs-staging-bot
Build a PR against a ProjectGit, if review is requested.


%package -n obs-status-service
Summary:        Reports build status of OBS service as an easily to produce SVG

%description -n obs-status-service
Reports build status of OBS service as an easily to produce SVG


%package -n workflow-direct
Summary:        Keep ProjectGit in sync for a devel project

%description -n workflow-direct
Keep ProjectGit in sync with packages in the organization of a devel project


%package -n workflow-pr
Summary:        Keeps ProjectGit PR in-sync with a PackageGit PR

%description -n workflow-pr
Keeps ProjectGit PR in-sync with a PackageGit PR



%prep
cp -r /home/abuild/rpmbuild/SOURCES/* ./
tar x --zstd -f %{SOURCE1}

%build
go build \
   -C gitea-events-rabbitmq-publisher \
   -mod=vendor \
   -buildmode=pie
go build \
   -C devel-importer \
   -mod=vendor \
   -buildmode=pie
go build \
   -C group-review \
   -mod=vendor \
   -buildmode=pie
go build \
   -C obs-staging-bot \
   -mod=vendor \
   -buildmode=pie
go build \
   -C obs-status-service \
   -mod=vendor \
   -buildmode=pie
#go build \
#   -C workflow-direct \
#   -mod=vendor \
#   -buildmode=pie
#go build \
#   -C workflow-pr \
#   -mod=vendor \
#   -buildmode=pie

%install
install -D -m0755 gitea-events-rabbitmq-publisher/gitea-events-rabbitmq-publisher  %{buildroot}%{_bindir}/gitea-events-rabbitmq-publisher
install -D -m0644 systemd/gitea-events-rabbitmq-publisher.service                  %{buildroot}%{_unitdir}/gitea-events-rabbitmq-publisher.service
install -D -m0755 devel-importer/devel-importer                                    %{buildroot}%{_bindir}/devel-importer
install -D -m0755 group-review/group-review                                        %{buildroot}%{_bindir}/group-review
install -D -m0755 obs-staging-bot/obs-staging-bot                                  %{buildroot}%{_bindir}/obs-staging-bot
install -D -m0755 obs-status-service/obs-status-service                            %{buildroot}%{_bindir}/obs-status-service
#install -D -m0755 workflow-direct/workflow-direct                                  %{buildroot}%{_bindir}/workflow-direct
#install -D -m0755 workflow-pr/workflow-pr                                          %{buildroot}%{_bindir}/workflow-pr

%pre -n gitea-events-rabbitmq-publisher
%service_add_pre gitea-events-rabbitmq-publisher.service

%post -n gitea-events-rabbitmq-publisher
%service_add_post gitea-events-rabbitmq-publisher.service

%preun -n gitea-events-rabbitmq-publisher
%service_del_preun gitea-events-rabbitmq-publisher.service

%postun -n gitea-events-rabbitmq-publisher
%service_del_postun gitea-events-rabbitmq-publisher.service

%files -n gitea-events-rabbitmq-publisher
%license COPYING
%doc gitea-events-rabbitmq-publisher/README.md
%{_bindir}/gitea-events-rabbitmq-publisher
%{_unitdir}/gitea-events-rabbitmq-publisher.service

%files -n doc
%license COPYING
%doc doc/README.md
%doc doc/workflows.md

%files -n devel-importer
%license COPYING
%doc devel-importer/README.md
%{_bindir}/devel-importer

%files -n group-review
%license COPYING
%doc group-review/README.md
%{_bindir}/group-review

%files -n obs-staging-bot
%license COPYING
%doc obs-staging-bot/README.md
%{_bindir}/obs-staging-bot

%files -n obs-status-service
%license COPYING
%doc obs-status-service/README.md
%{_bindir}/obs-status-service

%files -n workflow-direct
%license COPYING
%doc workflow-direct/README.md
#%{_bindir}/workflow-direct

%files -n workflow-pr
%license COPYING
%doc workflow-pr/README.md
#%{_bindir}/workflow-pr

