Browse Source

Portability fixes:

- Use uid_t not __uid_t.
- Define _GNU_SOURCE for cpu_set_t and others.
- Include string.h for strncmp().
- Detect musl's ldd error message.
master
xtraeme 9 years ago committed by Harald Hoyer
parent
commit
6964169368
  1. 7
      install/dracut-install.c
  2. 3
      install/util.h

7
install/dracut-install.c

@ -222,7 +222,7 @@ static int cp(const char *src, const char *dst) @@ -222,7 +222,7 @@ static int cp(const char *src, const char *dst)
if (ret == 0) {
struct timeval tv[2];
if (fchown(dest_desc, sb.st_uid, sb.st_gid) != 0)
if(fchown(dest_desc, (__uid_t) - 1, sb.st_gid) != 0)
if(fchown(dest_desc, (uid_t) - 1, sb.st_gid) != 0)
log_error("Failed to chown %s: %m", dst);
tv[0].tv_sec = sb.st_atime;
tv[0].tv_usec = 0;
@ -388,6 +388,11 @@ static int resolve_deps(const char *src) @@ -388,6 +388,11 @@ static int resolve_deps(const char *src)
break;
}

/* musl ldd */
if (strstr(buf, "Not a valid dynamic program"))
break;

/* glibc */
if (strstr(buf, "not a dynamic executable"))
break;


3
install/util.h

@ -20,6 +20,8 @@ @@ -20,6 +20,8 @@
along with systemd; If not, see <http://www.gnu.org/licenses/>.
***/

#define _GNU_SOURCE

#include <inttypes.h>
#include <time.h>
#include <sys/time.h>
@ -27,6 +29,7 @@ @@ -27,6 +29,7 @@
#include <stdbool.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <signal.h>
#include <sched.h>
#include <limits.h>

Loading…
Cancel
Save