--- Begin Message ---
- To: submit@bugs.debian.org
- Subject: rsh-redone: FTBFS with clang instead gcc
- From: Arthur Marble <arthur@info9.net>
- Date: Sun, 8 Jun 2014 18:29:55 -0500
- Message-id: <20140608232955.GA8224@playtux.info9.net>
Package: rsh-redone
Severity: minor
Usertags: clang-ftbfs
User: pkg-llvm-team@lists.alioth.debian.org
Tag: patch
Hello,
Using the rebuild infrastructure, your package fails to build with clang
(instead of gcc).
Thanks,
Arthur
diff -Naur rsh-redone.orig/rsh-redone-85/debian/changelog rsh-redone/rsh-redone-85/debian/changelog
--- rsh-redone.orig/rsh-redone-85/debian/changelog 2014-06-08 17:55:02.676669354 -0500
+++ rsh-redone/rsh-redone-85/debian/changelog 2014-06-08 18:23:44.796699343 -0500
@@ -1,3 +1,11 @@
+rsh-redone (85-3) unstable; urgency=low
+
+ * Fix FTBFS with clang
+ - Fixed "function declaration not allowed" in
+ rlogin.c
+
+ -- Arthur Marble <arthur@info9.net> Sun, 08 Jun 2014 18:23:44 -0500
+
rsh-redone (85-2) unstable; urgency=low
* Bump Standards-Version.
diff -Naur rsh-redone.orig/rsh-redone-85/patches/clang-ftbfs.diff rsh-redone/rsh-redone-85/patches/clang-ftbfs.diff
--- rsh-redone.orig/rsh-redone-85/patches/clang-ftbfs.diff 1969-12-31 18:00:00.000000000 -0600
+++ rsh-redone/rsh-redone-85/patches/clang-ftbfs.diff 2014-06-08 18:24:39.480700296 -0500
@@ -0,0 +1,97 @@
+--- a/rlogin.c
++++ b/rlogin.c
+@@ -119,6 +119,37 @@ static char *termspeed(speed_t speed) {
+ }
+ }
+
++static void sigwinch_h(int signal, int winchpipe[]) {
++ write(winchpipe[1], "", 1);
++}
++
++static void winch(bool winchsupport, char buf[][BUFLEN], char *bufp[], int len[],
++ fd_set outfdset, int sock, fd_set infdset, fd_set infd) {
++ char wbuf[12];
++ struct winsize winsize;
++
++ if(winchsupport) {
++ wbuf[0] = wbuf[1] = (char)0xFF;
++ wbuf[2] = wbuf[3] = 's';
++
++ ioctl(0, TIOCGWINSZ, &winsize);
++ *(uint16_t *)(wbuf + 4) = htons(winsize.ws_row);
++ *(uint16_t *)(wbuf + 6) = htons(winsize.ws_col);
++ *(uint16_t *)(wbuf + 8) = htons(winsize.ws_xpixel);
++ *(uint16_t *)(wbuf + 10) = htons(winsize.ws_ypixel);
++
++ if(bufp[0] == buf[0])
++ len[0] = 0;
++
++ memcpy(bufp[0] + len[0], wbuf, 12);
++ len[0] += 12;
++
++ FD_SET(sock, &outfdset);
++ FD_CLR(0, &infdset);
++ FD_CLR(0, &infd);
++ }
++}
++
+ int main(int argc, char **argv) {
+ char *user = NULL;
+ char *luser = NULL;
+@@ -384,36 +415,6 @@ int main(int argc, char **argv) {
+ FD_SET(winchpipe[0], &infdset);
+ if(winchpipe[0] >= maxfd)
+ maxfd = winchpipe[0] + 1;
+-
+- void sigwinch_h(int signal) {
+- write(winchpipe[1], "", 1);
+- }
+-
+- void winch() {
+- char wbuf[12];
+- struct winsize winsize;
+-
+- if(winchsupport) {
+- wbuf[0] = wbuf[1] = (char)0xFF;
+- wbuf[2] = wbuf[3] = 's';
+-
+- ioctl(0, TIOCGWINSZ, &winsize);
+- *(uint16_t *)(wbuf + 4) = htons(winsize.ws_row);
+- *(uint16_t *)(wbuf + 6) = htons(winsize.ws_col);
+- *(uint16_t *)(wbuf + 8) = htons(winsize.ws_xpixel);
+- *(uint16_t *)(wbuf + 10) = htons(winsize.ws_ypixel);
+-
+- if(bufp[0] == buf[0])
+- len[0] = 0;
+-
+- memcpy(bufp[0] + len[0], wbuf, 12);
+- len[0] += 12;
+-
+- FD_SET(sock, &outfdset);
+- FD_CLR(0, &infdset);
+- FD_CLR(0, &infd);
+- }
+- }
+
+ if(signal(SIGWINCH, sigwinch_h) == SIG_ERR) {
+ fprintf(stderr, "%s: signal() failed: %s\n", argv0, strerror(errno));
+@@ -443,7 +444,8 @@ int main(int argc, char **argv) {
+ } else {
+ if(*buf[1] == (char)0x80) {
+ winchsupport = true;
+- winch();
++ winch(winchsupport, buf, bufp, len,
++ outfdset, sock, infdset, infd);
+ }
+ }
+ }
+@@ -451,7 +453,8 @@ int main(int argc, char **argv) {
+ if(FD_ISSET(winchpipe[0], &infd)) {
+ char dummy;
+ read(winchpipe[0], &dummy, 1);
+- winch();
++ winch(winchsupport, buf, bufp, len, outfdset, sock,
++ infdset, infd);
+ }
+
+ /* Read from socket, blocking more socket input until everything is written to stdout */
diff -Naur rsh-redone.orig/rsh-redone-85/patches/series rsh-redone/rsh-redone-85/patches/series
--- rsh-redone.orig/rsh-redone-85/patches/series 1969-12-31 18:00:00.000000000 -0600
+++ rsh-redone/rsh-redone-85/patches/series 2014-06-08 17:55:43.488670064 -0500
@@ -0,0 +1 @@
+clang-ftbfs.diff
--- End Message ---