diff mbox

[1/1] smcroute: new package

Message ID 1386872059-28046-1-git-send-email-mlweber1@rockwellcollins.com
State Superseded
Headers show

Commit Message

Matt Weber Dec. 12, 2013, 6:14 p.m. UTC
Signed-off-by: Matt Weber <mlweber1@rockwellcollins.com>
Signed-off-by: Sean Gerhardt <sagerhar@rockwellcollins.com>
---
 package/Config.in            |    1 +
 package/smcroute/Config.in   |   11 +++++++++++
 package/smcroute/smcroute.mk |   15 +++++++++++++++
 3 files changed, 27 insertions(+), 0 deletions(-)
 create mode 100755 package/smcroute/Config.in
 create mode 100755 package/smcroute/smcroute.mk

Comments

Peter Korsgaard Dec. 15, 2013, 8:15 p.m. UTC | #1
>>>>> "Matt" == Matt Weber <mlweber1@rockwellcollins.com> writes:

 > Signed-off-by: Matt Weber <mlweber1@rockwellcollins.com>
 > Signed-off-by: Sean Gerhardt <sagerhar@rockwellcollins.com>
 > ---
 >  package/Config.in            |    1 +
 >  package/smcroute/Config.in   |   11 +++++++++++
 >  package/smcroute/smcroute.mk |   15 +++++++++++++++
 >  3 files changed, 27 insertions(+), 0 deletions(-)
 >  create mode 100755 package/smcroute/Config.in
 >  create mode 100755 package/smcroute/smcroute.mk

 > diff --git a/package/Config.in b/package/Config.in
 > index 40c9e31..fd04224 100644
 > --- a/package/Config.in
 > +++ b/package/Config.in
 > @@ -880,6 +880,7 @@ source "package/rtptools/Config.in"
 >  source "package/samba/Config.in"
 >  source "package/sconeserver/Config.in"
 >  source "package/ser2net/Config.in"
 > +source "package/smcroute/Config.in"
 >  source "package/socat/Config.in"
 >  source "package/socketcand/Config.in"
 >  source "package/spawn-fcgi/Config.in"
 > diff --git a/package/smcroute/Config.in b/package/smcroute/Config.in
 > new file mode 100755
 > index 0000000..a66cb94
 > --- /dev/null
 > +++ b/package/smcroute/Config.in
 > @@ -0,0 +1,11 @@
 > +config BR2_PACKAGE_SMCROUTE
 > +	bool "smcroute"
 > +	help
 > +	  SMCRoute is a command line tool to manipulate the multicast
 > +	  routes of a UNI kernel. It supports both IPv4 and IPv6 multicast

I guess that 'UNI' should be 'UNIX'?

 > +	  routing.  SMCRoute can be  used as an alternative to dynamic
 > +	  multicast routers like mrouted or pimd in setups where static
 > +	  multicast routes should be maintained and/or no proper IGMP or
 > +	  MLD signaling exists.
 > +
 > +	  https://github.com/troglobit/smcroute

It looks like it needs to depend on BR2_INET_IPV6:

  CC      mcgroup.o
