Bug 22611 - Makefile.am: command not found: git-log
Summary: Makefile.am: command not found: git-log
Status: RESOLVED FIXED
Alias: None
Product: xorg
Classification: Unclassified
Component: Build/Modular (show other bugs)
Version: git
Hardware: x86-64 (AMD64) Linux (All)
: low trivial
Assignee: Gaetan Nadon
QA Contact: Xorg Project Team
URL:
Whiteboard:
Keywords: janitor
Depends on:
Blocks:
 
Reported: 2009-07-03 17:27 UTC by Gaetan Nadon
Modified: 2009-08-26 11:47 UTC (History)
3 users (show)

See Also:
i915 platform:
i915 features:


Attachments
[PATCH] twm: use XORG_CHANGELOG macro to create ChangeLog. #22611 (1.60 KB, patch)
2009-07-08 14:59 UTC, Gaetan Nadon
no flags Details | Splinter Review
[PATCH] xev: use XORG_CHANGELOG macro to create ChangeLog. #22611 (1.57 KB, text/plain)
2009-07-08 16:56 UTC, Gaetan Nadon
no flags Details
[PATCH] xf86-video-ati: use XORG_CHANGELOG macro to create ChangeLog. #22611 (1.71 KB, text/plain)
2009-07-08 18:44 UTC, Gaetan Nadon
no flags Details
[PATCH] wsfb: use XORG_CHANGELOG macro to create ChangeLog. #22611 (1.61 KB, text/plain)
2009-07-09 05:54 UTC, Gaetan Nadon
no flags Details
[PATCH] adobe-utopia-type1: use XORG_CHANGELOG macro to create ChangeLog. #22611 (1.69 KB, text/plain)
2009-07-09 06:07 UTC, Gaetan Nadon
no flags Details
[PATCH] mutt-misc: use XORG_CHANGELOG macro to create ChangeLog. #22611 (1.68 KB, text/plain)
2009-07-09 06:11 UTC, Gaetan Nadon
no flags Details
[PATCH] sun-misc: use XORG_CHANGELOG macro to create ChangeLog. #22611 (1.67 KB, text/plain)
2009-07-09 06:17 UTC, Gaetan Nadon
no flags Details
[PATCH] compositeproto: use XORG_CHANGELOG macro to create ChangeLog. #22611 (1.60 KB, text/plain)
2009-07-09 06:59 UTC, Gaetan Nadon
no flags Details
[PATCH] damageproto: use XORG_CHANGELOG macro to create ChangeLog. #22611 (1.59 KB, text/plain)
2009-07-09 07:02 UTC, Gaetan Nadon
no flags Details
[PATCH] cf: use XORG_CHANGELOG macro to create ChangeLog. #22611 (1.75 KB, text/plain)
2009-07-09 07:06 UTC, Gaetan Nadon
no flags Details
[PATCH] gccmakedep: use XORG_CHANGELOG macro to create ChangeLog. #22611 (1.66 KB, text/plain)
2009-07-09 09:49 UTC, Gaetan Nadon
no flags Details
[PATCH] imake: use XORG_CHANGELOG macro to create ChangeLog. #22611 (1.57 KB, text/plain)
2009-07-09 09:56 UTC, Gaetan Nadon
no flags Details
[PATCH] lndir: use XORG_CHANGELOG macro to create ChangeLog. #22611 (1.57 KB, text/plain)
2009-07-09 09:59 UTC, Gaetan Nadon
no flags Details
[PATCH] xf86-video-mga: use XORG_CHANGELOG macro to create ChangeLog. #22611 (1.63 KB, text/plain)
2009-07-09 10:13 UTC, Gaetan Nadon
no flags Details
[PATCH] xf86-video-nv: use XORG_CHANGELOG macro to create ChangeLog. #22611 (1.61 KB, text/plain)
2009-07-09 11:08 UTC, Gaetan Nadon
no flags Details
[PATCH] xf86-video-xgi: Use XORG_CHANGELOG macro to create ChangeLog. #22611 (1.33 KB, patch)
2009-07-15 14:00 UTC, Gaetan Nadon
no flags Details | Splinter Review
[PATCH] xf86-video-r128: Use XORG_CHANGELOG macro to create ChangeLog. #22611 (1.55 KB, patch)
2009-07-15 14:03 UTC, Gaetan Nadon
no flags Details | Splinter Review
[PATCH] xf86-video-radeonhd: Use XORG_CHANGELOG macro to create ChangeLog. #22611 (1.70 KB, patch)
2009-07-15 14:08 UTC, Gaetan Nadon
no flags Details | Splinter Review
[PATCH] xf86-video-geode: Use XORG_CHANGELOG macro to create ChangeLog. #22611 (1.50 KB, patch)
2009-07-15 14:09 UTC, Gaetan Nadon
no flags Details | Splinter Review

