Attached please find two patches. patch-1.txt is minimal, just enough to
make the build succeed. It modified fvwm/alpha_header.h so that it uses
the proper (standardized!) headers instead of declaring things itself.
This is, I hope, sufficient to fix the bug in question.
patch-2.txt includes the minimal fix, but includes fixes for several
other changes as well to silence some warnings. Mostly fixes for wrongly
defined main functions, but also a fix to switch from using mktemp
(which causes a warning and is potentially risky from a security
perspective) to mkstemp (which is not risky, and is simpler to use as
well).
I don't have an alpha machine to test with, so I have only tested that
the build succeeds. In fact, since the chroot in which I was doing this
didn't have all necessary packages, I didn't even test the full build.
Under these circumstances I won't even consider making an NMU to fix the
package, but I hope the patches (at least the small one, but preferably
the big one) is useful to the maintainer or to a bug squashing party.
Happy hacking.
--
Though spring is here, to me it is still September
Only in fvwm1-1.24r.original: .message~
diff -ru fvwm1-1.24r.original/fvwm/alpha_header.h fvwm1-1.24r/fvwm/alpha_header.h
--- fvwm1-1.24r.original/fvwm/alpha_header.h 2005-12-16 19:27:28.000000000 +0000
+++ fvwm1-1.24r/fvwm/alpha_header.h 2005-12-16 19:28:31.000000000 +0000
@@ -3,14 +3,17 @@
* alpha's */
#include <sys/types.h>
#include <sys/time.h>
+#include <sys/select.h>
+#include <string.h>
-
+#if 0
extern int select(int, fd_set *, fd_set *, fd_set *, struct timeval *);
/* string manipulation */
#ifdef __GNUC__
extern size_t strlen(char *);
#endif
+#endif
/* The following already exist on Debian GNU/Linux alpha systems */
/* extern int bzero(char *, int);
Only in fvwm1-1.24r.original: .message~
diff -ru fvwm1-1.24r.original/fvwm/alpha_header.h fvwm1-1.24r.modified/fvwm/alpha_header.h
--- fvwm1-1.24r.original/fvwm/alpha_header.h 2005-12-16 19:27:28.000000000 +0000
+++ fvwm1-1.24r.modified/fvwm/alpha_header.h 2005-12-16 19:04:56.000000000 +0000
@@ -3,14 +3,18 @@
* alpha's */
#include <sys/types.h>
#include <sys/time.h>
+#include <sys/select.h>
+#include <string.h>
+#if 0
extern int select(int, fd_set *, fd_set *, fd_set *, struct timeval *);
/* string manipulation */
#ifdef __GNUC__
extern size_t strlen(char *);
#endif
+#endif
/* The following already exist on Debian GNU/Linux alpha systems */
/* extern int bzero(char *, int);
diff -ru fvwm1-1.24r.original/libs/SendInfo.c fvwm1-1.24r.modified/libs/SendInfo.c
--- fvwm1-1.24r.original/libs/SendInfo.c 1994-09-13 18:53:14.000000000 +0000
+++ fvwm1-1.24r.modified/libs/SendInfo.c 2005-12-16 19:05:37.000000000 +0000
@@ -1,5 +1,6 @@
#include <stdio.h>
#include <ctype.h>
+#include <string.h>
/***********************************************************************
*
diff -ru fvwm1-1.24r.original/libs/SendText.c fvwm1-1.24r.modified/libs/SendText.c
--- fvwm1-1.24r.original/libs/SendText.c 1994-09-13 18:53:12.000000000 +0000
+++ fvwm1-1.24r.modified/libs/SendText.c 2005-12-16 19:05:50.000000000 +0000
@@ -1,5 +1,6 @@
#include <stdio.h>
#include <ctype.h>
+#include <string.h>
/************************************************************************
*
* Sends arbitrary text to fvwm
diff -ru fvwm1-1.24r.original/libs/hostname.c fvwm1-1.24r.modified/libs/hostname.c
--- fvwm1-1.24r.original/libs/hostname.c 1994-09-22 12:37:18.000000000 +0000
+++ fvwm1-1.24r.modified/libs/hostname.c 2005-12-16 19:06:47.000000000 +0000
@@ -1,4 +1,5 @@
#include "../configure.h"
+#include <string.h>
#if HAVE_UNAME
/* define mygethostname() by using uname() */
diff -ru fvwm1-1.24r.original/libs/mystrcasecmp.c fvwm1-1.24r.modified/libs/mystrcasecmp.c
--- fvwm1-1.24r.original/libs/mystrcasecmp.c 1994-09-14 15:55:20.000000000 +0000
+++ fvwm1-1.24r.modified/libs/mystrcasecmp.c 2005-12-16 19:06:30.000000000 +0000
@@ -1,6 +1,7 @@
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
+#include <string.h>
int mystrcasecmp(char *s1,char *s2)
{
diff -ru fvwm1-1.24r.original/modules/FvwmAudio/FvwmAudio.c fvwm1-1.24r.modified/modules/FvwmAudio/FvwmAudio.c
--- fvwm1-1.24r.original/modules/FvwmAudio/FvwmAudio.c 1994-09-14 14:28:53.000000000 +0000
+++ fvwm1-1.24r.modified/modules/FvwmAudio/FvwmAudio.c 2005-12-16 20:04:48.000000000 +0000
@@ -138,7 +138,7 @@
RPLAY *rplay_table[MAX_MESSAGES+MAX_BUILTIN];
#endif
-main(int argc, char **argv)
+int main(int argc, char **argv)
{
char *temp, *s;
@@ -179,6 +179,7 @@
audio_play(BUILTIN_STARTUP);
SendText(fd,"Nop",0);
Loop(fd);
+ return 0;
}
/***********************************************************************
diff -ru fvwm1-1.24r.original/modules/FvwmAuto/FvwmAuto.c fvwm1-1.24r.modified/modules/FvwmAuto/FvwmAuto.c
--- fvwm1-1.24r.original/modules/FvwmAuto/FvwmAuto.c 1994-12-02 19:04:02.000000000 +0000
+++ fvwm1-1.24r.modified/modules/FvwmAuto/FvwmAuto.c 2005-12-16 19:54:04.000000000 +0000
@@ -57,7 +57,7 @@
* main - start of module
*
***********************************************************************/
-void main(int argc, char **argv)
+int main(int argc, char **argv)
{
FILE *file;
char mask_mesg[80];
@@ -82,6 +82,7 @@
sprintf(mask_mesg,"SET_MASK %lu\n",(unsigned long)(M_FOCUS_CHANGE));
SendInfo(fd,mask_mesg,0);
Loop(fd);
+ return 0;
}
diff -ru fvwm1-1.24r.original/modules/FvwmDebug/FvwmDebug.c fvwm1-1.24r.modified/modules/FvwmDebug/FvwmDebug.c
--- fvwm1-1.24r.original/modules/FvwmDebug/FvwmDebug.c 1994-09-30 12:48:59.000000000 +0000
+++ fvwm1-1.24r.modified/modules/FvwmDebug/FvwmDebug.c 2005-12-16 19:15:40.000000000 +0000
@@ -36,7 +36,7 @@
* main - start of module
*
***********************************************************************/
-void main(int argc, char **argv)
+int main(int argc, char **argv)
{
char *temp, *s;
@@ -75,6 +75,7 @@
SendInfo(fd,"Send_WindowList",0);
Loop(fd);
+ return 0;
}
/***********************************************************************