diff --git a/aalib-1.4.0-config.patch b/aalib-1.4.0-config.patch new file mode 100644 index 0000000..f82415c --- /dev/null +++ b/aalib-1.4.0-config.patch @@ -0,0 +1,13 @@ +Index: aalib-config.in +=================================================================== +--- aalib-config.in.orig 2001-04-26 16:37:31.000000000 +0200 ++++ aalib-config.in 2009-04-22 15:47:39.000000000 +0200 +@@ -49,7 +49,7 @@ while test $# -gt 0; do + ;; + @ENABLE_SHARED_TRUE@ --libs) + @ENABLE_SHARED_TRUE@ libdirs="-L@libdir@ @AALIB_RLD_FLAGS@" +-@ENABLE_SHARED_TRUE@ echo $libdirs @AALIB_LIBS@ ++@ENABLE_SHARED_TRUE@ echo -laa + @ENABLE_SHARED_TRUE@ ;; + @ENABLE_STATIC_TRUE@@ENABLE_SHARED_TRUE@ --static-libs) + @ENABLE_STATIC_TRUE@@ENABLE_SHARED_FALSE@ --libs|--static-libs) diff --git a/aalib-1.4.0-fdleak.patch b/aalib-1.4.0-fdleak.patch new file mode 100644 index 0000000..55313b2 --- /dev/null +++ b/aalib-1.4.0-fdleak.patch @@ -0,0 +1,12 @@ +Index: src/aasavefont.c +=================================================================== +--- src/aasavefont.c.orig 2001-04-26 16:37:31.000000000 +0200 ++++ src/aasavefont.c 2009-10-06 01:01:06.000000000 +0200 +@@ -27,6 +27,7 @@ int main(int argc, char **argv) + fprintf(f, "};\n\n" + "struct aa_font %s =\n" + "\t{%sdata, %i, \"%s\", \"%s\"};\n", argv[2], argv[2], font->height, argv[3], argv[4]); ++ fclose(f); + aa_close(c); + return 1; + } diff --git a/aalib-1.4.0.dif b/aalib-1.4.0.dif new file mode 100644 index 0000000..ae94bbc --- /dev/null +++ b/aalib-1.4.0.dif @@ -0,0 +1,92 @@ +--- aalib.m4 ++++ aalib.m4 +@@ -9,7 +9,7 @@ + dnl AM_PATH_AALIB([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]]) + dnl Test for AALIB, and define AALIB_CFLAGS and AALIB_LIBS + dnl +-AC_DEFUN(AM_PATH_AALIB, ++AC_DEFUN([AM_PATH_AALIB], + [dnl + dnl Get the cflags and libraries from the aalib-config script + dnl +--- aavga-1.0/aavga.c ++++ aavga-1.0/aavga.c +@@ -506,7 +506,7 @@ + if (i >= AA_UNKNOWN && i < AA_RELEASE) + { + /*fprintf (stderr, "key: %x pressed\n",i);*/ +- return; ++ return -1; + continue; + } + if (i >= AA_RELEASE) +--- configure.in ++++ configure.in +@@ -1,4 +1,3 @@ +-include(aclocal.m4) + AC_INIT(src/aalib.c) + AM_INIT_AUTOMAKE(aalib,1.4.0) + AC_CANONICAL_HOST +@@ -126,7 +125,7 @@ + + + search_ncurses=true +-AC_DEFUN(AC_USE_SUNOS_CURSES, [ ++AC_DEFUN([AC_USE_SUNOS_CURSES], [ + search_ncurses=false + curses_driver=true + screen_manager="SunOS 4.x /usr/5include curses" +@@ -140,7 +139,7 @@ + AC_WARN(Reconsider using Slang) + ]) + +-AC_DEFUN(AC_USE_OSF1_CURSES, [ ++AC_DEFUN([AC_USE_OSF1_CURSES], [ + AC_MSG_RESULT(Using OSF1 curses) + search_ncurses=false + curses_driver=true +@@ -152,7 +151,7 @@ + AALIB_LIBS="$AALIB_LIBS -lcurses" + ]) + +-AC_DEFUN(AC_USE_SYSV_CURSES, [ ++AC_DEFUN([AC_USE_SYSV_CURSES], [ + AC_MSG_RESULT(Using SysV curses) + curses_driver=true + AC_DEFINE(USE_SYSV_CURSES) +@@ -208,7 +207,7 @@ + ) + + if test "$slang_driver_test" = yes; then +- AC_DEFUN(AC_SLANG, [ ++ AC_DEFUN([AC_SLANG], [ + if $search_slang + then + if test -f $1/$2 +@@ -246,7 +245,7 @@ + dnl + dnl Parameters: directory filename LIBS_append CFLAGS_append nicename + dnl +-AC_DEFUN(AC_NCURSES, [ ++AC_DEFUN([AC_NCURSES], [ + if $search_ncurses + then + if test -f $1/$2 +@@ -274,7 +273,7 @@ + dnl + dnl Parameters: directory filename LIBS_append CFLAGS_append nicename + dnl +-AC_DEFUN(AC_CURSES, [ ++AC_DEFUN([AC_CURSES], [ + if $search_ncurses + then + if test -f $1/$2 +@@ -320,7 +319,7 @@ + if $search_ncurses + then + AC_EGREP_HEADER(init_color, /usr/include/curses.h, +- AC_USE_SYSV_CURSES) ++ [AC_USE_SYSV_CURSES]) + fi + + dnl diff --git a/aalib-distint.patch b/aalib-distint.patch new file mode 100644 index 0000000..d7ef1cd --- /dev/null +++ b/aalib-distint.patch @@ -0,0 +1,21 @@ +--- aalib-1.4.0/src/aalinuxkbd.c ++++ aalib-1.4.0/src/aalinuxkbd.c +@@ -200,7 +200,7 @@ + static int rawmode_init(void) + { + if (!closed) +- return; ++ return (0); + mypid = getpid(); + if (tty_fd == -1) { + tty_fd = fileno(stdin); +--- aalib-1.4.0/src/aamktabl.c ++++ aalib-1.4.0/src/aamktabl.c +@@ -122,6 +122,7 @@ + for (dm = 0; dm < 4; dm++) + for (ii = -1; ii <= 1; ii += 2) { + int dist, dist1, index; ++ dist = dist1 = 0; + unsigned short ch; + i1 = m1; + i2 = m2; diff --git a/aalib-includes.patch b/aalib-includes.patch new file mode 100644 index 0000000..ae26cdf --- /dev/null +++ b/aalib-includes.patch @@ -0,0 +1,48 @@ +--- aalib-1.4.0/aavga-1.0/aavga.c ++++ aalib-1.4.0/aavga-1.0/aavga.c +@@ -1,6 +1,7 @@ + #include + #include + #include ++#include + #include + #include + +--- aalib-1.4.0/src/aakbdreg.c ++++ aalib-1.4.0/src/aakbdreg.c +@@ -2,6 +2,7 @@ + #include "config.h" + #include "aalib.h" + #include "aaint.h" ++#include + __AA_CONST struct aa_kbddriver * __AA_CONST aa_kbddrivers[] = + { + #ifdef LINUX_KBDDRIVER +--- aalib-1.4.0/src/aamoureg.c ++++ aalib-1.4.0/src/aamoureg.c +@@ -2,6 +2,7 @@ + #include "config.h" + #include "aalib.h" + #include "aaint.h" ++#include + __AA_CONST struct aa_mousedriver * __AA_CONST aa_mousedrivers[] = + { + #ifdef DJGPP +--- aalib-1.4.0/src/aaregist.c ++++ aalib-1.4.0/src/aaregist.c +@@ -2,6 +2,7 @@ + #include "config.h" + #include "aalib.h" + #include "aaint.h" ++#include + __AA_CONST struct aa_driver * __AA_CONST aa_drivers[] = + { + #ifdef DJGPP +--- aalib-1.4.0/src/aatest.c ++++ aalib-1.4.0/src/aatest.c +@@ -1,4 +1,5 @@ + #include "aalib.h" ++#include + int main(int argc, char **argv) + { + aa_context *c; diff --git a/aalib-ncurses-6.0-accessors.patch b/aalib-ncurses-6.0-accessors.patch new file mode 100644 index 0000000..3f56c0b --- /dev/null +++ b/aalib-ncurses-6.0-accessors.patch @@ -0,0 +1,15 @@ +Index: aalib-1.4.0/src/aacurses.c +=================================================================== +--- aalib-1.4.0.orig/src/aacurses.c ++++ aalib-1.4.0/src/aacurses.c +@@ -71,8 +71,8 @@ static void curses_getsize(aa_context * + { + if (__resized_curses) + curses_uninit(c), curses_init(&c->params, NULL,&c->driverparams, NULL), __resized_curses = 0; +- *width = stdscr->_maxx + 1; +- *height = stdscr->_maxy + 1; ++ *width = getmaxx(stdscr) + 1; ++ *height = getmaxy(stdscr) + 1; + #ifdef GPM_MOUSEDRIVER + gpm_mx = *width; + gpm_my = *height; diff --git a/aalib-reentrant.patch b/aalib-reentrant.patch new file mode 100644 index 0000000..74c0d95 --- /dev/null +++ b/aalib-reentrant.patch @@ -0,0 +1,23 @@ +--- src/aax.c ++++ src/aax.c +@@ -437,6 +437,12 @@ + int l, same; + int s = 0; + int pos; ++ static int called; ++ if (called++) ++ { ++ --called; ++ return; ++ } + attr = AA_NORMAL; + alloctables(d); + drawed = 0; +@@ -537,6 +543,7 @@ + XSync(d->dp, 0); + } + freetables(); ++ called--; + } + void __aa_X_redraw(aa_context *c) + { diff --git a/aalib.changes b/aalib.changes new file mode 100644 index 0000000..c53b1b2 --- /dev/null +++ b/aalib.changes @@ -0,0 +1,345 @@ +------------------------------------------------------------------- +Sat Oct 17 12:10:53 UTC 2015 - meissner@suse.com + +- aavga.dif: add -fno-stack-protector to shared aavga.so object build + +------------------------------------------------------------------- +Wed Sep 9 09:36:35 UTC 2015 - dimstar@opensuse.org + +- Add aalib-ncurses-6.0-accessors.patch: Fix build with + NCurses 6.0 with WINDOW_OPAQUE set to 1. + +------------------------------------------------------------------- +Sun May 17 09:06:56 UTC 2015 - meissner@suse.com + +- info deinstall needs to be in preun section. + +------------------------------------------------------------------- +Mon Sep 15 16:56:57 UTC 2014 - crrodriguez@opensuse.org + +- Use pkgconfig(x11) not metapackage xorg-x11-devel + +------------------------------------------------------------------- +Fri Mar 22 10:11:58 UTC 2013 - mmeister@suse.com + +- Added url as source. + Please see http://en.opensuse.org/SourceUrls + +------------------------------------------------------------------- +Mon Mar 18 13:09:55 UTC 2013 - mmeister@suse.com + +- Replace Source with Link to source + +------------------------------------------------------------------- +Sat Feb 11 02:32:17 UTC 2012 - jengelh@medozas.de + +- Strip distinct version from -devel subpackage + +------------------------------------------------------------------- +Wed Dec 7 11:10:03 UTC 2011 - coolo@suse.com + +- fix license to be in spdx.org format + +------------------------------------------------------------------- +Fri Sep 30 20:07:38 UTC 2011 - coolo@suse.com + +- add libtool as buildrequire to make the spec file more reliable + +------------------------------------------------------------------- +Fri Sep 16 18:32:28 UTC 2011 - jengelh@medozas.de + +- Implement shlib policy +- Remove redundant tags; use %_smp_mflags + +------------------------------------------------------------------- +Mon Sep 5 09:49:47 UTC 2011 - coolo@suse.com + +- fix build with newer ld + +------------------------------------------------------------------- +Tue Sep 7 11:52:45 UTC 2010 - aj@suse.de + +- BuildRequire gpm-devel + +------------------------------------------------------------------- +Wed Jan 27 18:21:54 CET 2010 - jengelh@medozas.de + +- package baselibs.conf + +------------------------------------------------------------------- +Mon Oct 5 23:04:53 UTC 2009 - crrodriguez@opensuse.org + +- fix aalib-1.4.0-477.9: possible missing call to fclose [bnc#523344] + +------------------------------------------------------------------- +Wed Apr 22 15:52:34 CEST 2009 - crrodriguez@suse.de + +- remove static libraries and "la" files +- fix -devel package dependencies +- fix aalib-config so it only returns needed libraries + +------------------------------------------------------------------- +Wed Dec 10 12:34:56 CET 2008 - olh@suse.de + +- use Obsoletes: -XXbit only for ppc64 to help solver during distupgrade + (bnc#437293) + +------------------------------------------------------------------- +Thu Oct 30 12:34:56 CET 2008 - olh@suse.de + +- obsolete old -XXbit packages (bnc#437293) + +------------------------------------------------------------------- +Thu Apr 10 12:54:45 CEST 2008 - ro@suse.de + +- added baselibs.conf file to build xxbit packages + for multilib support + +------------------------------------------------------------------- +Thu Mar 29 12:42:16 CEST 2007 - meissner@suse.de + +- Buildrequires: gpm + +------------------------------------------------------------------- +Fri Sep 8 23:31:52 CEST 2006 - dmueller@suse.de + +- explicitely disable slang driver + +------------------------------------------------------------------- +Thu Sep 7 08:18:39 CEST 2006 - mskibbe@suse.de + +- fix compiler problems +- fix Requires lsit for devel package + +------------------------------------------------------------------- +Fri Sep 1 09:08:24 CEST 2006 - mskibbe@suse.de + +- fix Requires + +------------------------------------------------------------------- +Thu Aug 31 13:52:50 CEST 2006 - dmueller@suse.de + +- build against ncurses instead of slang + +------------------------------------------------------------------- +Wed Aug 16 18:10:00 CEST 2006 - aj@suse.de + +- Remove unneeded BuildRequires. + +------------------------------------------------------------------- +Wed May 17 12:04:20 CEST 2006 - schwab@suse.de + +- Avoid crash when resizing window with X driver. + +------------------------------------------------------------------- +Mon Apr 10 13:36:18 CEST 2006 - meissner@suse.de + +- added requires slang-devel to aalib-devel + +------------------------------------------------------------------- +Wed Jan 25 21:34:04 CET 2006 - mls@suse.de + +- converted neededforbuild to BuildRequires + +------------------------------------------------------------------- +Wed Sep 28 23:43:49 CEST 2005 - dmueller@suse.de + +- add norootforbuild + +------------------------------------------------------------------- +Thu Jul 7 18:42:31 CEST 2005 - hvogel@suse.de + +- fix some more decls + +------------------------------------------------------------------- +Tue Jul 5 16:32:52 CEST 2005 - hvogel@suse.de + +- fix implicit functions + +------------------------------------------------------------------- +Sun Jul 3 16:22:55 CEST 2005 - hvogel@suse.de + +- sign chars to make comparison work. Patch from olh (Bug #95092) + +------------------------------------------------------------------- +Thu Jun 23 18:03:31 CEST 2005 - hvogel@suse.de + +- require exact aalib version +- add %clean section + +------------------------------------------------------------------- +Wed Jan 19 19:51:22 CET 2005 - hvogel@suse.de + +- fix the uninitialized variables fix, NULL is for pointers, use 0 + +------------------------------------------------------------------- +Wed Jan 19 18:13:19 CET 2005 - hvogel@suse.de + +- fix use of uninitialized variables + +------------------------------------------------------------------- +Sat Oct 23 19:28:28 CEST 2004 - hvogel@suse.de + +- move config script to the devel package + +------------------------------------------------------------------- +Tue Aug 31 17:45:14 CEST 2004 - hvogel@suse.de + +- remove insecure temp file creation in asciiview [Bug #44386] + +------------------------------------------------------------------- +Mon Apr 19 11:39:39 CEST 2004 - ro@suse.de + +- fix "control reaches end of non-void function" warning + +------------------------------------------------------------------- +Thu Jan 29 12:38:51 CET 2004 - hvogel@suse.de + +- run ldconfig after install/deinstall +- mark man pages as documentation + +------------------------------------------------------------------- +Mon Jan 26 16:58:06 CET 2004 - hvogel@suse.de + +- move autoconf macro file to the devel subpackage + +------------------------------------------------------------------- +Tue Jan 13 17:34:44 CET 2004 - schwab@suse.de + +- Fix quoting in autoconf macros. + +------------------------------------------------------------------- +Fri Jan 9 14:10:07 CET 2004 - kukuk@suse.de + +- Fix underquoted definition of AM_PATH_AALIB in aalib.m4 + +------------------------------------------------------------------- +Tue Jul 29 15:06:04 CEST 2003 - aj@suse.de + +- Fix for chown change. + +------------------------------------------------------------------- +Mon May 26 01:05:00 CEST 2003 - ro@suse.de + +- added man pages for mem_d and save_d to filelist + +------------------------------------------------------------------- +Thu Apr 24 12:20:23 CEST 2003 - ro@suse.de + +- fix install_info --delete call and move from preun to postun + +------------------------------------------------------------------- +Wed Apr 23 09:29:20 CEST 2003 - coolo@suse.de + +- use BuildRoot + +------------------------------------------------------------------- +Fri Feb 7 15:19:46 CET 2003 - fehr@suse.de + +- Use %install_info macro + +------------------------------------------------------------------- +Thu Feb 6 11:35:59 CET 2003 - fehr@suse.de + +- add patch to link aavga lib also in systems with use lib64 + +------------------------------------------------------------------- +Tue Feb 4 14:29:27 CET 2003 - fehr@suse.de + +- update to aalib-1.4rc5, aavga-1.0rc1, aview-1.3.0rc1 + +------------------------------------------------------------------- +Mon Dec 2 10:58:04 CET 2002 - fehr@suse.de + +- fixed problem with new gcc/glibc + +------------------------------------------------------------------- +Tue Sep 17 17:34:28 CEST 2002 - ro@suse.de + +- removed bogus self-provides + +------------------------------------------------------------------- +Wed Aug 14 14:08:10 CEST 2002 - fehr@suse.de + +- fix bug handling gmp_fd variable in aaslnkbd.c (#17426) + +------------------------------------------------------------------- +Fri Jul 5 10:07:01 CEST 2002 - kukuk@suse.de + +- Use %ix86 macro + +------------------------------------------------------------------- +Mon Jun 10 17:26:52 CEST 2002 - meissner@suse.de + +- copy over system auto* tools so we build on new platforms. + +------------------------------------------------------------------- +Fri May 31 15:57:21 CEST 2002 - ro@suse.de + +- changed neededforbuild to + +------------------------------------------------------------------- +Wed Apr 24 11:45:54 CEST 2002 - fehr@suse.de + +- make it build on architectures with X11-libs in /usr/X11R6/lib64 + +------------------------------------------------------------------- +Wed Jan 30 13:15:14 CET 2002 - coolo@suse.de + +- use %_libdir + +------------------------------------------------------------------- +Tue Jan 29 10:51:48 CET 2002 - nadvornik@suse.cz + +- fixed initialization of slang library [bug #12933] + +------------------------------------------------------------------- +Wed Aug 29 13:34:02 CEST 2001 - fehr@suse.de + +- add packages aview and aavga + +------------------------------------------------------------------- +Thu Mar 1 21:36:28 CET 2001 - bk@suse.de + +- add platform optimisation flags +- move suse_update_config to %prep and move install to %install + +------------------------------------------------------------------- +Wed Jan 17 18:10:30 CET 2001 - schwab@suse.de + +- Add Obsoletes: aalibdev to aalib-devel package. +- Move libaa.so to aalib-devel. +- Require aalib from aalib-devel package. + +------------------------------------------------------------------- +Sat Dec 9 17:16:04 MET 2000 - nashif@suse.de + +- Set the right Groups +- Changed package name: aalibdev -> aalib-devel + +------------------------------------------------------------------- +Fri May 19 12:50:07 MEST 2000 - fehr@suse.de + +- move documentation to /usr/share/doc/packages + +------------------------------------------------------------------- +Thu Mar 30 18:11:07 CEST 2000 - schwab@suse.de + +- Update config.{status,guess} from automake. + +------------------------------------------------------------------- +Fri Feb 25 11:34:44 CET 2000 - kukuk@suse.de + +- Move /usr/info -> /usr/share/info, add group tag + +------------------------------------------------------------------- +Mon Sep 13 17:23:57 CEST 1999 - bs@suse.de + +- ran old prepare_spec on spec file to switch to new prepare_spec. + +---------------------------------------------------------------------------- +Mon Jan 11 17:40:11 MET 1999 - fehr@suse.de + +- make SuSE package from version 1.2 of aalib + +---------------------------------------------------------------------------- diff --git a/aalib.spec b/aalib.spec new file mode 100644 index 0000000..0444ee8 --- /dev/null +++ b/aalib.spec @@ -0,0 +1,184 @@ +# +# spec file for package aalib +# +# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany. +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# + + +Name: aalib +%define lname libaa1 +BuildRequires: libtool +BuildRequires: ncurses-devel +BuildRequires: pkgconfig(x11) +%if 0%{?suse_version} > 1130 +BuildRequires: gpm-devel +%else +BuildRequires: gpm +%endif +Url: http://aa-project.sourceforge.net/ +# bug437293 +%ifarch ppc64 +Obsoletes: aalib-64bit +%endif +# +Version: 1.4.0 +Release: 0 +Summary: An ASCII Art Library +License: GPL-2.0+ +Group: System/Libraries +Source: http://sourceforge.net/projects/aa-project/files/aa-lib/1.4rc5/%{name}-1.4rc5.tar.gz +Source1: http://downloads.sourceforge.net/project/aa-project/aavga/1.0rc1/aavga-1.0rc1.tar.gz +Source2: http://downloads.sourceforge.net/project/aa-project/aview/1.3.0rc1/aview-1.3.0rc1.tar.gz +Source3: baselibs.conf +Patch1: fix_gpm_fd_handling.diff +Patch2: aavga.dif +Patch3: aalib-1.4.0.dif +Patch4: aview-1.3.0.patch +Patch5: aview-1.3.0-tmpvuln.diff +Patch6: aalib-distint.patch +Patch7: aview-signed-char.patch +Patch8: aview-includes.patch +Patch9: aalib-includes.patch +Patch10: aalib-reentrant.patch +Patch11: aalib-1.4.0-config.patch +Patch12: aalib-1.4.0-fdleak.patch +Patch13: aalib-ncurses-6.0-accessors.patch +PreReq: %install_info_prereq +BuildRoot: %{_tmppath}/%{name}-%{version}-build + +%description +AA-lib is a low level gfx library. AA-lib does not require a graphics +device. In fact, there is no graphical output possible. AA-lib replaces +old-fashioned output methods with a powerful ASCII art renderer. + +%package -n %lname +Summary: An ASCII Art Library +Group: System/Libraries + +%description -n %lname +AA-lib is a low level gfx library. AA-lib does not require a graphics +device. In fact, there is no graphical output possible. AA-lib replaces +old-fashioned output methods with a powerful ASCII art renderer. + +%package devel +Summary: Development Package for AAlib +Group: Development/Libraries/C and C++ +# bug437293 +%ifarch ppc64 +Obsoletes: aalib-devel-64bit +%endif +# +Requires: %lname = %version +Requires: glibc-devel +Obsoletes: aalibdev + +%description devel +Files needed for developing software that uses AAlib. + +%prep +%setup -q -a 1 -b 2 +%patch1 +%patch3 +%patch10 +%patch11 +%patch12 +%patch13 -p1 +cd aavga-1.0 +%patch2 +cd ../../aview-* +%patch4 +%patch7 +%patch8 +cd .. +%patch5 +%patch6 +%patch9 + +%build +%{?suse_update_config} +autoreconf -fiv +export CFLAGS="$RPM_OPT_FLAGS -fstrength-reduce -ffast-math -fomit-frame-pointer" +%ifarch %ix86 +export CFLAGS="$CFLAGS -falign-loops=2 -falign-jumps=2 -falign-functions=2" +%endif +%configure --disable-static --with-pic --with-slang-driver=no --with-ncurses +make %{?_smp_mflags} + +%install +make DESTDIR=$RPM_BUILD_ROOT install +mkdir -p $RPM_BUILD_ROOT%{_defaultdocdir}/%{name} +cp -av ANNOUNCE AUTHORS COPYING INSTALL NEWS README $RPM_BUILD_ROOT%{_defaultdocdir}/%{name} +cd ../aview-1.3.0 +PATH=$RPM_BUILD_ROOT%{_bindir}:$PATH \ + CFLAGS="$RPM_OPT_FLAGS -I$RPM_BUILD_ROOT/usr/include" \ + LDFLAGS="-L$RPM_BUILD_ROOT%{_libdir}" \ + LD_LIBRARY_PATH="$RPM_BUILD_ROOT%{_libdir}" \ + ./configure --prefix=/usr --mandir=%{_mandir} +make +make DESTDIR=$RPM_BUILD_ROOT install +mkdir -p $RPM_BUILD_ROOT%{_defaultdocdir}/%{name}/aview +cp -av README* ANNOUNCE COPYING TODO *.lsm $RPM_BUILD_ROOT%{_defaultdocdir}/%{name}/aview +cd - +cd aavga-1.0 +make CFLAGS="$RPM_OPT_FLAGS" +cp -av aavga.so $RPM_BUILD_ROOT%_libdir +mkdir -p $RPM_BUILD_ROOT%{_defaultdocdir}/%{name}/aavga +cp -av aavga.lsm COPYING README $RPM_BUILD_ROOT%{_defaultdocdir}/%{name}/aavga +cd .. +%{__rm} -f %{buildroot}%{_libdir}/*.la + +%post +%install_info --info-dir=%{_infodir} %{_infodir}/%{name}.info.gz + +%preun +%install_info_delete --info-dir=%{_infodir} %{_infodir}/%{name}.info.gz + +%post -n %lname -p /sbin/ldconfig + +%postun -n %lname -p /sbin/ldconfig + +%files +%defattr(-,root,root) +%docdir %{_defaultdocdir}/%{name} +%{_defaultdocdir}/%{name} +%_bindir/aafire +%_bindir/aaflip +%_bindir/aainfo +%_bindir/aasavefont +%_bindir/aatest +%_bindir/asciiview +%_bindir/aview +%{_infodir}/aalib.info.gz +%{_infodir}/aalib.info-?.gz +%{_mandir}/man1/aafire.1.gz +%{_mandir}/man1/aview.1.gz +%{_mandir}/man1/asciiview.1.gz + +%files -n %lname +%defattr(-,root,root) +%_libdir/libaa.so.1.0.4 +%_libdir/libaa.so.1 +%_libdir/aavga.so + +%files devel +%defattr(-,root,root) +%_includedir/aalib.h +%_libdir/libaa.so +%_datadir/aclocal/aalib.m4 +%_bindir/aalib-config +%{_mandir}/man3/aa_*.3.gz +%{_mandir}/man3/mem_d.3.gz +%{_mandir}/man3/save_d.3.gz + +%changelog diff --git a/aavga.dif b/aavga.dif new file mode 100644 index 0000000..a7ca947 --- /dev/null +++ b/aavga.dif @@ -0,0 +1,45 @@ +--- Makefile ++++ Makefile +@@ -1,3 +1,3 @@ + aavga.so: aavga.c Makefile +- gcc -Wl,-soname,libvga.so.1 -o aavga.so -shared -nostdlib -fPIC aavga.c -laa -lX11 -lm -lgpm -lc -O2 -fomit-frame-pointer -funroll-all-loops -L /usr/X11R6/lib -lncurses ++ gcc -Wl,-soname,libvga.so.1 -o aavga.so -shared -nostdlib -fPIC aavga.c -laa -lX11 -lm -lgpm -O2 -fomit-frame-pointer -funroll-all-loops $(CFLAGS) -fno-stack-protector -I../src -L /usr/X11R6/lib64 -L /usr/X11R6/lib -L../src/.libs -lncurses + #i486-linuxlibc1-gcc -Wl,-soname,libvga.so.1 -o aavga.so -shared -nostdlib -fPIC aavga.c -laa -lX11 -lm -lgpm -lc -O2 -fomit-frame-pointer -funroll-all-loops #-L /usr/X11R6/lib +--- aavga.c ++++ aavga.c +@@ -64,7 +64,7 @@ + + }; + #define MAXMODE 13 +-int ++void + vga_setmousesupport (int stat) + { + if (debug) +@@ -257,7 +257,7 @@ + } + + +-int ++void + vga_setpalvec (int a, int b, int *n) + { + int i; +@@ -268,7 +268,7 @@ + aa_setpalette (palette, i, n[i * 3] * 4, n[i * 3 + 1] * 4, n[i * 3 + 2] * 4); + vga_flush (0); + } +-int ++void + vga_setpalette (int i, int r, int g, int b) + { + if (debug) +@@ -276,7 +276,7 @@ + aa_setpalette (palette, i, r * 4, g * 4, b * 4); + vga_flush (0); + } +-int ++void + vga_setcolor (int i) + { + if (debug) diff --git a/aview-1.3.0-tmpvuln.diff b/aview-1.3.0-tmpvuln.diff new file mode 100644 index 0000000..9921c5c --- /dev/null +++ b/aview-1.3.0-tmpvuln.diff @@ -0,0 +1,50 @@ +--- aview-1.3.0/asciiview ++++ aview-1.3.0/asciiview +@@ -1,13 +1,19 @@ + #!/bin/bash + # asciiview - an ascii art image browser script. Front end for aview/aaflip ++ + clear() + { + kill $! 2>/dev/null +- rm -f /tmp/aview$$.pgm 2>/dev/null ++ if [ -n $ATMPDIR -a -d $ATMPDIR ]; then ++ rm -f $ATMPDIR/aview$$.pgm 2>/dev/null && rmdir $ATMPDIR 2>/dev/null ++ else ++ echo "Cannot remove temporary directory $ATMPDIR" ++ exit 1 ++ fi + } + myconvert() + { +- if anytopnm $1 >/tmp/aview$$.pgm 2>/dev/null ; then ++ if anytopnm $1 >$ATMPDIR/aview$$.pgm 2>/dev/null ; then + exit + elif convert -colorspace gray $1 pgm:- 2>/dev/null ; then + exit +@@ -50,9 +56,10 @@ + ;; + esac + done ++ATMPDIR=`mktemp -d` || exit 1 + trap clear 0 +-mkfifo /tmp/aview$$.pgm +-outfile=/tmp/aview$$.pgm ++mkfifo $ATMPDIR/aview$$.pgm ++outfile=$ATMPDIR/aview$$.pgm + for name in $filenames ; do + if test -r $name ; then + case $name in +@@ -61,10 +68,10 @@ + aaflip $options $name + ;; + *) +- myconvert $name >/tmp/aview$$.pgm & ++ myconvert $name >$ATMPDIR/aview$$.pgm & + pid=$! + PATH="$PATH:." +- aview $options /tmp/aview$$.pgm ++ aview $options $ATMPDIR/aview$$.pgm + kill $pid 2>/dev/null + esac + else diff --git a/aview-1.3.0.patch b/aview-1.3.0.patch new file mode 100644 index 0000000..37834c7 --- /dev/null +++ b/aview-1.3.0.patch @@ -0,0 +1,28 @@ +Index: ui.c +=================================================================== +--- ui.c.orig 2001-04-25 18:04:37.000000000 +0200 ++++ ui.c 2011-09-05 11:41:36.778971128 +0200 +@@ -14,7 +14,7 @@ static char getletter(int i) + { + if(i<9) return('1'+i); + if(i==9) return('0'); +- if(i>9) return('A'+i-10); ++ /* if(i>9) */ return('A'+i-10); + } + static void do_display(void) + { +Index: configure +=================================================================== +--- configure.orig 2001-04-25 17:57:15.000000000 +0200 ++++ configure 2011-09-05 11:47:59.206036005 +0200 +@@ -1576,8 +1576,8 @@ rm -f conftest* + + rm -f conf.aalibtest + +-CFLAGS="$CFLAGS $AALIB_CFLAGS" +-LIBS="$CLFAGS $AALIB_LIBS" ++CFLAGS="$CFLAGS $AALIB_CFLAGS -fno-lto" ++LIBS="$CLFAGS $AALIB_LIBS -lm" + + trap '' 1 2 15 + cat > confcache <<\EOF diff --git a/aview-includes.patch b/aview-includes.patch new file mode 100644 index 0000000..5c4ea7d --- /dev/null +++ b/aview-includes.patch @@ -0,0 +1,20 @@ +--- flip.c ++++ flip.c +@@ -7,6 +7,7 @@ + + #include + #include ++#include + #include + #include + #include +--- main.c ++++ main.c +@@ -2,6 +2,7 @@ + #include "image.h" + #include "ui.h" + #include "config.h" ++#include + + #define NAMELEN 256 + diff --git a/aview-signed-char.patch b/aview-signed-char.patch new file mode 100644 index 0000000..5bf9615 --- /dev/null +++ b/aview-signed-char.patch @@ -0,0 +1,29 @@ +--- flip.c ++++ flip.c +@@ -184,7 +184,7 @@ + data = (void *)((uchar *)data + 1); + type = *(char *)data; + data = (void *)((uchar *)data + 1); +- if( (char)type>=0 ) { ++ if( type>=0 ) { + /* copy ptype words */ + type <<= 1; + memcpy( index + x, data, type ); +@@ -217,7 +217,7 @@ + char *index; + uchar packets; + int index_x; +-char type; ++signed char type; + /* puts( "delta fli" ); */ + line = *(short int *)data; + data = (void *)((short int *)data + 1); +@@ -254,7 +254,7 @@ + static void dcd_byte_run( struct FLI *fli, char *data ) { + int lines; + int width; +-char type; ++signed char type; + int index; + int index_x; + /* puts( "byte run" ); */ diff --git a/baselibs.conf b/baselibs.conf new file mode 100644 index 0000000..dcfd9d3 --- /dev/null +++ b/baselibs.conf @@ -0,0 +1,4 @@ +libaa1 +aalib-devel + requires -aalib- + requires "libaa1- = " diff --git a/fix_gpm_fd_handling.diff b/fix_gpm_fd_handling.diff new file mode 100644 index 0000000..4bab148 --- /dev/null +++ b/fix_gpm_fd_handling.diff @@ -0,0 +1,20 @@ +--- src/aaslnkbd.c ++++ src/aaslnkbd.c +@@ -90,7 +90,7 @@ + /*non-gpm way */ + if (!wait) { + #ifdef GPM_MOUSEDRIVER +- if (gpm_fd == -1) { ++ if (gpm_fd <= -1) { + #endif + if (!SLang_input_pending(0)) + return AA_NONE; +@@ -109,7 +109,7 @@ + #endif + } + #ifdef GPM_MOUSEDRIVER +- if (gpm_fd != -1) { ++ if (gpm_fd > -1) { + GPM_DRAWPOINTER(&ev); + while (!flag) { + FD_ZERO(&readfds);