[sane-devel] [janitorial] Git post-receive hook changes (was Re: Pushing autofoo changes to Alioth leaves me "stumped")
paddy-hack at member.fsf.org
Tue Jun 13 11:52:45 UTC 2017
Hi again list,
Following up on my own post cuz I've made a few changes on how things
work on Alioth, triggered by me "being stumped". I've peeked and poked
in the git hooks and think I now sort of know what has been going on all
this time. From here on things will be a wee bit different, though.
Olaf Meeuwissen writes:
> Hi list,
> I just pushed a commit changing configure.ac and backends/Makefile.am.
> Here's part of what that gave me.
> remote: *** A Makefile was modified; please ./configure && make on Alioth
> remote: *** Contact sane-devel if you don't know what to do
Rather than telling *you* what to do, the post-receive hook will do it
for you. Unless I screwed up, of course, and within the limitations
that Alioth imposes (no autoconf, no automake, no ... nothing, really,
as far as autotools and gettext are concerned).
> I'm clueless, hence my mail.
I'm a lot less clueless now but still not omniscient, so if you have
trouble pushing your changes to Alioth, please contact the list.
Gory details follow.
> [...] Let's try
> Barfs towards the end with
> configure: creating ./config.status
> chmod: changing permissions of `./config.status': Operation not permitted
> configure: error: write failure creating ./config.status
> Tried running make anyway.
> Generating epsonds.conf from epsonds.conf.in
> /bin/bash: epsonds.conf: Permission denied
> make: *** [epsonds.conf] Error 1
> make: Leaving directory `/var/lib/gforge/chroot/home/groups/sane/sane-backends-lists-git/backend'
> make: *** [all-recursive] Error 1
> So apart from the lack of tools to do what *should* be done, there are
> also a bunch of permission issues that make the message when pushing,
> eh, well, rather useless.
I've tried to work around this by liberally sprinkling `sg sane`
statements in the scripts that are invoked from the post-receive hook
*and* a `chmod g+w --recursive` on that checkout on Alioth (lots of
"permission denied" errors there, though).
Hope that helps.
> The message when pushing is courtesy of the git post-receive hook. If I
> rip that out, what will change for the worse, stop working or just plain
It'll try to run a `./config.status --recheck` for you now. Which is
really just a half-assed attempt to do the right thing. The trigger for
this is a change in any file that matches Makefile. That matches any of
Makefile, Makefile.in, Makefile.in.in and Makefile.am.
# It even matches doc/plustek/Makefile.kernel2! No idea what those
# are for, yet.
If a Makefile.am changed, you should run automake (or let `make` do the
right thing when ./configure has been run with --enable-maintainer-mode
(it hasn't) but that would in turn fail because automake is missing and
the `missing` script will tell you so).
If a Makefile.in or Makefile.in.in changed, you *should* run autoconf.
Again, if ./configure had been run with --enable-maintainer-mode it does
that for you (but would fail because autoconf is also `missing`).
> In the mean time, I've just run autoreconf on my debian-8-full Docker
> container and pushed the "fall out".
>  https://gitlab.com/sane-project/ci-envs
> Hmm, that triggered a pile of such messages and tried to
> remote: cd .. && make am--refresh
> remote: make: Entering directory `/var/lib/gforge/chroot/home/groups/sane/sane-backends-lists-git'
> remote: /bin/bash ./config.status --recheck
> failing with the same permission errors as before. All this is rather
> disappointing to see and I'd like to do something about it. Clues and
> suggestions very welcome.
Failing any suggestions, I'll see if I can at least sort most of this
*mess* out and have the post-receive hook do what's necessary insofar
possible and give actionable feedback where needed.
# It's not just changes to Makefile.am. Changes to configure.ac and
# acinclude.m4 as well as a few other files will also require running
# some tools that are *not* available on Alioth.
Hope this helps,
Olaf Meeuwissen, LPIC-2 FSF Associate Member since 2004-01-27
GnuPG key: F84A2DD9/B3C0 2F47 EA19 64F4 9F13 F43E B8A4 A88A F84A 2DD9
Support Free Software https://my.fsf.org/donate
Join the Free Software Foundation https://my.fsf.org/join
More information about the sane-devel