diff --git a/.cvsignore b/.cvsignore index 9a8598a..033f22c 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1,3 +1 @@ -libdv-0.102.tar.gz -libdv-0.103.tar.gz libdv-0.104.tar.gz diff --git a/libdv-0.104-no-exec-stack.patch b/libdv-0.104-no-exec-stack.patch new file mode 100644 index 0000000..7abb35c --- /dev/null +++ b/libdv-0.104-no-exec-stack.patch @@ -0,0 +1,137 @@ +Make sure that the asm files don't incorrectly trigger an executable +stack marking in the final shared library. That's bad, mmmkay. + +Upstream has already fixed this in their cvs. + +--- libdv/dct_block_mmx.S ++++ libdv/dct_block_mmx.S +@@ -1207,3 +1207,7 @@ _dv_dct_block_mmx_postscale_248: + popl %esi + popl %ebp + ret ++ ++#ifdef __ELF__ ++.section .note.GNU-stack,"",@progbits ++#endif +--- libdv/dct_block_mmx_x86_64.S ++++ libdv/dct_block_mmx_x86_64.S +@@ -1197,3 +1197,7 @@ _dv_dct_block_mmx_x86_64_postscale_248: + pop %r12 + + ret ++ ++#ifdef __ELF__ ++.section .note.GNU-stack,"",@progbits ++#endif +--- libdv/encode_x86.S ++++ libdv/encode_x86.S +@@ -599,3 +599,6 @@ _dv_need_dct_248_mmx_rows: + + + ++#ifdef __ELF__ ++.section .note.GNU-stack,"",@progbits ++#endif +--- libdv/encode_x86_64.S ++++ libdv/encode_x86_64.S +@@ -600,3 +600,6 @@ _dv_need_dct_248_mmx_x86_64_rows: + + + ++#ifdef __ELF__ ++.section .note.GNU-stack,"",@progbits ++#endif +--- libdv/idct_block_mmx.S ++++ libdv/idct_block_mmx.S +@@ -648,3 +648,6 @@ x0: + .long 0,0 + .align 8 + ++#ifdef __ELF__ ++.section .note.GNU-stack,"",@progbits ++#endif +--- libdv/idct_block_mmx_x86_64.S ++++ libdv/idct_block_mmx_x86_64.S +@@ -653,3 +653,6 @@ x0: + .long 0,0 + .align 8 + ++#ifdef __ELF__ ++.section .note.GNU-stack,"",@progbits ++#endif +--- libdv/quant_x86.S ++++ libdv/quant_x86.S +@@ -454,3 +454,6 @@ _dv_quant_x86: + + + ++#ifdef __ELF__ ++.section .note.GNU-stack,"",@progbits ++#endif +--- libdv/quant_x86_64.S ++++ libdv/quant_x86_64.S +@@ -459,3 +459,6 @@ _dv_quant_x86_64: + + + ++#ifdef __ELF__ ++.section .note.GNU-stack,"",@progbits ++#endif +--- libdv/rgbtoyuv.S ++++ libdv/rgbtoyuv.S +@@ -1430,3 +1430,6 @@ video_copy_ntsc_c_block_mmx_loop: + + + ++#ifdef __ELF__ ++.section .note.GNU-stack,"",@progbits ++#endif +--- libdv/rgbtoyuv_x86_64.S ++++ libdv/rgbtoyuv_x86_64.S +@@ -1370,3 +1370,6 @@ video_copy_ntsc_c_block_mmx_loop: + + + ++#ifdef __ELF__ ++.section .note.GNU-stack,"",@progbits ++#endif +--- libdv/transpose_x86.S ++++ libdv/transpose_x86.S +@@ -188,3 +188,7 @@ popl %esi + popl %ebp + + ret $0 ++ ++#ifdef __ELF__ ++.section .note.GNU-stack,"",@progbits ++#endif +--- libdv/transpose_x86_64.S ++++ libdv/transpose_x86_64.S +@@ -188,3 +188,7 @@ all_done_ready_to_exit: + pop %r12 + + ret $0 ++ ++#ifdef __ELF__ ++.section .note.GNU-stack,"",@progbits ++#endif +--- libdv/vlc_x86.S ++++ libdv/vlc_x86.S +@@ -585,3 +585,7 @@ mod_12: + .align 16 + const_f_0_0_0: + .short 0xffff,0,0,0 ++ ++#ifdef __ELF__ ++.section .note.GNU-stack,"",@progbits ++#endif +--- libdv/vlc_x86_64.S ++++ libdv/vlc_x86_64.S +@@ -671,3 +671,7 @@ mod_12: + .align 16 + const_f_0_0_0: + .short 0xffff,0,0,0 ++ ++#ifdef __ELF__ ++.section .note.GNU-stack,"",@progbits ++#endif diff --git a/libdv.spec b/libdv.spec index 12e1293..c0f5e04 100644 --- a/libdv.spec +++ b/libdv.spec @@ -1,18 +1,23 @@ -Summary: Software decoder for DV format video. -Name: libdv -Version: 0.103 -Release: 4.3 +Summary: Software decoder for DV format video +Name: libdv +Version: 0.104 +Release: 2.fc5 Epoch: 0 -License: LGPL -Group: System Environment/Libraries -URL: http://libdv.sourceforge.net/ -Source0: http://dl.sourceforge.net/sourceforge/libdv/libdv-0.103.tar.gz -Patch0: libdv-0.103-noexec-stack.patch -Patch1: libdv-0.103-mmx.patch +License: LGPL +Group: System Environment/Libraries +URL: http://libdv.sourceforge.net/ +Source: http://dl.sf.net/libdv/libdv-%{version}.tar.gz +Patch0: libdv-0.103-mmx.patch +Patch1: libdv-0.104-no-exec-stack.patch +Patch2: libdv-0.104-pic-fix.patch +Patch3: libdv-0.104-amd64reloc.patch +Patch4: libdv-0.104-gtk2.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot -BuildRequires: gtk+-devel >= 0:1.2.4 -BuildRequires: libXv-devel -ExcludeArch: s390 s390x +BuildRequires: gtk2-devel +BuildRequires: libXt-devel, libXv-devel +# Required for the gtk2 patch +BuildRequires: autoconf, automake, libtool, SDL-devel +ExcludeArch: s390 s390x %package devel Summary: Development package for libdv @@ -43,8 +48,13 @@ This package contains development files for libdv. %prep %setup -q -%patch0 -p1 -%patch1 -p1 +%patch0 -p1 -b .mmx +%patch1 -p0 -b .no-exec-stack +%patch2 -p1 -b .pic-fix +%patch3 -p3 -b .amd64reloc +%patch4 -p1 -b .gtk2 +# Required for the gtk2 patch +autoreconf %build %configure @@ -53,6 +63,8 @@ make %{?_smp_mflags} %install rm -rf $RPM_BUILD_ROOT %makeinstall +rm $RPM_BUILD_ROOT%{_libdir}/libdv.a +rm $RPM_BUILD_ROOT%{_libdir}/libdv.la %clean rm -rf $RPM_BUILD_ROOT @@ -69,10 +81,10 @@ rm -rf $RPM_BUILD_ROOT %files tools %defattr(-,root,root,-) %doc README.* +%{_bindir}/dubdv %{_bindir}/dvconnect %{_bindir}/encodedv %{_bindir}/playdv -%{_bindir}/dubdv %{_mandir}/man1/dubdv.1.gz %{_mandir}/man1/dvconnect.1.gz %{_mandir}/man1/encodedv.1* @@ -80,13 +92,21 @@ rm -rf $RPM_BUILD_ROOT %files devel %defattr(-,root,root,-) -%exclude %{_libdir}/libdv.la +%{_includedir}/libdv/ %{_libdir}/libdv.so -%{_libdir}/libdv.a %{_libdir}/pkgconfig/libdv.pc -%{_includedir}/%{name} %changelog +* Tue Mar 07 2006 Warren Togami 0.104-2 +- remove instead of exclude static libs + +* Wed Feb 15 2006 Matthias Saou 0.104-1 +- Update to 0.104 at last (#147311) +- Include no-exec-stack, pic-fix, amd64reloc and gtk2 patches from Gentoo + and PLD (merge gcc4 fix to the pic-fix patch). +- Now build against gtk2 (thanks to the patch above). +- Exclude static library. + * Mon Feb 13 2006 Paul Nasrat - 0:0.103-4.3 - Patch to build with gcc 4.1 diff --git a/sources b/sources index 2b16250..6f8ffad 100644 --- a/sources +++ b/sources @@ -1,2 +1 @@ -b5c7d0db672a76528e100828dd866a79 libdv-0.103.tar.gz f6b08efce7472daa20685e6e8431f542 libdv-0.104.tar.gz