Merge branch 'systemd'

This commit is contained in:
Eelco Dolstra 2013-01-21 13:02:45 +01:00
commit c2e680f320
31 changed files with 1748 additions and 1228 deletions

View file

@ -176,6 +176,12 @@ following:
(“MIT”) License</link>.</para></listitem>
</varlistentry>
<varlistentry>
<term><varname>perl5</varname></term>
<listitem><para>The Perl 5 license (Artistic License, version 1
and GPL, version 1 or later).</para></listitem>
</varlistentry>
<varlistentry>
<term><varname>free</varname></term>
<listitem><para>Catch-all for free software licenses not listed

View file

@ -10,25 +10,25 @@ base="$(basename "$url")"
if [ -z "$base" ]; then echo "bad URL"; exit 1; fi
dstPath="$distDir/$base"
if [ -e "$dstPath" ]; then echo "$dstPath already exists"; exit 0; fi
if [ -e "$dstPath" ]; then if [ -n "$VERBOSE" ]; then echo "$dstPath already exists"; fi; exit 0; fi
if [ -z "$file" ]; then
echo "downloading $url to $dstPath"
if [ -n "$dryRun" ]; then exit 0; fi
if [ -n "$DRY_RUN" ]; then exit 0; fi
declare -a res
if ! res=($(PRINT_PATH=1 nix-prefetch-url "$url")); then
continue
exit
fi
storePath=${res[1]}
else
storePath="$file"
fi
cp $storePath "$dstPath.tmp.$$"
mv -f "$dstPath.tmp.$$" "$dstPath"

View file