mcgroup.c: In function 'mcgroup_join_leave_ipv6':
mcgroup.c:119:31: error: 'IPV6_JOIN_GROUP' undeclared (first use in this function)
mcgroup.c:119:31: note: each undeclared identifier is reported only once for each function it appears in
mcgroup.c:119:49: error: 'IPV6_LEAVE_GROUP' undeclared (first use in this function)
make[2]: *** [mcgroup.o] Error 1
make[2]: Leaving directory `/home/peko/source/buildroot/output/build/smcroute-1.99.2/src'

Also don't forget to add a comment if IPV6 isn't available.
Thomas De Schampheleire Dec. 15, 2013, 8:34 p.m. UTC | #2
Matt Weber <mlweber1@rockwellcollins.com> wrote:
>
>Signed-off-by: Matt Weber <mlweber1@rockwellcollins.com>
>Signed-off-by: Sean Gerhardt <sagerhar@rockwellcollins.com>
>---
> package/Config.in            |    1 +
> package/smcroute/Config.in   |   11 +++++++++++
> package/smcroute/smcroute.mk |   15 +++++++++++++++
> 3 files changed, 27 insertions(+), 0 deletions(-)
> create mode 100755 package/smcroute/Config.in
> create mode 100755 package/smcroute/smcroute.mk
>
>diff --git a/package/Config.in b/package/Config.in
>index 40c9e31..fd04224 100644
>--- a/package/Config.in
>+++ b/package/Config.in
>@@ -880,6 +880,7 @@ source "package/rtptools/Config.in"
> source "package/samba/Config.in"
> source "package/sconeserver/Config.in"
> source "package/ser2net/Config.in"
>+source "package/smcroute/Config.in"
> source "package/socat/Config.in"
> source "package/socketcand/Config.in"
> source "package/spawn-fcgi/Config.in"
>diff --git a/package/smcroute/Config.in b/package/smcroute/Config.in
>new file mode 100755
>index 0000000..a66cb94
>--- /dev/null
>+++ b/package/smcroute/Config.in
>@@ -0,0 +1,11 @@
>+config BR2_PACKAGE_SMCROUTE
>+	bool "smcroute"
>+	help
>+	  SMCRoute is a command line tool to manipulate the multicast
>+	  routes of a UNI kernel. It supports both IPv4 and IPv6 multicast
>+	  routing.  SMCRoute can be  used as an alternative to dynamic

Twice double space on this line.

>+	  multicast routers like mrouted or pimd in setups where static
>+	  multicast routes should be maintained and/or no proper IGMP or
>+	  MLD signaling exists.
>+
>+	  https://github.com/troglobit/smcroute
>diff --git a/package/smcroute/smcroute.mk b/package/smcroute/smcroute.mk
>new file mode 100755
>index 0000000..82efa81
>--- /dev/null
>+++ b/package/smcroute/smcroute.mk
>@@ -0,0 +1,16 @@
>+################################################################################
>+#
>+# smcroute
>+#
>+################################################################################
>+SMCROUTE_VERSION =  1.99.2

Double space

>+SMCROUTE_SITE = $(call github,troglobit,smcroute,$(SMCROUTE_VERSION))
>+SMCROUTE_SOURCE = troglobit-smcroute-$(SMCROUTE_VERSION)-0-g58388f6.tar.gz

Why is it needed to specify _SOURCE here? It shouldn't be .. 

>+SMCROUTE_LICENSE = GPLv2+
>+SMCROUTE_LICENSE_FILES = COPYING
>+
>+SMCROUTE_CONF_OPT = ac_cv_func_setpgrp_void=yes
>+#BUG:The package Makefile uses CC?= even though the package is autotools based
>+SMCROUTE_MAKE_ENV = $(TARGET_CONFIGURE_OPTS)
>+
>+$(eval $(autotools-package))
Matt Weber Dec. 16, 2013, 2:03 p.m. UTC | #3
Hi Peter, 

Peter Korsgaard <jacmet@gmail.com> wrote on 12/15/2013 02:15:20 PM:

> From: Peter Korsgaard <jacmet@uclibc.org>
> To: Matt Weber <mlweber1@rockwellcollins.com>
> Cc: buildroot@busybox.net, Sean Gerhardt <sagerhar@rockwellcollins.com>
> Date: 12/15/2013 02:15 PM
> Subject: Re: [PATCH 1/1] smcroute: new package
> Sent by: Peter Korsgaard <jacmet@gmail.com>
> 
<snip>

>  > +     SMCRoute is a command line tool to manipulate the multicast
>  > +     routes of a UNI kernel. It supports both IPv4 and IPv6 
multicast
> 
> I guess that 'UNI' should be 'UNIX'?
Yep.

> 
>  > +     routing.  SMCRoute can be  used as an alternative to dynamic
>  > +     multicast routers like mrouted or pimd in setups where static
>  > +     multicast routes should be maintained and/or no proper IGMP or
>  > +     MLD signaling exists.
>  > +
>  > +     https://github.com/troglobit/smcroute
> 
> It looks like it needs to depend on BR2_INET_IPV6:
> 
>   CC      mcgroup.o
> mcgroup.c: In function 'mcgroup_join_leave_ipv6':
> mcgroup.c:119:31: error: 'IPV6_JOIN_GROUP' undeclared (first use in 
> this function)
> mcgroup.c:119:31: note: each undeclared identifier is reported only 
> once for each function it appears in
> mcgroup.c:119:49: error: 'IPV6_LEAVE_GROUP' undeclared (first use in
> this function)
> make[2]: *** [mcgroup.o] Error 1
> make[2]: Leaving directory `/home/peko/source/buildroot/output/
> build/smcroute-1.99.2/src'
> 
> Also don't forget to add a comment if IPV6 isn't available.
Will do, Thanks!

Matt Weber
mlweber1@rockwellcollins.com

