[meta-oe] rtc-tool: Add a recipe

Message ID 20220123150358.1306062-1-festevam@gmail.com
State New
Headers show
Series [meta-oe] rtc-tool: Add a recipe | expand

Commit Message

Fabio Estevam Jan. 23, 2022, 3:03 p.m. UTC
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       | 52 +++++++++++++++++++
 .../rtc-tools/rtc-tools_1.0.0.bb              | 19 +++++++
 2 files changed, 71 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

Comments

Christian Eggers Jan. 24, 2022, 9:57 a.m. UTC | #1
Hi Fabio,

from my experience, custom build systems (including "bare" Makefiles)
are often hard to integrate/maintain for distributors.

What about using CMake instead?

regards
Christian

On Sunday, 23 January 2022, 16:03:58 CET, Fabio Estevam wrote:
> 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       | 52 +++++++++++++++++++
>  .../rtc-tools/rtc-tools_1.0.0.bb              | 19 +++++++
>  2 files changed, 71 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..a372e390efb9
> --- /dev/null
> +++ b/meta-oe/recipes-support/rtc-tools/rtc-tools/0001-rtc-tools-Add-a-Makefile.patch
> @@ -0,0 +1,52 @@
> +From faa6dd2e4d063afcaa19f16740a3fc413a399e60 Mon Sep 17 00:00:00 2001
> +
Fabio Estevam Jan. 24, 2022, 7:18 p.m. UTC | #2
Hi Christian,

On Mon, Jan 24, 2022 at 6:57 AM Christian Eggers <ceggers@arri.de> wrote:
>
> Hi Fabio,
>
> from my experience, custom build systems (including "bare" Makefiles)
> are often hard to integrate/maintain for distributors.

rtc-tools is a straightforward package and I have sent the Makefile
patch upstream.

Not sure why it can be hard to integrate or maintain it.

> What about using CMake instead?

I can do that if needed, but it is up to the rtc-tools maintainer, Alexandre.

Alexandre, any advice?

Thanks
Christian Eggers Jan. 24, 2022, 7:47 p.m. UTC | #3
Hi Fabio, hi Alexandre,

On Monday, 24 January 2022, 20:18:34 CET, Fabio Estevam wrote:
> Hi Christian,
>
Alexandre Belloni Jan. 26, 2022, 1:54 p.m. UTC | #4
Hello Fabio,

On 24/01/2022 16:18:34-0300, Fabio Estevam wrote:
> Hi Christian,
> 
> On Mon, Jan 24, 2022 at 6:57 AM Christian Eggers <ceggers@arri.de> wrote:
> >
> > Hi Fabio,
> >
> > from my experience, custom build systems (including "bare" Makefiles)
> > are often hard to integrate/maintain for distributors.
> 
> rtc-tools is a straightforward package and I have sent the Makefile
> patch upstream.
> 
> Not sure why it can be hard to integrate or maintain it.
> 
> > What about using CMake instead?
> 
> I can do that if needed, but it is up to the rtc-tools maintainer, Alexandre.
> 
> Alexandre, any advice?
> 

My plan is to probably go for the Makefile. I don't think it will cause
any issue and this doesn't care about portability to other systems as
the tool is Linux only.

I'm just checking with buildroot whether they prefer having all the
binaries installed with a single target or if rtc-range has to be
separated out.

rtc-range is supposed to be a debugging tool. I'd also separate it in a
different package.

Note that there is a daemon that should be coming up (well when I will
have time) with the goal of monitoring both battery status and clock
drift.
Khem Raj Jan. 26, 2022, 6:15 p.m. UTC | #5
please send it to oe-devel ml if you intend to propose it for meta-oe

