diff options
author | Pascal Terjan <pterjan@mageia.org> | 2018-09-14 02:18:41 +0000 |
---|---|---|
committer | Pascal Terjan <pterjan@mageia.org> | 2018-09-14 02:19:02 +0000 |
commit | 0343f1bfc6d9fd76ba6bf911def836a47026a97a (patch) | |
tree | ffced59fd115923cbab53aeff2df1343091dc468 /perl-install | |
parent | 851454ef7de30c75818c19920bd80bda6df2242f (diff) | |
download | drakx-0343f1bfc6d9fd76ba6bf911def836a47026a97a.tar drakx-0343f1bfc6d9fd76ba6bf911def836a47026a97a.tar.gz drakx-0343f1bfc6d9fd76ba6bf911def836a47026a97a.tar.bz2 drakx-0343f1bfc6d9fd76ba6bf911def836a47026a97a.tar.xz drakx-0343f1bfc6d9fd76ba6bf911def836a47026a97a.zip |
Only modify %__dbi_cdb if it is defined
This should avoid a misleading 'Too many levels of recursion in macro
expansion' message as seen in mga#23531
Diffstat (limited to 'perl-install')
-rw-r--r-- | perl-install/install/NEWS | 1 | ||||
-rw-r--r-- | perl-install/install/pkgs.pm | 12 |
2 files changed, 11 insertions, 2 deletions
diff --git a/perl-install/install/NEWS b/perl-install/install/NEWS index 759d15cd0..a18d6dcce 100644 --- a/perl-install/install/NEWS +++ b/perl-install/install/NEWS @@ -1,5 +1,6 @@ - drakx-in-chroot: o do not run monitor-edid with drakx-in-chroot (timeout) +- do not try to add nofsync to __dbi_cdb if it is not defined Version 18.0 - 25 August 2018 diff --git a/perl-install/install/pkgs.pm b/perl-install/install/pkgs.pm index 3317f0fbe..1512cf4f6 100644 --- a/perl-install/install/pkgs.pm +++ b/perl-install/install/pkgs.pm @@ -770,6 +770,12 @@ sub _filter_packages { } @packages; } +sub _set_dbi_cdb_nofsync { + if ((my $dbi_cdb = URPM::expand('%__dbi_cdb')) ne '%__dbi_cdb') { + URPM::add_macro("__dbi_cdb $dbi_cdb nofsync"); + } +} + sub install { my ($isUpgrade, $toInstall, $packages, $callback) = @_; my %packages; @@ -798,7 +804,9 @@ sub install { URPM::read_config_files(); # force loading libnss* getgrent(); - URPM::add_macro(join(' ', '__dbi_cdb', URPM::expand('%__dbi_cdb'), 'nofsync')); + + _set_dbi_cdb_nofsync(); + my $LOG = _openInstallLog(); $packages->{log} = $packages->{info} = $packages->{print} = sub { @@ -1063,7 +1071,7 @@ sub _remove_raw { log::l("removing: " . join(' ', @$to_remove)); URPM::read_config_files(); - URPM::add_macro(URPM::expand('__dbi_cdb %__dbi_cdb nofsync')); + _set_dbi_cdb_nofsync(); my $db = open_rpm_db_rw() or die "error opening RPM database: ", URPM::rpmErrorString(); my $trans = $db->create_transaction; |