Difference between revisions of "ABF Console Client"
(→abfsys build [PROJECT] [-t PLATFORM] [-b BRANCH] [-p] [-a ARCHES]) |
|||
Line 10: | Line 10: | ||
Possible variants: | Possible variants: | ||
− | # | + | # abf |
# abfcc | # abfcc | ||
# ... (add here) | # ... (add here) | ||
Line 18: | Line 18: | ||
Here is the list of the proposed features. | Here is the list of the proposed features. | ||
− | === <DONE> | + | === <DONE> abf get PROJECT [-g GROUP] [-b BRANCH] === |
clone git repository, project group is set to GROUP or default | clone git repository, project group is set to GROUP or default | ||
Line 24: | Line 24: | ||
with -b BRANCH - checkout | with -b BRANCH - checkout | ||
− | === <DONE> | + | === <DONE> abf build [PROJECT] [-t PLATFORM] [-b BRANCH] [-p] [-a ARCHES]=== |
Without parameters - build current project for default distribution from proper git branch; For example, build from latest_rosa2012.1 branch to rosa2012.1/main) | Without parameters - build current project for default distribution from proper git branch; For example, build from latest_rosa2012.1 branch to rosa2012.1/main) | ||
Line 36: | Line 36: | ||
If something is not specified - resolve it automatically. For example, | If something is not specified - resolve it automatically. For example, | ||
− | '' | + | ''abf build mock-urpm -t rosa2012lts'' |
will build mock-urpm from branch latest_rosa2012lts. | will build mock-urpm from branch latest_rosa2012lts. | ||
Line 44: | Line 44: | ||
-a ARCHES - coma-separated list of arches to build. "i586,x86_64" by default | -a ARCHES - coma-separated list of arches to build. "i586,x86_64" by default | ||
− | === | + | === abf rebuild [PROJECT]=== |
− | Execute the last executet '' | + | Execute the last executet ''abf build ...'' command for the project specified or to the current project if possible. |
− | === <DONE> | + | === <DONE> abf buildstatus [ID] === |
Get the status of the build task with ID. If ID not set and you are inside the repository directory - get the id of the last project build. | Get the status of the build task with ID. If ID not set and you are inside the repository directory - get the id of the last project build. | ||
− | === | + | === abf localbuild === |
Build the project from cwd using mock. ''A set of parameters will be available later.'' | Build the project from cwd using mock. ''A set of parameters will be available later.'' | ||
− | === | + | === abf sync === |
Check and cleanup package sources and patches using current spec as base. | Check and cleanup package sources and patches using current spec as base. | ||
Line 62: | Line 62: | ||
(delete all sources and patches from working directory if they are not listed in spec; inform if any listed patches/sources are missing; create proper file used to store tarballs on file server) | (delete all sources and patches from working directory if they are not listed in spec; inform if any listed patches/sources are missing; create proper file used to store tarballs on file server) | ||
− | === | + | === abf backport SRC_BRANCH [DST_BRANCH] === |
Copy all the files from SRC_BRANCH to DST_BRANCH, or to the current brunch if not specified. | Copy all the files from SRC_BRANCH to DST_BRANCH, or to the current brunch if not specified. | ||
− | === <DONE> | + | === <DONE> abf put -m "commit message" === |
Commit changes (git commit -am "message") and push (git push origin branch) | Commit changes (git commit -am "message") and push (git push origin branch) | ||
− | === | + | === abf uploadsrpm SRPM_PATH [GROUP] [-h] [-n NAME] [-d DESCRIPTION]=== |
Create a new project in group GROUP or in your default group and upload the files from srpm file. | Create a new project in group GROUP or in your default group and upload the files from srpm file. | ||
Line 81: | Line 81: | ||
− | === | + | === abf attach GROUP/PRJ PLAT_TARGET/REPO_TARGET [PLAT_ORIG/REPO_ORIG]=== |
− | === | + | === abf detach GROUP/PRJ PLAT_TARGET/REPO_TARGET === |
Attach the project to the repository, or detach it from repository. | Attach the project to the repository, or detach it from repository. | ||
Line 91: | Line 91: | ||
For example, two commands: | For example, two commands: | ||
− | ''' | + | '''abf attach import/mc rosa2012lts/contrib''' |
− | ''' | + | '''abf attach import/mc rosa2012lts/main''' |
equals: | equals: | ||
− | ''' | + | '''abf move import/mc rosa2012lts/contrib rosa2012lts/main''' |
= Workflow = | = Workflow = | ||
− | When you start | + | When you start abf for the first time, it will ask you for your username, |
− | password and some other things (if needed), and store it in ~/. | + | password and some other things (if needed), and store it in ~/.abf . Later |
the password will be stored using python-keyring or python-keyring-kde. | the password will be stored using python-keyring or python-keyring-kde. | ||
− | There will be configuration files for every in ~/. | + | There will be configuration files for every in ~/.abf: |
Revision as of 13:50, 19 September 2012
Contents
- 1 Intro
- 2 Naming
- 3 Feature List
- 3.1 <DONE> abf get PROJECT [-g GROUP] [-b BRANCH]
- 3.2 <DONE> abf build [PROJECT] [-t PLATFORM] [-b BRANCH] [-p] [-a ARCHES]
- 3.3 abf rebuild [PROJECT]
- 3.4 <DONE> abf buildstatus [ID]
- 3.5 abf localbuild
- 3.6 abf sync
- 3.7 abf backport SRC_BRANCH [DST_BRANCH]
- 3.8 <DONE> abf put -m "commit message"
- 3.9 abf uploadsrpm SRPM_PATH [GROUP] [-h] [-n NAME] [-d DESCRIPTION]
- 3.10 abf attach GROUP/PRJ PLAT_TARGET/REPO_TARGET [PLAT_ORIG/REPO_ORIG]
- 3.11 abf detach GROUP/PRJ PLAT_TARGET/REPO_TARGET
- 4 Workflow
Intro
Our team (or just me) is about to start the development of the long-awaited project, console client for ABF!
Firstly we have to make up the list of features. All the demands and proposals are welcome in this mailing list (rosa-devel) or here.
Naming
The name of the tool is not defined yet. You can write you ideas here.
Possible variants:
- abf
- abfcc
- ... (add here)
Feature List
Here is the list of the proposed features.
<DONE> abf get PROJECT [-g GROUP] [-b BRANCH]
clone git repository, project group is set to GROUP or default
with -b BRANCH - checkout
<DONE> abf build [PROJECT] [-t PLATFORM] [-b BRANCH] [-p] [-a ARCHES]
Without parameters - build current project for default distribution from proper git branch; For example, build from latest_rosa2012.1 branch to rosa2012.1/main)
With PROJECT - select the project to operate on.
With BRANCH- build the project from that branch.
With PLATFORM - build the project to that platform.
If something is not specified - resolve it automatically. For example,
abf build mock-urpm -t rosa2012lts
will build mock-urpm from branch latest_rosa2012lts.
With -p - automatic publishing.
-a ARCHES - coma-separated list of arches to build. "i586,x86_64" by default
abf rebuild [PROJECT]
Execute the last executet abf build ... command for the project specified or to the current project if possible.
<DONE> abf buildstatus [ID]
Get the status of the build task with ID. If ID not set and you are inside the repository directory - get the id of the last project build.
abf localbuild
Build the project from cwd using mock. A set of parameters will be available later.
abf sync
Check and cleanup package sources and patches using current spec as base.
(delete all sources and patches from working directory if they are not listed in spec; inform if any listed patches/sources are missing; create proper file used to store tarballs on file server)
abf backport SRC_BRANCH [DST_BRANCH]
Copy all the files from SRC_BRANCH to DST_BRANCH, or to the current brunch if not specified.
<DONE> abf put -m "commit message"
Commit changes (git commit -am "message") and push (git push origin branch)
abf uploadsrpm SRPM_PATH [GROUP] [-h] [-n NAME] [-d DESCRIPTION]
Create a new project in group GROUP or in your default group and upload the files from srpm file.
-h - makes project hidden.
-n NAME - set the project name. If not specified - get from srpm
-d DESCRIPTION - project description.
abf attach GROUP/PRJ PLAT_TARGET/REPO_TARGET [PLAT_ORIG/REPO_ORIG]
abf detach GROUP/PRJ PLAT_TARGET/REPO_TARGET
Attach the project to the repository, or detach it from repository.
Attaching with PLAT_ORIG/REPO_ORIG will detach project from one repo and attach to another.
For example, two commands:
abf attach import/mc rosa2012lts/contrib abf attach import/mc rosa2012lts/main
equals:
abf move import/mc rosa2012lts/contrib rosa2012lts/main
Workflow
When you start abf for the first time, it will ask you for your username, password and some other things (if needed), and store it in ~/.abf . Later the password will be stored using python-keyring or python-keyring-kde.
There will be configuration files for every in ~/.abf: