Hi,
below you find minutes of the meeting from this monday.
Vlado



yast++
====
https://github.com/yast/yast--


Date:
-----
13-02-2012

Present:
-------
Jiri Srain, Lukas Ocilka, Martin Vidner, Josef Reidinger, Jiri Suchomel, Vladimir Moravec

Minutes
---------
Vladimir Moravec



ToC:
=======

1. Packaging
2. File structure
3. Name
4. Portability
5. Play & test out of the Git
6. GSoC
7. Logging
8. What's next

1. Packaging
============

  Main idea
  ----------
    + how to distribute the code

  Proposals
  ----------
    + gem directory structure if gem
    + check of local system dependencies
    + native extensions
    + stay with current rpm building and lets make it available for other distros via buildservice

2. File structure
=================
  + use of gem directory structure conventions

3. Name of the lib
==================

  Main idea
  ---------
    + to use or not to use 'yast' as a part of the name

  Pros
  ----
    + established name and community, descendant of Yast
    + well known and easy to distinguish from others

  Cons
  ----
    + not suitable if we target multiple distros
    + hard to find on google
    + hard to distinguish the name from yast
    + has association with 'suse only'
    + possible problem in the mind, with trademarked work 'yast'
    + makes impression that it is successor of YaST, but it is actually
      only extraction of part of YaST ( data processing )

  Questions
  ---------
    + What are the criteria for the name?

  Suggestions for the name
  ------------------------
    + ylib
    + anything with 'y' letter
    + liby
    + libyast

  Results
  -------
    + use yast++ name as before in the meantime
    + change is however expected in the course of further development


4. Portability
==============

  Main idea
  ---------
    + make the lib available & popular for non-suse developers

  What are the means to achieve this
  ----------------------------------
    + distro specific config / package script calls
    + other distros to be considered: Fedora, Debian, Ubuntu

  Random ideas
  ------------
    + what changes are needed to include other distros as target systems
    + focus on other distros not from the beginning, only later after some point
      in development has been reached
    + focus from the early stage on development; past experience shows this as reasonable
    + talk/blog about the lib development in the public to make it aware of the project existence
    + show simple examples for using on other distros
    + currently no check for running distro
    + autodetection as the best way
    + use of plugins would be fine
    + distro autodetection, e.g. `cat /proc/version`

  Discussion
  --------
    + too wide scope for beginning of such project (too many specifications,
      different needs for various distros)
    + too much work for small team -> rather focus on making happy well known users
      (studio,webyast), then use resources for others
    + imaginary users of debian/fedora as a too blury concept for the expected change
    + we need a proof of concept that it might run on different distros anyway

  Questions
  ---------
    + should the portability the a feature of the lib?
    + is the multi-distro focus meaningful?
    + would it be possible running it on Fedora at all?
    + What is needed to make the development focused on more distros?
    + where to implement the distro-specific configuration
    + how to avoid forking the lib from others and keep devs in one place =>
      avoid splitting the community

  Suggestions
  -----------
    + ylib as ideal level for customizing configuration of the lib for this


5. Play & test out of Github
============================

  Main idea
  ----------
    + make the lib developer friendly from the first touch

  How to achieve this
  --------------------
    + directory with example files
    + using chroot for not breaking the running system (root needed)
    + scripts for chrooting available
    + alternatives for chroot:
      + good tutorial for developers
      + make appliances available

  Random ideas
  ------------
    + devel-pattern for rpm packaging
    + appliances of other distros to play with the code
      + `git clone` into the pre-build VM
    + project on OBS / install from here
    + ensure modifying the local system (remounting)
    + using testing data (from testsuite) for development

  Questions
  ---------
    + how skilled is the developer who is going to use the lib?
    + how make the repo available for playing for other distros' developers

  Proposals
  ---------
    + look on other projects how they solve the system configuration change


6. GSoC
=======

  Main ideas
  ---------
  + portability feature
  + C binding for Python
  + support of Openstack => not needed currently
  + get in touch with Michal Hrusecky (GSoC/openSUSE wiki)

7. Logging
==========

  Main ideas
  ----------
    + full logging in/out
    + filter passwords => results in slower performance
    + dry run
      - diffs in chroot
      - scripts
    + conventions for parameters
    + use of the test-suite to avoid wrong using of scripts
    + create/support official API
    + undef methods to block improper use of the lib

8. What's next?
===============

  + finish one or several modules and show the use case:
    + port it to to other distros
    + use it in the webyast


Vladimir Moravec
Appliances Department
SUSE LINUX s.r.o., Praha