Puritan/Instructions: Difference between revisions
No edit summary |
|||
(7 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
=== Preparation === |
|||
⚫ | |||
To use Puritan, you need to install dependencies: |
|||
# NB: mock >= 0.9.7 is needed. |
# NB: mock >= 0.9.7 is needed. |
||
Line 6: | Line 7: | ||
# ''fedora'': |
# ''fedora'': |
||
sudo yum install mock git-core |
sudo yum install mock git-core |
||
# both |
|||
sudo usermod -a -G mock $USER |
|||
⚫ | |||
newgrp mock |
|||
⚫ | |||
⚫ | |||
git clone git://dev.laptop.org/users/mstone/puritan ui |
git clone git://dev.laptop.org/users/mstone/puritan ui |
||
python2.5 ui/puritan/main.py # read help |
python2.5 ui/puritan/main.py # read help |
||
sudo python2.5 ui/puritan/main.py -v build ./compilation HEAD ./results |
sudo python2.5 ui/puritan/main.py -v build ./compilation HEAD ./results -- -i |
||
⚫ | |||
⚫ | |||
# sudo usermod -a -G mock $USER && newgrp mock # add yourself to the mock group: |
|||
⚫ | |||
=== 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. |
|||
⚫ | |||
exit 0 |
|||
* to quit the compilation, type |
|||
exit 1 |
|||
'''with earlier compilations''' which still support interactive error-handling: [[Puritan/Instructions|instructions]] |
|||
<noinclude> |
|||
⚫ | |||
kwargs |
|||
⚫ | |||
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 |
|||
</noinclude> |
|||
=== Other Notes === |
|||
; Fedora |
|||
⚫ | |||
⚫ | |||
⚫ | |||
; Ubuntu |
|||
mock_0.9.7-2 on ubuntu requires [http://launchpadlibrarian.net/20025336/mock.patch] in order to run. |
|||
Additionally, if you run puritan as root, you should either |
|||
usermod -a -G mock -u $SUDO_UID |
|||
unset SUDO_UID # or |
|||
; All |
|||
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: |
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 |
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. |
|||
and 'interactive' error-handling: |
|||
sudo python2.5 ui/puritan/main.py -v build ./compilation HEAD ./results -- -i |
|||
# when an error occurs: |
|||
⚫ | |||
⚫ | |||
# del kwargs['e'] + Ctrl-D to resume the compilation |
|||
⚫ |
Latest revision as of 00:56, 14 January 2009
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: instructions
- 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
- Fedora
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.
- Ubuntu
mock_0.9.7-2 on ubuntu requires [1] in order to run. Additionally, if you run puritan as root, you should either
usermod -a -G mock -u $SUDO_UID unset SUDO_UID # or
- All
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.