> 
> -- 
> Bye, Peter Korsgaard
Matt Weber Dec. 16, 2013, 2:07 p.m. UTC | #4
Hi Thomas,

Thomas De Schampheleire <patrickdepinguin@gmail.com> wrote on 12/15/2013 
02:34:15 PM:

> From: Thomas De Schampheleire <patrickdepinguin@gmail.com>
> To: Matt Weber <mlweber1@rockwellcollins.com>, buildroot@busybox.net
> Cc: Sean Gerhardt <sagerhar@rockwellcollins.com>
> Date: 12/15/2013 02:34 PM
> Subject: Re: [Buildroot] [PATCH 1/1] smcroute: new package
> 
> Matt Weber <mlweber1@rockwellcollins.com> wrote:
> >
> >Signed-off-by: Matt Weber <mlweber1@rockwellcollins.com>
> >Signed-off-by: Sean Gerhardt <sagerhar@rockwellcollins.com>
> >---
> > package/Config.in            |    1 +
> > package/smcroute/Config.in   |   11 +++++++++++
> > package/smcroute/smcroute.mk |   15 +++++++++++++++
> > 3 files changed, 27 insertions(+), 0 deletions(-)
> > create mode 100755 package/smcroute/Config.in
> > create mode 100755 package/smcroute/smcroute.mk
> >
> >diff --git a/package/Config.in b/package/Config.in
> >index 40c9e31..fd04224 100644
> >--- a/package/Config.in
> >+++ b/package/Config.in
> >@@ -880,6 +880,7 @@ source "package/rtptools/Config.in"
> > source "package/samba/Config.in"
> > source "package/sconeserver/Config.in"
> > source "package/ser2net/Config.in"
> >+source "package/smcroute/Config.in"
> > source "package/socat/Config.in"
> > source "package/socketcand/Config.in"
> > source "package/spawn-fcgi/Config.in"
> >diff --git a/package/smcroute/Config.in b/package/smcroute/Config.in
> >new file mode 100755
> >index 0000000..a66cb94
> >--- /dev/null
> >+++ b/package/smcroute/Config.in
> >@@ -0,0 +1,11 @@
> >+config BR2_PACKAGE_SMCROUTE
> >+   bool "smcroute"
> >+   help
> >+     SMCRoute is a command line tool to manipulate the multicast
> >+     routes of a UNI kernel. It supports both IPv4 and IPv6 multicast
> >+     routing.  SMCRoute can be  used as an alternative to dynamic
> 
> Twice double space on this line.
Agreed.

> 
> >+     multicast routers like mrouted or pimd in setups where static
> >+     multicast routes should be maintained and/or no proper IGMP or
> >+     MLD signaling exists.
> >+
> >+     https://github.com/troglobit/smcroute
> >diff --git a/package/smcroute/smcroute.mk 
b/package/smcroute/smcroute.mk
> >new file mode 100755
> >index 0000000..82efa81
> >--- /dev/null
> >+++ b/package/smcroute/smcroute.mk
> >@@ -0,0 +1,16 @@
> >
> 
+################################################################################
> >+#
> >+# smcroute
> >+#
> >
> 
+################################################################################
> >+SMCROUTE_VERSION =  1.99.2
> 
> Double space
Agreed.

> 
> >+SMCROUTE_SITE = $(call github,troglobit,smcroute,$(SMCROUTE_VERSION))
> >+SMCROUTE_SOURCE = 
troglobit-smcroute-$(SMCROUTE_VERSION)-0-g58388f6.tar.gz
> 
> Why is it needed to specify _SOURCE here? It shouldn't be .. 
It seems like the releases are labeled in a way that requires this. 
Without 
specifying the source archive name, the archive that's requested to be 
downloaded
"smcroute-$(SMCROUTE_VERSION).tar.gz" ends up as the file we noted as the 
SOURCE.

Thanks,
Matt Weber
mlweber1@rockwellcollins.com
Thomas De Schampheleire Dec. 16, 2013, 3:25 p.m. UTC | #5
Hi Matt,

On Mon, Dec 16, 2013 at 3:07 PM,  <mlweber1@rockwellcollins.com> wrote:

>> >+SMCROUTE_SITE = $(call github,troglobit,smcroute,$(SMCROUTE_VERSION))
>> >+SMCROUTE_SOURCE =
> troglobit-smcroute-$(SMCROUTE_VERSION)-0-g58388f6.tar.gz
>>
>> Why is it needed to specify _SOURCE here? It shouldn't be ..
> It seems like the releases are labeled in a way that requires this.
> Without
> specifying the source archive name, the archive that's requested to be
> downloaded
> "smcroute-$(SMCROUTE_VERSION).tar.gz" ends up as the file we noted as the
> SOURCE.

