ABF Console Client

From Rosalab Wiki
Revision as of 12:22, 6 September 2012 by Anton.kirilenko (Talk | contribs)

Jump to: navigation, search

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:

  1. abfsys
  2. abfcc
  3. ... (add here)

Feature List

Here is the list of the proposed features.

   1) Set up default ABF user, project group and branch. So it should be enough to get working git copy with command like:
   
   abfsys get [project]
   
   (git clone https://[user]@abf.rosalinux.ru/import/[project].git
   git checkout [branch] (if exists) )
   2) Set up default target for build submission. So it should work like:
   
   abfsys build
   
   (build current project for default distribution from proper git branch;
   for example, build from latest_rosa2012.1 branch to rosa2012.1/main)
   
   And non-default target:
   
   abfsys build [-t target] (target: rosa2012lts, rosa2012.1 etc)
   
   To automatically checkout project, cd to the directory, checkout branch and build to the correcponding target platform, you can use:
   
   abfsys build [package] -t [target]
   3) Check and cleanup package sources and patches using current spec as base.
   
   abfsys sync
   
   (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)
   4) Copy latest version of specified branch to current(1) or another(2).
   Like:
   
   abfsys backport import_cooker (1)
   abfsys backport import_cooker rosa2012lts (2)
   5) Push changes to git with commit
   
   abfsys put -m "commit message"
   
   (git commit -m "message", then git push or git push origin [branch])


   6) move/attach from one platform repo to another
   
   abfsys attach groupname/projectname platform/repo
   abfsys attach groupname/projectname platformorig/repoorig platformtarget/repotarget
   
   for example
   
   abfsys attach import/mc rosa2012lts/main
   
   abfsys move import/mc rosa2012lts/main rosa2012lts/contrib


   7) importing project from src.rpm
   abfsys upload XXX.src.rpm <groupname> <opened/closed status>
   abdsys upload mc.src.rpm import opened

Workflow

   When you start abfsys for the first time, it will ask you for your username,

password and some other things (if needed), and store it in ~/.oscrc.