diff mbox series

[v3,1/1] package/nvidia-persistenced: new package

Message ID 20220904125854.20486-1-raphael.pavlidis@gmail.com
State Accepted
Headers show
Series [v3,1/1] package/nvidia-persistenced: new package | expand

Commit Message

Raphael Pavlidis Sept. 4, 2022, 12:58 p.m. UTC
NVIDIA driver persistence daemon.

Signed-off-by: Raphael Pavlidis <raphael.pavlidis@gmail.com>
---
Changes v2 -> v3:
  - DEVELOPERS: add Raphael Pavlids for nvidia-persistenced

Changes v1 -> v2:
  - fix typo in Config.in

 DEVELOPERS                                    |  3 ++
 package/Config.in                             |  1 +
 package/nvidia-persistenced/Config.in         | 13 +++++
 .../nvidia-persistenced.conf                  |  1 +
 .../nvidia-persistenced.hash                  |  3 ++
 .../nvidia-persistenced.mk                    | 49 +++++++++++++++++++
 6 files changed, 70 insertions(+)
 create mode 100644 package/nvidia-persistenced/Config.in
 create mode 100644 package/nvidia-persistenced/nvidia-persistenced.conf
 create mode 100644 package/nvidia-persistenced/nvidia-persistenced.hash
 create mode 100644 package/nvidia-persistenced/nvidia-persistenced.mk

Comments

Arnout Vandecappelle Sept. 30, 2023, 9:21 p.m. UTC | #1
On 04/09/2022 14:58, Raphael Pavlidis wrote:
> NVIDIA driver persistence daemon.
> 
> Signed-off-by: Raphael Pavlidis <raphael.pavlidis@gmail.com>

  Applied to master, thanks, with a number of changes:

      - disable on BR2_STATIC_LIBS;
      - only depend on tirpc if toolchain doesn't have RPC;
      - use unstripped binary - the strip support in the makefile is utterly
        broken (and we anyway strip in target-finalize);
      - define NVIDIA_PERSISTENCED_USERS directly rather than with another
        variable;
      - install all the systemd stuff in
        NVIDIA_PERSISTENCED_INSTALL_INIT_SYSTEMD.

  See the actual commit [1] for details.

  Regards,
  Arnout

[1] 
https://gitlab.com/buildroot.org/buildroot/-/commit/d41386a8ac176f3df73418359d097ee16f02df95



