- Update from version 4.15.5 to 4.16.0 - Update of rootfile - perl-JSON now added to samba requirements. Additional patch combined with this on for install of perl-JSON - Changelog Release Notes for Samba 4.16.0 NEW FEATURES/CHANGES New samba-dcerpcd binary to provide DCERPC in the member server setup In order to make it much easier to break out the DCERPC services from smbd, a new samba-dcerpcd binary has been created. samba-dcerpcd can be used in two ways. In the normal case without startup script modification it is invoked on demand from smbd or winbind --np-helper to serve DCERPC over named pipes. Note that in order to run in this mode the smb.conf [global] section has a new parameter "rpc start on demand helpers = [true|false]". This parameter is set to "true" by default, meaning no changes to smb.conf files are needed to run samba-dcerpcd on demand as a named pipe helper. It can also be used in a standalone mode where it is started separately from smbd or winbind but this requires changes to system startup scripts, and in addition a change to smb.conf, setting the new [global] parameter "rpc start on demand helpers = false". If "rpc start on demand helpers" is not set to false, samba-dcerpcd will refuse to start in standalone mode. Note that when Samba is run in the Active Directory Domain Controller mode the samba binary that provides the AD code will still provide its normal DCERPC services whilst allowing samba-dcerpcd to provide services like SRVSVC in the same way that smbd used to in this configuration. The parameters that allowed some smbd-hosted services to be started externally are now gone (detailed below) as this is now the default setting. samba-dcerpcd can also be useful for use outside of the Samba framework, for example, use with the Linux kernel SMB2 server ksmbd or possibly other SMB2 server implementations. Heimdal-8.0pre used for Samba Internal Kerberos, adds FAST support Samba has since Samba 4.0 included a snapshot of the Heimdal Kerberos implementation. This snapshot has now been updated and will closely match what will be released as Heimdal 8.0 shortly. This is a major update, previously we used a snapshot of Heimdal from 2011, and brings important new Kerberos security features such as Kerberos request armoring, known as FAST. This tunnels ticket requests and replies that might be encrypted with a weak password inside a wrapper built with a stronger password, say from a machine account. In Heimdal and MIT modes Samba's KDC now supports FAST, for the support of non-Windows clients. Windows clients will not use this feature however, as they do not attempt to do so against a server not advertising domain Functional Level 2012. Samba users are of course free to modify how Samba advertises itself, but use with Windows clients is not supported "out of the box". Finally, Samba also uses a per-KDC, not per-realm 'cookie' to secure part of the FAST protocol. A future version will align this more closely with Microsoft AD behaviour. If FAST needs to be disabled on your Samba KDC, set kdc enable fast = no in the smb.conf. Certificate Auto Enrollment Certificate Auto Enrollment allows devices to enroll for certificates from Active Directory Certificate Services. It is enabled by Group Policy. To enable Certificate Auto Enrollment, Samba's group policy will need to be enabled by setting the smb.conf option `apply group policies` to Yes. Samba Certificate Auto Enrollment depends on certmonger, the cepces certmonger plugin, and sscep. Samba uses sscep to download the CA root chain, then uses certmonger paired with cepces to monitor the host certificate templates. Certificates are installed in /var/lib/samba/certs and private keys are installed in /var/lib/samba/private/certs. Ability to add ports to dns forwarder addresses in internal DNS backend The internal DNS server of Samba forwards queries non-AD zones to one or more configured forwarders. Up until now it has been assumed that these forwarders listen on port 53. Starting with this version it is possible to configure the port using host:port notation. See smb.conf for more details. Existing setups are not affected, as the default port is 53. CTDB changes * The "recovery master" role has been renamed "leader" Documentation and logs now refer to "leader". The following ctdb tool command names have changed: recmaster -> leader setrecmasterrole -> setleaderrole Command output has changed for the following commands: status getcapabilities The "[legacy] -> recmaster capability" configuration option has been renamed and moved to the cluster section, so this is now: [cluster] -> leader capability * The "recovery lock" has been renamed "cluster lock" Documentation and logs now refer to "cluster lock". The "[cluster] -> recovery lock" configuration option has been deprecated and will be removed in a future version. Please use "[cluster] -> cluster lock" instead. If the cluster lock is enabled then traditional elections are not done and leader elections use a race for the cluster lock. This avoids various conditions where a node is elected leader but can not take the cluster lock. Such conditions included: - At startup, a node elects itself leader of its own cluster before connecting to other nodes - Cluster filesystem failover is slow The abbreviation "reclock" is still used in many places, because a better abbreviation eludes us (i.e. "clock" is obvious bad) and changing all instances would require a lot of churn. If the abbreviation "reclock" for "cluster lock" is confusing, please consider mentally prefixing it with "really excellent". * CTDB now uses leader broadcasts and an associated timeout to determine if an election is required The leader broadcast timeout can be configured via new configuration option [cluster] -> leader timeout This specifies the number of seconds without leader broadcasts before a node calls an election. The default is 5. REMOVED FEATURES Older SMB1 protocol SMBCopy command removed SMB is a nearly 30-year old protocol, and some protocol commands that while supported in all versions, have not seen widespread use. One of those is SMBCopy, a feature for a server-side copy of a file. This feature has been so unmaintained that Samba has no testsuite for it. The SMB1 command SMB_COM_COPY (SMB1 command number 0x29) was introduced in the LAN Manager 1.0 dialect and it was rendered obsolete in the NT LAN Manager dialect. Therefore it has been removed from the Samba smbd server. We do note that a fully supported and tested server-side copy is present in SMB2, and can be accessed with "scopy" subcommand in smbclient) SMB1 server-side wildcard expansion removed Server-side wildcard expansion is another feature that sounds useful, but is also rarely used and has become problematic - imposing extra work on the server (both in terms of code and CPU time). In actual OS design, wildcard expansion is handled in the local shell, not at the remote server using SMB wildcard syntax (which is not shell syntax). In Samba 4.16 the ability to process file name wildcards in requests using the SMB1 commands SMB_COM_RENAME (SMB1 command number 0x7), SMB_COM_NT_RENAME (SMB1 command number 0xA5) and SMB_COM_DELETE (SMB1 command number 0x6) has been removed. SMB1 protocol has been deprecated, particularly older dialects We take this opportunity to remind that we have deprecated and disabled by default, but not removed, the whole SMB1 protocol since Samba 4.11. If needed for security purposes or code maintenance we will continue to remove older protocol commands and dialects that are unused or have been replaced in more modern SMB1 versions. We specifically deprecate the older dialects older than "NT LM 0.12" (also known as "NT LANMAN 1.0" and "NT1"). Please note that "NT LM 0.12" is the dialect used by software as old as Windows 95, Windows NT and Samba 2.0, so this deprecation applies to DOS and similar era clients. We do reassure that that 'simple' operation of older clients than these (eg DOS) will, while untested, continue for the near future, our purpose is not to cripple use of Samba in unique situations, but to reduce the maintaince burden. Eventually SMB1 as a whole will be removed, but no broader change is announced for 4.16. In the rare case where the above changes cause incompatibilities, users requiring support for these features will need to use older versions of Samba. No longer using Linux mandatory locks for sharemodes smbd mapped sharemodes to Linux mandatory locks. This code in the Linux kernel was broken for a long time, and is planned to be removed with Linux 5.15. This Samba release removes the usage of mandatory locks for sharemodes and the "kernel share modes" config parameter is changed to default to "no". The Samba VFS interface is kept, so that file-system specific VFS modules can still use private calls for enforcing sharemodes. smb.conf changes Parameter Name Description Default -------------- ----------- ------- kernel share modes New default No dns forwarder Changed rpc_daemon Removed rpc_server Removed rpc start on demand helpers Added true
Signed-off-by: Adolf Belka adolf.belka@ipfire.org --- config/rootfiles/packages/x86_64/samba | 77 +++++++++++++------------- lfs/samba | 8 +-- 2 files changed, 42 insertions(+), 43 deletions(-)
diff --git a/config/rootfiles/packages/x86_64/samba b/config/rootfiles/packages/x86_64/samba index fdbc3c283..8e355e873 100644 --- a/config/rootfiles/packages/x86_64/samba +++ b/config/rootfiles/packages/x86_64/samba @@ -159,9 +159,7 @@ usr/lib/libndr.so.2.0.0 usr/lib/libnetapi.so usr/lib/libnetapi.so.1 usr/lib/libnetapi.so.1.0.0 -usr/lib/libnss_winbind.so usr/lib/libnss_winbind.so.2 -usr/lib/libnss_wins.so usr/lib/libnss_wins.so.2 usr/lib/libsamba-credentials.so usr/lib/libsamba-credentials.so.1 @@ -283,7 +281,11 @@ usr/lib/python3.10/site-packages/samba/emulate/traffic_packets.py usr/lib/python3.10/site-packages/samba/forest_update.py usr/lib/python3.10/site-packages/samba/gensec.cpython-310-x86_64-linux-gnu.so usr/lib/python3.10/site-packages/samba/getopt.py +usr/lib/python3.10/site-packages/samba/gp_cert_auto_enroll_ext.py +usr/lib/python3.10/site-packages/samba/gp_chromium_ext.py usr/lib/python3.10/site-packages/samba/gp_ext_loader.py +usr/lib/python3.10/site-packages/samba/gp_firefox_ext.py +usr/lib/python3.10/site-packages/samba/gp_firewalld_ext.py usr/lib/python3.10/site-packages/samba/gp_gnome_settings_ext.py usr/lib/python3.10/site-packages/samba/gp_msgs_ext.py #usr/lib/python3.10/site-packages/samba/gp_parse @@ -494,6 +496,7 @@ usr/lib/python3.10/site-packages/samba/tdb_util.py #usr/lib/python3.10/site-packages/samba/tests/krb5/kdc_tests.py #usr/lib/python3.10/site-packages/samba/tests/krb5/kdc_tgs_tests.py #usr/lib/python3.10/site-packages/samba/tests/krb5/ms_kile_client_principal_lookup_tests.py +#usr/lib/python3.10/site-packages/samba/tests/krb5/pac_align_tests.py #usr/lib/python3.10/site-packages/samba/tests/krb5/raw_testcase.py #usr/lib/python3.10/site-packages/samba/tests/krb5/rfc4120_constants.py #usr/lib/python3.10/site-packages/samba/tests/krb5/rfc4120_pyasn1.py @@ -573,6 +576,7 @@ usr/lib/python3.10/site-packages/samba/tdb_util.py #usr/lib/python3.10/site-packages/samba/tests/samba_tool/help.py #usr/lib/python3.10/site-packages/samba/tests/samba_tool/join.py #usr/lib/python3.10/site-packages/samba/tests/samba_tool/join_lmdb_size.py +#usr/lib/python3.10/site-packages/samba/tests/samba_tool/join_member.py #usr/lib/python3.10/site-packages/samba/tests/samba_tool/ntacl.py #usr/lib/python3.10/site-packages/samba/tests/samba_tool/ou.py #usr/lib/python3.10/site-packages/samba/tests/samba_tool/passwordsettings.py @@ -605,6 +609,7 @@ usr/lib/python3.10/site-packages/samba/tdb_util.py #usr/lib/python3.10/site-packages/samba/tests/smbd_base.py #usr/lib/python3.10/site-packages/samba/tests/smbd_fuzztest.py #usr/lib/python3.10/site-packages/samba/tests/source.py +#usr/lib/python3.10/site-packages/samba/tests/source_chars.py #usr/lib/python3.10/site-packages/samba/tests/strings.py #usr/lib/python3.10/site-packages/samba/tests/subunitrun.py #usr/lib/python3.10/site-packages/samba/tests/tdb_util.py @@ -659,10 +664,12 @@ usr/lib/samba/libCHARSET3-samba4.so usr/lib/samba/libLIBWBCLIENT-OLD-samba4.so usr/lib/samba/libMESSAGING-SEND-samba4.so usr/lib/samba/libMESSAGING-samba4.so +usr/lib/samba/libREG-FULL-samba4.so +usr/lib/samba/libRPC-SERVER-LOOP-samba4.so +usr/lib/samba/libRPC-WORKER-samba4.so usr/lib/samba/libaddns-samba4.so usr/lib/samba/libads-samba4.so -usr/lib/samba/libasn1-samba4.so.8 -usr/lib/samba/libasn1-samba4.so.8.0.0 +usr/lib/samba/libasn1-samba4.so usr/lib/samba/libasn1util-samba4.so usr/lib/samba/libauth-samba4.so usr/lib/samba/libauth-unix-token-samba4.so @@ -680,8 +687,7 @@ usr/lib/samba/libcluster-samba4.so usr/lib/samba/libcmdline-contexts-samba4.so usr/lib/samba/libcmdline-samba4.so usr/lib/samba/libcmocka-samba4.so -usr/lib/samba/libcom_err-samba4.so.0 -usr/lib/samba/libcom_err-samba4.so.0.25 +usr/lib/samba/libcom-err-samba4.so usr/lib/samba/libcommon-auth-samba4.so usr/lib/samba/libdbwrap-samba4.so usr/lib/samba/libdcerpc-pkt-auth-samba4.so @@ -696,33 +702,25 @@ usr/lib/samba/libgensec-samba4.so usr/lib/samba/libgpext-samba4.so usr/lib/samba/libgpo-samba4.so usr/lib/samba/libgse-samba4.so -usr/lib/samba/libgssapi-samba4.so.2 -usr/lib/samba/libgssapi-samba4.so.2.0.0 -usr/lib/samba/libhcrypto-samba4.so.5 -usr/lib/samba/libhcrypto-samba4.so.5.0.1 -usr/lib/samba/libhdb-samba4.so.11 -usr/lib/samba/libhdb-samba4.so.11.0.2 -usr/lib/samba/libheimbase-samba4.so.1 -usr/lib/samba/libheimbase-samba4.so.1.0.0 -usr/lib/samba/libheimntlm-samba4.so.1 -usr/lib/samba/libheimntlm-samba4.so.1.0.1 +usr/lib/samba/libgss-preauth-samba4.so +usr/lib/samba/libgssapi-samba4.so +usr/lib/samba/libhcrypto-samba4.so +usr/lib/samba/libhdb-samba4.so +usr/lib/samba/libheimbase-samba4.so +usr/lib/samba/libheimntlm-samba4.so usr/lib/samba/libhttp-samba4.so -usr/lib/samba/libhx509-samba4.so.5 -usr/lib/samba/libhx509-samba4.so.5.0.0 +usr/lib/samba/libhx509-samba4.so usr/lib/samba/libidmap-samba4.so usr/lib/samba/libinterfaces-samba4.so usr/lib/samba/libiov-buf-samba4.so -usr/lib/samba/libkdc-samba4.so.2 -usr/lib/samba/libkdc-samba4.so.2.0.0 -usr/lib/samba/libkrb5-samba4.so.26 -usr/lib/samba/libkrb5-samba4.so.26.0.0 +usr/lib/samba/libkdc-samba4.so +usr/lib/samba/libkrb5-samba4.so usr/lib/samba/libkrb5samba-samba4.so usr/lib/samba/libldb-cmdline-samba4.so usr/lib/samba/libldb-key-value-samba4.so +usr/lib/samba/libldb-samba4.so usr/lib/samba/libldb-tdb-err-map-samba4.so usr/lib/samba/libldb-tdb-int-samba4.so -usr/lib/samba/libldb.so.2 -usr/lib/samba/libldb.so.2.4.1 usr/lib/samba/libldbsamba-samba4.so usr/lib/samba/liblibcli-lsa3-samba4.so usr/lib/samba/liblibcli-netlogon3-samba4.so @@ -741,14 +739,11 @@ usr/lib/samba/libnss-info-samba4.so usr/lib/samba/libposix-eadb-samba4.so usr/lib/samba/libprinter-driver-samba4.so usr/lib/samba/libprinting-migrate-samba4.so -usr/lib/samba/libpyldb-util.cpython-310-x86-64-linux-gnu.so.2 -usr/lib/samba/libpyldb-util.cpython-310-x86-64-linux-gnu.so.2.4.1 -usr/lib/samba/libpytalloc-util.cpython-310-x86-64-linux-gnu.so.2 -usr/lib/samba/libpytalloc-util.cpython-310-x86-64-linux-gnu.so.2.3.3 +usr/lib/samba/libpyldb-util.cpython-310-x86-64-linux-gnu-samba4.so +usr/lib/samba/libpytalloc-util.cpython-310-x86-64-linux-gnu-samba4.so usr/lib/samba/libregistry-samba4.so usr/lib/samba/libreplace-samba4.so -usr/lib/samba/libroken-samba4.so.19 -usr/lib/samba/libroken-samba4.so.19.0.1 +usr/lib/samba/libroken-samba4.so usr/lib/samba/libsamba-cluster-support-samba4.so usr/lib/samba/libsamba-debug-samba4.so usr/lib/samba/libsamba-modules-samba4.so @@ -772,22 +767,17 @@ usr/lib/samba/libsocket-blocking-samba4.so usr/lib/samba/libsys-rw-samba4.so usr/lib/samba/libtalloc-report-printf-samba4.so usr/lib/samba/libtalloc-report-samba4.so -usr/lib/samba/libtalloc.so.2 -usr/lib/samba/libtalloc.so.2.3.3 +usr/lib/samba/libtalloc-samba4.so +usr/lib/samba/libtdb-samba4.so usr/lib/samba/libtdb-wrap-samba4.so -usr/lib/samba/libtdb.so.1 -usr/lib/samba/libtdb.so.1.4.4 -usr/lib/samba/libtevent.so.0 -usr/lib/samba/libtevent.so.0.11.0 +usr/lib/samba/libtevent-samba4.so usr/lib/samba/libtime-basic-samba4.so usr/lib/samba/libtorture-samba4.so usr/lib/samba/libtrusts-util-samba4.so usr/lib/samba/libutil-reg-samba4.so usr/lib/samba/libutil-setid-samba4.so usr/lib/samba/libutil-tdb-samba4.so -usr/lib/samba/libwinbind-client-samba4.so -usr/lib/samba/libwind-samba4.so.0 -usr/lib/samba/libwind-samba4.so.0.0.0 +usr/lib/samba/libwind-samba4.so usr/lib/samba/libxattr-tdb-samba4.so usr/lib/samba/nss_info usr/lib/samba/nss_info/hash.so @@ -838,7 +828,16 @@ usr/lib/samba/vfs/xattr_tdb.so usr/lib/security usr/lib/security/pam_winbind.so #usr/libexec/samba +usr/libexec/samba/rpcd_classic +usr/libexec/samba/rpcd_epmapper +usr/libexec/samba/rpcd_fsrvp +usr/libexec/samba/rpcd_lsad +usr/libexec/samba/rpcd_mdssvc +usr/libexec/samba/rpcd_rpcecho +usr/libexec/samba/rpcd_spoolss +usr/libexec/samba/rpcd_winreg usr/libexec/samba/samba-bgqd +usr/libexec/samba/samba-dcerpcd usr/libexec/samba/smbspool_krb5_wrapper usr/sbin/eventlogadm usr/sbin/nmbd diff --git a/lfs/samba b/lfs/samba index 84800c4dd..97fe96918 100644 --- a/lfs/samba +++ b/lfs/samba @@ -24,7 +24,7 @@
include Config
-VER = 4.15.5 +VER = 4.16.0 SUMMARY = A SMB/CIFS File, Print, and Authentication Server
THISAPP = samba-$(VER) @@ -33,9 +33,9 @@ DL_FROM = $(URL_IPFIRE) DIR_APP = $(DIR_SRC)/$(THISAPP) TARGET = $(DIR_INFO)/$(THISAPP) PROG = samba -PAK_VER = 83 +PAK_VER = 84
-DEPS = avahi cups libtirpc krb5 perl-Parse-Yapp +DEPS = avahi cups libtirpc krb5 perl-Parse-Yapp perl-JSON
SERVICES = samba
@@ -47,7 +47,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_BLAKE2 = 355970b9918e95f925636cdea919e123b072f8710134fe6310637c29b2b5e1bc55d7b66d9674a68408ce5f14545a2cb9a94f596f90204935addb2f8f6a503873 +$(DL_FILE)_BLAKE2 = 6ea27634690d00779ec7f671e48b17246285c9576221d9b9b3f9238cd72310e8aaaeb646031212e65c239d2e959deef7bd9739932db0c716b7ea79cc11f2f7b8
install : $(TARGET)
- Installation of lfs and rootfile for perl-JSON - required by samba-4.16.0
Signed-off-by: Adolf Belka adolf.belka@ipfire.org --- config/rootfiles/packages/perl-JSON | 14 +++++ lfs/perl-JSON | 88 +++++++++++++++++++++++++++++ make.sh | 1 + 3 files changed, 103 insertions(+) create mode 100644 config/rootfiles/packages/perl-JSON create mode 100644 lfs/perl-JSON
diff --git a/config/rootfiles/packages/perl-JSON b/config/rootfiles/packages/perl-JSON new file mode 100644 index 000000000..e6c4dbb94 --- /dev/null +++ b/config/rootfiles/packages/perl-JSON @@ -0,0 +1,14 @@ +#usr/lib/perl5/site_perl/5.32.1/JSON +usr/lib/perl5/site_perl/5.32.1/JSON.pm +#usr/lib/perl5/site_perl/5.32.1/JSON/backportPP +usr/lib/perl5/site_perl/5.32.1/JSON/backportPP.pm +usr/lib/perl5/site_perl/5.32.1/JSON/backportPP/Boolean.pm +usr/lib/perl5/site_perl/5.32.1/JSON/backportPP/Compat5005.pm +usr/lib/perl5/site_perl/5.32.1/JSON/backportPP/Compat5006.pm +#usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/auto/JSON +#usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/auto/JSON/.packlist +#usr/share/man/man3/JSON.3 +#usr/share/man/man3/JSON::backportPP.3 +#usr/share/man/man3/JSON::backportPP::Boolean.3 +#usr/share/man/man3/JSON::backportPP::Compat5005.3 +#usr/share/man/man3/JSON::backportPP::Compat5006.3 diff --git a/lfs/perl-JSON b/lfs/perl-JSON new file mode 100644 index 000000000..796c1f034 --- /dev/null +++ b/lfs/perl-JSON @@ -0,0 +1,88 @@ +############################################################################### +# # +# IPFire.org - A linux based firewall # +# Copyright (C) 2007-2019 IPFire Team info@ipfire.org # +# # +# This program is free software: you can redistribute it and/or modify # +# it under the terms of the GNU General Public License as published by # +# the Free Software Foundation, either version 3 of the License, or # +# (at your option) any later version. # +# # +# This program is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU General Public License for more details. # +# # +# You should have received a copy of the GNU General Public License # +# along with this program. If not, see http://www.gnu.org/licenses/. # +# # +############################################################################### + + +############################################################################### +# Definitions +############################################################################### +include Config + +SUMMARY = JSON (JavaScript Object Notation) encoder/decoder + +VER = 4.05 + +THISAPP = JSON-$(VER) +DL_FILE = ${THISAPP}.tar.gz +DL_FROM = $(URL_IPFIRE) +DIR_APP = $(DIR_SRC)/$(THISAPP) +TARGET = $(DIR_INFO)/$(THISAPP) + +PROG = perl-JSON +DEPS = +PAK_VER = 1 + +SERVICES = + +############################################################################### +# Top-level Rules +############################################################################### + +objects = $(DL_FILE) + +$(DL_FILE) = $(DL_FROM)/$(DL_FILE) + +$(DL_FILE)_BLAKE2 = 0ecf27b15a780833fe6cb12bece6eaa5a75de92a02f901014105d1435857867d86ccad94e2666195fc66ed41f45f8f91061a06b1e5e05f3a332803b46bb4b53e + +install : $(TARGET) + +check : $(patsubst %,$(DIR_CHK)/%,$(objects)) + +download :$(patsubst %,$(DIR_DL)/%,$(objects)) + +b2 : $(subst %,%_BLAKE2,$(objects)) + +dist: + @$(PAK) + +############################################################################### +# Downloading, checking, b2sum +############################################################################### + +$(patsubst %,$(DIR_CHK)/%,$(objects)) : + @$(CHECK) + +$(patsubst %,$(DIR_DL)/%,$(objects)) : + @$(LOAD) + +$(subst %,%_BLAKE2,$(objects)) : + @$(B2SUM) + +############################################################################### +# Installation Details +############################################################################### + +$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) + @$(PREBUILD) + @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE) + cd $(DIR_APP) && perl Makefile.PL + cd $(DIR_APP) && make $(MAKETUNING) $(EXTRA_MAKE) + cd $(DIR_APP) && make install + @rm -rf $(DIR_APP) + @$(POSTBUILD) diff --git a/make.sh b/make.sh index 95e6e89db..5d79c803f 100755 --- a/make.sh +++ b/make.sh @@ -1421,6 +1421,7 @@ buildipfire() { lfsmake2 perl-XML-Parser lfsmake2 perl-Crypt-PasswdMD5 lfsmake2 perl-Net-Telnet + lfsmake2 perl-JSON lfsmake2 python3-setuptools lfsmake2 python3-inotify lfsmake2 python3-docutils
Hi Adolf,
I'm thinking about using Perl JSON in a CGI. Did I unterstand correctly that JSON is now available system wide by default? That would be great news :)
Best regards Leo
Am 21.04.2022 um 09:51 schrieb Adolf Belka:
- Installation of lfs and rootfile for perl-JSON - required by samba-4.16.0
Signed-off-by: Adolf Belka adolf.belka@ipfire.org
config/rootfiles/packages/perl-JSON | 14 +++++ lfs/perl-JSON | 88 +++++++++++++++++++++++++++++ make.sh | 1 + 3 files changed, 103 insertions(+) create mode 100644 config/rootfiles/packages/perl-JSON create mode 100644 lfs/perl-JSON
diff --git a/config/rootfiles/packages/perl-JSON b/config/rootfiles/packages/perl-JSON new file mode 100644 index 000000000..e6c4dbb94 --- /dev/null +++ b/config/rootfiles/packages/perl-JSON @@ -0,0 +1,14 @@ +#usr/lib/perl5/site_perl/5.32.1/JSON +usr/lib/perl5/site_perl/5.32.1/JSON.pm +#usr/lib/perl5/site_perl/5.32.1/JSON/backportPP +usr/lib/perl5/site_perl/5.32.1/JSON/backportPP.pm +usr/lib/perl5/site_perl/5.32.1/JSON/backportPP/Boolean.pm +usr/lib/perl5/site_perl/5.32.1/JSON/backportPP/Compat5005.pm +usr/lib/perl5/site_perl/5.32.1/JSON/backportPP/Compat5006.pm +#usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/auto/JSON +#usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/auto/JSON/.packlist +#usr/share/man/man3/JSON.3 +#usr/share/man/man3/JSON::backportPP.3 +#usr/share/man/man3/JSON::backportPP::Boolean.3 +#usr/share/man/man3/JSON::backportPP::Compat5005.3 +#usr/share/man/man3/JSON::backportPP::Compat5006.3 diff --git a/lfs/perl-JSON b/lfs/perl-JSON new file mode 100644 index 000000000..796c1f034 --- /dev/null +++ b/lfs/perl-JSON @@ -0,0 +1,88 @@ +############################################################################### +# # +# IPFire.org - A linux based firewall # +# Copyright (C) 2007-2019 IPFire Team info@ipfire.org # +# # +# This program is free software: you can redistribute it and/or modify # +# it under the terms of the GNU General Public License as published by # +# the Free Software Foundation, either version 3 of the License, or # +# (at your option) any later version. # +# # +# This program is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU General Public License for more details. # +# # +# You should have received a copy of the GNU General Public License # +# along with this program. If not, see http://www.gnu.org/licenses/. # +# # +###############################################################################
+############################################################################### +# Definitions +############################################################################### +include Config
+SUMMARY = JSON (JavaScript Object Notation) encoder/decoder
+VER = 4.05
+THISAPP = JSON-$(VER) +DL_FILE = ${THISAPP}.tar.gz +DL_FROM = $(URL_IPFIRE) +DIR_APP = $(DIR_SRC)/$(THISAPP) +TARGET = $(DIR_INFO)/$(THISAPP)
+PROG = perl-JSON +DEPS = +PAK_VER = 1
+SERVICES =
+############################################################################### +# Top-level Rules +###############################################################################
+objects = $(DL_FILE)
+$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
+$(DL_FILE)_BLAKE2 = 0ecf27b15a780833fe6cb12bece6eaa5a75de92a02f901014105d1435857867d86ccad94e2666195fc66ed41f45f8f91061a06b1e5e05f3a332803b46bb4b53e
+install : $(TARGET)
+check : $(patsubst %,$(DIR_CHK)/%,$(objects))
+download :$(patsubst %,$(DIR_DL)/%,$(objects))
+b2 : $(subst %,%_BLAKE2,$(objects))
+dist:
- @$(PAK)
+############################################################################### +# Downloading, checking, b2sum +###############################################################################
+$(patsubst %,$(DIR_CHK)/%,$(objects)) :
- @$(CHECK)
+$(patsubst %,$(DIR_DL)/%,$(objects)) :
- @$(LOAD)
+$(subst %,%_BLAKE2,$(objects)) :
- @$(B2SUM)
+############################################################################### +# Installation Details +###############################################################################
+$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
- @$(PREBUILD)
- @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
- cd $(DIR_APP) && perl Makefile.PL
- cd $(DIR_APP) && make $(MAKETUNING) $(EXTRA_MAKE)
- cd $(DIR_APP) && make install
- @rm -rf $(DIR_APP)
- @$(POSTBUILD)
diff --git a/make.sh b/make.sh index 95e6e89db..5d79c803f 100755 --- a/make.sh +++ b/make.sh @@ -1421,6 +1421,7 @@ buildipfire() { lfsmake2 perl-XML-Parser lfsmake2 perl-Crypt-PasswdMD5 lfsmake2 perl-Net-Telnet
- lfsmake2 perl-JSON lfsmake2 python3-setuptools lfsmake2 python3-inotify lfsmake2 python3-docutils
Hi Leo,
On 12/09/2022 19:49, Leo-Andres Hofmann wrote:
Hi Adolf,
I'm thinking about using Perl JSON in a CGI. Did I unterstand correctly that JSON is now available system wide by default? That would be great news :)
I am afraid not. It is a dependency for the samba addon and so is only installed when samba is installed.
It would be available as a build only dependency but it sounds like you need it in execution phase of the CGI.
You can just change the perl-JSON from a package rootfile to a common rootfile and update the lfs file to remove all the addon stuff and remove perl-JSON as a dependency. That would make perl-JSON a core program and it would then be available both for your CGI and also for samba, when it is installed.
Regards, Adolf.
Best regards Leo
Am 21.04.2022 um 09:51 schrieb Adolf Belka:
- Installation of lfs and rootfile for perl-JSON - required by
samba-4.16.0
Signed-off-by: Adolf Belka adolf.belka@ipfire.org
config/rootfiles/packages/perl-JSON | 14 +++++ lfs/perl-JSON | 88 +++++++++++++++++++++++++++++ make.sh | 1 + 3 files changed, 103 insertions(+) create mode 100644 config/rootfiles/packages/perl-JSON create mode 100644 lfs/perl-JSON
diff --git a/config/rootfiles/packages/perl-JSON b/config/rootfiles/packages/perl-JSON new file mode 100644 index 000000000..e6c4dbb94 --- /dev/null +++ b/config/rootfiles/packages/perl-JSON @@ -0,0 +1,14 @@ +#usr/lib/perl5/site_perl/5.32.1/JSON +usr/lib/perl5/site_perl/5.32.1/JSON.pm +#usr/lib/perl5/site_perl/5.32.1/JSON/backportPP +usr/lib/perl5/site_perl/5.32.1/JSON/backportPP.pm +usr/lib/perl5/site_perl/5.32.1/JSON/backportPP/Boolean.pm +usr/lib/perl5/site_perl/5.32.1/JSON/backportPP/Compat5005.pm +usr/lib/perl5/site_perl/5.32.1/JSON/backportPP/Compat5006.pm +#usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/auto/JSON +#usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/auto/JSON/.packlist +#usr/share/man/man3/JSON.3 +#usr/share/man/man3/JSON::backportPP.3 +#usr/share/man/man3/JSON::backportPP::Boolean.3 +#usr/share/man/man3/JSON::backportPP::Compat5005.3 +#usr/share/man/man3/JSON::backportPP::Compat5006.3 diff --git a/lfs/perl-JSON b/lfs/perl-JSON new file mode 100644 index 000000000..796c1f034 --- /dev/null +++ b/lfs/perl-JSON @@ -0,0 +1,88 @@ +############################################################################### +# # +# IPFire.org - A linux based firewall # +# Copyright (C) 2007-2019 IPFire Team info@ipfire.org # +# # +# This program is free software: you can redistribute it and/or modify # +# it under the terms of the GNU General Public License as published by # +# the Free Software Foundation, either version 3 of the License, or # +# (at your option) any later version. # +# # +# This program is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU General Public License for more details. # +# # +# You should have received a copy of the GNU General Public License # +# along with this program. If not, see http://www.gnu.org/licenses/. # +# # +###############################################################################
+############################################################################### +# Definitions +############################################################################### +include Config
+SUMMARY = JSON (JavaScript Object Notation) encoder/decoder
+VER = 4.05
+THISAPP = JSON-$(VER) +DL_FILE = ${THISAPP}.tar.gz +DL_FROM = $(URL_IPFIRE) +DIR_APP = $(DIR_SRC)/$(THISAPP) +TARGET = $(DIR_INFO)/$(THISAPP)
+PROG = perl-JSON +DEPS = +PAK_VER = 1
+SERVICES =
+############################################################################### +# Top-level Rules +###############################################################################
+objects = $(DL_FILE)
+$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
+$(DL_FILE)_BLAKE2 = 0ecf27b15a780833fe6cb12bece6eaa5a75de92a02f901014105d1435857867d86ccad94e2666195fc66ed41f45f8f91061a06b1e5e05f3a332803b46bb4b53e
+install : $(TARGET)
+check : $(patsubst %,$(DIR_CHK)/%,$(objects))
+download :$(patsubst %,$(DIR_DL)/%,$(objects))
+b2 : $(subst %,%_BLAKE2,$(objects))
+dist: + @$(PAK)
+############################################################################### +# Downloading, checking, b2sum +###############################################################################
+$(patsubst %,$(DIR_CHK)/%,$(objects)) : + @$(CHECK)
+$(patsubst %,$(DIR_DL)/%,$(objects)) : + @$(LOAD)
+$(subst %,%_BLAKE2,$(objects)) : + @$(B2SUM)
+############################################################################### +# Installation Details +###############################################################################
+$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) + @$(PREBUILD) + @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE) + cd $(DIR_APP) && perl Makefile.PL + cd $(DIR_APP) && make $(MAKETUNING) $(EXTRA_MAKE) + cd $(DIR_APP) && make install + @rm -rf $(DIR_APP) + @$(POSTBUILD) diff --git a/make.sh b/make.sh index 95e6e89db..5d79c803f 100755 --- a/make.sh +++ b/make.sh @@ -1421,6 +1421,7 @@ buildipfire() { lfsmake2 perl-XML-Parser lfsmake2 perl-Crypt-PasswdMD5 lfsmake2 perl-Net-Telnet + lfsmake2 perl-JSON lfsmake2 python3-setuptools lfsmake2 python3-inotify lfsmake2 python3-docutils