]> git.ipfire.org Git - ipfire-2.x.git/commitdiff
multicat: add a new addon package "multicat" - The multicast swiss knife
authorJan Lentfer <Jan.Lentfer@ipfire.org>
Fri, 14 Jun 2013 09:46:22 +0000 (11:46 +0200)
committerJan Lentfer <Jan.Lentfer@ipfire.org>
Fri, 14 Jun 2013 11:07:02 +0000 (13:07 +0200)
Very useful for analyzing multicast traffic directly on the router/
firewall without the need for a large software like vlc or the like.

http://www.videolan.org/projects/multicat.html

Simple and efficient multicast and transport stream manipulation

The multicat package contains a set of tools designed to easily and
efficiently manipulate multicast streams in general, and MPEG-2
Transport Streams (ISO/IEC 13818-1) in particular.

The multicat suite of applications is very lightweight and designed
to operate in tight environments. Memory and CPU usages are kept to
a minimum, and they feature only one thread of execution.

multicat needs bitstream as a build dependency
http://www.videolan.org/developers/bitstream.html

config/rootfiles/packages/bitstream [new file with mode: 0644]
config/rootfiles/packages/multicat [new file with mode: 0644]
lfs/bitstream [new file with mode: 0644]
lfs/multicat [new file with mode: 0644]
make.sh
src/patches/bitstream-makefile.patch [new file with mode: 0644]
src/patches/multicat-makefile.patch [new file with mode: 0644]

