[Releasing] Current installer issues

Rohan McGovern rohan.mcgovern at nokia.com
Tue Jul 10 05:48:07 CEST 2012


jason.mcdonald at nokia.com said:
> 
> Missing contents in packages suggest that some modules are failing to compile.  The build scripts do not appear to die on build errors.  This is dangerous as it would be very easy to accidentally release a package with bits missing if the package build doesn't bail out on serious errors.
> 

With respect to this last point:

On Windows, judging from http://smithers.qt-project.org:8080/job/qt5-beta-bin-msvc2010/configure ,
the exit code from most build steps are ignored.  Here's a
snippet:

  nmake
  REM copy binaries
  nmake install INSTALL_ROOT=\temp\Desktop
  cd..
  move \temp\Desktop\jenkins\workspace\qt5-beta-bin-msvc2010\qt-everywhere-opensource-src-5.0.0\qtbase qtbase
  ren qtbase Desktop

If the 'nmake' or 'nmake install' steps fail, the build won't be aborted
and it could easily go unnoticed.
That could be fixed by "if errorlevel 1 exit /b 1" or similar after each step.
I'm not sure if there's any better way to do that with a batch file ...

  nmake
  if errorlevel 1 exit /b 1
  REM copy binaries
  nmake install INSTALL_ROOT=\temp\Desktop
  if errorlevel 1 exit /b 1
  cd..
  if errorlevel 1 exit /b 1
  move \temp\Desktop\jenkins\workspace\qt5-beta-bin-msvc2010\qt-everywhere-opensource-src-5.0.0\qtbase qtbase
  ren qtbase Desktop
  if errorlevel 1 exit /b 1

etc...

Similarly, the Linux builds seem to invoke some buildme.sh which
discards the exit code from each run command, and indeed there are
compile failures being ignored, as seen in e.g.
http://smithers.qt-project.org:8080/job/qt5-beta-bin-ubuntu1204-64/79/consoleText
(search for "make: ***")

We shouldn't be wasting the time of humans to discover that the
packages are bad quality, when the machines are already trying to inform
us of this...

How do we get these improved?  Both the Windows and Linux build scripts
don't seem to be under qt5.git (there are some 'buildme_*.sh' in
qtrepotools, but seemingly not the ones used in the packaging
process, they are fetched from
http://origin.releases.qt-project.org/utils/bin_tools/build_scripts.tar.gz)



More information about the Releasing mailing list