Difference between revisions of "ReactOS Release Engineer/Packaging ReactOS Releases"

From ReactOS Wiki
Jump to: navigation, search
m (Category Building)
(One intermediate revision by one other user not shown)
Line 6: Line 6:
 
I assume that you run a multiprocessor system for compiling ReactOS and use TortoiseSVN for SVN work.
 
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 [http://info-zip.org Info-ZIP] <code>zip</code> command line utility.
+
All instructions for creating ZIP files are explained using the [http://info-zip.org/ Info-ZIP] <code>zip</code> command line utility.
  
 
== Preparations ==
 
== Preparations ==
Line 12: Line 12:
  
 
As of now (2010-10-08), we also integrate the following modules into a release:
 
As of now (2010-10-08), we also integrate the following modules into a release:
* '''optional''' (not in SVN, copy this from the previous release and add new stuff if required)
+
* '''optional''': Not in SVN, copy this from the previous release and add new stuff if required. This includes the Wine mshtml MSI and the DroidSans font needed for CJK.
 
* '''rosapps''' (svn://svn.reactos.org/reactos/branches/ros-branch-X_X_XX/rosapps)
 
* '''rosapps''' (svn://svn.reactos.org/reactos/branches/ros-branch-X_X_XX/rosapps)
 
* '''wallpaper''' (svn://svn.reactos.org/reactos/branches/ros-branch-X_X_XX/wallpaper)
 
* '''wallpaper''' (svn://svn.reactos.org/reactos/branches/ros-branch-X_X_XX/wallpaper)
Line 27: Line 27:
  
 
Creating this package:
 
Creating this package:
# Open RosBE and enter the following commands to create the ISO file:<br><pre>clean&#13;makex bootcd</pre>
+
# Open RosBE and enter the following commands to create the ISO file:<br /><pre>clean&#13;makex bootcd</pre>
# Create a ZIP file, which only contains the created ''ReactOS.iso'' file:<br><pre>zip ReactOS-%VERSION%-REL-iso.zip ReactOS.iso</pre>
+
# Create a ZIP file, which only contains the created ''ReactOS.iso'' file:<br /><pre>zip ReactOS-%VERSION%-REL-iso.zip ReactOS.iso</pre>
  
 
=== ReactOS-%VERSION%-REL-live.zip ===
 
=== ReactOS-%VERSION%-REL-live.zip ===
Line 34: Line 34:
  
 
Creating this package:
 
Creating this package:
# Type the following command into the same development environment used to create the [[#ReactOS-%VERSION%-REL-iso.zip|ReactOS-%VERSION%-REL-iso.zip]] package:<br><pre>makex livecd</pre>
+
# Type the following command into the same development environment used to create the [[#ReactOS-%VERSION%-REL-iso.zip|ReactOS-%VERSION%-REL-iso.zip]] package:<br /><pre>makex livecd</pre>
# Create a ZIP file, which only contains the created ''ReactOS-LiveCD.iso'' file:<br><pre>zip ReactOS-%VERSION%-REL-live.zip ReactOS-LiveCD.iso</pre>
+
# Create a ZIP file, which only contains the created ''ReactOS-LiveCD.iso'' file:<br /><pre>zip ReactOS-%VERSION%-REL-live.zip ReactOS-LiveCD.iso</pre>
  
 
=== ReactOS-%VERSION%-REL-src.zip ===
 
=== ReactOS-%VERSION%-REL-src.zip ===
Line 42: Line 42:
 
Creating this package:
 
Creating this package:
 
# Create a directory called ''ReactOS-%VERSION%''.
 
# Create a directory called ''ReactOS-%VERSION%''.
# 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''.<br> This way, we get the source files of this branch without the ''.svn'' directories.<br> Also export all modules integrated into this ReactOS Release into the ''modules'' subdirectory of the exported ''reactos'' directory (see [[#Preparations|Preparations] for more details).
+
# 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''.<br /> This way, we get the source files of this branch without the ''.svn'' directories.<br /> Also export all modules integrated into this ReactOS Release into the ''modules'' subdirectory of the exported ''reactos'' directory (see [[#Preparations|Preparations] for more details).
# Create a ZIP file, which contains this directory. Do not forget to activate the option to store the relative path names:<br><pre>zip -r ReactOS-%VERSION%-REL-src.zip ReactOS-%VERSION%</pre>
+
# Create a ZIP file, which contains this directory. Do not forget to activate the option to store the relative path names:<br /><pre>zip -r ReactOS-%VERSION%-REL-src.zip ReactOS-%VERSION%</pre>
  
 
=== ReactOS-%VERSION%-REL-qemu.zip ===
 
=== ReactOS-%VERSION%-REL-qemu.zip ===
Line 52: Line 52:
 
# Download a QEMU build for Windows from http://www.h7.dion.ne.jp/~qemu-win/.
 
# Download a QEMU build for Windows from http://www.h7.dion.ne.jp/~qemu-win/.
 
# Put the QEMU program files in the files subdirectory of the ReactOS-%VERSION%-QEMU directory, including the QEMU ''files'' subdirectories.
 
# Put the QEMU program files in the files subdirectory of the ReactOS-%VERSION%-QEMU directory, including the QEMU ''files'' subdirectories.
# 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.<br>For QEMU 0.9.0, this leads to the following files remaining:
+
# 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.<br />For QEMU 0.9.0, this leads to the following files remaining:
 
#* ''keymaps'' subdirectory (unmodified)
 
#* ''keymaps'' subdirectory (unmodified)
 
#* ''License'' subdirectory (unmodified)
 
#* ''License'' subdirectory (unmodified)
Line 61: Line 61:
 
#* ''qemu-img.exe''
 
#* ''qemu-img.exe''
 
#* ''SDL.dll''
 
#* ''SDL.dll''
#* ''vgabios-cirrus.bin''<br>This exact list might change for future QEMU versions, so better adhere to the general list of unneeded files above.
+
#* ''vgabios-cirrus.bin''<br />This exact list might change for future QEMU versions, so better adhere to the general list of unneeded files above.
# Use the following command to create the virtual hard disk:<br><pre>qemu-img create -f vmdk ReactOS.vmdk 2G</pre>
+
# Use the following command to create the virtual hard disk:<br /><pre>qemu-img create -f vmdk ReactOS.vmdk 2G</pre>
 
# 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.
 
# 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.
 
# Remove the ''ReactOS.iso'' and ''install.bat'' files.
 
# Remove the ''ReactOS.iso'' and ''install.bat'' files.
# Create a ZIP file, which contains this directory. Do not forget to activate the option to store the relative path names:<br><pre>zip -r ReactOS-%VERSION%-REL-qemu.zip ReactOS-%VERSION%-QEMU</pre>
+
# Create a ZIP file, which contains this directory. Do not forget to activate the option to store the relative path names:<br /><pre>zip -r ReactOS-%VERSION%-REL-qemu.zip ReactOS-%VERSION%-QEMU</pre>
  
 
=== ReactOS-%VERSION%-REL-vmware.zip ===
 
=== 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.<br>
+
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:
 
Creating this package:
Line 74: Line 74:
 
# Copy the ''ReactOS.iso'' file created for the package [[#ReactOS-%VERSION%-REL-iso.zip|ReactOS-%VERSION%-REL-iso.zip]] into this directory.
 
# Copy the ''ReactOS.iso'' file created for the package [[#ReactOS-%VERSION%-REL-iso.zip|ReactOS-%VERSION%-REL-iso.zip]] into this directory.
 
# Open the ''ReactOS-Installation.vmx'' file in your VMware product, click on ''Edit virtual machine settings'' and on ''Add''.
 
# Open the ''ReactOS-Installation.vmx'' file in your VMware product, click on ''Edit virtual machine settings'' and on ''Add''.
# Add a new hard disk called ''ReactOS.vmdk'' with 2 GB size and in a growable format (deselect ''Allocate all disk space'' now).
+
# Add a new hard disk called ''ReactOS.vmdk'' with 2&nbsp;GB size and in a growable format (deselect ''Allocate all disk space'' now).
 
# Remove the just created ''Hard Disk 2'' entry as we already have a ''Hard Disk'' entry, which now uses the created file.
 
# Remove the just created ''Hard Disk 2'' entry as we already have a ''Hard Disk'' entry, which now uses the created file.
 
# Start the virtual machine and install ReactOS on it.
 
# Start the virtual machine and install ReactOS on it.
 
# Remove all files in this directory except ''ReactOS.vmx'', ''ReactOS.vmdk'' and ''Readme.txt''
 
# Remove all files in this directory except ''ReactOS.vmx'', ''ReactOS.vmdk'' and ''Readme.txt''
# Create a ZIP file, which contains the ''ReactOS-%VERSION%-VMware'' directory. Do not forget to activate the option to store the relative path names:<br><pre>zip -r ReactOS-%VERSION%-REL-vmware.zip ReactOS-%VERSION%-VMware</pre>
+
# Create a ZIP file, which contains the ''ReactOS-%VERSION%-VMware'' directory. Do not forget to activate the option to store the relative path names:<br /><pre>zip -r ReactOS-%VERSION%-REL-vmware.zip ReactOS-%VERSION%-VMware</pre>
 +
 
 +
{{DEFAULTSORT:Packaging ReactOS Releases}}
 
[[Category:Tutorial]]
 
[[Category:Tutorial]]
 
[[Category:Documentation]]
 
[[Category:Documentation]]
 
[[Category:Building]]
 
[[Category:Building]]

Revision as of 02:23, 17 May 2016

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&#13;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