Skip to contentSkip to conversation

kbuild: move scripts/basic/docproc.c to scripts/docproc.c

PATCH In review Peter Foley 4 participants 13 messages Apr 29, 2011 – May 2, 2011

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

v2 cover kbuild: move scripts/basic/docproc.c to scripts/docproc.c

This patchset moves scripts/basic/docproc to scripts/docproc. This causes docproc to only be built for *doc targets rather than every time the kernel is compiled.

Patches also attached as requested by Michal Marek.

Thanks,

Peter

#1 lore raw
Quoted 5 lines · On Fri, 29 Apr 2011 18:38:12 -0400 Peter Foley wrote:

This patchset moves scripts/basic/docproc to scripts/docproc. This causes docproc to only be built for *doc targets rather than every time the kernel is compiled.

Patches also attached as requested by Michal Marek.

That's disappointing (the attachments). Why was this requested?

See Documentation/CodingStyle, section 7:

"No MIME, no links, no compression, no attachments. Just plain text."

It also causes breakage in other people's patch merging/testing. E.g., I cannot save any one of these emails as I can with other patches and get a useful patch file. Instead, the saved file contains lines like this (below) and each patch 2 times (inline and attachment).

--------------060706070408040606010200
Content-Type: text/plain;
name="kbuild-update-DocBook-Makefile-in-preperation-for-mo.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
filename="kbuild-update-DocBook-Makefile-in-preperation-for-mo.patch"

---
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***

#9 lore raw
In reply to Peter Foley
Quoted 5 lines · On Fri, 29 Apr 2011 18:38:12 -0400 Peter Foley wrote:

This patchset moves scripts/basic/docproc to scripts/docproc. This causes docproc to only be built for *doc targets rather than every time the kernel is compiled.

Patches also attached as requested by Michal Marek.

Please test & fix when using O=output_dir.

$ mkdir DOC1
$ make -j4 O=DOC1 htmldocs

gives:

for dep in dvb media-entities.tmpl media-indices.tmpl v4l; do \
		rm -f lnx-2639-rc5/DOC1/Documentation/DocBook/$dep \
		&& ln -s lnx-2639-rc5/Documentation/DocBook/$dep lnx-2639-rc5/DOC1/Documentation/DocBook/ \
		|| exit; \
	done

DOCPROC Documentation/DocBook/80211.xml
DOCPROC Documentation/DocBook/alsa-driver-api.xml DOCPROC Documentation/DocBook/debugobjects.xml
/bin/sh: lnx-2639-rc5/DOC1/scripts/docproc: No such file or directory /bin/sh: lnx-2639-rc5/DOC1/scripts/docproc: No such file or directory make[2]: *** [Documentation/DocBook/alsa-driver-api.xml] Error 1 make[2]: *** Waiting for unfinished jobs....
DOCPROC Documentation/DocBook/device-drivers.xml
make[2]: *** [Documentation/DocBook/debugobjects.xml] Error 1 /bin/sh: lnx-2639-rc5/DOC1/scripts/docproc: No such file or directory make[2]: *** [Documentation/DocBook/device-drivers.xml] Error 1 /bin/sh: lnx-2639-rc5/DOC1/scripts/docproc: No such file or directory make[2]: *** [Documentation/DocBook/80211.xml] Error 1 make[1]: *** [htmldocs] Error 2
make: *** [sub-make] Error 2

---
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***

#2 lore raw
In reply to Randy Dunlap
Quoted 6 lines · Randy Dunlap
Quoted 4 lines · On Fri, 29 Apr 2011 18:38:12 -0400 Peter Foley wrote:

This patchset moves scripts/basic/docproc to scripts/docproc. This causes docproc to only be built for *doc targets rather than every time the kernel is compiled.

Quoted 8 lines
Quoted 1 line

Patches also attached as requested by Michal Marek.

That's disappointing (the attachments). Why was this requested?

See Documentation/CodingStyle, section 7:

"No MIME, no links, no compression, no attachments. Just plain text."

and a couple of lines later:
"Exception: If your mailer is mangling patches then someone may ask you to re-send them using MIME."

