[ptxdist] [PATCH] alsa-utils: version bump 1.1.7 -> 1.1.9
http mirror dl.ambiweb.de for ftp.alsa-project.org is gone. Replace it with official 'FTP via HTTP (web) access' mirror at 'https://www.alsa-project.org/files/pub/'. As far as I can see from git commit log, no spectacular changes. Beside some small fixes and documentation improvements, the main thing is the addition of the new 'axfer' utility. This one is intended to replace current aplay/arecord in the long run. This commit only bumps the version, but does not targetinstall the new axfer (or any aplay/arecord symlinks to it). Signed-off-by: Andreas Pretzsch --- I have some rule updates for alsa-utils in the queue, like adding alsabat, axfer, and a bit of cleanup. But as they need some more polishing, they will be probably for-next. Especially alsabat inclusion needs rework of the fftw rule. In case anybody has a need for them today, write me. rules/alsa-utils.make | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/rules/alsa-utils.make b/rules/alsa-utils.make index a742e1015..f2d0387f7 100644 --- a/rules/alsa-utils.make +++ b/rules/alsa-utils.make @@ -17,12 +17,12 @@ PACKAGES-$(PTXCONF_ALSA_UTILS) += alsa-utils # # Paths and names # -ALSA_UTILS_VERSION := 1.1.7 -ALSA_UTILS_MD5 := 2b88796c6b05520e59eec6049de02f64 +ALSA_UTILS_VERSION := 1.1.9 +ALSA_UTILS_MD5 := 5ed21c3e296c06046cc986e732f625f6 ALSA_UTILS := alsa-utils-$(ALSA_UTILS_VERSION) ALSA_UTILS_SUFFIX := tar.bz2 ALSA_UTILS_URL := \ - http://dl.ambiweb.de/mirrors/ftp.alsa-project.org/utils/$(ALSA_UTILS).$(ALSA_UTILS_SUFFIX) \ + https://www.alsa-project.org/files/pub/utils/$(ALSA_UTILS).$(ALSA_UTILS_SUFFIX) \ ftp://ftp.alsa-project.org/pub/utils/$(ALSA_UTILS).$(ALSA_UTILS_SUFFIX) ALSA_UTILS_SOURCE := $(SRCDIR)/$(ALSA_UTILS).$(ALSA_UTILS_SUFFIX) ALSA_UTILS_DIR := $(BUILDDIR)/$(ALSA_UTILS) -- 2.19.1 ___ ptxdist mailing list ptxdist@pengutronix.de
[ptxdist] [PATCH] alsa-lib: version bump 1.1.7 -> 1.1.9
http mirror dl.ambiweb.de for ftp.alsa-project.org is gone. Replace it with official 'FTP via HTTP (web) access' mirror at 'https://www.alsa-project.org/files/pub/'. Patch '0001-add-largefile-support.patch' is still required, but should be refreshed someday by PTX: Applying patch 0001-add-largefile-support.patch patching file configure.ac Hunk #2 succeeded at 709 (offset 43 lines). As far as I can see from git commit log, no spectacular changes. User visible target changes 1.1.7 -> 1.1.9: - some minor bugfixes and improvements - conf: pcm dmix - add CHANNELS argument - a lot of UCM config file changes, additions, include updates User visible build changes 1.1.7 -> 1.1.9: - deprecated header /usr/include/asoundlib.h is gone - deprecated header /usr/include/sys/asoundlib.h is still there - deprecated (backward compatibility due to old mistake) extra include path '-I${includedir}/alsa' in alsa.pc is gone. See alsa-lib commit fc0e54c. Replace '#include ' with '#include ' in faulty code, as it should have been right from the start. Signed-off-by: Andreas Pretzsch --- PTX, please feel free to refresh the largefile-support patch from Lucas Stach and adapt the commit message accordingly. I didn't refresh it, as I don't know if you track them somewhere. .../0001-add-largefile-support.patch| 0 patches/{alsa-lib-1.1.7 => alsa-lib-1.1.9}/autogen.sh | 0 patches/{alsa-lib-1.1.7 => alsa-lib-1.1.9}/series | 0 rules/alsa-lib.in | 4 +++- rules/alsa-lib.make | 6 +++--- 5 files changed, 6 insertions(+), 4 deletions(-) rename patches/{alsa-lib-1.1.7 => alsa-lib-1.1.9}/0001-add-largefile-support.patch (100%) rename patches/{alsa-lib-1.1.7 => alsa-lib-1.1.9}/autogen.sh (100%) rename patches/{alsa-lib-1.1.7 => alsa-lib-1.1.9}/series (100%) diff --git a/patches/alsa-lib-1.1.7/0001-add-largefile-support.patch b/patches/alsa-lib-1.1.9/0001-add-largefile-support.patch similarity index 100% rename from patches/alsa-lib-1.1.7/0001-add-largefile-support.patch rename to patches/alsa-lib-1.1.9/0001-add-largefile-support.patch diff --git a/patches/alsa-lib-1.1.7/autogen.sh b/patches/alsa-lib-1.1.9/autogen.sh similarity index 100% rename from patches/alsa-lib-1.1.7/autogen.sh rename to patches/alsa-lib-1.1.9/autogen.sh diff --git a/patches/alsa-lib-1.1.7/series b/patches/alsa-lib-1.1.9/series similarity index 100% rename from patches/alsa-lib-1.1.7/series rename to patches/alsa-lib-1.1.9/series diff --git a/rules/alsa-lib.in b/rules/alsa-lib.in index 7361f1226..ec5134d32 100644 --- a/rules/alsa-lib.in +++ b/rules/alsa-lib.in @@ -103,7 +103,9 @@ config ALSA_LIB_UCM config ALSA_LIB_ALISP bool default y - # necessary files missing in the tarball for version 1.1.7 + # alisp itself broken in 1.1.7 builds now (alsa-lib commit 639d404), + # but then targets SI7018/sndo[cp]-mixer.alisp in src/conf/cards/ + # fail (missing in tarball, present in git tree). depends on BROKEN prompt "alisp" help diff --git a/rules/alsa-lib.make b/rules/alsa-lib.make index b8e1105a8..698b232aa 100644 --- a/rules/alsa-lib.make +++ b/rules/alsa-lib.make @@ -20,11 +20,11 @@ PACKAGES-$(PTXCONF_ALSA_LIB) += alsa-lib ALSA_LIB_SUFFIX:= tar.bz2 ifdef PTXCONF_ALSA_LIB_FULL -ALSA_LIB_VERSION := 1.1.7 -ALSA_LIB_MD5 := 51ca1283e27e7dc10207ccce33919cf2 +ALSA_LIB_VERSION := 1.1.9 +ALSA_LIB_MD5 := e6d429dbdcfaa0f034d907fa6dc3735e ALSA_LIB := alsa-lib-$(ALSA_LIB_VERSION) ALSA_LIB_URL := \ - http://dl.ambiweb.de/mirrors/ftp.alsa-project.org/lib/$(ALSA_LIB).$(ALSA_LIB_SUFFIX) \ + https://www.alsa-project.org/files/pub/lib/$(ALSA_LIB).$(ALSA_LIB_SUFFIX) \ ftp://ftp.alsa-project.org/pub/lib/$(ALSA_LIB).$(ALSA_LIB_SUFFIX) endif -- 2.19.1 ___ ptxdist mailing list ptxdist@pengutronix.de
Re: [ptxdist] Question to BUILDTIME
Hi Michael, seems my mind tricked my. Thanks for the explanation. Regards Denis Am Freitag, den 28.06.2019, 16:23 +0200 schrieb Michael Olbrich: > Hi, > > On Fri, Jun 28, 2019 at 08:14:09AM +, Denis OSTERLAND wrote: > > > > Am Freitag, den 28.06.2019, 09:12 +0200 schrieb Michael Olbrich: > > > > > > On Thu, Jun 27, 2019 at 01:25:50PM +, Denis OSTERLAND wrote: > > > > > > > > > > > > select if BUILDTIME > > > > > > > > works only if has no prompt, correct? > > > No, 'if BUILDTIME' can be used with any package. It just means, that The > > > packages will be ordered accordingly at build-time but no dependency will > > > be added to the resulting .ipk File. > > This was how I understand it two. > > The last time I used this feature is to long ago, to be sure ;-) > > With recent release (ptxdist-2019.06.0) the package gets installed until I > > remove prompt line. > > > > I try to pin my problem down. > > Where is the post processing which removes the dependencies with BUILDTIME? > > I mean, in 'scripts/lib/ptxd_lib_dgen.sh' there is > > 'PTXDIST_DEP_TARGET="run" ptxd_kconfig_dep_all "${config[@]}"', > > but the automatically selected package will stick if it has a prompt. > I think I understand way you're trying to do. Consider this example: > > config FOO > tristate > select BAR if BUILDTIME > prompt "foo" > > If 'foo' is enabled, then so is 'bar'. This means both symbols are enabled > in the ptxconfig. This also means that both packages will be in the default > package ist for the rootfs. That cannot be changed. > What 'if BUILDTIME' means is, that > 1. The make dependencies are a bit more relaxed, which can improve the > build time. > 2. There is no dependency for this in the ipkg. So you could remove the > package 'bar' at runtime without removing 'foo'. > > Creating an image with 'foo' but without 'bar' is not easily done. I > suppose you could create your own image with: > > IMAGE_BLA_PKGS := $(filter-out bar,$(PTX_PACKAGES_INSTALL)) > > Regards, > Michael > Diehl Connectivity Solutions GmbH Geschäftsführung: Horst Leonberger Sitz der Gesellschaft: Nürnberg - Registergericht: Amtsgericht Nürnberg: HRB 32315 ___ Der Inhalt der vorstehenden E-Mail ist nicht rechtlich bindend. Diese E-Mail enthaelt vertrauliche und/oder rechtlich geschuetzte Informationen. Informieren Sie uns bitte, wenn Sie diese E-Mail faelschlicherweise erhalten haben. Bitte loeschen Sie in diesem Fall die Nachricht. Jede unerlaubte Form der Reproduktion, Bekanntgabe, Aenderung, Verteilung und/oder Publikation dieser E-Mail ist strengstens untersagt. - Informationen zum Datenschutz, insbesondere zu Ihren Rechten, erhalten Sie unter https://www.diehl.com/group/de/transparenz-und-informationspflichten/ The contents of the above mentioned e-mail is not legally binding. This e-mail contains confidential and/or legally protected information. Please inform us if you have received this e-mail by mistake and delete it in such a case. Each unauthorized reproduction, disclosure, alteration, distribution and/or publication of this e-mail is strictly prohibited. - For general information on data protection and your respective rights please visit https://www.diehl.com/group/en/transparency-and-information-obligations/ ___ ptxdist mailing list ptxdist@pengutronix.de
Re: [ptxdist] Question to BUILDTIME
Hi, On Fri, Jun 28, 2019 at 08:14:09AM +, Denis OSTERLAND wrote: > Am Freitag, den 28.06.2019, 09:12 +0200 schrieb Michael Olbrich: > > On Thu, Jun 27, 2019 at 01:25:50PM +, Denis OSTERLAND wrote: > > > > > > select if BUILDTIME > > > > > > works only if has no prompt, correct? > > No, 'if BUILDTIME' can be used with any package. It just means, that The > > packages will be ordered accordingly at build-time but no dependency will > > be added to the resulting .ipk File. > This was how I understand it two. > The last time I used this feature is to long ago, to be sure ;-) > With recent release (ptxdist-2019.06.0) the package gets installed until I > remove prompt line. > > I try to pin my problem down. > Where is the post processing which removes the dependencies with BUILDTIME? > I mean, in 'scripts/lib/ptxd_lib_dgen.sh' there is 'PTXDIST_DEP_TARGET="run" > ptxd_kconfig_dep_all "${config[@]}"', > but the automatically selected package will stick if it has a prompt. I think I understand way you're trying to do. Consider this example: config FOO tristate select BAR if BUILDTIME prompt "foo" If 'foo' is enabled, then so is 'bar'. This means both symbols are enabled in the ptxconfig. This also means that both packages will be in the default package ist for the rootfs. That cannot be changed. What 'if BUILDTIME' means is, that 1. The make dependencies are a bit more relaxed, which can improve the build time. 2. There is no dependency for this in the ipkg. So you could remove the package 'bar' at runtime without removing 'foo'. Creating an image with 'foo' but without 'bar' is not easily done. I suppose you could create your own image with: IMAGE_BLA_PKGS := $(filter-out bar,$(PTX_PACKAGES_INSTALL)) Regards, Michael -- Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0| Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917- | ___ ptxdist mailing list ptxdist@pengutronix.de
Re: [ptxdist] Question to BUILDTIME
Hi, Am Freitag, den 28.06.2019, 09:12 +0200 schrieb Michael Olbrich: > Hi, > > On Thu, Jun 27, 2019 at 01:25:50PM +, Denis OSTERLAND wrote: > > > > select if BUILDTIME > > > > works only if has no prompt, correct? > No, 'if BUILDTIME' can be used with any package. It just means, that The > packages will be ordered accordingly at build-time but no dependency will > be added to the resulting .ipk File. This was how I understand it two. The last time I used this feature is to long ago, to be sure ;-) With recent release (ptxdist-2019.06.0) the package gets installed until I remove prompt line. I try to pin my problem down. Where is the post processing which removes the dependencies with BUILDTIME? I mean, in 'scripts/lib/ptxd_lib_dgen.sh' there is 'PTXDIST_DEP_TARGET="run" ptxd_kconfig_dep_all "${config[@]}"', but the automatically selected package will stick if it has a prompt. Regards Denis > > > Michael > Diehl Connectivity Solutions GmbH Geschäftsführung: Horst Leonberger Sitz der Gesellschaft: Nürnberg - Registergericht: Amtsgericht Nürnberg: HRB 32315 ___ Der Inhalt der vorstehenden E-Mail ist nicht rechtlich bindend. Diese E-Mail enthaelt vertrauliche und/oder rechtlich geschuetzte Informationen. Informieren Sie uns bitte, wenn Sie diese E-Mail faelschlicherweise erhalten haben. Bitte loeschen Sie in diesem Fall die Nachricht. Jede unerlaubte Form der Reproduktion, Bekanntgabe, Aenderung, Verteilung und/oder Publikation dieser E-Mail ist strengstens untersagt. - Informationen zum Datenschutz, insbesondere zu Ihren Rechten, erhalten Sie unter https://www.diehl.com/group/de/transparenz-und-informationspflichten/ The contents of the above mentioned e-mail is not legally binding. This e-mail contains confidential and/or legally protected information. Please inform us if you have received this e-mail by mistake and delete it in such a case. Each unauthorized reproduction, disclosure, alteration, distribution and/or publication of this e-mail is strictly prohibited. - For general information on data protection and your respective rights please visit https://www.diehl.com/group/en/transparency-and-information-obligations/ ___ ptxdist mailing list ptxdist@pengutronix.de
[ptxdist] [PATCH v3 10/10] logrotate: adapt package's '/var/lib' requirements
Signed-off-by: Juergen Borleis --- rules/logrotate.in | 4 1 file changed, 4 insertions(+) diff --git a/rules/logrotate.in b/rules/logrotate.in index 202dee573..097804017 100644 --- a/rules/logrotate.in +++ b/rules/logrotate.in @@ -5,6 +5,7 @@ menuconfig LOGROTATE prompt "logrotate " select LIBPOPT select ACL if LOGROTATE_ACL + select ROOTFS_VAR_LIB if RUNTIME help The logrotate utility is designed to simplify the administration of log files on a system which generates a lot @@ -14,6 +15,9 @@ menuconfig LOGROTATE log file gets to a certain size. Normally, logrotate runs as a daily cron job. + Note: on a read-only root filesystem this package still requires a + writable '/var/lib' for its run-time information. + if LOGROTATE config LOGROTATE_ACL -- 2.20.1 ___ ptxdist mailing list ptxdist@pengutronix.de
[ptxdist] [PATCH v3 09/10] nfsutils: adapt package's '/var/lib' requirements
Signed-off-by: Juergen Borleis --- rules/nfsutils.in | 5 - rules/nfsutils.make | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/rules/nfsutils.in b/rules/nfsutils.in index bd1052ebb..ef7eb7b98 100644 --- a/rules/nfsutils.in +++ b/rules/nfsutils.in @@ -9,11 +9,14 @@ menuconfig NFSUTILS select RPCBIND if RUNTIME select LIBTIRPC if GLOBAL_IPV6 select ROOTFS_PROTOCOLS if NFSUTILS_CLIENT + select ROOTFS_VAR_LIB if RUNTIME help The Sun Network Filesystem (NFS) protocol provides transparent remote access to shared files across networks. The NFS protocol is designed to be portable across different machines, operating systems, network architectures, and transport protocols. + Note: this package expects write permissions to '/var/lib/nfs' for + its state information. if NFSUTILS @@ -27,7 +30,7 @@ config NFSUTILS_SERVER bool prompt "server" help - Install all tools and daemons to run a NFS server. + Install all tools and daemons to run an NFS server. config NFSUTILS_NFSD_STARTSCRIPT bool diff --git a/rules/nfsutils.make b/rules/nfsutils.make index 929f53c72..4ce01c4e3 100644 --- a/rules/nfsutils.make +++ b/rules/nfsutils.make @@ -76,7 +76,7 @@ $(STATEDIR)/nfsutils.targetinstall: @$(call install_fixup, nfsutils,PRIORITY,optional) @$(call install_fixup, nfsutils,SECTION,base) @$(call install_fixup, nfsutils,AUTHOR,"Robert Schwebel ") - @$(call install_fixup, nfsutils,DESCRIPTION,missing) + @$(call install_fixup, nfsutils,DESCRIPTION,"Network Filesystem Support") @$(call install_copy, nfsutils, 0, 0, 0755, -, /usr/sbin/nfsstat) @$(call install_copy, nfsutils, 0, 0, 0755, -, /usr/sbin/nfsiostat) -- 2.20.1 ___ ptxdist mailing list ptxdist@pengutronix.de
[ptxdist] [PATCH v3 08/10] samba: show SysV related menue on demand only
Installing SysV start scripts makes only sense, if SysV is the startup method. Signed-off-by: Juergen Borleis --- rules/samba.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rules/samba.in b/rules/samba.in index aeaf90a75..764e1667d 100644 --- a/rules/samba.in +++ b/rules/samba.in @@ -69,7 +69,7 @@ config SAMBA_CUPS config SAMBA_STARTSCRIPT bool default y - depends on SAMBA_SERVER + depends on SAMBA_SERVER && INITMETHOD_BBINIT prompt "install /etc/init.d/samba" config SAMBA_SYSTEMD_UNIT -- 2.20.1 ___ ptxdist mailing list ptxdist@pengutronix.de
[ptxdist] [PATCH v3 07/10] samba: adapt package's '/var/lib' and '/var/cache' requirements
Signed-off-by: Juergen Borleis --- rules/samba.in | 5 + 1 file changed, 5 insertions(+) diff --git a/rules/samba.in b/rules/samba.in index ec5423661..aeaf90a75 100644 --- a/rules/samba.in +++ b/rules/samba.in @@ -19,6 +19,8 @@ menuconfig SAMBA select READLINE select SYSTEMD if SAMBA_SYSTEMD_UNIT select ZLIB + select ROOTFS_VAR_LIB if RUNTIME + select ROOTFS_VAR_CACHE if RUNTIME help Samba is an Open Source/Free Software suite that has, since 1992, provided file and print services to all manner of @@ -28,6 +30,9 @@ menuconfig SAMBA See http://www.samba.org for details. + Note: on a read-only root filesystem this package still requires a + writable '/var/lib' and '/var/cache'. + if SAMBA config SAMBA_COMMON -- 2.20.1 ___ ptxdist mailing list ptxdist@pengutronix.de
[ptxdist] [PATCH v3 05/10] dnsmasq: adapt package's '/var/lib' requirements
Signed-off-by: Juergen Borleis --- rules/dnsmasq.in | 9 ++--- rules/dnsmasq.make | 5 +++-- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/rules/dnsmasq.in b/rules/dnsmasq.in index 65f68f738..aec63dd0f 100644 --- a/rules/dnsmasq.in +++ b/rules/dnsmasq.in @@ -5,9 +5,9 @@ menuconfig DNSMASQ tristate prompt "dnsmasq " - select DBUS if DNSMASQ_DBUS - select LUA if DNSMASQ_SCRIPT_LUA - select ROOTFS_VAR_LIB + select DBUS if DNSMASQ_DBUS + select LUA if DNSMASQ_SCRIPT_LUA + select ROOTFS_VAR_LIB if DNSMASQ_DHCP && RUNTIME help A small caching DNS proxy and DHCP server. @@ -23,6 +23,9 @@ menuconfig DNSMASQ Note: In order to make dnsmasq work as DHCP, you have to enable the following kernel features: FIXME + Note: on a read-only root filesystem this package still requires a + writable '/var/lib' for its leases database (DHCP feature enabled). + if DNSMASQ comment "build options ---" diff --git a/rules/dnsmasq.make b/rules/dnsmasq.make index 861936329..d9a134cdf 100644 --- a/rules/dnsmasq.make +++ b/rules/dnsmasq.make @@ -104,9 +104,10 @@ endif @$(call install_alternative, dnsmasq, 0, 0, 0644, /etc/dnsmasq.conf) -# for the 'dnsmasq.leases' file +ifdef PTXCONF_DNSMASQ_DHCP +# # for the 'dnsmasq.leases' file @$(call install_copy, dnsmasq, 0, 0, 0755, /var/lib/misc) - +endif @$(call install_finish, dnsmasq) @$(call touch) -- 2.20.1 ___ ptxdist mailing list ptxdist@pengutronix.de
[ptxdist] [PATCH v3 02/10] conman: adapt package's '/var/lib' requirements
Signed-off-by: Juergen Borleis --- rules/connman.in | 3 ++- rules/connman.make | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/rules/connman.in b/rules/connman.in index 9d4b1dbd3..3c2eb11a0 100644 --- a/rules/connman.in +++ b/rules/connman.in @@ -13,7 +13,8 @@ menuconfig CONNMAN select DBUS_PYTHON if CONNMAN_TESTS && RUNTIME select WPA_SUPPLICANT if CONNMAN_WIFI && RUNTIME select WPA_SUPPLICANT_CTRL_IFACE_DBUS if CONNMAN_WIFI - select BUSYBOX_START_STOP_DAEMONif CONNMAN_STARTSCRIPT + select BUSYBOX_START_STOP_DAEMONif CONNMAN_STARTSCRIPT && RUNTIME + select ROOTFS_VAR_LIB if RUNTIME prompt "connman " help The Connection Manager project provides a daemon for diff --git a/rules/connman.make b/rules/connman.make index 2f671f7d4..313098d1c 100644 --- a/rules/connman.make +++ b/rules/connman.make @@ -167,6 +167,7 @@ ifdef PTXCONF_CONNMAN_POLKIT endif # # ship settings which enable wired interfaces per default + @$(call install_copy, connman, 0, 0, 0755, /var/lib/connman) @$(call install_alternative, connman, 0, 0, 0600, \ /var/lib/connman/settings) -- 2.20.1 ___ ptxdist mailing list ptxdist@pengutronix.de
[ptxdist] [PATCH v3 03/10] networkmanager: adapt package's '/var/lib' requirements
Signed-off-by: Juergen Borleis --- rules/networkmanager.in | 4 1 file changed, 4 insertions(+) diff --git a/rules/networkmanager.in b/rules/networkmanager.in index 26e9fff9d..e966aa2c7 100644 --- a/rules/networkmanager.in +++ b/rules/networkmanager.in @@ -26,6 +26,7 @@ menuconfig NETWORKMANAGER select UDEV_LIBUDEV select WPA_SUPPLICANT if NETWORKMANAGER_WIRELESS && RUNTIME select WPA_SUPPLICANT_CTRL_IFACE_DBUS if NETWORKMANAGER_WIRELESS && RUNTIME + select ROOTFS_VAR_LIB if RUNTIME prompt "networkmanager" help NetworkManager is a tool to automate network configuration as far as @@ -33,6 +34,9 @@ menuconfig NETWORKMANAGER http://projects.gnome.org/NetworkManager/ + Note: on a read-only root filesystem this package still requires a + writable '/var/lib'. + if NETWORKMANAGER config NETWORKMANAGER_STARTSCRIPT -- 2.20.1 ___ ptxdist mailing list ptxdist@pengutronix.de
[ptxdist] [PATCH v3 01/10] rootfs: keep /var writable, even if the rootfs is read-only
Having a read-only root filesystem is always a source of pain and trouble. Many applications and tools expect to be able to store their state or caching data or at least their logs somewhere in the filesystem. The '/var' directory tree has a well known structure according to the "File System Hierarchy Standard" and is used by all carefully designed programs. Thus, this change provides a way to have this '/var' directory tree writable, even if the main root filesystem is mounted read-only. It uses an overlay filesystem and by default a RAM disk to store changed and added data to this directory tree in a non persistent manner. Due to the nature of the overlay filesystem the underlaying files from the main root filesystem can still be accessed. This approach requires the overlay filesystem support from the Linux kernel. In order to use it, the feature CONFIG_OVERLAY_FS must be enabled. The ugly details to establish the required overlaying filesystem are hidden behind a "mount helper" for a dummy filesystem (here called 'varoverlayfs'). Thus, a BSP can change the overlaying filesystem by providing its own 'run-varoverlay.mount' in order to restrict the default RAM disk differently or to switch to a different local storage. The '/etc/fstab' file gets touched in this change, to enable some already used RAM disks on demand, to gain backward compatibility if no overlay approach is used. Signed-off-by: Juergen Borleis --- doc/daily_work.inc| 101 ++ projectroot/etc/fstab | 6 +- .../lib/systemd/system/run-varoverlayfs.mount | 9 ++ projectroot/usr/lib/systemd/system/var.mount | 11 ++ projectroot/usr/sbin/mount.varoverlayfs | 11 ++ rules/rootfs.in | 66 +++- rules/rootfs.make | 19 +++- 7 files changed, 191 insertions(+), 32 deletions(-) create mode 100644 projectroot/usr/lib/systemd/system/run-varoverlayfs.mount create mode 100644 projectroot/usr/lib/systemd/system/var.mount create mode 100644 projectroot/usr/sbin/mount.varoverlayfs diff --git a/doc/daily_work.inc b/doc/daily_work.inc index 74da11953..6f1525aec 100644 --- a/doc/daily_work.inc +++ b/doc/daily_work.inc @@ -1371,3 +1371,104 @@ in the build machine's filesystem also for the target filesystem image. With a different ``umask`` than ``0022`` at build-time this may fail badly at run-time with strange erroneous behaviour (for example some daemons with regular user permissions cannot acces their own configuration files). + +Read Only Filesystem + + +A system can run a read-only root filesystem in order to have a unit which +can be powered off at any time, without any previous shut down sequence. + +But many applications and tools are still expecting a writable filesystem to +temporarily store some kind of data or logging information for example. All +these write attempts will fail and thus, the applications and tools will fail, +too. + +According to the *Filesystem Hierarchy Standard 2.3* the directory tree in +``/var/`` is traditionally writable and its content is persistent across system +restarts. Thus, this directory tree is used by most applications and tools to +store their data. + +The *Filesystem Hierarchy Standard 2.3* defines the following directories +below ``/var/``: + +- ``cache/``: Application specific cache data +- ``crash/``: System crash dumps +- ``lib/``: Application specific variable state information +- ``lock/``: Lock files +- ``log/``: Log files and directories +- ``run/``: Data relevant to running processes +- ``spool/``: Application spool data +- ``tmp/``: Temporary files preserved between system reboots + +Although this writable directory tree is useful and valid for full blown host +machines, an embedded system can behave differently here: For example a +requirement can drop the persistency of changed data across reboots and always +start with empty directories. + +Partially RAM Disks +~~~ + +This is the default behaviour of PTXdist: it mounts a couple of RAM disks over +directories in ``/var`` expected to be writable by various applications and +tools. These RAM disks start always in an empty state and are defined as follows: + ++-+---+ +| mount point | mount options | ++=+===+ +| /var/log| nosuid,nodev,noexec,mode=0755,size=10%| ++-+---+ +| /var/lock | nosuid,nodev,noexec,mode=0755,size=1M | ++-+---+ +| /var/tmp| nosuid,nodev,mode=1777,size=20% |
[ptxdist] [PATCH v3 06/10] mariadb: adapt package's '/var/lib' requirements
Signed-off-by: Juergen Borleis --- rules/mariadb.in | 4 1 file changed, 4 insertions(+) diff --git a/rules/mariadb.in b/rules/mariadb.in index b2127ea34..06cf4b9ad 100644 --- a/rules/mariadb.in +++ b/rules/mariadb.in @@ -16,10 +16,14 @@ config MARIADB select NCURSES select SYSTEMD if MARIADB_SYSTEMD select ZLIB + select ROOTFS_VAR_LIB if RUNTIME prompt "mariadb" if ALLYES help MariaDB, a SQL database engine + Note: on a read-only root filesystem this package still requires a + writable '/var/lib' for the database. + if MARIADB config MARIADB_SYSTEMD -- 2.20.1 ___ ptxdist mailing list ptxdist@pengutronix.de
[ptxdist] '/var/ handling
This is v3 of the remaining patches changing '/var' handling in PTXdist. - remaining patches are rebased - systemd options removed from serice units (now really!) - overlayfs on '/var' reworked - documentation adapted Comments are welcome. ___ ptxdist mailing list ptxdist@pengutronix.de
[ptxdist] [PATCH v3 04/10] ntp: adapt package's '/var/lib' and '/var/log' requirements
Signed-off-by: Juergen Borleis --- rules/ntp.in | 5 + rules/ntp.make | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/rules/ntp.in b/rules/ntp.in index c211c91cd..55bf38b94 100644 --- a/rules/ntp.in +++ b/rules/ntp.in @@ -10,10 +10,15 @@ menuconfig NTP select LIBC_M select LIBC_RT select GCCLIBS_GCC_S + select ROOTFS_VAR_LIB if RUNTIME + select ROOTFS_VAR_LOG if RUNTIME help Build the standard NTP Daemon Process and supplementary programs. This conflicts with BSD openntpd. + Note: on a read-only root filesystem this package still requires a + writable '/var/lib' and '/var/log'. + # - Compile Options if NTP diff --git a/rules/ntp.make b/rules/ntp.make index 5d51ae4fc..411ad2ecf 100644 --- a/rules/ntp.make +++ b/rules/ntp.make @@ -160,7 +160,7 @@ $(STATEDIR)/ntp.targetinstall: @$(call install_fixup, ntp,PRIORITY,optional) @$(call install_fixup, ntp,SECTION,base) @$(call install_fixup, ntp,AUTHOR,"Robert Schwebel") - @$(call install_fixup, ntp,DESCRIPTION,missing) + @$(call install_fixup, ntp,DESCRIPTION, "Network Time Protocol Daemon") # # # # ntpdate -- 2.20.1 ___ ptxdist mailing list ptxdist@pengutronix.de
Re: [ptxdist] [PATCH v2 01/10] rootfs: keep /var writable, even if the rootfs is read-only
Please ignore this series :( Will send v3 immediately. jb ___ ptxdist mailing list ptxdist@pengutronix.de
[ptxdist] [PATCH v2 08/10] samba: show SysV related menue on demand only
Installing SysV start scripts makes only sense, if SysV is the startup method. Signed-off-by: Juergen Borleis --- rules/samba.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rules/samba.in b/rules/samba.in index aeaf90a75..764e1667d 100644 --- a/rules/samba.in +++ b/rules/samba.in @@ -69,7 +69,7 @@ config SAMBA_CUPS config SAMBA_STARTSCRIPT bool default y - depends on SAMBA_SERVER + depends on SAMBA_SERVER && INITMETHOD_BBINIT prompt "install /etc/init.d/samba" config SAMBA_SYSTEMD_UNIT -- 2.20.1 ___ ptxdist mailing list ptxdist@pengutronix.de
[ptxdist] [PATCH v2 03/10] networkmanager: adapt package's '/var/lib' requirements
Signed-off-by: Juergen Borleis --- rules/networkmanager.in | 4 1 file changed, 4 insertions(+) diff --git a/rules/networkmanager.in b/rules/networkmanager.in index 26e9fff9d..e966aa2c7 100644 --- a/rules/networkmanager.in +++ b/rules/networkmanager.in @@ -26,6 +26,7 @@ menuconfig NETWORKMANAGER select UDEV_LIBUDEV select WPA_SUPPLICANT if NETWORKMANAGER_WIRELESS && RUNTIME select WPA_SUPPLICANT_CTRL_IFACE_DBUS if NETWORKMANAGER_WIRELESS && RUNTIME + select ROOTFS_VAR_LIB if RUNTIME prompt "networkmanager" help NetworkManager is a tool to automate network configuration as far as @@ -33,6 +34,9 @@ menuconfig NETWORKMANAGER http://projects.gnome.org/NetworkManager/ + Note: on a read-only root filesystem this package still requires a + writable '/var/lib'. + if NETWORKMANAGER config NETWORKMANAGER_STARTSCRIPT -- 2.20.1 ___ ptxdist mailing list ptxdist@pengutronix.de
[ptxdist] [PATCH v2 09/10] nfsutils: adapt package's '/var/lib' requirements
Signed-off-by: Juergen Borleis --- rules/nfsutils.in | 5 - rules/nfsutils.make | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/rules/nfsutils.in b/rules/nfsutils.in index bd1052ebb..ef7eb7b98 100644 --- a/rules/nfsutils.in +++ b/rules/nfsutils.in @@ -9,11 +9,14 @@ menuconfig NFSUTILS select RPCBIND if RUNTIME select LIBTIRPC if GLOBAL_IPV6 select ROOTFS_PROTOCOLS if NFSUTILS_CLIENT + select ROOTFS_VAR_LIB if RUNTIME help The Sun Network Filesystem (NFS) protocol provides transparent remote access to shared files across networks. The NFS protocol is designed to be portable across different machines, operating systems, network architectures, and transport protocols. + Note: this package expects write permissions to '/var/lib/nfs' for + its state information. if NFSUTILS @@ -27,7 +30,7 @@ config NFSUTILS_SERVER bool prompt "server" help - Install all tools and daemons to run a NFS server. + Install all tools and daemons to run an NFS server. config NFSUTILS_NFSD_STARTSCRIPT bool diff --git a/rules/nfsutils.make b/rules/nfsutils.make index 929f53c72..4ce01c4e3 100644 --- a/rules/nfsutils.make +++ b/rules/nfsutils.make @@ -76,7 +76,7 @@ $(STATEDIR)/nfsutils.targetinstall: @$(call install_fixup, nfsutils,PRIORITY,optional) @$(call install_fixup, nfsutils,SECTION,base) @$(call install_fixup, nfsutils,AUTHOR,"Robert Schwebel ") - @$(call install_fixup, nfsutils,DESCRIPTION,missing) + @$(call install_fixup, nfsutils,DESCRIPTION,"Network Filesystem Support") @$(call install_copy, nfsutils, 0, 0, 0755, -, /usr/sbin/nfsstat) @$(call install_copy, nfsutils, 0, 0, 0755, -, /usr/sbin/nfsiostat) -- 2.20.1 ___ ptxdist mailing list ptxdist@pengutronix.de
[ptxdist] [PATCH v2 04/10] ntp: adapt package's '/var/lib' and '/var/log' requirements
Signed-off-by: Juergen Borleis --- rules/ntp.in | 5 + rules/ntp.make | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/rules/ntp.in b/rules/ntp.in index c211c91cd..55bf38b94 100644 --- a/rules/ntp.in +++ b/rules/ntp.in @@ -10,10 +10,15 @@ menuconfig NTP select LIBC_M select LIBC_RT select GCCLIBS_GCC_S + select ROOTFS_VAR_LIB if RUNTIME + select ROOTFS_VAR_LOG if RUNTIME help Build the standard NTP Daemon Process and supplementary programs. This conflicts with BSD openntpd. + Note: on a read-only root filesystem this package still requires a + writable '/var/lib' and '/var/log'. + # - Compile Options if NTP diff --git a/rules/ntp.make b/rules/ntp.make index 5d51ae4fc..411ad2ecf 100644 --- a/rules/ntp.make +++ b/rules/ntp.make @@ -160,7 +160,7 @@ $(STATEDIR)/ntp.targetinstall: @$(call install_fixup, ntp,PRIORITY,optional) @$(call install_fixup, ntp,SECTION,base) @$(call install_fixup, ntp,AUTHOR,"Robert Schwebel") - @$(call install_fixup, ntp,DESCRIPTION,missing) + @$(call install_fixup, ntp,DESCRIPTION, "Network Time Protocol Daemon") # # # # ntpdate -- 2.20.1 ___ ptxdist mailing list ptxdist@pengutronix.de
[ptxdist] [PATCH v2 01/10] rootfs: keep /var writable, even if the rootfs is read-only
Having a read-only root filesystem is always a source of pain and trouble. Many applications and tools expect to be able to store their state or caching data or at least their logs somewhere in the filesystem. The '/var' directory tree has a well known structure according to the "File System Hierarchy Standard" and is used by all carefully designed programs. Thus, this change provides a way to have this '/var' directory tree writable, even if the main root filesystem is mounted read-only. It uses an overlay filesystem and by default a RAM disk to store changed and added data to this directory tree in a non persistent manner. Due to the nature of the overlay filesystem the underlaying files from the main root filesystem can still be accessed. This approach requires the overlay filesystem support from the Linux kernel. In order to use it, the feature CONFIG_OVERLAY_FS must be enabled. The ugly details to establish the required overlaying filesystem are hidden behind a "mount helper" for a dummy filesystem (here called 'varoverlayfs'). Thus, a BSP can change the overlaying filesystem by providing its own 'run-varoverlay.mount' in order to restrict the default RAM disk differently or to switch to a different local storage. The '/etc/fstab' file gets touched in this change, to enable some already used RAM disks on demand, to gain backward compatibility if no overlay approach is used. Signed-off-by: Juergen Borleis --- doc/daily_work.inc| 101 ++ projectroot/etc/fstab | 6 +- .../lib/systemd/system/run-varoverlayfs.mount | 9 ++ projectroot/usr/lib/systemd/system/var.mount | 11 ++ projectroot/usr/sbin/mount.varoverlayfs | 11 ++ rules/rootfs.in | 66 +++- rules/rootfs.make | 19 +++- 7 files changed, 191 insertions(+), 32 deletions(-) create mode 100644 projectroot/usr/lib/systemd/system/run-varoverlayfs.mount create mode 100644 projectroot/usr/lib/systemd/system/var.mount create mode 100644 projectroot/usr/sbin/mount.varoverlayfs diff --git a/doc/daily_work.inc b/doc/daily_work.inc index 74da11953..6f1525aec 100644 --- a/doc/daily_work.inc +++ b/doc/daily_work.inc @@ -1371,3 +1371,104 @@ in the build machine's filesystem also for the target filesystem image. With a different ``umask`` than ``0022`` at build-time this may fail badly at run-time with strange erroneous behaviour (for example some daemons with regular user permissions cannot acces their own configuration files). + +Read Only Filesystem + + +A system can run a read-only root filesystem in order to have a unit which +can be powered off at any time, without any previous shut down sequence. + +But many applications and tools are still expecting a writable filesystem to +temporarily store some kind of data or logging information for example. All +these write attempts will fail and thus, the applications and tools will fail, +too. + +According to the *Filesystem Hierarchy Standard 2.3* the directory tree in +``/var/`` is traditionally writable and its content is persistent across system +restarts. Thus, this directory tree is used by most applications and tools to +store their data. + +The *Filesystem Hierarchy Standard 2.3* defines the following directories +below ``/var/``: + +- ``cache/``: Application specific cache data +- ``crash/``: System crash dumps +- ``lib/``: Application specific variable state information +- ``lock/``: Lock files +- ``log/``: Log files and directories +- ``run/``: Data relevant to running processes +- ``spool/``: Application spool data +- ``tmp/``: Temporary files preserved between system reboots + +Although this writable directory tree is useful and valid for full blown host +machines, an embedded system can behave differently here: For example a +requirement can drop the persistency of changed data across reboots and always +start with empty directories. + +Partially RAM Disks +~~~ + +This is the default behaviour of PTXdist: it mounts a couple of RAM disks over +directories in ``/var`` expected to be writable by various applications and +tools. These RAM disks start always in an empty state and are defined as follows: + ++-+---+ +| mount point | mount options | ++=+===+ +| /var/log| nosuid,nodev,noexec,mode=0755,size=10%| ++-+---+ +| /var/lock | nosuid,nodev,noexec,mode=0755,size=1M | ++-+---+ +| /var/tmp| nosuid,nodev,mode=1777,size=20% |
[ptxdist] [PATCH v2 07/10] samba: adapt package's '/var/lib' and '/var/cache' requirements
Signed-off-by: Juergen Borleis --- ...ate-expected-directories-at-run-time.patch | 38 +++ patches/samba-4.9.5/series| 4 ++ rules/samba.in| 5 +++ 3 files changed, 47 insertions(+) create mode 100644 patches/samba-4.9.5/0001-Lets-systemd-create-expected-directories-at-run-time.patch create mode 100644 patches/samba-4.9.5/series diff --git a/patches/samba-4.9.5/0001-Lets-systemd-create-expected-directories-at-run-time.patch b/patches/samba-4.9.5/0001-Lets-systemd-create-expected-directories-at-run-time.patch new file mode 100644 index 0..8569e0737 --- /dev/null +++ b/patches/samba-4.9.5/0001-Lets-systemd-create-expected-directories-at-run-time.patch @@ -0,0 +1,38 @@ +From: Juergen Borleis +Date: Tue, 4 Jun 2019 20:24:15 +0200 +Subject: [PATCH] Lets systemd create expected directories at run-time + +'samba' requires '/var/lib/samba' and '/var/cache/samba'. + +Signed-off-by: Juergen Borleis +--- + packaging/systemd/nmb.service.in | 2 ++ + packaging/systemd/smb.service.in | 2 ++ + 2 files changed, 4 insertions(+) + +diff --git a/packaging/systemd/nmb.service.in b/packaging/systemd/nmb.service.in +index a30812320c05..c9373d2ba0a6 100644 +--- a/packaging/systemd/nmb.service.in b/packaging/systemd/nmb.service.in +@@ -8,6 +8,8 @@ After=network.target network-online.target + Type=notify + NotifyAccess=all + PIDFile=@PIDDIR@/nmbd.pid ++StateDirectory=samba ++CacheDirectory=samba + EnvironmentFile=-@SYSCONFDIR@/sysconfig/samba + ExecStart=@SBINDIR@/nmbd --foreground --no-process-group $NMBDOPTIONS + ExecReload=/bin/kill -HUP $MAINPID +diff --git a/packaging/systemd/smb.service.in b/packaging/systemd/smb.service.in +index 18912ef0e98f..76aedfa20337 100644 +--- a/packaging/systemd/smb.service.in b/packaging/systemd/smb.service.in +@@ -9,6 +9,8 @@ Type=notify + NotifyAccess=all + PIDFile=@PIDDIR@/smbd.pid + LimitNOFILE=16384 ++StateDirectory=samba ++CacheDirectory=samba + EnvironmentFile=-@SYSCONFDIR@/sysconfig/samba + ExecStart=@SBINDIR@/smbd --foreground --no-process-group $SMBDOPTIONS + ExecReload=/bin/kill -HUP $MAINPID diff --git a/patches/samba-4.9.5/series b/patches/samba-4.9.5/series new file mode 100644 index 0..b2dcdc0a4 --- /dev/null +++ b/patches/samba-4.9.5/series @@ -0,0 +1,4 @@ +# generated by git-ptx-patches +#tag:base --start-number 1 +0001-Lets-systemd-create-expected-directories-at-run-time.patch +# 2d2f83b2911fe3f43bff610738827040 - git-ptx-patches magic diff --git a/rules/samba.in b/rules/samba.in index ec5423661..aeaf90a75 100644 --- a/rules/samba.in +++ b/rules/samba.in @@ -19,6 +19,8 @@ menuconfig SAMBA select READLINE select SYSTEMD if SAMBA_SYSTEMD_UNIT select ZLIB + select ROOTFS_VAR_LIB if RUNTIME + select ROOTFS_VAR_CACHE if RUNTIME help Samba is an Open Source/Free Software suite that has, since 1992, provided file and print services to all manner of @@ -28,6 +30,9 @@ menuconfig SAMBA See http://www.samba.org for details. + Note: on a read-only root filesystem this package still requires a + writable '/var/lib' and '/var/cache'. + if SAMBA config SAMBA_COMMON -- 2.20.1 ___ ptxdist mailing list ptxdist@pengutronix.de
[ptxdist] [PATCH v2 10/10] logrotate: adapt package's '/var/lib' requirements
Signed-off-by: Juergen Borleis --- rules/logrotate.in | 4 1 file changed, 4 insertions(+) diff --git a/rules/logrotate.in b/rules/logrotate.in index 202dee573..097804017 100644 --- a/rules/logrotate.in +++ b/rules/logrotate.in @@ -5,6 +5,7 @@ menuconfig LOGROTATE prompt "logrotate " select LIBPOPT select ACL if LOGROTATE_ACL + select ROOTFS_VAR_LIB if RUNTIME help The logrotate utility is designed to simplify the administration of log files on a system which generates a lot @@ -14,6 +15,9 @@ menuconfig LOGROTATE log file gets to a certain size. Normally, logrotate runs as a daily cron job. + Note: on a read-only root filesystem this package still requires a + writable '/var/lib' for its run-time information. + if LOGROTATE config LOGROTATE_ACL -- 2.20.1 ___ ptxdist mailing list ptxdist@pengutronix.de
[ptxdist] [PATCH v2 06/10] mariadb: adapt package's '/var/lib' requirements
Signed-off-by: Juergen Borleis --- rules/mariadb.in | 4 1 file changed, 4 insertions(+) diff --git a/rules/mariadb.in b/rules/mariadb.in index b2127ea34..06cf4b9ad 100644 --- a/rules/mariadb.in +++ b/rules/mariadb.in @@ -16,10 +16,14 @@ config MARIADB select NCURSES select SYSTEMD if MARIADB_SYSTEMD select ZLIB + select ROOTFS_VAR_LIB if RUNTIME prompt "mariadb" if ALLYES help MariaDB, a SQL database engine + Note: on a read-only root filesystem this package still requires a + writable '/var/lib' for the database. + if MARIADB config MARIADB_SYSTEMD -- 2.20.1 ___ ptxdist mailing list ptxdist@pengutronix.de
[ptxdist] [PATCH v2 02/10] conman: adapt package's '/var/lib' requirements
Signed-off-by: Juergen Borleis --- rules/connman.in | 3 ++- rules/connman.make | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/rules/connman.in b/rules/connman.in index 9d4b1dbd3..3c2eb11a0 100644 --- a/rules/connman.in +++ b/rules/connman.in @@ -13,7 +13,8 @@ menuconfig CONNMAN select DBUS_PYTHON if CONNMAN_TESTS && RUNTIME select WPA_SUPPLICANT if CONNMAN_WIFI && RUNTIME select WPA_SUPPLICANT_CTRL_IFACE_DBUS if CONNMAN_WIFI - select BUSYBOX_START_STOP_DAEMONif CONNMAN_STARTSCRIPT + select BUSYBOX_START_STOP_DAEMONif CONNMAN_STARTSCRIPT && RUNTIME + select ROOTFS_VAR_LIB if RUNTIME prompt "connman " help The Connection Manager project provides a daemon for diff --git a/rules/connman.make b/rules/connman.make index 2f671f7d4..313098d1c 100644 --- a/rules/connman.make +++ b/rules/connman.make @@ -167,6 +167,7 @@ ifdef PTXCONF_CONNMAN_POLKIT endif # # ship settings which enable wired interfaces per default + @$(call install_copy, connman, 0, 0, 0755, /var/lib/connman) @$(call install_alternative, connman, 0, 0, 0600, \ /var/lib/connman/settings) -- 2.20.1 ___ ptxdist mailing list ptxdist@pengutronix.de
[ptxdist] [PATCH v2 05/10] dnsmasq: adapt package's '/var/lib' requirements
Signed-off-by: Juergen Borleis --- rules/dnsmasq.in | 9 ++--- rules/dnsmasq.make | 5 +++-- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/rules/dnsmasq.in b/rules/dnsmasq.in index 65f68f738..aec63dd0f 100644 --- a/rules/dnsmasq.in +++ b/rules/dnsmasq.in @@ -5,9 +5,9 @@ menuconfig DNSMASQ tristate prompt "dnsmasq " - select DBUS if DNSMASQ_DBUS - select LUA if DNSMASQ_SCRIPT_LUA - select ROOTFS_VAR_LIB + select DBUS if DNSMASQ_DBUS + select LUA if DNSMASQ_SCRIPT_LUA + select ROOTFS_VAR_LIB if DNSMASQ_DHCP && RUNTIME help A small caching DNS proxy and DHCP server. @@ -23,6 +23,9 @@ menuconfig DNSMASQ Note: In order to make dnsmasq work as DHCP, you have to enable the following kernel features: FIXME + Note: on a read-only root filesystem this package still requires a + writable '/var/lib' for its leases database (DHCP feature enabled). + if DNSMASQ comment "build options ---" diff --git a/rules/dnsmasq.make b/rules/dnsmasq.make index 861936329..d9a134cdf 100644 --- a/rules/dnsmasq.make +++ b/rules/dnsmasq.make @@ -104,9 +104,10 @@ endif @$(call install_alternative, dnsmasq, 0, 0, 0644, /etc/dnsmasq.conf) -# for the 'dnsmasq.leases' file +ifdef PTXCONF_DNSMASQ_DHCP +# # for the 'dnsmasq.leases' file @$(call install_copy, dnsmasq, 0, 0, 0755, /var/lib/misc) - +endif @$(call install_finish, dnsmasq) @$(call touch) -- 2.20.1 ___ ptxdist mailing list ptxdist@pengutronix.de
Re: [ptxdist] Question to BUILDTIME
Hi, On Thu, Jun 27, 2019 at 01:25:50PM +, Denis OSTERLAND wrote: > select if BUILDTIME > > works only if has no prompt, correct? No, 'if BUILDTIME' can be used with any package. It just means, that The packages will be ordered accordingly at build-time but no dependency will be added to the resulting .ipk File. Michael -- Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0| Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917- | ___ ptxdist mailing list ptxdist@pengutronix.de