Message ID | 20220127230607.35740-1-festevam@gmail.com |
---|---|
State | New |
Headers | show |
Series | [v3,meta-oe] rtc-tools: Add a recipe | expand |
> -----Original Message----- > From: openembedded-devel@lists.openembedded.org <openembedded-devel@lists.openembedded.org> On Behalf Of Fabio Estevam > Sent: den 28 januari 2022 00:06 > To: openembedded-devel@lists.openembedded.org > Cc: otavio.salvador@ossystems.com.br; hs@denx.de; alexandre.belloni@bootlin.com; raj.khem@gmail.com; Peter Kjellerstedt <peter.kjellerstedt@axis.com>; Fabio Estevam <festevam@denx.de> > Subject: [oe] [PATCH v3 meta-oe] rtc-tools: Add a recipe > > From: Fabio Estevam <festevam@denx.de> > > rtc-tools is a useful utility developed by Alexandre Belloni > for testing RTC kernel drivers, such as y2038 support. > > Based on the initial recipe from Heiko Schocher <hs@denx.de>. > > Signed-off-by: Fabio Estevam <festevam@denx.de> > --- > .../0001-rtc-tools-Add-a-Makefile.patch | 44 +++++++++++++++++++ > .../rtc-tools/rtc-tools_1.0.0.bb | 18 ++++++++ > 2 files changed, 62 insertions(+) > create mode 100644 meta-oe/recipes-support/rtc-tools/rtc-tools/0001-rtc-tools-Add-a-Makefile.patch > create mode 100644 meta-oe/recipes-support/rtc-tools/rtc-tools_1.0.0.bb > > diff --git a/meta-oe/recipes-support/rtc-tools/rtc-tools/0001-rtc-tools-Add-a-Makefile.patch b/meta-oe/recipes-support/rtc-tools/rtc-tools/0001-rtc-tools-Add-a-Makefile.patch > new file mode 100644 > index 000000000000..c1d1fa97eaa3 > --- /dev/null > +++ b/meta-oe/recipes-support/rtc-tools/rtc-tools/0001-rtc-tools-Add-a- > Makefile.patch > @@ -0,0 +1,44 @@ > +From b19924f797d69475b1857272231500c97ba9959c Mon Sep 17 00:00:00 2001 > +From: Fabio Estevam <festevam@denx.de> > +Date: Thu, 27 Jan 2022 18:40:29 -0300 > +Subject: [PATCH rtc-tools v2] rtc-tools: Add a Makefile > + > +Add a Makefile to make installation and uninstallation > +process easier. > + > +Upstream-Status: Submitted [https://marc.info/?l=linux-rtc&m=164332426030004&w=2] > +Signed-off-by: Fabio Estevam <festevam@denx.de> > +--- > +Changes since v1: > +- Simplify the Makefile by taking Peter Kjellerstedt's feedback in > +the oe-devel list. This doesn't belong in the Makefile.patch file, it belongs after the commit message as it relates to the review process and has no bearing once this is integrated. > + > + Makefile | 16 ++++++++++++++++ > + 1 file changed, 16 insertions(+) > + create mode 100644 Makefile > + > +diff --git a/Makefile b/Makefile > +new file mode 100644 > +index 0000000..71a4c9c > +--- /dev/null > ++++ b/Makefile > +@@ -0,0 +1,16 @@ > ++prefix ?= /usr > ++bindir ?= $(prefix)/bin > ++ > ++EXEC = rtc-range rtc rtc-sync > ++ > ++all: $(EXEC) > ++ > ++clean: > ++ $(RM) $(EXEC) > ++ > ++install: > ++ install -d $(DESTDIR)$(bindir) > ++ install $(EXEC) $(DESTDIR)$(bindir) > ++ > ++uninstall: > ++ $(RM) -r $(addprefix $(DESTDIR)$(bindir)/,$(EXEC)) > +-- > +2.25.1 > + > diff --git a/meta-oe/recipes-support/rtc-tools/rtc-tools_1.0.0.bb b/meta-oe/recipes-support/rtc-tools/rtc-tools_1.0.0.bb > new file mode 100644 > index 000000000000..64ea3173d8a4 > --- /dev/null > +++ b/meta-oe/recipes-support/rtc-tools/rtc-tools_1.0.0.bb > @@ -0,0 +1,18 @@ > +SUMMARY = "Useful programs to test rtc drivers" > +LICENSE = "GPL-2.0-only" > +LIC_FILES_CHKSUM = "file://COPYING;md5=74274e8a218423e49eefdea80bc55038" > + > +SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/${BPN}.git;protocol=https;branch=master \ > + file://0001-rtc-tools-Add-a-Makefile.patch \ > + " > +SRCREV = "acc442e7af4e1e783432a43d37f1a7938c692659" > + > +S = "${WORKDIR}/git" > + > +TARGET_CC_ARCH += "${LDFLAGS}" You forgot to remove the TAGET_CC_ARCH line. > + > +EXTRA_OEMAKE = "DESTDIR=${D}" > + > +do_install() { > + oe_runmake install > +} > -- > 2.25.1 //Peter
Hi Peter, On Fri, Jan 28, 2022 at 1:48 AM Peter Kjellerstedt <peter.kjellerstedt@axis.com> wrote: > > +TARGET_CC_ARCH += "${LDFLAGS}" > > You forgot to remove the TAGET_CC_ARCH line. If I remove this line, the following error happens: ERROR: rtc-tools-1.0.0-r0 do_package_qa: QA Issue: File /usr/bin/rtc-sync in package rtc-tools doesn't have GNU_HASH (didn't pass LDFLAGS?) File /usr/bin/rtc in package rtc-tools doesn't have GNU_HASH (didn't pass LDFLAGS?) File /usr/bin/rtc-range in package rtc-tools doesn't have GNU_HASH (didn't pass LDFLAGS?) [ldflags] ERROR: rtc-tools-1.0.0-r0 do_package_qa: QA run found fatal errors. Please consider fixing them. Any suggestions as to how this should be fixed? Thanks
On Fri, Jan 28, 2022 at 2:28 AM Fabio Estevam <festevam@gmail.com> wrote: > Hi Peter, > > On Fri, Jan 28, 2022 at 1:48 AM Peter Kjellerstedt > <peter.kjellerstedt@axis.com> wrote: > > > > +TARGET_CC_ARCH += "${LDFLAGS}" > > > > You forgot to remove the TAGET_CC_ARCH line. > > If I remove this line, the following error happens: > > ERROR: rtc-tools-1.0.0-r0 do_package_qa: QA Issue: File > /usr/bin/rtc-sync in package rtc-tools doesn't have GNU_HASH (didn't > pass LDFLAGS?) > File /usr/bin/rtc in package rtc-tools doesn't have GNU_HASH (didn't > pass LDFLAGS?) > File /usr/bin/rtc-range in package rtc-tools doesn't have GNU_HASH > (didn't pass LDFLAGS?) [ldflags] > ERROR: rtc-tools-1.0.0-r0 do_package_qa: QA run found fatal errors. > Please consider fixing them. > > Any suggestions as to how this should be fixed? I already suggested in earlier email to add LDFLAGS in makefile rules > > > Thanks >
The default rules provided by make do include $(LDFLAGS). This is the default rule provided by make to link a binary from a .c file: %: %.c # recipe to execute (built-in): $(LINK.c) $^ $(LOADLIBES) $(LDLIBS) -o $@ where LINK.c is defined as: LINK.c = $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) $(TARGET_ARCH) (you can see the default rules by running make -p anywhere where there isn’t a Makefile). I have now also applied the patch for the rtc-tools recipe. I then removed the TARGET_CC_ARCH line from it and built it without problems. @Fabio: Are you sure you built with the correct version of the recipe and Makefile when you got the error about GNU_HASH? Because it should work (and I’ve verified that the files I built have the GNU_HASH and I never built with the TARGET_CC_ARCH line in the recipe). //Peter From: Khem Raj <raj.khem@gmail.com> Sent: den 28 januari 2022 16:33 To: Fabio Estevam <festevam@gmail.com> Cc: Fabio Estevam <festevam@denx.de>; Peter Kjellerstedt <peter.kjellerstedt@axis.com>; alexandre.belloni@bootlin.com; hs@denx.de; openembedded-devel@lists.openembedded.org; otavio.salvador@ossystems.com.br Subject: Re: [oe] [PATCH v3 meta-oe] rtc-tools: Add a recipe On Fri, Jan 28, 2022 at 2:28 AM Fabio Estevam <festevam@gmail.com<mailto:festevam@gmail.com>> wrote: Hi Peter, On Fri, Jan 28, 2022 at 1:48 AM Peter Kjellerstedt <peter.kjellerstedt@axis.com<mailto:peter.kjellerstedt@axis.com>> wrote: > > +TARGET_CC_ARCH += "${LDFLAGS}" > > You forgot to remove the TAGET_CC_ARCH line. If I remove this line, the following error happens: ERROR: rtc-tools-1.0.0-r0 do_package_qa: QA Issue: File /usr/bin/rtc-sync in package rtc-tools doesn't have GNU_HASH (didn't pass LDFLAGS?) File /usr/bin/rtc in package rtc-tools doesn't have GNU_HASH (didn't pass LDFLAGS?) File /usr/bin/rtc-range in package rtc-tools doesn't have GNU_HASH (didn't pass LDFLAGS?) [ldflags] ERROR: rtc-tools-1.0.0-r0 do_package_qa: QA run found fatal errors. Please consider fixing them. Any suggestions as to how this should be fixed? I already suggested in earlier email to add LDFLAGS in makefile rules Thanks
Hi Peter,
On Fri, Jan 28, 2022 at 3:36 PM Peter Kjellerstedt
<peter.kjellerstedt@axis.com> wrote:
> @Fabio: Are you sure you built with the correct version of the recipe and Makefile when you got the error about GNU_HASH? Because it should work (and I’ve verified that the files I built have the GNU_HASH and I never built with the TARGET_CC_ARCH line in the recipe).
You are right. I rebuilt without the TARGET_CC_ARCH line in the recipe
and it builds fine.
I have sent v4 without this line.
Thanks for your help, really appreciate it.
diff --git a/meta-oe/recipes-support/rtc-tools/rtc-tools/0001-rtc-tools-Add-a-Makefile.patch b/meta-oe/recipes-support/rtc-tools/rtc-tools/0001-rtc-tools-Add-a-Makefile.patch new file mode 100644 index 000000000000..c1d1fa97eaa3 --- /dev/null +++ b/meta-oe/recipes-support/rtc-tools/rtc-tools/0001-rtc-tools-Add-a-Makefile.patch @@ -0,0 +1,44 @@ +From b19924f797d69475b1857272231500c97ba9959c Mon Sep 17 00:00:00 2001 +From: Fabio Estevam <festevam@denx.de> +Date: Thu, 27 Jan 2022 18:40:29 -0300 +Subject: [PATCH rtc-tools v2] rtc-tools: Add a Makefile + +Add a Makefile to make installation and uninstallation +process easier. + +Upstream-Status: Submitted [https://marc.info/?l=linux-rtc&m=164332426030004&w=2] +Signed-off-by: Fabio Estevam <festevam@denx.de> +--- +Changes since v1: +- Simplify the Makefile by taking Peter Kjellerstedt's feedback in +the oe-devel list. + + Makefile | 16 ++++++++++++++++ + 1 file changed, 16 insertions(+) + create mode 100644 Makefile + +diff --git a/Makefile b/Makefile +new file mode 100644 +index 0000000..71a4c9c +--- /dev/null ++++ b/Makefile +@@ -0,0 +1,16 @@ ++prefix ?= /usr ++bindir ?= $(prefix)/bin ++ ++EXEC = rtc-range rtc rtc-sync ++ ++all: $(EXEC) ++ ++clean: ++ $(RM) $(EXEC) ++ ++install: ++ install -d $(DESTDIR)$(bindir) ++ install $(EXEC) $(DESTDIR)$(bindir) ++ ++uninstall: ++ $(RM) -r $(addprefix $(DESTDIR)$(bindir)/,$(EXEC)) +-- +2.25.1 + diff --git a/meta-oe/recipes-support/rtc-tools/rtc-tools_1.0.0.bb b/meta-oe/recipes-support/rtc-tools/rtc-tools_1.0.0.bb new file mode 100644 index 000000000000..64ea3173d8a4 --- /dev/null +++ b/meta-oe/recipes-support/rtc-tools/rtc-tools_1.0.0.bb @@ -0,0 +1,18 @@ +SUMMARY = "Useful programs to test rtc drivers" +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=74274e8a218423e49eefdea80bc55038" + +SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/${BPN}.git;protocol=https;branch=master \ + file://0001-rtc-tools-Add-a-Makefile.patch \ + " +SRCREV = "acc442e7af4e1e783432a43d37f1a7938c692659" + +S = "${WORKDIR}/git" + +TARGET_CC_ARCH += "${LDFLAGS}" + +EXTRA_OEMAKE = "DESTDIR=${D}" + +do_install() { + oe_runmake install +}