uboot: (firmwareOdroidC2/C4) don't invoke patch tool, use patches = [] instead

https://github.com/NixOS/nixpkgs/blob/master/pkgs/stdenv/generic/setup.sh#L948
this can do it nicely.

Signed-off-by: Anton Arapov <anton@deadbeef.mx>
This commit is contained in:
Anton Arapov 2021-04-03 12:58:10 +02:00 committed by Alan Daniels
commit 56de2bcd43
30691 changed files with 3076956 additions and 0 deletions

View file

@ -0,0 +1,73 @@
From 737452159d521aef2041a2767f3ebf9f68f4b6a9 Mon Sep 17 00:00:00 2001
From: Christian Kampka <christian@kampka.net>
Date: Tue, 1 Sep 2020 13:54:35 +0200
Subject: [PATCH] Pin abstract namespace sockets to host_os
Running programs with AC_RUN_IFELSE fails when cross-compiling.
Since abstract namespace sockets are linux feature, we can easily
assume it is available for linux and not for darwin.
---
configure.in | 47 ++++++-----------------------------------------
1 file changed, 6 insertions(+), 41 deletions(-)
diff --git a/configure.in b/configure.in
index eb129db..0ed82ba 100644
--- a/configure.in
+++ b/configure.in
@@ -387,47 +387,12 @@ fi
#### Abstract sockets
-AC_MSG_CHECKING(abstract socket namespace)
-AC_LANG_PUSH(C)
-AC_RUN_IFELSE([AC_LANG_PROGRAM(
-[[
-#include <sys/types.h>
-#include <stdlib.h>
-#include <string.h>
-#include <stdio.h>
-#include <sys/socket.h>
-#include <sys/un.h>
-#include <errno.h>
-]],
-[[
- int listen_fd;
- struct sockaddr_un addr;
-
- listen_fd = socket (PF_UNIX, SOCK_STREAM, 0);
-
- if (listen_fd < 0)
- {
- fprintf (stderr, "socket() failed: %s\n", strerror (errno));
- exit (1);
- }
-
- memset (&addr, '\0', sizeof (addr));
- addr.sun_family = AF_UNIX;
- strcpy (addr.sun_path, "X/tmp/dbus-fake-socket-path-used-in-configure-test");
- addr.sun_path[0] = '\0'; /* this is what makes it abstract */
-
- if (bind (listen_fd, (struct sockaddr*) &addr, SUN_LEN (&addr)) < 0)
- {
- fprintf (stderr, "Abstract socket namespace bind() failed: %s\n",
- strerror (errno));
- exit (1);
- }
- else
- exit (0);
-]])],
- [have_abstract_sockets=yes],
- [have_abstract_sockets=no])
-AC_LANG_POP(C)
+AC_MSG_CHECKING([whether target os has abstract socket namespace])
+if test x$target_os = xlinux-gnu ; then
+ have_abstract_sockets=yes
+else
+ have_abstract_sockets=no
+fi
AC_MSG_RESULT($have_abstract_sockets)
if test x$enable_abstract_sockets = xyes; then
--
2.25.4

View file

@ -0,0 +1,68 @@
Fix for a deadlock:
https://bugzilla.gnome.org/show_bug.cgi?id=667230
From cc14440eface093548cb3bc7814da11d9a99d283 Mon Sep 17 00:00:00 2001
From: Anssi Hannula <anssi@mageia.org>
Date: Wed, 4 Jan 2012 00:23:55 +0200
Subject: [PATCH] fix possible server deadlock in ih_sub_cancel
ih_sub_foreach() calls ih_sub_cancel() while inotify_lock is locked.
However, ih_sub_cancel() locks it again, and locking GMutex recursively
causes undefined behaviour.
Fix that by removing locking from ih_sub_cancel() as ih_sub_foreach()
is its only user. Also make the function static so that it won't
accidentally get used by other files without locking (inotify-helper.h
is an internal server header).
This should fix the intermittent deadlocks I've been experiencing
causing KDE applications to no longer start, and probably also
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=542361
---
server/inotify-helper.c | 7 ++-----
server/inotify-helper.h | 1 -
2 files changed, 2 insertions(+), 6 deletions(-)
diff --git a/server/inotify-helper.c b/server/inotify-helper.c
index d77203e..0789fa4 100644
--- a/server/inotify-helper.c
+++ b/server/inotify-helper.c
@@ -123,13 +123,11 @@ ih_sub_add (ih_sub_t * sub)
/**
* Cancels a subscription which was being monitored.
+ * inotify_lock must be held when calling.
*/
-gboolean
+static gboolean
ih_sub_cancel (ih_sub_t * sub)
{
- G_LOCK(inotify_lock);
-
-
if (!sub->cancelled)
{
IH_W("cancelling %s\n", sub->pathname);
@@ -140,7 +138,6 @@ ih_sub_cancel (ih_sub_t * sub)
sub_list = g_list_remove (sub_list, sub);
}
- G_UNLOCK(inotify_lock);
return TRUE;
}
diff --git a/server/inotify-helper.h b/server/inotify-helper.h
index 5d3b6d0..d36b5fd 100644
--- a/server/inotify-helper.h
+++ b/server/inotify-helper.h
@@ -34,7 +34,6 @@ gboolean ih_startup (event_callback_t ecb,
found_callback_t fcb);
gboolean ih_running (void);
gboolean ih_sub_add (ih_sub_t *sub);
-gboolean ih_sub_cancel (ih_sub_t *sub);
/* Return FALSE from 'f' if the subscription should be cancelled */
void ih_sub_foreach (void *callerdata, gboolean (*f)(ih_sub_t *sub, void *callerdata));
--
1.7.7.2

