ReactOS Release Engineer/Packaging ReactOS Releases

From ReactOS Wiki
Jump to: navigation, search

This page explains how the packages for ReactOS Releases are created. This is one of the central subtasks in the Release Engineering process.

Conventions

Replace %VERSION% with the version number of the ReactOS Release. (e.g. 0.3.12)

I assume that you run a multiprocessor system for compiling ReactOS and use TortoiseSVN for SVN work.

All instructions for creating ZIP files are explained using the Info-ZIP zip command line utility.

Preparations

Now get a checkout of the reactos subdirectory of the ReactOS Release branch (URL is usually svn://svn.reactos.org/reactos/branches/ros-branch-X_X_XX/reactos) by using the SVN Checkout feature of TortoiseSVN.

As of now (2010-10-08), we also integrate the following modules into a release:

Check out these modules into the modules subdirectory of the checked out ReactOS Release branch.

Now we're ready for creating the packages.

Creating the Packages

The following packages need to be created for a ReactOS Release:

ReactOS-%VERSION%-REL-iso.zip

This package contains the ISO file for the ReactOS Installation on a hard disk. Most users will download this file.

Creating this package:

  1. Open RosBE and enter the following commands to create the ISO file:
    clean
makex bootcd
  2. Create a ZIP file, which only contains the created ReactOS.iso file:
    zip ReactOS-%VERSION%-REL-iso.zip ReactOS.iso

ReactOS-%VERSION%-REL-live.zip

This package contains the ReactOS-LiveCD. It is built using the same settings, which were used for building the BootCD (see above).

Creating this package:

  1. Type the following command into the same development environment used to create the ReactOS-%VERSION%-REL-iso.zip package:
    makex livecd
  2. Create a ZIP file, which only contains the created ReactOS-LiveCD.iso file:
    zip ReactOS-%VERSION%-REL-live.zip ReactOS-LiveCD.iso

ReactOS-%VERSION%-REL-src.zip

This package contains the source code of the ReactOS release.

Creating this package:

  1. Create a directory called ReactOS-%VERSION%.
  2. Right-click this directory, choose the TortoiseSVN entry and click on Export. Then enter the URL to the reactos subdirectory of the branch and click on OK.
    This way, we get the source files of this branch without the .svn directories.
    Also export all modules integrated into this ReactOS Release into the modules subdirectory of the exported reactos directory (see [[#Preparations|Preparations] for more details).
  3. Create a ZIP file, which contains this directory. Do not forget to activate the option to store the relative path names:
    zip -r ReactOS-%VERSION%-REL-src.zip ReactOS-%VERSION%

ReactOS-%VERSION%-REL-qemu.zip

This package contains a preinstalled Debug build of ReactOS in a QEMU virtual machine along with QEMU for Windows.

Creating this package:

  1. Copy the files from svn://svn.reactos.org/project-tools/trunk/Release%20Engineering/VM-Templates/QEMU/ into a directory called ReactOS-%VERSION%-QEMU.
  2. Download a QEMU build for Windows from http://www.h7.dion.ne.jp/~qemu-win/.
  3. Put the QEMU program files in the files subdirectory of the ReactOS-%VERSION%-QEMU directory, including the QEMU files subdirectories.
  4. Remove alternative architecture versions, all HTML files, the Linux stuff, the PXE stuff, alternative BIOS files, all BAT files and the QEMU Readme's from the files directory.
    For QEMU 0.9.0, this leads to the following files remaining:
    • keymaps subdirectory (unmodified)
    • License subdirectory (unmodified)
    • bios.bin
    • fmod.dll
    • libusb0.dll
    • qemu.exe
    • qemu-img.exe
    • SDL.dll
    • vgabios-cirrus.bin
      This exact list might change for future QEMU versions, so better adhere to the general list of unneeded files above.
  5. Use the following command to create the virtual hard disk:
    qemu-img create -f vmdk ReactOS.vmdk 2G
  6. Copy the ReactOS.iso file created for the package ReactOS-%VERSION%-REL-iso.zip into the files subdirectory and run install.bat to install it.
  7. Remove the ReactOS.iso and install.bat files.
  8. Create a ZIP file, which contains this directory. Do not forget to activate the option to store the relative path names:
    zip -r ReactOS-%VERSION%-REL-qemu.zip ReactOS-%VERSION%-QEMU

ReactOS-%VERSION%-REL-vmware.zip

This package contains a preinstalled Release version of ReactOS in a VMware virtual machine. The virtual machine is compatible with VMware Workstation 4.5 or later and all free VMware products.

Creating this package:

  1. Copy the files from svn://svn.reactos.org/project-tools/trunk/Release%20Engineering/VM-Templates/VMware into a directory called ReactOS-%VERSION%-VMware.
  2. Copy the ReactOS.iso file created for the package ReactOS-%VERSION%-REL-iso.zip into this directory.
  3. Open the ReactOS-Installation.vmx file in your VMware product, click on Edit virtual machine settings and on Add.
  4. Add a new hard disk called ReactOS.vmdk with 2 GB size and in a growable format (deselect Allocate all disk space now).
  5. Remove the just created Hard Disk 2 entry as we already have a Hard Disk entry, which now uses the created file.
  6. Start the virtual machine and install ReactOS on it.
  7. Remove all files in this directory except ReactOS.vmx, ReactOS.vmdk and Readme.txt
  8. Create a ZIP file, which contains the ReactOS-%VERSION%-VMware directory. Do not forget to activate the option to store the relative path names:
    zip -r ReactOS-%VERSION%-REL-vmware.zip ReactOS-%VERSION%-VMware