From: Jim Meyering Date: Mon, 2 Jun 2008 19:17:57 +0000 (+0200) Subject: accommodate older SELinux which lacks matchpathcon_init_prefix X-Git-Tag: v7.0~211 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0647f3eb;p=thirdparty%2Fcoreutils.git accommodate older SELinux which lacks matchpathcon_init_prefix * m4/jm-macros.m4: Check for matchpathcon_init_prefix. * src/install.c [!HAVE_MATCHPATHCON_INIT_PREFIX] (matchpathcon_init_prefix): Define away. * gl/lib/se-selinux.in.h (matchpathcon_init_prefix): Define. Reported by Ilya N. Golubev in . --- diff --git a/THANKS b/THANKS index df84761585..feaf463325 100644 --- a/THANKS +++ b/THANKS @@ -220,6 +220,7 @@ Ian Jackson ijackson@chiark.greenend.org.uk Ian Lance Taylor ian@cygnus.com Ian Turner vectro@pipeline.com Iida Yosiaki iida@gnu.org +Ilya N. Golubev gin@mo.msk.ru Ingo Saitz ingo@debian.org Ivo Timmermans ivo@debian.org James james@albion.glarp.com diff --git a/gl/lib/se-selinux.in.h b/gl/lib/se-selinux.in.h index 7be1e702a7..ac421c38a3 100644 --- a/gl/lib/se-selinux.in.h +++ b/gl/lib/se-selinux.in.h @@ -17,7 +17,8 @@ typedef unsigned short security_class_t; # define security_context_t char* # define is_selinux_enabled() 0 -static inline int getcon (security_context_t *con) { errno = ENOTSUP; return -1; } +static inline int getcon (security_context_t *con) + { errno = ENOTSUP; return -1; } static inline void freecon (security_context_t con) {} @@ -28,7 +29,9 @@ static inline int setfscreatecon (security_context_t con) static inline int matchpathcon (char const *s, mode_t m, security_context_t *con) { errno = ENOTSUP; return -1; } - +static inline int matchpathcon_init_prefix (const char *path, + const char *prefix) + { errno = ENOTSUP; return -1; } static inline int getfilecon (char const *s, security_context_t *con) { errno = ENOTSUP; return -1; } static inline int lgetfilecon (char const *s, security_context_t *con) diff --git a/m4/jm-macros.m4 b/m4/jm-macros.m4 index 5a92d4a9e9..cf1f2f0036 100644 --- a/m4/jm-macros.m4 +++ b/m4/jm-macros.m4 @@ -2,7 +2,7 @@ dnl Misc type-related macros for coreutils. -# Copyright (C) 1998, 2000-2007 Free Software Foundation, Inc. +# Copyright (C) 1998, 2000-2008 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -46,6 +46,9 @@ AC_DEFUN([coreutils_MACROS], # used by shred AC_CHECK_FUNCS_ONCE(directio) + # Used by install.c. + AC_CHECK_FUNCS_ONCE([matchpathcon_init_prefix]) + AC_CHECK_FUNCS_ONCE( \ endgrent \ endpwent \ diff --git a/src/install.c b/src/install.c index 1d902d6ee4..decdd7d36b 100644 --- a/src/install.c +++ b/src/install.c @@ -66,6 +66,10 @@ static bool use_default_selinux_context = true; # define lchown(name, uid, gid) chown (name, uid, gid) #endif +#if ! HAVE_MATCHPATHCON_INIT_PREFIX +# define matchpathcon_init_prefix(a, p) /* empty */ +#endif + /* Initial number of entries in each hash table entry's table of inodes. */ #define INITIAL_HASH_MODULE 100