2015-01-26 20:26:05 +00:00
# Branches and Tags:
There are 3 branches/tags:
* **HEAD:** The cutting edge of development.
* **tag stable:** Stable enough for use by most people.
* **tag production:** Burned in long enough that we are confident it can be widely adopted.
If you are packaging Blackbox for distribution, you should track the *tag production*. You might also want to provide a separate package that tracks *tag stable:* for early adopters.
# Build Tasks
# Stable Releases
Marking the software to be "stable":
2015-01-26 20:30:06 +00:00
Step 1. Tag it.
2015-01-26 20:26:05 +00:00
```
git pull
git tag -d stable
git push origin :stable
git tag stable
git push origin tag stable
```
2015-01-26 20:30:06 +00:00
Step 2. Mark your calendar 1 week from today to check
to see if this should be promoted to production.
2015-01-26 20:26:05 +00:00
# Production Releases
If no bugs have been reported a full week after a stable tag has been pushed, mark the release to be "production".
```
git fetch
git checkout stable
git tag -d production
git push origin :production
git tag production
git push origin tag production
R="v1.$(date +%Y%m%d)"
git tag "$R"
2015-02-03 11:12:52 -05:00
git push origin tag "$R"
```
2015-02-22 11:25:42 -05:00
# Updating MacPorts
Step 1: Generate the Port file
tools/mk_portfile.sh tools/Portfile.template Portfile 1.20150222
Step 2: Test it locally
sudo vi /opt/local/etc/macports/sources.conf
Add this line early in the file:
file:///var/tmp/ports
rm -rf /var/tmp/ports
mkdir -p /var/tmp/ports/security/vcs_blackbox
cp Portfile /var/tmp/ports/security/vcs_blackbox
cd /var/tmp/ports && portindex
sudo port clean --all vcs_blackbox
sudo port uninstall vcs_blackbox
sudo port install vcs_blackbox
Step 3: File a request for an update
* https://trac.macports.org/newticket
* Summary: `vcs_blackbox @1.20150222 Update to latest upstream`
* Description: ```
New upstream of vcs_blackbox.
github.setup and checksums updated.```
* Type: `update`
* Component: `ports`
* Port: `vcs_blackbox`
Attach the `Portfile` generated in Step 1.
Step 4: Wait for the devs to pick up the change.