Puritan/Instructions: Difference between revisions
No edit summary |
|||
Line 21: | Line 21: | ||
=== Interactive Debugging === |
=== Interactive Debugging === |
||
The '-i' option above enables an interactive error-handling mode. If an error occurs |
The '-i' option above enables an interactive error-handling mode. If an error occurs, |
||
'''with the most recent compilation and ui''', you will be dropped directly into bash inside the buildroot. |
|||
* to resume the compilation, type |
|||
exit 0 |
|||
* to quit the compilation, type |
|||
exit 1 |
|||
''' with earlier compilations which still support interactive error-handling: |
|||
* to learn what command failed: |
* to learn what command failed: |
Revision as of 17:44, 17 December 2008
Preparation
To use Puritan, you need to install dependencies:
# NB: mock >= 0.9.7 is needed. # debian: sudo apt-get install mock git-core # fedora: sudo yum install mock git-core # both sudo usermod -a -G mock $USER newgrp mock
and to check out and run a 'ui' and a 'compilation'.
(git clone git://dev.laptop.org/users/mstone/puritan compilation; cd compilation; git branch --track 767 origin/767; git checkout 767) git clone git://dev.laptop.org/users/mstone/puritan ui python2.5 ui/puritan/main.py # read help sudo python2.5 ui/puritan/main.py -v build ./compilation HEAD ./results -- -i
Interactive Debugging
The '-i' option above enables an interactive error-handling mode. If an error occurs,
with the most recent compilation and ui, you will be dropped directly into bash inside the buildroot.
- to resume the compilation, type
exit 0
- to quit the compilation, type
exit 1
with earlier compilations which still support interactive error-handling:
- to learn what command failed:
kwargs
- to get a bash shell inside the buildroot for further debugging
import os os.system('/bin/bash')
- to resume the compilation after fixing an error:
del kwargs['e'] Ctrl-D
- to exit the compilation and clean up.
Ctrl-D
Other Notes
Note: if you encounter permission errors when running this command, you may need to:
sudo setenforce 0 # disable selinux
Note: a word of warning: while _my_ uis and compilations will treat your computer nicely, other people's might not. Caveat emptor.
Some puritan compilations now feature a 'download' operation which can be used to download all packages that the compilation will install for later (offline) use:
sudo python2.5 ui/puritan/main.py -v download ./compilation HEAD ./results
This command will generate a program in the results directory which can be used to download the packages.