Description Gaetan Nadon 2009-07-03 17:27:18 UTC
From a new git clone on a vanilla Linux box (with required tools by xorg), the build fails due to a line in the Makefile.am that uses "git-log" in lieu of "git log". I am new to xorg and git, I suspect it used to work in some distant past but no longer does. There are 24 Makefile in that situation and 2 that correctly use "git log". 

I intend to fix this by replacing "git-log" with "git log". I cannot verify on all platforms, I assume that git public interface is the same on all platforms. I would appreciate a buddy, as there is no substitute for experience in those matters. Another possible explanation is that there are some popular git related tools that provide the alternate "-" command name. 

Here is the offending line:
ChangeLog:
        (GIT_DIR=$(top_srcdir)/.git git-log > .changelog.tmp && mv .changelog.tmp ChangeLog; rm -f .changelog.tmp) || (touch ChangeLog; echo 'git directory not found: installing possibly empty changelog.' >&2)


Here is the list of Makefile.am:
app/constype/Makefile.am
app/glxcompmgr/Makefile.am
app/mkcfm/Makefile.am
app/twm/Makefile.am
app/xev/Makefile.am
app/xphelloworld/Makefile.am
app/xplsprinters/Makefile.am
app/xprehashprinterlist/Makefile.am
driver/xf86-input-magellan/Makefile.am
driver/xf86-input-microtouch/Makefile.am
driver/xf86-input-penmount/Makefile.am
driver/xf86-input-spaceorb/Makefile.am
driver/xf86-input-void/Makefile.am
driver/xf86-video-ati/Makefile.am
driver/xf86-video-wsfb/Makefile.am
proto/compositeproto/Makefile.am
proto/damageproto/Makefile.am
util/cf/Makefile.am
util/gccmakedep/Makefile.am
util/imake/Makefile.am
util/lndir/Makefile.am
font/adobe-utopia-type1/Makefile.am
font/mutt-misc/Makefile.am
font/sun-misc/Makefile.am
Comment 1 Alan Coopersmith 2009-07-06 08:45:12 UTC
"git log" is the correct public interface on all systems, and the 
only form supported in git 1.6 & later.   We've already fixed this
in most modules, which is why you only found a short list unfixed.

To make it easier to update in the future, the fix we've used is to
replace the Makefile.am command with a macro defined in xorg-macros.m4,

To use this, add to configure.ac:
XORG_CHANGELOG

If there isn't already a XORG_MACROS_VERSION at the top of the configure.ac,
add one - if there is one, make sure it lists a version of at least 1.2, as
in:

# Require xorg-macros: XORG_CHANGELOG
m4_ifndef([XORG_MACROS_VERSION], [AC_FATAL([must install xorg-macros 1.1 or later before running autoconf/autogen])])
XORG_MACROS_VERSION(1.2)

And then the Makefile.am changelog target rule becomes simply:

ChangeLog:
        $(CHANGELOG_CMD)

