diff mbox

[libdrm] man: remove .man_fixup workaround

Message ID 1437062140-21670-1-git-send-email-emil.l.velikov@gmail.com (mailing list archive)
State New, archived
Headers show

Commit Message

Emil Velikov July 16, 2015, 3:55 p.m. UTC
The whole thing is quite messy - the file is used to indicate that the
man pages were correctly generated prior to applying the "fixup" (alias)

At the same time we use a rule with the same name, to create the same
file if the generation has failed.

In other words - it attempts to create the file either way. So there is
little point in it and we can remove it.

Spotted while attempting to build with bmake which kindly blocked on the
following (non compliant construct)

.man_fixup: | $(miscman_DATA)

Cc: Jonathan Gray <jsg@jsg.id.au>
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
---

Jonathan,

With the following patch libdrm build fine on my Arch + bmake.
The `dist' target is still broken, yet `all' and `check' work great.

Will you guys consider moving back to the upstream build ? As mentioned 
before if there are problems do mention/file bugs so that we can get 
them sorted.

-Emil



 man/Makefile.am | 11 +++--------
 1 file changed, 3 insertions(+), 8 deletions(-)

Comments

Jonathan Gray July 16, 2015, 6:05 p.m. UTC | #1
On Thu, Jul 16, 2015 at 04:55:40PM +0100, Emil Velikov wrote:
> The whole thing is quite messy - the file is used to indicate that the
> man pages were correctly generated prior to applying the "fixup" (alias)
> 
> At the same time we use a rule with the same name, to create the same
> file if the generation has failed.
> 
> In other words - it attempts to create the file either way. So there is
> little point in it and we can remove it.
> 
> Spotted while attempting to build with bmake which kindly blocked on the
> following (non compliant construct)
> 
> .man_fixup: | $(miscman_DATA)
> 
> Cc: Jonathan Gray <jsg@jsg.id.au>
> Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
> ---
> 
> Jonathan,
> 
> With the following patch libdrm build fine on my Arch + bmake.
> The `dist' target is still broken, yet `all' and `check' work great.
> 
> Will you guys consider moving back to the upstream build ? As mentioned 
> before if there are problems do mention/file bugs so that we can get 
> them sorted.

Hi Emil,

I've taken a quick look at extracting patches from the OpenBSD version
and put the result up here:

https://github.com/jonathangray/drm/commits/openbsd

I'm in Canada at the moment so won't be able to test on Radeon for a
week or so but this seems to work on i915 at least.

Currently we don't duplicate the public drm headers between userland
and the kernel but we could move back to doing things that
way.

I can clean those patches up and submit them if you like.
The xenocara wrapper makefile is just to fit into the
system makefiles so you can ignore that one.
Emil Velikov July 17, 2015, 7:20 p.m. UTC | #2
On 16 July 2015 at 19:05, Jonathan Gray <jsg@jsg.id.au> wrote:
> On Thu, Jul 16, 2015 at 04:55:40PM +0100, Emil Velikov wrote:
>> The whole thing is quite messy - the file is used to indicate that the
>> man pages were correctly generated prior to applying the "fixup" (alias)
>>
>> At the same time we use a rule with the same name, to create the same
>> file if the generation has failed.
>>
>> In other words - it attempts to create the file either way. So there is
>> little point in it and we can remove it.
>>
>> Spotted while attempting to build with bmake which kindly blocked on the
>> following (non compliant construct)
>>
>> .man_fixup: | $(miscman_DATA)
>>
>> Cc: Jonathan Gray <jsg@jsg.id.au>
>> Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
>> ---
>>
>> Jonathan,
>>
>> With the following patch libdrm build fine on my Arch + bmake.
>> The `dist' target is still broken, yet `all' and `check' work great.
>>
>> Will you guys consider moving back to the upstream build ? As mentioned
>> before if there are problems do mention/file bugs so that we can get
>> them sorted.
>
> Hi Emil,
>
> I've taken a quick look at extracting patches from the OpenBSD version
> and put the result up here:
>
> https://github.com/jonathangray/drm/commits/openbsd
>
> I'm in Canada at the moment so won't be able to test on Radeon for a
> week or so but this seems to work on i915 at least.
>
Glad to hear, enjoy your time.

