From: J. Ali Harlow Date: Thu, 8 Jan 2009 13:51:07 +0000 (+0000) Subject: Don't try and create symbolic links on platforms that don't support symlink() X-Git-Tag: 0.1~51 X-Git-Url: http://project.juiblex.co.uk/git/?a=commitdiff_plain;h=665326206286d677d1e847ce29e5b712b5cadee2;p=razor2.git%2F.git Don't try and create symbolic links on platforms that don't support symlink() --- diff --git a/configure.ac b/configure.ac index 6167d06..cb56d56 100644 --- a/configure.ac +++ b/configure.ac @@ -24,6 +24,7 @@ AM_PROG_CC_STDC AC_HEADER_STDC AC_CHECK_HEADERS([sys/mman.h]) gl_INIT +AC_CHECK_FUNCS([symlink]) AM_PROG_LIBTOOL AC_PROG_MAKE_SET AC_PROG_LN_S diff --git a/librazor/rpm.c b/librazor/rpm.c index f4cbf71..c4eafb9 100644 --- a/librazor/rpm.c +++ b/librazor/rpm.c @@ -17,6 +17,8 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ +#include "config.h" + #include #include #include @@ -530,13 +532,8 @@ create_path(struct installer *installer, const char *path, unsigned int mode) return -1; } return 0; - case PIPE: - case CDEV: - case BDEV: - case SOCK: - printf("%s: unhandled file type %d\n", buffer, mode >> 12); - return 0; case LINK: +#if HAVE_SYMLINK if (installer_inflate(installer)) { fprintf(stderr, "failed to inflate\n"); return -1; @@ -551,6 +548,15 @@ create_path(struct installer *installer, const char *path, unsigned int mode) return -1; } return 0; +#else + /* fall through */ +#endif + case PIPE: + case CDEV: + case BDEV: + case SOCK: + printf("%s: unhandled file type %d\n", buffer, mode >> 12); + return 0; default: printf("%s: unknown file type %d\n", buffer, mode >> 12); return 0;