mirror of
https://github.com/GothenburgBitFactory/taskwarrior.git
synced 2025-07-07 20:06:36 +02:00
Packaging
- Updated 'update' script. - Began README that provides instructions on how to create packages for OSX. Unfinished.
This commit is contained in:
parent
38ca8c8fb5
commit
e4f7bda430
2 changed files with 132 additions and 0 deletions
128
package-config/osx/README
Normal file
128
package-config/osx/README
Normal file
|
@ -0,0 +1,128 @@
|
|||
How to make an OSX package
|
||||
--------------------------
|
||||
|
||||
Note: This is being written from the OSX 10.6 perspective, and may therefore
|
||||
contain steps that are different for 10.5, although I don't recall any
|
||||
actual differences.
|
||||
|
||||
|
||||
0. Philosophy
|
||||
|
||||
Only Fredde tags releases. We only make builds from tagged commits. We
|
||||
only release builds that build cleanly without errors or warnings. We only
|
||||
release builds that pass 100% of the unit tests.
|
||||
|
||||
|
||||
1. Prerequisites
|
||||
|
||||
You will need an Intel Mac, running OSX 10.5 or later.
|
||||
You will need to install the Developer Tools, which are found on your OSX DVD.
|
||||
You will need git installed, version 1.5 or later. See http://git-scm.com
|
||||
You will need autotools installed. See http://www.gnu.org/software/autoconf
|
||||
|
||||
2. Get the code
|
||||
|
||||
2.1 Clone the task git repository. It is important that this is a throwaway
|
||||
clone of the repository, because we will do (locally) destructive things
|
||||
to it.
|
||||
|
||||
$ git clone git://tasktools.org/task.git ~/task-package.git
|
||||
...
|
||||
$ cd ~/task-package.git
|
||||
|
||||
2.2 Making sure you have the right version of the code. This assumes you are
|
||||
building task 1.9.2, but any version number is interchangeable. Check out
|
||||
the correct branch, and make sure it is sitting at the correct commit, via
|
||||
a tag.
|
||||
|
||||
$ git checkout 1.9.2
|
||||
$ git reset --hard v1.9.2
|
||||
|
||||
If there is an error in this step, stop immediately, capture the output, and
|
||||
report the errors.
|
||||
|
||||
3. Build task
|
||||
|
||||
3.1 First build the task binary. Note the "-j 2" tells make to use both cores
|
||||
in your dual-core Intel CPU, which means faster compiles. If yo own a quad
|
||||
core Mac, use "-j 4". If you own a single core Mac, just type "make".
|
||||
|
||||
$ autoreconf -f
|
||||
$ ./configure
|
||||
...
|
||||
|
||||
If any errors are reported, stop immediately, capture the output, and report
|
||||
the errors.
|
||||
|
||||
$ make -j 2
|
||||
|
||||
If there are any errors, or there are any warnings generated by the compiler,
|
||||
stop immediately, capture the output, and report the problem. You'll need to
|
||||
watch as it builds.
|
||||
|
||||
4. Build the test suite
|
||||
|
||||
4.1 The test suite exists to prove that we do not break task features from one
|
||||
release to the next. While this is not a perfect solution, it has saved us
|
||||
many times from releasing code that is inferior.
|
||||
|
||||
The first step is to modify the test suite Makefile to remove the Lua line.
|
||||
This is because we do not yet have dynamic detection of the Lua library for
|
||||
the unit tests.
|
||||
|
||||
$ cd ~/task-package.git/src/tests
|
||||
$ vi Makefile
|
||||
|
||||
Any text editor will do, but look for this line (line 5):
|
||||
|
||||
LFLAGS = -L/usr/local/lib -lncurses -llua
|
||||
|
||||
change it to:
|
||||
|
||||
LFLAGS = -L/usr/local/lib -lncurses
|
||||
|
||||
Now build the unit tests:
|
||||
|
||||
$ make -j 2
|
||||
...
|
||||
|
||||
4.2 Run all the unit tests.
|
||||
|
||||
$ ./run_all
|
||||
Skipping benchmarks
|
||||
|
||||
Pass: 4241
|
||||
Fail: 0
|
||||
Skipped: 0
|
||||
Runtime: 86
|
||||
|
||||
The output should look something like this, with 0 failed, and 0 skipped
|
||||
tests. If there are any failures or skips, stop and mailed the log file,
|
||||
named 'all.log' to Paul & Fredde.
|
||||
|
||||
5. Assemble the parts
|
||||
|
||||
5.1 There is a script that puts all the files in the right place, ready for
|
||||
packaging. Run this:
|
||||
|
||||
$ cd ~/task-package.git/package-config/osx
|
||||
$ ./update
|
||||
|
||||
6. Adjust the package details
|
||||
|
||||
6.1 Launch the package manager.
|
||||
|
||||
$ open -a /Developer/Applications/Utilies/PackageManager.app
|
||||
|
||||
6.2 Close the window that automatically opens.
|
||||
|
||||
6.3 Using the File -> Open menu, open the file
|
||||
|
||||
~/task-package.git/packag-config/osx/task.pmdoc
|
||||
|
||||
|
||||
6.x Rename the package
|
||||
|
||||
7. Test the package
|
||||
|
||||
7.1 Run the following commands
|
Loading…
Add table
Add a link
Reference in a new issue