diff --git a/config/rootfiles/packages/bitstream b/config/rootfiles/packages/bitstream
new file mode 100644 (file)
index 0000000..583d8f2
--- /dev/null
@@ -0,0 +1,138 @@
+#usr/include/bitstream
+#usr/include/bitstream/common.h
+#usr/include/bitstream/dvb
+#usr/include/bitstream/dvb/ci.h
+#usr/include/bitstream/dvb/si
+#usr/include/bitstream/dvb/si.h
+#usr/include/bitstream/dvb/si/bat.h
+#usr/include/bitstream/dvb/si/bat_print.h
+#usr/include/bitstream/dvb/si/datetime.h
+#usr/include/bitstream/dvb/si/desc_40.h
+#usr/include/bitstream/dvb/si/desc_41.h
+#usr/include/bitstream/dvb/si/desc_42.h
+#usr/include/bitstream/dvb/si/desc_43.h
+#usr/include/bitstream/dvb/si/desc_44.h
+#usr/include/bitstream/dvb/si/desc_45.h
+#usr/include/bitstream/dvb/si/desc_46.h
+#usr/include/bitstream/dvb/si/desc_47.h
+#usr/include/bitstream/dvb/si/desc_48.h
+#usr/include/bitstream/dvb/si/desc_49.h
+#usr/include/bitstream/dvb/si/desc_4a.h
+#usr/include/bitstream/dvb/si/desc_4b.h
+#usr/include/bitstream/dvb/si/desc_4c.h
+#usr/include/bitstream/dvb/si/desc_4d.h
+#usr/include/bitstream/dvb/si/desc_4e.h
+#usr/include/bitstream/dvb/si/desc_4f.h
+#usr/include/bitstream/dvb/si/desc_50.h
+#usr/include/bitstream/dvb/si/desc_51.h
+#usr/include/bitstream/dvb/si/desc_52.h
+#usr/include/bitstream/dvb/si/desc_53.h
+#usr/include/bitstream/dvb/si/desc_54.h
+#usr/include/bitstream/dvb/si/desc_55.h
+#usr/include/bitstream/dvb/si/desc_56.h
+#usr/include/bitstream/dvb/si/desc_57.h
+#usr/include/bitstream/dvb/si/desc_58.h
+#usr/include/bitstream/dvb/si/desc_59.h
+#usr/include/bitstream/dvb/si/desc_5a.h
+#usr/include/bitstream/dvb/si/desc_5b.h
+#usr/include/bitstream/dvb/si/desc_5c.h
+#usr/include/bitstream/dvb/si/desc_5d.h
+#usr/include/bitstream/dvb/si/desc_5e.h
+#usr/include/bitstream/dvb/si/desc_5f.h
+#usr/include/bitstream/dvb/si/desc_60.h
+#usr/include/bitstream/dvb/si/desc_61.h
+#usr/include/bitstream/dvb/si/desc_62.h
+#usr/include/bitstream/dvb/si/desc_63.h
+#usr/include/bitstream/dvb/si/desc_64.h
+#usr/include/bitstream/dvb/si/desc_65.h
+#usr/include/bitstream/dvb/si/desc_66.h
+#usr/include/bitstream/dvb/si/desc_67.h
+#usr/include/bitstream/dvb/si/desc_68.h
+#usr/include/bitstream/dvb/si/desc_69.h
+#usr/include/bitstream/dvb/si/desc_6a.h
+#usr/include/bitstream/dvb/si/desc_6b.h
+#usr/include/bitstream/dvb/si/desc_6c.h
+#usr/include/bitstream/dvb/si/desc_6d.h
+#usr/include/bitstream/dvb/si/desc_6e.h
+#usr/include/bitstream/dvb/si/desc_7a.h
+#usr/include/bitstream/dvb/si/desc_7b.h
+#usr/include/bitstream/dvb/si/desc_7c.h
+#usr/include/bitstream/dvb/si/desc_83p28.h
+#usr/include/bitstream/dvb/si/desc_88p28.h
+#usr/include/bitstream/dvb/si/descs_list.h
+#usr/include/bitstream/dvb/si/dit.h
+#usr/include/bitstream/dvb/si/dit_print.h
+#usr/include/bitstream/dvb/si/eit.h
+#usr/include/bitstream/dvb/si/eit_print.h
+#usr/include/bitstream/dvb/si/nit.h
+#usr/include/bitstream/dvb/si/nit_print.h
+#usr/include/bitstream/dvb/si/numbers.h
+#usr/include/bitstream/dvb/si/rst.h
+#usr/include/bitstream/dvb/si/rst_print.h
+#usr/include/bitstream/dvb/si/sdt.h
+#usr/include/bitstream/dvb/si/sdt_print.h
+#usr/include/bitstream/dvb/si/sit.h
+#usr/include/bitstream/dvb/si/sit_print.h
+#usr/include/bitstream/dvb/si/st.h
+#usr/include/bitstream/dvb/si/strings.h
+#usr/include/bitstream/dvb/si/tdt.h
+#usr/include/bitstream/dvb/si/tdt_print.h
+#usr/include/bitstream/dvb/si/tot.h
+#usr/include/bitstream/dvb/si/tot_print.h
+#usr/include/bitstream/dvb/si_print.h
+#usr/include/bitstream/dvb/sim.h
+#usr/include/bitstream/ietf
+#usr/include/bitstream/ietf/rtp.h
+#usr/include/bitstream/mpeg
+#usr/include/bitstream/mpeg/aac.h
+#usr/include/bitstream/mpeg/pes.h
+#usr/include/bitstream/mpeg/psi
+#usr/include/bitstream/mpeg/psi.h
+#usr/include/bitstream/mpeg/psi/cat.h
+#usr/include/bitstream/mpeg/psi/cat_print.h
+#usr/include/bitstream/mpeg/psi/desc_02.h
+#usr/include/bitstream/mpeg/psi/desc_03.h
+#usr/include/bitstream/mpeg/psi/desc_04.h
+#usr/include/bitstream/mpeg/psi/desc_05.h
+#usr/include/bitstream/mpeg/psi/desc_06.h
+#usr/include/bitstream/mpeg/psi/desc_07.h
+#usr/include/bitstream/mpeg/psi/desc_08.h
+#usr/include/bitstream/mpeg/psi/desc_09.h
+#usr/include/bitstream/mpeg/psi/desc_0a.h
+#usr/include/bitstream/mpeg/psi/desc_0b.h
+#usr/include/bitstream/mpeg/psi/desc_0c.h
+#usr/include/bitstream/mpeg/psi/desc_0d.h
+#usr/include/bitstream/mpeg/psi/desc_0e.h
+#usr/include/bitstream/mpeg/psi/desc_0f.h
+#usr/include/bitstream/mpeg/psi/desc_10.h
+#usr/include/bitstream/mpeg/psi/desc_11.h
+#usr/include/bitstream/mpeg/psi/desc_12.h
+#usr/include/bitstream/mpeg/psi/desc_1b.h
+#usr/include/bitstream/mpeg/psi/desc_1c.h
+#usr/include/bitstream/mpeg/psi/desc_1d.h
+#usr/include/bitstream/mpeg/psi/desc_1e.h
+#usr/include/bitstream/mpeg/psi/desc_1f.h
+#usr/include/bitstream/mpeg/psi/desc_20.h
+#usr/include/bitstream/mpeg/psi/desc_21.h
+#usr/include/bitstream/mpeg/psi/desc_22.h
+#usr/include/bitstream/mpeg/psi/desc_23.h
+#usr/include/bitstream/mpeg/psi/desc_24.h
+#usr/include/bitstream/mpeg/psi/desc_25.h
+#usr/include/bitstream/mpeg/psi/desc_26.h
+#usr/include/bitstream/mpeg/psi/desc_27.h
+#usr/include/bitstream/mpeg/psi/desc_28.h
+#usr/include/bitstream/mpeg/psi/desc_2a.h
+#usr/include/bitstream/mpeg/psi/desc_2b.h
+#usr/include/bitstream/mpeg/psi/desc_2c.h
+#usr/include/bitstream/mpeg/psi/descriptors.h
+#usr/include/bitstream/mpeg/psi/descs_list.h
+#usr/include/bitstream/mpeg/psi/descs_print.h
+#usr/include/bitstream/mpeg/psi/pat.h
+#usr/include/bitstream/mpeg/psi/pat_print.h
+#usr/include/bitstream/mpeg/psi/pmt.h
+#usr/include/bitstream/mpeg/psi/pmt_print.h
+#usr/include/bitstream/mpeg/psi/psi.h
+#usr/include/bitstream/mpeg/psi/tsdt.h
+#usr/include/bitstream/mpeg/psi/tsdt_print.h
+#usr/include/bitstream/mpeg/psi_print.h
+#usr/include/bitstream/mpeg/ts.h
diff --git a/config/rootfiles/packages/multicat b/config/rootfiles/packages/multicat
new file mode 100644 (file)
index 0000000..8d06000
--- /dev/null
@@ -0,0 +1,13 @@
+usr/bin/aggregartp
+usr/bin/ingests
+usr/bin/lasts
+usr/bin/multicat
+usr/bin/multicat_validate
+usr/bin/offsets
+usr/bin/reordertp
+#usr/share/man/man1/aggregartp.1
+#usr/share/man/man1/ingests.1
+#usr/share/man/man1/lasts.1
+#usr/share/man/man1/multicat.1
+#usr/share/man/man1/offsets.1
+#usr/share/man/man1/reordertp.1
diff --git a/lfs/bitstream b/lfs/bitstream
new file mode 100644 (file)
index 0000000..2985f55
--- /dev/null
@@ -0,0 +1,84 @@
+###############################################################################
+#                                                                             #
+# IPFire.org - A linux based firewall                                         #
+# Copyright (C) 2007  Michael Tremer & Christian Schmidt                      #
+#                                                                             #
+# This program is free software: you can redistribute it and/or modify        #
+# it under the terms of the GNU General Public License as published by        #
+# the Free Software Foundation, either version 3 of the License, or           #
+# (at your option) any later version.                                         #
+#                                                                             #
+# This program is distributed in the hope that it will be useful,             #
+# but WITHOUT ANY WARRANTY; without even the implied warranty of              #
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the               #
+# GNU General Public License for more details.                                #
+#                                                                             #
+# You should have received a copy of the GNU General Public License           #
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.       #
+#                                                                             #
+###############################################################################
+
+###############################################################################
+# Definitions
+###############################################################################
+
+include Config
+
+VER        = 1.0
+
+THISAPP    = bitstream-$(VER)
+DL_FILE    = $(THISAPP).tar.bz2
+DL_FROM    = $(URL_IPFIRE)
+DIR_APP    = $(DIR_SRC)/$(THISAPP)
+TARGET     = $(DIR_INFO)/$(THISAPP)
+PROG       = bitstream
+PAK_VER    = 1
+
+DEPS       = ""
+
+###############################################################################
+# Top-level Rules
+###############################################################################
+
+objects = $(DL_FILE)
+
+$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
+
+$(DL_FILE)_MD5 = 5ba0c96d6c7c9131ba60a9a8fc147556
+
+install : $(TARGET)
+
+check : $(patsubst %,$(DIR_CHK)/%,$(objects))
+
+download :$(patsubst %,$(DIR_DL)/%,$(objects))
+
+md5 : $(subst %,%_MD5,$(objects))
+
+dist: 
+       @$(PAK)
+
+###############################################################################
+# Downloading, checking, md5sum
+###############################################################################
+
+$(patsubst %,$(DIR_CHK)/%,$(objects)) :
+       @$(CHECK)
+
+$(patsubst %,$(DIR_DL)/%,$(objects)) :
+       @$(LOAD)
+
+$(subst %,%_MD5,$(objects)) :
+       @$(MD5)
+
+###############################################################################
+# Installation Details
+###############################################################################
+
+$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
+       @$(PREBUILD)
+       @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar jxf $(DIR_DL)/$(DL_FILE)
+       cd $(DIR_APP) && patch -Np0 < $(DIR_SRC)/src/patches/bitstream-makefile.patch
+       cd $(DIR_APP) && make $(MAKETUNING)
+       cd $(DIR_APP) && make install
+       @rm -rf $(DIR_APP)
+       @$(POSTBUILD)
diff --git a/lfs/multicat b/lfs/multicat
new file mode 100644 (file)
index 0000000..e2b6c04
--- /dev/null
@@ -0,0 +1,84 @@
+###############################################################################
+#                                                                             #
+# IPFire.org - A linux based firewall                                         #
+# Copyright (C) 2007  Michael Tremer & Christian Schmidt                      #
+#                                                                             #
+# This program is free software: you can redistribute it and/or modify        #
+# it under the terms of the GNU General Public License as published by        #
+# the Free Software Foundation, either version 3 of the License, or           #
+# (at your option) any later version.                                         #
+#                                                                             #
+# This program is distributed in the hope that it will be useful,             #
+# but WITHOUT ANY WARRANTY; without even the implied warranty of              #
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the               #
+# GNU General Public License for more details.                                #
+#                                                                             #
+# You should have received a copy of the GNU General Public License           #
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.       #
+#                                                                             #
+###############################################################################
+
+###############################################################################
+# Definitions
+###############################################################################
+
+include Config
+
+VER        = 2.0
+
+THISAPP    = multicat-$(VER)
+DL_FILE    = $(THISAPP).tar.bz2
+DL_FROM    = $(URL_IPFIRE)
+DIR_APP    = $(DIR_SRC)/$(THISAPP)
+TARGET     = $(DIR_INFO)/$(THISAPP)
+PROG       = multicat
+PAK_VER    = 1
+
+DEPS       = "bitstream"
+
+###############################################################################
+# Top-level Rules
+###############################################################################
+
+objects = $(DL_FILE)
+
+$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
+
+$(DL_FILE)_MD5 = 3aaa226a421c378c2ede0c8db8fd609c
+
+install : $(TARGET)
+
+check : $(patsubst %,$(DIR_CHK)/%,$(objects))
+
+download :$(patsubst %,$(DIR_DL)/%,$(objects))
+
+md5 : $(subst %,%_MD5,$(objects))
+
+dist: 
+       @$(PAK)
+
+###############################################################################
+# Downloading, checking, md5sum
+###############################################################################
+
+$(patsubst %,$(DIR_CHK)/%,$(objects)) :
+       @$(CHECK)
+
+$(patsubst %,$(DIR_DL)/%,$(objects)) :
+       @$(LOAD)
+
+$(subst %,%_MD5,$(objects)) :
+       @$(MD5)
+
+###############################################################################
+# Installation Details
+###############################################################################
+
+$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
+       @$(PREBUILD)
+       @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar jxf $(DIR_DL)/$(DL_FILE)
+       cd $(DIR_APP) && patch -Np0 < $(DIR_SRC)/src/patches/multicat-makefile.patch
+       cd $(DIR_APP) && make $(MAKETUNING)
+       cd $(DIR_APP) && make install
+       @rm -rf $(DIR_APP)
+       @$(POSTBUILD)
diff --git a/make.sh b/make.sh
index 84df80d7b4f4f3581f33388f07ee4c928a8150a1..cec5155303b2a22c513a5d088788265effd157f5 100755 (executable)
--- a/make.sh
+++ b/make.sh
@@ -765,6 +765,8 @@ buildipfire() {
   ipfiremake nginx
   ipfiremake sendEmail
   ipfiremake sysbench
+  ipfiremake bitstream
+  ipfiremake multicat
   echo Build on $HOSTNAME > $BASEDIR/build/var/ipfire/firebuild
   cat /proc/version >> $BASEDIR/build/var/ipfire/firebuild
   echo >> $BASEDIR/build/var/ipfire/firebuild
diff --git a/src/patches/bitstream-makefile.patch b/src/patches/bitstream-makefile.patch
new file mode 100644 (file)
index 0000000..35aeac8
--- /dev/null
@@ -0,0 +1,7 @@
+--- Makefile.org        2013-06-14 12:59:46.000000000 +0200
++++ Makefile    2013-06-14 13:00:01.000000000 +0200
+@@ -1,4 +1,4 @@
+-PREFIX ?= /usr/local
++PREFIX ?= /usr
+ INCLUDE = $(subst //,/,$(DESTDIR)/$(PREFIX)/include/bitstream)
+ VERSION = 1.0
diff --git a/src/patches/multicat-makefile.patch b/src/patches/multicat-makefile.patch
new file mode 100644 (file)
index 0000000..60a987b
--- /dev/null
@@ -0,0 +1,12 @@
+--- Makefile.orig       2013-06-14 12:39:11.000000000 +0200
++++ Makefile    2013-06-14 12:39:20.000000000 +0200
+@@ -13,7 +13,7 @@
+ OBJ_LASTS = lasts.o
+ OBJ_MULTICAT_VALIDATE = multicat_validate.o util.o
+
+-PREFIX ?= /usr/local
++PREFIX ?= /usr
+ BIN = $(DESTDIR)/$(PREFIX)/bin
+ MAN = $(DESTDIR)/$(PREFIX)/share/man/man1
+
+