50 lines
1.6 KiB
Diff
50 lines
1.6 KiB
Diff
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.
|
|
|
|
--- install/util.h 2014-10-24 13:19:58.000000000 +0200
|
|
+++ install/util.h 2014-12-28 07:58:51.723864634 +0100
|
|
@@ -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 @@
|
|
#include <stdbool.h>
|
|
#include <stdlib.h>
|
|
#include <stdio.h>
|
|
+#include <string.h>
|
|
#include <signal.h>
|
|
#include <sched.h>
|
|
#include <limits.h>
|
|
--- install/dracut-install.c.orig 2014-10-24 13:19:58.000000000 +0200
|
|
+++ install/dracut-install.c 2014-12-30 10:16:25.850635694 +0100
|
|
@@ -222,7 +222,7 @@ static int cp(const char *src, const cha
|
|
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)
|
|
break;
|
|
}
|
|
|
|
+ /* musl ldd */
|
|
+ if (strstr(buf, "Not a valid dynamic program"))
|
|
+ break;
|
|
+
|
|
+ /* glibc */
|
|
if (strstr(buf, "not a dynamic executable"))
|
|
break;
|
|
|