This page describes how to build Dynare packages for official numbered releases.
1. Tagging the release
Tagging the release involves two steps:
in the stable branch, in the 3 files called configure.ac, make sure that the version entry on the AC_INIT line is correct
- run "make check"
- run "make clean", and check that no file has been left with "git ls-files -o -i --exclude-standard"
- run "make dist", and test that the source ball can be built and can run the testsuite
- then tag the release with:
git tag 4.x.y git push --tags
- add the release to Trac
2. Source archive
Creating the source package should be done from Linux (but can be done from Cygwin):
- Get a fresh working copy of the official release, by typing the following (where VERSION is of the form 4.x.y):
git clone http://www.dynare.org/git/dynare.git git checkout 4.x.y
- Type the following (from the root directory):
autoreconf -s -i ./configure make dist
This will create dynare-VERSION.tar.gz
3. Windows package
All the tools needed to compile a Windows installer for Dynare are on Karaba.
The procedure is the following:
Create a source tree of Dynare on Karaba: it is your responsibility to run autoreconf and git submodule if relevant
- Then, from the top directory of the source tree, run the following command:
make-dynare-win-unstable if you are compiling an unstable snapshot
make-dynare-win-4.2 if you are compiling a 4.2 package
If everything goes well, you should get a dynare-win-VERSION.exe file in the current directory
Note that the make-dynare-win-* accept an optional argument, which will be the version number associated to the package. For the unstable script, the default is current date in YYYY-MM-DD format, for the 4.2 script the default is the current stable release number.
Also note that the make-dynare-win-* don't run any git command, and will run make clean in your source tree at the beginning and at the end of the build.
4. Debian backports
The main packaging work is done by the Debian Octave Group, see the Dynare PTS page. This section explains how to backport these packages to Debian stable and upload them to the repository hosted on www.dynare.org.
4.1. Creating backport packages
You need to install the devscripts and git-buildpackage packages.
The official Debian packaging is held in the master branch. There is one additional branch for each backported distribution: squeeze-backports, etc.
The upstream branch holds the Dynare sources.
[TO BE COMPLETED]
4.2. Uploading the packages to kirikou
4.2.1. General information
Kirikou holds a Debian repository in /srv/d_kirikou/reprepro/debian. It is managed with the package reprepro. A dedicated user reprepro has been created for that purpose.
The repository has been created along the lines of http://wiki.debian.org/SettingUpSignedAptRepositoryWithReprepro
The GPG key used for signing is stored in the home directory of the reprepro user (no passphrase).
4.2.2. Preparing for upload
Make sure your SSH key is in /srv/d_kirikou/reprepro/.ssh/authorized_keys
On your local machine, install the dput package, and put the following stance into ~/.dput.cf:
[kirikou-debian] fqdn = kirikou.dynare.org incoming = /srv/d_kirikou/reprepro/debian/incoming method = scp login = reprepro allow_unsigned_uploads = 1 post_upload_command = ssh %(login)s@%(fqdn)s reprepro --basedir /srv/d_kirikou/reprepro/debian processincoming default
4.2.3. Doing an upload
Make sure that the last changelog entry in your package contains the right distribution name (and not "unstable" or a dummy value). This field is used by reprepro to determine in which distribution to put the packages. For Debian, prepend "-backports" (e.g. squeeze-backports).
Upload example for Debian:
dput kirikou-debian dynare_4.2.2-1~bpo60+1_amd64.changes
5. Mac Package
This section outlines how to create a Dynare installation package for Mac on PackageMaker v3.0.4. For a detailed description of PackageMaker options, please see the Mac Developer Connection site. For reference, a detailed pdf file from the Developer Connection site can be found here, while the .pmdoc (PackageMaker) file associated with the release of Dynare 4.1.0 can be found here.
NB: To make the Dynare executables (i.e., dynare++, preprocessor, etc.) work on 10.5, see section 6.2 of BuildingDynareFromSource.
5.1. Preparation work
- Navigate to the root directory of the version of Dynare that you want to place in the installation package and remove all of the .DS_Store files in all of its subdirectories by typing
find ./ -name ".DS_Store" -depth -exec rm {} \;
5.2. The Distribution
Opening PackageMaker, create a new project with organization as com.dynare. Select the following options
Configuration tab:
- Title: Dynare
- User Sees: "Easy and Custom Install", which allows the user to change the default installation directory.
- Install Destination: choose "Volume Selected by User" to allow the user to choose the drive on which to install Dynare
- Description: Dynare [version]
Requirements tab:
- Create a requirement that the user have at least as much free space as the size of the fully installed version of Dynare. Other requirements can be added as well, including minimum OS version, number of CPUs, and so on.
Actions tab:
- Nothing
5.3. The Choice
Having gone to Project->Add Contents and navigating to and selecting the folder containing this distribution of Dynare, select the following options
Configuration tab:
- Choice Name: Dynare [version]
- Identifier: not significant for our purposes
- Initial State: Selected
- Destination: /Applications/Dynare/[version] the default installation directory. Also check "Allow alternate volume"
- Tooltip: Dynare [version]
- Description: Can describe the changes in this version of Dynare, if desired. Otherwise, Dynare [version].
Requirements tab:
- Add the same space requirement as in the requirements tab of the Distribution pane. Though this is redundant, it is logically correct. If we were to add more contents (i.e., different options that the user could choose to install), the space requirement in the Distribution page would be the sum of the space requirements of the various contents.
5.4. The Package
Select the following options
Configuration tab:
- Destination: the same as in the Configuration tab of the Choice pane.
- Package Identifier: com.dynare.dynare-[version].pkg
- Package Version: [version]
- Restart Action: None
- Require admin authentication: checked
Contents tab:
- Set the Group at the root Dynare directory to be "admin" and click on the "Apply Recommendations" button
Components tab:
- Nothing
Scripts tab:
- Nothing
5.5. Edit Interface
This is self explanatory after you click on the Edit Interface button.