Difference between revisions of "ABF Console Client"

From Rosalab Wiki
Jump to: navigation, search
(Workflow)
Line 18: Line 18:
 
Here is the list of the proposed features.
 
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:
+
     '''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]
 
     abfsys get [project]
Line 36: Line 37:
 
     abfsys build [-t target] (target: rosa2012lts, rosa2012.1 etc)
 
     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:
+
     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]
 
     abfsys build [package] -t [target]
Line 44: Line 46:
 
     abfsys sync
 
     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)
+
     (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).
 
     '''4)''' Copy latest version of specified branch to current(1) or another(2).
Line 77: Line 80:
 
= Workflow =
 
= 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. Later the password will be stored using python-keyring or python-keyring-kde.
+
     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. Later  
 +
    the password will be stored using python-keyring or python-keyring-kde.

Revision as of 12:24, 6 September 2012

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. Later 
   the password will be stored using python-keyring or python-keyring-kde.