diff --git a/fish-1.23.0-ARG_MAX.patch b/fish-1.23.0-ARG_MAX.patch new file mode 100644 index 0000000..ffe48ae --- /dev/null +++ b/fish-1.23.0-ARG_MAX.patch @@ -0,0 +1,18 @@ +diff -up fish-1.23.0/exec.c.BAD fish-1.23.0/exec.c +--- fish-1.23.0/exec.c.BAD 2008-09-15 16:28:52.000000000 -0400 ++++ fish-1.23.0/exec.c 2008-09-15 16:29:56.000000000 -0400 +@@ -24,6 +24,14 @@ + #include + #include + ++#if defined(_SC_ARG_MAX) ++# if defined(ARG_MAX) ++# undef ARG_MAX ++# endif ++# define ARG_MAX sysconf (_SC_ARG_MAX) ++#endif ++ ++ + #ifdef HAVE_SIGINFO_H + #include + #endif diff --git a/fish.spec b/fish.spec index a978368..3b43cba 100644 --- a/fish.spec +++ b/fish.spec @@ -1,77 +1,35 @@ Summary: A friendly interactive shell Name: fish - Version: 1.23.0 -Release: 5%{?dist} - +Release: 6%{?dist} License: GPLv2 Group: System Environment/Shells URL: http://fishshell.org/ - Source0: http://roo.no-ip.org/%{name}/files/%{version}/%{name}-%{version}.tar.bz2 - +# Emailed to upstream +Patch0: fish-1.23.0-ARG_MAX.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: ncurses-devel gettext groff doxygen BuildRequires: autoconf - - -# Locate correct build time-dependencies for providing X headers -%if 0%{?fedora} >= 5 - -# Modern Fedora version, has modular X.org BuildRequires: xorg-x11-proto-devel libX11-devel libXt-devel libXext-devel -%endif - -%if 0%{?fedora} < 5 -%if 0%{?fedora} >= 3 - -# Semi-old Fedora version, has non-modular X.org -BuildRequires: xorg-x11-devel - -%endif -%endif - -%if 0%{?fedora} -%if 0%{?fedora} < 3 - -# Ancient Fedora version, has XFree86 -BuildRequires: XFree86-devel - -%endif -%else - -# The %fedora variable has not been correctly defined, or this is is -# not a Fedora system, try guessing BuildRequires by looking at the -# directory structure -%define xinclude /usr%(if [ -d /usr/X11R6/include ]; then echo /X11R6; fi)/include -BuildRequires: %{xinclude}/X11/StringDefs.h, %{xinclude}/X11/Xlib.h -BuildRequires: %{xinclude}/X11/Intrinsic.h, %{xinclude}/X11/Xatom.h - -%endif - - %description - fish is a shell geared towards interactive use. Its features are focused on user friendliness and discoverability. The language syntax is simple but incompatible with other shell languages. - %prep %setup -q - +%patch0 -p1 -b .ARG_MAX %build -# The docdir argument is to make the name of the cosumantation +# The docdir argument is to make the name of the documentation # directory 'fish-VERSION', instead of the default, which is simply # 'fish'. -%configure docdir=%_datadir/doc/%{name}-%{version} +%configure docdir=%{_datadir}/doc/%{name}-%{version} make %{?_smp_mflags} - - %install rm -rf $RPM_BUILD_ROOT make install DESTDIR="$RPM_BUILD_ROOT" @@ -80,100 +38,71 @@ make install DESTDIR="$RPM_BUILD_ROOT" %find_lang %{name}.\* # In case... -mv $RPM_BUILD_ROOT%_datadir/fish/man/*.1 $RPM_BUILD_ROOT%_mandir/man1/ - +mv $RPM_BUILD_ROOT%{_datadir}/fish/man/*.1 $RPM_BUILD_ROOT%{_mandir}/man1/ %clean rm -rf $RPM_BUILD_ROOT - - - %post # Add fish to the list of allowed shells in /etc/shells -if ! grep %_bindir/fish %_sysconfdir/shells >/dev/null; then - echo %_bindir/fish >>%_sysconfdir/shells +if ! grep %{_bindir}/fish %{_sysconfdir}/shells >/dev/null; then + echo %{_bindir}/fish >>%{_sysconfdir}/shells fi - - - %postun # Remove fish from the list of allowed shells in /etc/shells if [ "$1" = 0 ]; then - grep -v %_bindir/fish %_sysconfdir/shells >%_sysconfdir/fish.tmp - mv %_sysconfdir/fish.tmp %_sysconfdir/shells + grep -v %{_bindir}/fish %{_sysconfdir}/shells >%{_sysconfdir}/fish.tmp + mv %{_sysconfdir}/fish.tmp %{_sysconfdir}/shells fi - - - %files -f %{name}.\*.lang %defattr(-,root,root,-) - -# The documentation directory -%doc %_datadir/doc/%{name}-%{version} - -# man files -%_mandir/man1/*.1* -%exclude %_mandir/man1/count* -%exclude %_mandir/man1/alias* -%exclude %_mandir/man1/bg* -%exclude %_mandir/man1/bind* -%exclude %_mandir/man1/break* -%exclude %_mandir/man1/builtin* -%exclude %_mandir/man1/cd* -%exclude %_mandir/man1/command* -%exclude %_mandir/man1/complete* -%exclude %_mandir/man1/continue* -%exclude %_mandir/man1/dirs* -%exclude %_mandir/man1/eval* -%exclude %_mandir/man1/exec* -%exclude %_mandir/man1/exit* -%exclude %_mandir/man1/fg* -%exclude %_mandir/man1/help* -%exclude %_mandir/man1/jobs* -%exclude %_mandir/man1/popd* -%exclude %_mandir/man1/pushd* -%exclude %_mandir/man1/read* -%exclude %_mandir/man1/return* -%exclude %_mandir/man1/set* -%exclude %_mandir/man1/source* -%exclude %_mandir/man1/trap* -%exclude %_mandir/man1/type* -%exclude %_mandir/man1/ulimit* -%exclude %_mandir/man1/umask* - -# The program binaries -%attr(0755,root,root) %_bindir/fish -%attr(0755,root,root) %_bindir/fishd -%attr(0755,root,root) %_bindir/fish_pager -%attr(0755,root,root) %_bindir/fish_indent -%attr(0755,root,root) %_bindir/xsel -%attr(0755,root,root) %_bindir/set_color -%attr(0755,root,root) %_bindir/mimedb - -# Configuration files -%config %_sysconfdir/fish -#%config %_sysconfdir/fish_inputrc -#%dir %_sysconfdir/fish.d -#%config %_sysconfdir/fish.d/fish_*.fish - -# Non-configuration initialization files -%dir %_datadir/fish -%_datadir/fish/config*.fish - -# Program specific tab-completions -%dir %_datadir/fish/completions -%_datadir/fish/completions/*.fish - -# Dynamically loaded shellscript functions -%dir %_datadir/fish/functions -%_datadir/fish/functions/*.fish - +%doc %{_datadir}/doc/%{name}-%{version} +%{_mandir}/man1/*.1* +%exclude %{_mandir}/man1/count* +%exclude %{_mandir}/man1/alias* +%exclude %{_mandir}/man1/bg* +%exclude %{_mandir}/man1/bind* +%exclude %{_mandir}/man1/break* +%exclude %{_mandir}/man1/builtin* +%exclude %{_mandir}/man1/cd* +%exclude %{_mandir}/man1/command* +%exclude %{_mandir}/man1/complete* +%exclude %{_mandir}/man1/continue* +%exclude %{_mandir}/man1/dirs* +%exclude %{_mandir}/man1/eval* +%exclude %{_mandir}/man1/exec* +%exclude %{_mandir}/man1/exit* +%exclude %{_mandir}/man1/fg* +%exclude %{_mandir}/man1/help* +%exclude %{_mandir}/man1/jobs* +%exclude %{_mandir}/man1/popd* +%exclude %{_mandir}/man1/pushd* +%exclude %{_mandir}/man1/read* +%exclude %{_mandir}/man1/return* +%exclude %{_mandir}/man1/set* +%exclude %{_mandir}/man1/source* +%exclude %{_mandir}/man1/trap* +%exclude %{_mandir}/man1/type* +%exclude %{_mandir}/man1/ulimit* +%exclude %{_mandir}/man1/umask* +%attr(0755,root,root) %{_bindir}/fish +%attr(0755,root,root) %{_bindir}/fishd +%attr(0755,root,root) %{_bindir}/fish_pager +%attr(0755,root,root) %{_bindir}/fish_indent +%attr(0755,root,root) %{_bindir}/xsel +%attr(0755,root,root) %{_bindir}/set_color +%attr(0755,root,root) %{_bindir}/mimedb +%config(noreplace) %{_sysconfdir}/fish +%{_datadir}/fish/ %changelog +* Mon Sep 15 2008 Tom "spot" Callaway - 1.23.0-6 +- cleanups +- define ARG_MAX properly so it compiles + * Mon Jul 07 2008 Tom "spot" Callaway - 1.23.0-5 - fix conditional comparison