I'm not sure I understand what you mean.
When I remove the _SOURCE line, I can still download and extract the
package normally. The name of the tar file is indeed different, but
this does not matter. The package infrastructure still correctly
handles it.

If you still think this _SOURCE is needed, could you explain in more detail?

Thanks,
Thomas
Matt Weber Dec. 16, 2013, 3:35 p.m. UTC | #6
Thomas De Schampheleire <patrickdepinguin@gmail.com> wrote on 12/16/2013 
09:25:41 AM:

> From: Thomas De Schampheleire <patrickdepinguin@gmail.com>
> To: mlweber1@rockwellcollins.com
> Cc: buildroot <buildroot@busybox.net>, Sean Gerhardt 
> <sagerhar@rockwellcollins.com>
> Date: 12/16/2013 09:25 AM
> Subject: Re: [Buildroot] [PATCH 1/1] smcroute: new package
> 
> Hi Matt,
> 
> On Mon, Dec 16, 2013 at 3:07 PM,  <mlweber1@rockwellcollins.com> wrote:
> 
> >> >+SMCROUTE_SITE = $(call 
github,troglobit,smcroute,$(SMCROUTE_VERSION))
> >> >+SMCROUTE_SOURCE =
> > troglobit-smcroute-$(SMCROUTE_VERSION)-0-g58388f6.tar.gz
> >>
> >> Why is it needed to specify _SOURCE here? It shouldn't be ..
> > It seems like the releases are labeled in a way that requires this.
> > Without
> > specifying the source archive name, the archive that's requested to be
> > downloaded
> > "smcroute-$(SMCROUTE_VERSION).tar.gz" ends up as the file we noted as 
the
> > SOURCE.
> 
> I'm not sure I understand what you mean.
> When I remove the _SOURCE line, I can still download and extract the
> package normally. The name of the tar file is indeed different, but
> this does not matter. The package infrastructure still correctly
> handles it.
> 
> If you still think this _SOURCE is needed, could you explain in more 
detail?
I'll retest, I couldn't get the package infrastructure to handle the 
change of package name after download.  Good to know that it should
as that's much cleaner then my approach.

Thanks,
Matt
Matt Weber Dec. 16, 2013, 4:33 p.m. UTC | #7
Thomas De Schampheleire <patrickdepinguin@gmail.com> wrote on 12/16/2013 
09:25:41 AM:

> From: Thomas De Schampheleire <patrickdepinguin@gmail.com>
> To: mlweber1@rockwellcollins.com
> Cc: buildroot <buildroot@busybox.net>, Sean Gerhardt 
> <sagerhar@rockwellcollins.com>
> Date: 12/16/2013 09:25 AM
> Subject: Re: [Buildroot] [PATCH 1/1] smcroute: new package
> 
> Hi Matt,
> 
> On Mon, Dec 16, 2013 at 3:07 PM,  <mlweber1@rockwellcollins.com> wrote:
> 
> >> >+SMCROUTE_SITE = $(call 
github,troglobit,smcroute,$(SMCROUTE_VERSION))
> >> >+SMCROUTE_SOURCE =
> > troglobit-smcroute-$(SMCROUTE_VERSION)-0-g58388f6.tar.gz
> >>
> >> Why is it needed to specify _SOURCE here? It shouldn't be ..
> > It seems like the releases are labeled in a way that requires this.
> > Without
> > specifying the source archive name, the archive that's requested to be
> > downloaded
> > "smcroute-$(SMCROUTE_VERSION).tar.gz" ends up as the file we noted as 
the
> > SOURCE.
> 
> I'm not sure I understand what you mean.
> When I remove the _SOURCE line, I can still download and extract the
> package normally. The name of the tar file is indeed different, but
> this does not matter. The package infrastructure still correctly
> handles it.
> 
> If you still think this _SOURCE is needed, could you explain in more 
detail?

I think I figured out what's happening.  (Our office firewall makes this 
almost impossible to test, so I'll have to confirm tonight)
If I remove the SOURCE archive definition from the .mk, the package 
downloads and I think the buildroot pkg scripts then use the 
resulting filename of the archive to extract it, which results in the 
correct smcroute folder under build.  I think the issue with not defining 
the 
SOURCE filename comes into play if a buildroot dl cached local archive 
file is 
used to build the package.  Buildroot then can't find the source archive 
because the cached archive file has a unique filename.  This results in 
the buildroot pkg scripts proceeding to re-download the source archive 
again before continuing with extracting the unique filename and doing 
proceeding with the rest of the pkg build.