> ---
> Changes v2 -> v3:
>    - DEVELOPERS: add Raphael Pavlids for nvidia-persistenced
> 
> Changes v1 -> v2:
>    - fix typo in Config.in
> 
>   DEVELOPERS                                    |  3 ++
>   package/Config.in                             |  1 +
>   package/nvidia-persistenced/Config.in         | 13 +++++
>   .../nvidia-persistenced.conf                  |  1 +
>   .../nvidia-persistenced.hash                  |  3 ++
>   .../nvidia-persistenced.mk                    | 49 +++++++++++++++++++
>   6 files changed, 70 insertions(+)
>   create mode 100644 package/nvidia-persistenced/Config.in
>   create mode 100644 package/nvidia-persistenced/nvidia-persistenced.conf
>   create mode 100644 package/nvidia-persistenced/nvidia-persistenced.hash
>   create mode 100644 package/nvidia-persistenced/nvidia-persistenced.mk
> 
> diff --git a/DEVELOPERS b/DEVELOPERS
> index d2bd0d809a..ff58fb240d 100644
> --- a/DEVELOPERS
> +++ b/DEVELOPERS
> @@ -2506,6 +2506,9 @@ F:	support/testing/tests/package/test_python_jmespath.py
>   F:	support/testing/tests/package/test_python_rsa.py
>   F:	support/testing/tests/package/test_python_s3transfer.py
>   
> +N:	Raphael Pavlidis <raphael.pavlidis@gmail.com>
> +F:	package/nvidia-persistenced/
> +
>   N:	Refik Tuzakli <tuzakli.refik@gmail.com>
>   F:	package/freescale-imx/
>   F:	package/paho-mqtt-cpp/
> diff --git a/package/Config.in b/package/Config.in
> index d1c098c48f..41f34908ba 100644
> --- a/package/Config.in
> +++ b/package/Config.in
> @@ -543,6 +543,7 @@ endmenu
>   	source "package/neard/Config.in"
>   	source "package/nvidia-driver/Config.in"
>   	source "package/nvidia-modprobe/Config.in"
> +	source "package/nvidia-persistenced/Config.in"
>   	source "package/nvme/Config.in"
>   	source "package/ofono/Config.in"
>   	source "package/ola/Config.in"
> diff --git a/package/nvidia-persistenced/Config.in b/package/nvidia-persistenced/Config.in
> new file mode 100644
> index 0000000000..6ade2a5ceb
> --- /dev/null
> +++ b/package/nvidia-persistenced/Config.in
> @@ -0,0 +1,13 @@
> +config BR2_PACKAGE_NVIDIA_PERSISTENCED
> +	bool "nvidia-persistenced"
> +	depends on BR2_USE_MMU # fork()
> +	depends on BR2_TOOLCHAIN_HAS_THREADS # libtirpc
> +	select BR2_PACKAGE_LIBTIRPC
> +	help
> +	  NVIDIA driver persistence daemon.
> +
> +	  https://github.com/NVIDIA/nvidia-persistenced
> +
> +comment "nvidia-persistenced needs a toolchain w/ threads"
> +	depends on BR2_USE_MMU
> +	depends on !BR2_TOOLCHAIN_HAS_THREADS
> diff --git a/package/nvidia-persistenced/nvidia-persistenced.conf b/package/nvidia-persistenced/nvidia-persistenced.conf
> new file mode 100644
> index 0000000000..48f24cfb1d
> --- /dev/null
> +++ b/package/nvidia-persistenced/nvidia-persistenced.conf
> @@ -0,0 +1 @@
> +u nvidia-persistenced - 'NVIDIA Persistence Daemon'
> diff --git a/package/nvidia-persistenced/nvidia-persistenced.hash b/package/nvidia-persistenced/nvidia-persistenced.hash
> new file mode 100644
> index 0000000000..06c71b35f5
> --- /dev/null
> +++ b/package/nvidia-persistenced/nvidia-persistenced.hash
> @@ -0,0 +1,3 @@
> +# Locally computed:
> +sha256  b84fb8eb86127a725d0134a2c64a64e7844e125dece137e7fe8adf8a33cbe817  nvidia-persistenced-515.48.07.tar.gz
> +sha256  279d814320adc07ca5a4ee101a0b428ddf22a6f3513b8c051f9eb7be47b2e797  COPYING
> diff --git a/package/nvidia-persistenced/nvidia-persistenced.mk b/package/nvidia-persistenced/nvidia-persistenced.mk
> new file mode 100644
> index 0000000000..2a34d3608d
> --- /dev/null
> +++ b/package/nvidia-persistenced/nvidia-persistenced.mk
> @@ -0,0 +1,49 @@
> +################################################################################
> +#
> +# nvidia-persistenced
> +#
> +################################################################################
> +
> +NVIDIA_PERSISTENCED_VERSION = 515.48.07
> +NVIDIA_PERSISTENCED_SITE = $(call github,NVIDIA,nvidia-persistenced,$(NVIDIA_PERSISTENCED_VERSION))
> +NVIDIA_PERSISTENCED_LICENSE = MIT
> +NVIDIA_PERSISTENCED_LICENSE_FILES = COPYING
> +
> +NVIDIA_PERSISTENCED_DEPENDENCIES = host-pkgconf libtirpc
> +
> +define NVIDIA_PERSISTENCED_BUILD_CMDS
> +	$(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) \
> +		OUTPUTDIR=. ./nvidia-persistenced
> +endef
> +
> +define NVIDIA_PERSISTENCED_INSTALL_TARGET_CMDS
> +	$(INSTALL) -D -m 0755 $(@D)/nvidia-persistenced \
> +		$(TARGET_DIR)/usr/bin/nvidia-persistenced
> +endef
> +
> +ifeq ($(BR2_PACKAGE_SYSTEMD),y)
> +ifeq ($(BR2_PACKAGE_SYSTEMD_SYSUSERS),y)
> +define NVIDIA_PERSISTENCED_POST_INSTALL_TARGET_SYSTEMD_SYSUSERS
> +	$(INSTALL) -D -m 0644 $(NVIDIA_PERSISTENCED_PKGDIR)/nvidia-persistenced.conf \
> +		$(TARGET_DIR)/usr/lib/sysusers.d/nvidia-persistenced.conf
> +endef
> +NVIDIA_PERSISTENCED_POST_INSTALL_TARGET_HOOKS += NVIDIA_PERSISTENCED_POST_INSTALL_TARGET_SYSTEMD_SYSUSERS
> +else
> +NVIDIA_PERSISTENCED_SYSTEMD_USERS = \
> +	nvidia-persistenced -1 nvidia-persistenced -1 * - - - NVIDIA Persistence Daemon
> +endif
> +
> +define NVIDIA_PERSISTENCED_POST_INSTALL_TARGET_SYSTEMD_SERVICE
> +	$(INSTALL) -D -m 0644 $(@D)/init/systemd/nvidia-persistenced.service.template \
> +		$(TARGET_DIR)/usr/lib/systemd/system/nvidia-persistenced.service
> +	$(SED) 's/__USER__/nvidia-persistenced/g' \
> +		$(TARGET_DIR)/usr/lib/systemd/system/nvidia-persistenced.service
> +endef
> +NVIDIA_PERSISTENCED_POST_INSTALL_TARGET_HOOKS += NVIDIA_PERSISTENCED_POST_INSTALL_TARGET_SYSTEMD_SERVICE
> +endif # BR2_PACKAGE_SYSTEMD
> +
> +define NVIDIA_PERSISTENCED_USERS
> +	$(NVIDIA_PERSISTENCED_SYSTEMD_USERS)
> +endef
> +
> +$(eval $(generic-package))
diff mbox series

