Packaging Version Guidelines

From Unvanquished
Jump to: navigation, search

Naming conventions

Please follow these conventions when sharing your packages.

Sharing Temporary dpk files

When sharing dpk files that are not supposed to be standalone files of the game installation, please use one of the following two formats, so that it will be easier for others to find out the latest version:

   name_year-month-day-time.dpk
   name_year-month-day-time-author.dpk


The date and time is the time when you package the dpk and uses the following format:

   year: <2000-2100>
   month: <01-12>
   day: <01-31>
   time: <00-24><00-59> (hour and minute, in GMT/UTC)
   author: Nickname as lowercase alphanumeric


For example:

   drill_2014-05-29-1527.dpk
   drill_2014-05-29-1527-viech.dpk


In case you're having issues with UTC: If your time zone's offset is positive, substract it, otherwise add it (e.g. 20:00 UTC+2 = 18:00 UTC; 20:00 UTC-6 = 02:00 UTC of the next day). Keep local daylight saving in mind. If you're using the 12 hour time format read here.

The reason for using this time format is that it can be sorted by using lexicographical order and is still human readable (as opposed to the unix timestamp, which also isn't easily available for windows users).


Sharing preview versions of standalone dpk files

For dpk files that are to be included with the release, for example maps and texture packages, there are two scenarios. If you are the main author of the package in question and it is unlikely that others will want to release a version of their own, you can use the following format:

   name_targetversion~counter.dpk


For example:

   map-spacetracks_1.0~1.dpk


The "~" tells the engine that the dpk is to be ordered before the specified target version. For example, "tex-common_1.0~1.dpk" will be considered older than "tex-common_1.0~2.dpk" which in turn will be considered older than "tex-common_1.0.dpk", so the target release will always overwrite any preview version.

If you are not the only regular author of the dpk in question, please use the date & time format above instead of the counter:

   name_targetversion~year-month-day-time.dpk
   name_targetversion~year-month-day-time-author.dpk


For example:

   unvanqushed_0.28.0~2014-05-29-1637.dpk
   unvanqushed_0.28.0~2014-05-29-1637-viech.dpk


Releasing fixes to standalone dpk files

If you are not the main author of a dpk but want to release a version with additions or bugfixes, use "+" instead of "~" to order your version after the regular release:

   name_currentversion+counter.dpk


For example:

   map-spacetracks_1.0+1.dpk


Here "1.0" was the author's original release and "+1" was added to mark an update without interfering with the author's versioning scheme.

Auto-naming and packaging script

By `Ishq

#!/bin/bash
if | ! -d $1 ; then
        echo "Not a directory!"
        exit 1
fi
CDIR=$(pwd);
BASE=$(basename $1)
NOW=$(date -u +"%Y-%m-%d-%H-%M")
FILENAME="$(echo $BASE | sed 's/_.*//')_$NOW"
cd "$1"
zip -r9 "$CDIR/$FILENAME.dpk" *
cd "$CDIR"