We noticed this because our builds primarily using a cached/mirrored dl
folder of archive files.

Thanks,
Matt
Thomas De Schampheleire Dec. 16, 2013, 4:39 p.m. UTC | #8
mlweber1@rockwellcollins.com wrote:
>Thomas De Schampheleire <patrickdepinguin@gmail.com> wrote on 12/16/2013 
>09:25:41 AM:
>
>> From: Thomas De Schampheleire <patrickdepinguin@gmail.com>
>> To: mlweber1@rockwellcollins.com
>> Cc: buildroot <buildroot@busybox.net>, Sean Gerhardt 
>> <sagerhar@rockwellcollins.com>
>> Date: 12/16/2013 09:25 AM
>> Subject: Re: [Buildroot] [PATCH 1/1] smcroute: new package
>> 
>> Hi Matt,
>> 
>> On Mon, Dec 16, 2013 at 3:07 PM,  <mlweber1@rockwellcollins.com> wrote:
>> 
>> >> >+SMCROUTE_SITE = $(call 
>github,troglobit,smcroute,$(SMCROUTE_VERSION))
>> >> >+SMCROUTE_SOURCE =
>> > troglobit-smcroute-$(SMCROUTE_VERSION)-0-g58388f6.tar.gz
>> >>
>> >> Why is it needed to specify _SOURCE here? It shouldn't be ..
>> > It seems like the releases are labeled in a way that requires this.
>> > Without
>> > specifying the source archive name, the archive that's requested to be
>> > downloaded
>> > "smcroute-$(SMCROUTE_VERSION).tar.gz" ends up as the file we noted as 
>the
>> > SOURCE.
>> 
>> I'm not sure I understand what you mean.
>> When I remove the _SOURCE line, I can still download and extract the
>> package normally. The name of the tar file is indeed different, but
>> this does not matter. The package infrastructure still correctly
>> handles it.
>> 
>> If you still think this _SOURCE is needed, could you explain in more 
>detail?
>
>I think I figured out what's happening.  (Our office firewall makes this 
>almost impossible to test, so I'll have to confirm tonight)
>If I remove the SOURCE archive definition from the .mk, the package 
>downloads and I think the buildroot pkg scripts then use the 
>resulting filename of the archive to extract it, which results in the 
>correct smcroute folder under build.  I think the issue with not defining 
>the 
>SOURCE filename comes into play if a buildroot dl cached local archive 
>file is 
>used to build the package.  Buildroot then can't find the source archive 
>because the cached archive file has a unique filename.  This results in 
>the buildroot pkg scripts proceeding to re-download the source archive 
>again before continuing with extracting the unique filename and doing 
>proceeding with the rest of the pkg build.
>
>We noticed this because our builds primarily using a cached/mirrored dl
>folder of archive files.


But this should be fixed by adding the new file to your dl cache right?
Matt Weber Dec. 17, 2013, 2:18 a.m. UTC | #9
Hi Thomas,

Thomas De Schampheleire <patrickdepinguin@gmail.com> wrote on 12/16/2013 
10:39:02 AM:

> From: Thomas De Schampheleire <patrickdepinguin@gmail.com>
> To: mlweber1@rockwellcollins.com
> Cc: buildroot <buildroot@busybox.net>, Sean Gerhardt 
> <sagerhar@rockwellcollins.com>
> Date: 12/16/2013 10:39 AM
> Subject: Re: [Buildroot] [PATCH 1/1] smcroute: new package
> 
> mlweber1@rockwellcollins.com wrote:
> >Thomas De Schampheleire <patrickdepinguin@gmail.com> wrote on 
12/16/2013 
> >09:25:41 AM:
> >
> >> From: Thomas De Schampheleire <patrickdepinguin@gmail.com>
> >> To: mlweber1@rockwellcollins.com
> >> Cc: buildroot <buildroot@busybox.net>, Sean Gerhardt 
> >> <sagerhar@rockwellcollins.com>
> >> Date: 12/16/2013 09:25 AM
> >> Subject: Re: [Buildroot] [PATCH 1/1] smcroute: new package
> >> 
> >> Hi Matt,
> >> 
> >> On Mon, Dec 16, 2013 at 3:07 PM,  <mlweber1@rockwellcollins.com> 
wrote:
> >> 
> >> >> >+SMCROUTE_SITE = $(call 
> >github,troglobit,smcroute,$(SMCROUTE_VERSION))
> >> >> >+SMCROUTE_SOURCE =
> >> > troglobit-smcroute-$(SMCROUTE_VERSION)-0-g58388f6.tar.gz
> >> >>
> >> >> Why is it needed to specify _SOURCE here? It shouldn't be ..
> >> > It seems like the releases are labeled in a way that requires this.
> >> > Without
> >> > specifying the source archive name, the archive that's requested to 
be
> >> > downloaded
> >> > "smcroute-$(SMCROUTE_VERSION).tar.gz" ends up as the file we noted 
as 
> >the
> >> > SOURCE.
> >> 
> >> I'm not sure I understand what you mean.
> >> When I remove the _SOURCE line, I can still download and extract the
> >> package normally. The name of the tar file is indeed different, but
> >> this does not matter. The package infrastructure still correctly
> >> handles it.
> >> 
> >> If you still think this _SOURCE is needed, could you explain in more 
> >detail?
> >
> >I think I figured out what's happening.  (Our office firewall makes 
this 
> >almost impossible to test, so I'll have to confirm tonight)
> >If I remove the SOURCE archive definition from the .mk, the package 
> >downloads and I think the buildroot pkg scripts then use the 
> >resulting filename of the archive to extract it, which results in the 
> >correct smcroute folder under build.  I think the issue with not 
defining 
> >the 
> >SOURCE filename comes into play if a buildroot dl cached local archive 
> >file is 
> >used to build the package.  Buildroot then can't find the source 
archive 
> >because the cached archive file has a unique filename.  This results in 

> >the buildroot pkg scripts proceeding to re-download the source archive 
> >again before continuing with extracting the unique filename and doing 
> >proceeding with the rest of the pkg build.
> >
> >We noticed this because our builds primarily using a cached/mirrored dl
> >folder of archive files.
> 
> 
> But this should be fixed by adding the new file to your dl cache right?
> 

Tested this outside our firewall and it works as you mentioned.  It looks
like my issues were caused by the firewalls' proxy.  So no issues
then with the patch Peter committed today that didn't specify the archive
name.

Thanks,
Matt
diff mbox

Patch

diff --git a/package/Config.in b/package/Config.in
index 40c9e31..fd04224 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -880,6 +880,7 @@  source "package/rtptools/Config.in"
 source "package/samba/Config.in"
 source "package/sconeserver/Config.in"
 source "package/ser2net/Config.in"
+source "package/smcroute/Config.in"
 source "package/socat/Config.in"
 source "package/socketcand/Config.in"
 source "package/spawn-fcgi/Config.in"
diff --git a/package/smcroute/Config.in b/package/smcroute/Config.in
new file mode 100755
index 0000000..a66cb94
--- /dev/null
+++ b/package/smcroute/Config.in
@@ -0,0 +1,11 @@ 
+config BR2_PACKAGE_SMCROUTE
+	bool "smcroute"
+	help
+	  SMCRoute is a command line tool to manipulate the multicast
+	  routes of a UNI kernel. It supports both IPv4 and IPv6 multicast
+	  routing.  SMCRoute can be  used as an alternative to dynamic
+	  multicast routers like mrouted or pimd in setups where static
+	  multicast routes should be maintained and/or no proper IGMP or
+	  MLD signaling exists.
+
+	  https://github.com/troglobit/smcroute
diff --git a/package/smcroute/smcroute.mk b/package/smcroute/smcroute.mk
new file mode 100755
index 0000000..82efa81
--- /dev/null
+++ b/package/smcroute/smcroute.mk
@@ -0,0 +1,16 @@ 
+################################################################################
+#
+# smcroute
+#
+################################################################################
+SMCROUTE_VERSION =  1.99.2
+SMCROUTE_SITE = $(call github,troglobit,smcroute,$(SMCROUTE_VERSION))
+SMCROUTE_SOURCE = troglobit-smcroute-$(SMCROUTE_VERSION)-0-g58388f6.tar.gz
+SMCROUTE_LICENSE = GPLv2+
+SMCROUTE_LICENSE_FILES = COPYING
+
+SMCROUTE_CONF_OPT = ac_cv_func_setpgrp_void=yes
+#BUG:The package Makefile uses CC?= even though the package is autotools based
+SMCROUTE_MAKE_ENV = $(TARGET_CONFIGURE_OPTS)
+
+$(eval $(autotools-package))