On Wed, Jan 26, 2022 at 5:54 AM Alexandre Belloni
<alexandre.belloni@bootlin.com> wrote:
>
> Hello Fabio,
>
> On 24/01/2022 16:18:34-0300, Fabio Estevam wrote:
> > Hi Christian,
> >
> > On Mon, Jan 24, 2022 at 6:57 AM Christian Eggers <ceggers@arri.de> wrote:
> > >
> > > Hi Fabio,
> > >
> > > from my experience, custom build systems (including "bare" Makefiles)
> > > are often hard to integrate/maintain for distributors.
> >
> > rtc-tools is a straightforward package and I have sent the Makefile
> > patch upstream.
> >
> > Not sure why it can be hard to integrate or maintain it.
> >
> > > What about using CMake instead?
> >
> > I can do that if needed, but it is up to the rtc-tools maintainer, Alexandre.
> >
> > Alexandre, any advice?
> >
>
> My plan is to probably go for the Makefile. I don't think it will cause
> any issue and this doesn't care about portability to other systems as
> the tool is Linux only.

thats fine, well written makefiles can do cross compilation just fine.
>
> I'm just checking with buildroot whether they prefer having all the
> binaries installed with a single target or if rtc-range has to be
> separated out.
>
> rtc-range is supposed to be a debugging tool. I'd also separate it in a
> different package.
>
> Note that there is a daemon that should be coming up (well when I will
> have time) with the goal of monitoring both battery status and clock
> drift.
>
> --
> Alexandre Belloni, co-owner and COO, Bootlin
> Embedded Linux and Kernel engineering
> https://bootlin.com
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#160987): https://lists.openembedded.org/g/openembedded-core/message/160987
> Mute This Topic: https://lists.openembedded.org/mt/88625470/1997914
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [raj.khem@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>

Patch

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..a372e390efb9
--- /dev/null
+++ b/meta-oe/recipes-support/rtc-tools/rtc-tools/0001-rtc-tools-Add-a-Makefile.patch
@@ -0,0 +1,52 @@ 
+From faa6dd2e4d063afcaa19f16740a3fc413a399e60 Mon Sep 17 00:00:00 2001
+From: Fabio Estevam <festevam@denx.de>
+Date: Sun, 23 Jan 2022 09:22:19 -0300
+Subject: [PATCH rtc-tools] 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=164294073129803&w=2]
+Signed-off-by: Fabio Estevam <festevam@denx.de>
+---
+ Makefile | 29 +++++++++++++++++++++++++++++
+ 1 file changed, 29 insertions(+)
+ create mode 100644 Makefile
+
+diff --git a/Makefile b/Makefile
+new file mode 100644
+index 000000000000..4f244d9289f1
+--- /dev/null
++++ b/Makefile
+@@ -0,0 +1,29 @@
++prefix ?= /usr
++bindir ?= $(prefix)/bin
++
++EXEC = rtc-range rtc rtc-sync
++
++all: $(EXEC)
++
++rtc-range: rtc-range.c
++	$(CC) $(CFLAGS) -o $@ rtc-range.c
++
++rtc: rtc.c
++	$(CC) $(CFLAGS) -o $@ rtc.c
++
++rtc-sync: rtc-sync.c
++	$(CC) $(CFLAGS) -o $@ rtc-sync.c
++
++clean:
++	rm -f $(EXEC)
++
++install: rtc-range rtc rtc-sync
++	mkdir -p '$(DESTDIR)$(bindir)'
++	install -m755 rtc-range '$(DESTDIR)$(bindir)/rtc-range'
++	install -m755 rtc '$(DESTDIR)$(bindir)/rtc'
++	install -m755 rtc-sync '$(DESTDIR)$(bindir)/rtc-sync'
++
++uninstall:
++	rm -rf '$(DESTDIR)$(bindir)/rtc-range'
++	rm -rf '$(DESTDIR)$(bindir)/rtc'
++	rm -rf '$(DESTDIR)$(bindir)/rtc-sync'
+--
+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..8f0326829d8c
--- /dev/null
+++ b/meta-oe/recipes-support/rtc-tools/rtc-tools_1.0.0.bb
@@ -0,0 +1,19 @@ 
+DESCRIPTION = "Useful programs to test rtc drivers"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=74274e8a218423e49eefdea80bc55038"
+
+SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/rtc-tools.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} \
+	all \
+	"
+do_install() {
+	oe_runmake install
+}