@ -8,7 +8,19 @@ urls=$(nix-instantiate --eval-only --xml --strict '<nixpkgs/maintainers/scripts/
for url in $urls; do
if echo "$url" | grep -q -E "www.cs.uu.nl|nixos.org|.stratego-language.org|java.sun.com|ut2004|linuxq3a|RealPlayer|Adbe|belastingdienst|microsoft|armijn/.nix|sun.com|archive.eclipse.org"; then continue; fi
if ! echo "$url" | grep -q -E "\-.*[0-9].*"; then echo "skipping $url"; continue; fi
# Check the URL scheme.
if ! echo "$url" | grep -q -E "^[a-z]+://"; then echo "skipping $url (no URL scheme)"; continue; fi
# Check the basename. It should include something resembling a version.
base="$(basename "$url")"
#if ! echo "$base" | grep -q -E "[-_].*[0-9].*"; then echo "skipping $url (no version)"; continue; fi
if ! echo "$base" | grep -q -E "[a-zA-Z]"; then echo "skipping $url (no letter in name)"; continue; fi
if ! echo "$base" | grep -q -E "[0-9]"; then echo "skipping $url (no digit in name)"; continue; fi
if ! echo "$base" | grep -q -E "[-_\.]"; then echo "skipping $url (no dot/underscore in name)"; continue; fi
if echo "$base" | grep -q -E "[&?=%]"; then echo "skipping $url (bad character in name)"; continue; fi
if [ "${base:0:1}" = "." ]; then echo "skipping $url (starts with a dot)"; continue; fi
$(dirname $0)/copy-tarball.sh "$url"
done

View file

@ -1,5 +1,5 @@
{ stdenv, fetchurl, cmake, pkgconfig, x11, libjpeg, libpng12, libXmu
, fontconfig, freetype, pam, consolekit, dbus_libs }:
, fontconfig, freetype, pam, dbus_libs }:
stdenv.mkDerivation rec {
name = "slim-1.3.4";
@ -18,11 +18,11 @@ stdenv.mkDerivation rec {
buildInputs =
[ cmake pkgconfig x11 libjpeg libpng12 libXmu fontconfig freetype
pam dbus_libs
] ++ stdenv.lib.optional (consolekit != null) consolekit;
];
preConfigure = "substituteInPlace CMakeLists.txt --replace /etc $out/etc";
cmakeFlags = [ "-DUSE_PAM=1" ] ++ stdenv.lib.optional (consolekit != null) "-DUSE_CONSOLEKIT=1";
cmakeFlags = [ "-DUSE_PAM=1" ];
NIX_CFLAGS_LINK = "-lXmu";

View file

@ -1,34 +0,0 @@
{ stdenv, fetchurl, pkgconfig, neon, libusb, openssl, udev, avahi, freeipmi }:
stdenv.mkDerivation {
name = "nut-2.6.3";
src = fetchurl {
url = http://www.networkupstools.org/source/2.6/nut-2.6.3.tar.gz;
sha256 = "0fk3bcivv26kw1psxb6sykqp9n5w02j01s1idypzlci0kmr3p49l";
};
buildInputs = [ neon libusb openssl udev avahi freeipmi ];
buildNativeInputs = [ pkgconfig ];
configureFlags = [
"--with-all"
"--with-ssl"
"--without-snmp" # Until we have it ...
"--without-powerman" # Until we have it ...
"--without-cgi"
"--without-hal"
];
meta = {
description = "Network UPS Tools";
longDescription = ''
Network UPS Tools is a collection of programs which provide a common
interface for monitoring and administering UPS, PDU and SCD hardware.
It uses a layered approach to connect all of the parts.
'';
homepage = http://www.networkupstools.org/;
platforms = with stdenv.lib.platforms; linux;
maintainers = with stdenv.lib.maintainers; [ pierron ];
priority = 10;
};
}

View file

@ -1,21 +1,28 @@
{ stdenv, fetchurl, pkgconfig, neon, libusb, openssl, udev }:
{ stdenv, fetchurl, pkgconfig, neon, libusb, openssl, udev, avahi, freeipmi }:
stdenv.mkDerivation {
name = "nut-2.6.1";
stdenv.mkDerivation rec {
name = "nut-2.6.5";
src = fetchurl {
url = http://www.networkupstools.org/source/2.6/nut-2.6.1.tar.gz;
sha256 = "f5c46b856c0cf5b7f0e4b22d82b670af64cc98717a90eaac8723dd402a181c00";
url = "http://www.networkupstools.org/source/2.6/${name}.tar.gz";
sha256 = "0gxrzsblx0jc4g9w0903ybwqbv1d79vq5hnks403fvnay4fgg3b1";
};
buildInputs = [ pkgconfig neon libusb openssl udev ];
buildInputs = [ neon libusb openssl udev avahi freeipmi ];
configureFlags = [
"--with-all"
"--without-snmp" # Until we have it ...
"--without-powerman" # Until we have it ...
"--without-cgi"
];
buildNativeInputs = [ pkgconfig ];
configureFlags =
[ "--with-all"
"--with-ssl"
"--without-snmp" # Until we have it ...
"--without-powerman" # Until we have it ...
"--without-cgi"
"--without-hal"
"--with-systemdsystemunitdir=$(out)/etc/systemd/systemd"
];
enableParallelBuilding = true;
meta = {
description = "Network UPS Tools";
@ -27,5 +34,6 @@ stdenv.mkDerivation {
homepage = http://www.networkupstools.org/;
platforms = with stdenv.lib.platforms; linux;
maintainers = with stdenv.lib.maintainers; [ pierron ];
priority = 10;
};
}

View file

@ -1,6 +1,6 @@
{ kde, kdelibs, qimageblitz, libdbusmenu_qt, xorg, shared_desktop_ontologies
, lm_sensors, pciutils, libraw1394, libusb, libxklavier, python, libqalculate
, consolekit, xkeyboard_config, kdepimlibs, pam, boost, gpsd, prison, akonadi
, xkeyboard_config, kdepimlibs, pam, boost, gpsd, prison, akonadi
, pykde4, libjpeg, pkgconfig, libXft, libXxf86misc
}:
@ -12,7 +12,7 @@ kde {
xorg.libXcomposite xorg.libXdamage xorg.libXau xorg.libXdmcp
xorg.libpthreadstubs
boost gpsd shared_desktop_ontologies lm_sensors pciutils libraw1394
libusb python libqalculate consolekit kdepimlibs pam prison akonadi
libusb python libqalculate kdepimlibs pam prison akonadi
];
buildNativeInputs = [ pkgconfig ];

View file

@ -1,6 +1,6 @@
{ kde, kdelibs, qimageblitz, libdbusmenu_qt, xorg, shared_desktop_ontologies,
lm_sensors, pciutils, libraw1394, libusb, libxklavier, python, libqalculate,
consolekit, xkeyboard_config, kdepimlibs, pam, boost, gpsd, prison, akonadi,
xkeyboard_config, kdepimlibs, pam, boost, gpsd, prison, akonadi,
pykde4, libjpeg, pkgconfig, libXft, libXxf86misc, kactivities
}:
@ -12,7 +12,7 @@ kde {
xorg.libXcomposite xorg.libXdamage xorg.libXau xorg.libXdmcp
xorg.libpthreadstubs
boost gpsd shared_desktop_ontologies lm_sensors pciutils libraw1394
libusb python libqalculate consolekit kdepimlibs pam prison akonadi
libusb python libqalculate kdepimlibs pam prison akonadi
kactivities
];

View file

@ -1,28 +0,0 @@
Upstream patch
From fc2870a65f6b3ed3b71bcac69c5faf3a9c759c64 Mon Sep 17 00:00:00 2001
From: Matthias Clasen <mclasen@redhat.com>
Date: Mon, 21 Dec 2009 11:13:23 -0500
Subject: [PATCH 1/2] Don't daemonize when activated
It confuses some versions of D-Bus and isn't needed
(or wanted it).
http://bugs.freedesktop.org/show_bug.cgi?id=25642
---
data/org.freedesktop.ConsoleKit.service.in | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/data/org.freedesktop.ConsoleKit.service.in b/data/org.freedesktop.ConsoleKit.service.in
index ec2128c..d716a36 100644
--- a/data/org.freedesktop.ConsoleKit.service.in
+++ b/data/org.freedesktop.ConsoleKit.service.in
@@ -1,4 +1,4 @@
[D-BUS Service]
Name=org.freedesktop.ConsoleKit
-Exec=@sbindir@/console-kit-daemon
+Exec=@sbindir@/console-kit-daemon --no-daemon
User=root
--
1.7.1

View file

@ -1,62 +0,0 @@
Upstream patch
From 2418840248f07025ad0edc96ed17e03ce5e47f3e Mon Sep 17 00:00:00 2001
From: Ray Strode <rstrode@redhat.com>
Date: Mon, 21 Dec 2009 11:14:54 -0500
Subject: [PATCH 2/2] Don't take bus name until ready
Previously, we would take a bus name right away, but
not register the manager object until later. This
causes a race when being activated by a method call
on the manager object, where ConsoleKit gets started
but the method call fails.
https://bugs.freedesktop.org/show_bug.cgi?id=25744
---
src/main.c | 16 ++++++++--------
1 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/src/main.c b/src/main.c
index 809c6d6..b8f698f 100644
--- a/src/main.c
+++ b/src/main.c
@@ -294,11 +294,19 @@ main (int argc,
setup_debug_log (debug);
+ g_debug ("initializing console-kit-daemon %s", VERSION);
+
connection = get_system_bus ();
if (connection == NULL) {
goto out;
}
+ manager = ck_manager_new ();
+
+ if (manager == NULL) {
+ goto out;
+ }
+
bus_proxy = get_bus_proxy (connection);
if (bus_proxy == NULL) {
g_warning ("Could not construct bus_proxy object; bailing out");
@@ -310,16 +318,8 @@ main (int argc,
goto out;
}
- g_debug ("initializing console-kit-daemon %s", VERSION);
-
create_pid_file ();
- manager = ck_manager_new ();
-
- if (manager == NULL) {
- goto out;
- }
-
loop = g_main_loop_new (NULL, FALSE);
g_signal_connect (bus_proxy,
--
1.7.1

View file

@ -1,33 +0,0 @@
This patch adds shutdown commands specific to NixOS, as NixOS does not have
a /sbin or /usr/sbin directory. In order not to have a dependency on the
package that provides "shutdown" when in an environment other than NixOS,
we'll make it depend on /var/run/current-system.
Note: this patch does not compromise system security. Other systems than
NixOS should have already shutdown in the earlier directories being searched,
and otherwise /var/run is writable only be root.
--- ConsoleKit-0.4.1/tools/linux/ck-system-restart.org 2012-02-13 11:29:57.352902568 +0100
+++ ConsoleKit-0.4.1/tools/linux/ck-system-restart 2012-02-13 11:43:27.593317712 +0100
@@ -7,6 +7,9 @@
elif [ -x "/usr/sbin/shutdown" ] ; then
/usr/sbin/shutdown -r now
exit $?
+elif [ -x "/var/run/current-system/sw/sbin/shutdown" ] ; then
+ /var/run/current-system/sw/sbin/shutdown -r now
+ exit $?
else
exit 1
fi
--- ConsoleKit-0.4.1/tools/linux/ck-system-stop.org 2012-02-13 11:30:06.228950934 +0100
+++ ConsoleKit-0.4.1/tools/linux/ck-system-stop 2012-02-13 11:44:12.664563304 +0100
@@ -7,6 +7,9 @@
elif [ -x "/usr/sbin/shutdown" ] ; then
/usr/sbin/shutdown -h now
exit $?
+elif [ -x "/var/run/current-system/sw/sbin/shutdown" ] ; then
+ /var/run/current-system/sw/sbin/shutdown -h now
+ exit $?
else
exit 1
fi

View file

@ -1,29 +0,0 @@
{ stdenv, fetchurl, pkgconfig, dbus_glib, zlib, pam, glib,
libX11, polkit, expat }:
stdenv.mkDerivation rec {
name = "consolekit-0.4.1";
src = fetchurl {
url = http://www.freedesktop.org/software/ConsoleKit/dist/ConsoleKit-0.4.1.tar.bz2;
sha256 = "0gj0airrgyi14a06w3d4407g62bs5a1cam2h64s50x3d2k3ascph";
};
buildInputs = [ pkgconfig dbus_glib zlib pam glib libX11 polkit expat ];
patches = [ ./0001-Don-t-daemonize-when-activated.patch
./0002-Don-t-take-bus-name-until-ready.patch
./commands.patch # adds shutdown commands for NixOS to the list of shutdown commands
];
# For console-kit to get the rpath to libgcc_s, needed for pthread_cancel to work
NIX_LDFLAGS = "-lgcc_s";
configureFlags = "--enable-pam-module --with-pam-module-dir=$(out)/lib/security --localstatedir=/var --sysconfdir=/etc";
installFlags = "sysconfdir=$(out)/etc DBUS_SYS_DIR=$(out)/etc/dbus-1/system.d"; # keep `make install' happy
meta = {
homepage = http://www.freedesktop.org/wiki/Software/ConsoleKit;
description = "A framework for defining and tracking users, login sessions, and seats";
};
}

View file

@ -1,6 +1,6 @@
{ stdenv, fetchurl, pkgconfig, glib, expat, pam, intltool, gettext
, gobjectIntrospection
, useSystemd ? false, systemd ? null }:
, useSystemd ? true, systemd }:
let

View file

@ -1,15 +0,0 @@
{ fetchurl, buildPerlPackage, bzip2 }:
buildPerlPackage rec {
name = "Compress-Raw-Bzip2-2.060";
src = fetchurl {
url = "mirror://cpan/modules/by-module/Compress/${name}.tar.gz";
sha256 = "02azwhglk2w68aa47sjqhj6vwzi66mv4hwal87jccjfy17gcwvx7";
};
# Don't build a private copy of bzip2.
BUILD_BZIP2 = false;
BZIP2_LIB = "${bzip2}/lib";
BZIP2_INCLUDE = "${bzip2}/include";
}

View file

@ -19,4 +19,9 @@ buildPerlPackage rec {
'';
doCheck = !stdenv.isDarwin;
meta = {
homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec;
license = "perl5";
};
}

View file

@ -1,11 +1,11 @@
{ stdenv, fetchurl, buildPerlPackage, DBI, postgresql }:
buildPerlPackage rec {
name = "DBD-Pg-2.19.2";
name = "DBD-Pg-2.19.3";
src = fetchurl {
url = "mirror://cpan/modules/by-module/DBD/${name}.tar.gz";
sha256 = "0scnhbp0lfclbppbsfzmcyw32z8jhb9calvbg9q3gk4kli1119j9";
sha256 = "0ai6p2094hrh6kjlwfjvpw2z8wqa3scr4ba3p6rqza3z9c9hsd9p";
};
buildInputs = [ postgresql ];
@ -13,5 +13,10 @@ buildPerlPackage rec {
makeMakerFlags = "POSTGRES_HOME=${postgresql}";
meta.platforms = stdenv.lib.platforms.linux;
meta = {
homepage = http://search.cpan.org/dist/DBD-Pg/;
description = "DBI PostgreSQL interface";
license = "perl";
platforms = stdenv.lib.platforms.linux;
};
}

View file

@ -1,23 +0,0 @@
Changing the process name breaks applying libcgroup rules, so don't do it.
diff -ru -x '*~' Starman-0.2014-orig/lib/Starman/Server.pm Starman-0.2014/lib/Starman/Server.pm
--- Starman-0.2014-orig/lib/Starman/Server.pm 2011-08-27 01:19:43.000000000 +0200
+++ Starman-0.2014/lib/Starman/Server.pm 2011-11-25 13:30:24.570434653 +0100
@@ -100,7 +100,7 @@
sub run_parent {
my $self = shift;
- $0 = "starman master " . join(" ", @{$self->{options}{argv} || []});
+ #$0 = "starman master " . join(" ", @{$self->{options}{argv} || []});
$self->SUPER::run_parent(@_);
}
@@ -113,7 +113,7 @@
DEBUG && warn "[$$] Initializing the PSGI app\n";
$self->{app} = $self->{options}->{psgi_app_builder}->();
}
- $0 = "starman worker " . join(" ", @{$self->{options}{argv} || []});
+ #$0 = "starman worker " . join(" ", @{$self->{options}{argv} || []});
}
sub post_accept_hook {

View file

@ -1,23 +0,0 @@
diff -rc Template-Toolkit-2.20-orig/lib/Template/Provider.pm Template-Toolkit-2.20/lib/Template/Provider.pm
*** Template-Toolkit-2.20-orig/lib/Template/Provider.pm 2008-08-06 11:32:02.000000000 +0200
--- Template-Toolkit-2.20/lib/Template/Provider.pm 2008-11-28 16:37:36.000000000 +0100
***************
*** 936,942 ****
sub _template_modified {
my $self = shift;
my $template = shift || return;
! return (stat( $template ))[9];
}
#------------------------------------------------------------------------
--- 936,945 ----
sub _template_modified {
my $self = shift;
my $template = shift || return;
! # Nix specific hack: timestamps of 0 (1-1-1970) should not be
! # treated as undefined, so return 1 instead.
! my $t = (stat( $template ))[9];
! return (defined $t && $t == 0) ? 1 : $t;
}
#------------------------------------------------------------------------

View file

@ -1,58 +0,0 @@
{ stdenv, fetchurl, gperf, pkgconfig, glib, acl
, libusb, usbutils, pciutils }:
assert stdenv ? glibc;
stdenv.mkDerivation rec {
name = "udev-173";
src = fetchurl {
url = "mirror://kernel/linux/utils/kernel/hotplug/${name}.tar.bz2";
sha256 = "1bxadi4bi11v8ipzj22wknv8hsb0wgdb99bx3w9w33rgl4aq78bh";
};
buildInputs = [ gperf pkgconfig glib acl libusb usbutils ];
configureFlags =
''
--with-pci-ids-path=${pciutils}/share/pci.ids
--enable-udev_acl --enable-edd
--disable-introspection --libexecdir=$(out)/lib/udev
--with-firmware-path=/root/test-firmware:/var/run/current-system/firmware
'';
# Workaround for the Linux kernel headers being too old.
NIX_CFLAGS_COMPILE = "-DBTN_TRIGGER_HAPPY=0x2c0";
postInstall =
''
# The path to rule_generator.functions in write_cd_rules and
# write_net_rules is broken. Also, don't store the mutable
# persistant rules in /etc/udev/rules.d but in
# /var/lib/udev/rules.d.
for i in $out/lib/udev/write_cd_rules $out/lib/udev/write_net_rules; do
substituteInPlace $i \
--replace /lib/udev $out/lib/udev \
--replace /etc/udev/rules.d /var/lib/udev/rules.d
done
# Don't set PATH to /bin:/sbin; won't work in NixOS.
sed -e '/PATH=/d' -i $out/lib/udev/rule_generator.functions
ln -sv $out/lib/ConsoleKit $out/etc/ConsoleKit
rm -frv $out/share/gtk-doc
'';
patches = [ ./custom-rules.patch ] ++
[(fetchurl {
url = https://bugs.archlinux.org/task/25356?getfile=7281;
sha256 = "01xib1pfdbwacgx8dqxgrf67a0mwkpm4kxy9f9v3df93v0m4pmbm";
})] ++
stdenv.lib.optional stdenv.isArm ./pre-accept4-kernel.patch;
meta = {
homepage = http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html;
description = "Udev manages the /dev filesystem";
};
}

View file

@ -1,91 +0,0 @@
commit c49ec33ba0f1a7f11b188913bb4895360ced67f8
Author: Yury G. Kudryashov <urkud.urkud@gmail.com>
Date: Tue Aug 16 16:28:56 2011 +0400
Upstream considers presence of rules_dir=... in udev.conf as a very special case.
In particular, they disable /dev/.udev/*. Re-enable it.
diff --git a/udev/udev-rules.c b/udev/udev-rules.c
index 6bf2726..c1ae1f3 100644
--- a/udev/udev-rules.c
+++ b/udev/udev-rules.c
@@ -1812,6 +1812,7 @@ struct udev_rules *udev_rules_new(struct udev *udev, int resolve_names)
struct udev_list file_list;
struct udev_list_entry *file_loop;
struct token end_token;
+ char runpathrules[UTIL_PATH_SIZE];
rules = calloc(1, sizeof(struct udev_rules));
if (rules == NULL)
@@ -1854,22 +1855,21 @@ struct udev_rules *udev_rules_new(struct udev *udev, int resolve_names)
rules->trie_nodes_cur = 1;
if (udev_get_rules_path(udev) == NULL) {
- char filename[UTIL_PATH_SIZE];
/* /lib/udev -- default/package rules */
add_matching_files(udev, &file_list, LIBEXECDIR "/rules.d", ".rules");
/* /etc/udev -- system-specific/user/admin rules */
add_matching_files(udev, &file_list, SYSCONFDIR "/udev/rules.d", ".rules");
-
- /* /run/udev -- throw-away/temporary rules */
- util_strscpyl(filename, sizeof(filename), udev_get_run_path(udev), "/rules.d", NULL);
- add_matching_files(udev, &file_list, filename, ".rules");
} else {
/* custom rules files location for testing */
add_matching_files(udev, &file_list, udev_get_rules_path(udev), ".rules");
}
+ /* /run/udev -- throw-away/temporary rules */
+ util_strscpyl(runpathrules, sizeof(runpathrules), udev_get_run_path(udev), "/rules.d", NULL);
+ add_matching_files(udev, &file_list, runpathrules, ".rules");
+
/* add all filenames to the string buffer */
udev_list_entry_foreach(file_loop, udev_list_get_entry(&file_list)) {
const char *filename = udev_list_entry_get_value(file_loop);
diff --git a/udev/udevd.c b/udev/udevd.c
index f1a31e7..45d10b6 100644
--- a/udev/udevd.c
+++ b/udev/udevd.c
@@ -1198,6 +1198,8 @@ int main(int argc, char *argv[])
struct epoll_event ep_ctrl, ep_inotify, ep_signal, ep_netlink, ep_worker;
struct udev_ctrl_connection *ctrl_conn = NULL;
int rc = 1;
+ char filename[UTIL_PATH_SIZE];
+ struct stat statbuf;
udev = udev_new();
if (udev == NULL)
@@ -1480,23 +1482,21 @@ int main(int argc, char *argv[])
inotify_add_watch(fd_inotify, udev_get_rules_path(udev),
IN_DELETE | IN_MOVE | IN_CLOSE_WRITE);
} else {
- char filename[UTIL_PATH_SIZE];
- struct stat statbuf;
inotify_add_watch(fd_inotify, LIBEXECDIR "/rules.d",
IN_DELETE | IN_MOVE | IN_CLOSE_WRITE);
inotify_add_watch(fd_inotify, SYSCONFDIR "/udev/rules.d",
IN_DELETE | IN_MOVE | IN_CLOSE_WRITE);
+ }
- /* watch dynamic rules directory */
- util_strscpyl(filename, sizeof(filename), udev_get_run_path(udev), "/rules.d", NULL);
- if (stat(filename, &statbuf) != 0) {
- util_create_path(udev, filename);
- mkdir(filename, 0755);
- }
- inotify_add_watch(fd_inotify, filename,
- IN_DELETE | IN_MOVE | IN_CLOSE_WRITE);
+ /* watch dynamic rules directory */
+ util_strscpyl(filename, sizeof(filename), udev_get_run_path(udev), "/rules.d", NULL);
+ if (stat(filename, &statbuf) != 0) {
+ util_create_path(udev, filename);
+ mkdir(filename, 0755);
}
+ inotify_add_watch(fd_inotify, filename,
+ IN_DELETE | IN_MOVE | IN_CLOSE_WRITE);
udev_watch_restore(udev);
/* block and listen to all signals on signalfd */

View file

@ -1,43 +0,0 @@
From:
https://github.com/archlinuxarm/PKGBUILDs/blob/master/core/udev-oxnas/pre-accept4-kernel.patch
diff -urN a/udev/udev-ctrl.c b/udev/udev-ctrl.c
--- a/udev/udev-ctrl.c 2011-10-09 17:10:32.000000000 -0600
+++ b/udev/udev-ctrl.c 2011-10-25 15:11:09.000000000 -0600
@@ -15,6 +15,7 @@
#include <stddef.h>
#include <string.h>
#include <unistd.h>
+#include <fcntl.h>
#include <sys/types.h>
#include <sys/poll.h>
#include <sys/socket.h>
@@ -182,6 +183,7 @@
struct ucred ucred;
socklen_t slen;
const int on = 1;
+ int flgs;
conn = calloc(1, sizeof(struct udev_ctrl_connection));
if (conn == NULL)
@@ -189,13 +191,19 @@
conn->refcount = 1;
conn->uctrl = uctrl;
- conn->sock = accept4(uctrl->sock, NULL, NULL, SOCK_CLOEXEC|SOCK_NONBLOCK);
+// conn->sock = accept4(uctrl->sock, NULL, NULL, SOCK_CLOEXEC|SOCK_NONBLOCK);
+ conn->sock = accept(uctrl->sock, NULL, NULL);
if (conn->sock < 0) {
if (errno != EINTR)
err(uctrl->udev, "unable to receive ctrl connection: %m\n");
goto err;
}
+// Since we don't have accept4
+ flgs = fcntl(conn->sock, F_GETFL, NULL);
+ if(flgs >= 0) fcntl(conn->sock, F_SETFL, flgs | O_NONBLOCK);
+ fcntl(conn->sock, F_SETFD, FD_CLOEXEC);
+
/* check peer credential of connection */
slen = sizeof(ucred);
if (getsockopt(conn->sock, SOL_SOCKET, SO_PEERCRED, &ucred, &slen) < 0) {

View file

@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
sha256 = "1xgqifddwaavmjc8c30i0mdffyirsld7c6qhfyjw7f9khwv8jjw5";
};
patches = [ ./purity.patch ];
patches = [ ./purity.patch ./no-pci-db.patch ];
postPatch =
''
@ -30,11 +30,6 @@ stdenv.mkDerivation rec {
configureFlags = "--localstatedir=/var --enable-lvm2";
preConfigure =
''
# Ensure that udisks can find the necessary programs.
'';
meta = {
homepage = http://www.freedesktop.org/wiki/Software/udisks;
description = "A daemon and command-line utility for querying and manipulating storage devices";

View file

@ -0,0 +1,13 @@
Systemd no longer has the pci-db program.
diff -ru -x '*~' udisks-1.0.4-orig/data/80-udisks.rules udisks-1.0.4/data/80-udisks.rules
--- udisks-1.0.4-orig/data/80-udisks.rules 2011-08-25 23:31:20.000000000 +0200
+++ udisks-1.0.4/data/80-udisks.rules 2012-12-13 13:06:52.189650854 +0100
@@ -3,7 +3,6 @@
# import names for PCI storage controllers
#
-SUBSYSTEM=="pci", ACTION=="add|change", ENV{ID_MODEL_FROM_DATABASE}=="", ATTR{class}=="0x01*", IMPORT{program}="pci-db %p"
# Set eSATA port type for known eSATA CardBus adapters - first we want to ensure
# the device is on a cardbus controller (upper PCI device) - then we check

View file

@ -1,6 +1,6 @@
{ stdenv, fetchurl, pkgconfig, glib, dbus, dbus_glib, dbus_tools, polkit
, intltool, libxslt, docbook_xsl, udev, libusb1, pmutils
, useSystemd ? false, systemd ? null
, useSystemd ? true, systemd
}:
assert stdenv.isLinux;

View file

@ -1,20 +1,20 @@
{ stdenv, fetchurl, udev, intltool, pkgconfig, glib, xmlto
, makeWrapper, pygobject, pygtk, docbook_xml_dtd_412, docbook_xsl
, pythonDBus, libxml2, desktop_file_utils, libusb, cups, pycups
, pythonDBus, libxml2, desktop_file_utils, libusb1, cups, pycups
, pythonPackages
, withGUI ? true
}:
stdenv.mkDerivation rec {
name = "${meta.name}-${meta.version}";
name = "system-config-printer-1.3.12";
src = fetchurl {
url = "http://cyberelk.net/tim/data/${meta.name}/1.3/${name}.tar.xz";
sha256 = "1d50rqgpyrzyrxwq3qhafzq9075qm2wxdrh1f1q7whlr0chxi3mw";
url = "http://cyberelk.net/tim/data/system-config-printer/1.3/${name}.tar.xz";
sha256 = "1cg9n75rg5l9vr1925n2g771kga33imikyl0mf70lww2sfgvs18r";
};
buildInputs =
[ intltool pkgconfig glib udev libusb cups xmlto
[ intltool pkgconfig glib udev libusb1 cups xmlto
libxml2 docbook_xml_dtd_412 docbook_xsl desktop_file_utils
pythonPackages.python pythonPackages.wrapPython
];
@ -22,8 +22,11 @@ stdenv.mkDerivation rec {
pythonPath =
[ pythonDBus pycups pygobject ]
++ stdenv.lib.optionals withGUI [ pygtk pythonPackages.notify ];
configureFlags = "--with-udev-rules";
configureFlags =
[ "--with-udev-rules"
"--with-systemdsystemunitdir=$(out)/etc/systemd/systemd"
];
postInstall =
''
@ -34,7 +37,6 @@ stdenv.mkDerivation rec {
'';
meta = {
name = "system-config-printer";
version = "1.3.4";
homepage = http://cyberelk.net/tim/software/system-config-printer/;
};
}

View file

@ -31,7 +31,8 @@ stdenv.mkDerivation rec {
"--with-dbus-sys-dir=\${out}/etc/dbus-1/system.d"
"--with-crypto=gnutls" "--disable-more-warnings"
"--with-systemdsystemunitdir=$(out)/etc/systemd/system"
"--with-kernel-firmware-dir=/run/current-system/firmware" ];
"--with-kernel-firmware-dir=/run/current-system/firmware"
"--with-session-tracking=systemd" ];
buildInputs = [ wirelesstools udev libnl libuuid polkit ppp xz ];
@ -55,11 +56,14 @@ stdenv.mkDerivation rec {
postInstall =
''
mkdir -p $out/lib/NetworkManager
# FIXME: Workaround until NixOS' dbus+systemd supports at_console policy
substituteInPlace $out/etc/dbus-1/system.d/org.freedesktop.NetworkManager.conf --replace 'at_console="true"' 'group="networkmanager"'
'';
meta = with stdenv.lib; {
homepage = http://projects.gnome.org/NetworkManager/;
description = "Network configuration and management in an easy way. Desktop environment independent.";
description = "Network configuration and management tool";
license = licenses.gpl2Plus;
maintainers = with maintainers; [ phreedom urkud rickynils ];
platforms = platforms.linux;

View file

@ -5,11 +5,11 @@
}:
stdenv.mkDerivation rec {
name = "nix-1.2pre2980_9de6bc5";
name = "nix-1.4pre3044_536c85e";
src = fetchurl {
url = "http://hydra.nixos.org/build/3338447/download/4/${name}.tar.bz2";
sha256 = "b767c2b75a0036edfc6be209dcaab23643887b192e3788640380ac27298b08d0";
url = "http://hydra.nixos.org/build/3794557/download/5/${name}.tar.xz";
sha256 = "d0f952ff3b4c0cf7f9682b45844ffb3686ff333d02be83341380186a97834f95";
};
buildNativeInputs = [ perl pkgconfig ];
@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
configureFlags =
''
--with-store-dir=${storeDir} --localstatedir=${stateDir}
--with-store-dir=${storeDir} --localstatedir=${stateDir} --sysconfdir=/etc
--with-dbi=${perlPackages.DBI}/${perl.libPrefix}
--with-dbd-sqlite=${perlPackages.DBDSQLite}/${perl.libPrefix}
--with-www-curl=${perlPackages.WWWCurl}/${perl.libPrefix}
@ -35,6 +35,10 @@ stdenv.mkDerivation rec {
CFLAGS=-O3 CXXFLAGS=-O3
'';
makeFlags = "profiledir=$(out)/etc/profile.d";
installFlags = "sysconfdir=$(out)/etc";
doInstallCheck = true;
crossAttrs = {

View file

@ -15,11 +15,11 @@ let
in
stdenv.mkDerivation rec {
name = "gnupg-1.4.12";
name = "gnupg-1.4.13";
src = fetchurl {
url = "mirror://gnupg/gnupg/${name}.tar.bz2";
sha1 = "9b78e20328d35525af7b8a9c1cf081396910e937";
sha1 = "17a75c54d292bd0923f0a1817a1b02ded37d1de1";
};
buildInputs = [ readline bzip2 ];

View file

@ -237,7 +237,7 @@ let
### BUILD SUPPORT
attrSetToDir = arg : import ../build-support/upstream-updater/attrset-to-dir.nix {
attrSetToDir = arg: import ../build-support/upstream-updater/attrset-to-dir.nix {
inherit writeTextFile stdenv lib;
theAttrSet = arg;
};
@ -3506,8 +3506,6 @@ let
confuse = callPackage ../development/libraries/confuse { };
consolekit = callPackage ../development/libraries/consolekit { };
coredumper = callPackage ../development/libraries/coredumper { };
ctl = callPackage ../development/libraries/ctl { };
@ -5196,7 +5194,6 @@ let
### DEVELOPMENT / LIBRARIES / JAVA
atermjava = callPackage ../development/libraries/java/aterm {
stdenv = overrideInStdenv stdenv [gnumake380];
};
@ -5267,6 +5264,7 @@ let
jquery_ui = callPackage ../development/libraries/javascript/jquery-ui { };
### DEVELOPMENT / PERL MODULES
buildPerlPackage = import ../development/perl-modules/generic perl;
@ -6348,8 +6346,7 @@ let
});
udev145 = callPackage ../os-specific/linux/udev/145.nix { };
udev173 = callPackage ../os-specific/linux/udev/173.nix { };
udev = pkgs.udev173;
udev = pkgs.systemd;
udisks = callPackage ../os-specific/linux/udisks { };
@ -8983,19 +8980,13 @@ let
stateDir = config.nix.stateDir or "/nix/var";
};
nixUnstable = nixStable;
/*
nixUnstable = callPackage ../tools/package-management/nix/unstable.nix {
storeDir = config.nix.storeDir or "/nix/store";
stateDir = config.nix.stateDir or "/nix/var";
};
*/
nut = callPackage ../applications/misc/nut { };
nut_2_6_3 = callPackage ../applications/misc/nut/2.6.3.nix { };
disnix = callPackage ../tools/package-management/disnix { };
disnix_activation_scripts = callPackage ../tools/package-management/disnix/activation-scripts {

File diff suppressed because it is too large Load diff

View file

@ -49,7 +49,6 @@ with (import ./release-lib.nix);
chatzilla = linux;
cksfv = all;
classpath = linux;
consolekit = linux;
coreutils = all;
cpio = all;
cron = linux;