I do not agree with that proposal, I think we need to have one sample of out-of-tree plugin as it is today.
Still, I agree that we need to help newbies and my proposal is that we just document build process for out-of-tree plugins with simple README.md inside src/examples/sample-plugin. btw I consider use of PLUGIN_DISABLED (as default choice) as evil, as it mens that plugin will go out of sync sooner or later. > On 31 May 2017, at 17:37, Kinsella, Ray <ray.kinse...@intel.com> wrote: > > > Ok, typically example/sample code is intended to be used by the newest of the > new, newbies. So the sample plugin should work with 'make build' and 'make > run' with the minimum of hoops to enable. Asking these users to install and > configure VPP, then do the same for the sample plugin is too much. I think > that this thread exists, is testament that the UX could be better - too many > hoops. > > So here I what I suggest to fix. > > We create src/examples/plugins, put the sample plugin in here. > > The examples plugins (src/examples/plugins) are in-tree plugins and build in > exactly the same way as src/plugins from a build PoV (PLUGIN_ENABLED etc), > with the exception that the examples plugins are disabled by default. They > also live in the sample directory with no symlinks etc to src/plugin. We then > provide a way to explicitly enable them with a build-data config. > > I reworked the patch along these lines, does it make sense? > > Ray K > > On 31/05/2017 10:15, Damjan Marion (damarion) wrote: >> >> The idea of sample plugin is to show people how to build out-of-tree plugin. >> As that plugin was broken several times due to changes we made I created >> special ebuild package which builds sample plugin as part of verify job to >> ensure that plugin will not be broken again due to changes in vpp. >> >> Saying that, I strongly disagree that we move sample plugin into >> src/plugins, as that is place for in-tree plugins which actually do >> something useful. >> If people want to create additional in-tree plugin, there is many samples >> already in src/plugins so I don't see an need for additional one. >> >> So to continue discussion on this particular change, what do you think that >> it is broken? >> >> For me sequence: >> >> autoreconf -fis >> ./configure >> make >> make install >> >> Works perfectly fine. Off-course you need to have install vpp-dev package on >> your system... >> >> >>> On 30 May 2017, at 13:30, Kinsella, Ray <ray.kinse...@intel.com> wrote: >>> >>> The UX for the sample plugin is broken. Especially when you consider that >>> the people most likely to try it and use it, are those least familiar with >>> VPP. >>> >>> I tried the use it a few months ago in training and found the UX similar >>> then. So I put together a number of changes to integrate the plugin into >>> the VPP build system, provide a build var to enable and disable it, and >>> then added documentation for anyone new to VPP. >>> >>> https://gerrit.fd.io/r/#/c/6920/ >>> >>> Thanks, >>> >>> Ray K >>> >>> On 27/05/2017 18:27, Luke, Chris wrote: >>>> Wishes often come true when you turn them into patches. :) >>>> >>>> >>>> >>>> Chris. >>>> >>>> >>>> >>>> *From:* vpp-dev-boun...@lists.fd.io [mailto:vpp-dev-boun...@lists.fd.io] >>>> *On Behalf Of *Burt Silverman >>>> *Sent:* Saturday, May 27, 2017 10:33 >>>> *To:* Kinsella, Ray <ray.kinse...@intel.com> >>>> *Cc:* Alessio Silvestro <ale.silver...@gmail.com>; vpp-dev >>>> <vpp-dev@lists.fd.io> >>>> *Subject:* Re: [vpp-dev] VPP/How To Build The Sample Plugin >>>> >>>> >>>> >>>> Thanks, Ray, this is exactly what I needed, by coincidence. I wish your >>>> item 2. was placed commented out and almost word for word into the >>>> standard $TOPDIR/src/vpp/conf/startup.conf -- that would make things >>>> self documenting. >>>> >>>> Burt >>>> >>>> >>>> >>>> On Sat, May 27, 2017 at 8:30 AM, Kinsella, Ray <ray.kinse...@intel.com >>>> <mailto:ray.kinse...@intel.com>> wrote: >>>> >>>> So there is an easier way >>>> >>>> 1. make -C build-root PLATFORM=vpp TAG=vpp sample-plugin-install >>>> >>>> 2. adjusting the plugin path depending on where the VPP src is, add >>>> the following to your startup.conf >>>> >>>> plugins >>>> { >>>> path >>>> /root/src/vpp/build-root/install-vpp-native/sample-plugin/lib64/vpp_plugins/:/root/src/vpp/build-root/install-vpp_debug-native/vpp/lib64/vpp_plugins >>>> } >>>> >>>> Ray K >>>> >>>> >>>> On 26/05/2017 12:53, Alessio Silvestro wrote: >>>> >>>> Hi all, >>>> >>>> I am trying to build the sample vpp-engine plug-in as explained here >>>> (https://wiki.fd.io/view/VPP/How_To_Build_The_Sample_Plugin >>>> <https://wiki.fd.noclick_io/view/VPP/How_To_Build_The_Sample_Plugin>). >>>> >>>> I already tested my vpp installation, for instance it works when I >>>> created a Source NAT. >>>> >>>> I downloaded the most updated version of the sample-plugin and >>>> run the >>>> following commands: >>>> >>>> sudo sh >>>> cd /usr/share/doc/vpp/examples >>>> cd /tmp/sample-plugin >>>> libtoolize >>>> aclocal >>>> autoconf >>>> autoheader >>>> >>>> ERROR 1:autoheader: error: AC_CONFIG_HEADERS not found in >>>> configure.ac <http://configure.noclick_ac> >>>> <http://configure.ac <http://configure.noclick_ac>> >>>> >>>> automake --add-missing >>>> chmod +x configure >>>> vpp_plugin_configure >>>> >>>> ERROR 2:vpp_plugin_configure: command not found >>>> >>>> >>>> So, first I have an error from the command autoheader. >>>> >>>> Second, I do not have the command vpp_plugin_configure. >>>> >>>> Any hints? >>>> >>>> Best regards, >>>> Alessio >>>> >>>> >>>> _______________________________________________ >>>> vpp-dev mailing list >>>> vpp-dev@lists.fd.io <mailto:vpp-dev@lists.fd.io> >>>> https://lists.fd.io/mailman/listinfo/vpp-dev >>>> <https://lists.fd.noclick_io/mailman/listinfo/vpp-dev> >>>> >>>> _______________________________________________ >>>> vpp-dev mailing list >>>> vpp-dev@lists.fd.io <mailto:vpp-dev@lists.fd.io> >>>> https://lists.fd.io/mailman/listinfo/vpp-dev >>>> <https://lists.fd.noclick_io/mailman/listinfo/vpp-dev> >>>> >>>> >>>> >>> _______________________________________________ >>> vpp-dev mailing list >>> vpp-dev@lists.fd.io >>> https://lists.fd.io/mailman/listinfo/vpp-dev >> _______________________________________________ vpp-dev mailing list vpp-dev@lists.fd.io https://lists.fd.io/mailman/listinfo/vpp-dev