Commit 05c2da77 authored by Thomas Gambier's avatar Thomas Gambier 🚴🏼

Update Release Candidate

parents e399bfd5 2a0b04ee
...@@ -26,6 +26,7 @@ extends = ...@@ -26,6 +26,7 @@ extends =
../libnsl/buildout.cfg ../libnsl/buildout.cfg
../sqlite3/buildout.cfg ../sqlite3/buildout.cfg
../oniguruma/buildout.cfg ../oniguruma/buildout.cfg
../xz-utils/buildout.cfg
[php-redis] [php-redis]
recipe = slapos.recipe.cmmi recipe = slapos.recipe.cmmi
...@@ -93,10 +94,9 @@ configure-options = ...@@ -93,10 +94,9 @@ configure-options =
# Changing TMPDIR is required for PEAR installation. # Changing TMPDIR is required for PEAR installation.
# It will create a pear/temp directory under the SR instead of a shared /tmp/pear/temp. # It will create a pear/temp directory under the SR instead of a shared /tmp/pear/temp.
# XXX we could mkdir tmp there # XXX we could mkdir tmp there
environment = environment =
PKG_CONFIG_PATH=${libxml2:location}/lib/pkgconfig:${openssl:location}/lib/pkgconfig:${libzip:location}/lib/pkgconfig:${sqlite3:location}/lib/pkgconfig:${curl:location}/lib/pkgconfig:${icu:location}/lib/pkgconfig:${oniguruma:location}/lib/pkgconfig:${argon2:location}/lib/pkgconfig:${zlib:location}/lib/pkgconfig:${mariadb:location}/lib/pkgconfig:${libjpeg:location}/lib/pkgconfig:${libpng:location}/lib/pkgconfig:${freetype:location}/lib/pkgconfig:${libiconv:location}/lib/pkgconfig:${libzip:location}/lib/pkgconfig PKG_CONFIG_PATH=${libxml2:location}/lib/pkgconfig:${openssl:location}/lib/pkgconfig:${libzip:location}/lib/pkgconfig:${sqlite3:location}/lib/pkgconfig:${curl:location}/lib/pkgconfig:${icu:location}/lib/pkgconfig:${oniguruma:location}/lib/pkgconfig:${argon2:location}/lib/pkgconfig:${zlib:location}/lib/pkgconfig:${mariadb:location}/lib/pkgconfig:${libjpeg:location}/lib/pkgconfig:${libpng:location}/lib/pkgconfig:${freetype:location}/lib/pkgconfig:${libiconv:location}/lib/pkgconfig:${libzip:location}/lib/pkgconfig
PATH=${pkgconfig:location}/bin:${bzip2:location}/bin:${libxml2:location}/bin:%(PATH)s PATH=${pkgconfig:location}/bin:${bzip2:location}/bin:${libxml2:location}/bin:${xz-utils:location}/bin:%(PATH)s
CPPFLAGS=-I${libzip:location}/include CPPFLAGS=-I${libzip:location}/include
LDFLAGS=-L${bzip2:location}/lib -Wl,-rpath -Wl,${bzip2:location}/lib -Wl,-rpath -Wl,${curl:location}/lib -L${libtool:location}/lib -Wl,-rpath -Wl,${libtool:location}/lib -L${mariadb:location}/lib -Wl,-rpath -Wl,${mariadb:location}/lib -L${zlib:location}/lib -Wl,-rpath -Wl,${zlib:location}/lib -L${libzip:location}/lib -Wl,-rpath -Wl,${libzip:location}/lib -L${argon2:location}/lib/x86_64-linux-gnu -Wl,-rpath -Wl,${argon2:location}/lib/x86_64-linux-gnu -Wl,-rpath -Wl,${zstd:location}/lib -L${libnsl:location}/lib -Wl,-rpath -Wl,${libnsl:location}/lib -L${sqlite3:location}/lib -Wl,-rpath -Wl,${sqlite3:location}/lib LDFLAGS=-L${bzip2:location}/lib -Wl,-rpath -Wl,${bzip2:location}/lib -Wl,-rpath -Wl,${curl:location}/lib -L${libtool:location}/lib -Wl,-rpath -Wl,${libtool:location}/lib -L${mariadb:location}/lib -Wl,-rpath -Wl,${mariadb:location}/lib -L${zlib:location}/lib -Wl,-rpath -Wl,${zlib:location}/lib -L${libzip:location}/lib -Wl,-rpath -Wl,${libzip:location}/lib -L${argon2:location}/lib/x86_64-linux-gnu -Wl,-rpath -Wl,${argon2:location}/lib/x86_64-linux-gnu -Wl,-rpath -Wl,${zstd:location}/lib -L${libnsl:location}/lib -Wl,-rpath -Wl,${libnsl:location}/lib -L${sqlite3:location}/lib -Wl,-rpath -Wl,${sqlite3:location}/lib
TMPDIR=@@LOCATION@@ TMPDIR=@@LOCATION@@
......
...@@ -16,7 +16,7 @@ url = https://deb.debian.org/debian/pool/main/c/ca-certificates/ca-certificates_ ...@@ -16,7 +16,7 @@ url = https://deb.debian.org/debian/pool/main/c/ca-certificates/ca-certificates_
md5sum = fc1c3ec0067385f0be8ac7f6e670a0f8 md5sum = fc1c3ec0067385f0be8ac7f6e670a0f8
patch-binary = ${patch:location}/bin/patch patch-binary = ${patch:location}/bin/patch
patches = patches =
${:_profile_base_location_}/ca-certificates-any-python.patch#a5817d1b7162f8f814960f72c747e3af ${:_profile_base_location_}/ca-certificates-any-python.patch#56ecfeb8f23ae00726191a611d08894e
${:_profile_base_location_}/ca-certificates-mkdir-p.patch#02ed8a6d60c39c4b088657888af345ef ${:_profile_base_location_}/ca-certificates-mkdir-p.patch#02ed8a6d60c39c4b088657888af345ef
${:_profile_base_location_}/ca-certificates-no-cryptography.patch#14ad1308623b0d15420906ae3d9b4867 ${:_profile_base_location_}/ca-certificates-no-cryptography.patch#14ad1308623b0d15420906ae3d9b4867
patch-options = -p0 patch-options = -p0
...@@ -25,4 +25,4 @@ make-targets = install DESTDIR=@@LOCATION@@ CERTSDIR=certs SBINDIR=sbin ...@@ -25,4 +25,4 @@ make-targets = install DESTDIR=@@LOCATION@@ CERTSDIR=certs SBINDIR=sbin
environment = environment =
PATH=${xz-utils:location}/bin:%(PATH)s PATH=${xz-utils:location}/bin:%(PATH)s
pre-make-hook = pre-make-hook =
${:_profile_base_location_}/ca-certificates-pre-make-hook.py#9e2f6f22d91ea7a089f0ea2c523b0c1e:pre_make_hook ${:_profile_base_location_}/ca-certificates-pre-make-hook.py#89d64d612e143638b7b264be4b129798:pre_make_hook
...@@ -9,14 +9,3 @@ ...@@ -9,14 +9,3 @@
in_multiline = False in_multiline = False
continue continue
if line.startswith('CKA_CLASS'): if line.startswith('CKA_CLASS'):
--- mozilla/Makefile 2015-12-20 10:49:23.000000000 +0100
+++ mozilla/Makefile 2016-01-05 20:19:11.006874271 +0100
@@ -3,7 +3,7 @@
#
all:
- python3 certdata2pem.py
+ SLAPOS_BUILDOUT_PYTHON certdata2pem.py
clean:
-rm -f *.crt
import pathlib
import sys import sys
# Because ca-certificate is used very early in the bootstrap process,
# even before python is built, we can not use the software release python
# yet, because it would loop forever in slapos.rebootstrap.
# By using sys.executable in a hook like this, we can use python without
# buildout recording a dependency to python in the part options.
def pre_make_hook(options, buildout, environ): def pre_make_hook(options, buildout, environ):
makefile = pathlib.Path('mozilla/Makefile') with open('mozilla/Makefile') as f:
txt = makefile.read_text().replace('SLAPOS_BUILDOUT_PYTHON', sys.executable) makefile = f.read()
makefile.write_text(txt) makefile = makefile.replace('python3 certdata2pem.py', '%s certdata2pem.py' % sys.executable)
with open('mozilla/Makefile', 'w') as f:
f.write(makefile)
...@@ -17,6 +17,7 @@ init = ...@@ -17,6 +17,7 @@ init =
python = self.buildout[options['part']] python = self.buildout[options['part']]
for x in 'location', 'executable', 'version': for x in 'location', 'executable', 'version':
options[x] = python[x] options[x] = python[x]
options.barrier()
update = update =
import os import os
path, os.environ['PYTHON'] = os.path.split(options['executable']) path, os.environ['PYTHON'] = os.path.split(options['executable'])
...@@ -65,7 +66,6 @@ init = ...@@ -65,7 +66,6 @@ init =
break break
else: else:
options['prefix'] = self.buildout[options['part']]['location'] options['prefix'] = self.buildout[options['part']]['location']
options.barrier()
update = update =
if 'part' in options: if 'part' in options:
import os import os
......
...@@ -9,8 +9,10 @@ parts = ...@@ -9,8 +9,10 @@ parts =
[flex] [flex]
recipe = slapos.recipe.cmmi recipe = slapos.recipe.cmmi
shared = true shared = true
url = http://downloads.sourceforge.net/project/flex/flex-2.6.0.tar.xz url = https://github.com/westes/flex/releases/download/v2.6.4/flex-2.6.4.tar.gz
md5sum = 3cbbfa1554d0b75fad9f8100732454de md5sum = 2882e3179748cc9f9c23ec593d6adc8d
environment = environment =
M4=${m4:location}/bin/m4 M4=${m4:location}/bin/m4
PATH=${bison:location}/bin:${xz-utils:location}/bin:%(PATH)s PATH=${bison:location}/bin:${xz-utils:location}/bin:%(PATH)s
# CFLAGS to workaround https://github.com/westes/flex/issues/442
CFLAGS=-g -O2 -D_GNU_SOURCE
From 90950c10cf6bfcba777a5b22cdcd3b54b4043d35 Mon Sep 17 00:00:00 2001 From 2a3dd1d84cf45bb78f1b42deab5a8386932c0802 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9rome=20Perrin?= <jerome@nexedi.com> From: =?UTF-8?q?J=C3=A9rome=20Perrin?= <jerome@nexedi.com>
Date: Tue, 20 Sep 2022 23:10:16 +0900 Date: Sun, 15 Oct 2023 09:39:33 +0900
Subject: [PATCH] slapos: don't try to install system startup script Subject: [PATCH] slapos: don't try to install system startup script
in slapos context we don't write to system directories when installing in slapos context we don't write to system directories when installing
packages packages
--- ---
src/CMakeLists.txt | 21 --------------------- src/CMakeLists.txt | 27 ---------------------------
1 file changed, 21 deletions(-) 1 file changed, 27 deletions(-)
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 630f875bf..388c72ab1 100644 index b6233d9f7..9b3d395ba 100644
--- a/src/CMakeLists.txt --- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt +++ b/src/CMakeLists.txt
@@ -477,27 +477,6 @@ if(FLB_BINARY) @@ -515,33 +515,6 @@ if(FLB_BINARY)
DESTINATION "${FLB_INSTALL_BINDIR}") DESTINATION "${FLB_INSTALL_BINDIR}")
endif() endif()
- # Detect init system, install upstart, systemd or init.d script - # Detect init system, install upstart, systemd or init.d script
- if(IS_DIRECTORY /lib/systemd/system) -
- # Handle issues with detection on some systems during build
- if(NOT SYSTEMD_UNITDIR AND IS_DIRECTORY /lib/systemd/system)
- set(SYSTEMD_UNITDIR /lib/systemd/system)
- endif()
-
- if(SYSTEMD_UNITDIR)
- set(FLB_SYSTEMD_SCRIPT "${PROJECT_SOURCE_DIR}/init/${FLB_OUT_NAME}.service") - set(FLB_SYSTEMD_SCRIPT "${PROJECT_SOURCE_DIR}/init/${FLB_OUT_NAME}.service")
- configure_file( - configure_file(
- "${PROJECT_SOURCE_DIR}/init/systemd.in" - "${PROJECT_SOURCE_DIR}/init/systemd.in"
- ${FLB_SYSTEMD_SCRIPT} - ${FLB_SYSTEMD_SCRIPT}
- ) - )
- install(FILES ${FLB_SYSTEMD_SCRIPT} COMPONENT binary DESTINATION /lib/systemd/system) - install(FILES ${FLB_SYSTEMD_SCRIPT} COMPONENT binary DESTINATION ${SYSTEMD_UNITDIR})
- install(DIRECTORY DESTINATION ${FLB_INSTALL_CONFDIR} COMPONENT binary) - install(DIRECTORY DESTINATION ${FLB_INSTALL_CONFDIR} COMPONENT binary)
- elseif(IS_DIRECTORY /usr/share/upstart) - elseif(IS_DIRECTORY /usr/share/upstart)
- set(FLB_UPSTART_SCRIPT "${PROJECT_SOURCE_DIR}/init/${FLB_OUT_NAME}.conf") - set(FLB_UPSTART_SCRIPT "${PROJECT_SOURCE_DIR}/init/${FLB_OUT_NAME}.conf")
...@@ -42,4 +48,5 @@ index 630f875bf..388c72ab1 100644 ...@@ -42,4 +48,5 @@ index 630f875bf..388c72ab1 100644
install(FILES install(FILES
"${PROJECT_SOURCE_DIR}/conf/fluent-bit-win32.conf" "${PROJECT_SOURCE_DIR}/conf/fluent-bit-win32.conf"
-- --
2.37.0 2.40.1
[buildout] [buildout]
extends = extends =
../cmake/buildout.cfg
../bison/buildout.cfg ../bison/buildout.cfg
../cmake/buildout.cfg
../flex/buildout.cfg ../flex/buildout.cfg
../libyaml/buildout.cfg
../openssl/buildout.cfg
../patch/buildout.cfg ../patch/buildout.cfg
../zlib/buildout.cfg
[fluent-bit] [fluent-bit]
recipe = slapos.recipe.cmmi recipe = slapos.recipe.cmmi
url = https://github.com/fluent/fluent-bit/archive/refs/tags/v1.9.8.tar.gz shared = true
md5sum = a0973b739f1d1f0daaa503b077760cd7 url = https://github.com/fluent/fluent-bit/archive/refs/tags/v2.1.10.tar.gz
configure-command = md5sum = 1608fdb463f19d3add5e9f17e2eb1f7d
configure-command =
${cmake:location}/bin/cmake ${cmake:location}/bin/cmake
configure-options = configure-options =
-DFLB_CONFIG_YAML=Off .
-DCMAKE_INSTALL_PREFIX=@@LOCATION@@ -DCMAKE_INSTALL_PREFIX=@@LOCATION@@
-DFLB_LIBYAML_DIR=${libyaml:location}
-DOPENSSL_ROOT_DIR=${openssl:location}
environment = environment =
PATH=${bison:location}/bin:${flex:location}/bin:%(PATH)s PATH=${bison:location}/bin:${flex:location}/bin:%(PATH)s
LDFLAGS=-Wl,-rpath=${libyaml:location}/lib -Wl,-rpath=${openssl:location}/lib -Wl,-rpath=${zlib:location}/lib
patch-options = -p1 patch-options = -p1
patches = patches =
${:_profile_base_location_}/0001-slapos-don-t-try-to-install-system-startup-script.patch#c071d1aefe0adbc6c96bbdf92d9dbb29 ${:_profile_base_location_}/0001-slapos-don-t-try-to-install-system-startup-script.patch#7bf6e1b53c371db918dcc3778c6b28ed
patch-binary = ${patch:location}/bin/patch patch-binary = ${patch:location}/bin/patch
...@@ -74,19 +74,21 @@ openssl_location = ${openssl:location} ...@@ -74,19 +74,21 @@ openssl_location = ${openssl:location}
version = v12.18.3 version = v12.18.3
md5sum = 28bf6a4d98b238403fa58a0805f4a979 md5sum = 28bf6a4d98b238403fa58a0805f4a979
PATH = ${pkgconfig:location}/bin:${python2.7:location}/bin:%(PATH)s PATH = ${pkgconfig:location}/bin:${python2.7:location}/bin:%(PATH)s
configure-command = ./configure
[nodejs-8.9.4] [nodejs-8.9.4]
<= nodejs-base <= nodejs-base
version = v8.9.4 version = v8.9.4
md5sum = 4ddc1daff327d7e6f63da57fdfc24f55 md5sum = 4ddc1daff327d7e6f63da57fdfc24f55
PATH = ${pkgconfig:location}/bin:${python2.7:location}/bin:%(PATH)s PATH = ${pkgconfig:location}/bin:${python2.7:location}/bin:%(PATH)s
configure-command = ./configure
[nodejs-8.12.0] [nodejs-8.12.0]
<= nodejs-base <= nodejs-base
version = v8.12.0 version = v8.12.0
md5sum = 5690333b77964edf81945fc724f6ea85 md5sum = 5690333b77964edf81945fc724f6ea85
PATH = ${pkgconfig:location}/bin:${python2.7:location}/bin:%(PATH)s PATH = ${pkgconfig:location}/bin:${python2.7:location}/bin:%(PATH)s
configure-command = ./configure
[nodejs-base] [nodejs-base]
# Server-side Javascript. # Server-side Javascript.
...@@ -97,11 +99,13 @@ openssl_location = ${openssl-1.0:location} ...@@ -97,11 +99,13 @@ openssl_location = ${openssl-1.0:location}
recipe = slapos.recipe.cmmi recipe = slapos.recipe.cmmi
shared = true shared = true
url = https://nodejs.org/dist/${:version}/node-${:version}.tar.gz url = https://nodejs.org/dist/${:version}/node-${:version}.tar.gz
configure-command = python3 configure
configure-options = configure-options =
--prefix=%(location)s
--shared-openssl --shared-openssl
--shared-openssl-includes=${:openssl_location}/include --shared-openssl-includes=${:openssl_location}/include
--shared-openssl-libpath=${:openssl_location}/lib --shared-openssl-libpath=${:openssl_location}/lib
PATH = ${pkgconfig:location}/bin:%(PATH)s PATH = ${python3:location}/bin:${pkgconfig:location}/bin:%(PATH)s
environment = environment =
HOME=@@LOCATION@@ HOME=@@LOCATION@@
PATH=${:PATH} PATH=${:PATH}
......
...@@ -19,6 +19,10 @@ md5sum = c2e9938f082b027110fba538de76684c ...@@ -19,6 +19,10 @@ md5sum = c2e9938f082b027110fba538de76684c
patch-options = -p1 patch-options = -p1
patches = patches =
${:_profile_base_location_}/ipv6_bugfix.patch#355bec02adee4ea73ff5a56ba6971ad2 ${:_profile_base_location_}/ipv6_bugfix.patch#355bec02adee4ea73ff5a56ba6971ad2
pre-configure =
# remove old FindPython3 which does not know about python > 3.8 to
# use FindPython3 bundled with slapos' cmake
rm tools/cmake/FindPython3.cmake tools/cmake/FindPython/Support.cmake
configure-command = configure-command =
${cmake:location}/bin/cmake ${cmake:location}/bin/cmake
configure-options = configure-options =
...@@ -30,5 +34,5 @@ configure-options = ...@@ -30,5 +34,5 @@ configure-options =
-DUA_NAMESPACE_ZERO=REDUCED -DUA_NAMESPACE_ZERO=REDUCED
post-install = post-install =
cp src/pubsub/*.h deps/open62541_queue.h @@LOCATION@@/include cp src/pubsub/*.h deps/open62541_queue.h @@LOCATION@@/include
environement = environment =
PATH=${python3:location}/bin:${patch:location}/bin:%(PATH)s PATH=${python3:location}/bin:${patch:location}/bin:%(PATH)s
From 26cf06121b03ef60fd49af6f0f56e743b332f6b0 Mon Sep 17 00:00:00 2001
From: Dan Dedrick <ddedrick@lexmark.com>
Date: Thu, 12 Oct 2017 21:49:39 -0400
Subject: [PATCH] Fix missing build dependency for pods
When building perl with highly parallel options (e.g. -j 32) on a machine
with many cores (e.g. 32) ocassionaly it fails with the following type
of error.
make[1]: Entering directory '.../cpan/podlators'
Can't locate Getopt/Long.pm in @INC (you may need to install the Getopt::Long module) (@INC contains: .../cpan/AutoLoader/lib .../dist/Carp/lib .../dist/PathTools .../dist/PathTools/lib .../cpan/ExtUtils-Install/lib .../cpan/ExtUtils-MakeMaker/lib .../cpan/ExtUtils-Manifest/lib .../cpan/File-Path/lib .../ext/re .../dist/Term-ReadLine/lib .../dist/Exporter/lib .../ext/File-Find/lib .../cpan/Text-Tabs/lib .../dist/constant/lib .../cpan/version/lib .../lib ../../lib .) at .../cpan/ExtUtils-MakeMaker/lib/ExtUtils/Command/MM.pm line 109.
Makefile:445: recipe for target 'manifypods' failed
make[1]: *** [manifypods] Error 2
The scripts pod2man, pod2text, podchecker, podselect, and pod2usage all use
Getopt-Long and since they are all part of nonxs modules this needs to be
added here to prevent these build races.
---
write_buildcustomize.pl | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/write_buildcustomize.pl b/write_buildcustomize.pl
index 8666a6bce2..7a55405029 100644
--- a/write_buildcustomize.pl
+++ b/write_buildcustomize.pl
@@ -39,6 +39,7 @@ my @toolchain = qw(cpan/AutoLoader/lib
cpan/Text-Tabs/lib
dist/constant/lib
cpan/version/lib
+ cpan/Getopt-Long/lib
);
# Text-ParseWords used only in ExtUtils::Liblist::Kid::_win32_ext()
@@ -47,7 +48,6 @@ my @toolchain = qw(cpan/AutoLoader/lib
push @toolchain, qw(
cpan/Text-ParseWords/lib
dist/ExtUtils-ParseXS/lib
- cpan/Getopt-Long/lib
cpan/parent/lib
cpan/ExtUtils-Constant/lib
) if $^O eq 'MSWin32';
--
2.13.6
From b2cb17719c9233fbc9040ced04418be051c91c14 Mon Sep 17 00:00:00 2001
From: Sawyer X <xsawyerx@cpan.org>
Date: Fri, 27 Apr 2018 20:35:42 +0300
Subject: Storable: fix for strawberry build failures:
Provided by Graham @haarg Knop.
Origin: upstream, https://perl5.git.perl.org/perl.git/commit/3f4cad1bbe7c6238adba5abb2415775a74eded4d
Patch-Name: fixes/storable-probing/prereq1.diff
---
dist/Storable/Makefile.PL | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/dist/Storable/Makefile.PL b/dist/Storable/Makefile.PL
index 697750566..4f0213277 100644
--- a/dist/Storable/Makefile.PL
+++ b/dist/Storable/Makefile.PL
@@ -14,10 +14,12 @@ use File::Spec;
unlink "lib/Storable/Limit.pm";
+my $limit_pm = File::Spec->catfile('lib', 'Storable', 'Limit.pm');
+
my $pm = { 'Storable.pm' => '$(INST_ARCHLIB)/Storable.pm' };
unless ($ENV{PERL_CORE}) {
# the core Makefile takes care of this for core builds
- $pm->{"lib/Storable/Limit.pm"} = '$(INST_ARCHLIB)/Storable/Limit.pm';
+ $pm->{$limit_pm} = '$(INST_ARCHLIB)/Storable/Limit.pm';
}
WriteMakefile(
@@ -91,7 +93,6 @@ sub depend {
$extra_deps = ' Storable.pm';
}
my $linktype = uc($_[0]->{LINKTYPE});
- my $limit_pm = File::Spec->catfile('lib', 'Storable', 'Limit.pm');
"
$limit_pm : stacksize \$(INST_$linktype)$extra_deps
\$(MKPATH) \$(INST_LIB)
@@ -111,7 +112,7 @@ sub test {
my $out = $self->SUPER::test(%attr);
if ($ENV{PERL_CORE}) {
- $out =~ s!^(test(?:db)?_(?:static|dynamic)\b.*)!$1 lib/Storable/Limit.pm!gm;
+ $out =~ s!^(test(?:db)?_(?:static|dynamic)\b.*)!$1 $limit_pm!gm;
}
$out;
From cece912f1d5e5e80dc8d64364b0ddc4bf729bd85 Mon Sep 17 00:00:00 2001
From: Tony Cook <tony@develop-help.com>
Date: Mon, 30 Jul 2018 21:00:52 +1000
Subject: (perl #133411) don't try to load Storable with -Dusecrosscompile
Origin: https://perl5.git.perl.org/perl.git/commit/edf639fce3e8c8852ee4179ab902b357b1deba98
Bug: https://rt.perl.org/Public/Bug/Display.html?id=133411
Patch-Name: fixes/storable-probing/prereq2.diff
---
dist/Storable/Makefile.PL | 9 ++++++++-
dist/Storable/stacksize | 10 +++++++---
2 files changed, 15 insertions(+), 4 deletions(-)
diff --git a/dist/Storable/Makefile.PL b/dist/Storable/Makefile.PL
index 4f0213277..69efc8294 100644
--- a/dist/Storable/Makefile.PL
+++ b/dist/Storable/Makefile.PL
@@ -92,11 +92,18 @@ sub depend {
# blib.pm needs arch/lib
$extra_deps = ' Storable.pm';
}
+ my $whichperl;
+ if ($Config::Config{usecrosscompile}) {
+ $whichperl = '$(PERLRUN)';
+ }
+ else {
+ $whichperl = '$(FULLPERLRUNINST)';
+ }
my $linktype = uc($_[0]->{LINKTYPE});
"
$limit_pm : stacksize \$(INST_$linktype)$extra_deps
\$(MKPATH) \$(INST_LIB)
- \$(FULLPERLRUNINST) stacksize $options
+ $whichperl stacksize $options
release : dist
git tag \$(VERSION)
diff --git a/dist/Storable/stacksize b/dist/Storable/stacksize
index 7abd3a84c..14e073973 100644
--- a/dist/Storable/stacksize
+++ b/dist/Storable/stacksize
@@ -7,6 +7,9 @@ use Cwd;
use File::Spec;
use strict;
+-d "lib" or mkdir "lib";
+-d "lib/Storable" or mkdir "lib/Storable";
+
my $fn = "lib/Storable/Limit.pm";
my $ptrsize = $Config{ptrsize};
my ($bad1, $bad2) = (65001, 25000);
@@ -29,6 +32,10 @@ sub is_miniperl {
}
if (is_miniperl()) {
+ if ($Config{usecrosscompile}) {
+ write_limits(500, 265);
+ exit;
+ }
die "Should not run during miniperl\n";
}
my $prefix = "";
@@ -68,9 +75,6 @@ if ($ENV{PERL_CORE}) {
}
}
--d "lib" or mkdir "lib";
--d "lib/Storable" or mkdir "lib/Storable";
-
if ($^O eq "MSWin32") {
require Win32;
my ($str, $major, $minor) = Win32::GetOSVersion();
This diff is collapsed.
[buildout] [buildout]
extends = extends =
../gdbm/buildout.cfg ../gdbm/buildout.cfg
../patch/buildout.cfg
../xz-utils/buildout.cfg ../xz-utils/buildout.cfg
parts = parts =
perl perl
...@@ -9,17 +8,10 @@ parts = ...@@ -9,17 +8,10 @@ parts =
[perl] [perl]
recipe = slapos.recipe.cmmi recipe = slapos.recipe.cmmi
shared = true shared = true
version = 5.28.1 version = 5.38.0
url = http://www.cpan.org/src/5.0/perl-${:version}.tar.xz url = https://www.cpan.org/src/5.0/perl-${:version}.tar.xz
md5sum = fbb590c305f2f88578f448581b8cf9c4 md5sum = e1c8aaec897dd386c741f97eef9f2e87
siteprefix =@@LOCATION@@/site_${:_buildout_section_name_} siteprefix =@@LOCATION@@/site_${:_buildout_section_name_}
patch-options = -p1
patches =
${:_profile_base_location_}/perl-keep-linker-flags-in-ldflags.patch#4e8e0c59d7176eafb0c7402dea17bef1
${:_profile_base_location_}/0001-Fix-missing-build-dependency-for-pods.patch#85aff81f3bea34fcd6ce9a611ee1cdb2
${:_profile_base_location_}/0002-prereq1.patch#c9bf3b521a39134d044eaa2c2312174f
${:_profile_base_location_}/0003-prereq2.patch#5268ff6dd06718cff34e6fb758045996
${:_profile_base_location_}/0004-disable-probing.patch#e68446ccd155c2282639e495a5be612b
configure-command = configure-command =
sh Configure -des \ sh Configure -des \
-Dprefix=@@LOCATION@@ \ -Dprefix=@@LOCATION@@ \
...@@ -30,7 +22,7 @@ configure-command = ...@@ -30,7 +22,7 @@ configure-command =
-Dnoextensions=ODBM_File \ -Dnoextensions=ODBM_File \
-Dusethreads -Dusethreads
environment = environment =
PATH=${patch:location}/bin:${xz-utils:location}/bin:%(PATH)s PATH=${xz-utils:location}/bin:%(PATH)s
post-make-hook = ${:_profile_base_location_}/perl-create-libs-symlink.py#8a2cae20c74f93c2bab2c82564aeeaca:post_make_hook post-make-hook = ${:_profile_base_location_}/perl-create-libs-symlink.py#8a2cae20c74f93c2bab2c82564aeeaca:post_make_hook
......
--- perl-5.20.0/Configure.orig 2014-05-28 15:27:22.865060361 +0200
+++ perl-5.20.0/Configure 2014-05-28 15:32:14.297064994 +0200
@@ -8277,16 +8277,7 @@
case "$dflt" in
none) dflt='' ;;
esac
- for thisflag in $ldflags; do
- case "$thisflag" in
- -L*|-R*|-Wl,-R*)
- case " $dflt " in
- *" $thisflag "*) ;;
- *) dflt="$dflt $thisflag" ;;
- esac
- ;;
- esac
- done
+ dflt="$dflt $ldflags"
case "$dflt" in
''|' ') dflt='none' ;;
[buildout] [buildout]
extends = extends =
../readline/buildout.cfg ../readline/buildout.cfg
../tcl/buildout.cfg
../zlib/buildout.cfg ../zlib/buildout.cfg
parts = parts =
sqlite3 sqlite3
...@@ -8,14 +9,18 @@ parts = ...@@ -8,14 +9,18 @@ parts =
[sqlite3] [sqlite3]
recipe = slapos.recipe.cmmi recipe = slapos.recipe.cmmi
shared = true shared = true
url = https://sqlite.org/2022/sqlite-autoconf-3370200.tar.gz # Some options need the canonical source code (i.e. not as an amalgamation).
md5sum = 683cc5312ee74e71079c14d24b7a6d27 url = https://deb.debian.org/debian/pool/main/s/sqlite3/sqlite3_3.40.1.orig.tar.xz
md5sum = 79f2507907721b770cbec98195cecece
pre-configure = sed -i 's/-ltinfo//g;s/-ltermcap//g;s/ termcap//;s/ curses//' configure pre-configure = sed -i 's/-ltinfo//g;s/-ltermcap//g;s/ termcap//;s/ curses//' configure
configure-options = configure-options =
--disable-static --disable-static
--disable-tcl
--enable-readline --enable-readline
# Increase MAX_VARIABLE_NUMBER like many os. For example: # Increase MAX_VARIABLE_NUMBER like many os. For example:
# https://git.archlinux.org/svntogit/packages.git/tree/trunk/PKGBUILD?h=packages/sqlite # https://git.archlinux.org/svntogit/packages.git/tree/trunk/PKGBUILD?h=packages/sqlite
# NEO needs SQLITE_ENABLE_UPDATE_DELETE_LIMIT to drop partitions.
environment = environment =
CPPFLAGS=-I${readline:location}/include -I${ncurses:location}/include -I${zlib:location}/include -DSQLITE_MAX_VARIABLE_NUMBER=250000 CPPFLAGS=-I${readline:location}/include -I${ncurses:location}/include -I${zlib:location}/include -DSQLITE_MAX_VARIABLE_NUMBER=250000 -DSQLITE_ENABLE_UPDATE_DELETE_LIMIT=1
LDFLAGS=-L@@LOCATION@@ -Wl,-rpath=${readline:location}/lib -Wl,-rpath=${ncurses:location}/lib -L${readline:location}/lib -L${ncurses:location}/lib -L${zlib:location}/lib -Wl,-rpath=${zlib:location}/lib LDFLAGS=-L@@LOCATION@@ -Wl,-rpath=${readline:location}/lib -Wl,-rpath=${ncurses:location}/lib -L${readline:location}/lib -L${ncurses:location}/lib -L${zlib:location}/lib -Wl,-rpath=${zlib:location}/lib
PATH=${tcl:location}/bin:%(PATH)s
...@@ -5,13 +5,14 @@ parts = tcl ...@@ -5,13 +5,14 @@ parts = tcl
[tcl] [tcl]
recipe = slapos.recipe.cmmi recipe = slapos.recipe.cmmi
url = http://prdownloads.sourceforge.net/tcl/tcl8.6.11-src.tar.gz url = https://prdownloads.sourceforge.net/tcl/tcl8.6.13-src.tar.gz
md5sum = 8a4c004f48984a03a7747e9ba06e4da4 md5sum = 0e4358aade2f5db8a8b6f2f6d9481ec2
shared = true shared = true
environment = environment =
CPPFLAGS=-I${zlib:location}/include CPPFLAGS=-I${zlib:location}/include
LDFLAGS=-L${zlib:location}/lib -Wl,-rpath=${zlib:location}/lib LDFLAGS=-L${zlib:location}/lib -Wl,-rpath=${zlib:location}/lib
configure-command = ./unix/configure pre-configure = rm -r pkgs/*/
configure-command = unix/configure
configure-options = configure-options =
--prefix=@@LOCATION@@ --prefix=%(location)s
--with-encoding=utf-8 --with-encoding=utf-8
...@@ -16,7 +16,7 @@ ...@@ -16,7 +16,7 @@
[template] [template]
filename = instance.cfg filename = instance.cfg
md5sum = bc60058a9407fc481b1a652b2f3b5498 md5sum = 998b5ec0dc8c76736c624af2f96ea94d
[amarisoft-stats.jinja2.py] [amarisoft-stats.jinja2.py]
_update_hash_filename_ = amarisoft-stats.jinja2.py _update_hash_filename_ = amarisoft-stats.jinja2.py
...@@ -28,7 +28,7 @@ md5sum = ab666fdfadbfc7d8a16ace38d295c883 ...@@ -28,7 +28,7 @@ md5sum = ab666fdfadbfc7d8a16ace38d295c883
[ncclient_common] [ncclient_common]
_update_hash_filename_ = ncclient_common.py _update_hash_filename_ = ncclient_common.py
md5sum = 63316f6a8a6a480e10db7e78cca72f3b md5sum = 6f8d0592cc4b0b695cea5a0c25aafc4e
[lopcomm-rrh-stats.jinja2.py] [lopcomm-rrh-stats.jinja2.py]
_update_hash_filename_ = lopcomm-rrh-stats.jinja2.py _update_hash_filename_ = lopcomm-rrh-stats.jinja2.py
...@@ -46,9 +46,17 @@ md5sum = 2cd8515253b75e2ab13cc77399762851 ...@@ -46,9 +46,17 @@ md5sum = 2cd8515253b75e2ab13cc77399762851
_update_hash_filename_ = lopcomm-rrh-supervision.jinja2.py _update_hash_filename_ = lopcomm-rrh-supervision.jinja2.py
md5sum = 243d9fbf640b8dc8bf63d69b07b8afed md5sum = 243d9fbf640b8dc8bf63d69b07b8afed
[lopcomm-rrh-reset-info.jinja2.py]
_update_hash_filename_ = lopcomm-rrh-reset-info.jinja2.py
md5sum = e03d7fea24566aa8291f0dc4aaf09c67
[lopcomm-rrh-reset.jinja2.py]
_update_hash_filename_ = lopcomm-rrh-reset.jinja2.py
md5sum = 63472d5dc9bd46923d3941b5189e2ccd
[template-enb] [template-enb]
_update_hash_filename_ = instance-enb.jinja2.cfg _update_hash_filename_ = instance-enb.jinja2.cfg
md5sum = 8a47df7cfefa3876afea38ced2c5005f md5sum = d1111793f54ef444f864a7adf815c822
[template-gnb] [template-gnb]
_update_hash_filename_ = instance-gnb.jinja2.cfg _update_hash_filename_ = instance-gnb.jinja2.cfg
...@@ -76,7 +84,7 @@ md5sum = dcaac06553a3222b14c0013a13f4a149 ...@@ -76,7 +84,7 @@ md5sum = dcaac06553a3222b14c0013a13f4a149
[enb.jinja2.cfg] [enb.jinja2.cfg]
filename = config/enb.jinja2.cfg filename = config/enb.jinja2.cfg
md5sum = e33bf40dfdb32d91d3a1b3f3a10ede34 md5sum = 0251445fc4b1139000b99ff28ef729c9
[sib23.jinja2.asn] [sib23.jinja2.asn]
filename = config/sib23.jinja2.asn filename = config/sib23.jinja2.asn
......
Changelog Changelog
========= =========
Version 1.0.339 (2023-10-16)
-------------
* Lopcomm firmware update
* RRH reset (reboot) function added
* Fix cpri_tx_dbm parameter
* Print RRH IPv6 and firmware information
Version 1.0.336 (2023-09-25) Version 1.0.336 (2023-09-25)
------------- -------------
......
...@@ -77,6 +77,14 @@ ...@@ -77,6 +77,14 @@
{{ cell_list[k].get('cpri_tx_delay', 0) }} {{ cell_list[k].get('cpri_tx_delay', 0) }}
{%- endfor -%} {%- endfor -%}
", ",
cpri_tx_dbm: "
{%- for i, k in enumerate(cell_list) %}
{%- if i != 0 -%}
,
{%- endif -%}
{{ cell_list[k].get('cpri_tx_dbm', 0) }}
{%- endfor -%}
",
ifname: " ifname: "
{%- if cell_count == 1 -%} {%- if cell_count == 1 -%}
{{ slap_configuration.get('tap-name', '') }} {{ slap_configuration.get('tap-name', '') }}
......
...@@ -240,6 +240,11 @@ ...@@ -240,6 +240,11 @@
"textarea": true, "textarea": true,
"type": "string" "type": "string"
}, },
"cron_schedule": {
"title": "Cron schedule for RRH reset",
"description": "Refer https://crontab.guru/ to make a reset schedule for RRH, for example, '0 1 * * *' means the RRH will reset every day at 1 am",
"type": "string"
},
{%- endif %} {%- endif %}
"enb_id": { "enb_id": {
"title": "eNB ID", "title": "eNB ID",
......
...@@ -14,6 +14,10 @@ parts = ...@@ -14,6 +14,10 @@ parts =
lopcomm-firmware-dl lopcomm-firmware-dl
lopcomm-rrh-stats-service lopcomm-rrh-stats-service
lopcomm-rrh-supervision-service lopcomm-rrh-supervision-service
lopcomm-rrh-reset-info-service
{% if slapparameter_dict.get("cron_schedule", None) %}
lopcomm-rrh-reset-cron
{% endif %}
lopcomm-rrh-config-template lopcomm-rrh-config-template
lopcomm-rrh-software-template lopcomm-rrh-software-template
netconf-connection-promise netconf-connection-promise
...@@ -369,6 +373,45 @@ mode = 0775 ...@@ -369,6 +373,45 @@ mode = 0775
url = {{ lopcomm_rrh_supervision_template }} url = {{ lopcomm_rrh_supervision_template }}
output = ${directory:bin}/lopcomm-rrh-supervision.py output = ${directory:bin}/lopcomm-rrh-supervision.py
[lopcomm-rrh-reset-info-template]
recipe = slapos.recipe.template:jinja2
extensions = jinja2.ext.do
log-output = ${directory:var}/log/lopcomm-rrh-reset-info.log
json-log-output = ${directory:var}/log/lopcomm-rrh-reset-info.json.log
context =
section slap_configuration slap-configuration
key log_file :log-output
key json_log_file :json-log-output
raw stats_period {{ slapparameter_dict.get("enb_stats_fetch_period", 60) }}
raw testing {{ slapparameter_dict.get("testing", False) }}
raw python_path {{ buildout_directory}}/bin/pythonwitheggs
import netaddr netaddr
mode = 0775
url = {{ lopcomm_rrh_reset_info_template }}
output = ${directory:bin}/lopcomm-rrh-reset-info.py
[lopcomm-rrh-reset-template]
recipe = slapos.recipe.template:jinja2
extensions = jinja2.ext.do
log-output = ${directory:var}/log/lopcomm-rrh-reset.log
json-log-output = ${directory:var}/log/lopcomm-rrh-reset.json.log
context =
section slap_configuration slap-configuration
key log_file :log-output
raw python_path {{ buildout_directory}}/bin/pythonwitheggs
raw buildout_directory_path {{ buildout_directory }}
import netaddr netaddr
mode = 0775
url = {{ lopcomm_rrh_reset_template }}
output = ${directory:etc}/lopcomm-rrh-reset.py
[lopcomm-rrh-reset-cron]
recipe = slapos.cookbook:cron.d
cron-entries = ${cron:cron-entries}
name = rrh-resest
frequency = {{ slapparameter_dict.get("cron_schedule", "") }}
command = {{ buildout_directory}}/bin/pythonwitheggs ${lopcomm-rrh-reset-template:output}
[netconf-connection-promise] [netconf-connection-promise]
<= monitor-promise-base <= monitor-promise-base
promise = check_command_execute promise = check_command_execute
...@@ -420,11 +463,19 @@ mode = 0775 ...@@ -420,11 +463,19 @@ mode = 0775
hash-files = hash-files =
${lopcomm-rrh-supervision-template:output} ${lopcomm-rrh-supervision-template:output}
[lopcomm-rrh-reset-info-service]
recipe = slapos.cookbook:wrapper
command-line = ${lopcomm-rrh-reset-info-template:output}
wrapper-path = ${directory:service}/lopcomm-rrh-reset-info
mode = 0775
hash-files =
${lopcomm-rrh-reset-info-template:output}
[lopcomm-firmware-dl] [lopcomm-firmware-dl]
recipe = slapos.recipe.build:download recipe = slapos.recipe.build:download
url = https://lab.nexedi.com/nexedi/ors-utils/raw/master/lopcomm-firmware/${:filename} url = https://lab.nexedi.com/nexedi/ors-utils/raw/master/lopcomm-firmware/${:filename}
filename = PR.PRM61C70V1004.002.tar.gz filename = PR.PRM61C70V1004.006.tar.gz
md5sum = 4e06fd62968f9f53fd819ef8d880a8f4 md5sum = 5139019aae77c2f3178a99915f1c57dc
destination = ${directory:etc}/${:filename} destination = ${directory:etc}/${:filename}
offline = false offline = false
...@@ -545,6 +596,8 @@ monitor-gadget-url = ${:monitor-base-url}/gadget/software.cfg.html ...@@ -545,6 +596,8 @@ monitor-gadget-url = ${:monitor-base-url}/gadget/software.cfg.html
{% if ru == "lopcomm" %} {% if ru == "lopcomm" %}
ssh-command = ssh ${user-info:pw-name}@${slap-configuration:ipv6-random} -p ${sshd-port:port} ssh-command = ssh ${user-info:pw-name}@${slap-configuration:ipv6-random} -p ${sshd-port:port}
ssh-url = ssh://${user-info:pw-name}@[${slap-configuration:ipv6-random}]:${sshd-port:port} ssh-url = ssh://${user-info:pw-name}@[${slap-configuration:ipv6-random}]:${sshd-port:port}
ru-firmware = ${lopcomm-firmware-dl:filename}
ru-ipv6 = ${slap-configuration:tap-ipv6-gateway}
{% endif %} {% endif %}
[monitor-instance-parameter] [monitor-instance-parameter]
......
...@@ -167,6 +167,11 @@ ...@@ -167,6 +167,11 @@
"textarea": true, "textarea": true,
"type": "string" "type": "string"
}, },
"cron_schedule": {
"title": "Cron schedule for RRH reset",
"description": "Refer https://crontab.guru/ to make a reset schedule for RRH, for example, '0 1 * * *' means the RRH will reset every day at 1 am",
"type": "string"
},
"enb_id": { "enb_id": {
"title": "eNB ID", "title": "eNB ID",
"description": "eNB ID", "description": "eNB ID",
......
...@@ -258,6 +258,8 @@ extra-context = ...@@ -258,6 +258,8 @@ extra-context =
raw lopcomm_rrh_config_template ${lopcomm-rrh-config.jinja2.py:target} raw lopcomm_rrh_config_template ${lopcomm-rrh-config.jinja2.py:target}
raw lopcomm_rrh_software_template ${lopcomm-rrh-software.jinja2.py:target} raw lopcomm_rrh_software_template ${lopcomm-rrh-software.jinja2.py:target}
raw lopcomm_rrh_supervision_template ${lopcomm-rrh-supervision.jinja2.py:target} raw lopcomm_rrh_supervision_template ${lopcomm-rrh-supervision.jinja2.py:target}
raw lopcomm_rrh_reset_info_template ${lopcomm-rrh-reset-info.jinja2.py:target}
raw lopcomm_rrh_reset_template ${lopcomm-rrh-reset.jinja2.py:target}
raw CreateProcessingEle_template ${CreateProcessingEle.jinja2.xml:target} raw CreateProcessingEle_template ${CreateProcessingEle.jinja2.xml:target}
raw cu_config_template ${cu_config.jinja2.xml:target} raw cu_config_template ${cu_config.jinja2.xml:target}
raw openssl_location ${openssl:location} raw openssl_location ${openssl:location}
......
#!{{ python_path }}
import paramiko
import logging
from logging.handlers import RotatingFileHandler
def get_uptime(hostname, username, password):
client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
try:
client.connect(hostname, username=username, password=password)
stdin, stdout, stderr = client.exec_command('uptime')
uptime_output = stdout.read().decode()
return uptime_output
except Exception as e:
logger.info(f"Error: {e}")
finally:
client.close()
# Usage
hostname = "{{ netaddr.IPAddress(slap_configuration.get('tap-ipv6-gateway', '')) }}"
username = "oranuser"
password = "oranpassword"
# Initialize logger
log_file = "{{ log_file }}"
logger = logging.getLogger('logger')
logger.setLevel(logging.INFO)
handler = RotatingFileHandler(log_file, maxBytes=30000, backupCount=2)
formatter = logging.Formatter('%(asctime)s - %(levelname)s - %(message)s')
handler.setFormatter(formatter)
logger.addHandler(handler)
if {{ testing }}:
pass
else:
rrh_uptime = get_uptime(hostname, username, password)
logger.info(f"Uptime from RRH: {rrh_uptime}")
...@@ -5,15 +5,13 @@ sys.path.append({{ repr(buildout_directory_path) }}) ...@@ -5,15 +5,13 @@ sys.path.append({{ repr(buildout_directory_path) }})
from ncclient_common import LopcommNetconfClient from ncclient_common import LopcommNetconfClient
if __name__ == '__main__': if __name__ == '__main__':
nc = LopcommNetconfClient(log_file="{{ log_file }}") nc = LopcommNetconfClient(log_file="{{ log_file }}")
while True: try:
try: nc.connect("{{ netaddr.IPAddress(slap_configuration.get('tap-ipv6-gateway', '')) }}", 830, "oranuser", "oranpassword")
nc.connect("{{ netaddr.IPAddress(slap_configuration.get('tap-ipv6-gateway', '')) }}", 830, "oranuser", "oranpassword") nc.reset_device()
nc.nc.reset_device() nc.logger.info("Device reset successful.")
break except Exception as e:
except Exception as e: nc.logger.debug('Got exception while resetting...')
nc.logger.debug('Got exception, waiting 10 seconds before reconnecting...') nc.logger.debug(e)
nc.logger.debug(e) finally:
time.sleep(10) nc.close()
finally:
nc.close()
...@@ -153,7 +153,8 @@ class LopcommNetconfClient: ...@@ -153,7 +153,8 @@ class LopcommNetconfClient:
reset_reply_xml = self.custom_rpc_request(reset_rpc_xml) reset_reply_xml = self.custom_rpc_request(reset_rpc_xml)
if reset_reply_xml: if reset_reply_xml:
reset_data = xmltodict.parse(reset_reply_xml) reset_data = xmltodict.parse(reset_reply_xml)
self.software_reply_json_logger.info('', extra={'data': json.dumps(reset_data)}) if self.software_reply_json_logger:
self.software_reply_json_logger.info('', extra={'data': json.dumps(reset_data)})
self.logger.info('Wait 60 second then reboot!') self.logger.info('Wait 60 second then reboot!')
time.sleep(60) time.sleep(60)
......
...@@ -80,6 +80,12 @@ destination = ${buildout:directory}/ncclient_common.py ...@@ -80,6 +80,12 @@ destination = ${buildout:directory}/ncclient_common.py
[lopcomm-rrh-supervision.jinja2.py] [lopcomm-rrh-supervision.jinja2.py]
<= download-base <= download-base
[lopcomm-rrh-reset-info.jinja2.py]
<= download-base
[lopcomm-rrh-reset.jinja2.py]
<= download-base
[template-enb] [template-enb]
<= download-base <= download-base
......
...@@ -18,10 +18,10 @@ Slaves of the root instance are sent as a parameter to requested frontends which ...@@ -18,10 +18,10 @@ Slaves of the root instance are sent as a parameter to requested frontends which
These parameters are: These parameters are:
* ``-frontend-type`` : the type to deploy frontends with. (default to "default") * ``-frontend-type`` : the type to deploy frontends with. (defaults to "default")
* ``-frontend-quantity`` : The quantity of frontends to request (default to "1") * ``-frontend-quantity`` : The quantity of frontends to request (defaults to "1")
* ``-frontend-i-state``: The state of frontend i * ``-frontend-i-state``: The state of frontend i
* ``-frontend-i-software-release-url``: Software release to be used for frontends, default to the current software release * ``-frontend-i-software-release-url``: Software release to be used for frontends, defaults to the current software release
* ``-frontend-config-i-foo``: Frontend i will be requested with parameter foo, supported parameters are: * ``-frontend-config-i-foo``: Frontend i will be requested with parameter foo, supported parameters are:
* ``ram-cache-size`` * ``ram-cache-size``
* ``disk-cache-size`` * ``disk-cache-size``
...@@ -451,8 +451,8 @@ There are two ways to achieve it: ...@@ -451,8 +451,8 @@ There are two ways to achieve it:
The issues during automatic bootstrap are: The issues during automatic bootstrap are:
* rouge or hacked SlapOS Master can result with adding rouge frontend nodes to the cluster, which will be trusted, so it will be possible to fetch all certificates and keys from Kedifa or to login to backends * rogue or hacked SlapOS Master can result with adding rogue frontend nodes to the cluster, which will be trusted, so it will be possible to fetch all certificates and keys from Kedifa or to login to backends
* when new node is added there is short window, when rouge person is able to trick automatic signing, and have it's own node added * when new node is added there is a short window during which rogue person is able to trick automatic signing, and have it's own node added
In both cases promises will fail on node which is not able to get signed, but in case of Kedifa the damage already happened (certificates and keys are compromised). So in case if cluster administrator wants to stay on the safe side, both automatic bootstraps shall be turned off. In both cases promises will fail on node which is not able to get signed, but in case of Kedifa the damage already happened (certificates and keys are compromised). So in case if cluster administrator wants to stay on the safe side, both automatic bootstraps shall be turned off.
......
[buildout] [buildout]
extends = extends =
../../software/erp5/software.cfg ../../software/wendelin/software.cfg
buildout.hash.cfg buildout.hash.cfg
parts +=
vifib-fix-products-paths
[erp5-defaults] [erp5-defaults]
wcfs-enable-default = true wcfs-enable-default = true
[local-bt5-repository] [local-bt5-repository]
# Same as bt5-repository, but only local repository. # Same as bt5-repository, but only local repository.
# Used to generate bt5lists. # Used to generate bt5lists.
list = ${erp5:location}/bt5 ${erp5:location}/product/ERP5/bootstrap ${erp5-bin:location}/bt5 ${erp5-doc:location}/bt5 ${vifib:location}/master/bt5 ${wendelin:location}/bt5 list += ${vifib:location}/master/bt5
[erp5_repository_list] [erp5_repository_list]
repository_id_list = erp5 erp5-bin erp5-doc wendelin vifib/master repository_id_list += vifib/master
[erp5] [erp5]
branch = erp5-vifib branch = erp5-vifib
...@@ -31,19 +27,6 @@ branch = master ...@@ -31,19 +27,6 @@ branch = master
repository = https://lab.nexedi.com/nexedi/slapos-bin.git repository = https://lab.nexedi.com/nexedi/slapos-bin.git
branch = master branch = master
[wendelin]
recipe = slapos.recipe.build:gitclone
git-executable = ${git:location}/bin/git
repository = https://lab.nexedi.com/nexedi/wendelin.git
branch = master
[vifib-fix-products-paths]
recipe = plone.recipe.command
stop-on-error = true
command =
for DIR in "${vifib:location}/master"; do cd "$DIR"; rm -f Products ; ln -s product Products; touch product/__init__.py; done
update-command = ${:command}
[eggs] [eggs]
eggs += eggs +=
slapos.core slapos.core
...@@ -55,7 +38,6 @@ dummy += ...@@ -55,7 +38,6 @@ dummy +=
extra-paths += extra-paths +=
${vifib:location}/master ${vifib:location}/master
${slapos-bin:location} ${slapos-bin:location}
${wendelin:location}
### Overwrite recipes to introduce customized changes ### Overwrite recipes to introduce customized changes
......
...@@ -284,14 +284,34 @@ entry-points = ...@@ -284,14 +284,34 @@ entry-points =
python2=${:eggs}:ignored python2=${:eggs}:ignored
python2.7=${:eggs}:ignored python2.7=${:eggs}:ignored
python3=${:eggs}:ignored python3=${:eggs}:ignored
python3.5=${:eggs}:ignored
python3.6=${:eggs}:ignored
python3.7=${:eggs}:ignored
python3.8=${:eggs}:ignored
python3.9=${:eggs}:ignored
python3.10=${:eggs}:ignored
python3.11=${:eggs}:ignored
python3.12=${:eggs}:ignored
python3.13=${:eggs}:ignored
python3.14=${:eggs}:ignored
scripts = scripts =
python python
python2 python2
python2.7 python2.7
python3 python3
python3.5
python3.6
python3.7
python3.8
python3.9
python3.10
python3.11
python3.12
python3.13
python3.14
initialization = initialization =
import sys import sys
print("Error: attempt to use system python", file=sys.stderr) print("Error: attempt to use system python. Executed with: %s" % sys.argv, file=sys.stderr)
sys.exit(2) sys.exit(2)
[recurls-repository] [recurls-repository]
......
...@@ -74,8 +74,7 @@ setup = ${slapcache-repository:location} ...@@ -74,8 +74,7 @@ setup = ${slapcache-repository:location}
[erp5.util-setup] [erp5.util-setup]
<= setup-develop-egg <= setup-develop-egg
# XXX erp5.util does not have `test` extra require, but has a `testnode` extra require with same dependencies egg = erp5.util[test]
egg = erp5.util[testnode]
setup = ${erp5.util-repository:location} setup = ${erp5.util-repository:location}
depends = ${slapos.core-setup:egg} depends = ${slapos.core-setup:egg}
......
...@@ -365,9 +365,11 @@ Flask = 1.1.2 ...@@ -365,9 +365,11 @@ Flask = 1.1.2
gitdb2 = 2.0.5 gitdb2 = 2.0.5
GitPython = 2.1.11 GitPython = 2.1.11
idna = 2.9 idna = 2.9
importlib-metadata = 1.7.0:whl
itsdangerous = 0.24 itsdangerous = 0.24
Jinja2 = 2.11.3 Jinja2 = 2.11.3
jsonschema = 3.0.2:whl jsonschema = 3.0.2:whl
MarkupSafe = 1.0
packaging = 16.8 packaging = 16.8
pyparsing = 2.2.0 pyparsing = 2.2.0
pyrsistent = 0.16.1 pyrsistent = 0.16.1
...@@ -381,9 +383,6 @@ Werkzeug = 1.0.1 ...@@ -381,9 +383,6 @@ Werkzeug = 1.0.1
wheel = 0.35.1:whl wheel = 0.35.1:whl
zipp = 1.2.0:whl zipp = 1.2.0:whl
[versions:sys.version_info < (3,8)]
MarkupSafe = 1.0
[networkcache] [networkcache]
download-cache-url = http://shacache.nxdcdn.com download-cache-url = http://shacache.nxdcdn.com
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment