diff options
-rw-r--r-- | debian/changelog | 8 | ||||
-rw-r--r-- | debian/patches/00list | 1 | ||||
-rw-r--r-- | debian/patches/17_ftbfs_drop_V4L1 | 206 |
3 files changed, 215 insertions, 0 deletions
diff --git a/debian/changelog b/debian/changelog index fee0277..b488282 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,11 @@ +linuxtv-dvb-apps (1.1.1+rev1355-1.1) unstable; urgency=low + + * Non-maintainer upload. + * Fix FTBFS: linux/videodev.h: Remove legacy V4L1 test app as per upstream + hg changeset 1424. (Closes: #621964) (LP: #756224) Thanks Daniel T Chen. + + -- Simon Paillard <spaillard@debian.org> Sat, 10 Dec 2011 10:50:26 +0100 + linuxtv-dvb-apps (1.1.1+rev1355-1) unstable; urgency=low * New upstream release diff --git a/debian/patches/00list b/debian/patches/00list index daa0d13..2becd35 100644 --- a/debian/patches/00list +++ b/debian/patches/00list @@ -1,3 +1,4 @@ 01_README.scan 09_x_zap_flush_stdout 15_stdint_include +17_ftbfs_drop_V4L1 diff --git a/debian/patches/17_ftbfs_drop_V4L1 b/debian/patches/17_ftbfs_drop_V4L1 new file mode 100644 index 0000000..62a319a --- /dev/null +++ b/debian/patches/17_ftbfs_drop_V4L1 @@ -0,0 +1,206 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 17_ftbfs_drop_V4L1 by Daniel T Chen <crimsun@ubuntu.com> +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Upstream removed the legacy test app in hg changeset 1424. +## DP: http://linuxtv.org/hg/dvb-apps/rev/e5745959ca83 +## DP: Follow suit to fix FTBFS (Closes: #621964) + +@DPATCH@ +diff -r 3c14666ebdcc -r e5745959ca83 test/Makefile +--- a/test/Makefile Sun Apr 03 10:57:58 2011 -0300 ++++ b/test/Makefile Sun Apr 03 11:05:32 2011 -0300 +@@ -20,7 +20,6 @@ + test_vevent \ + test_video \ + evtest \ +- video \ + szap2 + + .PHONY: all +diff -r 3c14666ebdcc -r e5745959ca83 test/video.c +--- a/test/video.c Sun Apr 03 10:57:58 2011 -0300 ++++ /dev/null Thu Jan 01 00:00:00 1970 +0000 +@@ -1,182 +0,0 @@ +-#define USAGE \ +-"\n" \ +-"\n A tiny video watching application, just starts capturing /dev/video" \ +-"\n into /dev/fb0." \ +-"\n Be shure to have >8Bit/pixel color resolution and r/w access for " \ +-"\n /dev/video0, /dev/fb0 and /dev/tty0 to let this work..." \ +-"\n" \ +-"\n compile with" \ +-"\n" \ +-"\n $ gcc -g -Wall -O2 -o video video.c -I../../ost/include" \ +-"\n" +- +-#include <sys/mman.h> +-#include <sys/ioctl.h> +-#include <sys/types.h> +-#include <sys/time.h> +-#include <unistd.h> +-#include <fcntl.h> +-#include <signal.h> +-#include <stdio.h> +-#include <stdlib.h> +-#include <string.h> +- +-#include <linux/fb.h> +-#include <linux/videodev.h> +- +-#define VIDEO_DEV "/dev/video0" +-#define FB_DEV "/dev/fb0" +-#define VT_DEV "/dev/tty0" +- +-static char *video_devname = VIDEO_DEV; +- +-#define min(a,b) (a) < (b) ? (a) : (b) +- +-static int zero = 0; +-static int one = 1; +- +-static struct fb_var_screeninfo fb_var; +-static struct fb_fix_screeninfo fb_fix; +- +- +-int init_fb (void) +-{ +- const char blankoff_str[] = "\033[9;0]"; +- int fd, vt_fd; +- +- fd = open (FB_DEV, O_RDWR); +- if (fd < 0) { +- perror("Could not open " FB_DEV ", please check permissions\n"); +- return 1; +- } +- +- if ((vt_fd = open( VT_DEV, O_RDWR )) < 0) { +- perror("Could not open " VT_DEV ", please check permissions\n"); +- return 1; +- } +- +- write( vt_fd, blankoff_str, strlen(blankoff_str) ); +- +- if (ioctl (fd, FBIOGET_VSCREENINFO, &fb_var) < 0) { +- perror("Could not get variable screen information (fb_var)\n"); +- return 1; +- } +- +- if (ioctl (fd, FBIOGET_FSCREENINFO, &fb_fix) < 0) { +- perror("Could not get fixed screen information (fb_fix)\n"); +- return 1; +- } +- +- close (fd); +- return 0; +-} +- +- +-int init_video (int stop) +-{ +- int fd; +- struct video_capability vcap; +- +- if ((fd = open (video_devname, O_RDWR)) < 0) { +- fprintf (stderr, +- "%s: Could not open %s, please check permissions\n", +- __FUNCTION__, video_devname); +- return -1; +- } +- +- ioctl(fd, VIDIOCGCAP, &vcap); +- +- if (ioctl(fd, VIDIOCCAPTURE, &zero) < 0) { +- perror("Could not stop capturing (VIDIOCCAPTURE failed)\n"); +- return -2; +- } +- +- if (stop) +- return 0; +- +- { +- struct video_buffer b; +- b.base = (void*) fb_fix.smem_start; +- b.width = fb_var.xres; +- b.height = fb_var.yres; +- b.depth = fb_var.bits_per_pixel; +- b.bytesperline = fb_var.xres*((fb_var.bits_per_pixel+7)/8); +- if (ioctl(fd, VIDIOCSFBUF, &b) < 0) { +- fprintf(stderr, "VIDIOCSFBUF failed, must run as root?\n"); +- return -3; +- } +- } +- +- { +- struct video_picture p; +- if (ioctl(fd, VIDIOCGPICT, &p) < 0) { +- perror("VIDIOCGPICT failed\n"); +- return -4; +- } +- p.depth = fb_var.bits_per_pixel; +- switch (fb_var.bits_per_pixel) { +- case 16: +- p.palette = VIDEO_PALETTE_RGB565; +- break; +- case 24: +- p.palette = VIDEO_PALETTE_RGB24; +- break; +- case 32: +- p.palette = VIDEO_PALETTE_RGB32; +- break; +- } +- //p.contrast = 0x8000; +- //p.colour = 0x6000; +- if (ioctl(fd, VIDIOCSPICT, &p) < 0) { +- perror("VIDIOCSPICT failed\n"); +- return -5; +- } +- } +- +- { +- struct video_window win; +- win.width = min((__u32) vcap.maxwidth, fb_var.xres); +- win.height = min((__u32) vcap.maxheight, fb_var.yres); +- win.x = 0; +- win.y = 0; +- win.flags = 0; +- win.clips = NULL; +- win.clipcount = 0; +- win.chromakey = 0; +- if (ioctl(fd, VIDIOCSWIN, &win) < 0) { +- perror("VIDIOCSWIN failed\n"); +- return -6; +- } +- } +- +- if (ioctl(fd, VIDIOCCAPTURE, &one) < 0) { +- perror("Could not start capturing (VIDIOCCAPTURE failed)\n"); +- return -7; +- } +- +- close (fd); +- +- return 0; +-} +- +-int main (int argc, char **argv) +-{ +- int err = 0, stop = 0; +- +- if ((err = init_fb())) +- return err; +- +- if ((argc == 2 && strcmp(argv[1], "stop") == 0) || +- (argc == 3 && strcmp(argv[2], "stop") == 0)) +- stop = 1; +- +- if ((argc == 2 && !stop) || argc == 3) +- video_devname = argv[1]; +- +- if (argc != 1 && argc != 2 && !(argc == 3 && stop)) { +- fprintf(stderr, "usage: %s <devname> <stop>\n" USAGE, argv[0]); +- exit (-1); +- } +- +- return init_video (stop); +-} |