View file

@ -0,0 +1,10 @@
# Generated by debian-patches.sh from debian-patches.txt
let
prefix = "https://sources.debian.org/data/main/g/gamin/0.1.10-4.1/debian/patches";
in
[
{
url = "${prefix}/17_deprecated_const_return.patch";
sha256 = "0bssrqcmyivlpk2g0q71d1yavd4wv1lw34l8qipm0ndljjd6rbrk";
}
]

View file

@ -0,0 +1,2 @@
gamin/0.1.10-4.1
17_deprecated_const_return.patch

View file

@ -0,0 +1,46 @@
{ lib, stdenv, fetchurl, fetchpatch, pkg-config, glib, autoreconfHook }:
stdenv.mkDerivation rec {
pname = "gamin";
version = "0.1.10";
src = fetchurl {
url = "https://www.gnome.org/~veillard/gamin/sources/gamin-${version}.tar.gz";
sha256 = "18cr51y5qacvs2fc2p1bqv32rs8bzgs6l67zhasyl45yx055y218";
};
nativeBuildInputs = [ pkg-config autoreconfHook ];
buildInputs = [ glib ];
# `_GNU_SOURCE' is needed, e.g., to get `struct ucred' from
# <sys/socket.h> with Glibc 2.9.
configureFlags = [
"--disable-debug"
"--without-python" # python3 not supported
"CPPFLAGS=-D_GNU_SOURCE"
];
preBuild = lib.optionalString stdenv.isDarwin ''
sed -i 's/,--version-script=.*$/\\/' libgamin/Makefile
'';
patches = [ ./deadlock.patch ]
++ map fetchurl (import ./debian-patches.nix)
++ lib.optional stdenv.cc.isClang ./returnval.patch
++ lib.optional stdenv.hostPlatform.isMusl (fetchpatch {
name = "fix-pthread-mutex.patch";
url = "https://git.alpinelinux.org/aports/plain/main/gamin/fix-pthread-mutex.patch?h=3.4-stable&id=a1a836b089573752c1b0da7d144c0948b04e8ea8";
sha256 = "13igdbqsxb3sz0h417k6ifmq2n4siwqspj6slhc7fdl5wd1fxmdz";
}) ++ lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) ./abstract-socket-namespace.patch;
meta = with lib; {
homepage = "https://people.gnome.org/~veillard/gamin/";
description = "A file and directory monitoring system";
maintainers = with maintainers; [ lovek323 ];
license = licenses.gpl2;
platforms = platforms.unix;
};
}

View file

@ -0,0 +1,12 @@
diff -rupN gamin-0.1.10-orig/server/gam_eq.c gamin-0.1.10/server/gam_eq.c
--- gamin-0.1.10-orig/server/gam_eq.c 2015-04-05 19:25:54.000000000 -0400
+++ gamin-0.1.10/server/gam_eq.c 2015-04-05 19:26:00.000000000 -0400
@@ -124,7 +124,7 @@ gam_eq_flush (gam_eq_t *eq, GamConnDataP
{
gboolean done_work = FALSE;
if (!eq)
- return;
+ return done_work;
#ifdef GAM_EQ_VERBOSE
GAM_DEBUG(DEBUG_INFO, "gam_eq: Flushing event queue for %s\n", gam_connection_get_pidname (conn));