Patch

diff --git a/DEVELOPERS b/DEVELOPERS
index d2bd0d809a..ff58fb240d 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -2506,6 +2506,9 @@  F:	support/testing/tests/package/test_python_jmespath.py
 F:	support/testing/tests/package/test_python_rsa.py
 F:	support/testing/tests/package/test_python_s3transfer.py
 
+N:	Raphael Pavlidis <raphael.pavlidis@gmail.com>
+F:	package/nvidia-persistenced/
+
 N:	Refik Tuzakli <tuzakli.refik@gmail.com>
 F:	package/freescale-imx/
 F:	package/paho-mqtt-cpp/
diff --git a/package/Config.in b/package/Config.in
index d1c098c48f..41f34908ba 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -543,6 +543,7 @@  endmenu
 	source "package/neard/Config.in"
 	source "package/nvidia-driver/Config.in"
 	source "package/nvidia-modprobe/Config.in"
+	source "package/nvidia-persistenced/Config.in"
 	source "package/nvme/Config.in"
 	source "package/ofono/Config.in"
 	source "package/ola/Config.in"
diff --git a/package/nvidia-persistenced/Config.in b/package/nvidia-persistenced/Config.in
new file mode 100644
index 0000000000..6ade2a5ceb
--- /dev/null
+++ b/package/nvidia-persistenced/Config.in
@@ -0,0 +1,13 @@ 
+config BR2_PACKAGE_NVIDIA_PERSISTENCED
+	bool "nvidia-persistenced"
+	depends on BR2_USE_MMU # fork()
+	depends on BR2_TOOLCHAIN_HAS_THREADS # libtirpc
+	select BR2_PACKAGE_LIBTIRPC
+	help
+	  NVIDIA driver persistence daemon.
+
+	  https://github.com/NVIDIA/nvidia-persistenced
+
+comment "nvidia-persistenced needs a toolchain w/ threads"
+	depends on BR2_USE_MMU
+	depends on !BR2_TOOLCHAIN_HAS_THREADS
diff --git a/package/nvidia-persistenced/nvidia-persistenced.conf b/package/nvidia-persistenced/nvidia-persistenced.conf
new file mode 100644
index 0000000000..48f24cfb1d
--- /dev/null
+++ b/package/nvidia-persistenced/nvidia-persistenced.conf
@@ -0,0 +1 @@ 
+u nvidia-persistenced - 'NVIDIA Persistence Daemon'
diff --git a/package/nvidia-persistenced/nvidia-persistenced.hash b/package/nvidia-persistenced/nvidia-persistenced.hash
new file mode 100644
index 0000000000..06c71b35f5
--- /dev/null
+++ b/package/nvidia-persistenced/nvidia-persistenced.hash
@@ -0,0 +1,3 @@ 
+# Locally computed:
+sha256  b84fb8eb86127a725d0134a2c64a64e7844e125dece137e7fe8adf8a33cbe817  nvidia-persistenced-515.48.07.tar.gz
+sha256  279d814320adc07ca5a4ee101a0b428ddf22a6f3513b8c051f9eb7be47b2e797  COPYING
diff --git a/package/nvidia-persistenced/nvidia-persistenced.mk b/package/nvidia-persistenced/nvidia-persistenced.mk
new file mode 100644
index 0000000000..2a34d3608d
--- /dev/null
+++ b/package/nvidia-persistenced/nvidia-persistenced.mk
@@ -0,0 +1,49 @@ 
+################################################################################
+#
+# nvidia-persistenced
+#
+################################################################################
+
+NVIDIA_PERSISTENCED_VERSION = 515.48.07
+NVIDIA_PERSISTENCED_SITE = $(call github,NVIDIA,nvidia-persistenced,$(NVIDIA_PERSISTENCED_VERSION))
+NVIDIA_PERSISTENCED_LICENSE = MIT
+NVIDIA_PERSISTENCED_LICENSE_FILES = COPYING
+
+NVIDIA_PERSISTENCED_DEPENDENCIES = host-pkgconf libtirpc
+
+define NVIDIA_PERSISTENCED_BUILD_CMDS
+	$(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) \
+		OUTPUTDIR=. ./nvidia-persistenced
+endef
+
+define NVIDIA_PERSISTENCED_INSTALL_TARGET_CMDS
+	$(INSTALL) -D -m 0755 $(@D)/nvidia-persistenced \
+		$(TARGET_DIR)/usr/bin/nvidia-persistenced
+endef
+
+ifeq ($(BR2_PACKAGE_SYSTEMD),y)
+ifeq ($(BR2_PACKAGE_SYSTEMD_SYSUSERS),y)
+define NVIDIA_PERSISTENCED_POST_INSTALL_TARGET_SYSTEMD_SYSUSERS
+	$(INSTALL) -D -m 0644 $(NVIDIA_PERSISTENCED_PKGDIR)/nvidia-persistenced.conf \
+		$(TARGET_DIR)/usr/lib/sysusers.d/nvidia-persistenced.conf
+endef
+NVIDIA_PERSISTENCED_POST_INSTALL_TARGET_HOOKS += NVIDIA_PERSISTENCED_POST_INSTALL_TARGET_SYSTEMD_SYSUSERS
+else
+NVIDIA_PERSISTENCED_SYSTEMD_USERS = \
+	nvidia-persistenced -1 nvidia-persistenced -1 * - - - NVIDIA Persistence Daemon
+endif
+
+define NVIDIA_PERSISTENCED_POST_INSTALL_TARGET_SYSTEMD_SERVICE
+	$(INSTALL) -D -m 0644 $(@D)/init/systemd/nvidia-persistenced.service.template \
+		$(TARGET_DIR)/usr/lib/systemd/system/nvidia-persistenced.service
+	$(SED) 's/__USER__/nvidia-persistenced/g' \
+		$(TARGET_DIR)/usr/lib/systemd/system/nvidia-persistenced.service
+endef
+NVIDIA_PERSISTENCED_POST_INSTALL_TARGET_HOOKS += NVIDIA_PERSISTENCED_POST_INSTALL_TARGET_SYSTEMD_SERVICE
+endif # BR2_PACKAGE_SYSTEMD
+
+define NVIDIA_PERSISTENCED_USERS
+	$(NVIDIA_PERSISTENCED_SYSTEMD_USERS)
+endef
+
+$(eval $(generic-package))