Comment 2 Gaetan Nadon 2009-07-07 12:06:52 UTC
Thanks Alan, exactly what I was hoping for. I'll proceed when I get my account created (requested in bug 22662). 
Comment 3 Julien Cristau 2009-07-08 11:00:22 UTC
> --- Comment #2 from Gaetan Nadon <memsize@videotron.ca>  2009-07-07 12:06:52 PST ---
> Thanks Alan, exactly what I was hoping for. I'll proceed when I get my account
> created (requested in bug 22662). 
> 
you don't have to wait for that before you can submit patches...
Comment 4 Alan Coopersmith 2009-07-08 11:18:24 UTC
(In reply to comment #3)
> > --- Comment #2 from Gaetan Nadon <memsize@videotron.ca>  2009-07-07 12:06:52 PST ---
> > Thanks Alan, exactly what I was hoping for. I'll proceed when I get my account
> > created (requested in bug 22662). 
> > 
> you don't have to wait for that before you can submit patches...

In fact, usually you don't get an account until you've first submitted some
patches, as noted on http://www.x.org/wiki/RepoPolicy

Instructions to submit patches:
http://wiki.x.org/wiki/Development/Documentation/SubmittingPatches
Comment 5 Gaetan Nadon 2009-07-08 14:59:09 UTC
Created attachment 27504 [details] [review]
[PATCH] twm: use XORG_CHANGELOG macro to create ChangeLog. #22611
Comment 6 Gaetan Nadon 2009-07-08 15:01:30 UTC
Thanks Julian and Alan.

I am attaching one patch for app/twm. I am not sure if it is for review, or if if it eventually gets pushed into the git repo. I was under the impression that xorg works with under central repository mode rather than kernel patch mode.

I found that the following modules are now obsolete. There were git pulled by git_xorg.sh script, but absent from build.sh. They don't break the code, but they pollute the master branch, making obsolete code appear current. I can either fix them as well, or open a separate bug to remove them if appropriate.

app/constype/Makefile.am 		
app/glxcompmgr/Makefile.am 	
app/mkcfm/Makefile.am		
app/xphelloworld/Makefile.am
app/xplsprinters/Makefile.am	
app/xprehashprinterlist/Makefile.am
driver/xf86-input-magellan/Makefile.am
driver/xf86-input-microtouch/Makefile.am
driver/xf86-input-penmount/Makefile.am	
driver/xf86-input-spaceorb/Makefile.am

I am also adding the following which do not break the build, but were not using XORG_CHANGELOG:
driver/xf86-video-mga/Makefile.am
driver/xf86-video-nv/Makefile.am
Comment 7 Gaetan Nadon 2009-07-08 16:56:57 UTC
Created attachment 27505 [details]
 [PATCH] xev: use XORG_CHANGELOG macro to create ChangeLog. #22611
Comment 8 Gaetan Nadon 2009-07-08 18:44:25 UTC
Created attachment 27507 [details]
[PATCH] xf86-video-ati: use XORG_CHANGELOG macro to create ChangeLog. #22611
Comment 9 Gaetan Nadon 2009-07-09 05:54:48 UTC
Created attachment 27513 [details]
[PATCH] wsfb: use XORG_CHANGELOG macro to create ChangeLog. #22611
Comment 10 Gaetan Nadon 2009-07-09 06:07:01 UTC
Created attachment 27514 [details]
[PATCH] adobe-utopia-type1: use XORG_CHANGELOG macro to create ChangeLog. #22611
Comment 11 Gaetan Nadon 2009-07-09 06:11:05 UTC
Created attachment 27515 [details]
[PATCH] mutt-misc: use XORG_CHANGELOG macro to create ChangeLog. #22611
Comment 12 Gaetan Nadon 2009-07-09 06:17:27 UTC
Created attachment 27516 [details]
[PATCH] sun-misc: use XORG_CHANGELOG macro to create ChangeLog. #22611
Comment 13 Gaetan Nadon 2009-07-09 06:59:44 UTC
Created attachment 27520 [details]
 [PATCH] compositeproto: use XORG_CHANGELOG macro to create ChangeLog. #22611
Comment 14 Gaetan Nadon 2009-07-09 07:02:38 UTC
Created attachment 27523 [details]
[PATCH] damageproto: use XORG_CHANGELOG macro to create ChangeLog. #22611
Comment 15 Gaetan Nadon 2009-07-09 07:06:44 UTC
Created attachment 27524 [details]
[PATCH] cf: use XORG_CHANGELOG macro to create ChangeLog. #22611
Comment 16 Gaetan Nadon 2009-07-09 09:49:44 UTC
Created attachment 27531 [details]
[PATCH] gccmakedep: use XORG_CHANGELOG macro to create ChangeLog. #22611
Comment 17 Gaetan Nadon 2009-07-09 09:56:53 UTC
Created attachment 27532 [details]
[PATCH] imake: use XORG_CHANGELOG macro to create ChangeLog. #22611
Comment 18 Gaetan Nadon 2009-07-09 09:59:37 UTC
Created attachment 27533 [details]
[PATCH] lndir: use XORG_CHANGELOG macro to create ChangeLog. #22611
Comment 19 Gaetan Nadon 2009-07-09 10:13:50 UTC
Created attachment 27534 [details]
[PATCH] xf86-video-mga: use XORG_CHANGELOG macro to create ChangeLog. #22611
Comment 20 Gaetan Nadon 2009-07-09 11:08:47 UTC
Created attachment 27535 [details]
 [PATCH] xf86-video-nv: use XORG_CHANGELOG macro to create ChangeLog. #22611
Comment 21 Gaetan Nadon 2009-07-09 11:25:21 UTC
Summary of changes:

A patch has been provided for these:
app/twm/Makefile.am			
app/xev/Makefile.am			
driver/xf86-video-ati/Makefile.am
driver/xf86-video-mga/Makefile.am
driver/xf86-video-nv/Makefile.am
driver/xf86-video-wsfb/Makefile.am
font/adobe-utopia-type1/Makefile.am
font/mutt-misc/Makefile.am
font/sun-misc/Makefile.am
proto/compositeproto/Makefile.am
proto/damageproto/Makefile.am
util/cf/Makefile.am
util/gccmakedep/Makefile.am
util/imake/Makefile.am
util/lndir/Makefile.am

This one was fixed after my commit but before I created a patch:
driver/xf86-input-void/Makefile.am

I have not touched obsolete components, I'll remove them from my build. I don't know who is looking after git_xorg.sh.
Comment 22 Peter Hutterer 2009-07-11 04:00:53 UTC
Thanks for your work! Pushed the patches, with the exceptions/comments below:
(btw, for the next time, please stick to 78 chars for the first commit line)

(In reply to comment #21)
> font/adobe-utopia-type1/Makefile.am
> font/mutt-misc/Makefile.am
> font/sun-misc/Makefile.am

pushed, but I'm not even sure if these are still in use

> util/cf/Makefile.am
> util/gccmakedep/Makefile.am
> util/lndir/Makefile.am

dead repos, AFAICT. didn't push because - what's the point.

> util/imake/Makefile.am

held off on that, wasn't imake the tool for the monolithic tree? in that case we probably shouldn't rely on a modular tool? not sure about that.

> proto/damageproto/Makefile.am
failed to push that one, seems like there's a permission error on the server.
 
> I have not touched obsolete components, I'll remove them from my build. I don't
> know who is looking after git_xorg.sh.

no-one, really. not actively anyway. If you want to fix it up, please go for it, you just need to register for a wiki account. 

Comment 23 Alan Coopersmith 2009-07-11 14:56:20 UTC
(In reply to comment #22)
> > util/cf/Makefile.am
> 
> dead repos, AFAICT. didn't push because - what's the point.
> 
> > util/imake/Makefile.am
> 
> held off on that, wasn't imake the tool for the monolithic tree? in that case
> we probably shouldn't rely on a modular tool? not sure about that.

util/cf are the config files for imake.  util/imake is built with the
modular tools - it was the build tool for the monolithic tree, but we
provide it and the cf files now only as a tool for building software
from other people that used imake and haven't ported to a more modern
build system yet.   I've gone ahead and pushed those two.
Comment 24 Peter Hutterer 2009-07-12 16:50:50 UTC
damageproto repository fixed up and your patch pushed.

that leaves gccmakedep and lndir. do we still maintain those?
Comment 25 Alex Deucher 2009-07-13 16:27:45 UTC
the fix (http://cgit.freedesktop.org/xorg/driver/xf86-video-ati/commit/?id=76af48c43f829e7aebacc9f2a623823fa26ee22b) that was applied to xf86-video-ati breaks configure on systems with older versions of xorg macros.  Is there any way to not require newer xorg macros?
Comment 26 Alan Coopersmith 2009-07-13 16:32:34 UTC
Run make dist on a system with current macros, then copy the tarball to
the system with old macros.
Comment 27 Gaetan Nadon 2009-07-15 13:54:48 UTC
Additional modules requiring XORG_CHANGELOG-macro update:

driver/xf86-video-xgi
driver/xf86-video-r128
driver/xf86-video-radeonhd
driver/xf86-video-geode

I will attach a patch for each which can be pushed if appropriate. These modules were not cloned by git_xorg.sh, hence their late discovery.

Thanks to the reviewers.
Comment 28 Gaetan Nadon 2009-07-15 14:00:17 UTC
Created attachment 27729 [details] [review]
 [PATCH] xf86-video-xgi: Use XORG_CHANGELOG macro to create ChangeLog. #22611
Comment 29 Gaetan Nadon 2009-07-15 14:03:43 UTC
Created attachment 27730 [details] [review]
[PATCH] xf86-video-r128: Use XORG_CHANGELOG macro to create ChangeLog. #22611
Comment 30 Gaetan Nadon 2009-07-15 14:08:01 UTC
Created attachment 27731 [details] [review]
[PATCH] xf86-video-radeonhd: Use XORG_CHANGELOG macro to create ChangeLog. #22611
Comment 31 Gaetan Nadon 2009-07-15 14:09:34 UTC
Created attachment 27732 [details] [review]
[PATCH] xf86-video-geode: Use XORG_CHANGELOG macro to create ChangeLog. #22611
Comment 32 Peter Hutterer 2009-07-15 21:37:11 UTC
forwarded radeonhd to matthias so he can push it, pushed the others directly. thanks again for the patches.
please keep an eye on radeonhd and close this bug when the patch goes upstream.
Comment 33 Gaetan Nadon 2009-07-16 08:01:56 UTC
That leaves 3 patches pending:

util/gccmakedep
util/lndir
driver/xf86-video-radeon

I did some www searching and I think gccmakedep and lndir are there for a while.

gccmakedep:
"A dependency generator of the historic, monolythic X.org tree."
"Xorg preprocessor dependency maker"
"The version of the gccmakedep included in this X.Org Foundation release was originally written by the XFree86 Project based on code supplied by Hongjiu Lu."

lndir:
"Xorg recursive directory symlink tool"
"lndir is used by X developers during development.  It may or may not
be used during the monolithic build of X as well.  It's a utility
that probably should be in GNU coreutils IMHO, but isn't."

Comment 34 Peter Hutterer 2009-07-16 17:35:48 UTC
(In reply to comment #33)
> That leaves 3 patches pending:
> 
> util/gccmakedep
> util/lndir

I question the need for the patch on these two repos since it increases the requirements for macros to 1.2. Since these repos are hardly maintained, if anything we should just s/git-log/git log/ instead of adding extra dependencies.
especially since both are xorg-independent tools

Alan?

> driver/xf86-video-radeon

looks like matthias doesn't want to apply the patch just yet but it will likely be pushed in the future.
Comment 35 Martin-Éric Racine 2009-07-29 01:50:59 UTC
Starting from which release of what package has that macro become available?

On xf86-video-geode, we'd rather avoid bumping xserver-core-dev or similar dependencies just to accommodate such a change, since many Geode-based products use e.g. Open Embedded and other similar build environments with outdated core packages to build their OS image.  

Thus, unless this change is backward-compatible down to e.g. xserver-core-dev >=1.3, we'd rather revert the change and implement the migration from 'git-log' to 'git log' in our own macro.
Comment 36 Alan Coopersmith 2009-07-29 07:45:13 UTC
(In reply to comment #35)
> Starting from which release of what package has that macro become available?
> 
> On xf86-video-geode, we'd rather avoid bumping xserver-core-dev or similar

"xserver-core-dev" is some sort of distro-specific package - you'll need to
figure out which distro invented it and ask them what's in it.

In packages Xorg creates & ships, XORG_CHANGELOG is in util-macros 1.2.0.
As an autoconf macro, it is only needed by developers who build the raw
sources from git, the person who builds the tarballs for distribution
("make dist"), and people who need to re-create configure after modifying
configure.ac.

It is not needed by people who build the distributed tarballs, unless
they're also changing configure.ac and autoreconf'ing.
Comment 37 Gaetan Nadon 2009-08-26 11:47:27 UTC
Closing as fixed. All build breaking modules (git-log) have had a patched applied. The video-radeon patch is standing-by for appropriate project timing to be applied.

A big thank you for all of those who helped me with this piece of maintenance.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.