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