Compare commits

...

3 Commits

Author SHA1 Message Date
e4b308e422 * Fri Jan 03 2025 Jean-Philippe Pialasse <jpp@koozali.org> 11.0.0-21.sme
- improve support of  systemd service with instance service@instance.service [SME: 12859]
2025-01-03 01:54:02 -05:00
5c4bf19137 * Thu Jan 02 2025 Jean-Philippe Pialasse <jpp@koozali.org> 11.0.0-20.sme
- Primary default to SSL required and redirect [SME: 12858]
- cleanup remove primary=system [SME: 8268]
2025-01-02 00:36:45 -05:00
5b938b2987 * Tue Dec 31 2024 Jean-Philippe Pialasse <jpp@koozali.org> 11.0.0-19.sme
- fix www removed from shared on group creation [SME: 12848]
2024-12-31 03:29:03 -05:00
8 changed files with 38 additions and 12 deletions

1
.gitignore vendored
View File

@@ -3,3 +3,4 @@
*spec-20*
*.tar.xz
*.bak
*gz

View File

@@ -0,0 +1 @@
enabled

View File

@@ -1 +0,0 @@
system

View File

@@ -0,0 +1,10 @@
{
# Delete any pre-existing primary=system record (all lower case)
my $p = $DB->get('primary');
return unless defined $p;
my $type = $p->prop('type');
return unless defined $type;
$p->delete if $type eq 'system';
}

View File

@@ -137,7 +137,9 @@ foreach my $member (@groupMembers)
# new group to the list. Finally sort, join and run the usermod
# function to update the group list for this member.
my $cmd = "/usr/bin/id -G -n '$member'";
#my $cmd = "/usr/bin/id -G -n '$member'";
# this will not fail in case of apache aliase before www in passwd
my $cmd = "/usr/bin/groups '$member' 2>/dev/null | cut -d' ' -f3- ";
my $groups = `$cmd 2>/dev/null`;
if ($? != 0)
{

View File

@@ -131,22 +131,22 @@ foreach my $group (@groups)
# Get the supplementary group list for the member we are adding or
# deleting.
#my $cmd = "/usr/bin/id -G -n '$member'";
# this will not fail in case of apache before www in passwd
my $cmd = "/usr/bin/groups '$member'";
# this will not fail in case of apache before www in passwd
my $cmd = "/usr/bin/groups '$member' 2>/dev/null | cut -d' ' -f3- ";
my $groups = `$cmd 2>/dev/null`;
if ($? != 0)
{
die "Failed to get supplementary group list for $member.\n";
}
$groups =~ s/^.*:\s+//;
$groups =~ s/^.*:\s+//;
chomp ($groups);
my @groupList = split (/\s+/, $groups);
@groupList = grep (!/^$member$/, @groupList);
# Apache is an alias for www
@groupList = map { $_ =~ s/^apache$/www/g; $_ } @groupList;
# www needs to be in shared
push(@groupList,'shared') if ( ($member eq 'www') and (! grep{$_ eq 'shared'} @groupList));
# www needs to be in shared
push(@groupList,'shared') if ( ($member eq 'www') and (! grep{$_ eq 'shared'} @groupList));
if ($oldMembers{$member})
{

View File

@@ -54,7 +54,9 @@ if (!symlink($old_qfn, $new_qfn)) {
# we let the dedicated systemd command tryin to do what we will do later in this script
# as up to systemd 236 it is bugged see:
# https://github.com/systemd/systemd/pull/7158 and https://github.com/systemd/systemd/pull/7289
# https://github.com/systemd/systemd/pull/7158 : systemctl: respect [Install] section in drop-ins: should be fixed in SME 12 (239)
# https://github.com/systemd/systemd/issues/9477 : aliases; open
# https://github.com/systemd/systemd/pull/9901 allow instantiated units to be enabled via presets v240
system("/usr/bin/systemctl preset-all");
# in case preset-all messed up with our default target
system("/usr/bin/systemctl set-default sme-server.target");
@@ -101,10 +103,11 @@ foreach my $filen (reverse sort keys %files) {
my $service=$2;
my $stats=$1;
# print $_ ."\n";
#ignore service that does not exists !
# ignore service that does not exists !
# here we are searching for service@instance.service type
my $multiple = $service;
($multiple = $service ) =~ s/([a-zA-Z0-9\-_.]+@)(.*)/$1.service/ if ( $service =~ /@/ );
#print "$stats $service $multiple\n";
#print "$stats $service $multiple\n" if $service ne $multiple;
next unless ( -e "/usr/lib/systemd/system/$service" or -e "/etc/systemd/system/$service" or -e "/usr/lib/systemd/system/$multiple");
# eliminate duplicates, this way we keep only the last entry of the lowest file as we do it in reverse order of file,
# but from top to bottom of file.
@@ -117,7 +120,7 @@ foreach my $filen (reverse sort keys %files) {
#print "want $service \n";
}
else {
my $wanted = `grep -P '^WantedBy=.*sme-server.target' /usr/lib/systemd/system/$service* /etc/systemd/system/$service* -rsh` ;
my $wanted = `grep -P '^WantedBy=.*sme-server.target' /usr/lib/systemd/system/$service* /etc/systemd/system/$service* /usr/lib/systemd/system/$multiple* /etc/systemd/system/$multiple* -rsh` ;
chomp $wanted;
$wantedBy{$service}=1 unless ( $wanted eq "");
#print "want $service \n" unless ( $wanted eq "") ;

View File

@@ -4,7 +4,7 @@ Summary: smeserver server and gateway - base module
%define name smeserver-base
Name: %{name}
%define version 11.0.0
%define release 18
%define release 21
Version: %{version}
Release: %{release}%{?dist}
License: GPL
@@ -184,6 +184,16 @@ fi
%changelog
* Fri Jan 03 2025 Jean-Philippe Pialasse <jpp@koozali.org> 11.0.0-21.sme
- improve support of systemd service with instance service@instance.service [SME: 12859]
* Thu Jan 02 2025 Jean-Philippe Pialasse <jpp@koozali.org> 11.0.0-20.sme
- Primary default to SSL required and redirect [SME: 12858]
- cleanup remove primary=system [SME: 8268]
* Tue Dec 31 2024 Jean-Philippe Pialasse <jpp@koozali.org> 11.0.0-19.sme
- fix www removed from shared on group creation [SME: 12848]
* Mon Dec 23 2024 Jean-Philippe Pialasse <jpp@koozali.org> 11.0.0-18.sme
- add vlan support on External Interface [SME: 12677]
- fix typo [SME: 12763]