* [dpdk-dev] [PATCH] doc/examples: fix build on FreeBSD
@ 2021-09-15 17:36 Bruce Richardson
2021-10-01 15:03 ` [dpdk-dev] [dpdk-stable] " Thomas Monjalon
0 siblings, 1 reply; 7+ messages in thread
From: Bruce Richardson @ 2021-09-15 17:36 UTC (permalink / raw)
To: dev; +Cc: Bruce Richardson, bluca, stable
On FreeBSD, "find" does not support the "printf" flag, so we need to
use "gfind" from the "findutils" package.
Fixes: 8260f4f98cfe ("mk: use script to generate examples.dox")
Cc: bluca@debian.org
Cc: stable@dpdk.org
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
---
doc/api/generate_examples.sh | 14 ++++++++++++--
1 file changed, 12 insertions(+), 2 deletions(-)
diff --git a/doc/api/generate_examples.sh b/doc/api/generate_examples.sh
index dae7ee0be0..3e08236596 100755
--- a/doc/api/generate_examples.sh
+++ b/doc/api/generate_examples.sh
@@ -5,12 +5,22 @@
EXAMPLES_DIR=$1
API_EXAMPLES=$2
+FIND=find
+if [ "$(uname)" = "FreeBSD" ] ; then
+# on FreeBSD, we need GNU find for "-printf" flag
+ FIND=gfind
+ if ! which -s $FIND ; then
+ echo "Error: need '$FIND' on FreeBSD. Install 'findutils' pkg"
+ exit 1
+ fi
+fi
+
# generate a .d file including both C files and also build files, so we can
# detect both file changes and file additions/deletions
-echo "$API_EXAMPLES: $(find ${EXAMPLES_DIR} -type f \( -name '*.c' -o -name 'meson.build' \) -printf '%p ' )" > ${API_EXAMPLES}.d
+echo "$API_EXAMPLES: $($FIND ${EXAMPLES_DIR} -type f \( -name '*.c' -o -name 'meson.build' \) -printf '%p ' )" > ${API_EXAMPLES}.d
exec > "${API_EXAMPLES}"
printf '/**\n'
printf '@page examples DPDK Example Programs\n\n'
-find "${EXAMPLES_DIR}" -type f -name '*.c' -printf '@example examples/%P\n' | LC_ALL=C sort
+$FIND "${EXAMPLES_DIR}" -type f -name '*.c' -printf '@example examples/%P\n' | LC_ALL=C sort
printf '*/\n'
--
2.30.2
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [dpdk-dev] [dpdk-stable] [PATCH] doc/examples: fix build on FreeBSD
2021-09-15 17:36 [dpdk-dev] [PATCH] doc/examples: fix build on FreeBSD Bruce Richardson
@ 2021-10-01 15:03 ` Thomas Monjalon
2021-10-01 15:15 ` Bruce Richardson
0 siblings, 1 reply; 7+ messages in thread
From: Thomas Monjalon @ 2021-10-01 15:03 UTC (permalink / raw)
To: Bruce Richardson; +Cc: dev, stable, bluca
15/09/2021 19:36, Bruce Richardson:
> On FreeBSD, "find" does not support the "printf" flag, so we need to
> use "gfind" from the "findutils" package.
It is one more dependency.
Shouldn't we avoid it by rewritting the shell commands with loops?
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [dpdk-dev] [dpdk-stable] [PATCH] doc/examples: fix build on FreeBSD
2021-10-01 15:03 ` [dpdk-dev] [dpdk-stable] " Thomas Monjalon
@ 2021-10-01 15:15 ` Bruce Richardson
2021-10-01 15:36 ` Thomas Monjalon
0 siblings, 1 reply; 7+ messages in thread
From: Bruce Richardson @ 2021-10-01 15:15 UTC (permalink / raw)
To: Thomas Monjalon; +Cc: dev, stable, bluca
On Fri, Oct 01, 2021 at 05:03:11PM +0200, Thomas Monjalon wrote:
> 15/09/2021 19:36, Bruce Richardson:
> > On FreeBSD, "find" does not support the "printf" flag, so we need to
> > use "gfind" from the "findutils" package.
>
> It is one more dependency.
> Shouldn't we avoid it by rewritting the shell commands with loops?
>
Probably in the longer term, yes. If I get the chance, I'll try and rewrite
this script, but let's keep this patch in the queue in case I don't get to
in the 21.11 timeframe.
/Bruce
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [dpdk-dev] [dpdk-stable] [PATCH] doc/examples: fix build on FreeBSD
2021-10-01 15:15 ` Bruce Richardson
@ 2021-10-01 15:36 ` Thomas Monjalon
2021-10-01 15:41 ` Bruce Richardson
0 siblings, 1 reply; 7+ messages in thread
From: Thomas Monjalon @ 2021-10-01 15:36 UTC (permalink / raw)
To: Bruce Richardson; +Cc: dev, stable, bluca
01/10/2021 17:15, Bruce Richardson:
> On Fri, Oct 01, 2021 at 05:03:11PM +0200, Thomas Monjalon wrote:
> > 15/09/2021 19:36, Bruce Richardson:
> > > On FreeBSD, "find" does not support the "printf" flag, so we need to
> > > use "gfind" from the "findutils" package.
> >
> > It is one more dependency.
> > Shouldn't we avoid it by rewritting the shell commands with loops?
> >
> Probably in the longer term, yes. If I get the chance, I'll try and rewrite
> this script, but let's keep this patch in the queue in case I don't get to
> in the 21.11 timeframe.
OK
I can help with the shell tricks if needed.
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [dpdk-dev] [dpdk-stable] [PATCH] doc/examples: fix build on FreeBSD
2021-10-01 15:36 ` Thomas Monjalon
@ 2021-10-01 15:41 ` Bruce Richardson
2021-11-17 10:20 ` Thomas Monjalon
0 siblings, 1 reply; 7+ messages in thread
From: Bruce Richardson @ 2021-10-01 15:41 UTC (permalink / raw)
To: Thomas Monjalon; +Cc: dev, stable, bluca
On Fri, Oct 01, 2021 at 05:36:51PM +0200, Thomas Monjalon wrote:
> 01/10/2021 17:15, Bruce Richardson:
> > On Fri, Oct 01, 2021 at 05:03:11PM +0200, Thomas Monjalon wrote:
> > > 15/09/2021 19:36, Bruce Richardson:
> > > > On FreeBSD, "find" does not support the "printf" flag, so we need to
> > > > use "gfind" from the "findutils" package.
> > >
> > > It is one more dependency.
> > > Shouldn't we avoid it by rewritting the shell commands with loops?
> > >
> > Probably in the longer term, yes. If I get the chance, I'll try and rewrite
> > this script, but let's keep this patch in the queue in case I don't get to
> > in the 21.11 timeframe.
>
> OK
> I can help with the shell tricks if needed.
>
Well, I was actually considering a rewrite in python for two reasons:
* easy FS scans using the "walk()" function
* portability across OS's [which is the main reason for the work after all]
/Bruce
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [dpdk-dev] [dpdk-stable] [PATCH] doc/examples: fix build on FreeBSD
2021-10-01 15:41 ` Bruce Richardson
@ 2021-11-17 10:20 ` Thomas Monjalon
2021-12-22 15:23 ` Bruce Richardson
0 siblings, 1 reply; 7+ messages in thread
From: Thomas Monjalon @ 2021-11-17 10:20 UTC (permalink / raw)
To: Bruce Richardson; +Cc: dev, stable, bluca
01/10/2021 17:41, Bruce Richardson:
> On Fri, Oct 01, 2021 at 05:36:51PM +0200, Thomas Monjalon wrote:
> > 01/10/2021 17:15, Bruce Richardson:
> > > On Fri, Oct 01, 2021 at 05:03:11PM +0200, Thomas Monjalon wrote:
> > > > 15/09/2021 19:36, Bruce Richardson:
> > > > > On FreeBSD, "find" does not support the "printf" flag, so we need to
> > > > > use "gfind" from the "findutils" package.
> > > >
> > > > It is one more dependency.
> > > > Shouldn't we avoid it by rewritting the shell commands with loops?
> > > >
> > > Probably in the longer term, yes. If I get the chance, I'll try and rewrite
> > > this script, but let's keep this patch in the queue in case I don't get to
> > > in the 21.11 timeframe.
> >
> > OK
> > I can help with the shell tricks if needed.
> >
> Well, I was actually considering a rewrite in python for two reasons:
> * easy FS scans using the "walk()" function
> * portability across OS's [which is the main reason for the work after all]
Applied this patch for 21.11.
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [dpdk-dev] [dpdk-stable] [PATCH] doc/examples: fix build on FreeBSD
2021-11-17 10:20 ` Thomas Monjalon
@ 2021-12-22 15:23 ` Bruce Richardson
0 siblings, 0 replies; 7+ messages in thread
From: Bruce Richardson @ 2021-12-22 15:23 UTC (permalink / raw)
To: Thomas Monjalon; +Cc: dev, stable, bluca
On Wed, Nov 17, 2021 at 11:20:17AM +0100, Thomas Monjalon wrote:
> 01/10/2021 17:41, Bruce Richardson:
> > On Fri, Oct 01, 2021 at 05:36:51PM +0200, Thomas Monjalon wrote:
> > > 01/10/2021 17:15, Bruce Richardson:
> > > > On Fri, Oct 01, 2021 at 05:03:11PM +0200, Thomas Monjalon wrote:
> > > > > 15/09/2021 19:36, Bruce Richardson:
> > > > > > On FreeBSD, "find" does not support the "printf" flag, so we
> > > > > > need to use "gfind" from the "findutils" package.
> > > > >
> > > > > It is one more dependency. Shouldn't we avoid it by rewritting
> > > > > the shell commands with loops?
> > > > >
> > > > Probably in the longer term, yes. If I get the chance, I'll try and
> > > > rewrite this script, but let's keep this patch in the queue in case
> > > > I don't get to in the 21.11 timeframe.
> > >
> > > OK I can help with the shell tricks if needed.
> > >
> > Well, I was actually considering a rewrite in python for two reasons: *
> > easy FS scans using the "walk()" function * portability across OS's
> > [which is the main reason for the work after all]
>
> Applied this patch for 21.11.
>
Following up on this thread, implemented an alternative fix for this issue
which does not use the extra findutils dependency[1]. I didn't rewrite the
script in python as was my original intent, but used basic shell commands
to work around the lack of printf support in find, leading to a simpler
fix.
/Bruce
[1] http://patches.dpdk.org/project/dpdk/patch/20211222151855.803916-1-bruce.richardson@intel.com/
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2021-12-22 15:23 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-09-15 17:36 [dpdk-dev] [PATCH] doc/examples: fix build on FreeBSD Bruce Richardson
2021-10-01 15:03 ` [dpdk-dev] [dpdk-stable] " Thomas Monjalon
2021-10-01 15:15 ` Bruce Richardson
2021-10-01 15:36 ` Thomas Monjalon
2021-10-01 15:41 ` Bruce Richardson
2021-11-17 10:20 ` Thomas Monjalon
2021-12-22 15:23 ` Bruce Richardson
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).