[Spice-devel] [PATCH spice-gtk 2/2] Add copr builds integration

Frediano Ziglio fziglio at redhat.com
Wed Aug 28 10:36:01 UTC 2019


> 
> Hi,
> 
> On 8/27/19 10:49 PM, Marc-André Lureau wrote:
> > Hi
> >
> > On Tue, Aug 27, 2019 at 6:27 PM Snir Sheriber <ssheribe at redhat.com> wrote:
> >> This will let copr to generate srpm using the .copr/Makefile script
> > Do we really want to maintain that kind of distro things upstream? Do
> > we need it?
> >
> > What does it bring that gitlab CI doesn't have?
> 
> 
> This srpm is generated with every commit and then a build is triggered
> in copr so that we'll have a repository of latest upstream packages which
> can be easily enabled by simple "dnf copr enable X" command.
> This should eventually replace the nightly builds repo which is currently
> created by an unmaintained vm that runs cron job that creates the srpms
> and push to copr (there is also a git repo for the spec file templates used
> by it).

IMO replacing the current nightly copr should be more a requirement than a
"should". Removing an hidden, not open VM into some small hooks configuration
with open source code that people can change sounds really nice thing.
Having two semi-official development setups to package/use SPICE seems a
bit too much.

> 
> Hence the intention was not to use it as ci, just for creating this repo, if
> i could have easily push the srpm created by gitlab ci to copr i would have
> done it. (can be done but would require to maintain our own runners)
> 

Mumble... could we not use artifacts and a webhook? So CI prepare the SRPM,
save in the artifacts and send a link to the SRPM using a copr webhook
(or something similar, not sure what can be done in copr)

> >
> >> Signed-off-by: Snir Sheriber <ssheribe at redhat.com>
> >> ---
> >>   .copr/Makefile | 29 +++++++++++++++++++++++++++++
> >>   1 file changed, 29 insertions(+)
> >>   create mode 100644 .copr/Makefile
> >>
> >> diff --git a/.copr/Makefile b/.copr/Makefile
> >> new file mode 100644
> >> index 0000000..db297fb
> >> --- /dev/null
> >> +++ b/.copr/Makefile
> >> @@ -0,0 +1,29 @@
> >> +# This Makefile script is invoked by copr to build source rpm
> >> +# See:
> >> https://docs.pagure.org/copr.copr/user_documentation.html#make-srpm
> > When is the build actually triggered? Is copr monitoring the git
> > repository? Is there a hook somewhere in gitlab to trigger the build?
> 
> 
> Yes, there is a gitlab hook that should be enabled (just by adding
> the copr webhook url as gitlab hook)
> 

Do you mean a gitlab (as gitlab.freedesktop.org) hook that trigger copr
build?

> 
> >
> >> +
> >> +PROTOCOL_GIT_REPO = https://gitlab.freedesktop.org/spice/spice-protocol
> >> +BUILD = meson gcc xz git rpm-build
> >> +
> >> +srpm:
> >> +       dnf install -y $(BUILD)
> >> +
> >> +       # get upstream spice protocol
> >> +       git clone $(PROTOCOL_GIT_REPO)
> >> +       cd spice-protocol && meson -Dprefix=/usr/ build && ninja -C build
> >> install
> >> +       rm -rf spice-protocol
> >> +
> >> +       # get other dependencies for project excluding spice-protocol
> >> +       dnf install -y `sed '/^BuildRequires:/!d; s/.*://;
> >> s/\bspice-protocol\b//; s/>.*//' *.spec.in`
> >> +
> >> +       # do not use commit id for version
> >> +       git fetch --tags
> >> +       git describe --abbrev=0 | sed 's/v//' > .tarball-version
> >> +       # create source rpm
> >> +       meson --buildtype=release build
> >> +       # Meson does not update submodules recursively
> >> +       git submodule update --init --recursive
> >> +       # this fix an issue with Meson dist
> >> +       if ! test -r ../spice-common.git; then DIR=`basename "$$PWD"`; ln
> >> -s "$$DIR/.git/modules/spice-common" ../spice-common.git; fi
> >> +       rm -rf meson-dist
> >> +       ninja -C build dist
> >> +       rpmbuild -bs ./build/*spec --define "_sourcedir
> >> $$PWD/build/meson-dist/" --define "_srcrpmdir $(outdir)"
> > Too much hacks for my taste here.
> 
> 
> I agree but it's still less hacks than what we have now in order to
> create the
> nightly repo, hopefully this will become simpler once some copr & meson
> issues will be solved (or we'll be able to use rpkg when it will support
> submodules)
> 
> Snir.
> 

Frediano


More information about the Spice-devel mailing list