From b631e97d550019419583da40c086094f0080d3b1 Mon Sep 17 00:00:00 2001 From: Jesse Keating Date: Tue, 29 Sep 2009 07:19:59 +0000 Subject: [PATCH 01/20] Initialize branch F-12 for xawtv --- branch | 1 + 1 file changed, 1 insertion(+) create mode 100644 branch diff --git a/branch b/branch new file mode 100644 index 0000000..06de2d2 --- /dev/null +++ b/branch @@ -0,0 +1 @@ +F-12 From fed751799003854c28356e94595f1ea41a3ca40a Mon Sep 17 00:00:00 2001 From: Bill Nottingham Date: Thu, 26 Nov 2009 01:29:11 +0000 Subject: [PATCH 02/20] Fix typo that causes a failure to update the common directory. (releng #2781) --- Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index aa12db0..ae7fc11 100644 --- a/Makefile +++ b/Makefile @@ -1,10 +1,10 @@ # Makefile for source rpm: xawtv -# $Id$ +# $Id: Makefile,v 1.1 2007/06/22 19:26:22 kevin Exp $ NAME := xawtv SPECFILE = $(firstword $(wildcard *.spec)) define find-makefile-common -for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done +for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$d/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done endef MAKEFILE_COMMON := $(shell $(find-makefile-common)) From 22c88168603cf381f035cbbf7b18c29e4b006c73 Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Fri, 12 Mar 2010 16:24:31 +0000 Subject: [PATCH 03/20] - Fix xawtv not starting due to it not finding its fonts --- xawtv-3.95-font.patch | 54 ++++++++++++++++++++++++++++++++++--------- xawtv.spec | 7 ++++-- 2 files changed, 48 insertions(+), 13 deletions(-) diff --git a/xawtv-3.95-font.patch b/xawtv-3.95-font.patch index 02f279e..e26ec7d 100644 --- a/xawtv-3.95-font.patch +++ b/xawtv-3.95-font.patch @@ -1,7 +1,7 @@ -diff -Nrbu xawtv-3.95/vbistuff/alevt.css.in xawtv-3.95-OK/vbistuff/alevt.css.in ---- xawtv-3.95/vbistuff/alevt.css.in 2003-02-14 17:14:08.000000000 +0300 -+++ xawtv-3.95-OK/vbistuff/alevt.css.in 2007-03-02 19:38:26.000000000 +0300 -@@ -3,7 +3,7 @@ +diff -up xawtv-3.95/vbistuff/alevt.css.in.font xawtv-3.95/vbistuff/alevt.css.in +--- xawtv-3.95/vbistuff/alevt.css.in.font 2003-02-14 15:14:08.000000000 +0100 ++++ xawtv-3.95/vbistuff/alevt.css.in 2010-03-12 12:25:48.465315533 +0100 +@@ -3,7 +3,7 @@ body { background-color: white; color: pre.vt { border: 1pt solid black; padding: 12pt } pre.vt { background-color: #c0c0c0; width: auto; float: left } pre.vt { white-space: pre } @@ -10,16 +10,48 @@ diff -Nrbu xawtv-3.95/vbistuff/alevt.css.in xawtv-3.95-OK/vbistuff/alevt.css.in div.quick { clear: both } -diff -Nrbu xawtv-3.95/x11/Xawtv.ad xawtv-3.95-OK/x11/Xawtv.ad ---- xawtv-3.95/x11/Xawtv.ad 2003-02-18 19:31:33.000000000 +0300 -+++ xawtv-3.95-OK/x11/Xawtv.ad 2007-03-02 19:37:26.000000000 +0300 -@@ -382,9 +382,7 @@ +diff -up xawtv-3.95/x11/Xawtv.ad.font xawtv-3.95/x11/Xawtv.ad +--- xawtv-3.95/x11/Xawtv.ad.font 2003-02-18 17:31:33.000000000 +0100 ++++ xawtv-3.95/x11/Xawtv.ad 2010-03-12 12:33:52.024563695 +0100 +@@ -5,24 +5,12 @@ + Xawtv*international: true + Xawtv*font: 7x13bold + Xawtv*fontSet: \ +- -*-lucidatypewriter-bold-r-normal-*-14-*-*-*-m-*-iso8859-*, \ +- -*-courier-bold-r-normal-*-14-*-*-*-m-*-iso8859-*, \ +- -gnu-unifont-bold-r-normal--16-*-*-*-c-*-*-*, \ +- -efont-biwidth-bold-r-normal--16-*-*-*-*-*-*-*, \ +- -*-*-bold-r-normal-*-16-*-*-*-m-*-*-*, \ +- -*-*-bold-r-normal-*-16-*-*-*-c-*-*-*, \ +- -*-*-*-*-*-*-16-*-*-*-*-*-*-*, * ++ -*-lucidatypewriter-bold-r-normal-*-14-*-*-*-m-*-iso8859-* + + TopLevelShell*international: true + TopLevelShell*font: 7x13bold + TopLevelShell*fontSet: \ +- -*-lucidatypewriter-bold-r-normal-*-14-*-*-*-m-*-iso8859-*, \ +- -*-courier-bold-r-normal-*-14-*-*-*-m-*-iso8859-*, \ +- -gnu-unifont-bold-r-normal--16-*-*-*-c-*-*-*, \ +- -efont-biwidth-bold-r-normal--16-*-*-*-*-*-*-*, \ +- -*-*-bold-r-normal-*-16-*-*-*-m-*-*-*, \ +- -*-*-bold-r-normal-*-16-*-*-*-c-*-*-*, \ +- -*-*-*-*-*-*-16-*-*-*-*-*-*-*,* ++ -*-lucidatypewriter-bold-r-normal-*-14-*-*-*-m-*-iso8859-* + + *popup_help.title: Welcome to xawtv! + xawtv.tv.help: \ +@@ -382,13 +370,8 @@ xawtv.onscreen*background: black xawtv.onscreen*borderColor: black xawtv.onscreen*foreground: lightgreen xawtv.onscreen.label.justify: left -xawtv.onscreen.label.font: -*-ledfixed-medium-r-*--39-*-*-*-c-*-*-* xawtv.onscreen.label.fontSet: \ - -*-ledfixed-medium-r-semicondensed--39-*-*-*-c-*-*-*, \ - -*-bitstream vera sans-medium-r-normal--39-*-*-*-*-*-*-*, \ - -*-luxi sans-medium-r-normal--39-*-*-*-*-*-*-*, \ - -*-*-r-normal--39-*-*-*-*-*-*-*, \ +- -*-bitstream vera sans-medium-r-normal--39-*-*-*-*-*-*-*, \ +- -*-luxi sans-medium-r-normal--39-*-*-*-*-*-*-*, \ +- -*-*-r-normal--39-*-*-*-*-*-*-*, \ +- -*-*-*-*--39-*-*-*-*-*-*-*,* ++ -*-nimbus sans l-medium-r-normal--39-*-*-*-*-*-*-* + + xawtv.vtx.allowShellResize: true + xawtv.vtx.label.resize: true diff --git a/xawtv.spec b/xawtv.spec index ba3536d..2d01a68 100644 --- a/xawtv.spec +++ b/xawtv.spec @@ -3,7 +3,7 @@ Summary: TV applications for video4linux compliant devices Name: xawtv Version: 3.95 -Release: 12%{?dist}.1 +Release: 13%{?dist} Group: Applications/Multimedia License: GPLv2+ URL: http://bytesex.org/xawtv/ @@ -45,7 +45,7 @@ BuildRequires: gpm-devel, slang-devel BuildRequires: autoconf, desktop-file-utils %{!?_without_libv4l:BuildRequires: libv4l-devel} -Requires: usermode +Requires: usermode xorg-x11-fonts-ISO8859-1-75dpi urw-fonts BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) @@ -164,6 +164,9 @@ rm -fr $RPM_BUILD_ROOT %changelog +* Fri Mar 12 2010 Hans de Goede 3.95-13 +- Fix xawtv not starting due to it not finding its fonts + * Mon Jul 27 2009 Fedora Release Engineering - 3.95-12.1 - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild From 1223a3d80c691a2004de2e58808d526e716ff3e0 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 29 Jul 2010 15:32:43 +0000 Subject: [PATCH 04/20] dist-git conversion --- .cvsignore => .gitignore | 0 Makefile | 21 --------------------- branch | 1 - 3 files changed, 22 deletions(-) rename .cvsignore => .gitignore (100%) delete mode 100644 Makefile delete mode 100644 branch diff --git a/.cvsignore b/.gitignore similarity index 100% rename from .cvsignore rename to .gitignore diff --git a/Makefile b/Makefile deleted file mode 100644 index ae7fc11..0000000 --- a/Makefile +++ /dev/null @@ -1,21 +0,0 @@ -# Makefile for source rpm: xawtv -# $Id: Makefile,v 1.1 2007/06/22 19:26:22 kevin Exp $ -NAME := xawtv -SPECFILE = $(firstword $(wildcard *.spec)) - -define find-makefile-common -for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$d/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done -endef - -MAKEFILE_COMMON := $(shell $(find-makefile-common)) - -ifeq ($(MAKEFILE_COMMON),) -# attept a checkout -define checkout-makefile-common -test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2 -endef - -MAKEFILE_COMMON := $(shell $(checkout-makefile-common)) -endif - -include $(MAKEFILE_COMMON) diff --git a/branch b/branch deleted file mode 100644 index 06de2d2..0000000 --- a/branch +++ /dev/null @@ -1 +0,0 @@ -F-12 From b339aa4d48b17a8ffda64423f7296fc968b3d5b2 Mon Sep 17 00:00:00 2001 From: Mauro Carvalho Chehab Date: Thu, 3 Feb 2011 16:47:38 -0200 Subject: [PATCH 05/20] Initial version for EPEL6 Matches upstream version 3.99-rc5 --- .gitignore | 7 +- sources | 2 +- xawtv-3.95-bpl.patch | 85 -------- xawtv-3.95-curses-utf8.patch | 65 ------ xawtv-3.95-fixes.patch | 72 ------- xawtv-3.95-font.patch | 57 ------ xawtv-3.95-gcc4.patch | 79 -------- xawtv-3.95-libv4l2.patch | 177 ----------------- xawtv-3.95-man.patch | 190 ------------------ xawtv-3.95-no-dga.patch | 120 ------------ xawtv-3.95-open.patch | 42 ---- xawtv-3.95-oss.patch | 19 -- xawtv-3.95-pagesize.patch | 41 ---- xawtv-3.95-region.patch | 22 --- xawtv-3.95-scantv.patch | 87 --------- xawtv-3.95-strip.patch | 48 ----- xawtv-3.95-v4l2-old-drop.patch | 19 -- xawtv.spec | 348 ++------------------------------- 18 files changed, 19 insertions(+), 1461 deletions(-) delete mode 100644 xawtv-3.95-bpl.patch delete mode 100644 xawtv-3.95-curses-utf8.patch delete mode 100644 xawtv-3.95-fixes.patch delete mode 100644 xawtv-3.95-font.patch delete mode 100644 xawtv-3.95-gcc4.patch delete mode 100644 xawtv-3.95-libv4l2.patch delete mode 100644 xawtv-3.95-man.patch delete mode 100644 xawtv-3.95-no-dga.patch delete mode 100644 xawtv-3.95-open.patch delete mode 100644 xawtv-3.95-oss.patch delete mode 100644 xawtv-3.95-pagesize.patch delete mode 100644 xawtv-3.95-region.patch delete mode 100644 xawtv-3.95-scantv.patch delete mode 100644 xawtv-3.95-strip.patch delete mode 100644 xawtv-3.95-v4l2-old-drop.patch diff --git a/.gitignore b/.gitignore index c817e19..1989580 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,6 @@ -xawtv-3.95.tar.gz +xawtv-3.98.tar.bz2 +/xawtv-3.99.rc1.tar.bz2 +/xawtv-3.99.rc2.tar.bz2 +/xawtv-3.99.rc3.tar.bz2 +/xawtv-3.99.rc4.tar.bz2 +/xawtv-3.99.rc5.tar.bz2 diff --git a/sources b/sources index 024e5c3..9ebfdec 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -ad25e03f7e128b318e392cb09f52207d xawtv-3.95.tar.gz +99b0857e6bc4377f74f7f3000300d2d3 xawtv-3.99.rc5.tar.bz2 diff --git a/xawtv-3.95-bpl.patch b/xawtv-3.95-bpl.patch deleted file mode 100644 index 1a8c626..0000000 --- a/xawtv-3.95-bpl.patch +++ /dev/null @@ -1,85 +0,0 @@ -diff -Nrbu xawtv-3.95/console/v4l-conf.c xawtv-3.95-OK/console/v4l-conf.c ---- xawtv-3.95/console/v4l-conf.c 2008-08-26 19:37:34.000000000 +0400 -+++ xawtv-3.95-OK/console/v4l-conf.c 2008-08-26 19:39:28.000000000 +0400 -@@ -53,6 +53,7 @@ - int v4l2 = 1; - int user_bpp = 0; - int user_shift = 0; -+int user_bpl = 0; - void *user_base = NULL; - char *display = NULL; - char *fbdev = NULL; -@@ -385,7 +386,15 @@ - } - if (yuv) - fb.fmt.pixelformat = V4L2_PIX_FMT_YUYV; -+ /* Prefer an already configured bpl (if it makes sense) over our found bpl -+ if we did not find a base as our bpl is not very reliable when we did -+ not find a base */ -+ if (user_bpl || d->base || -+ fb.fmt.bytesperline < (fb.fmt.width * ((d->bpp + 7) / 8))) - fb.fmt.bytesperline = d->bpl; -+ else -+ fprintf(stderr,"WARNING: keeping fbuf pitch at: %d, as no base addr was detected\n", -+ (int)fb.fmt.bytesperline); - fb.fmt.sizeimage = fb.fmt.height * fb.fmt.bytesperline; - if (NULL != d->base) - fb.base = d->base; -@@ -498,7 +507,7 @@ - - /* parse options */ - for (;;) { -- if (-1 == (c = getopt(argc, argv, "hyq12d:c:b:s:fa:"))) -+ if (-1 == (c = getopt(argc, argv, "hyq12d:c:b:s:fa:p:"))) - break; - switch (c) { - case 'q': -@@ -543,6 +552,14 @@ - exit(1); - } - break; -+ case 'p': -+ if (0 == getuid()) { -+ sscanf(optarg,"%d",&user_bpl); -+ } else { -+ fprintf(stderr,"only root is allowed to use the -p option\n"); -+ exit(1); -+ } -+ break; - case 'h': - default: - fprintf(stderr, -@@ -560,6 +577,8 @@ - " -a set framebuffer address to \n" - " (in hex, root only, successful autodetect\n" - " will overwrite this address)\n" -+ " -p set framebuffer pitch to bytes\n" -+ " (decimal, root only)\n" - " -1 force v4l API\n" - " -2 force v4l2 API\n", - argv[0], -@@ -626,6 +645,9 @@ - (d.depth == 15 || d.depth == 16)) - d.depth = user_bpp; - -+ if (user_bpl) -+ d.bpl = user_bpl; -+ - if (verbose) { - fprintf(stderr,"mode: %dx%d, depth=%d, bpp=%d, bpl=%d, ", - d.width,d.height,d.depth,d.bpp,d.bpl); -diff -Nrbu xawtv-3.95/man/v4l-conf.8 xawtv-3.95-OK/man/v4l-conf.8 ---- xawtv-3.95/man/v4l-conf.8 2008-08-26 19:37:34.000000000 +0400 -+++ xawtv-3.95-OK/man/v4l-conf.8 2008-08-26 19:45:02.000000000 +0400 -@@ -62,6 +62,11 @@ - autodetected value, this switch is only useful if autodetect doesn't - work because the X-Server lacks DGA support. You can put this into - /etc/conf.modules, as "post-install bttv ..." for example. -+.TP 4 -+\fB-p\fP pitch -+Set framebuffer pitch to \fBpitch\fP bytes. The value should be specified -+in decimal. Allowed for root only. (Currently it is a distro-specific option -+added by Fedora). - .SH BUGS - Hope I haven't any security flaws in there. If you find one, drop me a - note. Mails with patches are preferred :-) diff --git a/xawtv-3.95-curses-utf8.patch b/xawtv-3.95-curses-utf8.patch deleted file mode 100644 index 48f916e..0000000 --- a/xawtv-3.95-curses-utf8.patch +++ /dev/null @@ -1,65 +0,0 @@ -diff -Nrbu xawtv-3.95/configure.ac xawtv-3.95-OK/configure.ac ---- xawtv-3.95/configure.ac 2004-08-18 19:48:09.000000000 +0400 -+++ xawtv-3.95-OK/configure.ac 2006-12-27 19:01:29.000000000 +0300 -@@ -110,7 +110,10 @@ - AC_CHECK_LIB(c_r,pthread_create,LIBPTHREAD="-lc_r") - fi - AC_CHECK_LIB(ossaudio,main,LIBOSS="-lossaudio") --AC_CHECK_LIB(ncurses,initscr,LIBCURSES="-lncurses") -+AC_CHECK_LIB(ncursesw,initscr,LIBCURSES="-lncursesw") -+if test "$LIBCURSES" = ""; then -+ AC_CHECK_LIB(ncurses,initscr,LIBCURSES="-lncurses") -+fi - if test "$LIBCURSES" = ""; then - AC_CHECK_LIB(curses,initscr,LIBCURSES="-lcurses") - fi -@@ -120,6 +123,9 @@ - echo " you need also the *-devel packages." - exit 1 - fi -+if test "$LIBCURSES" = "-lncursesw"; then -+ CFLAGS="$CFLAGS -I/usr/include/ncursesw" -+fi - AC_SUBST(LIBPTHREAD) - AC_SUBST(LIBOSS) - AC_SUBST(LIBCURSES) -diff -Nrbu xawtv-3.95/console/radio.c xawtv-3.95-OK/console/radio.c ---- xawtv-3.95/console/radio.c 2003-04-16 19:35:13.000000000 +0400 -+++ xawtv-3.95-OK/console/radio.c 2006-12-27 19:13:06.000000000 +0300 -@@ -23,6 +23,7 @@ - #include - #include - #include -+#include - #include - #include - #include -@@ -398,6 +399,8 @@ - int quit=0, scan=0, arg_mute=0; - struct video_tuner tuner; - -+ setlocale(LC_ALL,""); -+ - /* parse args */ - for (;;) { - c = getopt(argc, argv, "mhiqdsSf:c:"); -diff -Nrbu xawtv-3.95/console/record.c xawtv-3.95-OK/console/record.c ---- xawtv-3.95/console/record.c 2003-04-03 14:51:00.000000000 +0400 -+++ xawtv-3.95-OK/console/record.c 2006-12-27 19:13:18.000000000 +0300 -@@ -6,6 +6,7 @@ - #include - #include - #include -+#include - #include - #include - #include -@@ -574,6 +575,8 @@ - record = 0; - nr = 0; - -+ setlocale(LC_ALL,""); -+ - /* parse options */ - for (;;) { - if (-1 == (c = getopt(argc, argv, "vhlci:o:d:m:r:t:s:L:p:n:"))) diff --git a/xawtv-3.95-fixes.patch b/xawtv-3.95-fixes.patch deleted file mode 100644 index 36fd60f..0000000 --- a/xawtv-3.95-fixes.patch +++ /dev/null @@ -1,72 +0,0 @@ -diff -Nrbu xawtv-3.95/libng/plugins/drv0-v4l2.c xawtv-3.95-OK/libng/plugins/drv0-v4l2.c ---- xawtv-3.95/libng/plugins/drv0-v4l2.c 2005-02-11 20:56:24.000000000 +0300 -+++ xawtv-3.95-OK/libng/plugins/drv0-v4l2.c 2008-08-26 19:27:18.000000000 +0400 -@@ -91,6 +91,7 @@ - struct ng_video_fmt fmt_me; - struct v4l2_requestbuffers reqbufs; - struct v4l2_buffer buf_v4l2[WANTED_BUFFERS]; -+ int buf_v4l2_size[WANTED_BUFFERS]; - struct ng_video_buf buf_me[WANTED_BUFFERS]; - unsigned int queue,waiton; - -@@ -166,7 +167,7 @@ - int rc; - - rc = ioctl(fd,cmd,arg); -- if (0 == rc && ng_debug < 2) -+ if (rc >= 0 && ng_debug < 2) - return rc; - if (mayfail && errno == mayfail && ng_debug < 2) - return rc; -@@ -768,6 +769,7 @@ - /* get it */ - memset(&buf,0,sizeof(buf)); - buf.type = V4L2_BUF_TYPE_VIDEO_CAPTURE; -+ buf.memory = V4L2_MEMORY_MMAP; - if (-1 == xioctl(h->fd,VIDIOC_DQBUF,&buf, 0)) - return -1; - h->waiton++; -@@ -812,6 +814,7 @@ - h->buf_v4l2[i].memory = V4L2_MEMORY_MMAP; - if (-1 == xioctl(h->fd, VIDIOC_QUERYBUF, &h->buf_v4l2[i], 0)) - return -1; -+ h->buf_v4l2_size[i] = h->buf_v4l2[i].length; - h->buf_me[i].fmt = h->fmt_me; - h->buf_me[i].size = h->buf_me[i].fmt.bytesperline * - h->buf_me[i].fmt.height; -@@ -865,12 +868,16 @@ - ng_waiton_video_buf(&h->buf_me[i]); - if (ng_debug) - print_bufinfo(&h->buf_v4l2[i]); -- if (-1 == munmap(h->buf_me[i].data,h->buf_me[i].size)) -+ if (-1 == munmap(h->buf_me[i].data, h->buf_v4l2_size[i])) - perror("munmap"); - } - h->queue = 0; - h->waiton = 0; - -+ /* unrequest buffers (only needed for some drivers) */ -+ h->reqbufs.count = 0; -+ xioctl(h->fd, VIDIOC_REQBUFS, &h->reqbufs, EINVAL); -+ - /* turn on preview (if needed) */ - if (h->ov_on != h->ov_enabled) { - h->ov_on = h->ov_enabled; -@@ -907,6 +914,17 @@ - fmt->width = h->fmt_v4l2.fmt.pix.width; - fmt->height = h->fmt_v4l2.fmt.pix.height; - fmt->bytesperline = h->fmt_v4l2.fmt.pix.bytesperline; -+ /* struct v4l2_format.fmt.pix.bytesperline is bytesperline for the -+ main plane for planar formats, where as we want it to be the total -+ bytesperline for all planes */ -+ switch (fmt->fmtid) { -+ case VIDEO_YUV422P: -+ fmt->bytesperline *= 2; -+ break; -+ case VIDEO_YUV420P: -+ fmt->bytesperline = fmt->bytesperline * 3 / 2; -+ break; -+ } - if (0 == fmt->bytesperline) - fmt->bytesperline = fmt->width * ng_vfmt_to_depth[fmt->fmtid] / 8; - h->fmt_me = *fmt; diff --git a/xawtv-3.95-font.patch b/xawtv-3.95-font.patch deleted file mode 100644 index e26ec7d..0000000 --- a/xawtv-3.95-font.patch +++ /dev/null @@ -1,57 +0,0 @@ -diff -up xawtv-3.95/vbistuff/alevt.css.in.font xawtv-3.95/vbistuff/alevt.css.in ---- xawtv-3.95/vbistuff/alevt.css.in.font 2003-02-14 15:14:08.000000000 +0100 -+++ xawtv-3.95/vbistuff/alevt.css.in 2010-03-12 12:25:48.465315533 +0100 -@@ -3,7 +3,7 @@ body { background-color: white; color: - pre.vt { border: 1pt solid black; padding: 12pt } - pre.vt { background-color: #c0c0c0; width: auto; float: left } - pre.vt { white-space: pre } --pre.vt { font-family: "teletext, monospace"; font-size: 20px; line-height: 20px } -+pre.vt { font-family: "teletext"; font-size: 10px; line-height: 10px } - - div.quick { clear: both } - -diff -up xawtv-3.95/x11/Xawtv.ad.font xawtv-3.95/x11/Xawtv.ad ---- xawtv-3.95/x11/Xawtv.ad.font 2003-02-18 17:31:33.000000000 +0100 -+++ xawtv-3.95/x11/Xawtv.ad 2010-03-12 12:33:52.024563695 +0100 -@@ -5,24 +5,12 @@ - Xawtv*international: true - Xawtv*font: 7x13bold - Xawtv*fontSet: \ -- -*-lucidatypewriter-bold-r-normal-*-14-*-*-*-m-*-iso8859-*, \ -- -*-courier-bold-r-normal-*-14-*-*-*-m-*-iso8859-*, \ -- -gnu-unifont-bold-r-normal--16-*-*-*-c-*-*-*, \ -- -efont-biwidth-bold-r-normal--16-*-*-*-*-*-*-*, \ -- -*-*-bold-r-normal-*-16-*-*-*-m-*-*-*, \ -- -*-*-bold-r-normal-*-16-*-*-*-c-*-*-*, \ -- -*-*-*-*-*-*-16-*-*-*-*-*-*-*, * -+ -*-lucidatypewriter-bold-r-normal-*-14-*-*-*-m-*-iso8859-* - - TopLevelShell*international: true - TopLevelShell*font: 7x13bold - TopLevelShell*fontSet: \ -- -*-lucidatypewriter-bold-r-normal-*-14-*-*-*-m-*-iso8859-*, \ -- -*-courier-bold-r-normal-*-14-*-*-*-m-*-iso8859-*, \ -- -gnu-unifont-bold-r-normal--16-*-*-*-c-*-*-*, \ -- -efont-biwidth-bold-r-normal--16-*-*-*-*-*-*-*, \ -- -*-*-bold-r-normal-*-16-*-*-*-m-*-*-*, \ -- -*-*-bold-r-normal-*-16-*-*-*-c-*-*-*, \ -- -*-*-*-*-*-*-16-*-*-*-*-*-*-*,* -+ -*-lucidatypewriter-bold-r-normal-*-14-*-*-*-m-*-iso8859-* - - *popup_help.title: Welcome to xawtv! - xawtv.tv.help: \ -@@ -382,13 +370,8 @@ xawtv.onscreen*background: black - xawtv.onscreen*borderColor: black - xawtv.onscreen*foreground: lightgreen - xawtv.onscreen.label.justify: left --xawtv.onscreen.label.font: -*-ledfixed-medium-r-*--39-*-*-*-c-*-*-* - xawtv.onscreen.label.fontSet: \ -- -*-ledfixed-medium-r-semicondensed--39-*-*-*-c-*-*-*, \ -- -*-bitstream vera sans-medium-r-normal--39-*-*-*-*-*-*-*, \ -- -*-luxi sans-medium-r-normal--39-*-*-*-*-*-*-*, \ -- -*-*-r-normal--39-*-*-*-*-*-*-*, \ -- -*-*-*-*--39-*-*-*-*-*-*-*,* -+ -*-nimbus sans l-medium-r-normal--39-*-*-*-*-*-*-* - - xawtv.vtx.allowShellResize: true - xawtv.vtx.label.resize: true diff --git a/xawtv-3.95-gcc4.patch b/xawtv-3.95-gcc4.patch deleted file mode 100644 index e514744..0000000 --- a/xawtv-3.95-gcc4.patch +++ /dev/null @@ -1,79 +0,0 @@ -diff -Nrbu xawtv-3.95/common/capture.c xawtv-3.95-OK/common/capture.c ---- xawtv-3.95/common/capture.c 2004-10-12 14:16:34.000000000 +0400 -+++ xawtv-3.95-OK/common/capture.c 2006-12-27 19:55:59.000000000 +0300 -@@ -527,12 +527,12 @@ - - if (h->vfmt.fmtid != VIDEO_NONE && h->afmt.fmtid != AUDIO_NONE) { - for (frames = 0; frames < 16; frames++) { -- stopby = (uint64_t)(h->frames + frames) * (uint64_t)1000000000000 / h->fps; -+ stopby = (uint64_t)(h->frames + frames) * (uint64_t)1000000000000ULL / h->fps; - if (stopby > h->ats) - break; - } - frames++; -- h->stopby = (uint64_t)(h->frames + frames) * (uint64_t)1000000000000 / h->fps; -+ h->stopby = (uint64_t)(h->frames + frames) * (uint64_t)1000000000000ULL / h->fps; - while (frames) { - movie_grab_put_video(h,NULL); - frames--; -@@ -594,11 +594,11 @@ - (h->rdrift > 0) ? '+' : '-', - (int)((abs(h->rdrift) / 1000000000)), - (int)((abs(h->rdrift) % 1000000000) / 10000000), -- (int)(h->rdrift * h->fps / (uint64_t)1000000000000), -+ (int)(h->rdrift * h->fps / (uint64_t)1000000000000ULL), - (h->vdrift > 0) ? '+' : '-', - (int)((abs(h->vdrift) / 1000000000)), - (int)((abs(h->vdrift) % 1000000000) / 10000000), -- (int)(h->vdrift * h->fps / (uint64_t)1000000000000)); -+ (int)(h->vdrift * h->fps / (uint64_t)1000000000000ULL)); - rec_status(line); - } - -@@ -623,7 +623,7 @@ - #endif - - /* rate control */ -- expected = (buf->info.ts - h->vdrift) * h->fps / (uint64_t)1000000000000; -+ expected = (buf->info.ts - h->vdrift) * h->fps / (uint64_t)1000000000000ULL; - if (expected < h->frames-1) { - if (debug > 1) - fprintf(stderr,"rate: ignoring frame [%d %d]\n", -diff -Nrbu xawtv-3.95/console/showqt.c xawtv-3.95-OK/console/showqt.c ---- xawtv-3.95/console/showqt.c 2003-03-27 13:37:08.000000000 +0300 -+++ xawtv-3.95-OK/console/showqt.c 2006-12-27 19:52:51.000000000 +0300 -@@ -25,14 +25,14 @@ - (((uint32_t)x<<8) & (uint32_t)0x00ff0000) |\ - (((uint32_t)x<<24) & (uint32_t)0xff000000)) - --# define SWAP8(x) ((((uint64_t)x>>56) & (uint64_t)0x00000000000000ff) |\ -- (((uint64_t)x>>40) & (uint64_t)0x000000000000ff00) |\ -- (((uint64_t)x>>24) & (uint64_t)0x0000000000ff0000) |\ -- (((uint64_t)x>> 8) & (uint64_t)0x00000000ff000000) |\ -- (((uint64_t)x<< 8) & (uint64_t)0x000000ff00000000) |\ -- (((uint64_t)x<<24) & (uint64_t)0x0000ff0000000000) |\ -- (((uint64_t)x<<40) & (uint64_t)0x00ff000000000000) |\ -- (((uint64_t)x<<56) & (uint64_t)0xff00000000000000)) -+# define SWAP8(x) ((((uint64_t)x>>56) & (uint64_t)0x00000000000000ffULL) |\ -+ (((uint64_t)x>>40) & (uint64_t)0x000000000000ff00ULL) |\ -+ (((uint64_t)x>>24) & (uint64_t)0x0000000000ff0000ULL) |\ -+ (((uint64_t)x>> 8) & (uint64_t)0x00000000ff000000ULL) |\ -+ (((uint64_t)x<< 8) & (uint64_t)0x000000ff00000000ULL) |\ -+ (((uint64_t)x<<24) & (uint64_t)0x0000ff0000000000ULL) |\ -+ (((uint64_t)x<<40) & (uint64_t)0x00ff000000000000ULL) |\ -+ (((uint64_t)x<<56) & (uint64_t)0xff00000000000000ULL)) - #else - # define SWAP2(a) (a) - # define SWAP4(a) (a) -diff -Nrbu xawtv-3.95/libng/plugins/read-dv.c xawtv-3.95-OK/libng/plugins/read-dv.c ---- xawtv-3.95/libng/plugins/read-dv.c 2003-02-14 17:14:05.000000000 +0300 -+++ xawtv-3.95-OK/libng/plugins/read-dv.c 2006-12-27 19:58:49.000000000 +0300 -@@ -125,7 +125,7 @@ - "dv: height=%d width=%d frame_size=%ld\n", - h->dec->quality, h->dec->system, h->dec->std, - h->dec->sampling, h->dec->num_dif_seqs, h->dec->height, -- h->dec->width, h->dec->frame_size); -+ h->dec->width, (long) h->dec->frame_size); - fprintf(stderr, "dv: audio: %d Hz, %d bits, %d channels," - " emphasis %s\n", - h->dec->audio->frequency, diff --git a/xawtv-3.95-libv4l2.patch b/xawtv-3.95-libv4l2.patch deleted file mode 100644 index 02f0f92..0000000 --- a/xawtv-3.95-libv4l2.patch +++ /dev/null @@ -1,177 +0,0 @@ -diff -Nrbu xawtv-3.95/libng/plugins/Subdir.mk xawtv-3.95-OK/libng/plugins/Subdir.mk ---- xawtv-3.95/libng/plugins/Subdir.mk 2008-08-26 19:46:59.000000000 +0400 -+++ xawtv-3.95-OK/libng/plugins/Subdir.mk 2008-08-26 19:48:40.000000000 +0400 -@@ -41,6 +41,7 @@ - libng/plugins/write-qt.so : LDLIBS := $(QT_LIBS) - libng/plugins/read-dv.so : LDLIBS := $(DV_LIBS) - libng/plugins/write-dv.so : LDLIBS := $(DV_LIBS) -+libng/plugins/drv0-v4l2.so: LDLIBS := -lv4l2 - - # global targets - all:: $(TARGETS-plugins) -diff -Nrbu xawtv-3.95/libng/plugins/drv0-v4l2.c xawtv-3.95-OK/libng/plugins/drv0-v4l2.c ---- xawtv-3.95/libng/plugins/drv0-v4l2.c 2008-08-26 19:46:59.000000000 +0400 -+++ xawtv-3.95-OK/libng/plugins/drv0-v4l2.c 2008-08-26 19:48:40.000000000 +0400 -@@ -29,11 +29,26 @@ - #include "struct-dump.h" - #include "struct-v4l2.h" - -+/* FIXME replace with autoconf detection */ -+#define HAVE_LIBV4L -+ -+#ifdef HAVE_LIBV4L -+#include -+#else -+#define v4l2_fd_open(fd, flags) (fd) -+#define v4l2_close close -+#define v4l2_dup dup -+#define v4l2_ioctl ioctl -+#define v4l2_read read -+#define v4l2_mmap mmap -+#define v4l2_munmap munmap -+#endif -+ - /* ---------------------------------------------------------------------- */ - - /* open+close */ --static void* v4l2_open(char *device); --static int v4l2_close(void *handle); -+static void* v4l2_open_handle(char *device); -+static int v4l2_close_handle(void *handle); - - /* attributes */ - static char* v4l2_devname(void *handle); -@@ -111,8 +126,8 @@ - - struct ng_vid_driver v4l2_driver = { - name: "v4l2", -- open: v4l2_open, -- close: v4l2_close, -+ open: v4l2_open_handle, -+ close: v4l2_close_handle, - - get_devname: v4l2_devname, - capabilities: v4l2_flags, -@@ -166,7 +181,7 @@ - { - int rc; - -- rc = ioctl(fd,cmd,arg); -+ rc = v4l2_ioctl(fd,cmd,arg); - if (rc >= 0 && ng_debug < 2) - return rc; - if (mayfail && errno == mayfail && ng_debug < 2) -@@ -220,7 +235,7 @@ - } - - h->streamparm.type = V4L2_BUF_TYPE_VIDEO_CAPTURE; -- ioctl(h->fd,VIDIOC_G_PARM,&h->streamparm); -+ v4l2_ioctl(h->fd,VIDIOC_G_PARM,&h->streamparm); - - /* controls */ - for (i = 0; i < MAX_CTRL; i++) { -@@ -444,10 +459,10 @@ - /* ---------------------------------------------------------------------- */ - - static void* --v4l2_open(char *device) -+v4l2_open_handle(char *device) - { - struct v4l2_handle *h; -- int i; -+ int i, libv4l2_fd; - - h = malloc(sizeof(*h)); - if (NULL == h) -@@ -459,6 +474,16 @@ - goto err; - } - -+ /* Note the v4l2_xxx functions are designed so that if they get passed an -+ unknown fd, the will behave exactly as their regular xxx counterparts, so -+ if v4l2_fd_open fails, we continue as normal (missing the libv4l2 custom -+ cam format to normal formats conversion). Chances are big we will still -+ fail then though, as normally v4l2_fd_open only fails if the device is not -+ a v4l2 device. */ -+ libv4l2_fd = v4l2_fd_open(h->fd, 0); -+ if (libv4l2_fd != -1) -+ h->fd = libv4l2_fd; -+ - if (-1 == xioctl(h->fd,VIDIOC_QUERYCAP,&h->cap,EINVAL)) - goto err; - if (ng_debug) -@@ -495,21 +520,21 @@ - - err: - if (h->fd != -1) -- close(h->fd); -+ v4l2_close(h->fd); - if (h) - free(h); - return NULL; - } - - static int --v4l2_close(void *handle) -+v4l2_close_handle(void *handle) - { - struct v4l2_handle *h = handle; - - if (ng_debug) - fprintf(stderr, "v4l2: close\n"); - -- close(h->fd); -+ v4l2_close(h->fd); - free(h); - return 0; - } -@@ -818,7 +843,7 @@ - h->buf_me[i].fmt = h->fmt_me; - h->buf_me[i].size = h->buf_me[i].fmt.bytesperline * - h->buf_me[i].fmt.height; -- h->buf_me[i].data = mmap(NULL, h->buf_v4l2[i].length, -+ h->buf_me[i].data = v4l2_mmap(NULL, h->buf_v4l2[i].length, - PROT_READ | PROT_WRITE, MAP_SHARED, - h->fd, h->buf_v4l2[i].m.offset); - if (MAP_FAILED == h->buf_me[i].data) { -@@ -859,7 +884,7 @@ - unsigned int i; - - /* stop capture */ -- if (-1 == ioctl(h->fd,VIDIOC_STREAMOFF,&h->fmt_v4l2.type)) -+ if (-1 == v4l2_ioctl(h->fd,VIDIOC_STREAMOFF,&h->fmt_v4l2.type)) - perror("ioctl VIDIOC_STREAMOFF"); - - /* free buffers */ -@@ -868,7 +893,7 @@ - ng_waiton_video_buf(&h->buf_me[i]); - if (ng_debug) - print_bufinfo(&h->buf_v4l2[i]); -- if (-1 == munmap(h->buf_me[i].data, h->buf_v4l2_size[i])) -+ if (-1 == v4l2_munmap(h->buf_me[i].data, h->buf_v4l2_size[i])) - perror("munmap"); - } - h->queue = 0; -@@ -989,7 +1014,7 @@ - } else { - size = h->fmt_me.bytesperline * h->fmt_me.height; - buf = ng_malloc_video_buf(&h->fmt_me,size); -- rc = read(h->fd,buf->data,size); -+ rc = v4l2_read(h->fd,buf->data,size); - if (rc != size) { - if (-1 == rc) { - perror("v4l2: read"); -@@ -1023,11 +1048,11 @@ - size = h->fmt_me.bytesperline * h->fmt_me.height; - buf = ng_malloc_video_buf(&h->fmt_me,size); - if (h->cap.capabilities & V4L2_CAP_READWRITE) { -- rc = read(h->fd,buf->data,size); -+ rc = v4l2_read(h->fd,buf->data,size); - if (-1 == rc && EBUSY == errno && h->ov_on) { - h->ov_on = 0; - xioctl(h->fd, VIDIOC_OVERLAY, &h->ov_on, 0); -- rc = read(h->fd,buf->data,size); -+ rc = v4l2_read(h->fd,buf->data,size); - h->ov_on = 1; - xioctl(h->fd, VIDIOC_OVERLAY, &h->ov_on, 0); - } diff --git a/xawtv-3.95-man.patch b/xawtv-3.95-man.patch deleted file mode 100644 index 792789f..0000000 --- a/xawtv-3.95-man.patch +++ /dev/null @@ -1,190 +0,0 @@ -# A patch for various manual typos. -# -# Derived from the Debian's patches: -# 04_man_typo.dpatch -# 17_scantv_man_typo.dpatch -# (both were written by A. Costa -# - -diff -Nrbu xawtv-3.95/man/fbtv.1 xawtv-3.95-OK/man/fbtv.1 ---- xawtv-3.95/man/fbtv.1 2003-02-14 17:14:07.000000000 +0300 -+++ xawtv-3.95-OK/man/fbtv.1 2008-08-26 18:51:25.000000000 +0400 -@@ -98,7 +98,7 @@ - The BT8xx cards can produce images up to 768x576 pixels. In order to - have fbtv make use of your entire monitor-size and get maximum image - quality, you need to create a 768x576 pixels framebufferconsole. This --can be accomplished with the fbset(1) utility, which is availabile at -+can be accomplished with the fbset(1) utility, which is available at - various locations. See: http://www.cs.kuleuven.ac.be/~geert/bin/ - .P - Or, you can let fbtv handle the videomode changes with the -m switch. -diff -Nrbu xawtv-3.95/man/pia.1 xawtv-3.95-OK/man/pia.1 ---- xawtv-3.95/man/pia.1 2003-02-14 17:14:07.000000000 +0300 -+++ xawtv-3.95-OK/man/pia.1 2008-08-26 18:51:25.000000000 +0400 -@@ -5,7 +5,7 @@ - .B pia [ options ] movie - .SH DESCRIPTION - .B pia --is a small X11 tool which playes movie files. -+is a small X11 tool which plays movie files. - .SH OPTIONS - .B pia - understands the usual toolkit options (-geometry + friends). -@@ -24,7 +24,7 @@ - Use OSS device for sound. - .TP - .B -noxv --Disable Xvideo extention. -+Disable Xvideo extension. - .TP - .B -nogl - Disable OpenGL. -@@ -41,7 +41,7 @@ - .SH SUPPORTED MOVIE FORMATS - Main purpose of this utility is to playback movie files recorded by - xawtv, motv and streamer. It should be able to playback every AVI or --QuickTime movie written by one of the mentioned utilites. Feel free -+QuickTime movie written by one of the mentioned utilities. Feel free - to submit a bug report if this doesn't work for some file. - .SS QuickTime - .B pia -diff -Nrbu xawtv-3.95/man/record.1 xawtv-3.95-OK/man/record.1 ---- xawtv-3.95/man/record.1 2003-02-14 17:14:07.000000000 +0300 -+++ xawtv-3.95-OK/man/record.1 2008-08-26 18:51:25.000000000 +0400 -@@ -16,7 +16,7 @@ - .TP - .B -o file - basename for the output file(s), a number and the .wav --extention are added by record. Default is "record". -+extension are added by record. Default is "record". - .TP - .B -i dev - mixer control. This should be the one where you can adjust the record -diff -Nrbu xawtv-3.95/man/rootv.1 xawtv-3.95-OK/man/rootv.1 ---- xawtv-3.95/man/rootv.1 2003-02-14 17:14:07.000000000 +0300 -+++ xawtv-3.95-OK/man/rootv.1 2008-08-26 18:51:25.000000000 +0400 -@@ -1,6 +1,6 @@ - .TH rootv 1 "(c) 2000-2002 Gerd Knorr" - .SH NAME --rootv - display TV using the Xvideo extention -+rootv - display TV using the Xvideo extension - .SH SYNOPSIS - .B rootv [ options ] - .SH DESCRIPTION -@@ -9,7 +9,7 @@ - but you can also ask it to use the root window (thus the name) or any - other window. - .B rootv --needs the Xvideo extention. -+needs the Xvideo extension. - .P - .B rootv - itself provides no way to control video/audio/tuner. You can use -diff -Nrbu xawtv-3.95/man/scantv.1 xawtv-3.95-OK/man/scantv.1 ---- xawtv-3.95/man/scantv.1 2003-02-14 17:14:07.000000000 +0300 -+++ xawtv-3.95-OK/man/scantv.1 2008-08-26 18:51:44.000000000 +0400 -@@ -18,7 +18,7 @@ - none is given. - .TP - .B -o outfile --specify \fBo\fPutput file. If none is specified, scantv write -+specify \fBo\fPutput file. If none is specified, scantv writes - to stdout. - .TP - .B -c device -diff -Nrbu xawtv-3.95/man/subtitles.1 xawtv-3.95-OK/man/subtitles.1 ---- xawtv-3.95/man/subtitles.1 2003-02-14 17:14:07.000000000 +0300 -+++ xawtv-3.95-OK/man/subtitles.1 2008-08-26 18:51:25.000000000 +0400 -@@ -8,7 +8,7 @@ - fetches the given teletext page with the alevt-cap utility and - displays it using xawtv-remote in an endless loop. It's most - useful for pages which carry subtitles for the current TV program. --It's page 150 in germany. -+It's page 150 in Germany. - .SH OPTIONS - .TP - .B -help -diff -Nrbu xawtv-3.95/man/v4l-conf.8 xawtv-3.95-OK/man/v4l-conf.8 ---- xawtv-3.95/man/v4l-conf.8 2003-02-14 17:14:07.000000000 +0300 -+++ xawtv-3.95-OK/man/v4l-conf.8 2008-08-26 18:51:25.000000000 +0400 -@@ -20,7 +20,7 @@ - knows three ways to get the informations: - .TP 3 - * --Query the X-Server using the XF86 DGA extention. This is the default -+Query the X-Server using the XF86 DGA extension. This is the default - if the DISPLAY environment variable is set. - .TP 3 - * -@@ -63,7 +63,7 @@ - work because the X-Server lacks DGA support. You can put this into - /etc/conf.modules, as "post-install bttv ..." for example. - .SH BUGS --Hope I havn't any security flaws in there. If you find one, drop me a -+Hope I haven't any security flaws in there. If you find one, drop me a - note. Mails with patches are preferred :-) - .SH SEE ALSO - xawtv(1), fbtv(1) -diff -Nrbu xawtv-3.95/man/webcam.1 xawtv-3.95-OK/man/webcam.1 ---- xawtv-3.95/man/webcam.1 2003-02-14 17:14:07.000000000 +0300 -+++ xawtv-3.95-OK/man/webcam.1 2008-08-26 18:51:25.000000000 +0400 -@@ -150,7 +150,7 @@ - paper "Correcting Distortion of Image by Image Registration" of Toru - Tamaki, Tsuyoshi Yamamura and Noboru Ahnishi. More your lens has an - important distortion, more 'distor_k' must be neared of 0. 700 is the --défault value. Coefficient k of program is x100 than article. -+default value. Coefficient k of program is x100 than article. - .TP - .B distor_cx = 192 - .TP -diff -Nrbu xawtv-3.95/man/xawtv-remote.1 xawtv-3.95-OK/man/xawtv-remote.1 ---- xawtv-3.95/man/xawtv-remote.1 2003-02-14 17:14:07.000000000 +0300 -+++ xawtv-3.95-OK/man/xawtv-remote.1 2008-08-26 18:51:25.000000000 +0400 -@@ -136,14 +136,14 @@ - .TP - .B vtx line1 line2 [ ... ] - Display subtitles. It pops up a small window at the bottom of the screen. --It is supported to be used as interface for displaying subtitles (often on --videotext page 150 in europe, thats why the name) by external programs. -+It is intended to be used as an interface for displaying subtitles (often on -+videotext page 150 in Europe, that's why the name) by external programs. - .br - Every command line argument is one line, zero lines removes the window. - You can colorize the text with the control sequence "ESC foreground - background". foreground/background has the range 0-7 (ansi term colors). - Example: "\\03347 hello world " is blue on white. "\\033" must be a real --escape character, the string does'nt work. With the bash you'll get it -+escape character, the string doesn't work. With the bash you'll get it - with ^V ESC. vtx does also understand the ANSI tty escape sequences for - color. - .TP -diff -Nrbu xawtv-3.95/man/xawtv.1 xawtv-3.95-OK/man/xawtv.1 ---- xawtv-3.95/man/xawtv.1 2003-02-14 17:14:07.000000000 +0300 -+++ xawtv-3.95-OK/man/xawtv.1 2008-08-26 18:51:25.000000000 +0400 -@@ -70,7 +70,7 @@ - .TP - \fB-remote\fP - X11 display is remote. This basically disables overlay mode, you --might need this if xawtv failes to autodetect a remote X11 display. -+might need this if xawtv fails to autodetect a remote X11 display. - .br - Resource: xawtv.remote (bool). - .TP -@@ -155,7 +155,7 @@ - more details and hints on how to setup Xvideo. - .SH GETTING STARTED - Just start xawtv. Then verify the settings in the options menu (right --mouse button) and adjust the settings (TV norm, Video source, freqency -+mouse button) and adjust the settings (TV norm, Video source, frequency - table). With the cursor keys you can control the tuner and look for - TV Stations. Other useful hotkeys are listed below. - .P -@@ -190,7 +190,7 @@ - Z Channel Hopper (\fIz\fPapping, tune in every - station a few seconds) - Ctrl+Z Fast Channel Hopping (grab the images for the -- Channel Bottons) -+ Channel Buttons) - - up/down tune up/down one channel - left/right fine tuning diff --git a/xawtv-3.95-no-dga.patch b/xawtv-3.95-no-dga.patch deleted file mode 100644 index 0298cef..0000000 --- a/xawtv-3.95-no-dga.patch +++ /dev/null @@ -1,120 +0,0 @@ -diff -Nrbu xawtv-3.95/console/v4l-conf.c xawtv-3.95-OK/console/v4l-conf.c ---- xawtv-3.95/console/v4l-conf.c 2005-02-09 15:27:36.000000000 +0300 -+++ xawtv-3.95-OK/console/v4l-conf.c 2008-08-26 19:35:18.000000000 +0400 -@@ -221,6 +221,21 @@ - } - } - -+#ifdef HAVE_LIBXXF86DGA -+static int dga_error = 0; -+static int dga_error_base; -+static int (*orig_xfree_error_handler)(Display *, XErrorEvent *); -+ -+static int dga_error_handler(Display *d, XErrorEvent *e) -+{ -+ if (e->error_code == (dga_error_base + XF86DGANoDirectVideoMode)) { -+ dga_error = 1; -+ return 0; -+ } -+ return orig_xfree_error_handler(d, e); -+} -+#endif -+ - static void - displayinfo_dga(Display *dpy, struct DISPLAYINFO *d) - { -@@ -228,7 +243,7 @@ - int width,bar,foo,major,minor,flags=0; - void *base = NULL; - -- if (!XF86DGAQueryExtension(dpy,&foo,&bar)) { -+ if (!XF86DGAQueryExtension(dpy,&foo,&dga_error_base)) { - fprintf(stderr,"WARNING: Your X-Server has no DGA support.\n"); - return; - } -@@ -240,7 +255,14 @@ - fprintf(stderr,"WARNING: No DGA support available for this display.\n"); - return; - } -+ orig_xfree_error_handler = XSetErrorHandler(dga_error_handler); - XF86DGAGetVideoLL(dpy,XDefaultScreen(dpy),(void*)&base,&width,&foo,&bar); -+ XSync(dpy, 0); -+ XSetErrorHandler(orig_xfree_error_handler); -+ if (dga_error) { -+ fprintf(stderr,"WARNING: No DGA direct video mode for this display.\n"); -+ return; -+ } - d->bpl = width * d->bpp/8; - d->base = base; - #else -diff -Nrbu xawtv-3.95/libng/plugins/drv0-v4l2.c xawtv-3.95-OK/libng/plugins/drv0-v4l2.c ---- xawtv-3.95/libng/plugins/drv0-v4l2.c 2008-08-26 19:31:52.000000000 +0400 -+++ xawtv-3.95-OK/libng/plugins/drv0-v4l2.c 2008-08-26 19:35:18.000000000 +0400 -@@ -593,7 +593,7 @@ - return -1; - - /* double-check settings */ -- if (NULL != base && h->ov_fb.base != base) { -+ if ((NULL != base && h->ov_fb.base != base) || h->ov_fb.base == NULL) { - fprintf(stderr,"v4l2: WARNING: framebuffer base address mismatch\n"); - fprintf(stderr,"v4l2: me=%p v4l=%p\n",base,h->ov_fb.base); - h->ov_error = 1; -diff -Nrbu xawtv-3.95/x11/xt.c xawtv-3.95-OK/x11/xt.c ---- xawtv-3.95/x11/xt.c 2005-01-11 12:26:43.000000000 +0300 -+++ xawtv-3.95-OK/x11/xt.c 2008-08-26 19:35:18.000000000 +0400 -@@ -1247,18 +1247,21 @@ - } - - /*----------------------------------------------------------------------*/ -+#ifdef HAVE_LIBXXF86DGA -+static int xfree_dga_error_base; -+#endif - - void - xfree_dga_init(Display *dpy) - { - #ifdef HAVE_LIBXXF86DGA -- int flags,foo,bar,ma,mi; -+ int flags,foo,ma,mi; - - if (!do_overlay) - return; - - if (args.dga) { -- if (XF86DGAQueryExtension(dpy,&foo,&bar)) { -+ if (XF86DGAQueryExtension(dpy,&foo,&xfree_dga_error_base)) { - XF86DGAQueryDirectVideo(dpy,XDefaultScreen(dpy),&flags); - if (flags & XF86DGADirectPresent) { - XF86DGAQueryVersion(dpy,&ma,&mi); -@@ -1348,6 +1351,19 @@ - #endif - } - -+#ifdef HAVE_LIBXXF86DGA -+static int (*orig_xfree_error_handler)(Display *, XErrorEvent *); -+ -+static int xfree_dga_error_handler(Display *d, XErrorEvent *e) -+{ -+ if (e->error_code == (xfree_dga_error_base + XF86DGANoDirectVideoMode)) { -+ have_dga = 0; -+ return 0; -+ } -+ return orig_xfree_error_handler(d, e); -+} -+#endif -+ - void - grabber_init() - { -@@ -1358,8 +1374,11 @@ - #ifdef HAVE_LIBXXF86DGA - if (have_dga) { - int bar,fred; -+ orig_xfree_error_handler = XSetErrorHandler(xfree_dga_error_handler); - XF86DGAGetVideoLL(dpy,XDefaultScreen(dpy),(void*)&base, - &screen.bytesperline,&bar,&fred); -+ XSync(dpy, 0); -+ XSetErrorHandler(orig_xfree_error_handler); - } - #endif - if (!do_overlay) { diff --git a/xawtv-3.95-open.patch b/xawtv-3.95-open.patch deleted file mode 100644 index 13109d1..0000000 --- a/xawtv-3.95-open.patch +++ /dev/null @@ -1,42 +0,0 @@ -diff -Nrbu xawtv-3.95/console/webcam.c xawtv-3.95-OK/console/webcam.c ---- xawtv-3.95/console/webcam.c 2005-09-30 14:07:58.000000000 +0400 -+++ xawtv-3.95-OK/console/webcam.c 2007-08-30 16:46:12.000000000 +0400 -@@ -813,7 +813,7 @@ - tmpdir = (NULL != getenv("TMPDIR")) ? getenv("TMPDIR") : "/tmp"; - list_for_each(item,&connections) { - s = list_entry(item, struct xfer_state, list); -- s->ops->open(s); -+ (s->ops->open)(s); - } - - /* print config */ -diff -Nrbu xawtv-3.95/libng/grab-ng.c xawtv-3.95-OK/libng/grab-ng.c ---- xawtv-3.95/libng/grab-ng.c 2003-03-28 15:19:28.000000000 +0300 -+++ xawtv-3.95-OK/libng/grab-ng.c 2007-08-30 16:49:19.000000000 +0400 -@@ -572,7 +572,7 @@ - continue; - if (ng_debug) - fprintf(stderr,"vid-open: trying: %s... \n", drv->name); -- if (NULL != (*handle = drv->open(device))) -+ if (NULL != (*handle = (drv->open)(device))) - break; - if (ng_debug) - fprintf(stderr,"vid-open: failed: %s\n",drv->name); -@@ -603,7 +603,7 @@ - continue; - if (ng_debug) - fprintf(stderr,"dsp-open: trying: %s... \n", drv->name); -- if (NULL != (*handle = drv->open(device,fmt,record))) -+ if (NULL != (*handle = (drv->open)(device,fmt,record))) - break; - if (ng_debug) - fprintf(stderr,"dsp-open: failed: %s\n", drv->name); -@@ -628,7 +628,7 @@ - drv = list_entry(item, struct ng_mix_driver, list); - if (ng_debug) - fprintf(stderr,"mix-init: trying: %s... \n", drv->name); -- if (NULL != (handle = drv->open(device))) { -+ if (NULL != (handle = (drv->open)(device))) { - if (NULL != (attrs = drv->volctl(handle,channel))) - break; - drv->close(handle); diff --git a/xawtv-3.95-oss.patch b/xawtv-3.95-oss.patch deleted file mode 100644 index 9c6ab72..0000000 --- a/xawtv-3.95-oss.patch +++ /dev/null @@ -1,19 +0,0 @@ -# A patch to avoid streamer exit when a read from oss sound returns EAGAIN -# -# Derived from the Debian's patch: -# 08_oss_audio.dpatch -# (which was written by Kristof Koehler -# - -diff -Nrbu xawtv-3.95/libng/plugins/snd-oss.c xawtv-3.95-OK/libng/plugins/snd-oss.c ---- xawtv-3.95/libng/plugins/snd-oss.c 2003-02-14 17:14:05.000000000 +0300 -+++ xawtv-3.95-OK/libng/plugins/snd-oss.c 2008-08-26 18:57:44.000000000 +0400 -@@ -441,7 +441,7 @@ - for (;;) { - rc = read(fd,buffer+count,blocksize-count); - if (rc < 0) { -- if (EINTR == errno) -+ if ((EINTR == errno) || (EAGAIN == errno)) - continue; - perror("oss: read"); - exit(1); diff --git a/xawtv-3.95-pagesize.patch b/xawtv-3.95-pagesize.patch deleted file mode 100644 index 0b44ef7..0000000 --- a/xawtv-3.95-pagesize.patch +++ /dev/null @@ -1,41 +0,0 @@ -diff -Nrbu xawtv-3.95/console/fbtools.c xawtv-3.95-OK/console/fbtools.c ---- xawtv-3.95/console/fbtools.c 2003-02-14 17:14:04.000000000 +0300 -+++ xawtv-3.95-OK/console/fbtools.c 2007-06-25 17:17:58.000000000 +0400 -@@ -21,8 +21,6 @@ - #include - #include - --#include -- - #include "fbtools.h" - - /* -------------------------------------------------------------------- */ -@@ -424,7 +422,7 @@ - goto err; - } - #endif -- fb_mem_offset = (unsigned long)(fb_fix.smem_start) & (~PAGE_MASK); -+ fb_mem_offset = (unsigned long)(fb_fix.smem_start) & (getpagesize()-1); - fb_mem = mmap(NULL,fb_fix.smem_len+fb_mem_offset, - PROT_READ|PROT_WRITE,MAP_SHARED,fb,0); - if (-1L == (long)fb_mem) { -diff -Nrbu xawtv-3.95/console/matrox.c xawtv-3.95-OK/console/matrox.c ---- xawtv-3.95/console/matrox.c 2005-02-03 13:40:41.000000000 +0300 -+++ xawtv-3.95-OK/console/matrox.c 2007-06-25 17:19:02.000000000 +0400 -@@ -9,7 +9,6 @@ - #include - #include - --#include /* PAGE_SIZE */ - #include - - #include "byteswap.h" -@@ -226,7 +225,7 @@ - return -1; - } - off = (unsigned long)fb_fix.mmio_start - -- ((unsigned long)fb_fix.mmio_start & ~(PAGE_SIZE-1)); -+ ((unsigned long)fb_fix.mmio_start & ~(getpagesize()-1)); - bmmio += off; - mmio = (uint32_t*)bmmio; - return 0; diff --git a/xawtv-3.95-region.patch b/xawtv-3.95-region.patch deleted file mode 100644 index a4b54dc..0000000 --- a/xawtv-3.95-region.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff -Nrbu xawtv-3.95/common/vbi-data.c xawtv-3.95-OK/common/vbi-data.c ---- xawtv-3.95/common/vbi-data.c 2003-02-14 17:14:04.000000000 +0300 -+++ xawtv-3.95-OK/common/vbi-data.c 2007-03-01 20:33:44.000000000 +0300 -@@ -48,6 +48,18 @@ - if (NULL == vbi->dec) - goto oops; - -+ /* -+ * Give the user possibility to change default zvbi region (16, West-Europe) -+ * Sometimes the region value just not reported in the stream etc... -+ */ -+ if (1) { -+ char *env = getenv("ALEVTD_REGION"); -+ unsigned int region; -+ -+ if (env && (region = strtoul(env,NULL,0)) != 0) -+ vbi_teletext_set_default_region(vbi->dec,region); -+ } -+ - if (vbi->sim) { - vbi->par = init_sim(625,services); - /* simulation for select */ diff --git a/xawtv-3.95-scantv.patch b/xawtv-3.95-scantv.patch deleted file mode 100644 index bd890e9..0000000 --- a/xawtv-3.95-scantv.patch +++ /dev/null @@ -1,87 +0,0 @@ -# Allow scantv(1) to use different (not Television only) card input. -# -# Derived from the Debian patch: -# 14_scantv_input_override.dpatch -# (which was written by Adrian Phillips -# plus add required changes in the manual -# - -diff -Nrbu xawtv-3.95/console/scantv.c xawtv-3.95-OK/console/scantv.c ---- xawtv-3.95/console/scantv.c 2005-09-30 14:07:02.000000000 +0400 -+++ xawtv-3.95-OK/console/scantv.c 2008-08-26 19:03:30.000000000 +0400 -@@ -116,6 +116,7 @@ - "options:\n" - " -h print this text\n" - " -o outfile set output file. [%s]\n" -+ " -i input set input.\n" - " -n norm set tv norm.\n" - " -f table set frequency table.\n" - " -c device set video device file. [%s]\n" -@@ -137,6 +138,7 @@ - unsigned int f,f1,f2,fc; - char *name,dummy[32]; - char *tvnorm = NULL; -+ char *tvinput = NULL; - char *freqtab = NULL; - char *outfile = NULL; - FILE *conf = stdout; -@@ -144,7 +146,7 @@ - /* parse options */ - ng_init(); - for (;;) { -- if (-1 == (c = getopt(argc, argv, "hsadn:f:o:c:C:"))) -+ if (-1 == (c = getopt(argc, argv, "hsadi:n:f:o:c:C:"))) - break; - switch (c) { - case 'd': -@@ -156,6 +158,9 @@ - case 'a': - fullscan=1; - break; -+ case 'i': -+ tvinput = optarg; -+ break; - case 'n': - tvnorm = optarg; - break; -@@ -203,12 +208,15 @@ - attr = ng_attr_byid(attrs,ATTR_ID_NORM); - i = menu("please select your TV norm",attr->choices,tvnorm); - j = menu("please select a frequency table",chanlist_names,freqtab); -+ if (tvinput == NULL) { -+ tvinput = "Television"; -+ } - - fprintf(conf,"[global]\n"); - fprintf(conf,"freqtab = %s\n",chanlist_names[j].str); - fprintf(conf,"\n"); - fprintf(conf,"[defaults]\n"); -- fprintf(conf,"input = Television\n"); -+ fprintf(conf,"input = %s\n", tvinput); - fprintf(conf,"norm = %s\n",ng_attr_getstr(attr,i)); - fprintf(conf,"\n"); - fflush(conf); -@@ -220,7 +228,7 @@ - exit(0); - } - set_defaults(); -- do_va_cmd(2,"setinput","television"); -+ do_va_cmd(2,"setinput",tvinput); - do_va_cmd(2,"setnorm",ng_attr_getstr(attr,i)); - do_va_cmd(2,"setfreqtab",chanlist_names[j].str); - -diff -Nrbu xawtv-3.95/man/scantv.1 xawtv-3.95-OK/man/scantv.1 ---- xawtv-3.95/man/scantv.1 2008-08-26 19:01:50.000000000 +0400 -+++ xawtv-3.95-OK/man/scantv.1 2008-08-26 19:12:58.000000000 +0400 -@@ -9,6 +9,11 @@ - xawtv/fbtv config file. - .SH OPTIONS - .TP -+.B -i input -+set tv \fBi\fPnput (Television/Composite1/S-video and so on). -+Default is Television. (Currently it is a distro-specific option -+added by Fedora and Debian). -+.TP - .B -n norm - set tv \fBn\fPorm. scantv will ask interactively if - none is given. diff --git a/xawtv-3.95-strip.patch b/xawtv-3.95-strip.patch deleted file mode 100644 index 78fb68a..0000000 --- a/xawtv-3.95-strip.patch +++ /dev/null @@ -1,48 +0,0 @@ -diff -Nrbu xawtv-3.95/Makefile.in xawtv-3.95-OK/Makefile.in ---- xawtv-3.95/Makefile.in 2004-04-22 18:52:29.000000000 +0400 -+++ xawtv-3.95-OK/Makefile.in 2008-07-21 20:00:12.000000000 +0400 -@@ -19,7 +19,7 @@ - CC := @CC@ - CXX := @CXX@ - INSTALL := @INSTALL@ --INSTALL_PROGRAM := @INSTALL_PROGRAM@ -s -+INSTALL_PROGRAM := @INSTALL_PROGRAM@ - INSTALL_DATA := @INSTALL_DATA@ - INSTALL_DIR := @INSTALL@ -d -m 755 - -diff -Nrbu xawtv-3.95/libng/plugins/Subdir.mk xawtv-3.95-OK/libng/plugins/Subdir.mk ---- xawtv-3.95/libng/plugins/Subdir.mk 2003-02-14 17:14:05.000000000 +0300 -+++ xawtv-3.95-OK/libng/plugins/Subdir.mk 2008-07-21 20:00:12.000000000 +0400 -@@ -47,7 +47,7 @@ - - install:: - $(INSTALL_DIR) $(libdir) -- $(INSTALL_PROGRAM) -s $(TARGETS-plugins) $(libdir) -+ $(INSTALL_PROGRAM) $(TARGETS-plugins) $(libdir) - rm -f $(GONE-plugins) - - clean:: -diff -Nrbu xawtv-3.95/vbistuff/Subdir.mk xawtv-3.95-OK/vbistuff/Subdir.mk ---- xawtv-3.95/vbistuff/Subdir.mk 2003-02-14 17:14:08.000000000 +0300 -+++ xawtv-3.95-OK/vbistuff/Subdir.mk 2008-07-21 20:00:12.000000000 +0400 -@@ -32,7 +32,7 @@ - all:: $(TARGETS-vbistuff) - - install:: -- $(INSTALL_PROGRAM) -s $(TARGETS-vbistuff) $(bindir) -+ $(INSTALL_PROGRAM) $(TARGETS-vbistuff) $(bindir) - - clean:: - rm -f $(HTML-alevtd) -diff -Nrbu xawtv-3.95/x11/Subdir.mk xawtv-3.95-OK/x11/Subdir.mk ---- xawtv-3.95/x11/Subdir.mk 2005-01-05 13:25:03.000000000 +0300 -+++ xawtv-3.95-OK/x11/Subdir.mk 2008-07-21 20:00:12.000000000 +0400 -@@ -146,7 +146,7 @@ - - ifeq ($(FOUND_X11),yes) - install:: -- $(INSTALL_PROGRAM) -s $(TARGETS-x11) $(bindir) -+ $(INSTALL_PROGRAM) $(TARGETS-x11) $(bindir) - $(INSTALL_DIR) $(resdir)/app-defaults - $(INSTALL_DATA) $(srcdir)/x11/Xawtv.ad $(resdir)/app-defaults/Xawtv - endif diff --git a/xawtv-3.95-v4l2-old-drop.patch b/xawtv-3.95-v4l2-old-drop.patch deleted file mode 100644 index 9b53d25..0000000 --- a/xawtv-3.95-v4l2-old-drop.patch +++ /dev/null @@ -1,19 +0,0 @@ -diff -Nrbu xawtv-3.95/libng/plugins/Subdir.mk xawtv-3.95-OK/libng/plugins/Subdir.mk ---- xawtv-3.95/libng/plugins/Subdir.mk 2008-08-26 19:55:00.000000000 +0400 -+++ xawtv-3.95-OK/libng/plugins/Subdir.mk 2008-08-26 19:58:40.000000000 +0400 -@@ -21,7 +21,6 @@ - ifeq ($(FOUND_OS),linux) - TARGETS-plugins += \ - libng/plugins/drv0-v4l2.so \ -- libng/plugins/drv0-v4l2-old.so \ - libng/plugins/drv1-v4l.so \ - libng/plugins/snd-oss.so - endif -@@ -55,7 +54,6 @@ - - libng/plugins/conv-mjpeg.so: libng/plugins/conv-mjpeg.o - libng/plugins/drv0-bsd.so: libng/plugins/drv0-bsd.o --libng/plugins/drv0-v4l2-old.so: libng/plugins/drv0-v4l2-old.o - libng/plugins/flt-debug.so: libng/plugins/flt-debug.o - libng/plugins/flt-disor.so: libng/plugins/flt-disor.o - libng/plugins/flt-gamma.so: libng/plugins/flt-gamma.o diff --git a/xawtv.spec b/xawtv.spec index 2d01a68..bf1fbe8 100644 --- a/xawtv.spec +++ b/xawtv.spec @@ -1,37 +1,16 @@ -%define libv4l 0%{!?_without_libv4l:1} - Summary: TV applications for video4linux compliant devices Name: xawtv -Version: 3.95 -Release: 13%{?dist} +Version: 3.99.rc5 +Release: 1%{?dist} Group: Applications/Multimedia License: GPLv2+ -URL: http://bytesex.org/xawtv/ +URL: http://git.linuxtv.org/xawtv3.git -Source0: http://dl.bytesex.org/releases/xawtv/%{name}-%{version}.tar.gz +Source0: http://linuxtv.org/downloads/xawtv/%{name}-%{version}.tar.bz2 Source1: xawtv.desktop -Patch0: xawtv-3.95-strip.patch -Patch1: xawtv-3.95-curses-utf8.patch -Patch2: xawtv-3.95-gcc4.patch -Patch3: xawtv-3.95-font.patch -Patch4: xawtv-3.95-region.patch -Patch5: xawtv-3.95-pagesize.patch -Patch6: xawtv-3.95-open.patch -Patch7: xawtv-3.95-man.patch -Patch8: xawtv-3.95-oss.patch -Patch9: xawtv-3.95-scantv.patch -Patch10: xawtv-3.95-fixes.patch -Patch11: xawtv-3.95-no-dga.patch -Patch12: xawtv-3.95-bpl.patch -Patch13: xawtv-3.95-v4l2-old-drop.patch - -# add libv4l2 layer... -Patch100: xawtv-3.95-libv4l2.patch - - BuildRequires: mesa-libGL-devel, libXaw-devel, libXext-devel -BuildRequires: libFS-devel, libXft-devel, libXinerama-devel +BuildRequires: libXft-devel, libXinerama-devel BuildRequires: libXpm-devel, libXrandr-devel, libXt-devel BuildRequires: libXxf86dga-devel, libXv-devel @@ -43,9 +22,9 @@ BuildRequires: libdv-devel BuildRequires: zvbi-devel, aalib-devel BuildRequires: gpm-devel, slang-devel BuildRequires: autoconf, desktop-file-utils -%{!?_without_libv4l:BuildRequires: libv4l-devel} +BuildRequires: libv4l-devel -Requires: usermode xorg-x11-fonts-ISO8859-1-75dpi urw-fonts +Requires: usermode xorg-x11-fonts-misc BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) @@ -59,24 +38,6 @@ Xawtv also includes a grabber driver for vic. %prep %setup -q -%patch0 -p1 -b .strip -%patch1 -p1 -b .curses-utf8 -%patch2 -p1 -b .gcc4 -%patch3 -p1 -b .font -%patch4 -p1 -b .region -%patch5 -p1 -b .pagesize -%patch6 -p1 -b .open -%patch7 -p1 -b .man -%patch8 -p1 -b .oss -%patch9 -p1 -b .scantv -%patch10 -p1 -b .fixes -%patch11 -p1 -b .no-dga -%patch12 -p1 -b .bpl -%patch13 -p1 -b .v4l2-old-drop -%{!?_without_libv4l:%patch100 -p1 -b .libv4l} - -sed -i -e 's,/usr/X11R6/lib/X11,%{_datadir}/X11,g' configure.ac -sed -i -e 's,/usr/X11R6/include/X11,%{_includedir}/X11,g' Makefile.in autoconf autoheader @@ -86,19 +47,14 @@ autoheader export CFLAGS="$RPM_OPT_FLAGS -Wno-pointer-sign" -%configure --x-libraries=%{_libdir} --disable-motif --disable-quicktime -make - -for man in `find man -name "*.[1-9]" -print` -do - iconv -f ISO8859-1 -t UTF-8 <$man >$man.new && mv -f $man.new $man -done +%configure --disable-motif --disable-quicktime +make verbose=yes %install rm -rf $RPM_BUILD_ROOT -make DESTDIR=$RPM_BUILD_ROOT resdir=$RPM_BUILD_ROOT%{_datadir}/X11 SUID_ROOT="" install +make DESTDIR=$RPM_BUILD_ROOT SUID_ROOT="" install # we have no motif support rm -f $RPM_BUILD_ROOT%{_mandir}/*/motv.* @@ -164,286 +120,6 @@ rm -fr $RPM_BUILD_ROOT %changelog -* Fri Mar 12 2010 Hans de Goede 3.95-13 -- Fix xawtv not starting due to it not finding its fonts +* Thu Feb 3 2011 Dmitry Butskoy - 3.99.rc5-1 +- Initial RHEL6 version -* Mon Jul 27 2009 Fedora Release Engineering - 3.95-12.1 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild - -* Thu May 07 2009 Karsten Hopp 3.95-11.1 -- we have no libdv on mainframe, don't require that on s390(x) - -* Thu Feb 26 2009 Fedora Release Engineering - 3.95-11 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild - -* Tue Aug 26 2008 Dmitry Butskoy - 3.95-10 -- fix some typos in manuals (patch7, derived from Debian) -- fix recording from oss (patch8, derived from Debian) -- allow scantv to use another card's input (patch9, derived from Debian) -- some v4l2 code fixes (patch10, Hans de Goede ) -- skip dga automatically when not available (patch11, Hans de Goede) -- specifying of bpl pitch for v4l-conf (patch12, Hans de Goede) -- drop drv0-v4l2-old.so driver (assume not needed anyway now) -- optional (default yes) build with libv4l wrapper library - (patch100, Hans de Goede ) - -* Mon Jul 21 2008 Dmitry Butskoy - 3.95-9 -- rebuild for new gpm -- update strip patch - -* Tue Feb 19 2008 Dmitry Butskoy - 3.95-8 -- add gpm-devel and slang-devel to BuildRequires -- rebuild for GCC 4.3 - -* Thu Aug 30 2007 Dmitry Butskoy - 3.95-7 -- add patch for "open(2) call now is a macro" issue (#265081). - -* Tue Aug 28 2007 Fedora Release Engineering - 3.95-6 -- Rebuild for selinux ppc32 issue. - -* Fri Aug 17 2007 Dmitry Butskoy -- Change License tag to GPLv2+ - -* Wed Jul 25 2007 Jeremy Katz - 3.95-5 -- rebuild for toolchain bug - -* Tue Jul 24 2007 Dmitry Butskoy - 3.95-4 -- don't assume v4l-conf as system config util (#249130) - -* Tue Jun 26 2007 Dmitry Butskoy -- drop X-Fedora category from desktop file - -* Mon Jun 25 2007 Dmitry Butskoy - 3.95-3 -- add patch for use getpagesize() instead of a kernel headers macro - -* Thu Jun 21 2007 Dmitry Butskoy - 3.95-1 -- spec file cleanup -- accepted for Fedora (review by Jason Tibbitts ) - -* Thu Mar 1 2007 Dmitry Butskoy - 3.95-0 -- upgrade to 3.95 -- adapt for Fedora Extras, spec file cleanups -- add UTF-8 support for console apps -- drop tv-fonts package (you can use zvbi-fonts package for that purpose), - bitstream-vera is now a default for "big" fullscreen-mode fonts. -- add desktop entry and icons -- add ALEVTD_REGION environment to change default teletext's region - - -* Tue Oct 21 2003 Florian La Roche -- add BuildReq for fontconfig-devel and freetype-devel, these seem - to get picked up - -* Mon Sep 01 2003 Than Ngo 3.88-5 -- Added missing BuildRequires for libpng-devel (bug #103447) - -* Tue Jun 17 2003 Than Ngo 3.88-4 -- fixed permission problem (bug #90921) - -* Tue Jun 17 2003 Than Ngo 3.88-3 -- rebuilt - -* Wed Jun 04 2003 Elliot Lee -- rebuilt - -* Tue May 6 2003 Than Ngo 3.88-1 -- 3.88 - -* Thu Mar 3 2003 Than Ngo 3.85-1 -- 3.85, (#85557, #81588, #74684, #61717) -- own /usr/lib/xawtv, (bug #73981) -- dependency on libjpeg-devel, (bug #48925) -- include alevtd daemon (bug #53878) -- create default configuration by install (bug #73270) - -* Sun Feb 10 2003 Than Ngo 3.81-6 -- install correct pam file, #83820 - -* Mon Jan 27 2003 Than Ngo 3.81-5 -- fix #81791 - -* Wed Jan 22 2003 Tim Powers -- rebuilt - -* Tue Jan 21 2003 Than Ngo 3.81-3 -- fix #81851 - -* Mon Dec 16 2002 Than Ngo 3.81-2 -- rebuild - -* Fri Dec 13 2002 Than Ngo 3.81-1 -- update 3.81 -- move bitmap fonts to bitmap-fonts package - -* Tue Nov 12 2002 Nalin Dahyabhai 3.78-2 -- adjust PAM configuration to not use absolute paths so that the right module - set gets used for the current arch on multilib systems - -* Thu Nov 7 2002 Than Ngo 3.78-1 -- 3.78 - -* Fri Jun 21 2002 Tim Powers -- automated rebuild - -* Thu Jun 20 2002 Than Ngo 3.74-3 -- Don't forcibly strip binaries - -* Sun May 26 2002 Tim Powers -- automated rebuild - -* Thu May 23 2002 Harald Hoyer -- 3.74 - -* Sun Apr 07 2002 han Ngo 3.73-3 -- remove motv manpage (#62771) - -* Tue Apr 2 2002 Than Ngo 3.73-2 -- get rid of openmotif - -* Sun Mar 24 2002 Than Ngo 3.73-1 -- update -- fix bug #61719 - -* Fri Mar 22 2002 Tim Powers -- rebuilt motv against new openmotif-2.2.2 - -* Tue Feb 26 2002 Than Ngo 3.72-1 -- update to 3.72 - -* Tue Feb 19 2002 Bernhard Rosenkraenzer 3.71-1 -- 3.71 - -* Fri Jan 18 2002 Than Ngo 3.68-1 -- update to 3.68 -- enable XFree extensions -- fix Url -- add missing plugins - -* Wed Dec 5 2001 Than Ngo 3.65-1 -- update to 3.65 -- fix build on ia64 - -* Wed Nov 14 2001 Than Ngo 3.64-1 -- update to 3.64 - -* Mon Sep 17 2001 Than Ngo 3.62-1 -- update to 3.62 (bug #53711 #52847) - -* Tue Aug 28 2001 Than Ngo 3.54-5 -- fix spec file bug (Bug #52675) - -* Fri Aug 10 2001 Than Ngo 3.54-4 -- add requires usermode (bug #51474) - -* Sun Aug 5 2001 Nalin Dahyabhai 3.54-3 -- tweak PAM setup so that v4l-conf can access the display properly - -* Tue Jul 10 2001 Elliot Lee 3.54-2 -- Rebuild to remove libXv/libXxf86dga deps - -* Mon Jul 02 2001 Than Ngo -- update to 3.54 - -* Fri Jun 22 2001 Than Ngo -- update to 3.53 -- add buildprereq -- remove some uneeeded patches - -* Tue Jun 19 2001 Karsten Hopp -- excludearch s390 s390x - -* Wed Jun 13 2001 Than Ngo -- update to 3.51 - -* Thu Jun 07 2001 Than Ngo -- update to 3.50 - -* Thu May 31 2001 Than Ngo -- udate to 3.49 - -* Tue May 22 2001 Than Ngo -- update to 3.48 - -* Mon May 21 2001 Tim Powers -- built for the distro - -* Wed May 18 2001 Karsten Hopp -- make xawtv work with kernel-2.4 - -* Wed May 16 2001 Than Ngo -- update to 3.47 - -* Mon May 07 2001 Than Ngo -- update to 3.45 -- add missing fonts - -* Tue Feb 13 2001 Than Ngo -- update to 3.34 -- use consolehelper for v4l-conf -- add excludearch sparc, bdftopcf is broken on sparc - -* Wed Jan 24 2001 Than Ngo -- updated to 3.30 -- use /dev/video0 instead /dev/video (bug #24871) -- fixed dependencies (Bug #24881) - -* Sun Nov 19 2000 Than Ngo -- update to 3.24 -- add missing tools (rootv,scantv) -- add missing prereq on xset and mkfontdir - -* Fri Nov 3 2000 Than Ngo -- update to 3.23 - -* Wed Aug 23 2000 Tim Powers -- rebuilt against new XFree86 to fix DGA problems - -* Mon Aug 21 2000 Than Ngo -- update to 3.18 (Bugfix release) -- option -nodga to disable DGA (Bug #16577, #15702) -- compress fonts with gzip - -* Mon Aug 07 2000 Tim Powers -- fixed bug #15435 - -* Mon Aug 07 2000 Than Ngo -- rebuilt against the new DGA -- fixed in post and postun, so that it does not - emits to console (Bug #15436) - - -* Sat Jul 29 2000 Than Ngo -- update to 3.17 - -* Mon Jul 24 2000 Prospector -- rebuilt - -* Wed Jul 12 2000 Than Ngo -- FHS fixes - -* Mon Jul 03 2000 Prospector -- automatic rebuild - -* Sun May 28 2000 Ngo Than -- update to 3.14 for 7.0 -- put man page in correct place -- add webcam -- bzip2 source -- cleanup specfile - -* Wed Jan 19 2000 Preston Brown -- font fix (#8610) in post and postun -- add missing files in bin - -* Sun Jan 16 2000 Preston Brown -- whoops! 3.07 already bugfix release - -* Fri Jan 14 2000 Ngo Than -- updated to 3.06 - -* Mon Jul 26 1999 Tim Powers -- updated to 2.46 -- built for 6.1 - -* Wed Apr 28 1999 Preston Brown -- initial build for Powertools 6.0 From f6e0311c40873100315d0287292e6bf80190f520 Mon Sep 17 00:00:00 2001 From: Mauro Carvalho Chehab Date: Fri, 4 Feb 2011 13:15:43 -0200 Subject: [PATCH 06/20] Currently, zvbi-devel is not on standard epel6 repositories For the first build, don't require zvbi-devel Signed-off-by: Mauro Carvalho Chehab --- xawtv.spec | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/xawtv.spec b/xawtv.spec index bf1fbe8..56459f4 100644 --- a/xawtv.spec +++ b/xawtv.spec @@ -19,10 +19,12 @@ BuildRequires: alsa-lib-devel %ifnarch s390 s390x BuildRequires: libdv-devel %endif -BuildRequires: zvbi-devel, aalib-devel +BuildRequires: aalib-devel BuildRequires: gpm-devel, slang-devel BuildRequires: autoconf, desktop-file-utils BuildRequires: libv4l-devel +# Currently, not available on epel repository +# BuildRequires: zvbi-devel Requires: usermode xorg-x11-fonts-misc From 3af9a2095c7897da6f032ea51b3888daa00b8c5e Mon Sep 17 00:00:00 2001 From: Mauro Carvalho Chehab Date: Fri, 4 Feb 2011 13:23:13 -0200 Subject: [PATCH 07/20] Disable aalib support for EPEL Error: No Package found for aalib-devel Signed-off-by: Mauro Carvalho Chehab --- xawtv.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xawtv.spec b/xawtv.spec index 56459f4..44227fa 100644 --- a/xawtv.spec +++ b/xawtv.spec @@ -19,12 +19,12 @@ BuildRequires: alsa-lib-devel %ifnarch s390 s390x BuildRequires: libdv-devel %endif -BuildRequires: aalib-devel BuildRequires: gpm-devel, slang-devel BuildRequires: autoconf, desktop-file-utils BuildRequires: libv4l-devel # Currently, not available on epel repository # BuildRequires: zvbi-devel +# BuildRequires: aalib-devel Requires: usermode xorg-x11-fonts-misc From ff4d7013b991677e3c0165ea2ad9dfcdee5f26df Mon Sep 17 00:00:00 2001 From: Mauro Carvalho Chehab Date: Fri, 4 Feb 2011 13:34:23 -0200 Subject: [PATCH 08/20] Remove the last bits from FSlib Let's try this first on el6, and then move this patch upstream Signed-off-by: Mauro Carvalho Chehab --- xawtv.spec | 2 ++ 1 file changed, 2 insertions(+) diff --git a/xawtv.spec b/xawtv.spec index 44227fa..5b174f3 100644 --- a/xawtv.spec +++ b/xawtv.spec @@ -8,6 +8,7 @@ URL: http://git.linuxtv.org/xawtv3.git Source0: http://linuxtv.org/downloads/xawtv/%{name}-%{version}.tar.bz2 Source1: xawtv.desktop +Patch0: xawtv_more_fslib_removal.patch BuildRequires: mesa-libGL-devel, libXaw-devel, libXext-devel BuildRequires: libXft-devel, libXinerama-devel @@ -40,6 +41,7 @@ Xawtv also includes a grabber driver for vic. %prep %setup -q +%patch0 -p1 autoconf autoheader From 051dfa09e0fd7389f4e14f4571e5c90dc034586e Mon Sep 17 00:00:00 2001 From: Mauro Carvalho Chehab Date: Fri, 4 Feb 2011 13:37:59 -0200 Subject: [PATCH 09/20] Forgot to add the patch ;) Signed-off-by: Mauro Carvalho Chehab --- xawtv_more_fslib_removal.patch | 50 ++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 xawtv_more_fslib_removal.patch diff --git a/xawtv_more_fslib_removal.patch b/xawtv_more_fslib_removal.patch new file mode 100644 index 0000000..d7c0560 --- /dev/null +++ b/xawtv_more_fslib_removal.patch @@ -0,0 +1,50 @@ +diff --git a/console/fs.h b/console/fs.h +index 290a00b..c0c2a32 100644 +--- a/console/fs.h ++++ b/console/fs.h +@@ -1,4 +1,3 @@ +-#ifndef X_DISPLAY_MISSING + # include + + struct fs_font { +@@ -17,40 +16,6 @@ struct fs_font { + unsigned char **gindex; + }; + +-#else +- +-typedef struct _FSXCharInfo { +- short left; +- short right; +- short width; +- short ascent; +- short descent; +- //unsigned short attributes; +-} FSXCharInfo; +- +-typedef struct _FSXFontInfoHeader { +- //int flags; +- //FSRange char_range; +- //unsigned draw_direction; +- //FSChar2b default_char; +- FSXCharInfo min_bounds; +- FSXCharInfo max_bounds; +- short font_ascent; +- short font_descent; +-} FSXFontInfoHeader; +- +-struct fs_font { +- FSXFontInfoHeader fontHeader; +- //unsigned char *propData; +- FSXCharInfo *extents; +- unsigned char *glyphs; +- int maxenc,width,height; +- FSXCharInfo **eindex; +- unsigned char **gindex; +-}; +- +-#endif +- + /* ------------------------------------------------------------------ */ + + int fs_init_fb(int white8); From 321f44893ea3072af2a11ee2896aaf58147a00af Mon Sep 17 00:00:00 2001 From: Mauro Carvalho Chehab Date: Fri, 4 Feb 2011 13:49:41 -0200 Subject: [PATCH 10/20] The fslib removal patch was incomplete. fix it. Signed-off-by: Mauro Carvalho Chehab --- xawtv_more_fslib_removal.patch | 282 +++++++++++++++++++++++++++++---- 1 file changed, 251 insertions(+), 31 deletions(-) diff --git a/xawtv_more_fslib_removal.patch b/xawtv_more_fslib_removal.patch index d7c0560..d6570f9 100644 --- a/xawtv_more_fslib_removal.patch +++ b/xawtv_more_fslib_removal.patch @@ -1,48 +1,268 @@ +diff --git a/Makefile b/Makefile +index c19f663..bb0d13b 100644 +--- a/Makefile ++++ b/Makefile +@@ -1,25 +1,170 @@ ++srcdir := . ++VPATH := $(srcdir) + +-# passed to configure +-prefix = /usr/local ++# for package builds (buildroot install + no root privs needed) ++DESTDIR= ++SUID_ROOT=-m4755 -o root ++STRIP_FLAG= + +-# arch name -- for build directory +-arch := $(shell echo "arch-`uname -m`-`uname -s`" | tr "A-Z" "a-z") ++# install paths ++prefix := /usr/local ++exec_prefix := ${prefix} ++bindir := $(DESTDIR)${exec_prefix}/bin ++mandir := $(DESTDIR)${prefix}/share/man ++libdir := $(DESTDIR)${exec_prefix}/lib/xawtv ++datadir := $(DESTDIR)${prefix}/share/xawtv ++resdir := $(DESTDIR)/usr/share/X11 ++config := /etc/X11/xawtvrc + ++# programs ++CC := gcc ++CXX := g++ ++INSTALL := /usr/bin/install -c ++INSTALL_PROGRAM := ${INSTALL} $(STRIP_FLAG) ++INSTALL_DATA := ${INSTALL} -m 644 ++INSTALL_DIR := /usr/bin/install -c -d -m 755 ++ ++# misc ++VERSION := 3.99.rc5 ++ ++# for CFLAGS ++WARN_FLAGS := -Wall -Wmissing-prototypes -Wstrict-prototypes -Wpointer-arith ++LFS_FLAGS := -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 ++X11_FLAGS := -I/usr/include/freetype2 -I/usr/include/X11/fonts ++LIB_FLAGS := -I. -I./vbistuff -I./x11 \ ++ -I$(srcdir)/jwz -I$(srcdir)/common -I$(srcdir)/console \ ++ -I$(srcdir)/x11 -I$(srcdir)/structs \ ++ -I$(srcdir)/libng -Llibng ++ ++# various libraries ++ATHENA_LIBS := -lXft -lXrender -lfreetype -lX11 -lfontconfig -lXv -lXrandr -lXrender -lXinerama -lXxf86vm -lXxf86dga -lXaw -lXmu -lXt -lSM -lICE -lXpm -lXext -lX11 ++MOTIF_LIBS := -lXft -lXrender -lfreetype -lX11 -lfontconfig -lXv -lXrandr -lXrender -lXinerama -lXxf86vm -lXxf86dga -lXm -lXmu -lXt -lSM -lICE \ ++ -lXp -lXpm -lXext -lX11 ++THREAD_LIBS := -lpthread ++CURSES_LIBS := -lncursesw ++LIRC_LIBS := -llirc_client ++OSS_LIBS := ++ALSA_LIBS := -lasound ++AA_LIBS := -L/usr/lib64 -Wl,-rpath,/usr/lib -laa -lm -lX11 -lgpm -lncurses ++QT_LIBS := -lquicktime -ldl -Wl,-E -lglib-2.0 -lm ++QT_FLAGS := -I/usr/include/lqt ++VBI_LIBS := -lzvbi -lpthread -lm -lpng -lz ++GL_LIBS := -lGL -lm ++DV_LIBS := -ldv -lm ++DLFLAGS := -ldl -Wl,-E ++ ++# stuff configure has found ++FOUND_AALIB := yes ++FOUND_ALSA := yes ++FOUND_DV := yes ++FOUND_GL := yes ++FOUND_LQT := yes ++FOUND_MOTIF := yes ++FOUND_OS := linux ++FOUND_X11 := yes ++FOUND_ZVBI := yes ++USE_MMX := no ++LIBV4L := yes ++ ++# build final cflags ++CFLAGS := -g -O2 -I/usr/include/ncursesw ++CFLAGS += $(WARN_FLAGS) ++CFLAGS += $(LFS_FLAGS) ++CFLAGS += $(X11_FLAGS) ++CFLAGS += $(LIB_FLAGS) ++CFLAGS += $(QT_FLAGS) ++CFLAGS += -DCONFIGFILE='"$(config)"' ++CFLAGS += -DLIBDIR='"$(libdir)"' ++CFLAGS += -DDATADIR='"$(datadir)"' ++CFLAGS += -DVERSION='"$(VERSION)"' ++CXXFLAGS := $(CFLAGS) ++ ++# for gcc3 ++#CFLAGS += -std-gnu99 ++ ++# shared objects need -fPIC ++%.so : CFLAGS += -fPIC ++%.so : CXXFLAGS += -fPIC ++ ++# libraries ++LDLIBS := ++ ++ ++######################################################### + # targets +-build all install: $(arch)/Makefile configure +- $(MAKE) -C $(arch) $@ + +-clean distclean: +- -test -d "$(arch)" && rm -rf "$(arch)" ++build: all ++ ++Makefile: $(srcdir)/Makefile.in $(srcdir)/configure ++ $(srcdir)/configure ++ ++$(srcdir)/configure: $(srcdir)/configure.ac ++ (cd $(srcdir); autoconf && autoheader && rm -rf autom4te.cache) ++ ++install:: all ++ $(INSTALL_DIR) $(bindir) ++ ++clean:: ++ find . -name \*~ -print | xargs rm -f ++ find . -name \*.o -print | xargs rm -f ++ find . -name \*.a -print | xargs rm -f ++ find . -name \*.dep -print | xargs rm -f ++ rm -f $(depfiles) ++ ++distclean:: clean ++ -rm -f Makefile Make.config ++ -rm -f config.cache config.h config.log config.status ++ cp Makefile.clean Makefile ++ ++realclean:: distclean ++ find . -name snap0*.ppm -print | xargs -i rm -f ++ find . -name snap0*.jpeg -print | xargs -i rm -f ++ find . -name .nfs* -print | xargs -i rm -f ++ find . -name core.* -print | xargs -i rm -f ++ ++ ++######################################################### ++# some rules ... ++ ++include $(srcdir)/mk/Compile.mk ++ ++%.h: %.in ++ perl $(srcdir)/scripts/html.pl < $< > $@ ++ ++%.h: %.ad ++ perl $(srcdir)/scripts/fallback.pl < $< > $@ ++ ++ ++######################################################### ++# include stuff ++ ++# must come first ++include $(srcdir)/common/Subdir.mk ++ ++# subdirs ++include $(srcdir)/console/Subdir.mk ++include $(srcdir)/debug/Subdir.mk ++include $(srcdir)/frequencies/Subdir.mk ++include $(srcdir)/libng/Subdir.mk ++include $(srcdir)/libng/plugins/Subdir.mk ++include $(srcdir)/libng/contrib-plugins/Subdir.mk ++include $(srcdir)/man/Subdir.mk ++include $(srcdir)/scripts/Subdir.mk ++include $(srcdir)/vbistuff/Subdir.mk ++include $(srcdir)/x11/Subdir.mk ++ ++# dependencies ++-include $(depfiles) ++ ++ ++######################################################### ++# just for me, some maintaining jobs. Don't use them + +-configure: +- autoconf ++tag: ++ @git tag -a -m "Tag as xawtv-3.99.rc5" xawtv-3.99.rc5 ++ @echo "Tagged as xawtv-3.99.rc5" + +-tag archive rpm dsc debs pbuild release snapshot snap: configure +- ./configure +- $(MAKE) $@ ++archive: ++ @git archive --format=tar --prefix=xawtv-3.99.rc5/ xawtv-3.99.rc5 > xawtv-3.99.rc5.tar ++ @bzip2 -f xawtv-3.99.rc5.tar + +-$(arch)/Makefile: configure +- mkdir -p $(arch) +- (cd $(arch); ../configure \ +- --prefix=$(prefix) ) +diff --git a/Makefile.in b/Makefile.in +index fc8d920..ee8127e 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -51,7 +51,6 @@ QT_FLAGS := @QTFLAGS@ + VBI_LIBS := @LIBZVBI@ + GL_LIBS := @LIBGL@ + DV_LIBS := @LIBDV@ +-FS_LIBS := @FSLIB@ + DLFLAGS := @DLFLAGS@ + + # stuff configure has found +diff --git a/configure.ac b/configure.ac +index 79dd68c..ea70469 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -143,7 +143,6 @@ AC_PATH_XTRA + if test "$no_x" != "yes"; then + FOUND_X11="yes" + ATHENA="-lXaw -lXmu -lXt $X_PRE_LIBS -lXpm -lXext -lX11 $X_EXTRA_LIBS" +- FSLIB="-lFS" + XFT_FLAGS="" + XFT_LIBS="" + if test "$enable_xft" != "no"; then +@@ -159,7 +158,6 @@ if test "$no_x" != "yes"; then + fi + else + ATHENA="" +- FSLIB="" + fi + AC_SUBST(X_CFLAGS) + AC_SUBST(X_PRE_LIBS) +@@ -167,7 +165,6 @@ AC_SUBST(X_EXTRA_LIBS) + AC_SUBST(X_LIBS) + AC_SUBST(x_includes) + AC_SUBST(ATHENA) +-AC_SUBST(FSLIB) + AC_SUBST(SUBS) + AC_SUBST(TOOLS) + AC_SUBST(LDLIBS) diff --git a/console/fs.h b/console/fs.h -index 290a00b..c0c2a32 100644 +index 290a00b..b237465 100644 --- a/console/fs.h +++ b/console/fs.h -@@ -1,4 +1,3 @@ +@@ -1,24 +1,3 @@ -#ifndef X_DISPLAY_MISSING - # include - - struct fs_font { -@@ -17,40 +16,6 @@ struct fs_font { - unsigned char **gindex; - }; - --#else -- --typedef struct _FSXCharInfo { -- short left; -- short right; -- short width; -- short ascent; -- short descent; -- //unsigned short attributes; --} FSXCharInfo; -- --typedef struct _FSXFontInfoHeader { -- //int flags; -- //FSRange char_range; -- //unsigned draw_direction; -- //FSChar2b default_char; -- FSXCharInfo min_bounds; -- FSXCharInfo max_bounds; -- short font_ascent; -- short font_descent; --} FSXFontInfoHeader; +-# include - -struct fs_font { +- Font font; - FSXFontInfoHeader fontHeader; -- //unsigned char *propData; +- FSPropInfo propInfo; +- FSPropOffset *propOffsets; +- unsigned char *propData; +- - FSXCharInfo *extents; +- FSOffset *offsets; - unsigned char *glyphs; +- - int maxenc,width,height; - FSXCharInfo **eindex; - unsigned char **gindex; -}; - +-#else +- + typedef struct _FSXCharInfo { + short left; + short right; +@@ -49,8 +28,6 @@ struct fs_font { + unsigned char **gindex; + }; + -#endif - /* ------------------------------------------------------------------ */ From 5be4c66b248e8085872b86b5003eb8dcf2a3622d Mon Sep 17 00:00:00 2001 From: Mauro Carvalho Chehab Date: Fri, 4 Feb 2011 14:41:03 -0200 Subject: [PATCH 11/20] Reenable aalib Signed-off-by: Mauro Carvalho Chehab --- xawtv.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/xawtv.spec b/xawtv.spec index 5b174f3..694b66c 100644 --- a/xawtv.spec +++ b/xawtv.spec @@ -1,7 +1,7 @@ Summary: TV applications for video4linux compliant devices Name: xawtv Version: 3.99.rc5 -Release: 1%{?dist} +Release: 2%{?dist} Group: Applications/Multimedia License: GPLv2+ URL: http://git.linuxtv.org/xawtv3.git @@ -20,12 +20,12 @@ BuildRequires: alsa-lib-devel %ifnarch s390 s390x BuildRequires: libdv-devel %endif +BuildRequires: aalib-devel BuildRequires: gpm-devel, slang-devel BuildRequires: autoconf, desktop-file-utils BuildRequires: libv4l-devel # Currently, not available on epel repository # BuildRequires: zvbi-devel -# BuildRequires: aalib-devel Requires: usermode xorg-x11-fonts-misc @@ -124,6 +124,9 @@ rm -fr $RPM_BUILD_ROOT %changelog +* Thu Feb 4 2011 Dmitry Butskoy - 3.99.rc5-2 +- Enable aalib + * Thu Feb 3 2011 Dmitry Butskoy - 3.99.rc5-1 - Initial RHEL6 version From 6c357d8e9c47ae7bcacdd8225fcff888b11d6ad9 Mon Sep 17 00:00:00 2001 From: Mauro Carvalho Chehab Date: Wed, 2 Mar 2011 10:43:32 -0300 Subject: [PATCH 12/20] Updated to xawtv version 3.100 Signed-off-by: Mauro Carvalho Chehab --- .gitignore | 1 + sources | 2 +- xawtv.spec | 9 +- xawtv_more_fslib_removal.patch | 270 --------------------------------- 4 files changed, 7 insertions(+), 275 deletions(-) delete mode 100644 xawtv_more_fslib_removal.patch diff --git a/.gitignore b/.gitignore index 1989580..0c63653 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,4 @@ xawtv-3.98.tar.bz2 /xawtv-3.99.rc3.tar.bz2 /xawtv-3.99.rc4.tar.bz2 /xawtv-3.99.rc5.tar.bz2 +/xawtv-3.100.tar.bz2 diff --git a/sources b/sources index 9ebfdec..f1320d6 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -99b0857e6bc4377f74f7f3000300d2d3 xawtv-3.99.rc5.tar.bz2 +adc458ae2a2d2e7a3cc6128688ce3fed xawtv-3.100.tar.bz2 diff --git a/xawtv.spec b/xawtv.spec index 694b66c..972e37d 100644 --- a/xawtv.spec +++ b/xawtv.spec @@ -1,14 +1,13 @@ Summary: TV applications for video4linux compliant devices Name: xawtv -Version: 3.99.rc5 -Release: 2%{?dist} +Version: 3.100 +Release: 1%{?dist} Group: Applications/Multimedia License: GPLv2+ URL: http://git.linuxtv.org/xawtv3.git Source0: http://linuxtv.org/downloads/xawtv/%{name}-%{version}.tar.bz2 Source1: xawtv.desktop -Patch0: xawtv_more_fslib_removal.patch BuildRequires: mesa-libGL-devel, libXaw-devel, libXext-devel BuildRequires: libXft-devel, libXinerama-devel @@ -41,7 +40,6 @@ Xawtv also includes a grabber driver for vic. %prep %setup -q -%patch0 -p1 autoconf autoheader @@ -124,6 +122,9 @@ rm -fr $RPM_BUILD_ROOT %changelog +* Wed Mar 2 2011 Mauro Carvalho Chehab - 3.100-1 +- Updated to Xawtv 3.100 + * Thu Feb 4 2011 Dmitry Butskoy - 3.99.rc5-2 - Enable aalib diff --git a/xawtv_more_fslib_removal.patch b/xawtv_more_fslib_removal.patch deleted file mode 100644 index d6570f9..0000000 --- a/xawtv_more_fslib_removal.patch +++ /dev/null @@ -1,270 +0,0 @@ -diff --git a/Makefile b/Makefile -index c19f663..bb0d13b 100644 ---- a/Makefile -+++ b/Makefile -@@ -1,25 +1,170 @@ -+srcdir := . -+VPATH := $(srcdir) - --# passed to configure --prefix = /usr/local -+# for package builds (buildroot install + no root privs needed) -+DESTDIR= -+SUID_ROOT=-m4755 -o root -+STRIP_FLAG= - --# arch name -- for build directory --arch := $(shell echo "arch-`uname -m`-`uname -s`" | tr "A-Z" "a-z") -+# install paths -+prefix := /usr/local -+exec_prefix := ${prefix} -+bindir := $(DESTDIR)${exec_prefix}/bin -+mandir := $(DESTDIR)${prefix}/share/man -+libdir := $(DESTDIR)${exec_prefix}/lib/xawtv -+datadir := $(DESTDIR)${prefix}/share/xawtv -+resdir := $(DESTDIR)/usr/share/X11 -+config := /etc/X11/xawtvrc - -+# programs -+CC := gcc -+CXX := g++ -+INSTALL := /usr/bin/install -c -+INSTALL_PROGRAM := ${INSTALL} $(STRIP_FLAG) -+INSTALL_DATA := ${INSTALL} -m 644 -+INSTALL_DIR := /usr/bin/install -c -d -m 755 -+ -+# misc -+VERSION := 3.99.rc5 -+ -+# for CFLAGS -+WARN_FLAGS := -Wall -Wmissing-prototypes -Wstrict-prototypes -Wpointer-arith -+LFS_FLAGS := -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -+X11_FLAGS := -I/usr/include/freetype2 -I/usr/include/X11/fonts -+LIB_FLAGS := -I. -I./vbistuff -I./x11 \ -+ -I$(srcdir)/jwz -I$(srcdir)/common -I$(srcdir)/console \ -+ -I$(srcdir)/x11 -I$(srcdir)/structs \ -+ -I$(srcdir)/libng -Llibng -+ -+# various libraries -+ATHENA_LIBS := -lXft -lXrender -lfreetype -lX11 -lfontconfig -lXv -lXrandr -lXrender -lXinerama -lXxf86vm -lXxf86dga -lXaw -lXmu -lXt -lSM -lICE -lXpm -lXext -lX11 -+MOTIF_LIBS := -lXft -lXrender -lfreetype -lX11 -lfontconfig -lXv -lXrandr -lXrender -lXinerama -lXxf86vm -lXxf86dga -lXm -lXmu -lXt -lSM -lICE \ -+ -lXp -lXpm -lXext -lX11 -+THREAD_LIBS := -lpthread -+CURSES_LIBS := -lncursesw -+LIRC_LIBS := -llirc_client -+OSS_LIBS := -+ALSA_LIBS := -lasound -+AA_LIBS := -L/usr/lib64 -Wl,-rpath,/usr/lib -laa -lm -lX11 -lgpm -lncurses -+QT_LIBS := -lquicktime -ldl -Wl,-E -lglib-2.0 -lm -+QT_FLAGS := -I/usr/include/lqt -+VBI_LIBS := -lzvbi -lpthread -lm -lpng -lz -+GL_LIBS := -lGL -lm -+DV_LIBS := -ldv -lm -+DLFLAGS := -ldl -Wl,-E -+ -+# stuff configure has found -+FOUND_AALIB := yes -+FOUND_ALSA := yes -+FOUND_DV := yes -+FOUND_GL := yes -+FOUND_LQT := yes -+FOUND_MOTIF := yes -+FOUND_OS := linux -+FOUND_X11 := yes -+FOUND_ZVBI := yes -+USE_MMX := no -+LIBV4L := yes -+ -+# build final cflags -+CFLAGS := -g -O2 -I/usr/include/ncursesw -+CFLAGS += $(WARN_FLAGS) -+CFLAGS += $(LFS_FLAGS) -+CFLAGS += $(X11_FLAGS) -+CFLAGS += $(LIB_FLAGS) -+CFLAGS += $(QT_FLAGS) -+CFLAGS += -DCONFIGFILE='"$(config)"' -+CFLAGS += -DLIBDIR='"$(libdir)"' -+CFLAGS += -DDATADIR='"$(datadir)"' -+CFLAGS += -DVERSION='"$(VERSION)"' -+CXXFLAGS := $(CFLAGS) -+ -+# for gcc3 -+#CFLAGS += -std-gnu99 -+ -+# shared objects need -fPIC -+%.so : CFLAGS += -fPIC -+%.so : CXXFLAGS += -fPIC -+ -+# libraries -+LDLIBS := -+ -+ -+######################################################### - # targets --build all install: $(arch)/Makefile configure -- $(MAKE) -C $(arch) $@ - --clean distclean: -- -test -d "$(arch)" && rm -rf "$(arch)" -+build: all -+ -+Makefile: $(srcdir)/Makefile.in $(srcdir)/configure -+ $(srcdir)/configure -+ -+$(srcdir)/configure: $(srcdir)/configure.ac -+ (cd $(srcdir); autoconf && autoheader && rm -rf autom4te.cache) -+ -+install:: all -+ $(INSTALL_DIR) $(bindir) -+ -+clean:: -+ find . -name \*~ -print | xargs rm -f -+ find . -name \*.o -print | xargs rm -f -+ find . -name \*.a -print | xargs rm -f -+ find . -name \*.dep -print | xargs rm -f -+ rm -f $(depfiles) -+ -+distclean:: clean -+ -rm -f Makefile Make.config -+ -rm -f config.cache config.h config.log config.status -+ cp Makefile.clean Makefile -+ -+realclean:: distclean -+ find . -name snap0*.ppm -print | xargs -i rm -f -+ find . -name snap0*.jpeg -print | xargs -i rm -f -+ find . -name .nfs* -print | xargs -i rm -f -+ find . -name core.* -print | xargs -i rm -f -+ -+ -+######################################################### -+# some rules ... -+ -+include $(srcdir)/mk/Compile.mk -+ -+%.h: %.in -+ perl $(srcdir)/scripts/html.pl < $< > $@ -+ -+%.h: %.ad -+ perl $(srcdir)/scripts/fallback.pl < $< > $@ -+ -+ -+######################################################### -+# include stuff -+ -+# must come first -+include $(srcdir)/common/Subdir.mk -+ -+# subdirs -+include $(srcdir)/console/Subdir.mk -+include $(srcdir)/debug/Subdir.mk -+include $(srcdir)/frequencies/Subdir.mk -+include $(srcdir)/libng/Subdir.mk -+include $(srcdir)/libng/plugins/Subdir.mk -+include $(srcdir)/libng/contrib-plugins/Subdir.mk -+include $(srcdir)/man/Subdir.mk -+include $(srcdir)/scripts/Subdir.mk -+include $(srcdir)/vbistuff/Subdir.mk -+include $(srcdir)/x11/Subdir.mk -+ -+# dependencies -+-include $(depfiles) -+ -+ -+######################################################### -+# just for me, some maintaining jobs. Don't use them - --configure: -- autoconf -+tag: -+ @git tag -a -m "Tag as xawtv-3.99.rc5" xawtv-3.99.rc5 -+ @echo "Tagged as xawtv-3.99.rc5" - --tag archive rpm dsc debs pbuild release snapshot snap: configure -- ./configure -- $(MAKE) $@ -+archive: -+ @git archive --format=tar --prefix=xawtv-3.99.rc5/ xawtv-3.99.rc5 > xawtv-3.99.rc5.tar -+ @bzip2 -f xawtv-3.99.rc5.tar - --$(arch)/Makefile: configure -- mkdir -p $(arch) -- (cd $(arch); ../configure \ -- --prefix=$(prefix) ) -diff --git a/Makefile.in b/Makefile.in -index fc8d920..ee8127e 100644 ---- a/Makefile.in -+++ b/Makefile.in -@@ -51,7 +51,6 @@ QT_FLAGS := @QTFLAGS@ - VBI_LIBS := @LIBZVBI@ - GL_LIBS := @LIBGL@ - DV_LIBS := @LIBDV@ --FS_LIBS := @FSLIB@ - DLFLAGS := @DLFLAGS@ - - # stuff configure has found -diff --git a/configure.ac b/configure.ac -index 79dd68c..ea70469 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -143,7 +143,6 @@ AC_PATH_XTRA - if test "$no_x" != "yes"; then - FOUND_X11="yes" - ATHENA="-lXaw -lXmu -lXt $X_PRE_LIBS -lXpm -lXext -lX11 $X_EXTRA_LIBS" -- FSLIB="-lFS" - XFT_FLAGS="" - XFT_LIBS="" - if test "$enable_xft" != "no"; then -@@ -159,7 +158,6 @@ if test "$no_x" != "yes"; then - fi - else - ATHENA="" -- FSLIB="" - fi - AC_SUBST(X_CFLAGS) - AC_SUBST(X_PRE_LIBS) -@@ -167,7 +165,6 @@ AC_SUBST(X_EXTRA_LIBS) - AC_SUBST(X_LIBS) - AC_SUBST(x_includes) - AC_SUBST(ATHENA) --AC_SUBST(FSLIB) - AC_SUBST(SUBS) - AC_SUBST(TOOLS) - AC_SUBST(LDLIBS) -diff --git a/console/fs.h b/console/fs.h -index 290a00b..b237465 100644 ---- a/console/fs.h -+++ b/console/fs.h -@@ -1,24 +1,3 @@ --#ifndef X_DISPLAY_MISSING --# include -- --struct fs_font { -- Font font; -- FSXFontInfoHeader fontHeader; -- FSPropInfo propInfo; -- FSPropOffset *propOffsets; -- unsigned char *propData; -- -- FSXCharInfo *extents; -- FSOffset *offsets; -- unsigned char *glyphs; -- -- int maxenc,width,height; -- FSXCharInfo **eindex; -- unsigned char **gindex; --}; -- --#else -- - typedef struct _FSXCharInfo { - short left; - short right; -@@ -49,8 +28,6 @@ struct fs_font { - unsigned char **gindex; - }; - --#endif -- - /* ------------------------------------------------------------------ */ - - int fs_init_fb(int white8); From e2df236daeb5e45bb5f98a94fbdf0e8318e77914 Mon Sep 17 00:00:00 2001 From: Mauro Carvalho Chehab Date: Wed, 2 Mar 2011 11:08:29 -0300 Subject: [PATCH 13/20] Fix build on el6 Signed-off-by: Mauro Carvalho Chehab --- xawtv.spec | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/xawtv.spec b/xawtv.spec index 972e37d..e4b38b2 100644 --- a/xawtv.spec +++ b/xawtv.spec @@ -19,12 +19,11 @@ BuildRequires: alsa-lib-devel %ifnarch s390 s390x BuildRequires: libdv-devel %endif -BuildRequires: aalib-devel BuildRequires: gpm-devel, slang-devel BuildRequires: autoconf, desktop-file-utils BuildRequires: libv4l-devel # Currently, not available on epel repository -# BuildRequires: zvbi-devel +# BuildRequires: zvbi-devel, aalib-devel Requires: usermode xorg-x11-fonts-misc From b743d2363492ce57e31b73a89be23d76bc8cfb93 Mon Sep 17 00:00:00 2001 From: Mauro Carvalho Chehab Date: Sun, 3 Jul 2011 12:37:08 -0300 Subject: [PATCH 14/20] Bump to version 3.101 Signed-off-by: Mauro Carvalho Chehab --- .gitignore | 1 + sources | 2 +- xawtv.spec | 5 ++++- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 0c63653..61ea31a 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,4 @@ xawtv-3.98.tar.bz2 /xawtv-3.99.rc4.tar.bz2 /xawtv-3.99.rc5.tar.bz2 /xawtv-3.100.tar.bz2 +/xawtv-3.101.tar.bz2 diff --git a/sources b/sources index f1320d6..49c241a 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -adc458ae2a2d2e7a3cc6128688ce3fed xawtv-3.100.tar.bz2 +330ce1789595e370be34ad4cae3dc3fa xawtv-3.101.tar.bz2 diff --git a/xawtv.spec b/xawtv.spec index e4b38b2..c19aae0 100644 --- a/xawtv.spec +++ b/xawtv.spec @@ -1,6 +1,6 @@ Summary: TV applications for video4linux compliant devices Name: xawtv -Version: 3.100 +Version: 3.101 Release: 1%{?dist} Group: Applications/Multimedia License: GPLv2+ @@ -121,6 +121,9 @@ rm -fr $RPM_BUILD_ROOT %changelog +* Sun Jul 3 2011 Mauro Carvalho Chehab - 3.101-1 +- update to Xawtv version 3.101: Adds support for alsa streams + * Wed Mar 2 2011 Mauro Carvalho Chehab - 3.100-1 - Updated to Xawtv 3.100 From 0fffa4fbff3f2f3f73fdd1631efd0de936897f1a Mon Sep 17 00:00:00 2001 From: Dmitry Butskoy Date: Tue, 2 Apr 2013 19:52:09 +0400 Subject: [PATCH 15/20] Update to 3.103 --- sources | 2 +- xawtv.desktop | 6 +- xawtv.spec | 400 ++++++++++++++++++++++++++++++++++++++++++++++---- 3 files changed, 373 insertions(+), 35 deletions(-) diff --git a/sources b/sources index 49c241a..17789a2 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -330ce1789595e370be34ad4cae3dc3fa xawtv-3.101.tar.bz2 +18822bb3660540fa9ea8b643a5b30d6b xawtv-3.103.tar.bz2 diff --git a/xawtv.desktop b/xawtv.desktop index 0cf1760..9556c72 100644 --- a/xawtv.desktop +++ b/xawtv.desktop @@ -1,10 +1,8 @@ [Desktop Entry] -Encoding=UTF-8 Comment=X11 program for watching TV -Icon=xawtv32x32.xpm +Icon=xawtv Exec=xawtv Name=XawTV Television Viewer -GenericName=Television Viewer Terminal=false Type=Application -Categories=Application;AudioVideo; +Categories=AudioVideo; diff --git a/xawtv.spec b/xawtv.spec index c19aae0..b6b9c13 100644 --- a/xawtv.spec +++ b/xawtv.spec @@ -1,6 +1,9 @@ +%bcond_with motif +%bcond_with quicktime + Summary: TV applications for video4linux compliant devices Name: xawtv -Version: 3.101 +Version: 3.103 Release: 1%{?dist} Group: Applications/Multimedia License: GPLv2+ @@ -9,25 +12,27 @@ URL: http://git.linuxtv.org/xawtv3.git Source0: http://linuxtv.org/downloads/xawtv/%{name}-%{version}.tar.bz2 Source1: xawtv.desktop +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) + BuildRequires: mesa-libGL-devel, libXaw-devel, libXext-devel BuildRequires: libXft-devel, libXinerama-devel BuildRequires: libXpm-devel, libXrandr-devel, libXt-devel BuildRequires: libXxf86dga-devel, libXv-devel +# Note: it compiles with lesstif-devel, but does not work properly. +%{?with_motif:BuildRequires: openmotif-devel} +%{?with_quicktime:BuildRequires: libquicktime-devel} BuildRequires: ncurses-devel, fileutils, libjpeg-devel, libpng-devel BuildRequires: alsa-lib-devel %ifnarch s390 s390x BuildRequires: libdv-devel %endif +BuildRequires: zvbi-devel, aalib-devel BuildRequires: gpm-devel, slang-devel -BuildRequires: autoconf, desktop-file-utils +BuildRequires: desktop-file-utils BuildRequires: libv4l-devel -# Currently, not available on epel repository -# BuildRequires: zvbi-devel, aalib-devel -Requires: usermode xorg-x11-fonts-misc - -BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) +Requires: usermode xorg-x11-fonts-misc hicolor-icon-theme %description @@ -40,16 +45,19 @@ Xawtv also includes a grabber driver for vic. %prep %setup -q -autoconf -autoheader - %build - export CFLAGS="$RPM_OPT_FLAGS -Wno-pointer-sign" -%configure --disable-motif --disable-quicktime -make verbose=yes +%if %{with motif} +export X_LIBS="-L/usr/lib/openmotif" +export X_CFLAGS="-I/usr/include/openmotif" +%endif + +%configure \ + %{!?_with_motif: --disable-motif} \ + %{!?_with_quicktime: --disable-quicktime} +make %{?_smp_mflags} verbose=yes %install @@ -57,18 +65,22 @@ rm -rf $RPM_BUILD_ROOT make DESTDIR=$RPM_BUILD_ROOT SUID_ROOT="" install -# we have no motif support +%if %{without motif} rm -f $RPM_BUILD_ROOT%{_mandir}/*/motv.* rm -f $RPM_BUILD_ROOT%{_mandir}/*/mtt.* -# we have no quicktime support +%endif +%if %{without quicktime} rm -f $RPM_BUILD_ROOT%{_bindir}/showqt +%endif +for i in 16x16 32x32 48x48; do + mkdir -p $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/$i/apps + install -p -m 0644 contrib/%{name}$i.xpm \ + $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/$i/apps/%{name}.xpm +done -mkdir -p $RPM_BUILD_ROOT%{_datadir}/pixmaps -install -p -m 0644 contrib/xawtv*.xpm $RPM_BUILD_ROOT%{_datadir}/pixmaps - -desktop-file-install --vendor fedora \ - --dir $RPM_BUILD_ROOT%{_datadir}/applications \ +desktop-file-install --vendor fedora \ + --dir $RPM_BUILD_ROOT%{_datadir}/applications \ %{SOURCE1} @@ -79,7 +91,7 @@ mkdir -p $RPM_BUILD_ROOT%{_sbindir} \ $RPM_BUILD_ROOT%{_sysconfdir}/security/console.apps \ cat >v4l-conf.pam </dev/null || : + + +%postun +if [ $1 -eq 0 ] ; then + touch --no-create %{_datadir}/icons/hicolor &>/dev/null + gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : +fi + + +%posttrans +gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : %files -%defattr(-,root,root,-) %config(noreplace) %{_sysconfdir}/pam.d/v4l-conf %config(noreplace) %{_sysconfdir}/security/console.apps/v4l-conf %{_bindir}/* @@ -112,24 +138,338 @@ rm -fr $RPM_BUILD_ROOT %{_libdir}/xawtv %{_datadir}/xawtv %{_datadir}/X11/app-defaults/* -%{_datadir}/pixmaps/* +%{_datadir}/icons/hicolor/*/apps/%{name}.xpm %{_datadir}/applications/* %{_mandir}/man?/* %lang(es) %{_mandir}/es/*/* %lang(fr) %{_mandir}/fr/*/* %doc COPYING README TODO contrib/frequencies* +%if %{with motif} +%lang(de) %{_datadir}/X11/de_DE.UTF-8/app-defaults/* +%lang(fr) %{_datadir}/X11/fr_FR.UTF-8/app-defaults/* +%lang(fr) %{_datadir}/X11/it_IT.UTF-8/app-defaults/* +%endif %changelog +* Tue Apr 2 2013 Dmitry Butskoy - 3.103-1 +- New upstream version 3.103 (backport from Fedora 18) + * Sun Jul 3 2011 Mauro Carvalho Chehab - 3.101-1 - update to Xawtv version 3.101: Adds support for alsa streams * Wed Mar 2 2011 Mauro Carvalho Chehab - 3.100-1 -- Updated to Xawtv 3.100 +- update to Xawtv version 3.100. Fixes control handling on xawtv. -* Thu Feb 4 2011 Dmitry Butskoy - 3.99.rc5-2 -- Enable aalib +* Thu Feb 17 2011 Dmitry Butskoy - 3.99.rc6-1 +- update to Xawtv version 3.99.rc6 -* Thu Feb 3 2011 Dmitry Butskoy - 3.99.rc5-1 -- Initial RHEL6 version +* Thu Feb 3 2011 Dmitry Butskoy - 3.99.rc4-1 +- update to Xawtv version 3.99.rc4 +* Wed Feb 2 2011 Mauro Carvalho Chehab 3.99.rc3-1 +- Update to Xawtv version 3.99.rc3 +- Upstream applied some patches from Debian and from Fedora, making + compilation more portable along different distros. It also incudes + a couple minor fixes. + +* Tue Feb 1 2011 Mauro Carvalho Chehab 3.99.rc2-1 +- Update to Xawtv version 3.99.rc2 +- All other patches from Fedora are now upstream + +* Thu Jan 28 2011 Mauro Carvalho Chehab 3.99.rc1-1 +- Update to Xawtv version 3.99.rc1 +- Applied some fixes upstream fixing radio application and also some + improvements from other patches that were found on Fedora. + +* Thu Jan 27 2011 Mauro Carvalho Chehab 3.98-1 +- Update to Xawtv version 3.98 +- Removes V4L1 support and adds some new stuff + +* Wed Nov 17 2010 Hans de Goede 3.95-14 +- Protect the exit code from being called twice. This fixes a double + free error when the user tries to exit twice when xawtv is stuck (#608344) + +* Fri Mar 12 2010 Hans de Goede 3.95-13 +- Fix xawtv not starting due to it not finding its fonts + +* Mon Jul 27 2009 Fedora Release Engineering - 3.95-12.1 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Thu May 07 2009 Karsten Hopp 3.95-11.1 +- we have no libdv on mainframe, don't require that on s390(x) + +* Thu Feb 26 2009 Fedora Release Engineering - 3.95-11 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Tue Aug 26 2008 Dmitry Butskoy - 3.95-10 +- fix some typos in manuals (patch7, derived from Debian) +- fix recording from oss (patch8, derived from Debian) +- allow scantv to use another card's input (patch9, derived from Debian) +- some v4l2 code fixes (patch10, Hans de Goede ) +- skip dga automatically when not available (patch11, Hans de Goede) +- specifying of bpl pitch for v4l-conf (patch12, Hans de Goede) +- drop drv0-v4l2-old.so driver (assume not needed anyway now) +- optional (default yes) build with libv4l wrapper library + (patch100, Hans de Goede ) + +* Mon Jul 21 2008 Dmitry Butskoy - 3.95-9 +- rebuild for new gpm +- update strip patch + +* Tue Feb 19 2008 Dmitry Butskoy - 3.95-8 +- add gpm-devel and slang-devel to BuildRequires +- rebuild for GCC 4.3 + +* Thu Aug 30 2007 Dmitry Butskoy - 3.95-7 +- add patch for "open(2) call now is a macro" issue (#265081). + +* Tue Aug 28 2007 Fedora Release Engineering - 3.95-6 +- Rebuild for selinux ppc32 issue. + +* Fri Aug 17 2007 Dmitry Butskoy +- Change License tag to GPLv2+ + +* Wed Jul 25 2007 Jeremy Katz - 3.95-5 +- rebuild for toolchain bug + +* Tue Jul 24 2007 Dmitry Butskoy - 3.95-4 +- don't assume v4l-conf as system config util (#249130) + +* Tue Jun 26 2007 Dmitry Butskoy +- drop X-Fedora category from desktop file + +* Mon Jun 25 2007 Dmitry Butskoy - 3.95-3 +- add patch for use getpagesize() instead of a kernel headers macro + +* Thu Jun 21 2007 Dmitry Butskoy - 3.95-1 +- spec file cleanup +- accepted for Fedora (review by Jason Tibbitts ) + +* Thu Mar 1 2007 Dmitry Butskoy - 3.95-0 +- upgrade to 3.95 +- adapt for Fedora Extras, spec file cleanups +- add UTF-8 support for console apps +- drop tv-fonts package (you can use zvbi-fonts package for that purpose), + bitstream-vera is now a default for "big" fullscreen-mode fonts. +- add desktop entry and icons +- add ALEVTD_REGION environment to change default teletext's region + + +* Tue Oct 21 2003 Florian La Roche +- add BuildReq for fontconfig-devel and freetype-devel, these seem + to get picked up + +* Mon Sep 01 2003 Than Ngo 3.88-5 +- Added missing BuildRequires for libpng-devel (bug #103447) + +* Tue Jun 17 2003 Than Ngo 3.88-4 +- fixed permission problem (bug #90921) + +* Tue Jun 17 2003 Than Ngo 3.88-3 +- rebuilt + +* Wed Jun 04 2003 Elliot Lee +- rebuilt + +* Tue May 6 2003 Than Ngo 3.88-1 +- 3.88 + +* Thu Mar 3 2003 Than Ngo 3.85-1 +- 3.85, (#85557, #81588, #74684, #61717) +- own /usr/lib/xawtv, (bug #73981) +- dependency on libjpeg-devel, (bug #48925) +- include alevtd daemon (bug #53878) +- create default configuration by install (bug #73270) + +* Sun Feb 10 2003 Than Ngo 3.81-6 +- install correct pam file, #83820 + +* Mon Jan 27 2003 Than Ngo 3.81-5 +- fix #81791 + +* Wed Jan 22 2003 Tim Powers +- rebuilt + +* Tue Jan 21 2003 Than Ngo 3.81-3 +- fix #81851 + +* Mon Dec 16 2002 Than Ngo 3.81-2 +- rebuild + +* Fri Dec 13 2002 Than Ngo 3.81-1 +- update 3.81 +- move bitmap fonts to bitmap-fonts package + +* Tue Nov 12 2002 Nalin Dahyabhai 3.78-2 +- adjust PAM configuration to not use absolute paths so that the right module + set gets used for the current arch on multilib systems + +* Thu Nov 7 2002 Than Ngo 3.78-1 +- 3.78 + +* Fri Jun 21 2002 Tim Powers +- automated rebuild + +* Thu Jun 20 2002 Than Ngo 3.74-3 +- Don't forcibly strip binaries + +* Sun May 26 2002 Tim Powers +- automated rebuild + +* Thu May 23 2002 Harald Hoyer +- 3.74 + +* Sun Apr 07 2002 han Ngo 3.73-3 +- remove motv manpage (#62771) + +* Tue Apr 2 2002 Than Ngo 3.73-2 +- get rid of openmotif + +* Sun Mar 24 2002 Than Ngo 3.73-1 +- update +- fix bug #61719 + +* Fri Mar 22 2002 Tim Powers +- rebuilt motv against new openmotif-2.2.2 + +* Tue Feb 26 2002 Than Ngo 3.72-1 +- update to 3.72 + +* Tue Feb 19 2002 Bernhard Rosenkraenzer 3.71-1 +- 3.71 + +* Fri Jan 18 2002 Than Ngo 3.68-1 +- update to 3.68 +- enable XFree extensions +- fix Url +- add missing plugins + +* Wed Dec 5 2001 Than Ngo 3.65-1 +- update to 3.65 +- fix build on ia64 + +* Wed Nov 14 2001 Than Ngo 3.64-1 +- update to 3.64 + +* Mon Sep 17 2001 Than Ngo 3.62-1 +- update to 3.62 (bug #53711 #52847) + +* Tue Aug 28 2001 Than Ngo 3.54-5 +- fix spec file bug (Bug #52675) + +* Fri Aug 10 2001 Than Ngo 3.54-4 +- add requires usermode (bug #51474) + +* Sun Aug 5 2001 Nalin Dahyabhai 3.54-3 +- tweak PAM setup so that v4l-conf can access the display properly + +* Tue Jul 10 2001 Elliot Lee 3.54-2 +- Rebuild to remove libXv/libXxf86dga deps + +* Mon Jul 02 2001 Than Ngo +- update to 3.54 + +* Fri Jun 22 2001 Than Ngo +- update to 3.53 +- add buildprereq +- remove some uneeeded patches + +* Tue Jun 19 2001 Karsten Hopp +- excludearch s390 s390x + +* Wed Jun 13 2001 Than Ngo +- update to 3.51 + +* Thu Jun 07 2001 Than Ngo +- update to 3.50 + +* Thu May 31 2001 Than Ngo +- udate to 3.49 + +* Tue May 22 2001 Than Ngo +- update to 3.48 + +* Mon May 21 2001 Tim Powers +- built for the distro + +* Wed May 18 2001 Karsten Hopp +- make xawtv work with kernel-2.4 + +* Wed May 16 2001 Than Ngo +- update to 3.47 + +* Mon May 07 2001 Than Ngo +- update to 3.45 +- add missing fonts + +* Tue Feb 13 2001 Than Ngo +- update to 3.34 +- use consolehelper for v4l-conf +- add excludearch sparc, bdftopcf is broken on sparc + +* Wed Jan 24 2001 Than Ngo +- updated to 3.30 +- use /dev/video0 instead /dev/video (bug #24871) +- fixed dependencies (Bug #24881) + +* Sun Nov 19 2000 Than Ngo +- update to 3.24 +- add missing tools (rootv,scantv) +- add missing prereq on xset and mkfontdir + +* Fri Nov 3 2000 Than Ngo +- update to 3.23 + +* Wed Aug 23 2000 Tim Powers +- rebuilt against new XFree86 to fix DGA problems + +* Mon Aug 21 2000 Than Ngo +- update to 3.18 (Bugfix release) +- option -nodga to disable DGA (Bug #16577, #15702) +- compress fonts with gzip + +* Mon Aug 07 2000 Tim Powers +- fixed bug #15435 + +* Mon Aug 07 2000 Than Ngo +- rebuilt against the new DGA +- fixed in post and postun, so that it does not + emits to console (Bug #15436) + + +* Sat Jul 29 2000 Than Ngo +- update to 3.17 + +* Mon Jul 24 2000 Prospector +- rebuilt + +* Wed Jul 12 2000 Than Ngo +- FHS fixes + +* Mon Jul 03 2000 Prospector +- automatic rebuild + +* Sun May 28 2000 Ngo Than +- update to 3.14 for 7.0 +- put man page in correct place +- add webcam +- bzip2 source +- cleanup specfile + +* Wed Jan 19 2000 Preston Brown +- font fix (#8610) in post and postun +- add missing files in bin + +* Sun Jan 16 2000 Preston Brown +- whoops! 3.07 already bugfix release + +* Fri Jan 14 2000 Ngo Than +- updated to 3.06 + +* Mon Jul 26 1999 Tim Powers +- updated to 2.46 +- built for 6.1 + +* Wed Apr 28 1999 Preston Brown +- initial build for Powertools 6.0 From cb0d6a2da0547c2156612d33345186182f63ea4c Mon Sep 17 00:00:00 2001 From: buc Date: Wed, 17 Feb 2016 04:33:14 +0300 Subject: [PATCH 16/20] Update to the latest upstream patches --- ...ix-segfault-under-certain-conditions.patch | 27 ++ ...efer-CAP_STREAMING-over-CAP_READWRIT.patch | 64 +++ ...ng-able-to-get-a-larger-latency-on-c.patch | 84 ++++ ...low-setting-alsa_latency-from-.xawtv.patch | 83 ++++ ...round-for-bttv-kernel-driver-planar-.patch | 48 +++ ...s.c-Remove-superfluous-add-end-of-fu.patch | 45 +++ ...t-not-being-able-to-tune-tv-channels.patch | 28 ++ ...appdata-files-for-xawtv-motv-and-mtt.patch | 146 +++++++ ...lementary-group-IDs-when-dropping-pr.patch | 44 ++ xawtv.desktop | 8 - xawtv.spec | 381 ++++++------------ 11 files changed, 690 insertions(+), 268 deletions(-) create mode 100644 0001-XV-Fix-segfault-under-certain-conditions.patch create mode 100644 0002-v4l2_getimage-prefer-CAP_STREAMING-over-CAP_READWRIT.patch create mode 100644 0003-alsa-Fix-not-being-able-to-get-a-larger-latency-on-c.patch create mode 100644 0004-xawtv-Allow-setting-alsa_latency-from-.xawtv.patch create mode 100644 0005-v4l2-Add-a-workaround-for-bttv-kernel-driver-planar-.patch create mode 100644 0006-get_media_devices.c-Remove-superfluous-add-end-of-fu.patch create mode 100644 0007-mtt-Fix-mtt-not-being-able-to-tune-tv-channels.patch create mode 100644 0008-Add-desktop-and-appdata-files-for-xawtv-motv-and-mtt.patch create mode 100644 0009-alevtd-Drop-supplementary-group-IDs-when-dropping-pr.patch delete mode 100644 xawtv.desktop diff --git a/0001-XV-Fix-segfault-under-certain-conditions.patch b/0001-XV-Fix-segfault-under-certain-conditions.patch new file mode 100644 index 0000000..43c0ffc --- /dev/null +++ b/0001-XV-Fix-segfault-under-certain-conditions.patch @@ -0,0 +1,27 @@ +From c69289c5c11e7a65d99db91e8ee38c0e58212c51 Mon Sep 17 00:00:00 2001 +From: "Bernhard M. Wiedemann" +Date: Sat, 27 Dec 2014 14:42:24 +0100 +Subject: [PATCH xawtv3 1/9] XV: Fix segfault under certain conditions + +Signed-off-by: Hans de Goede +--- + x11/blit.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/x11/blit.c b/x11/blit.c +index 0ac88b8..7b1de1b 100644 +--- a/x11/blit.c ++++ b/x11/blit.c +@@ -937,7 +937,8 @@ void blit_putframe(struct blit_state *st, struct ng_video_buf *buf) + + #ifdef HAVE_LIBXV + case STATUS_XVIDEO: +- memcpy(st->xvimage->data,buf->data,buf->size); ++ memcpy(st->xvimage->data,buf->data, ++ buf->size < st->xvimage->data_size ? buf->size : st->xvimage->data_size); + ng_release_video_buf(buf); + xv_blit(XtDisplay(st->widget), XtWindow(st->widget), + st->gc, st->xvimage, +-- +2.7.1 + diff --git a/0002-v4l2_getimage-prefer-CAP_STREAMING-over-CAP_READWRIT.patch b/0002-v4l2_getimage-prefer-CAP_STREAMING-over-CAP_READWRIT.patch new file mode 100644 index 0000000..7d6daa4 --- /dev/null +++ b/0002-v4l2_getimage-prefer-CAP_STREAMING-over-CAP_READWRIT.patch @@ -0,0 +1,64 @@ +From 0f373e489aa12dbb42256c690899f9f4529c7f98 Mon Sep 17 00:00:00 2001 +From: Stas Sergeev +Date: Sat, 27 Dec 2014 22:04:58 +0300 +Subject: [PATCH xawtv3 2/9] v4l2_getimage: prefer CAP_STREAMING over + CAP_READWRITE + +This patch fixes Fedora buzilla #1155784: + https://bugzilla.redhat.com/show_bug.cgi?id=1155784 + +And got merged at Fedora xawtv package by: + Dmitry Butskoy + +Signed-off-by: Mauro Carvalho Chehab +--- + libng/plugins/drv0-v4l2.tmpl.c | 26 +++++++++++++------------- + 1 file changed, 13 insertions(+), 13 deletions(-) + +diff --git a/libng/plugins/drv0-v4l2.tmpl.c b/libng/plugins/drv0-v4l2.tmpl.c +index ded868d..2cbd34b 100644 +--- a/libng/plugins/drv0-v4l2.tmpl.c ++++ b/libng/plugins/drv0-v4l2.tmpl.c +@@ -1241,7 +1241,19 @@ v4l2_getimage(void *handle) + + size = h->fmt_me.bytesperline * h->fmt_me.height; + buf = ng_malloc_video_buf(&h->fmt_me,size); +- if (h->cap.capabilities & V4L2_CAP_READWRITE) { ++ if (h->cap.capabilities & V4L2_CAP_STREAMING) { ++ if (-1 == v4l2_start_streaming(h,1)) { ++ v4l2_stop_streaming(h); ++ return NULL; ++ } ++ frame = v4l2_waiton(h); ++ if (-1 == frame) { ++ v4l2_stop_streaming(h); ++ return NULL; ++ } ++ memcpy(buf->data,h->buf_me[0].data,size); ++ v4l2_stop_streaming(h); ++ } else { + #ifndef USE_LIBV4L + rc = read(h->fd,buf->data,size); + #else /* USE_LIBV4L */ +@@ -1269,18 +1281,6 @@ v4l2_getimage(void *handle) + ng_release_video_buf(buf); + return NULL; + } +- } else { +- if (-1 == v4l2_start_streaming(h,1)) { +- v4l2_stop_streaming(h); +- return NULL; +- } +- frame = v4l2_waiton(h); +- if (-1 == frame) { +- v4l2_stop_streaming(h); +- return NULL; +- } +- memcpy(buf->data,h->buf_me[0].data,size); +- v4l2_stop_streaming(h); + } + return buf; + } +-- +2.7.1 + diff --git a/0003-alsa-Fix-not-being-able-to-get-a-larger-latency-on-c.patch b/0003-alsa-Fix-not-being-able-to-get-a-larger-latency-on-c.patch new file mode 100644 index 0000000..7002bb1 --- /dev/null +++ b/0003-alsa-Fix-not-being-able-to-get-a-larger-latency-on-c.patch @@ -0,0 +1,84 @@ +From daf4665a0d3c1af65b31887575ea8848ad71ace2 Mon Sep 17 00:00:00 2001 +From: Hans de Goede +Date: Mon, 1 Feb 2016 21:43:37 +0100 +Subject: [PATCH xawtv3 3/9] alsa: Fix not being able to get a larger latency + on capture devices with small max period sizes + +On some capture devices (e.g. bttv cards) the max period size is somewhat +small. Since we only use 2 perios on these devices we end up with only +allowing small latencies, which is a problem when e.g. using a usb codec +as output. + +This commit fixes this by adjusting the amount of periods on the capture +side when this happens. + +Signed-off-by: Hans de Goede +--- + common/alsa_stream.c | 22 +++++++++++++++++----- + 1 file changed, 17 insertions(+), 5 deletions(-) + +diff --git a/common/alsa_stream.c b/common/alsa_stream.c +index 3e33b5e..1165554 100644 +--- a/common/alsa_stream.c ++++ b/common/alsa_stream.c +@@ -109,9 +109,10 @@ static void getparams_periods(snd_pcm_t *handle, + snd_pcm_hw_params_t *params, + unsigned int *usecs, + unsigned int *count, +- const char *id) ++ int allow_adjust, const char *id) + { + unsigned min = 0, max = 0; ++ unsigned desired = *usecs * *count; + + snd_pcm_hw_params_get_periods_min(params, &min, 0); + snd_pcm_hw_params_get_periods_max(params, &max, 0); +@@ -137,6 +138,13 @@ static void getparams_periods(snd_pcm_t *handle, + if (*usecs > max) + *usecs = max; + } ++ ++ /* If we deviate from the desired size by more then 20% adjust count */ ++ if (allow_adjust && (((*usecs * *count) < (desired * 8 / 10)) || ++ ((*usecs * *count) > (desired * 12 / 10)))) { ++ *count = (desired + *usecs / 2) / *usecs; ++ getparams_periods(handle, params, usecs, count, 0, id); ++ } + } + + static int setparams_periods(snd_pcm_t *handle, +@@ -351,12 +359,16 @@ static int setparams(snd_pcm_t *phandle, snd_pcm_t *chandle, + /* Negotiate period parameters */ + + c_periodtime = latency * 1000 / c_periods; +- getparams_periods(chandle, c_hwparams, &c_periodtime, &c_periods, "capture"); ++ getparams_periods(chandle, c_hwparams, &c_periodtime, &c_periods, 1, "capture"); + p_periods = c_periods * 2; + p_periodtime = c_periodtime; +- getparams_periods(phandle, p_hwparams, &p_periodtime, &p_periods, "playback"); ++ getparams_periods(phandle, p_hwparams, &p_periodtime, &p_periods, 0, "playback"); + c_periods = p_periods / 2; + ++ if (verbose) ++ fprintf(error_fp, "alsa: Capture %u periods of %u usecs, Playback %u periods of %u usecs\n", ++ c_periods, c_periodtime, p_periods, p_periodtime); ++ + /* + * Some playback devices support a very limited periodtime range. If the user needs to + * use a higher latency to avoid overrun/underrun, use an alternate algorithm of incresing +@@ -365,10 +377,10 @@ static int setparams(snd_pcm_t *phandle, snd_pcm_t *chandle, + if (p_periodtime < c_periodtime) { + c_periodtime = p_periodtime; + c_periods = round (latency * 1000.0 / c_periodtime + 0.5); +- getparams_periods(chandle, c_hwparams, &c_periodtime, &c_periods, "capture"); ++ getparams_periods(chandle, c_hwparams, &c_periodtime, &c_periods, 0, "capture"); + p_periods = c_periods * 2; + p_periodtime = c_periodtime; +- getparams_periods(phandle, p_hwparams, &p_periodtime, &p_periods, "playback"); ++ getparams_periods(phandle, p_hwparams, &p_periodtime, &p_periods, 0, "playback"); + c_periods = p_periods / 2; + } + +-- +2.7.1 + diff --git a/0004-xawtv-Allow-setting-alsa_latency-from-.xawtv.patch b/0004-xawtv-Allow-setting-alsa_latency-from-.xawtv.patch new file mode 100644 index 0000000..7fb192a --- /dev/null +++ b/0004-xawtv-Allow-setting-alsa_latency-from-.xawtv.patch @@ -0,0 +1,83 @@ +From 196a14977a6c783cf4df531f8a71949763a63527 Mon Sep 17 00:00:00 2001 +From: Hans de Goede +Date: Tue, 2 Feb 2016 12:46:46 +0100 +Subject: [PATCH xawtv3 4/9] xawtv: Allow setting alsa_latency from ~/.xawtv + +This avoids the need to always have to specify this on the cmdline on +systems which need a value different from the default. + +Signed-off-by: Hans de Goede +--- + man/xawtvrc.5 | 5 +++++ + x11/xt.c | 16 +++++++++++++--- + 2 files changed, 18 insertions(+), 3 deletions(-) + +diff --git a/man/xawtvrc.5 b/man/xawtvrc.5 +index 136ceba..f1c3333 100644 +--- a/man/xawtvrc.5 ++++ b/man/xawtvrc.5 +@@ -209,6 +209,11 @@ details. + .TP + .B filter = name + Enable the specified filter. ++.TP ++.B alsa_latency = time_in_ms ++This can be used to specify the latency for the ALSA digital sound loopback ++which xawtv does. The default is 30ms if you're getting sound dropouts on your ++system try increasing this setting. + .SS The [launch] section + You can start other programs from within xawtv. This is configured + with entries in the "[launch]" section: +diff --git a/x11/xt.c b/x11/xt.c +index 2065ff4..9affb4a 100644 +--- a/x11/xt.c ++++ b/x11/xt.c +@@ -65,6 +65,10 @@ + + /*----------------------------------------------------------------------*/ + ++#define ALSA_LATENCY_DEFAULT 30 ++#define STR(X) __STR(X) ++#define __STR(X) #X ++ + XtAppContext app_context; + Widget app_shell, tv; + Widget on_shell; +@@ -167,7 +171,7 @@ XtResource args_desc[] = { + "alsa_latency", + XtCValue, XtRInt, sizeof(int), + XtOffset(struct ARGS*,alsa_latency), +- XtRString, "30" ++ XtRString, STR(ALSA_LATENCY_DEFAULT) + },{ + /* Integer */ + "debug", +@@ -1414,9 +1418,15 @@ static void x11_mute_notify(int val) + { + if (val) + alsa_thread_stop(); +- else if (!alsa_thread_is_running()) ++ else if (!alsa_thread_is_running()) { ++ if (args.readconfig && args.alsa_latency == ALSA_LATENCY_DEFAULT) { ++ int val = cfg_get_int("global", "alsa_latency"); ++ if (val > 0) ++ args.alsa_latency = val; ++ } + alsa_thread_startup(alsa_out, alsa_cap, args.alsa_latency, + stderr, debug); ++ } + } + #endif + +@@ -1698,7 +1708,7 @@ usage(void) + " -(no)alsa enable/disable alsa streaming. Default: enabled\n" + " -(no)alsa-cap manually specify an alsa capture interface\n" + " -(no)alsa-pb manually specify an alsa playback interface\n" +- " -alsa-latency manually specify an alsa latency in ms. Default: 30\n" ++ " -alsa-latency manually specify an alsa latency in ms. Default: " STR(ALSA_LATENCY_DEFAULT) "\n" + #endif + " -b -bpp n color depth of the display is n (n=24,32)\n" + " -o -outfile file filename base for snapshots\n" +-- +2.7.1 + diff --git a/0005-v4l2-Add-a-workaround-for-bttv-kernel-driver-planar-.patch b/0005-v4l2-Add-a-workaround-for-bttv-kernel-driver-planar-.patch new file mode 100644 index 0000000..2a62d4a --- /dev/null +++ b/0005-v4l2-Add-a-workaround-for-bttv-kernel-driver-planar-.patch @@ -0,0 +1,48 @@ +From 033d4af24e572741d0ab4f6064f01665395c38f9 Mon Sep 17 00:00:00 2001 +From: Hans de Goede +Date: Sun, 7 Feb 2016 17:21:19 +0100 +Subject: [PATCH xawtv3 5/9] v4l2: Add a workaround for bttv kernel driver + planar fmt width bug + +The bttv driver has a bug where it will return a width which is not +a multiple of 16 for planar formats, while it cannot handle this, +this commit adds a workaround for this. + +A kernel fix has been send upstream for this for 4.5 / 4.6, so +eventually this workaround should be removed again. + +Signed-off-by: Hans de Goede +--- + libng/plugins/drv0-v4l2.tmpl.c | 16 ++++++++++++++++ + 1 file changed, 16 insertions(+) + +diff --git a/libng/plugins/drv0-v4l2.tmpl.c b/libng/plugins/drv0-v4l2.tmpl.c +index 2cbd34b..8186ac7 100644 +--- a/libng/plugins/drv0-v4l2.tmpl.c ++++ b/libng/plugins/drv0-v4l2.tmpl.c +@@ -1122,6 +1122,22 @@ retry: + } + if (h->fmt_v4l2.fmt.pix.pixelformat != xawtv_pixelformat[fmt->fmtid]) + return -1; ++ ++ /* ++ * The bttv driver has a bug where it will return a width which is not ++ * a multiple of 16 for planar formats, while it cannot handle this, ++ * fix this up. ++ * ++ * A kernel fix has been send upstream for this for 4.5 / 4.6, so ++ * eventually this workaround should be removed. ++ */ ++ if (!strcmp(h->cap.driver, "bttv") && ++ (fmt->fmtid == VIDEO_YUV422P || fmt->fmtid == VIDEO_YUV420P) && ++ h->fmt_v4l2.fmt.pix.width % 16) { ++ fmt->width = h->fmt_v4l2.fmt.pix.width & ~15; ++ goto retry; ++ } ++ + fmt->width = h->fmt_v4l2.fmt.pix.width; + fmt->height = h->fmt_v4l2.fmt.pix.height; + fmt->bytesperline = h->fmt_v4l2.fmt.pix.bytesperline; +-- +2.7.1 + diff --git a/0006-get_media_devices.c-Remove-superfluous-add-end-of-fu.patch b/0006-get_media_devices.c-Remove-superfluous-add-end-of-fu.patch new file mode 100644 index 0000000..b29266a --- /dev/null +++ b/0006-get_media_devices.c-Remove-superfluous-add-end-of-fu.patch @@ -0,0 +1,45 @@ +From 5ccb09b039bcc517293bd1013faa86719a950a51 Mon Sep 17 00:00:00 2001 +From: Hans de Goede +Date: Thu, 11 Feb 2016 13:11:48 +0100 +Subject: [PATCH xawtv3 6/9] get_media_devices.c: Remove superfluous ; add end + of functions + +Signed-off-by: Hans de Goede +--- + common/get_media_devices.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/common/get_media_devices.c b/common/get_media_devices.c +index a2d6354..619734e 100644 +--- a/common/get_media_devices.c ++++ b/common/get_media_devices.c +@@ -227,7 +227,7 @@ static int add_v4l_class(struct media_device_entry *md) + md->type = MEDIA_V4L_SUBDEV; + + return 0; +-}; ++} + + static int add_snd_class(struct media_device_entry *md) + { +@@ -270,7 +270,7 @@ static int add_snd_class(struct media_device_entry *md) + md->node = strdup(node); + + return 0; +-}; ++} + + static int add_dvb_class(struct media_device_entry *md) + { +@@ -294,7 +294,7 @@ static int add_dvb_class(struct media_device_entry *md) + md->type = MEDIA_DVB_OSD; + + return 0; +-}; ++} + + static int sort_media_device_entry(const void *a, const void *b) + { +-- +2.7.1 + diff --git a/0007-mtt-Fix-mtt-not-being-able-to-tune-tv-channels.patch b/0007-mtt-Fix-mtt-not-being-able-to-tune-tv-channels.patch new file mode 100644 index 0000000..af351e5 --- /dev/null +++ b/0007-mtt-Fix-mtt-not-being-able-to-tune-tv-channels.patch @@ -0,0 +1,28 @@ +From d9a279f4d71edd070e7a549f29541951e546c60e Mon Sep 17 00:00:00 2001 +From: Hans de Goede +Date: Mon, 15 Feb 2016 22:07:50 +0100 +Subject: [PATCH xawtv3 7/9] mtt: Fix mtt not being able to tune tv channels + +Teletext should use the tv tuner not the radio tuner... + +Signed-off-by: Hans de Goede +--- + x11/vbi-gui.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/x11/vbi-gui.c b/x11/vbi-gui.c +index f4b19da..429c8b2 100644 +--- a/x11/vbi-gui.c ++++ b/x11/vbi-gui.c +@@ -917,7 +917,7 @@ static void vbi_station_cb(Widget widget, XtPointer client, XtPointer call) + struct v4l2_frequency frequency; + + memset (&frequency, 0, sizeof(frequency)); +- frequency.type = V4L2_TUNER_RADIO; ++ frequency.type = V4L2_TUNER_ANALOG_TV; + frequency.frequency = channels[i]->freq; + if (-1 == ioctl(vbi->fd, VIDIOC_S_FREQUENCY, &frequency)) + perror("ioctl VIDIOCSFREQ"); +-- +2.7.1 + diff --git a/0008-Add-desktop-and-appdata-files-for-xawtv-motv-and-mtt.patch b/0008-Add-desktop-and-appdata-files-for-xawtv-motv-and-mtt.patch new file mode 100644 index 0000000..84ee4b7 --- /dev/null +++ b/0008-Add-desktop-and-appdata-files-for-xawtv-motv-and-mtt.patch @@ -0,0 +1,146 @@ +From b9f78802002fdca9e61cd67e257ad7ad9ef3ee28 Mon Sep 17 00:00:00 2001 +From: Hans de Goede +Date: Mon, 15 Feb 2016 18:24:16 +0100 +Subject: [PATCH xawtv3 8/9] Add desktop and appdata files for xawtv, motv and + mtt + +Signed-off-by: Hans de Goede +--- + contrib/motv.desktop | 10 ++++++++++ + contrib/motv.metainfo.xml | 11 +++++++++++ + contrib/mtt.desktop | 10 ++++++++++ + contrib/mtt.metainfo.xml | 11 +++++++++++ + contrib/xawtv.appdata.xml | 33 +++++++++++++++++++++++++++++++++ + contrib/xawtv.desktop | 10 ++++++++++ + 6 files changed, 85 insertions(+) + create mode 100644 contrib/motv.desktop + create mode 100644 contrib/motv.metainfo.xml + create mode 100644 contrib/mtt.desktop + create mode 100644 contrib/mtt.metainfo.xml + create mode 100644 contrib/xawtv.appdata.xml + create mode 100644 contrib/xawtv.desktop + +diff --git a/contrib/motv.desktop b/contrib/motv.desktop +new file mode 100644 +index 0000000..37093d4 +--- /dev/null ++++ b/contrib/motv.desktop +@@ -0,0 +1,10 @@ ++[Desktop Entry] ++Comment=Analog TV viewing application ++Icon=xawtv ++Exec=motv ++Name=MoTV Television Viewer ++Terminal=false ++StartupNotify=false ++Type=Application ++Categories=AudioVideo;Video; ++Keywords=video;tv;viewer;v4l;v4l2;video4linux; +diff --git a/contrib/motv.metainfo.xml b/contrib/motv.metainfo.xml +new file mode 100644 +index 0000000..7d3bc31 +--- /dev/null ++++ b/contrib/motv.metainfo.xml +@@ -0,0 +1,11 @@ ++ ++ ++ motv.desktop ++ xawtv.desktop ++ CC0-1.0 ++ GPL-2.0+ ++ MoTV Television Viewer ++ Motif UI version of xawtv ++ http://linuxtv.org/wiki/index.php/Xawtv ++ jwrdegoede_at_fedoraproject.org ++ +diff --git a/contrib/mtt.desktop b/contrib/mtt.desktop +new file mode 100644 +index 0000000..f04c29a +--- /dev/null ++++ b/contrib/mtt.desktop +@@ -0,0 +1,10 @@ ++[Desktop Entry] ++Comment=Analog TV Teletext viewing application ++Icon=xawtv ++Exec=mtt ++Name=MTT Teletext Viewer ++Terminal=false ++StartupNotify=false ++Type=Application ++Categories=AudioVideo;Video; ++Keywords=video;tv;viewer;v4l;v4l2;video4linux;teletext; +diff --git a/contrib/mtt.metainfo.xml b/contrib/mtt.metainfo.xml +new file mode 100644 +index 0000000..28f5c84 +--- /dev/null ++++ b/contrib/mtt.metainfo.xml +@@ -0,0 +1,11 @@ ++ ++ ++ mtt.desktop ++ xawtv.desktop ++ CC0-1.0 ++ GPL-2.0+ ++ MTT Teletext Viewer ++ Easy to use Teletext GUI ++ http://linuxtv.org/wiki/index.php/Xawtv ++ jwrdegoede_at_fedoraproject.org ++ +diff --git a/contrib/xawtv.appdata.xml b/contrib/xawtv.appdata.xml +new file mode 100644 +index 0000000..92959d2 +--- /dev/null ++++ b/contrib/xawtv.appdata.xml +@@ -0,0 +1,33 @@ ++ ++ ++ xawtv.desktop ++ CC0-1.0 ++ GPL-2.0+ ++ xawtv ++ Analog TV viewing application ++ ++

++ xawtv was originally just an analog TV viewing application for Bttv ++ devices (bt848, bt878) using the Athena widgets, but evolved into a ++ small suite of X11 applications for V4L devices. ++

++

++ The xawtv package includes a number of useful console commandline ++ utilities: ++

++
    ++
  • alevtd - a http deamon for use with analogue TV teletext
  • ++
  • radio -- a console radio listening app
  • ++
  • scantv -- an analogue TV frequency scanner
  • ++
  • v4l-conf -- current video mode (size and color depth)
  • ++
  • v4lctl -- used to control a v4l device and set varying image parameters
  • ++
  • webcam -- capture images from a webcam
  • ++
++
++ http://linuxtv.org/wiki/index.php/Xawtv ++ ++ http://www.easylinux.de/Artikel/ausgabe/2004/01/036-xawtv/tv_8.png ++ http://www.easylinux.de/Artikel/ausgabe/2004/01/036-xawtv/xawtv1.png ++ ++ jwrdegoede_at_fedoraproject.org ++
+diff --git a/contrib/xawtv.desktop b/contrib/xawtv.desktop +new file mode 100644 +index 0000000..349394d +--- /dev/null ++++ b/contrib/xawtv.desktop +@@ -0,0 +1,10 @@ ++[Desktop Entry] ++Comment=Analog TV viewing application ++Icon=xawtv ++Exec=xawtv ++Name=XawTV Television Viewer ++Terminal=false ++StartupNotify=false ++Type=Application ++Categories=AudioVideo;Video; ++Keywords=video;tv;viewer;v4l;v4l2;video4linux; +-- +2.7.1 + diff --git a/0009-alevtd-Drop-supplementary-group-IDs-when-dropping-pr.patch b/0009-alevtd-Drop-supplementary-group-IDs-when-dropping-pr.patch new file mode 100644 index 0000000..695a93f --- /dev/null +++ b/0009-alevtd-Drop-supplementary-group-IDs-when-dropping-pr.patch @@ -0,0 +1,44 @@ +From 2344af22120f3092a044881c4ed14af17a0d6f41 Mon Sep 17 00:00:00 2001 +From: Hans de Goede +Date: Mon, 15 Feb 2016 23:10:12 +0100 +Subject: [PATCH xawtv3 9/9] alevtd: Drop supplementary group IDs when dropping + privileges + +Noticed by rpmlint, seek POS36-C on the web for details about the problem. + +Signed-off-by: Hans de Goede +--- + vbistuff/alevtd.c | 8 ++++++-- + 1 file changed, 6 insertions(+), 2 deletions(-) + +diff --git a/vbistuff/alevtd.c b/vbistuff/alevtd.c +index c6211d3..2df4886 100644 +--- a/vbistuff/alevtd.c ++++ b/vbistuff/alevtd.c +@@ -168,8 +168,10 @@ fix_ug(void) + } + + /* set group */ +- if (getegid() != gr->gr_gid || getgid() != gr->gr_gid) ++ if (getegid() != gr->gr_gid || getgid() != gr->gr_gid) { ++ setgroups(0, NULL); + setgid(gr->gr_gid); ++ } + if (getegid() != gr->gr_gid || getgid() != gr->gr_gid) { + xerror(LOG_ERR,"setgid failed",NULL); + exit(1); +@@ -177,8 +179,10 @@ fix_ug(void) + strncpy(group,gr->gr_name,16); + + /* set user */ +- if (geteuid() != pw->pw_uid || getuid() != pw->pw_uid) ++ if (geteuid() != pw->pw_uid || getuid() != pw->pw_uid) { ++ setgroups(0, NULL); + setuid(pw->pw_uid); ++ } + if (geteuid() != pw->pw_uid || getuid() != pw->pw_uid) { + xerror(LOG_ERR,"setuid failed",NULL); + exit(1); +-- +2.7.1 + diff --git a/xawtv.desktop b/xawtv.desktop deleted file mode 100644 index 9556c72..0000000 --- a/xawtv.desktop +++ /dev/null @@ -1,8 +0,0 @@ -[Desktop Entry] -Comment=X11 program for watching TV -Icon=xawtv -Exec=xawtv -Name=XawTV Television Viewer -Terminal=false -Type=Application -Categories=AudioVideo; diff --git a/xawtv.spec b/xawtv.spec index b6b9c13..2b72e7c 100644 --- a/xawtv.spec +++ b/xawtv.spec @@ -1,25 +1,32 @@ -%bcond_with motif %bcond_with quicktime Summary: TV applications for video4linux compliant devices Name: xawtv Version: 3.103 -Release: 1%{?dist} +Release: 8%{?dist} Group: Applications/Multimedia License: GPLv2+ -URL: http://git.linuxtv.org/xawtv3.git +URL: http://linuxtv.org/wiki/index.php/Xawtv Source0: http://linuxtv.org/downloads/xawtv/%{name}-%{version}.tar.bz2 -Source1: xawtv.desktop BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) +Patch1: 0001-XV-Fix-segfault-under-certain-conditions.patch +Patch2: 0002-v4l2_getimage-prefer-CAP_STREAMING-over-CAP_READWRIT.patch +Patch3: 0003-alsa-Fix-not-being-able-to-get-a-larger-latency-on-c.patch +Patch4: 0004-xawtv-Allow-setting-alsa_latency-from-.xawtv.patch +Patch5: 0005-v4l2-Add-a-workaround-for-bttv-kernel-driver-planar-.patch +Patch6: 0006-get_media_devices.c-Remove-superfluous-add-end-of-fu.patch +Patch7: 0007-mtt-Fix-mtt-not-being-able-to-tune-tv-channels.patch +Patch8: 0008-Add-desktop-and-appdata-files-for-xawtv-motv-and-mtt.patch +Patch9: 0009-alevtd-Drop-supplementary-group-IDs-when-dropping-pr.patch + BuildRequires: mesa-libGL-devel, libXaw-devel, libXext-devel BuildRequires: libXft-devel, libXinerama-devel BuildRequires: libXpm-devel, libXrandr-devel, libXt-devel BuildRequires: libXxf86dga-devel, libXv-devel -# Note: it compiles with lesstif-devel, but does not work properly. -%{?with_motif:BuildRequires: openmotif-devel} +BuildRequires: openmotif-devel %{?with_quicktime:BuildRequires: libquicktime-devel} BuildRequires: ncurses-devel, fileutils, libjpeg-devel, libpng-devel @@ -29,12 +36,11 @@ BuildRequires: libdv-devel %endif BuildRequires: zvbi-devel, aalib-devel BuildRequires: gpm-devel, slang-devel -BuildRequires: desktop-file-utils +BuildRequires: ImageMagick desktop-file-utils BuildRequires: libv4l-devel Requires: usermode xorg-x11-fonts-misc hicolor-icon-theme - %description Xawtv is a simple xaw-based TV program which uses the bttv driver or video4linux. Xawtv contains various command-line utilities for @@ -42,21 +48,39 @@ grabbing images and .avi movies, for tuning in to TV stations, etc. Xawtv also includes a grabber driver for vic. +%package motv +Summary: MoTV Analog Television Viewer +Requires: %{name} = %{version}-%{release} + +%description motv +Motif UI version of the xawtv analog television viewer. + + +%package mtt +Summary: Analog TV Teletext viewing application +Requires: %{name} = %{version}-%{release} + +%description mtt +Easy to use Motif UI for viewing analog tv teletext on video4linux devices +which support teletext. + + %prep %setup -q +%patch1 -p1 +%patch2 -p1 +%patch3 -p1 +%patch4 -p1 +%patch5 -p1 +%patch6 -p1 +%patch7 -p1 +%patch8 -p1 +%patch9 -p1 %build export CFLAGS="$RPM_OPT_FLAGS -Wno-pointer-sign" - -%if %{with motif} -export X_LIBS="-L/usr/lib/openmotif" -export X_CFLAGS="-I/usr/include/openmotif" -%endif - -%configure \ - %{!?_with_motif: --disable-motif} \ - %{!?_with_quicktime: --disable-quicktime} +%configure %{!?_with_quicktime: --disable-quicktime} make %{?_smp_mflags} verbose=yes @@ -65,24 +89,20 @@ rm -rf $RPM_BUILD_ROOT make DESTDIR=$RPM_BUILD_ROOT SUID_ROOT="" install -%if %{without motif} -rm -f $RPM_BUILD_ROOT%{_mandir}/*/motv.* -rm -f $RPM_BUILD_ROOT%{_mandir}/*/mtt.* -%endif %if %{without quicktime} rm -f $RPM_BUILD_ROOT%{_bindir}/showqt %endif for i in 16x16 32x32 48x48; do mkdir -p $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/$i/apps - install -p -m 0644 contrib/%{name}$i.xpm \ - $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/$i/apps/%{name}.xpm + convert contrib/%{name}$i.xpm \ + $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/$i/apps/%{name}.png done -desktop-file-install --vendor fedora \ - --dir $RPM_BUILD_ROOT%{_datadir}/applications \ - %{SOURCE1} - +for i in xawtv motv mtt; do + desktop-file-install --dir $RPM_BUILD_ROOT%{_datadir}/applications \ + contrib/$i.desktop +done # v4l-conf stuff @@ -118,42 +138,102 @@ rm -rf $RPM_BUILD_ROOT %post touch --no-create %{_datadir}/icons/hicolor &>/dev/null || : - %postun if [ $1 -eq 0 ] ; then touch --no-create %{_datadir}/icons/hicolor &>/dev/null gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : fi - %posttrans gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : %files +%defattr(-,root,root,-) +%doc COPYING README TODO contrib/frequencies* %config(noreplace) %{_sysconfdir}/pam.d/v4l-conf %config(noreplace) %{_sysconfdir}/security/console.apps/v4l-conf %{_bindir}/* +%exclude %{_bindir}/motv +%exclude %{_bindir}/mtt %{_sbindir}/* %{_libdir}/xawtv %{_datadir}/xawtv -%{_datadir}/X11/app-defaults/* -%{_datadir}/icons/hicolor/*/apps/%{name}.xpm -%{_datadir}/applications/* +%{_datadir}/X11/app-defaults/Xawtv +%{_datadir}/icons/hicolor/*/apps/%{name}.png +%{_datadir}/applications/%{name}.desktop %{_mandir}/man?/* +%exclude %{_mandir}/man1/motv.1* +%exclude %{_mandir}/man1/mtt.1* %lang(es) %{_mandir}/es/*/* %lang(fr) %{_mandir}/fr/*/* -%doc COPYING README TODO contrib/frequencies* -%if %{with motif} -%lang(de) %{_datadir}/X11/de_DE.UTF-8/app-defaults/* -%lang(fr) %{_datadir}/X11/fr_FR.UTF-8/app-defaults/* -%lang(fr) %{_datadir}/X11/it_IT.UTF-8/app-defaults/* -%endif + +%files motv +%defattr(-,root,root,-) +%{_bindir}/motv +%{_mandir}/man1/motv.1* +%{_datadir}/X11/app-defaults/MoTV* +%lang(de) %{_datadir}/X11/de_DE.UTF-8/app-defaults/MoTV* +%lang(fr) %{_datadir}/X11/fr_FR.UTF-8/app-defaults/MoTV* +%lang(it) %{_datadir}/X11/it_IT.UTF-8/app-defaults/MoTV* +%{_datadir}/applications/motv.desktop + +%files mtt +%defattr(-,root,root,-) +%{_bindir}/mtt +%{_mandir}/man1/mtt.1* +%{_datadir}/X11/app-defaults/mtt* +%{_datadir}/applications/mtt.desktop %changelog -* Tue Apr 2 2013 Dmitry Butskoy - 3.103-1 -- New upstream version 3.103 (backport from Fedora 18) +* Wed Feb 17 2016 Dmitry Butskoy - 3.103-8 +- Bring in several bugfix patch from upstream +- Fix crash with saa7134 driver (rhbz#1305389) +- Use png instead of xpm for icons +- Build motv and mtt now since we have a openmotif, put them in + xawtv-motv resp xawtv-mtt sub-packages +- Remove changelog entries older then 10 years + +* Fri Feb 05 2016 Fedora Release Engineering - 3.103-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Fri Jun 19 2015 Fedora Release Engineering - 3.103-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Sun Jan 4 2015 Dmitry Butskoy - 3.103-5 +- add workaround for kernels >= 3.16 (#1155784, patch from Stas Sergeev ) + +* Mon Aug 18 2014 Fedora Release Engineering - 3.103-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Sun Jun 08 2014 Fedora Release Engineering - 3.103-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Sun Aug 04 2013 Fedora Release Engineering - 3.103-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Tue Apr 2 2013 Hans de Goede 3.103-1 +- New upstream version 3.103 + +* Sun Feb 10 2013 Parag Nemade - 3.101-7 +- Remove vendor tag from desktop file as per https://fedorahosted.org/fesco/ticket/1077 +- Cleanup spec as per recently changed packaging guidelines + +* Mon Jan 21 2013 Adam Tkac - 3.101-6 +- rebuild due to "jpeg8-ABI" feature drop + +* Fri Dec 21 2012 Adam Tkac - 3.101-5 +- rebuild against new libjpeg + +* Sun Jul 22 2012 Fedora Release Engineering - 3.101-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Sat Jan 14 2012 Fedora Release Engineering - 3.101-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Tue Dec 06 2011 Adam Jackson - 3.101-2 +- Rebuild for new libpng * Sun Jul 3 2011 Mauro Carvalho Chehab - 3.101-1 - update to Xawtv version 3.101: Adds support for alsa streams @@ -177,7 +257,7 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : - Update to Xawtv version 3.99.rc2 - All other patches from Fedora are now upstream -* Thu Jan 28 2011 Mauro Carvalho Chehab 3.99.rc1-1 +* Fri Jan 28 2011 Mauro Carvalho Chehab 3.99.rc1-1 - Update to Xawtv version 3.99.rc1 - Applied some fixes upstream fixing radio application and also some improvements from other patches that were found on Fedora. @@ -254,222 +334,3 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : bitstream-vera is now a default for "big" fullscreen-mode fonts. - add desktop entry and icons - add ALEVTD_REGION environment to change default teletext's region - - -* Tue Oct 21 2003 Florian La Roche -- add BuildReq for fontconfig-devel and freetype-devel, these seem - to get picked up - -* Mon Sep 01 2003 Than Ngo 3.88-5 -- Added missing BuildRequires for libpng-devel (bug #103447) - -* Tue Jun 17 2003 Than Ngo 3.88-4 -- fixed permission problem (bug #90921) - -* Tue Jun 17 2003 Than Ngo 3.88-3 -- rebuilt - -* Wed Jun 04 2003 Elliot Lee -- rebuilt - -* Tue May 6 2003 Than Ngo 3.88-1 -- 3.88 - -* Thu Mar 3 2003 Than Ngo 3.85-1 -- 3.85, (#85557, #81588, #74684, #61717) -- own /usr/lib/xawtv, (bug #73981) -- dependency on libjpeg-devel, (bug #48925) -- include alevtd daemon (bug #53878) -- create default configuration by install (bug #73270) - -* Sun Feb 10 2003 Than Ngo 3.81-6 -- install correct pam file, #83820 - -* Mon Jan 27 2003 Than Ngo 3.81-5 -- fix #81791 - -* Wed Jan 22 2003 Tim Powers -- rebuilt - -* Tue Jan 21 2003 Than Ngo 3.81-3 -- fix #81851 - -* Mon Dec 16 2002 Than Ngo 3.81-2 -- rebuild - -* Fri Dec 13 2002 Than Ngo 3.81-1 -- update 3.81 -- move bitmap fonts to bitmap-fonts package - -* Tue Nov 12 2002 Nalin Dahyabhai 3.78-2 -- adjust PAM configuration to not use absolute paths so that the right module - set gets used for the current arch on multilib systems - -* Thu Nov 7 2002 Than Ngo 3.78-1 -- 3.78 - -* Fri Jun 21 2002 Tim Powers -- automated rebuild - -* Thu Jun 20 2002 Than Ngo 3.74-3 -- Don't forcibly strip binaries - -* Sun May 26 2002 Tim Powers -- automated rebuild - -* Thu May 23 2002 Harald Hoyer -- 3.74 - -* Sun Apr 07 2002 han Ngo 3.73-3 -- remove motv manpage (#62771) - -* Tue Apr 2 2002 Than Ngo 3.73-2 -- get rid of openmotif - -* Sun Mar 24 2002 Than Ngo 3.73-1 -- update -- fix bug #61719 - -* Fri Mar 22 2002 Tim Powers -- rebuilt motv against new openmotif-2.2.2 - -* Tue Feb 26 2002 Than Ngo 3.72-1 -- update to 3.72 - -* Tue Feb 19 2002 Bernhard Rosenkraenzer 3.71-1 -- 3.71 - -* Fri Jan 18 2002 Than Ngo 3.68-1 -- update to 3.68 -- enable XFree extensions -- fix Url -- add missing plugins - -* Wed Dec 5 2001 Than Ngo 3.65-1 -- update to 3.65 -- fix build on ia64 - -* Wed Nov 14 2001 Than Ngo 3.64-1 -- update to 3.64 - -* Mon Sep 17 2001 Than Ngo 3.62-1 -- update to 3.62 (bug #53711 #52847) - -* Tue Aug 28 2001 Than Ngo 3.54-5 -- fix spec file bug (Bug #52675) - -* Fri Aug 10 2001 Than Ngo 3.54-4 -- add requires usermode (bug #51474) - -* Sun Aug 5 2001 Nalin Dahyabhai 3.54-3 -- tweak PAM setup so that v4l-conf can access the display properly - -* Tue Jul 10 2001 Elliot Lee 3.54-2 -- Rebuild to remove libXv/libXxf86dga deps - -* Mon Jul 02 2001 Than Ngo -- update to 3.54 - -* Fri Jun 22 2001 Than Ngo -- update to 3.53 -- add buildprereq -- remove some uneeeded patches - -* Tue Jun 19 2001 Karsten Hopp -- excludearch s390 s390x - -* Wed Jun 13 2001 Than Ngo -- update to 3.51 - -* Thu Jun 07 2001 Than Ngo -- update to 3.50 - -* Thu May 31 2001 Than Ngo -- udate to 3.49 - -* Tue May 22 2001 Than Ngo -- update to 3.48 - -* Mon May 21 2001 Tim Powers -- built for the distro - -* Wed May 18 2001 Karsten Hopp -- make xawtv work with kernel-2.4 - -* Wed May 16 2001 Than Ngo -- update to 3.47 - -* Mon May 07 2001 Than Ngo -- update to 3.45 -- add missing fonts - -* Tue Feb 13 2001 Than Ngo -- update to 3.34 -- use consolehelper for v4l-conf -- add excludearch sparc, bdftopcf is broken on sparc - -* Wed Jan 24 2001 Than Ngo -- updated to 3.30 -- use /dev/video0 instead /dev/video (bug #24871) -- fixed dependencies (Bug #24881) - -* Sun Nov 19 2000 Than Ngo -- update to 3.24 -- add missing tools (rootv,scantv) -- add missing prereq on xset and mkfontdir - -* Fri Nov 3 2000 Than Ngo -- update to 3.23 - -* Wed Aug 23 2000 Tim Powers -- rebuilt against new XFree86 to fix DGA problems - -* Mon Aug 21 2000 Than Ngo -- update to 3.18 (Bugfix release) -- option -nodga to disable DGA (Bug #16577, #15702) -- compress fonts with gzip - -* Mon Aug 07 2000 Tim Powers -- fixed bug #15435 - -* Mon Aug 07 2000 Than Ngo -- rebuilt against the new DGA -- fixed in post and postun, so that it does not - emits to console (Bug #15436) - - -* Sat Jul 29 2000 Than Ngo -- update to 3.17 - -* Mon Jul 24 2000 Prospector -- rebuilt - -* Wed Jul 12 2000 Than Ngo -- FHS fixes - -* Mon Jul 03 2000 Prospector -- automatic rebuild - -* Sun May 28 2000 Ngo Than -- update to 3.14 for 7.0 -- put man page in correct place -- add webcam -- bzip2 source -- cleanup specfile - -* Wed Jan 19 2000 Preston Brown -- font fix (#8610) in post and postun -- add missing files in bin - -* Sun Jan 16 2000 Preston Brown -- whoops! 3.07 already bugfix release - -* Fri Jan 14 2000 Ngo Than -- updated to 3.06 - -* Mon Jul 26 1999 Tim Powers -- updated to 2.46 -- built for 6.1 - -* Wed Apr 28 1999 Preston Brown -- initial build for Powertools 6.0 From 8bc20503911d471d034a7f48593257b2a731115d Mon Sep 17 00:00:00 2001 From: buc Date: Tue, 19 Jun 2018 16:02:22 +0300 Subject: [PATCH 17/20] Update to 3.105 --- ...ix-segfault-under-certain-conditions.patch | 27 ---- ...a-black-screen-in-case-of-fatal-erro.patch | 84 ++++++++++ ...ent-writing-outsize-framebuffer-area.patch | 74 +++++++++ ...efer-CAP_STREAMING-over-CAP_READWRIT.patch | 64 -------- ...ng-able-to-get-a-larger-latency-on-c.patch | 84 ---------- ...aying-texts-over-the-camera-streamin.patch | 85 ++++++++++ ...low-setting-alsa_latency-from-.xawtv.patch | 83 ---------- ...round-for-bttv-kernel-driver-planar-.patch | 48 ------ ...s.c-Remove-superfluous-add-end-of-fu.patch | 45 ------ ...t-not-being-able-to-tune-tv-channels.patch | 28 ---- ...appdata-files-for-xawtv-motv-and-mtt.patch | 146 ------------------ ...lementary-group-IDs-when-dropping-pr.patch | 44 ------ sources | 2 +- xawtv.spec | 42 ++--- 14 files changed, 255 insertions(+), 601 deletions(-) delete mode 100644 0001-XV-Fix-segfault-under-certain-conditions.patch create mode 100644 0001-fbtv-don-t-keep-a-black-screen-in-case-of-fatal-erro.patch create mode 100644 0002-fbdev-prevent-writing-outsize-framebuffer-area.patch delete mode 100644 0002-v4l2_getimage-prefer-CAP_STREAMING-over-CAP_READWRIT.patch delete mode 100644 0003-alsa-Fix-not-being-able-to-get-a-larger-latency-on-c.patch create mode 100644 0003-fbtv-allow-displaying-texts-over-the-camera-streamin.patch delete mode 100644 0004-xawtv-Allow-setting-alsa_latency-from-.xawtv.patch delete mode 100644 0005-v4l2-Add-a-workaround-for-bttv-kernel-driver-planar-.patch delete mode 100644 0006-get_media_devices.c-Remove-superfluous-add-end-of-fu.patch delete mode 100644 0007-mtt-Fix-mtt-not-being-able-to-tune-tv-channels.patch delete mode 100644 0008-Add-desktop-and-appdata-files-for-xawtv-motv-and-mtt.patch delete mode 100644 0009-alevtd-Drop-supplementary-group-IDs-when-dropping-pr.patch diff --git a/0001-XV-Fix-segfault-under-certain-conditions.patch b/0001-XV-Fix-segfault-under-certain-conditions.patch deleted file mode 100644 index 43c0ffc..0000000 --- a/0001-XV-Fix-segfault-under-certain-conditions.patch +++ /dev/null @@ -1,27 +0,0 @@ -From c69289c5c11e7a65d99db91e8ee38c0e58212c51 Mon Sep 17 00:00:00 2001 -From: "Bernhard M. Wiedemann" -Date: Sat, 27 Dec 2014 14:42:24 +0100 -Subject: [PATCH xawtv3 1/9] XV: Fix segfault under certain conditions - -Signed-off-by: Hans de Goede ---- - x11/blit.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/x11/blit.c b/x11/blit.c -index 0ac88b8..7b1de1b 100644 ---- a/x11/blit.c -+++ b/x11/blit.c -@@ -937,7 +937,8 @@ void blit_putframe(struct blit_state *st, struct ng_video_buf *buf) - - #ifdef HAVE_LIBXV - case STATUS_XVIDEO: -- memcpy(st->xvimage->data,buf->data,buf->size); -+ memcpy(st->xvimage->data,buf->data, -+ buf->size < st->xvimage->data_size ? buf->size : st->xvimage->data_size); - ng_release_video_buf(buf); - xv_blit(XtDisplay(st->widget), XtWindow(st->widget), - st->gc, st->xvimage, --- -2.7.1 - diff --git a/0001-fbtv-don-t-keep-a-black-screen-in-case-of-fatal-erro.patch b/0001-fbtv-don-t-keep-a-black-screen-in-case-of-fatal-erro.patch new file mode 100644 index 0000000..4cd6d87 --- /dev/null +++ b/0001-fbtv-don-t-keep-a-black-screen-in-case-of-fatal-erro.patch @@ -0,0 +1,84 @@ +From 185c8b182ac6f7fa6a5c69975f9dabdb9af6fce0 Mon Sep 17 00:00:00 2001 +From: Mauro Carvalho Chehab +Date: Mon, 11 Jun 2018 13:34:08 -0300 +Subject: [PATCH 1/3] fbtv: don't keep a black screen in case of fatal errors + +If something bad happens and fbtv exits, it should restore +the VT window, as otherwise the error messages won't be +displayed. + +So, be sure to call fb_cleanup() before calling exit(). + +Let's also start ncurses later, as this is used only to get +keys, and this happens only within the image display loop. + +Signed-off-by: Mauro Carvalho Chehab +--- + console/fbtv.c | 16 +++++++++++++--- + 1 file changed, 13 insertions(+), 3 deletions(-) + +diff --git a/console/fbtv.c b/console/fbtv.c +index aba517e4fc8e..33372385b7c6 100644 +--- a/console/fbtv.c ++++ b/console/fbtv.c +@@ -279,8 +279,8 @@ fb_initcolors(int fd, int gray) + #endif + break; + default: +- fprintf(stderr, "Oops: %i bit/pixel ???\n", +- fb_var.bits_per_pixel); ++ fb_cleanup(); ++ fprintf(stderr, "Oops: %i bit/pixel ???\n", fb_var.bits_per_pixel); + exit(1); + } + +@@ -404,6 +404,7 @@ static void do_capture(int from, int to, int tmp_switch) + if (0 != ng_grabber_setformat(&fmt,1)) { + gfmt = fmt; + if (NULL == (conv = ng_grabber_findconv(&gfmt,0))) { ++ fb_cleanup(); + fprintf(stderr,"can't find useful capture format\n"); + exit(1); + } +@@ -528,6 +529,7 @@ grabber_init(void) + + drv = ng_vid_open(&ng_dev.video, ng_dev.driver, &screen, 0, &h_drv); + if (NULL == drv) { ++ fb_cleanup(); + fprintf(stderr,"no grabber device available\n"); + exit(1); + } +@@ -724,7 +726,6 @@ main(int argc, char *argv[]) + exit_hook = do_exit; + fullscreen_hook = do_fullscreen; + +- tty_init(); + memset(&act,0,sizeof(act)); + act.sa_handler = ctrlc; + sigemptyset(&act.sa_mask); +@@ -770,6 +771,7 @@ main(int argc, char *argv[]) + } + #endif + ++ tty_init(); + fb_memset(fb_mem+fb_mem_offset,0,fb_fix.smem_len); + for (;!sig;) { + if ((fb_switch_state == FB_ACTIVE || keep_dma_on) && !quiet) { +@@ -824,6 +826,14 @@ main(int argc, char *argv[]) + fps++; + /* grab + convert frame */ + if (NULL == (buf = ng_grabber_grab_image(0))) { ++ do_va_cmd(2,"capture","off"); ++ if (mute) ++ audio_off(); ++ drv->close(h_drv); ++ if (fb_switch_state == FB_ACTIVE) ++ fb_memset(fb_mem+fb_mem_offset,0,fb_fix.smem_len); ++ tty_cleanup(); ++ fb_cleanup(); + fprintf(stderr,"capturing image failed\n"); + exit(1); + } +-- +2.17.1 + diff --git a/0002-fbdev-prevent-writing-outsize-framebuffer-area.patch b/0002-fbdev-prevent-writing-outsize-framebuffer-area.patch new file mode 100644 index 0000000..c331eea --- /dev/null +++ b/0002-fbdev-prevent-writing-outsize-framebuffer-area.patch @@ -0,0 +1,74 @@ +From bc3b0ec4d5f2af3e9b8e70287b4bdc885111f174 Mon Sep 17 00:00:00 2001 +From: Mauro Carvalho Chehab +Date: Mon, 11 Jun 2018 16:54:13 -0300 +Subject: [PATCH 2/3] fbdev: prevent writing outsize framebuffer area + +There are a series of things at the code that could overflow +and make it to try writing past the framebuffer. Prevent it. + +Signed-off-by: Mauro Carvalho Chehab +--- + console/fbtv.c | 25 +++++++++++++++++++++++-- + 1 file changed, 23 insertions(+), 2 deletions(-) + +diff --git a/console/fbtv.c b/console/fbtv.c +index 33372385b7c6..1d700e6f945f 100644 +--- a/console/fbtv.c ++++ b/console/fbtv.c +@@ -377,6 +377,14 @@ static void do_capture(int from, int to, int tmp_switch) + break; + } + ++ /* Sanity check: don't accept resolution higher than framebuffer */ ++ if (ww && hh) { ++ if (ww > fb_var.xres) ++ ww = fb_var.xres; ++ if (hh > fb_var.yres) ++ hh = fb_var.yres; ++ } ++ + /* on */ + memset(&buf,0,sizeof(buf)); + switch (to) { +@@ -411,8 +419,9 @@ static void do_capture(int from, int to, int tmp_switch) + ch = ng_convert_alloc(conv,&gfmt,&fmt); + ng_convert_init(ch); + } +- dx += (fb_var.xres-24-fmt.width)/2; +- dy += (fb_var.yres-16-fmt.height)/2; ++ ++ dx += (fb_var.xres - 24 - fmt.width)/2; ++ dy += (fb_var.yres - 16 - fmt.height)/2; + + if (f_drv & CAN_CAPTURE) + drv->startvideo(h_drv,-1,2); +@@ -464,6 +473,12 @@ static void do_capture(int from, int to, int tmp_switch) + } + break; + } ++ ++ /* Sanity checks: some of the formula above could overflow */ ++ if (dx < 0 || dx > fb_var.xres) ++ dx = 0; ++ if (dy < 0 || dy > fb_var.yres) ++ dy = 0; + } + + static void +@@ -848,7 +863,13 @@ main(int argc, char *argv[]) + + linesize = buf->fmt.width * (ng_vfmt_to_depth[fmt.fmtid] / 8); + ++ /* Prevent writing at the next line */ ++ if (linesize > fb_fix.line_length) ++ linesize = fb_fix.line_length; + for (ui = 0; ui < buf->fmt.height; ui++) { ++ if ((char *)dst + linesize > (char *)fb_mem + fb_mem_offset + fb_fix.smem_len) ++ break; ++ + memcpy(dst, src, linesize); + src += buf->fmt.bytesperline; + dst += fb_fix.line_length; +-- +2.17.1 + diff --git a/0002-v4l2_getimage-prefer-CAP_STREAMING-over-CAP_READWRIT.patch b/0002-v4l2_getimage-prefer-CAP_STREAMING-over-CAP_READWRIT.patch deleted file mode 100644 index 7d6daa4..0000000 --- a/0002-v4l2_getimage-prefer-CAP_STREAMING-over-CAP_READWRIT.patch +++ /dev/null @@ -1,64 +0,0 @@ -From 0f373e489aa12dbb42256c690899f9f4529c7f98 Mon Sep 17 00:00:00 2001 -From: Stas Sergeev -Date: Sat, 27 Dec 2014 22:04:58 +0300 -Subject: [PATCH xawtv3 2/9] v4l2_getimage: prefer CAP_STREAMING over - CAP_READWRITE - -This patch fixes Fedora buzilla #1155784: - https://bugzilla.redhat.com/show_bug.cgi?id=1155784 - -And got merged at Fedora xawtv package by: - Dmitry Butskoy - -Signed-off-by: Mauro Carvalho Chehab ---- - libng/plugins/drv0-v4l2.tmpl.c | 26 +++++++++++++------------- - 1 file changed, 13 insertions(+), 13 deletions(-) - -diff --git a/libng/plugins/drv0-v4l2.tmpl.c b/libng/plugins/drv0-v4l2.tmpl.c -index ded868d..2cbd34b 100644 ---- a/libng/plugins/drv0-v4l2.tmpl.c -+++ b/libng/plugins/drv0-v4l2.tmpl.c -@@ -1241,7 +1241,19 @@ v4l2_getimage(void *handle) - - size = h->fmt_me.bytesperline * h->fmt_me.height; - buf = ng_malloc_video_buf(&h->fmt_me,size); -- if (h->cap.capabilities & V4L2_CAP_READWRITE) { -+ if (h->cap.capabilities & V4L2_CAP_STREAMING) { -+ if (-1 == v4l2_start_streaming(h,1)) { -+ v4l2_stop_streaming(h); -+ return NULL; -+ } -+ frame = v4l2_waiton(h); -+ if (-1 == frame) { -+ v4l2_stop_streaming(h); -+ return NULL; -+ } -+ memcpy(buf->data,h->buf_me[0].data,size); -+ v4l2_stop_streaming(h); -+ } else { - #ifndef USE_LIBV4L - rc = read(h->fd,buf->data,size); - #else /* USE_LIBV4L */ -@@ -1269,18 +1281,6 @@ v4l2_getimage(void *handle) - ng_release_video_buf(buf); - return NULL; - } -- } else { -- if (-1 == v4l2_start_streaming(h,1)) { -- v4l2_stop_streaming(h); -- return NULL; -- } -- frame = v4l2_waiton(h); -- if (-1 == frame) { -- v4l2_stop_streaming(h); -- return NULL; -- } -- memcpy(buf->data,h->buf_me[0].data,size); -- v4l2_stop_streaming(h); - } - return buf; - } --- -2.7.1 - diff --git a/0003-alsa-Fix-not-being-able-to-get-a-larger-latency-on-c.patch b/0003-alsa-Fix-not-being-able-to-get-a-larger-latency-on-c.patch deleted file mode 100644 index 7002bb1..0000000 --- a/0003-alsa-Fix-not-being-able-to-get-a-larger-latency-on-c.patch +++ /dev/null @@ -1,84 +0,0 @@ -From daf4665a0d3c1af65b31887575ea8848ad71ace2 Mon Sep 17 00:00:00 2001 -From: Hans de Goede -Date: Mon, 1 Feb 2016 21:43:37 +0100 -Subject: [PATCH xawtv3 3/9] alsa: Fix not being able to get a larger latency - on capture devices with small max period sizes - -On some capture devices (e.g. bttv cards) the max period size is somewhat -small. Since we only use 2 perios on these devices we end up with only -allowing small latencies, which is a problem when e.g. using a usb codec -as output. - -This commit fixes this by adjusting the amount of periods on the capture -side when this happens. - -Signed-off-by: Hans de Goede ---- - common/alsa_stream.c | 22 +++++++++++++++++----- - 1 file changed, 17 insertions(+), 5 deletions(-) - -diff --git a/common/alsa_stream.c b/common/alsa_stream.c -index 3e33b5e..1165554 100644 ---- a/common/alsa_stream.c -+++ b/common/alsa_stream.c -@@ -109,9 +109,10 @@ static void getparams_periods(snd_pcm_t *handle, - snd_pcm_hw_params_t *params, - unsigned int *usecs, - unsigned int *count, -- const char *id) -+ int allow_adjust, const char *id) - { - unsigned min = 0, max = 0; -+ unsigned desired = *usecs * *count; - - snd_pcm_hw_params_get_periods_min(params, &min, 0); - snd_pcm_hw_params_get_periods_max(params, &max, 0); -@@ -137,6 +138,13 @@ static void getparams_periods(snd_pcm_t *handle, - if (*usecs > max) - *usecs = max; - } -+ -+ /* If we deviate from the desired size by more then 20% adjust count */ -+ if (allow_adjust && (((*usecs * *count) < (desired * 8 / 10)) || -+ ((*usecs * *count) > (desired * 12 / 10)))) { -+ *count = (desired + *usecs / 2) / *usecs; -+ getparams_periods(handle, params, usecs, count, 0, id); -+ } - } - - static int setparams_periods(snd_pcm_t *handle, -@@ -351,12 +359,16 @@ static int setparams(snd_pcm_t *phandle, snd_pcm_t *chandle, - /* Negotiate period parameters */ - - c_periodtime = latency * 1000 / c_periods; -- getparams_periods(chandle, c_hwparams, &c_periodtime, &c_periods, "capture"); -+ getparams_periods(chandle, c_hwparams, &c_periodtime, &c_periods, 1, "capture"); - p_periods = c_periods * 2; - p_periodtime = c_periodtime; -- getparams_periods(phandle, p_hwparams, &p_periodtime, &p_periods, "playback"); -+ getparams_periods(phandle, p_hwparams, &p_periodtime, &p_periods, 0, "playback"); - c_periods = p_periods / 2; - -+ if (verbose) -+ fprintf(error_fp, "alsa: Capture %u periods of %u usecs, Playback %u periods of %u usecs\n", -+ c_periods, c_periodtime, p_periods, p_periodtime); -+ - /* - * Some playback devices support a very limited periodtime range. If the user needs to - * use a higher latency to avoid overrun/underrun, use an alternate algorithm of incresing -@@ -365,10 +377,10 @@ static int setparams(snd_pcm_t *phandle, snd_pcm_t *chandle, - if (p_periodtime < c_periodtime) { - c_periodtime = p_periodtime; - c_periods = round (latency * 1000.0 / c_periodtime + 0.5); -- getparams_periods(chandle, c_hwparams, &c_periodtime, &c_periods, "capture"); -+ getparams_periods(chandle, c_hwparams, &c_periodtime, &c_periods, 0, "capture"); - p_periods = c_periods * 2; - p_periodtime = c_periodtime; -- getparams_periods(phandle, p_hwparams, &p_periodtime, &p_periods, "playback"); -+ getparams_periods(phandle, p_hwparams, &p_periodtime, &p_periods, 0, "playback"); - c_periods = p_periods / 2; - } - --- -2.7.1 - diff --git a/0003-fbtv-allow-displaying-texts-over-the-camera-streamin.patch b/0003-fbtv-allow-displaying-texts-over-the-camera-streamin.patch new file mode 100644 index 0000000..3530a5f --- /dev/null +++ b/0003-fbtv-allow-displaying-texts-over-the-camera-streamin.patch @@ -0,0 +1,85 @@ +From a4493b399e45a97b9dd14499f54719cc4095f447 Mon Sep 17 00:00:00 2001 +From: Mauro Carvalho Chehab +Date: Mon, 11 Jun 2018 17:04:14 -0300 +Subject: [PATCH 3/3] fbtv: allow displaying texts over the camera streaming + screen + +When the image is too big, there won't be a f->height space +before the streaming window. So, allow overwriting the fonts +on the top of it. + +Signed-off-by: Mauro Carvalho Chehab +--- + console/fbtv.c | 33 +++++++++++++++++++++------------ + 1 file changed, 21 insertions(+), 12 deletions(-) + +diff --git a/console/fbtv.c b/console/fbtv.c +index 1d700e6f945f..278443fcbf3c 100644 +--- a/console/fbtv.c ++++ b/console/fbtv.c +@@ -604,7 +604,7 @@ main(int argc, char *argv[]) + unsigned long freq; + struct timeval tv; + time_t t; +- char text[145],event[64],*env,*src,*dst; ++ char text1[145], text2[145], event[64], *env, *src, *dst; + fd_set set; + struct sigaction act,old; + +@@ -790,26 +790,28 @@ main(int argc, char *argv[]) + fb_memset(fb_mem+fb_mem_offset,0,fb_fix.smem_len); + for (;!sig;) { + if ((fb_switch_state == FB_ACTIVE || keep_dma_on) && !quiet) { +- /* clear first lines */ +- fb_memset(fb_mem+fb_mem_offset,0,f->height*fb_fix.line_length); + if (message[0] != '\0') { +- strcpy(text,message); ++ strcpy(text1, message); + } else { +- sprintf(text,"Framebuffer TV - %s",default_title); ++ sprintf(text1, "Framebuffer TV - %s",default_title); + } + /* debugging + preformance monitoring */ + switch (cur_capture) { + case CAPTURE_GRABDISPLAY: +- sprintf(text+strlen(text), " - grab %d.%d fps",fps/5,(fps*2)%10); ++ sprintf(text1 + strlen(text1), " - grab %d.%d fps", ++ fps / 5, (fps * 2) % 10); + break; + } +- text_out(0,0,text); + +- if (dy > 0) { +- /* display time */ +- time(&t); +- strftime(text,16,"%H:%M",localtime(&t)); +- text_out(fb_var.xres - text_width(text) - f->width, 0, text); ++ /* display time */ ++ time(&t); ++ strftime(text2, 16, "%H:%M", localtime(&t)); ++ ++ if (dy >= f->height) { ++ /* clear first lines */ ++ fb_memset(fb_mem+fb_mem_offset,0,f->height*fb_fix.line_length); ++ text_out(0,0,text1); ++ text_out(fb_var.xres - text_width(text2) - f->width, 0, text2); + } + } + if (switch_last != fb_switch_state) +@@ -883,6 +885,13 @@ main(int argc, char *argv[]) + tv.tv_usec = 0; + rc = select(fdmax,&set,NULL,NULL,&tv); + } ++ ++ /* If space is too short, overlay text at screen */ ++ if ((fb_switch_state == FB_ACTIVE || keep_dma_on) && !quiet && dy < f->height) { ++ text_out(0,0,text1); ++ text_out(fb_var.xres - text_width(text2) - f->width, 0, text2); ++ } ++ + err = errno; + if (switch_last != fb_switch_state) + console_switch(); +-- +2.17.1 + diff --git a/0004-xawtv-Allow-setting-alsa_latency-from-.xawtv.patch b/0004-xawtv-Allow-setting-alsa_latency-from-.xawtv.patch deleted file mode 100644 index 7fb192a..0000000 --- a/0004-xawtv-Allow-setting-alsa_latency-from-.xawtv.patch +++ /dev/null @@ -1,83 +0,0 @@ -From 196a14977a6c783cf4df531f8a71949763a63527 Mon Sep 17 00:00:00 2001 -From: Hans de Goede -Date: Tue, 2 Feb 2016 12:46:46 +0100 -Subject: [PATCH xawtv3 4/9] xawtv: Allow setting alsa_latency from ~/.xawtv - -This avoids the need to always have to specify this on the cmdline on -systems which need a value different from the default. - -Signed-off-by: Hans de Goede ---- - man/xawtvrc.5 | 5 +++++ - x11/xt.c | 16 +++++++++++++--- - 2 files changed, 18 insertions(+), 3 deletions(-) - -diff --git a/man/xawtvrc.5 b/man/xawtvrc.5 -index 136ceba..f1c3333 100644 ---- a/man/xawtvrc.5 -+++ b/man/xawtvrc.5 -@@ -209,6 +209,11 @@ details. - .TP - .B filter = name - Enable the specified filter. -+.TP -+.B alsa_latency = time_in_ms -+This can be used to specify the latency for the ALSA digital sound loopback -+which xawtv does. The default is 30ms if you're getting sound dropouts on your -+system try increasing this setting. - .SS The [launch] section - You can start other programs from within xawtv. This is configured - with entries in the "[launch]" section: -diff --git a/x11/xt.c b/x11/xt.c -index 2065ff4..9affb4a 100644 ---- a/x11/xt.c -+++ b/x11/xt.c -@@ -65,6 +65,10 @@ - - /*----------------------------------------------------------------------*/ - -+#define ALSA_LATENCY_DEFAULT 30 -+#define STR(X) __STR(X) -+#define __STR(X) #X -+ - XtAppContext app_context; - Widget app_shell, tv; - Widget on_shell; -@@ -167,7 +171,7 @@ XtResource args_desc[] = { - "alsa_latency", - XtCValue, XtRInt, sizeof(int), - XtOffset(struct ARGS*,alsa_latency), -- XtRString, "30" -+ XtRString, STR(ALSA_LATENCY_DEFAULT) - },{ - /* Integer */ - "debug", -@@ -1414,9 +1418,15 @@ static void x11_mute_notify(int val) - { - if (val) - alsa_thread_stop(); -- else if (!alsa_thread_is_running()) -+ else if (!alsa_thread_is_running()) { -+ if (args.readconfig && args.alsa_latency == ALSA_LATENCY_DEFAULT) { -+ int val = cfg_get_int("global", "alsa_latency"); -+ if (val > 0) -+ args.alsa_latency = val; -+ } - alsa_thread_startup(alsa_out, alsa_cap, args.alsa_latency, - stderr, debug); -+ } - } - #endif - -@@ -1698,7 +1708,7 @@ usage(void) - " -(no)alsa enable/disable alsa streaming. Default: enabled\n" - " -(no)alsa-cap manually specify an alsa capture interface\n" - " -(no)alsa-pb manually specify an alsa playback interface\n" -- " -alsa-latency manually specify an alsa latency in ms. Default: 30\n" -+ " -alsa-latency manually specify an alsa latency in ms. Default: " STR(ALSA_LATENCY_DEFAULT) "\n" - #endif - " -b -bpp n color depth of the display is n (n=24,32)\n" - " -o -outfile file filename base for snapshots\n" --- -2.7.1 - diff --git a/0005-v4l2-Add-a-workaround-for-bttv-kernel-driver-planar-.patch b/0005-v4l2-Add-a-workaround-for-bttv-kernel-driver-planar-.patch deleted file mode 100644 index 2a62d4a..0000000 --- a/0005-v4l2-Add-a-workaround-for-bttv-kernel-driver-planar-.patch +++ /dev/null @@ -1,48 +0,0 @@ -From 033d4af24e572741d0ab4f6064f01665395c38f9 Mon Sep 17 00:00:00 2001 -From: Hans de Goede -Date: Sun, 7 Feb 2016 17:21:19 +0100 -Subject: [PATCH xawtv3 5/9] v4l2: Add a workaround for bttv kernel driver - planar fmt width bug - -The bttv driver has a bug where it will return a width which is not -a multiple of 16 for planar formats, while it cannot handle this, -this commit adds a workaround for this. - -A kernel fix has been send upstream for this for 4.5 / 4.6, so -eventually this workaround should be removed again. - -Signed-off-by: Hans de Goede ---- - libng/plugins/drv0-v4l2.tmpl.c | 16 ++++++++++++++++ - 1 file changed, 16 insertions(+) - -diff --git a/libng/plugins/drv0-v4l2.tmpl.c b/libng/plugins/drv0-v4l2.tmpl.c -index 2cbd34b..8186ac7 100644 ---- a/libng/plugins/drv0-v4l2.tmpl.c -+++ b/libng/plugins/drv0-v4l2.tmpl.c -@@ -1122,6 +1122,22 @@ retry: - } - if (h->fmt_v4l2.fmt.pix.pixelformat != xawtv_pixelformat[fmt->fmtid]) - return -1; -+ -+ /* -+ * The bttv driver has a bug where it will return a width which is not -+ * a multiple of 16 for planar formats, while it cannot handle this, -+ * fix this up. -+ * -+ * A kernel fix has been send upstream for this for 4.5 / 4.6, so -+ * eventually this workaround should be removed. -+ */ -+ if (!strcmp(h->cap.driver, "bttv") && -+ (fmt->fmtid == VIDEO_YUV422P || fmt->fmtid == VIDEO_YUV420P) && -+ h->fmt_v4l2.fmt.pix.width % 16) { -+ fmt->width = h->fmt_v4l2.fmt.pix.width & ~15; -+ goto retry; -+ } -+ - fmt->width = h->fmt_v4l2.fmt.pix.width; - fmt->height = h->fmt_v4l2.fmt.pix.height; - fmt->bytesperline = h->fmt_v4l2.fmt.pix.bytesperline; --- -2.7.1 - diff --git a/0006-get_media_devices.c-Remove-superfluous-add-end-of-fu.patch b/0006-get_media_devices.c-Remove-superfluous-add-end-of-fu.patch deleted file mode 100644 index b29266a..0000000 --- a/0006-get_media_devices.c-Remove-superfluous-add-end-of-fu.patch +++ /dev/null @@ -1,45 +0,0 @@ -From 5ccb09b039bcc517293bd1013faa86719a950a51 Mon Sep 17 00:00:00 2001 -From: Hans de Goede -Date: Thu, 11 Feb 2016 13:11:48 +0100 -Subject: [PATCH xawtv3 6/9] get_media_devices.c: Remove superfluous ; add end - of functions - -Signed-off-by: Hans de Goede ---- - common/get_media_devices.c | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/common/get_media_devices.c b/common/get_media_devices.c -index a2d6354..619734e 100644 ---- a/common/get_media_devices.c -+++ b/common/get_media_devices.c -@@ -227,7 +227,7 @@ static int add_v4l_class(struct media_device_entry *md) - md->type = MEDIA_V4L_SUBDEV; - - return 0; --}; -+} - - static int add_snd_class(struct media_device_entry *md) - { -@@ -270,7 +270,7 @@ static int add_snd_class(struct media_device_entry *md) - md->node = strdup(node); - - return 0; --}; -+} - - static int add_dvb_class(struct media_device_entry *md) - { -@@ -294,7 +294,7 @@ static int add_dvb_class(struct media_device_entry *md) - md->type = MEDIA_DVB_OSD; - - return 0; --}; -+} - - static int sort_media_device_entry(const void *a, const void *b) - { --- -2.7.1 - diff --git a/0007-mtt-Fix-mtt-not-being-able-to-tune-tv-channels.patch b/0007-mtt-Fix-mtt-not-being-able-to-tune-tv-channels.patch deleted file mode 100644 index af351e5..0000000 --- a/0007-mtt-Fix-mtt-not-being-able-to-tune-tv-channels.patch +++ /dev/null @@ -1,28 +0,0 @@ -From d9a279f4d71edd070e7a549f29541951e546c60e Mon Sep 17 00:00:00 2001 -From: Hans de Goede -Date: Mon, 15 Feb 2016 22:07:50 +0100 -Subject: [PATCH xawtv3 7/9] mtt: Fix mtt not being able to tune tv channels - -Teletext should use the tv tuner not the radio tuner... - -Signed-off-by: Hans de Goede ---- - x11/vbi-gui.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/x11/vbi-gui.c b/x11/vbi-gui.c -index f4b19da..429c8b2 100644 ---- a/x11/vbi-gui.c -+++ b/x11/vbi-gui.c -@@ -917,7 +917,7 @@ static void vbi_station_cb(Widget widget, XtPointer client, XtPointer call) - struct v4l2_frequency frequency; - - memset (&frequency, 0, sizeof(frequency)); -- frequency.type = V4L2_TUNER_RADIO; -+ frequency.type = V4L2_TUNER_ANALOG_TV; - frequency.frequency = channels[i]->freq; - if (-1 == ioctl(vbi->fd, VIDIOC_S_FREQUENCY, &frequency)) - perror("ioctl VIDIOCSFREQ"); --- -2.7.1 - diff --git a/0008-Add-desktop-and-appdata-files-for-xawtv-motv-and-mtt.patch b/0008-Add-desktop-and-appdata-files-for-xawtv-motv-and-mtt.patch deleted file mode 100644 index 84ee4b7..0000000 --- a/0008-Add-desktop-and-appdata-files-for-xawtv-motv-and-mtt.patch +++ /dev/null @@ -1,146 +0,0 @@ -From b9f78802002fdca9e61cd67e257ad7ad9ef3ee28 Mon Sep 17 00:00:00 2001 -From: Hans de Goede -Date: Mon, 15 Feb 2016 18:24:16 +0100 -Subject: [PATCH xawtv3 8/9] Add desktop and appdata files for xawtv, motv and - mtt - -Signed-off-by: Hans de Goede ---- - contrib/motv.desktop | 10 ++++++++++ - contrib/motv.metainfo.xml | 11 +++++++++++ - contrib/mtt.desktop | 10 ++++++++++ - contrib/mtt.metainfo.xml | 11 +++++++++++ - contrib/xawtv.appdata.xml | 33 +++++++++++++++++++++++++++++++++ - contrib/xawtv.desktop | 10 ++++++++++ - 6 files changed, 85 insertions(+) - create mode 100644 contrib/motv.desktop - create mode 100644 contrib/motv.metainfo.xml - create mode 100644 contrib/mtt.desktop - create mode 100644 contrib/mtt.metainfo.xml - create mode 100644 contrib/xawtv.appdata.xml - create mode 100644 contrib/xawtv.desktop - -diff --git a/contrib/motv.desktop b/contrib/motv.desktop -new file mode 100644 -index 0000000..37093d4 ---- /dev/null -+++ b/contrib/motv.desktop -@@ -0,0 +1,10 @@ -+[Desktop Entry] -+Comment=Analog TV viewing application -+Icon=xawtv -+Exec=motv -+Name=MoTV Television Viewer -+Terminal=false -+StartupNotify=false -+Type=Application -+Categories=AudioVideo;Video; -+Keywords=video;tv;viewer;v4l;v4l2;video4linux; -diff --git a/contrib/motv.metainfo.xml b/contrib/motv.metainfo.xml -new file mode 100644 -index 0000000..7d3bc31 ---- /dev/null -+++ b/contrib/motv.metainfo.xml -@@ -0,0 +1,11 @@ -+ -+ -+ motv.desktop -+ xawtv.desktop -+ CC0-1.0 -+ GPL-2.0+ -+ MoTV Television Viewer -+ Motif UI version of xawtv -+ http://linuxtv.org/wiki/index.php/Xawtv -+ jwrdegoede_at_fedoraproject.org -+ -diff --git a/contrib/mtt.desktop b/contrib/mtt.desktop -new file mode 100644 -index 0000000..f04c29a ---- /dev/null -+++ b/contrib/mtt.desktop -@@ -0,0 +1,10 @@ -+[Desktop Entry] -+Comment=Analog TV Teletext viewing application -+Icon=xawtv -+Exec=mtt -+Name=MTT Teletext Viewer -+Terminal=false -+StartupNotify=false -+Type=Application -+Categories=AudioVideo;Video; -+Keywords=video;tv;viewer;v4l;v4l2;video4linux;teletext; -diff --git a/contrib/mtt.metainfo.xml b/contrib/mtt.metainfo.xml -new file mode 100644 -index 0000000..28f5c84 ---- /dev/null -+++ b/contrib/mtt.metainfo.xml -@@ -0,0 +1,11 @@ -+ -+ -+ mtt.desktop -+ xawtv.desktop -+ CC0-1.0 -+ GPL-2.0+ -+ MTT Teletext Viewer -+ Easy to use Teletext GUI -+ http://linuxtv.org/wiki/index.php/Xawtv -+ jwrdegoede_at_fedoraproject.org -+ -diff --git a/contrib/xawtv.appdata.xml b/contrib/xawtv.appdata.xml -new file mode 100644 -index 0000000..92959d2 ---- /dev/null -+++ b/contrib/xawtv.appdata.xml -@@ -0,0 +1,33 @@ -+ -+ -+ xawtv.desktop -+ CC0-1.0 -+ GPL-2.0+ -+ xawtv -+ Analog TV viewing application -+ -+

-+ xawtv was originally just an analog TV viewing application for Bttv -+ devices (bt848, bt878) using the Athena widgets, but evolved into a -+ small suite of X11 applications for V4L devices. -+

-+

-+ The xawtv package includes a number of useful console commandline -+ utilities: -+

-+
    -+
  • alevtd - a http deamon for use with analogue TV teletext
  • -+
  • radio -- a console radio listening app
  • -+
  • scantv -- an analogue TV frequency scanner
  • -+
  • v4l-conf -- current video mode (size and color depth)
  • -+
  • v4lctl -- used to control a v4l device and set varying image parameters
  • -+
  • webcam -- capture images from a webcam
  • -+
-+
-+ http://linuxtv.org/wiki/index.php/Xawtv -+ -+ http://www.easylinux.de/Artikel/ausgabe/2004/01/036-xawtv/tv_8.png -+ http://www.easylinux.de/Artikel/ausgabe/2004/01/036-xawtv/xawtv1.png -+ -+ jwrdegoede_at_fedoraproject.org -+
-diff --git a/contrib/xawtv.desktop b/contrib/xawtv.desktop -new file mode 100644 -index 0000000..349394d ---- /dev/null -+++ b/contrib/xawtv.desktop -@@ -0,0 +1,10 @@ -+[Desktop Entry] -+Comment=Analog TV viewing application -+Icon=xawtv -+Exec=xawtv -+Name=XawTV Television Viewer -+Terminal=false -+StartupNotify=false -+Type=Application -+Categories=AudioVideo;Video; -+Keywords=video;tv;viewer;v4l;v4l2;video4linux; --- -2.7.1 - diff --git a/0009-alevtd-Drop-supplementary-group-IDs-when-dropping-pr.patch b/0009-alevtd-Drop-supplementary-group-IDs-when-dropping-pr.patch deleted file mode 100644 index 695a93f..0000000 --- a/0009-alevtd-Drop-supplementary-group-IDs-when-dropping-pr.patch +++ /dev/null @@ -1,44 +0,0 @@ -From 2344af22120f3092a044881c4ed14af17a0d6f41 Mon Sep 17 00:00:00 2001 -From: Hans de Goede -Date: Mon, 15 Feb 2016 23:10:12 +0100 -Subject: [PATCH xawtv3 9/9] alevtd: Drop supplementary group IDs when dropping - privileges - -Noticed by rpmlint, seek POS36-C on the web for details about the problem. - -Signed-off-by: Hans de Goede ---- - vbistuff/alevtd.c | 8 ++++++-- - 1 file changed, 6 insertions(+), 2 deletions(-) - -diff --git a/vbistuff/alevtd.c b/vbistuff/alevtd.c -index c6211d3..2df4886 100644 ---- a/vbistuff/alevtd.c -+++ b/vbistuff/alevtd.c -@@ -168,8 +168,10 @@ fix_ug(void) - } - - /* set group */ -- if (getegid() != gr->gr_gid || getgid() != gr->gr_gid) -+ if (getegid() != gr->gr_gid || getgid() != gr->gr_gid) { -+ setgroups(0, NULL); - setgid(gr->gr_gid); -+ } - if (getegid() != gr->gr_gid || getgid() != gr->gr_gid) { - xerror(LOG_ERR,"setgid failed",NULL); - exit(1); -@@ -177,8 +179,10 @@ fix_ug(void) - strncpy(group,gr->gr_name,16); - - /* set user */ -- if (geteuid() != pw->pw_uid || getuid() != pw->pw_uid) -+ if (geteuid() != pw->pw_uid || getuid() != pw->pw_uid) { -+ setgroups(0, NULL); - setuid(pw->pw_uid); -+ } - if (geteuid() != pw->pw_uid || getuid() != pw->pw_uid) { - xerror(LOG_ERR,"setuid failed",NULL); - exit(1); --- -2.7.1 - diff --git a/sources b/sources index 17789a2..ac973d4 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -18822bb3660540fa9ea8b643a5b30d6b xawtv-3.103.tar.bz2 +SHA512 (xawtv-3.105.tar.bz2) = 0c1e2c3a73b3452778762b26a061f5646ef2a34de80027e17777ee9f6ca91ca5370b4790e2bdbe4b5edc864fe9775c9125c52e951fb08c83dc1706afbdf21e55 diff --git a/xawtv.spec b/xawtv.spec index 2b72e7c..305ce6a 100644 --- a/xawtv.spec +++ b/xawtv.spec @@ -2,25 +2,16 @@ Summary: TV applications for video4linux compliant devices Name: xawtv -Version: 3.103 -Release: 8%{?dist} +Version: 3.105 +Release: 1%{?dist} Group: Applications/Multimedia License: GPLv2+ URL: http://linuxtv.org/wiki/index.php/Xawtv Source0: http://linuxtv.org/downloads/xawtv/%{name}-%{version}.tar.bz2 - -BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) - -Patch1: 0001-XV-Fix-segfault-under-certain-conditions.patch -Patch2: 0002-v4l2_getimage-prefer-CAP_STREAMING-over-CAP_READWRIT.patch -Patch3: 0003-alsa-Fix-not-being-able-to-get-a-larger-latency-on-c.patch -Patch4: 0004-xawtv-Allow-setting-alsa_latency-from-.xawtv.patch -Patch5: 0005-v4l2-Add-a-workaround-for-bttv-kernel-driver-planar-.patch -Patch6: 0006-get_media_devices.c-Remove-superfluous-add-end-of-fu.patch -Patch7: 0007-mtt-Fix-mtt-not-being-able-to-tune-tv-channels.patch -Patch8: 0008-Add-desktop-and-appdata-files-for-xawtv-motv-and-mtt.patch -Patch9: 0009-alevtd-Drop-supplementary-group-IDs-when-dropping-pr.patch +Patch0: 0001-fbtv-don-t-keep-a-black-screen-in-case-of-fatal-erro.patch +Patch1: 0002-fbdev-prevent-writing-outsize-framebuffer-area.patch +Patch2: 0003-fbtv-allow-displaying-texts-over-the-camera-streamin.patch BuildRequires: mesa-libGL-devel, libXaw-devel, libXext-devel BuildRequires: libXft-devel, libXinerama-devel @@ -29,7 +20,7 @@ BuildRequires: libXxf86dga-devel, libXv-devel BuildRequires: openmotif-devel %{?with_quicktime:BuildRequires: libquicktime-devel} -BuildRequires: ncurses-devel, fileutils, libjpeg-devel, libpng-devel +BuildRequires: ncurses-devel, coreutils, libjpeg-devel, libpng-devel BuildRequires: alsa-lib-devel %ifnarch s390 s390x BuildRequires: libdv-devel @@ -67,15 +58,9 @@ which support teletext. %prep %setup -q +%patch0 -p1 %patch1 -p1 %patch2 -p1 -%patch3 -p1 -%patch4 -p1 -%patch5 -p1 -%patch6 -p1 -%patch7 -p1 -%patch8 -p1 -%patch9 -p1 %build @@ -85,8 +70,6 @@ make %{?_smp_mflags} verbose=yes %install -rm -rf $RPM_BUILD_ROOT - make DESTDIR=$RPM_BUILD_ROOT SUID_ROOT="" install %if %{without quicktime} @@ -131,10 +114,6 @@ mv $RPM_BUILD_ROOT%{_bindir}/v4l-conf $RPM_BUILD_ROOT%{_sbindir}/ ln -s consolehelper $RPM_BUILD_ROOT%{_bindir}/v4l-conf -%clean -rm -rf $RPM_BUILD_ROOT - - %post touch --no-create %{_datadir}/icons/hicolor &>/dev/null || : @@ -149,7 +128,6 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : %files -%defattr(-,root,root,-) %doc COPYING README TODO contrib/frequencies* %config(noreplace) %{_sysconfdir}/pam.d/v4l-conf %config(noreplace) %{_sysconfdir}/security/console.apps/v4l-conf @@ -169,7 +147,6 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : %lang(fr) %{_mandir}/fr/*/* %files motv -%defattr(-,root,root,-) %{_bindir}/motv %{_mandir}/man1/motv.1* %{_datadir}/X11/app-defaults/MoTV* @@ -179,7 +156,6 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : %{_datadir}/applications/motv.desktop %files mtt -%defattr(-,root,root,-) %{_bindir}/mtt %{_mandir}/man1/mtt.1* %{_datadir}/X11/app-defaults/mtt* @@ -187,6 +163,10 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : %changelog +* Tue Jun 19 2018 Dmitry Butskoy - 3.105-1 +- Upgrade to 3.105 +- spec file cleanup + * Wed Feb 17 2016 Dmitry Butskoy - 3.103-8 - Bring in several bugfix patch from upstream - Fix crash with saa7134 driver (rhbz#1305389) From 7c096a4bd7eb9a9fd7b6e5566c8b14ad67dfef3c Mon Sep 17 00:00:00 2001 From: Dmitry Butskoy Date: Sat, 26 Sep 2020 15:57:39 +0300 Subject: [PATCH 18/20] update to 3.107 --- ...a-black-screen-in-case-of-fatal-erro.patch | 84 ------------------ ...ent-writing-outsize-framebuffer-area.patch | 74 ---------------- ...aying-texts-over-the-camera-streamin.patch | 85 ------------------- sources | 2 +- xawtv.spec | 8 +- 5 files changed, 2 insertions(+), 251 deletions(-) delete mode 100644 0001-fbtv-don-t-keep-a-black-screen-in-case-of-fatal-erro.patch delete mode 100644 0002-fbdev-prevent-writing-outsize-framebuffer-area.patch delete mode 100644 0003-fbtv-allow-displaying-texts-over-the-camera-streamin.patch diff --git a/0001-fbtv-don-t-keep-a-black-screen-in-case-of-fatal-erro.patch b/0001-fbtv-don-t-keep-a-black-screen-in-case-of-fatal-erro.patch deleted file mode 100644 index 4cd6d87..0000000 --- a/0001-fbtv-don-t-keep-a-black-screen-in-case-of-fatal-erro.patch +++ /dev/null @@ -1,84 +0,0 @@ -From 185c8b182ac6f7fa6a5c69975f9dabdb9af6fce0 Mon Sep 17 00:00:00 2001 -From: Mauro Carvalho Chehab -Date: Mon, 11 Jun 2018 13:34:08 -0300 -Subject: [PATCH 1/3] fbtv: don't keep a black screen in case of fatal errors - -If something bad happens and fbtv exits, it should restore -the VT window, as otherwise the error messages won't be -displayed. - -So, be sure to call fb_cleanup() before calling exit(). - -Let's also start ncurses later, as this is used only to get -keys, and this happens only within the image display loop. - -Signed-off-by: Mauro Carvalho Chehab ---- - console/fbtv.c | 16 +++++++++++++--- - 1 file changed, 13 insertions(+), 3 deletions(-) - -diff --git a/console/fbtv.c b/console/fbtv.c -index aba517e4fc8e..33372385b7c6 100644 ---- a/console/fbtv.c -+++ b/console/fbtv.c -@@ -279,8 +279,8 @@ fb_initcolors(int fd, int gray) - #endif - break; - default: -- fprintf(stderr, "Oops: %i bit/pixel ???\n", -- fb_var.bits_per_pixel); -+ fb_cleanup(); -+ fprintf(stderr, "Oops: %i bit/pixel ???\n", fb_var.bits_per_pixel); - exit(1); - } - -@@ -404,6 +404,7 @@ static void do_capture(int from, int to, int tmp_switch) - if (0 != ng_grabber_setformat(&fmt,1)) { - gfmt = fmt; - if (NULL == (conv = ng_grabber_findconv(&gfmt,0))) { -+ fb_cleanup(); - fprintf(stderr,"can't find useful capture format\n"); - exit(1); - } -@@ -528,6 +529,7 @@ grabber_init(void) - - drv = ng_vid_open(&ng_dev.video, ng_dev.driver, &screen, 0, &h_drv); - if (NULL == drv) { -+ fb_cleanup(); - fprintf(stderr,"no grabber device available\n"); - exit(1); - } -@@ -724,7 +726,6 @@ main(int argc, char *argv[]) - exit_hook = do_exit; - fullscreen_hook = do_fullscreen; - -- tty_init(); - memset(&act,0,sizeof(act)); - act.sa_handler = ctrlc; - sigemptyset(&act.sa_mask); -@@ -770,6 +771,7 @@ main(int argc, char *argv[]) - } - #endif - -+ tty_init(); - fb_memset(fb_mem+fb_mem_offset,0,fb_fix.smem_len); - for (;!sig;) { - if ((fb_switch_state == FB_ACTIVE || keep_dma_on) && !quiet) { -@@ -824,6 +826,14 @@ main(int argc, char *argv[]) - fps++; - /* grab + convert frame */ - if (NULL == (buf = ng_grabber_grab_image(0))) { -+ do_va_cmd(2,"capture","off"); -+ if (mute) -+ audio_off(); -+ drv->close(h_drv); -+ if (fb_switch_state == FB_ACTIVE) -+ fb_memset(fb_mem+fb_mem_offset,0,fb_fix.smem_len); -+ tty_cleanup(); -+ fb_cleanup(); - fprintf(stderr,"capturing image failed\n"); - exit(1); - } --- -2.17.1 - diff --git a/0002-fbdev-prevent-writing-outsize-framebuffer-area.patch b/0002-fbdev-prevent-writing-outsize-framebuffer-area.patch deleted file mode 100644 index c331eea..0000000 --- a/0002-fbdev-prevent-writing-outsize-framebuffer-area.patch +++ /dev/null @@ -1,74 +0,0 @@ -From bc3b0ec4d5f2af3e9b8e70287b4bdc885111f174 Mon Sep 17 00:00:00 2001 -From: Mauro Carvalho Chehab -Date: Mon, 11 Jun 2018 16:54:13 -0300 -Subject: [PATCH 2/3] fbdev: prevent writing outsize framebuffer area - -There are a series of things at the code that could overflow -and make it to try writing past the framebuffer. Prevent it. - -Signed-off-by: Mauro Carvalho Chehab ---- - console/fbtv.c | 25 +++++++++++++++++++++++-- - 1 file changed, 23 insertions(+), 2 deletions(-) - -diff --git a/console/fbtv.c b/console/fbtv.c -index 33372385b7c6..1d700e6f945f 100644 ---- a/console/fbtv.c -+++ b/console/fbtv.c -@@ -377,6 +377,14 @@ static void do_capture(int from, int to, int tmp_switch) - break; - } - -+ /* Sanity check: don't accept resolution higher than framebuffer */ -+ if (ww && hh) { -+ if (ww > fb_var.xres) -+ ww = fb_var.xres; -+ if (hh > fb_var.yres) -+ hh = fb_var.yres; -+ } -+ - /* on */ - memset(&buf,0,sizeof(buf)); - switch (to) { -@@ -411,8 +419,9 @@ static void do_capture(int from, int to, int tmp_switch) - ch = ng_convert_alloc(conv,&gfmt,&fmt); - ng_convert_init(ch); - } -- dx += (fb_var.xres-24-fmt.width)/2; -- dy += (fb_var.yres-16-fmt.height)/2; -+ -+ dx += (fb_var.xres - 24 - fmt.width)/2; -+ dy += (fb_var.yres - 16 - fmt.height)/2; - - if (f_drv & CAN_CAPTURE) - drv->startvideo(h_drv,-1,2); -@@ -464,6 +473,12 @@ static void do_capture(int from, int to, int tmp_switch) - } - break; - } -+ -+ /* Sanity checks: some of the formula above could overflow */ -+ if (dx < 0 || dx > fb_var.xres) -+ dx = 0; -+ if (dy < 0 || dy > fb_var.yres) -+ dy = 0; - } - - static void -@@ -848,7 +863,13 @@ main(int argc, char *argv[]) - - linesize = buf->fmt.width * (ng_vfmt_to_depth[fmt.fmtid] / 8); - -+ /* Prevent writing at the next line */ -+ if (linesize > fb_fix.line_length) -+ linesize = fb_fix.line_length; - for (ui = 0; ui < buf->fmt.height; ui++) { -+ if ((char *)dst + linesize > (char *)fb_mem + fb_mem_offset + fb_fix.smem_len) -+ break; -+ - memcpy(dst, src, linesize); - src += buf->fmt.bytesperline; - dst += fb_fix.line_length; --- -2.17.1 - diff --git a/0003-fbtv-allow-displaying-texts-over-the-camera-streamin.patch b/0003-fbtv-allow-displaying-texts-over-the-camera-streamin.patch deleted file mode 100644 index 3530a5f..0000000 --- a/0003-fbtv-allow-displaying-texts-over-the-camera-streamin.patch +++ /dev/null @@ -1,85 +0,0 @@ -From a4493b399e45a97b9dd14499f54719cc4095f447 Mon Sep 17 00:00:00 2001 -From: Mauro Carvalho Chehab -Date: Mon, 11 Jun 2018 17:04:14 -0300 -Subject: [PATCH 3/3] fbtv: allow displaying texts over the camera streaming - screen - -When the image is too big, there won't be a f->height space -before the streaming window. So, allow overwriting the fonts -on the top of it. - -Signed-off-by: Mauro Carvalho Chehab ---- - console/fbtv.c | 33 +++++++++++++++++++++------------ - 1 file changed, 21 insertions(+), 12 deletions(-) - -diff --git a/console/fbtv.c b/console/fbtv.c -index 1d700e6f945f..278443fcbf3c 100644 ---- a/console/fbtv.c -+++ b/console/fbtv.c -@@ -604,7 +604,7 @@ main(int argc, char *argv[]) - unsigned long freq; - struct timeval tv; - time_t t; -- char text[145],event[64],*env,*src,*dst; -+ char text1[145], text2[145], event[64], *env, *src, *dst; - fd_set set; - struct sigaction act,old; - -@@ -790,26 +790,28 @@ main(int argc, char *argv[]) - fb_memset(fb_mem+fb_mem_offset,0,fb_fix.smem_len); - for (;!sig;) { - if ((fb_switch_state == FB_ACTIVE || keep_dma_on) && !quiet) { -- /* clear first lines */ -- fb_memset(fb_mem+fb_mem_offset,0,f->height*fb_fix.line_length); - if (message[0] != '\0') { -- strcpy(text,message); -+ strcpy(text1, message); - } else { -- sprintf(text,"Framebuffer TV - %s",default_title); -+ sprintf(text1, "Framebuffer TV - %s",default_title); - } - /* debugging + preformance monitoring */ - switch (cur_capture) { - case CAPTURE_GRABDISPLAY: -- sprintf(text+strlen(text), " - grab %d.%d fps",fps/5,(fps*2)%10); -+ sprintf(text1 + strlen(text1), " - grab %d.%d fps", -+ fps / 5, (fps * 2) % 10); - break; - } -- text_out(0,0,text); - -- if (dy > 0) { -- /* display time */ -- time(&t); -- strftime(text,16,"%H:%M",localtime(&t)); -- text_out(fb_var.xres - text_width(text) - f->width, 0, text); -+ /* display time */ -+ time(&t); -+ strftime(text2, 16, "%H:%M", localtime(&t)); -+ -+ if (dy >= f->height) { -+ /* clear first lines */ -+ fb_memset(fb_mem+fb_mem_offset,0,f->height*fb_fix.line_length); -+ text_out(0,0,text1); -+ text_out(fb_var.xres - text_width(text2) - f->width, 0, text2); - } - } - if (switch_last != fb_switch_state) -@@ -883,6 +885,13 @@ main(int argc, char *argv[]) - tv.tv_usec = 0; - rc = select(fdmax,&set,NULL,NULL,&tv); - } -+ -+ /* If space is too short, overlay text at screen */ -+ if ((fb_switch_state == FB_ACTIVE || keep_dma_on) && !quiet && dy < f->height) { -+ text_out(0,0,text1); -+ text_out(fb_var.xres - text_width(text2) - f->width, 0, text2); -+ } -+ - err = errno; - if (switch_last != fb_switch_state) - console_switch(); --- -2.17.1 - diff --git a/sources b/sources index ac973d4..2f64483 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (xawtv-3.105.tar.bz2) = 0c1e2c3a73b3452778762b26a061f5646ef2a34de80027e17777ee9f6ca91ca5370b4790e2bdbe4b5edc864fe9775c9125c52e951fb08c83dc1706afbdf21e55 +SHA512 (xawtv-3.107.tar.bz2) = 29935e9265a96223097e6c4ab65d06c45233238992901d63aa3008e6f35cb59d474cebabd4136e47451242ba35df9ef08f9ef762c01ad688833429bc72d61536 diff --git a/xawtv.spec b/xawtv.spec index 305ce6a..f13362d 100644 --- a/xawtv.spec +++ b/xawtv.spec @@ -2,16 +2,13 @@ Summary: TV applications for video4linux compliant devices Name: xawtv -Version: 3.105 +Version: 3.107 Release: 1%{?dist} Group: Applications/Multimedia License: GPLv2+ URL: http://linuxtv.org/wiki/index.php/Xawtv Source0: http://linuxtv.org/downloads/xawtv/%{name}-%{version}.tar.bz2 -Patch0: 0001-fbtv-don-t-keep-a-black-screen-in-case-of-fatal-erro.patch -Patch1: 0002-fbdev-prevent-writing-outsize-framebuffer-area.patch -Patch2: 0003-fbtv-allow-displaying-texts-over-the-camera-streamin.patch BuildRequires: mesa-libGL-devel, libXaw-devel, libXext-devel BuildRequires: libXft-devel, libXinerama-devel @@ -58,9 +55,6 @@ which support teletext. %prep %setup -q -%patch0 -p1 -%patch1 -p1 -%patch2 -p1 %build From 16e567e35aa8573ca407006335619be5b2716dd6 Mon Sep 17 00:00:00 2001 From: Dmitry Butskoy Date: Sat, 26 Sep 2020 16:12:19 +0300 Subject: [PATCH 19/20] Revert "update to 3.107" This reverts commit 7c096a4bd7eb9a9fd7b6e5566c8b14ad67dfef3c. --- ...a-black-screen-in-case-of-fatal-erro.patch | 84 ++++++++++++++++++ ...ent-writing-outsize-framebuffer-area.patch | 74 ++++++++++++++++ ...aying-texts-over-the-camera-streamin.patch | 85 +++++++++++++++++++ sources | 2 +- xawtv.spec | 8 +- 5 files changed, 251 insertions(+), 2 deletions(-) create mode 100644 0001-fbtv-don-t-keep-a-black-screen-in-case-of-fatal-erro.patch create mode 100644 0002-fbdev-prevent-writing-outsize-framebuffer-area.patch create mode 100644 0003-fbtv-allow-displaying-texts-over-the-camera-streamin.patch diff --git a/0001-fbtv-don-t-keep-a-black-screen-in-case-of-fatal-erro.patch b/0001-fbtv-don-t-keep-a-black-screen-in-case-of-fatal-erro.patch new file mode 100644 index 0000000..4cd6d87 --- /dev/null +++ b/0001-fbtv-don-t-keep-a-black-screen-in-case-of-fatal-erro.patch @@ -0,0 +1,84 @@ +From 185c8b182ac6f7fa6a5c69975f9dabdb9af6fce0 Mon Sep 17 00:00:00 2001 +From: Mauro Carvalho Chehab +Date: Mon, 11 Jun 2018 13:34:08 -0300 +Subject: [PATCH 1/3] fbtv: don't keep a black screen in case of fatal errors + +If something bad happens and fbtv exits, it should restore +the VT window, as otherwise the error messages won't be +displayed. + +So, be sure to call fb_cleanup() before calling exit(). + +Let's also start ncurses later, as this is used only to get +keys, and this happens only within the image display loop. + +Signed-off-by: Mauro Carvalho Chehab +--- + console/fbtv.c | 16 +++++++++++++--- + 1 file changed, 13 insertions(+), 3 deletions(-) + +diff --git a/console/fbtv.c b/console/fbtv.c +index aba517e4fc8e..33372385b7c6 100644 +--- a/console/fbtv.c ++++ b/console/fbtv.c +@@ -279,8 +279,8 @@ fb_initcolors(int fd, int gray) + #endif + break; + default: +- fprintf(stderr, "Oops: %i bit/pixel ???\n", +- fb_var.bits_per_pixel); ++ fb_cleanup(); ++ fprintf(stderr, "Oops: %i bit/pixel ???\n", fb_var.bits_per_pixel); + exit(1); + } + +@@ -404,6 +404,7 @@ static void do_capture(int from, int to, int tmp_switch) + if (0 != ng_grabber_setformat(&fmt,1)) { + gfmt = fmt; + if (NULL == (conv = ng_grabber_findconv(&gfmt,0))) { ++ fb_cleanup(); + fprintf(stderr,"can't find useful capture format\n"); + exit(1); + } +@@ -528,6 +529,7 @@ grabber_init(void) + + drv = ng_vid_open(&ng_dev.video, ng_dev.driver, &screen, 0, &h_drv); + if (NULL == drv) { ++ fb_cleanup(); + fprintf(stderr,"no grabber device available\n"); + exit(1); + } +@@ -724,7 +726,6 @@ main(int argc, char *argv[]) + exit_hook = do_exit; + fullscreen_hook = do_fullscreen; + +- tty_init(); + memset(&act,0,sizeof(act)); + act.sa_handler = ctrlc; + sigemptyset(&act.sa_mask); +@@ -770,6 +771,7 @@ main(int argc, char *argv[]) + } + #endif + ++ tty_init(); + fb_memset(fb_mem+fb_mem_offset,0,fb_fix.smem_len); + for (;!sig;) { + if ((fb_switch_state == FB_ACTIVE || keep_dma_on) && !quiet) { +@@ -824,6 +826,14 @@ main(int argc, char *argv[]) + fps++; + /* grab + convert frame */ + if (NULL == (buf = ng_grabber_grab_image(0))) { ++ do_va_cmd(2,"capture","off"); ++ if (mute) ++ audio_off(); ++ drv->close(h_drv); ++ if (fb_switch_state == FB_ACTIVE) ++ fb_memset(fb_mem+fb_mem_offset,0,fb_fix.smem_len); ++ tty_cleanup(); ++ fb_cleanup(); + fprintf(stderr,"capturing image failed\n"); + exit(1); + } +-- +2.17.1 + diff --git a/0002-fbdev-prevent-writing-outsize-framebuffer-area.patch b/0002-fbdev-prevent-writing-outsize-framebuffer-area.patch new file mode 100644 index 0000000..c331eea --- /dev/null +++ b/0002-fbdev-prevent-writing-outsize-framebuffer-area.patch @@ -0,0 +1,74 @@ +From bc3b0ec4d5f2af3e9b8e70287b4bdc885111f174 Mon Sep 17 00:00:00 2001 +From: Mauro Carvalho Chehab +Date: Mon, 11 Jun 2018 16:54:13 -0300 +Subject: [PATCH 2/3] fbdev: prevent writing outsize framebuffer area + +There are a series of things at the code that could overflow +and make it to try writing past the framebuffer. Prevent it. + +Signed-off-by: Mauro Carvalho Chehab +--- + console/fbtv.c | 25 +++++++++++++++++++++++-- + 1 file changed, 23 insertions(+), 2 deletions(-) + +diff --git a/console/fbtv.c b/console/fbtv.c +index 33372385b7c6..1d700e6f945f 100644 +--- a/console/fbtv.c ++++ b/console/fbtv.c +@@ -377,6 +377,14 @@ static void do_capture(int from, int to, int tmp_switch) + break; + } + ++ /* Sanity check: don't accept resolution higher than framebuffer */ ++ if (ww && hh) { ++ if (ww > fb_var.xres) ++ ww = fb_var.xres; ++ if (hh > fb_var.yres) ++ hh = fb_var.yres; ++ } ++ + /* on */ + memset(&buf,0,sizeof(buf)); + switch (to) { +@@ -411,8 +419,9 @@ static void do_capture(int from, int to, int tmp_switch) + ch = ng_convert_alloc(conv,&gfmt,&fmt); + ng_convert_init(ch); + } +- dx += (fb_var.xres-24-fmt.width)/2; +- dy += (fb_var.yres-16-fmt.height)/2; ++ ++ dx += (fb_var.xres - 24 - fmt.width)/2; ++ dy += (fb_var.yres - 16 - fmt.height)/2; + + if (f_drv & CAN_CAPTURE) + drv->startvideo(h_drv,-1,2); +@@ -464,6 +473,12 @@ static void do_capture(int from, int to, int tmp_switch) + } + break; + } ++ ++ /* Sanity checks: some of the formula above could overflow */ ++ if (dx < 0 || dx > fb_var.xres) ++ dx = 0; ++ if (dy < 0 || dy > fb_var.yres) ++ dy = 0; + } + + static void +@@ -848,7 +863,13 @@ main(int argc, char *argv[]) + + linesize = buf->fmt.width * (ng_vfmt_to_depth[fmt.fmtid] / 8); + ++ /* Prevent writing at the next line */ ++ if (linesize > fb_fix.line_length) ++ linesize = fb_fix.line_length; + for (ui = 0; ui < buf->fmt.height; ui++) { ++ if ((char *)dst + linesize > (char *)fb_mem + fb_mem_offset + fb_fix.smem_len) ++ break; ++ + memcpy(dst, src, linesize); + src += buf->fmt.bytesperline; + dst += fb_fix.line_length; +-- +2.17.1 + diff --git a/0003-fbtv-allow-displaying-texts-over-the-camera-streamin.patch b/0003-fbtv-allow-displaying-texts-over-the-camera-streamin.patch new file mode 100644 index 0000000..3530a5f --- /dev/null +++ b/0003-fbtv-allow-displaying-texts-over-the-camera-streamin.patch @@ -0,0 +1,85 @@ +From a4493b399e45a97b9dd14499f54719cc4095f447 Mon Sep 17 00:00:00 2001 +From: Mauro Carvalho Chehab +Date: Mon, 11 Jun 2018 17:04:14 -0300 +Subject: [PATCH 3/3] fbtv: allow displaying texts over the camera streaming + screen + +When the image is too big, there won't be a f->height space +before the streaming window. So, allow overwriting the fonts +on the top of it. + +Signed-off-by: Mauro Carvalho Chehab +--- + console/fbtv.c | 33 +++++++++++++++++++++------------ + 1 file changed, 21 insertions(+), 12 deletions(-) + +diff --git a/console/fbtv.c b/console/fbtv.c +index 1d700e6f945f..278443fcbf3c 100644 +--- a/console/fbtv.c ++++ b/console/fbtv.c +@@ -604,7 +604,7 @@ main(int argc, char *argv[]) + unsigned long freq; + struct timeval tv; + time_t t; +- char text[145],event[64],*env,*src,*dst; ++ char text1[145], text2[145], event[64], *env, *src, *dst; + fd_set set; + struct sigaction act,old; + +@@ -790,26 +790,28 @@ main(int argc, char *argv[]) + fb_memset(fb_mem+fb_mem_offset,0,fb_fix.smem_len); + for (;!sig;) { + if ((fb_switch_state == FB_ACTIVE || keep_dma_on) && !quiet) { +- /* clear first lines */ +- fb_memset(fb_mem+fb_mem_offset,0,f->height*fb_fix.line_length); + if (message[0] != '\0') { +- strcpy(text,message); ++ strcpy(text1, message); + } else { +- sprintf(text,"Framebuffer TV - %s",default_title); ++ sprintf(text1, "Framebuffer TV - %s",default_title); + } + /* debugging + preformance monitoring */ + switch (cur_capture) { + case CAPTURE_GRABDISPLAY: +- sprintf(text+strlen(text), " - grab %d.%d fps",fps/5,(fps*2)%10); ++ sprintf(text1 + strlen(text1), " - grab %d.%d fps", ++ fps / 5, (fps * 2) % 10); + break; + } +- text_out(0,0,text); + +- if (dy > 0) { +- /* display time */ +- time(&t); +- strftime(text,16,"%H:%M",localtime(&t)); +- text_out(fb_var.xres - text_width(text) - f->width, 0, text); ++ /* display time */ ++ time(&t); ++ strftime(text2, 16, "%H:%M", localtime(&t)); ++ ++ if (dy >= f->height) { ++ /* clear first lines */ ++ fb_memset(fb_mem+fb_mem_offset,0,f->height*fb_fix.line_length); ++ text_out(0,0,text1); ++ text_out(fb_var.xres - text_width(text2) - f->width, 0, text2); + } + } + if (switch_last != fb_switch_state) +@@ -883,6 +885,13 @@ main(int argc, char *argv[]) + tv.tv_usec = 0; + rc = select(fdmax,&set,NULL,NULL,&tv); + } ++ ++ /* If space is too short, overlay text at screen */ ++ if ((fb_switch_state == FB_ACTIVE || keep_dma_on) && !quiet && dy < f->height) { ++ text_out(0,0,text1); ++ text_out(fb_var.xres - text_width(text2) - f->width, 0, text2); ++ } ++ + err = errno; + if (switch_last != fb_switch_state) + console_switch(); +-- +2.17.1 + diff --git a/sources b/sources index 2f64483..ac973d4 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (xawtv-3.107.tar.bz2) = 29935e9265a96223097e6c4ab65d06c45233238992901d63aa3008e6f35cb59d474cebabd4136e47451242ba35df9ef08f9ef762c01ad688833429bc72d61536 +SHA512 (xawtv-3.105.tar.bz2) = 0c1e2c3a73b3452778762b26a061f5646ef2a34de80027e17777ee9f6ca91ca5370b4790e2bdbe4b5edc864fe9775c9125c52e951fb08c83dc1706afbdf21e55 diff --git a/xawtv.spec b/xawtv.spec index f13362d..305ce6a 100644 --- a/xawtv.spec +++ b/xawtv.spec @@ -2,13 +2,16 @@ Summary: TV applications for video4linux compliant devices Name: xawtv -Version: 3.107 +Version: 3.105 Release: 1%{?dist} Group: Applications/Multimedia License: GPLv2+ URL: http://linuxtv.org/wiki/index.php/Xawtv Source0: http://linuxtv.org/downloads/xawtv/%{name}-%{version}.tar.bz2 +Patch0: 0001-fbtv-don-t-keep-a-black-screen-in-case-of-fatal-erro.patch +Patch1: 0002-fbdev-prevent-writing-outsize-framebuffer-area.patch +Patch2: 0003-fbtv-allow-displaying-texts-over-the-camera-streamin.patch BuildRequires: mesa-libGL-devel, libXaw-devel, libXext-devel BuildRequires: libXft-devel, libXinerama-devel @@ -55,6 +58,9 @@ which support teletext. %prep %setup -q +%patch0 -p1 +%patch1 -p1 +%patch2 -p1 %build From a4d9cee27e38284d86d9c06bf01ddbc0634f2ef0 Mon Sep 17 00:00:00 2001 From: Dmitry Butskoy Date: Sat, 26 Sep 2020 16:21:44 +0300 Subject: [PATCH 20/20] fix CVE-2020-13696 (#1882287) --- xawtv-3.105-cve_2020_13696.patch | 35 ++++++++++++++++++++++++++++++++ xawtv.spec | 7 ++++++- 2 files changed, 41 insertions(+), 1 deletion(-) create mode 100644 xawtv-3.105-cve_2020_13696.patch diff --git a/xawtv-3.105-cve_2020_13696.patch b/xawtv-3.105-cve_2020_13696.patch new file mode 100644 index 0000000..6343bfd --- /dev/null +++ b/xawtv-3.105-cve_2020_13696.patch @@ -0,0 +1,35 @@ +diff --git a/console/v4l-conf.c b/console/v4l-conf.c +index c38bf16..c96886b 100644 +--- a/console/v4l-conf.c ++++ b/console/v4l-conf.c +@@ -141,20 +141,23 @@ dev_open(const char *device, int major) + exit(1); + } + +- /* open & check v4l device */ +- if (-1 == (fd = open(device,O_RDWR))) { +- fprintf(stderr, "can't open %s: %s\n", device, strerror(errno)); ++ /* First check if the device is really a devnode of the right type */ ++ if (-1 == stat(device, &stb)) { ++ fprintf(stderr, "stat(%s): %s\n", device, strerror(errno)); + exit(1); + } + +- if (-1 == fstat(fd,&stb)) { +- fprintf(stderr, "fstat(%s): %s\n", device, strerror(errno)); +- exit(1); +- } + if (!S_ISCHR(stb.st_mode) || (major(stb.st_rdev) != major)) { + fprintf(stderr, "%s: wrong device\n", device); + exit(1); + } ++ ++ /* Then open it */ ++ if (-1 == (fd = open(device,O_RDWR))) { ++ fprintf(stderr, "can't open %s: %s\n", device, strerror(errno)); ++ exit(1); ++ } ++ + return fd; + } + diff --git a/xawtv.spec b/xawtv.spec index 305ce6a..c4ca722 100644 --- a/xawtv.spec +++ b/xawtv.spec @@ -3,7 +3,7 @@ Summary: TV applications for video4linux compliant devices Name: xawtv Version: 3.105 -Release: 1%{?dist} +Release: 2%{?dist} Group: Applications/Multimedia License: GPLv2+ URL: http://linuxtv.org/wiki/index.php/Xawtv @@ -12,6 +12,7 @@ Source0: http://linuxtv.org/downloads/xawtv/%{name}-%{version}.tar.bz2 Patch0: 0001-fbtv-don-t-keep-a-black-screen-in-case-of-fatal-erro.patch Patch1: 0002-fbdev-prevent-writing-outsize-framebuffer-area.patch Patch2: 0003-fbtv-allow-displaying-texts-over-the-camera-streamin.patch +Patch3: xawtv-3.105-cve_2020_13696.patch BuildRequires: mesa-libGL-devel, libXaw-devel, libXext-devel BuildRequires: libXft-devel, libXinerama-devel @@ -61,6 +62,7 @@ which support teletext. %patch0 -p1 %patch1 -p1 %patch2 -p1 +%patch3 -p1 %build @@ -163,6 +165,9 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : %changelog +* Sat Sep 26 2020 Dmitry Butskoy - 3.105-2 +- fix CVE-2020-13696 (#1882287) + * Tue Jun 19 2018 Dmitry Butskoy - 3.105-1 - Upgrade to 3.105 - spec file cleanup