[arch-projects] [ABS] [RFC] the new abs utility design
matt mooney
mfm at muteddisk.com
Mon Jun 13 22:35:12 EDT 2011
Hello everyone,
I am matt mooney, a.k.a. mfm, the new ABS developer and eventual maintainer ;)
Currently, I am working on a new abs utility, and I would like opinions on the
design before I fully implement it.
mfm:pts/15[~/src/abs]
Jun13 19:25:28 % ./abs
usage: abs [-h] [--version] [--abs-root=<path>]
[--build-dir=<path>] [--pkg-dir=<path>]
[--noconfirm]
<command>... [<pkgspec>...]
optional arguments:
-h, --help Print the synopsis and command list
--version Print the ABS version and exit
--abs-root <path> Path to the ABS tree
--build-dir <path> Path to the build directory
--pkg-dir <path> Path to the directory where packages will be output
--noconfirm Bypass all confirmation messages generated by pacman
commands:
build Build packages in the ABS tree
clean Clean the build directory
install Install packages
patch Apply patches to packages in the ABS tree.
sync Synchronize the ABS tree with the current snapshot
mfm:pts/15[~/src/abs]
Jun13 19:25:30 %
At first I was going to design it to run single commands, such as `abs build'
but I felt that would lead to one of two things: 1) a lot of duplicate options
to accomplish the other commands without specifying them, or 2) default command
chains running to avoid explicitly having to run every command manually (i.e.,
an `abs install' would implicitly run an `abs sync' then an `abs build` followed
by an `abs install'). So, instead, I decided to support explicit command chains,
such as `abs sync build install clean emacs'.
Nothing is set in stone yet. And I am really interested in hearing suggestions
from other people on what they would like to see from the abs utility. I think
one feature noticeably absent is the ability to rebuild all currently installed
packages from source without having to explicitly specify them.
The manpages have all been attached to this email for easier viewing using
`man'; furthermore, each asciidoc manpage is threaded along with this email for
inline comments.
My git repo can be found at http://projects.archlinux.org/users/mfm/abs.git/.
Thanks,
matt
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ABS.7.gz
Type: application/x-gzip
Size: 1796 bytes
Desc: not available
URL: <http://mailman.archlinux.org/pipermail/arch-projects/attachments/20110613/16537279/attachment-0003.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: abs.8.gz
Type: application/x-gzip
Size: 3263 bytes
Desc: not available
URL: <http://mailman.archlinux.org/pipermail/arch-projects/attachments/20110613/16537279/attachment-0004.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: abs.conf.5.gz
Type: application/x-gzip
Size: 2892 bytes
Desc: not available
URL: <http://mailman.archlinux.org/pipermail/arch-projects/attachments/20110613/16537279/attachment-0005.bin>
More information about the arch-projects
mailing list