Description of problem: During packages installation the button "Release Notes" brings up a blank screen devoid of content. Earlier places point to the current release notes, but here it does not. It pulls up a blank screen in the same way from 1/ "Details" screen, also from 2/ "No details (advertising)" screen. Reproducible: Steps to Reproduce:
Whiteboard: (none) => 5alpha2
Hardware: i586 => AllSource RPM: 1st built 32 bits classical iso dtd 01.AUG.2014 => 2nd built 32 bits classical iso dtd 01.AUG.2014
CC: (none) => eeeemail, ennael1
Noticed in 3rd build too.
Priority: Normal => release_blockerAssignee: bugsquad => thierry.vignaud
in the netinstall it works, to check on beta1
Keywords: (none) => NEEDINFO
Classical iso (64 bits) from build2 dtd 28.10.2014 still has it. (On real HW as per wiki (Notebook)).
Keywords: NEEDINFO => (none)Source RPM: 2nd built 32 bits classical iso dtd 01.AUG.2014 => 2nd built classical iso dtd 28.OCT.2014Whiteboard: 5alpha2 => 5beta1
in ddebug.log we can see: Cannot open /tmp/media/i586/release-notes..html: No such file or directory Looks like bug is in any.pm in get_release_notes function. I'm not Perl fluent but I guess pb is there
I doubt that, the code hasn't changed for quite a long time and it works fine for netinstall => your ISO is not right. I suggest that you compare it with eg mga4
Using boot.iso and remote mirror, I get exactly the same behaviour, waiting for a file called "release-notes..html" Adding screenshots to show the file is there.
Created attachment 5656 [details] directory of mounted media
Created attachment 5657 [details] waiting for release-notes..html
the ls -l in attachment 5656 [details] shows size 0 for a number of files there
Sorry, ignore that. I was looking at the wrong number!
I dont want to insult anyone, but: ...notes..html... is not the same as: ...notes.html... there being an extra dot in the filename.
Applies to 5beta2
Source RPM: 2nd built classical iso dtd 28.OCT.2014 => 1st built classical iso dtd 12.DEC.2014Whiteboard: 5beta1 => 5beta2
Created attachment 5707 [details] Logs during installation Getting some more messages here
same error beta2-i586 dvd classic install
CC: (none) => westel
Code is slightly strange as it builds both "release-notes$ext" and 'release-notes.' . $ext while $ext already contains a dot. More strange is the list of those not being delimited but I keep getting surprised at what is valid perl... my $ext = $in->isa('interactive::gtk') ? '.html' : '.txt'; my $separator = $in->isa('interactive::gtk') ? "\n\n" : ''; my $release_notes = join($separator, grep { $_ } map { if ($::isInstall) { my $f = install::any::getFile_($::o->{stage2_phys_medium}, $_); $f && cat__($f); } else { my $file = $_; my $d = find { -e "$_/$file" } glob_("/usr/share/doc/*-release-*"); $d && cat_("$d/$file"); } } "release-notes$ext", 'release-notes.' . $ext);
CC: (none) => pterjan
We could remove the second element after last year Thomas' change: http://gitweb.mageia.org/software/drakx/commit/perl-install/any.pm?id=f811629c672dc9b4c9e39b03cbfb7bde239126e8 That would remove the following warning: Cannot open /tmp/media/i586/release-notes..html: No such file or directory But if release notes window is empty, that means the file must be empty.
Component: Installer => Release (media or process)Assignee: thierry.vignaud => ennael1CC: (none) => sysadmin-bugs, tmb
@tv: the file is jot empty wgen the release notes button is used in the license acceptance screen. But I notice TWO dots when you quote "cannot open .... release-notes..html" After all when I look at comment 15 there is a dot after 'release-notes' AND - dot before 'html' , there normally are no 2 dots in a file name in the same position.
(In reply to Thierry Vignaud from comment #16) > We could remove the second element after last year Thomas' change: > http://gitweb.mageia.org/software/drakx/commit/perl-install/any. > pm?id=f811629c672dc9b4c9e39b03cbfb7bde239126e8 > > That would remove the following warning: > Cannot open /tmp/media/i586/release-notes..html: No such file or directory > > But if release notes window is empty, that means the file must be empty. Releases Notes are printed properly in first step of installer. It fails *only* during packages installation. Checking release notes file in /tmp/image shows a non empty file. Also I can see a content using "cat" command
Using Mageia 5 beta 2 iso, we have release_notes.html file in both places : /tmp and /tmp/image. The one in /tmp/image is ok. The one in /tmp is empty. That may be the pb.
btw in any.pm we can see sub run_display_release_notes { my ($release_notes) = @_; output('/tmp/release_notes.html', $release_notes); so indeed there is a pb here.
What about using rather: sub run_display_release_notes { my ($release_notes) = @_; output('/tmp/image/release_notes.html', $release_notes); tv ?
This is wrong as the command it will then run (/usr/bin/display_release_notes.pl) expects it in /tmp/release_notes.html. Looking at it again. In the first step of the installer (acceptLicense) which is working, it calls: my $release_notes = get_release_notes($in); [...] run_display_release_notes($release_notes) get_release_notes reads it from $::o->{stage2_phys_medium}/release-notes.html (or .txt) run_display_release_notes writes it into /tmp/release-notes.html and calls /usr/bin/display_release_notes.pl During packages installation: state $release_notes ||= any::get_release_notes($o); my $rel_notes = gtknew('Button', text => N("Release Notes"), clicked => sub { $show_release_notes = 1 }); [...] if_($release_notes, $rel_notes), [...] # display release notes if requested, when not chrooted: if ($show_release_notes) { undef $show_release_notes; any::run_display_release_notes($release_notes); $w->flush; } So, if the "Release Notes" button is displayed it means they are not empty... Then any::run_display_release_notes writes them into /tmp/release-notes.html and calls /usr/bin/display_release_notes.pl In both cases /tmp/release-notes.html is only written when pressing the button. The only change slightly related I noticed is from before Mageia 4, but no obvious reason it would impact this problem: - system('/usr/bin/display_release_notes.pl'); + run_program::raw({ detach => 1 }, '/usr/bin/display_release_notes.pl'); Was it working in Magaeia 4?
I found https://rt.perl.org/Public/Bug/Display.html?id=123029 And it seems to be the problem with our big state var: $ perl -l -E 'sub { state $s; $s = "foo"x500; my $c = $s; print $s}->()' $ perl -l -E 'sub { state $s; $s = "foo"; my $c = $s; print $s}->()' foo
http://perl5.git.perl.org/perl.git/commitdiff/d385684951d4e1197c32ad0f4371c5255766a34 is probably the fix
perl with the patch and stage 2 uploaded
Tested in temporary iso. Confirmed it's now fixed
Resolution: (none) => FIXEDStatus: NEW => RESOLVED