The new LinuxCNC git branch named 'bringin_features' (rebased on
git master) adapts Nick's linuxcnc-features repository files
to fit in the LinuxCNC git tree.  The branch has been tested
for basic functionality on jessie,rt-preempt as a RIP build
and as a deb install.

Small changes were made to support deb building in:
  src/Makefile
  debian/linuxcnc.files.in

All other changes are localized to the following directories:
  lib/python/gladevcp/              features.py (plus mods to two other files)
  share/features/                   all 'features' files (except features.py)
  configs/sim/axis/features_demo    demo configs
  configs/sim/gmocapy/features_demo demo configs

The changes do not modify mainline files nor require compiling and
can be applied to the 2.7 branch without problems.

Recognizing the conflict of expedited development versus stable releases,
the following approach for incorporation might work:
  1) Make a branch based on 2.7 named 'features_preview' (Note 1)
  2) Interested users and _testers_ can try/use this branch using
     buildbot scratch debs.  Deb installation is pretty simple:
     # for example:
     #     DIST=jessie
     #     TYPE=scratch-rtpreempt
     #     ARCH=binary-amd64
     #     DEB=linuxcnc-uspace_2.8.0~pre1~features_preview~xxxxxx_amd64.deb
     $ wget http://buildbot.linuxcnc.org/dists/$DIST/$TYPE/$ARCH/$DEB
     $ sudo dpkg -i $DEB

  3) Interested _contributors_ can use a git branch to make a Run-In-Place (RIP)
     build and make patches.  It is not hard, see sample instructions below.

  4) A volunteer could review, apply, and commit offered patches to the
     'features_preview' branch to stimulate buildbot builds and creation
     of updated scratch deb packages. (Note 2)


Note 1) Basing the 'features_preview' branch on 2.7 avoids the potential
        instability in a master branch for early adopters  and promotes
        a more general availability of the 'features' enhancements.
        After some undefined period of stabilization, the 'features_preview'
        branch could be merged onto 2.7.  After this  merge, additions
        and enhancements could be accepted for the 'features_preview'
        branch but only bug fixes (as usual) for the 2.7 branch.  This
        approach seems feasible because:
            a) the locality of the changes for the 'features_preview'
               branch greatly limits risk of incorporation to 2.7
            b) no current users of LinuxCNC have any configurations that
               use LinuxCNC-provided 'features' functionality as
               it has not existed in any branch before now.

Note 2) scratch deb packages disappear after some timeout so it may be
        necessary to either modify or eliminate the timeout for the
        'features_preview' branch.
-----------------------------------------------------------------------------
# Basic instructions to make a RIP build and create a patch:
     $ git clone git://git.linuxcnc.org/git/linuxcnc.git linuxcnc-dev
     $ cd linuxcnc-dev
     $ git branch features_trial
     $ git checkout features_trial
     $ cd src
     $ ./autogen.sh
     $ ./configure --with-realtime=uspace
     $ make && sudo make setuid
     $ source ../scripts/rip-environment
     $ linuxcnc
     #   In the Configuration Selector, select:
     #     Sample Configurations/sim/axis/features_demo/mill
     #                                                  mill-mm
     #                                                  lathe
     #                                                  lathe-mm
     # or
     #     Sample Configurations/sim/gmoccapy/features_demo/gmoccapy
     # test,test,test
     # edit stuff in ../share/features
     # or edit the program ../lib/python/gladevcp/features.py
     # test,edit,repeat
     # Then make a patch:
     $ git add names_files_changed_or_added
     $ git commmit --signoff # and type in explanation in popup editor
     $ git format-patch      # create a patch file for consideration

-- 
Dewey Garrett


------------------------------------------------------------------------------
_______________________________________________
Emc-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/emc-developers

Reply via email to