From f82922be2125c6fe4871a9fda0fb3a2920d4344a Mon Sep 17 00:00:00 2001 From: Dirk von Suchodoletz Date: Thu, 2 Jun 2011 19:59:33 +0200 Subject: Fixing rsync issue and numberic id's (otherwise rsync maps by names which causes problems if the ids are different for server and slx clients) --- src/boot-env/OpenSLX/BootEnvironment/Base.pm | 4 ++-- src/boot-env/OpenSLX/MakeInitRamFS/Engine/Preboot.pm | 6 +++--- src/initramfs/distro-specs/suse/functions-11.4 | 12 ------------ src/installer/OpenSLX/OSExport/FileSystem/NFS.pm | 4 ++-- src/installer/OpenSLX/OSSetup/Engine.pm | 4 ++-- 5 files changed, 9 insertions(+), 21 deletions(-) diff --git a/src/boot-env/OpenSLX/BootEnvironment/Base.pm b/src/boot-env/OpenSLX/BootEnvironment/Base.pm index aa4cbe5b..3ad7c602 100644 --- a/src/boot-env/OpenSLX/BootEnvironment/Base.pm +++ b/src/boot-env/OpenSLX/BootEnvironment/Base.pm @@ -1,4 +1,4 @@ -# Copyright (c) 2008 - OpenSLX GmbH +# Copyright (c) 2008..2011 - OpenSLX GmbH # # This program is free software distributed under the GPL version 2. # See http://openslx.org/COPYING @@ -57,7 +57,7 @@ sub finalize my $rsyncDeleteClause = $delete ? '--delete' : ''; my $rsyncCmd - = "rsync -a $rsyncDeleteClause --delay-updates $self->{'target-path'}/ $self->{'original-path'}/"; + = "rsync -a $rsyncDeleteClause --numeric-ids --delay-updates $self->{'target-path'}/ $self->{'original-path'}/"; slxsystem($rsyncCmd) == 0 or die _tr( "unable to rsync files from '%s' to '%s'! (%s)", diff --git a/src/boot-env/OpenSLX/MakeInitRamFS/Engine/Preboot.pm b/src/boot-env/OpenSLX/MakeInitRamFS/Engine/Preboot.pm index 1a68bfd0..319ff65e 100644 --- a/src/boot-env/OpenSLX/MakeInitRamFS/Engine/Preboot.pm +++ b/src/boot-env/OpenSLX/MakeInitRamFS/Engine/Preboot.pm @@ -1,4 +1,4 @@ -# Copyright (c) 2006-2008 - OpenSLX GmbH +# Copyright (c) 2006..2011 - OpenSLX GmbH # # This program is free software distributed under the GPL version 2. # See http://openslx.org/COPYING @@ -123,7 +123,7 @@ sub _copyRootfs my $exclOpts = join ' ', map { "--exclude $_" } @excludes; - $self->addCMD("rsync $exclOpts -rlpt $rootfs/ $self->{'build-path'}"); + $self->addCMD("rsync $exclOpts -rlpt --numeric-ids $rootfs/ $self->{'build-path'}"); return 1; } @@ -135,7 +135,7 @@ sub _copyPrebootSpecificFiles # write secondary rootfs-layer (including init) on top of base layer my $prebootRootfs = "$openslxConfig{'base-path'}/share/boot-env/preboot/rootfs"; - $self->addCMD("rsync -rlpt $prebootRootfs/ $self->{'build-path'}"); + $self->addCMD("rsync -rlpt --numeric-ids $prebootRootfs/ $self->{'build-path'}"); return 1; } diff --git a/src/initramfs/distro-specs/suse/functions-11.4 b/src/initramfs/distro-specs/suse/functions-11.4 index 6db8de1e..a03309d1 100644 --- a/src/initramfs/distro-specs/suse/functions-11.4 +++ b/src/initramfs/distro-specs/suse/functions-11.4 @@ -55,23 +55,11 @@ if [ "x$start_dreshal" = "xyes" ]; then >> /mnt/etc/passwd strinfile "messagebus:" /mnt/etc/group || \ echo "messagebus:!:103:" >> /mnt/etc/group - # console-kit-daemon, polkitd, udisks-daemon, rtkit-daemon are often not - # started properly (why ever) - d_mkrlscript init hwaccess "Starting services for device access" - d_mkrlscript entry hwaccess "# console-kit-daemon, polkitd, \ -udisks-daemon, rtkit-daemon entries added in stage3" - d_mkrlscript entry hwaccess "start_daemon -f /usr/sbin/console-kit-daemon" - d_mkrlscript entry hwaccess "/usr/lib/upower/upowerd &" - d_mkrlscript entry hwaccess "/usr/lib/udisks/udisks-daemon &" - d_mkrlscript entry hwaccess "/usr/lib/rtkit/rtkit-daemon &" - d_mkrlscript entry hwaccess "/usr/lib/polkit-1/polkitd &" - d_mkrlscript close hwaccess "" rm -rf /mnt/etc/dbus-1/system.d/*etwork*anager.conf \ /mnt/etc/dbus-1/system.d/nm-* rllinker "dbus" 1 20 - rllinker "hwaccess" 16 4 fi fi } diff --git a/src/installer/OpenSLX/OSExport/FileSystem/NFS.pm b/src/installer/OpenSLX/OSExport/FileSystem/NFS.pm index 9bd2ca87..96e40d24 100644 --- a/src/installer/OpenSLX/OSExport/FileSystem/NFS.pm +++ b/src/installer/OpenSLX/OSExport/FileSystem/NFS.pm @@ -1,4 +1,4 @@ -# Copyright (c) 2006, 2007 - OpenSLX GmbH +# Copyright (c) 2006..2011 - OpenSLX GmbH # # This program is free software distributed under the GPL version 2. # See http://openslx.org/COPYING @@ -168,7 +168,7 @@ sub _copyViaRsync my $rsyncFH; my $additionalRsyncOptions = $ENV{SLX_RSYNC_OPTIONS} || ''; my $rsyncCmd - = "rsync -av --delete-excluded --exclude-from=- $additionalRsyncOptions" + = "rsync -av --numeric-ids --delete-excluded --exclude-from=- $additionalRsyncOptions" . " $source/ $target"; vlog(2, "executing: $rsyncCmd\n"); open($rsyncFH, '|-', $rsyncCmd) diff --git a/src/installer/OpenSLX/OSSetup/Engine.pm b/src/installer/OpenSLX/OSSetup/Engine.pm index a32898e9..a3e4c1be 100644 --- a/src/installer/OpenSLX/OSSetup/Engine.pm +++ b/src/installer/OpenSLX/OSSetup/Engine.pm @@ -1164,7 +1164,7 @@ sub _copyRootfs vlog(3, _tr("using exclude-filter:\n%s\n", $exclOpts)); my $rsyncFH; my $rsyncCmd - = "rsync -aq --delete-excluded --exclude-from=- $rootfs/ $target"; + = "rsync -aq --numeric-ids --delete-excluded --exclude-from=- $rootfs/ $target"; vlog(2, "executing: $rsyncCmd\n"); # if we're doing a fresh install we need to create /lib, /bin first mkdir "$targetRoot/lib"; @@ -1796,7 +1796,7 @@ sub _clone_fetchSource vlog(1, "using exclude-include-filter:\n$excludeIncludeList\n"); my $additionalRsyncOptions = $ENV{SLX_RSYNC_OPTIONS} || ''; my $rsyncCmd - = "rsync -av --delete --exclude-from=- $additionalRsyncOptions" + = "rsync -av --numeric-ids --delete --exclude-from=- $additionalRsyncOptions" . " $source $self->{'vendor-os-path'}"; vlog(2, "executing: $rsyncCmd\n"); my $rsyncFH; -- cgit v1.2.3-55-g7522