Merge staging-next into staging

This commit is contained in:
github-actions[bot] 2022-11-17 12:01:46 +00:00 committed by GitHub
commit 4d6fb18c10
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
13 changed files with 74 additions and 44 deletions

View File

@ -178,6 +178,16 @@ in {
description = lib.mdDoc "List of plugins to install.";
example = lib.literalExpression "[ pkgs.tmuxPlugins.nord ]";
};
withUtempter = mkOption {
description = lib.mdDoc ''
Whether to enable libutempter for tmux.
This is required so that tmux can write to /var/run/utmp (which can be queried with `who` to display currently connected user sessions).
Note, this will add a guid wrapper for the group utmp!
'';
default = true;
type = types.bool;
};
};
};
@ -193,6 +203,15 @@ in {
TMUX_TMPDIR = lib.optional cfg.secureSocket ''''${XDG_RUNTIME_DIR:-"/run/user/$(id -u)"}'';
};
};
security.wrappers = mkIf cfg.withUtempter {
utempter = {
source = "${pkgs.libutempter}/lib/utempter/utempter";
owner = "root";
group = "utmp";
setuid = false;
setgid = true;
};
};
};
imports = [

View File

@ -9,6 +9,10 @@ let
configurationDirectory = "/etc/${configurationDirectoryName}";
stateDirectory = "/var/lib/${configurationPrefix}containers";
nixos-container = pkgs.nixos-container.override {
inherit stateDirectory configurationDirectory;
};
# The container's init script, a small wrapper around the regular
# NixOS stage-2 init script.
containerInit = (cfg:
@ -250,7 +254,7 @@ let
ExecReload = pkgs.writeScript "reload-container"
''
#! ${pkgs.runtimeShell} -e
${pkgs.nixos-container}/bin/nixos-container run "$INSTANCE" -- \
${nixos-container}/bin/nixos-container run "$INSTANCE" -- \
bash --login -c "''${SYSTEM_PATH:-/nix/var/nix/profiles/system}/bin/switch-to-configuration test"
'';
@ -868,9 +872,7 @@ in
'';
environment.systemPackages = [
(pkgs.nixos-container.override {
inherit stateDirectory configurationDirectory;
})
nixos-container
];
boot.kernelModules = [

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
pname = "freetube";
version = "0.17.1";
version = "0.18.0";
src = fetchurl {
url = "https://github.com/FreeTubeApp/FreeTube/releases/download/v${version}-beta/freetube_${version}_amd64.AppImage";
sha256 = "1n5r1h2khjwdsckiviv8f2pflxibk8rs68fs08jak0kbm0kkyj18";
sha256 = "sha256-7IxmlkExM8Q1yyq44ajZ6on4EMPyGt23QmzmBZmofts=";
};
appimageContents = appimageTools.extractType2 {

View File

@ -4,17 +4,19 @@ with lib;
stdenv.mkDerivation rec {
pname = "libutempter";
version = "1.1.6";
version = "1.2.1";
src = fetchurl {
url = "mirror://ubuntu/pool/main/libu/libutempter/libutempter_${version}.orig.tar.bz2";
sha256 = "15y3xbgznjxnfmix4xg3bwmqdvghdw7slbhazb0ybmyf65gmd65q";
url = "http://ftp.altlinux.org/pub/people/ldv/utempter/libutempter-${version}.tar.gz";
sha256 = "sha256-ln/vNy85HeUBhDrYdXDGz12r2WUfAPF4MJD7wSsqNMs=";
};
buildInputs = [ glib ];
patches = [ ./exec_path.patch ];
patchFlags = [ "-p2" ];
prePatch = ''
substituteInPlace Makefile --replace 2711 0711
'';
@ -27,6 +29,7 @@ stdenv.mkDerivation rec {
];
meta = {
homepage = "https://github.com/altlinux/libutempter";
description = "Interface for terminal emulators such as screen and xterm to record user sessions to utmp and wtmp files";
longDescription = ''
The bundled utempter binary must be able to run as a user belonging to group utmp.

View File

@ -1,19 +1,28 @@
diff -ur libutempter-1.1.6/iface.c libutempter-1.1.6.patched/iface.c
--- libutempter-1.1.6/iface.c 2010-11-04 18:14:53.000000000 +0100
+++ libutempter-1.1.6.patched/iface.c 2018-06-06 15:09:11.417755549 +0200
@@ -60,9 +60,9 @@
diff --git a/libutempter/iface.c b/libutempter/iface.c
index 37c74a8..6f44c9a 100644
--- a/libutempter/iface.c
+++ b/libutempter/iface.c
@@ -43,7 +43,7 @@
__result; }))
#endif
-#define UTEMPTER_DEFAULT_PATHNAME LIBEXECDIR "/utempter/utempter"
+#define UTEMPTER_DEFAULT_PATHNAME "utempter"
static const char *utempter_pathname;
static int saved_fd = -1;
@@ -57,8 +57,8 @@ do_child(int master_fd, const char *path, char *const *argv)
_exit(EXIT_FAILURE);
}
- execv(path, argv);
- print_dbg("execv: %s", strerror(errno));
+ execvp(path, argv);
#ifdef UTEMPTER_DEBUG
- fprintf(stderr, "libutempter: execv: %s\n", strerror(errno));
+ fprintf(stderr, "libutempter: execvp: %s\n", strerror(errno));
#endif
+ print_dbg("execvp: %s", strerror(errno));
while (EACCES == errno)
@@ -79,7 +79,7 @@
while (EACCES == errno) {
/* try saved group ID */
@@ -73,7 +73,7 @@ do_child(int master_fd, const char *path, char *const *argv)
if (setgid(sgid))
break;
@ -21,5 +30,3 @@ diff -ur libutempter-1.1.6/iface.c libutempter-1.1.6.patched/iface.c
+ (void) execvp(path, argv);
break;
}
Only in libutempter-1.1.6.patched: result

View File

@ -1,6 +1,7 @@
{ lib
, stdenv
, fetchPypi
, fetchpatch
, python
, pythonOlder
, buildPythonPackage
@ -28,6 +29,13 @@ buildPythonPackage rec {
sha256 = "sha256-+8XAXIXBoCvnex/1kQh8g7xEV5xtK9n7eYu2TqXhoCc=";
};
patches = [
(fetchpatch {
url = "https://github.com/scipy/scipy/commit/318d8c6d16fdf000be8637e9917989729f2c8ce7.diff";
sha256 = "sha256-Zfb9GYP0r9MDJ91hSzMN1r4eNilajPThNIvZmDzFEXo=";
})
];
nativeBuildInputs = [ cython gfortran meson-python pythran pkg-config wheel ];
buildInputs = [

View File

@ -1,13 +1,17 @@
{ lib
, flutter2
, fetchFromGitHub
, stdenv
}:
flutter2.mkFlutterApp {
pname = "firmware-updater";
version = "unstable";
vendorHash = "sha256-7uOiebGBcX61oUyNCi1h9KldTRTrCfYaHUQSH4J5OoQ=";
vendorHash =
if stdenv.system == "aarch64-linux"
then "sha256-+ACmcIKXtGtaYBuwc7jY9hEdIS9qxQCbuxRKJQohX5A="
else "sha256-nPblucEpNCBJYpIqx1My6SWq8CjXYuHDG/uphdcrWjQ=";
src = fetchFromGitHub {
owner = "canonical";

View File

@ -8,6 +8,7 @@
, pkg-config
, withSystemd ? stdenv.isLinux && !stdenv.hostPlatform.isStatic, systemd
, utf8proc
, withUtempter ? stdenv.isLinux && !stdenv.hostPlatform.isMusl, libutempter
}:
let
@ -44,12 +45,14 @@ stdenv.mkDerivation rec {
ncurses
libevent
] ++ lib.optionals withSystemd [ systemd ]
++ lib.optionals stdenv.isDarwin [ utf8proc ];
++ lib.optionals stdenv.isDarwin [ utf8proc ]
++ lib.optionals withUtempter [ libutempter ];
configureFlags = [
"--sysconfdir=/etc"
"--localstatedir=/var"
] ++ lib.optionals withSystemd [ "--enable-systemd" ]
++ lib.optionals withUtempter [ "--enable-utempter" ]
++ lib.optionals stdenv.isDarwin [ "--enable-utf8proc" ];
enableParallelBuilding = true;

View File

@ -24,7 +24,6 @@ stdenv.mkDerivation rec {
patches = [
./ssh_path.patch
./mosh-client_path.patch
./utempter_path.patch
# Fix build with bash-completion 2.10
./bash_completion_datadir.patch
];

View File

@ -1,14 +0,0 @@
diff -ur mosh-1.3.2/src/frontend/mosh-server.cc mosh-1.3.2.patched/src/frontend/mosh-server.cc
--- mosh-1.3.2/src/frontend/mosh-server.cc 2017-07-22 23:14:53.000000000 +0200
+++ mosh-1.3.2.patched/src/frontend/mosh-server.cc 2018-06-06 10:45:50.725352804 +0200
@@ -351,6 +351,10 @@
}
}
+#ifdef HAVE_UTEMPTER
+ utempter_set_helper( "utempter" );
+#endif
+
try {
return run_server( desired_ip, desired_port, command_path, command_argv, colors, verbose, with_motd );
} catch ( const Network::NetworkException &e ) {

View File

@ -7,12 +7,12 @@
buildPythonApplication rec {
pname = "pass2csv";
version = "0.3.2";
version = "1.0.0";
format = "pyproject";
src = fetchPypi {
inherit pname version;
sha256 = "03a11bd0b0905737f4adb21d87aa1653d84cc1d9b5dcfdfb8a29092245d65db8";
sha256 = "sha256-a/PQl/nqdj9xOM2hfAIiLuGy5F4KmEWFJihZ4gilaJw=";
};
nativeBuildInputs = [

View File

@ -2,16 +2,16 @@
buildGoModule rec {
pname = "ssh-to-age";
version = "1.0.2";
version = "1.0.3";
src = fetchFromGitHub {
owner = "Mic92";
repo = "ssh-to-age";
rev = version;
sha256 = "sha256-sjiOmIoFyl1Kr4RKg1TqXJNIq2/HF91oxDLtRDa+eWw=";
sha256 = "sha256-tasR0p+8Y315zngWbDPUmn4O/SaIw+gKGPLT5FGymuo=";
};
vendorSha256 = "sha256-Xi5aJAYgbtrDq7KBAfZR1LT5/jbslwEa70qaFqW4vcQ=";
vendorSha256 = "sha256-1iDFM6KNsvvwOTg05TAJZvHVTv+Gc0nG0STzNdk0NB4=";
checkPhase = ''
runHook preCheck

View File

@ -6468,7 +6468,6 @@ with pkgs;
exempi = callPackage ../development/libraries/exempi {
stdenv = if stdenv.isDarwin then stdenv
else if stdenv.isi686 then gcc6Stdenv
else gcc9Stdenv;
boost = if stdenv.isDarwin then boost else boost15x;
};