Which is exactly what happened here - the patches had missing or excess leading space and in some cases a context line was missing. So instead of manually reconstructing the patches, I asked Peter to resend them as attachments.

BUT - I didn't request to split this patch into seven pieces. Splitting patches into smaller parts is desired, but each part has to be self contained and not break stuff when the later parts are not applied. So when moving a .c file, then the corespoding Makefile changes need to be contained in the same patch. No need to resend the patch now, I'll fold the patches into one again, but please consider this next time.

Quoted 2 lines

Instead, the saved file contains lines like
this (below) and each patch 2 times (inline and attachment).

Yeah, only sending the attachment would be better in this case.

Michal

#10 lore raw
In reply to Randy Dunlap
Quoted 10 lines · On Fri, 29 Apr 2011 15:59:15 -0700 Randy Dunlap wrote:
Quoted 5 lines · On Fri, 29 Apr 2011 18:38:12 -0400 Peter Foley wrote:

This patchset moves scripts/basic/docproc to scripts/docproc. This causes docproc to only be built for *doc targets rather than every time the kernel is compiled.

Patches also attached as requested by Michal Marek.

Please test & fix when using O=output_dir.

Sorry, user error. I missed applying patch 6/7. :(

---
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***

#3 lore raw
In reply to Michal Marek
Quoted 16 lines · On Sat, 30 Apr 2011 01:00:09 +0200 Michal Marek wrote:
Quoted 6 lines · Randy Dunlap
Quoted 4 lines · On Fri, 29 Apr 2011 18:38:12 -0400 Peter Foley wrote:

This patchset moves scripts/basic/docproc to scripts/docproc. This causes docproc to only be built for *doc targets rather than every time the kernel is compiled.

Quoted 8 lines
Quoted 1 line

Patches also attached as requested by Michal Marek.

That's disappointing (the attachments). Why was this requested?

See Documentation/CodingStyle, section 7:

"No MIME, no links, no compression, no attachments. Just plain text."

Quoted 8 lines

and a couple of lines later:
"Exception: If your mailer is mangling patches then someone may ask you to re-send them using MIME."

Which is exactly what happened here - the patches had missing or excess leading space and in some cases a context line was missing. So instead of manually reconstructing the patches, I asked Peter to resend them as attachments.

OK, thanks for explaining.

Quoted 6 lines

BUT - I didn't request to split this patch into seven pieces. Splitting patches into smaller parts is desired, but each part has to be self contained and not break stuff when the later parts are not applied. So when moving a .c file, then the corespoding Makefile changes need to be contained in the same patch. No need to resend the patch now, I'll fold the patches into one again, but please consider this next time.

Yes, a few of them could be merged IMO.

Quoted 4 lines
Quoted 2 lines

Instead, the saved file contains lines like
this (below) and each patch 2 times (inline and attachment).

Yeah, only sending the attachment would be better in this case.

agreed.

---
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***

#11 lore raw
In reply to Randy Dunlap
Quoted 8 lines · On Fri, 29 Apr 2011 16:00:53 -0700 Randy Dunlap wrote:
Quoted 6 lines · On Fri, 29 Apr 2011 15:59:15 -0700 Randy Dunlap wrote:
Quoted 4 lines · On Fri, 29 Apr 2011 18:38:12 -0400 Peter Foley wrote:

This patchset moves scripts/basic/docproc to scripts/docproc. This causes docproc to only be built for *doc targets rather than every time the kernel is compiled.

Quoted 6 lines
Quoted 4 lines
Quoted 1 line

Patches also attached as requested by Michal Marek.

Please test & fix when using O=output_dir.

Sorry, user error. I missed applying patch 6/7. :(

Works successfully now. :)

---
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***

#5 lore raw
In reply to Randy Dunlap
Quoted 30 lines · Randy Dunlap
Quoted 5 lines · On Fri, 29 Apr 2011 18:38:12 -0400 Peter Foley wrote:

This patchset moves scripts/basic/docproc to scripts/docproc. This causes docproc to only be built for *doc targets rather than every time the kernel is compiled.

Patches also attached as requested by Michal Marek.

That's disappointing (the attachments). Why was this requested?

See Documentation/CodingStyle, section 7:

"No MIME, no links, no compression, no attachments. Just plain text."

It also causes breakage in other people's patch merging/testing. E.g., I cannot save any one of these emails as I can with other patches and get a useful patch file. Instead, the saved file contains lines like this (below) and each patch 2 times (inline and attachment).

--------------060706070408040606010200
Content-Type: text/plain;
name="kbuild-update-DocBook-Makefile-in-preperation-for-mo.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
filename="kbuild-update-DocBook-Makefile-in-preperation-for-mo.patch"

Quoted 3 lines

---
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***

See https://lkml.org/lkml/2011/4/29/89 for the attachment request.
My current email client (thunderbird) seems to mangle any patches that I send. If anybody can suggest an email client that doesn't mangle patches I'll be happy to try it.

Thanks,

Peter

#4 lore raw
In reply to Randy Dunlap
Quoted 41 lines · Randy Dunlap
Quoted 16 lines · On Sat, 30 Apr 2011 01:00:09 +0200 Michal Marek wrote:
Quoted 6 lines · Randy Dunlap
Quoted 4 lines · On Fri, 29 Apr 2011 18:38:12 -0400 Peter Foley wrote:

This patchset moves scripts/basic/docproc to scripts/docproc. This causes docproc to only be built for *doc targets rather than every time the kernel is compiled.

Quoted 8 lines
Quoted 1 line

Patches also attached as requested by Michal Marek.

That's disappointing (the attachments). Why was this requested?

See Documentation/CodingStyle, section 7:

"No MIME, no links, no compression, no attachments. Just plain text."

Quoted 8 lines

and a couple of lines later:
"Exception: If your mailer is mangling patches then someone may ask you to re-send them using MIME."

Which is exactly what happened here - the patches had missing or excess leading space and in some cases a context line was missing. So instead of manually reconstructing the patches, I asked Peter to resend them as attachments.

OK, thanks for explaining.

Quoted 6 lines

BUT - I didn't request to split this patch into seven pieces. Splitting patches into smaller parts is desired, but each part has to be self contained and not break stuff when the later parts are not applied. So when moving a .c file, then the corespoding Makefile changes need to be contained in the same patch. No need to resend the patch now, I'll fold the patches into one again, but please consider this next time.

Yes, a few of them could be merged IMO.

Quoted 3 lines
Quoted 2 lines

Instead, the saved file contains lines like
this (below) and each patch 2 times (inline and attachment).

Quoted 7 lines
Quoted 1 line

Yeah, only sending the attachment would be better in this case.

agreed.

---
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***

Thanks for all the feedback.
I'll try to take it into account in the future.

Thanks,

Peter

#6 lore raw
In reply to Peter Foley
Quoted 3 lines · On Fri, 29 Apr 2011 19:09:02 -0400 Peter Foley wrote:

See https://lkml.org/lkml/2011/4/29/89 for the attachment request.
My current email client (thunderbird) seems to mangle any patches that I send. If anybody can suggest an email client that doesn't mangle patches I'll be happy to try it.

Have you tried any hints in Documentation/email-clients.txt for thunderbird?

I can send patches successfully with thunderbird 3.0 (on Linux).

or it could just be verizon helping out too much. :(

---
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***

#8 lore raw
In reply to Peter Foley

Hi,

Quoted 5 lines · Peter Foley

[...]
See https://lkml.org/lkml/2011/4/29/89 for the attachment request.
My current email client (thunderbird) seems to mangle any patches that I send. If anybody can suggest an email client that doesn't mangle patches I'll be happy to try it.

You can use git-send-email(1) directly.

- Arnaud

Quoted 8 lines

Thanks,

Peter
--
To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

#7 lore raw
In reply to Randy Dunlap
Quoted 9 lines · Randy Dunlap
Quoted 3 lines · On Fri, 29 Apr 2011 19:09:02 -0400 Peter Foley wrote:

See https://lkml.org/lkml/2011/4/29/89 for the attachment request.
My current email client (thunderbird) seems to mangle any patches that I send. If anybody can suggest an email client that doesn't mangle patches I'll be happy to try it.

Have you tried any hints in Documentation/email-clients.txt for thunderbird?

Quoted 7 lines

I can send patches successfully with thunderbird 3.0 (on Linux).

or it could just be verizon helping out too much. :(

---
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***

I tried the hints but still seem to be having issues.
So, I think I'll try using git send-email as suggested by Arnaud Lacombe. Thanks for the help.

Peter

#12 lore raw
In reply to Peter Foley
Quoted 5 lines · Peter Foley

This patchset moves scripts/basic/docproc to scripts/docproc. This causes docproc to only be built for *doc targets rather than every time the kernel is compiled.

Patches also attached as requested by Michal Marek.

Applied as a single patch to kbuild-2.6.git#kbuild. For reference, here is the final patch (I used the changelog from your previous submission):

From: Peter Foley <[email protected]>
Subject: [PATCH] kbuild: move scripts/basic/docproc.c to scripts/docproc.c

Move docproc from scripts/basic to scripts so it is only built for *doc targets instead of every time the kernel is built.

Documentation/DocBook/Makefile +1 -1
index 8436b01..3cebfa0 100644
@@ -73,7 +73,7 @@ installmandocs: mandocs
 ###
 #External programs used
 KERNELDOC = $(srctree)/scripts/kernel-doc
-DOCPROC   = $(objtree)/scripts/basic/docproc
+DOCPROC   = $(objtree)/scripts/docproc
 
 XMLTOFLAGS = -m $(srctree)/Documentation/DocBook/stylesheet.xsl
 XMLTOFLAGS += --skip-validation
Makefile +1 -0
index d342502..bc9eae4 100644
@@ -1313,6 +1313,7 @@ $(help-board-dirs): help-%:
 # Documentation targets
 # ---------------------------------------------------------------------------
 %docs: scripts_basic FORCE
+	$(Q)$(MAKE) $(build)=scripts build_docproc
 	$(Q)$(MAKE) $(build)=Documentation/DocBook $@
 
 else # KBUILD_EXTMOD
scripts/.gitignore +1 -0
index e2741d2..105b21f 100644
@@ -8,3 +8,4 @@ bin2c
 unifdef
 ihex2fw
 recordmcount
+docproc
scripts/Makefile +5 -2
index fcea261..df7678f 100644
@@ -6,6 +6,7 @@
 # pnmttologo:    Convert pnm files to logo files
 # conmakehash:   Create chartable
 # conmakehash:	 Create arrays for initializing the kernel console tables
+# docproc:       Used in Documentation/DocBook
 
 hostprogs-$(CONFIG_KALLSYMS)     += kallsyms
 hostprogs-$(CONFIG_LOGO)         += pnmtologo
@@ -16,12 +17,14 @@ hostprogs-$(BUILD_C_RECORDMCOUNT) += recordmcount
 always		:= $(hostprogs-y) $(hostprogs-m)
 
 # The following hostprogs-y programs are only build on demand
-hostprogs-y += unifdef
+hostprogs-y += unifdef docproc
 
-# This target is used internally to avoid "is up to date" messages
+# These targets are used internally to avoid "is up to date" messages
 PHONY += build_unifdef
 build_unifdef: scripts/unifdef FORCE
 	@:
+build_docproc: scripts/docproc FORCE
+	@:
 
 subdir-$(CONFIG_MODVERSIONS) += genksyms
 subdir-y                     += mod
scripts/basic/.gitignore +0 -2
index bf8b199..a776371 100644
@@ -1,3 +1 @@
-hash
 fixdep
-docproc
scripts/basic/Makefile +1 -2
index 4c324a1..4fcef87 100644
@@ -7,9 +7,8 @@
 # .config is included by main Makefile.
 # ---------------------------------------------------------------------------
 # fixdep: 	 Used to generate dependency information during build process
-# docproc:	 Used in Documentation/DocBook
 
-hostprogs-y	:= fixdep docproc
+hostprogs-y	:= fixdep
 always		:= $(hostprogs-y)
 
 # fixdep is needed to compile other host programs
scripts/basic/docproc.c deleted +0 -583

583 lines not on this page · raw message

scripts/docproc.c new file +583 -0

583 lines not on this page · raw message