Package: rsh-redone Severity: minor Usertags: clang-ftbfs User: pkg-llvm-t...@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 <art...@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