> Currently we don't duplicate the public drm headers between userland
> and the kernel but we could move back to doing things that
> way.
>
libdrm is a bit out of sync (wrt the kernel) as well. Hopefully I'll
get to fixing things shortly.

> I can clean those patches up and submit them if you like.
> The xenocara wrapper makefile is just to fit into the
> system makefiles so you can ignore that one.
Some of the changes do look a bit nasty, and if possible I would
rather have those resolved. All in all the patches are nicely
isolated, so I won't object too much if that cannot be fixed.

When you have some time, do give them a spin, adding a bit of
information and send them over.

Thanks
Emil
Emil Velikov July 29, 2015, 5:04 p.m. UTC | #3
On 16 July 2015 at 19:05, Jonathan Gray <jsg@jsg.id.au> wrote:
> On Thu, Jul 16, 2015 at 04:55:40PM +0100, Emil Velikov wrote:
>> The whole thing is quite messy - the file is used to indicate that the
>> man pages were correctly generated prior to applying the "fixup" (alias)
>>
>> At the same time we use a rule with the same name, to create the same
>> file if the generation has failed.
>>
>> In other words - it attempts to create the file either way. So there is
>> little point in it and we can remove it.
>>
>> Spotted while attempting to build with bmake which kindly blocked on the
>> following (non compliant construct)
>>
>> .man_fixup: | $(miscman_DATA)
>>
>> Cc: Jonathan Gray <jsg@jsg.id.au>
>> Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
>> ---
>>
>> Jonathan,
>>
>> With the following patch libdrm build fine on my Arch + bmake.
>> The `dist' target is still broken, yet `all' and `check' work great.
>>
>> Will you guys consider moving back to the upstream build ? As mentioned
>> before if there are problems do mention/file bugs so that we can get
>> them sorted.
>
> Hi Emil,
>
> I've taken a quick look at extracting patches from the OpenBSD version
> and put the result up here:
>
> https://github.com/jonathangray/drm/commits/openbsd
>
> I'm in Canada at the moment so won't be able to test on Radeon for a
> week or so but this seems to work on i915 at least.
>
> Currently we don't duplicate the public drm headers between userland
> and the kernel but we could move back to doing things that
> way.
>
> I can clean those patches up and submit them if you like.
> The xenocara wrapper makefile is just to fit into the
> system makefiles so you can ignore that one.
This and your three patches are in master now.

Hopefully we'll get the remaining diff between libdrm and
{Open,Net,*}BSD sorted in the not too distant future :)

Thanks
Emil
diff mbox

Patch

diff --git a/man/Makefile.am b/man/Makefile.am
index 44b63a5..00eb423 100644
--- a/man/Makefile.am
+++ b/man/Makefile.am
@@ -37,7 +37,7 @@  MAN_FILES = \
 	$(miscman_aliases_DATA)
 
 EXTRA_DIST = $(XML_FILES)
-CLEANFILES = $(MAN_FILES) .man_fixup
+CLEANFILES = $(MAN_FILES)
 
 XSLTPROC_FLAGS = \
 	--stringparam man.authors.section.enabled 0 \
@@ -48,14 +48,9 @@  XSLTPROC_FLAGS = \
 	$(MANPAGES_STYLESHEET)
 
 XSLTPROC_PROCESS_MAN = \
-	$(AM_V_GEN)$(XSLTPROC) -o "$@" $(XSLTPROC_FLAGS) "$<" && \
-	touch .man_fixup
+	$(AM_V_GEN)$(XSLTPROC) -o "$@" $(XSLTPROC_FLAGS) "$<"
 
-# Force .man_fixup if $(miscman_DATA) are not built
-.man_fixup: | $(miscman_DATA)
-	$(AM_V_GEN)touch .man_fixup
-
-$(miscman_aliases_DATA): $(miscman_DATA) .man_fixup
+$(miscman_aliases_DATA): $(miscman_DATA)
 	$(AM_V_GEN)if test -n "$@" ; then $(SED) -i -e 's/^\.so \([a-z_]\+\)\.\([0-9]\)$$/\.so man\2\/\1\.\2/' "$@" ; fi
 
 SUFFIXES = .$(LIB_MAN_SUFFIX) .$(MISC_MAN_SUFFIX) .xml