public inbox for ipfire-scm@lists.ipfire.org
 help / color / mirror / Atom feed
From: git@ipfire.org
To: ipfire-scm@lists.ipfire.org
Subject: [IPFire-SCM] [git.ipfire.org] IPFire 3.x development tree branch, master, updated. 620459d13810510944f28c909f6f614d190ac420
Date: Sun, 15 Apr 2012 01:25:22 +0200	[thread overview]
Message-ID: <20120414232530.38057200C2@argus.ipfire.org> (raw)

[-- Attachment #1: Type: text/plain, Size: 44773 bytes --]

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "IPFire 3.x development tree".

The branch, master has been updated
       via  620459d13810510944f28c909f6f614d190ac420 (commit)
       via  0e7f182f115cf5c6be3da98586cb99ba8ab93aa1 (commit)
       via  b25c05d01739ddbfd625eea46d0b78208952b724 (commit)
       via  98b1ec855a5585ebddb48a9c33e552f94041d686 (commit)
       via  1daed6d3807e11bb3c446845add02211e6311099 (commit)
       via  71b985af7c5c40d4e17d2d6201d4bc90620a8d8d (commit)
       via  6793fec1c66a8741cb2576183b07f3fb24f0a3f0 (commit)
       via  0efbb74b89b62afa34b6075a3e6e79dea0cd6116 (commit)
       via  3d038b51f066545d7bd29875820b0b0fad5c577b (commit)
       via  f23fe4ed9c8b7a5e28235364b089703a799940c6 (commit)
       via  f1dcb6949bffb76f364ecaa9b4231058d8da9059 (commit)
       via  0da54dea63b5b5c747d8a4a371c4ff311f9ba823 (commit)
       via  2afe3d248e9e9307476aed66003dac9b4802b590 (commit)
      from  7b2d31434f04590df1dd2f2dd40e9d1ec15b5840 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 620459d13810510944f28c909f6f614d190ac420
Author: Michael Tremer <michael.tremer(a)ipfire.org>
Date:   Sun Apr 15 01:24:50 2012 +0200

    initscripts: Move everything to /usr.

commit 0e7f182f115cf5c6be3da98586cb99ba8ab93aa1
Merge: b25c05d 2afe3d2
Author: Michael Tremer <michael.tremer(a)ipfire.org>
Date:   Sun Apr 15 01:15:58 2012 +0200

    Merge remote-tracking branch 'stevee/rc.local-fix'

commit b25c05d01739ddbfd625eea46d0b78208952b724
Author: Michael Tremer <michael.tremer(a)ipfire.org>
Date:   Sun Apr 15 01:15:12 2012 +0200

    grubby: Update to 8.11.

commit 98b1ec855a5585ebddb48a9c33e552f94041d686
Author: Michael Tremer <michael.tremer(a)ipfire.org>
Date:   Sun Apr 15 01:14:50 2012 +0200

    isdn4k-utils: Move everything to /usr.

commit 1daed6d3807e11bb3c446845add02211e6311099
Author: Michael Tremer <michael.tremer(a)ipfire.org>
Date:   Sun Apr 15 01:14:06 2012 +0200

    pam: Move everything to /usr.

commit 71b985af7c5c40d4e17d2d6201d4bc90620a8d8d
Author: Michael Tremer <michael.tremer(a)ipfire.org>
Date:   Sun Apr 15 01:13:43 2012 +0200

    udev: Move everything to /usr.

commit 6793fec1c66a8741cb2576183b07f3fb24f0a3f0
Author: Michael Tremer <michael.tremer(a)ipfire.org>
Date:   Sun Apr 15 01:12:10 2012 +0200

    systemd: Update to 44.
    
    Moves everything to /usr.

commit 0efbb74b89b62afa34b6075a3e6e79dea0cd6116
Author: Michael Tremer <michael.tremer(a)ipfire.org>
Date:   Sun Apr 15 00:44:37 2012 +0200

    coreutils: Add forgotten patch that adds the runuser command.

commit 3d038b51f066545d7bd29875820b0b0fad5c577b
Author: Michael Tremer <michael.tremer(a)ipfire.org>
Date:   Sun Apr 15 00:30:31 2012 +0200

    util-linux: Move everything to /usr.

commit f23fe4ed9c8b7a5e28235364b089703a799940c6
Author: Michael Tremer <michael.tremer(a)ipfire.org>
Date:   Sun Apr 15 00:29:53 2012 +0200

    sed: Move everything to /usr.

commit f1dcb6949bffb76f364ecaa9b4231058d8da9059
Author: Michael Tremer <michael.tremer(a)ipfire.org>
Date:   Sun Apr 15 00:28:14 2012 +0200

    linux-firmware: Move everything to /usr.

commit 0da54dea63b5b5c747d8a4a371c4ff311f9ba823
Author: Michael Tremer <michael.tremer(a)ipfire.org>
Date:   Sun Apr 15 00:28:02 2012 +0200

    libsepol: Move libs to /usr.

commit 2afe3d248e9e9307476aed66003dac9b4802b590
Author: Stefan Schantl <stefan.schantl(a)ipfire.org>
Date:   Sat Apr 14 19:46:14 2012 +0200

    initscripts: Remove unsupported check from systemd file.
    
    The ConditionFileIsExecuteable check from systemd has been removed.
    So parsing of our service file allways fails on newer versions of systemd.
    
    Fixes #10072

-----------------------------------------------------------------------

Summary of changes:
 coreutils/coreutils.nm                             |    2 +-
 coreutils/patches/coreutils-8.7-runuser.patch      |  338 ++++++++++++++++++++
 grubby/grubby.nm                                   |    7 +-
 initscripts/initscripts.nm                         |   12 +-
 initscripts/src/Makefile                           |    7 +-
 initscripts/systemd/rc-local.service               |    1 -
 isdn4k-utils/40-isdn.rules                         |    4 -
 isdn4k-utils/isdn4k-utils.nm                       |   18 +-
 libsepol/libsepol.nm                               |    4 +-
 linux-firmware/linux-firmware.nm                   |    6 +-
 pam/pam.nm                                         |   10 +-
 sed/sed.nm                                         |   14 +-
 .../systemd-44-fix-journald-PAGE_SIZE-on-arm.patch |   44 +++
 ...ystemd-ipfire.patch => systemd-44-ipfire.patch} |   30 +--
 systemd/systemd.nm                                 |  120 ++++----
 udev/udev.nm                                       |   24 +-
 util-linux/util-linux.nm                           |   42 ++-
 17 files changed, 547 insertions(+), 136 deletions(-)
 create mode 100644 coreutils/patches/coreutils-8.7-runuser.patch
 delete mode 100644 isdn4k-utils/40-isdn.rules
 create mode 100644 systemd/patches/systemd-44-fix-journald-PAGE_SIZE-on-arm.patch
 rename systemd/patches/{systemd-ipfire.patch => systemd-44-ipfire.patch} (56%)

Difference in files:
diff --git a/coreutils/coreutils.nm b/coreutils/coreutils.nm
index e0b5feb..3b04de3 100644
--- a/coreutils/coreutils.nm
+++ b/coreutils/coreutils.nm
@@ -5,7 +5,7 @@
 
 name       = coreutils
 version    = 8.16
-release    = 2
+release    = 3
 
 groups     = System/Base
 url        = http://www.gnu.org/software/coreutils/
diff --git a/coreutils/patches/coreutils-8.7-runuser.patch b/coreutils/patches/coreutils-8.7-runuser.patch
new file mode 100644
index 0000000..533e15a
--- /dev/null
+++ b/coreutils/patches/coreutils-8.7-runuser.patch
@@ -0,0 +1,338 @@
+diff -urNp coreutils-8.7-orig/AUTHORS coreutils-8.7/AUTHORS
+--- coreutils-8.7-orig/AUTHORS	2010-10-11 19:35:11.000000000 +0200
++++ coreutils-8.7/AUTHORS	2010-11-15 10:08:04.222078001 +0100
+@@ -65,6 +65,7 @@ readlink: Dmitry V. Levin
+ rm: Paul Rubin, David MacKenzie, Richard M. Stallman, Jim Meyering
+ rmdir: David MacKenzie
+ runcon: Russell Coker
++runuser: David MacKenzie, Dan Walsh
+ seq: Ulrich Drepper
+ sha1sum: Ulrich Drepper, Scott Miller, David Madore
+ sha224sum: Ulrich Drepper, Scott Miller, David Madore
+diff -urNp coreutils-8.7-orig/man/help2man coreutils-8.7/man/help2man
+--- coreutils-8.7-orig/man/help2man	2010-10-11 19:35:11.000000000 +0200
++++ coreutils-8.7/man/help2man	2010-11-15 10:08:51.331054884 +0100
+@@ -555,6 +555,9 @@ while (length)
+     $include{$sect} .= $content;
+ }
+ 
++# There is no info documentation for runuser (shared with su).
++$opt_no_info = 1 if $program eq 'runuser';
++
+ # Refer to the real documentation.
+ unless ($opt_no_info)
+ {
+diff -urNp coreutils-8.7-orig/man/Makefile.am coreutils-8.7/man/Makefile.am
+--- coreutils-8.7-orig/man/Makefile.am	2010-10-11 19:35:11.000000000 +0200
++++ coreutils-8.7/man/Makefile.am	2010-11-15 10:09:21.768922182 +0100
+@@ -94,6 +94,7 @@ readlink.1:	$(common_dep)	$(srcdir)/read
+ rm.1:		$(common_dep)	$(srcdir)/rm.x		../src/rm.c
+ rmdir.1:	$(common_dep)	$(srcdir)/rmdir.x	../src/rmdir.c
+ runcon.1:	$(common_dep)	$(srcdir)/runcon.x	../src/runcon.c
++runuser.1:	$(common_dep)	$(srcdir)/runuser.x	../src/su.c
+ seq.1:		$(common_dep)	$(srcdir)/seq.x		../src/seq.c
+ sha1sum.1:	$(common_dep)	$(srcdir)/sha1sum.x	../src/md5sum.c
+ sha224sum.1:	$(common_dep)	$(srcdir)/sha224sum.x	../src/md5sum.c
+diff -urNp coreutils-8.7-orig/man/runuser.x coreutils-8.7/man/runuser.x
+--- coreutils-8.7-orig/man/runuser.x	1970-01-01 01:00:00.000000000 +0100
++++ coreutils-8.7/man/runuser.x	2010-11-15 10:09:57.437939015 +0100
+@@ -0,0 +1,12 @@
++[NAME]
++runuser \- run a shell with substitute user and group IDs
++[DESCRIPTION]
++.\" Add any additional description here
++[SEE ALSO]
++.TP
++More detailed Texinfo documentation could be found by command
++.TP
++\t\fBinfo coreutils \(aqsu invocation\(aq\fR\t
++.TP
++since the command \fBrunuser\fR is trimmed down version of command \fBsu\fR.
++.br
+diff -urNp coreutils-8.7-orig/README coreutils-8.7/README
+--- coreutils-8.7-orig/README	2010-10-11 19:35:11.000000000 +0200
++++ coreutils-8.7/README	2010-11-15 10:10:43.002922253 +0100
+@@ -11,8 +11,8 @@ The programs that can be built with this
+   factor false fmt fold groups head hostid hostname id install join kill
+   link ln logname ls md5sum mkdir mkfifo mknod mktemp mv nice nl nohup
+   nproc od paste pathchk pinky pr printenv printf ptx pwd readlink realpath
+-  rm rmdir runcon seq sha1sum sha224sum sha256sum sha384sum sha512sum shred
+-  shuf sleep sort split stat stdbuf stty su sum sync tac tail tee test
++  rm rmdir runcon runuser seq sha1sum sha224sum sha256sum sha384sum sha512sum
++  shred shuf sleep sort split stat stdbuf stty su sum sync tac tail tee test
+   timeout touch tr true truncate tsort tty uname unexpand uniq unlink
+   uptime users vdir wc who whoami yes
+ 
+diff -urNp coreutils-8.7-orig/src/Makefile.am coreutils-8.7/src/Makefile.am
+--- coreutils-8.7-orig/src/Makefile.am	2010-11-15 10:07:07.339171659 +0100
++++ coreutils-8.7/src/Makefile.am	2010-11-15 10:12:14.847094550 +0100
+@@ -100,6 +100,7 @@ EXTRA_PROGRAMS = \
+   rm		\
+   rmdir		\
+   runcon	\
++  runuser	\
+   seq		\
+   sha1sum	\
+   sha224sum	\
+@@ -300,6 +301,10 @@ cp_LDADD += $(copy_LDADD)
+ ginstall_LDADD += $(copy_LDADD)
+ mv_LDADD += $(copy_LDADD)
+ 
++runuser_SOURCES = su.c
++runuser_CFLAGS = -DRUNUSER -DAUTHORS="\"David MacKenzie, Dan Walsh\""
++runuser_LDADD = $(LDADD) $(LIB_CRYPT) $(PAM_LIBS)
++
+ remove_LDADD =
+ mv_LDADD += $(remove_LDADD)
+ rm_LDADD += $(remove_LDADD)
+@@ -395,7 +400,7 @@ RELEASE_YEAR = \
+   `sed -n '/.*COPYRIGHT_YEAR = \([0-9][0-9][0-9][0-9]\) };/s//\1/p' \
+     $(top_srcdir)/lib/version-etc.c`
+ 
+-all-local: su$(EXEEXT)
++all-local: su$(EXEEXT) runuser
+ 
+ installed_su = $(DESTDIR)$(bindir)/`echo su|sed '$(transform)'`
+ 
+diff -urNp coreutils-8.7-orig/src/su.c coreutils-8.7/src/su.c
+--- coreutils-8.7-orig/src/su.c	2010-11-15 10:07:07.372933288 +0100
++++ coreutils-8.7/src/su.c	2010-11-15 10:42:12.569159230 +0100
+@@ -100,9 +100,15 @@
+ #include "error.h"
+ 
+ /* The official name of this program (e.g., no 'g' prefix).  */
++#ifndef RUNUSER
+ #define PROGRAM_NAME "su"
++#else
++#define PROGRAM_NAME "runuser"
++#endif
+ 
++#ifndef AUTHORS
+ #define AUTHORS proper_name ("David MacKenzie")
++#endif
+ 
+ #if HAVE_PATHS_H
+ # include <paths.h>
+@@ -140,6 +146,9 @@
+ #ifndef USE_PAM
+ char *crypt (char const *key, char const *salt);
+ #endif
++#ifndef CHECKPASSWD
++#define CHECKPASSWD 1
++#endif
+ 
+ static void run_shell (char const *, char const *, char **, size_t)
+      ATTRIBUTE_NORETURN;
+@@ -169,6 +178,10 @@ static struct option const longopts[] =
+   {"login", no_argument, NULL, 'l'},
+   {"preserve-environment", no_argument, NULL, 'p'},
+   {"shell", required_argument, NULL, 's'},
++#ifdef RUNUSER
++  {"group", required_argument, NULL, 'g'},
++  {"supp-group", required_argument, NULL, 'G'},
++#endif
+   {GETOPT_HELP_OPTION_DECL},
+   {GETOPT_VERSION_OPTION_DECL},
+   {NULL, 0, NULL, 0}
+@@ -444,6 +457,11 @@ correct_password (const struct passwd *p
+       retval = pam_set_item (pamh, PAM_RUSER, (const void *) lpw->pw_name);
+       PAM_BAIL_P (return false);
+     }
++#ifdef RUNUSER
++  if (getuid() != geteuid())
++    /* safety net: deny operation if we are suid by accident */
++    error(EXIT_FAILURE, 1, "runuser may not be setuid");
++#else
+   retval = pam_authenticate (pamh, 0);
+   PAM_BAIL_P (return false);
+   retval = pam_acct_mgmt (pamh, 0);
+@@ -454,6 +472,7 @@ correct_password (const struct passwd *p
+       PAM_BAIL_P (return false);
+     }
+   PAM_BAIL_P (return false);
++#endif
+   /* Must be authenticated if this point was reached.  */
+   return true;
+ #else /* !USE_PAM */
+@@ -533,11 +552,22 @@ modify_environment (const struct passwd 
+ /* Become the user and group(s) specified by PW.  */
+ 
+ static void
+-init_groups (const struct passwd *pw)
++init_groups (const struct passwd *pw
++#ifdef RUNUSER
++                 , gid_t *groups, int num_groups
++#endif
++        )
+ {
+ #ifdef HAVE_INITGROUPS
++  int rc = 0;
+   errno = 0;
+-  if (initgroups (pw->pw_name, pw->pw_gid) == -1)
++#ifdef RUNUSER
++  if (num_groups)
++    rc = setgroups(num_groups, groups);
++  else
++#endif
++    rc = initgroups(pw->pw_name, pw->pw_gid);
++  if (rc == -1)
+     {
+ #ifdef USE_PAM
+       cleanup_pam (PAM_ABORT);
+@@ -639,6 +669,28 @@ usage (int status)
+   else
+     {
+       printf (_("Usage: %s [OPTION]... [-] [USER [ARG]...]\n"), program_name);
++#ifdef RUNUSER
++      printf (_("\
++Change the effective user id and group id to that of USER.  Only session PAM\n\
++hooks are run, and there is no password prompt.  This command is useful only\n\
++when run as the root user.  If run as a non-root user without privilege\n\
++to set user ID, the command will fail as the binary is not setuid.\n\
++As %s doesn't run auth and account PAM hooks, it runs with lower overhead\n\
++than su.\n\
++\n\
++  -, -l, --login               make the shell a login shell, uses runuser-l\n\
++                               PAM file instead of default one\n\
++  -g --group=group             specify the primary group\n\
++  -G --supp-group=group        specify a supplemental group\n\
++  -c, --command=COMMAND        pass a single COMMAND to the shell with -c\n\
++  --session-command=COMMAND    pass a single COMMAND to the shell with -c\n\
++                               and do not create a new session\n\
++  -f, --fast                   pass -f to the shell (for csh or tcsh)\n\
++  -m, --preserve-environment   do not reset environment variables\n\
++  -p                           same as -m\n\
++  -s, --shell=SHELL            run SHELL if /etc/shells allows it\n\
++"), program_name);
++#else
+       fputs (_("\
+ Change the effective user id and group id to that of USER.\n\
+ \n\
+@@ -651,6 +703,7 @@ Change the effective user id and group i
+   -p                           same as -m\n\
+   -s, --shell=SHELL            run SHELL if /etc/shells allows it\n\
+ "), stdout);
++#endif
+       fputs (HELP_OPTION_DESCRIPTION, stdout);
+       fputs (VERSION_OPTION_DESCRIPTION, stdout);
+       fputs (_("\
+@@ -672,6 +725,12 @@ main (int argc, char **argv)
+   char *shell = NULL;
+   struct passwd *pw;
+   struct passwd pw_copy;
++#ifdef RUNUSER
++  struct group *gr;
++  gid_t groups[NGROUPS_MAX];
++  int num_supp_groups = 0;
++  int use_gid = 0;
++#endif
+ 
+   initialize_main (&argc, &argv);
+   set_program_name (argv[0]);
+@@ -686,7 +745,11 @@ main (int argc, char **argv)
+   simulate_login = false;
+   change_environment = true;
+ 
+-  while ((optc = getopt_long (argc, argv, "c:flmps:", longopts, NULL)) != -1)
++  while ((optc = getopt_long (argc, argv, "c:flmps:"
++#ifdef RUNUSER
++                              "g:G:"
++#endif
++                              , longopts, NULL)) != -1)
+     {
+       switch (optc)
+         {
+@@ -716,6 +779,28 @@ main (int argc, char **argv)
+           shell = optarg;
+           break;
+ 
++#ifdef RUNUSER
++        case 'g':
++          gr = getgrnam(optarg);
++          if (!gr)
++            error (EXIT_FAILURE, 0, _("group %s does not exist"), optarg);
++          use_gid = 1;
++          groups[0] = gr->gr_gid;
++          break;
++
++        case 'G':
++          num_supp_groups++;
++          if (num_supp_groups >= NGROUPS_MAX)
++            error (EXIT_FAILURE, 0,
++                   _("Can't specify more than %d supplemental groups"),
++                   NGROUPS_MAX - 1);
++          gr = getgrnam(optarg);
++          if (!gr)
++            error (EXIT_FAILURE, 0, _("group %s does not exist"), optarg);
++          groups[num_supp_groups] = gr->gr_gid;
++          break;
++#endif
++
+         case_GETOPT_HELP_CHAR;
+ 
+         case_GETOPT_VERSION_CHAR (PROGRAM_NAME, AUTHORS);
+@@ -754,7 +839,20 @@ main (int argc, char **argv)
+                           : DEFAULT_SHELL);
+   endpwent ();
+ 
+-  if (!correct_password (pw))
++#ifdef RUNUSER
++  if (num_supp_groups && !use_gid)
++  {
++    pw->pw_gid = groups[1];
++    memmove (groups, groups + 1, sizeof(gid_t) * num_supp_groups);
++  }
++  else if (use_gid)
++  {
++    pw->pw_gid = groups[0];
++    num_supp_groups++;
++  }
++#endif
++
++  if (CHECKPASSWD && !correct_password (pw))
+     {
+ #ifdef SYSLOG_FAILURE
+       log_su (pw, false);
+@@ -784,7 +882,11 @@ main (int argc, char **argv)
+     }
+   shell = xstrdup (shell ? shell : pw->pw_shell);
+ 
+-  init_groups (pw);
++  init_groups (pw
++#ifdef RUNUSER
++                   , groups, num_supp_groups
++#endif
++          );
+ 
+ #ifdef USE_PAM
+   create_watching_parent ();
+diff -urNp coreutils-8.7-orig/tests/misc/help-version coreutils-8.7/tests/misc/help-version
+--- coreutils-8.7-orig/tests/misc/help-version	2010-10-11 19:35:11.000000000 +0200
++++ coreutils-8.7/tests/misc/help-version	2010-11-15 10:45:18.473682325 +0100
+@@ -32,6 +32,7 @@ expected_failure_status_nohup=125
+ expected_failure_status_stdbuf=125
+ expected_failure_status_su=125
+ expected_failure_status_timeout=125
++expected_failure_status_runuser=125
+ expected_failure_status_printenv=2
+ expected_failure_status_tty=3
+ expected_failure_status_sort=2
+@@ -209,6 +210,7 @@ seq_setup () { args=10; }
+ sleep_setup () { args=0; }
+ su_setup () { args=--version; }
+ stdbuf_setup () { args="-oL true"; }
++runuser_setup () { args=--version; }
+ timeout_setup () { args=--version; }
+ 
+ # I'd rather not run sync, since it spins up disks that I've
+diff -urNp coreutils-8.7-orig/tests/misc/invalid-opt coreutils-8.7/tests/misc/invalid-opt
+--- coreutils-8.7-orig/tests/misc/invalid-opt	2010-10-11 19:35:11.000000000 +0200
++++ coreutils-8.7/tests/misc/invalid-opt	2010-11-15 10:45:46.451938873 +0100
+@@ -37,6 +37,7 @@ my %exit_status =
+     sort => 2,
+     stdbuf => 125,
+     su => 125,
++    runuser => 125,
+     test => 0,
+     timeout => 125,
+     true => 0,
diff --git a/grubby/grubby.nm b/grubby/grubby.nm
index 830f27d..b471a7a 100644
--- a/grubby/grubby.nm
+++ b/grubby/grubby.nm
@@ -4,7 +4,7 @@
 ###############################################################################
 
 name       = grubby
-version    = 8.9
+version    = 8.11
 release    = 1
 
 groups     = System/Base
@@ -36,6 +36,11 @@ build
 	end
 
 	make_install_targets += mandir=%{mandir}
+
+	install_cmds
+		mkdir -pv %{BUILDROOT}%{prefix}
+		mv -v %{BUILDROOT}{,%{prefix}}/sbin
+	end
 end
 
 packages
diff --git a/initscripts/initscripts.nm b/initscripts/initscripts.nm
index 3b9e079..ede6bd9 100644
--- a/initscripts/initscripts.nm
+++ b/initscripts/initscripts.nm
@@ -6,7 +6,7 @@
 name       = initscripts
 epoch      = 1
 version    = 2.99
-release    = 13
+release    = 15
 
 groups     = System/Boot
 url        =
@@ -25,6 +25,8 @@ build
 	requires
 		glib2-devel
 		popt-devel
+		shadow-utils
+		systemd-units
 	end
 
 	DIR_APP = %{DIR_SOURCE}
@@ -48,8 +50,8 @@ build
 		install -v -m 755 %{DIR_SOURCE}/rc.local %{BUILDROT}/etc/rc.local
 
 		# Install udev rules
-		mkdir -pv %{BUILDROOT}/lib/udev/rules.d/
-		cp -vf %{DIR_SOURCE}/udev/* %{BUILDROOT}/lib/udev/rules.d/
+		mkdir -pv %{BUILDROOT}%{prefix}/lib/udev/rules.d/
+		cp -vf %{DIR_SOURCE}/udev/* %{BUILDROOT}%{prefix}/lib/udev/rules.d/
 	end
 end
 
@@ -71,6 +73,10 @@ packages
 			util-linux
 		end
 
+		conflicts
+			filesystem  < 002
+		end
+
 		configfiles
 			/etc/rc.local
 		end
diff --git a/initscripts/src/Makefile b/initscripts/src/Makefile
index a6b0f31..c357d6e 100644
--- a/initscripts/src/Makefile
+++ b/initscripts/src/Makefile
@@ -3,6 +3,7 @@ PROGS = ipcalc securetty
 
 CC = gcc
 CFLAGS += -D_GNU_SOURCE $(shell pkg-config --cflags glib-2.0)
+prefix ?= /usr
 
 all: $(PROGS)
 
@@ -14,9 +15,9 @@ test: ipcalc
 
 install: $(PROGS)
 	# Install binaries
-	-mkdir -pv $(DESTDIR)/lib/udev $(DESTDIR)/{,s}bin
-	install -v -m 755 ipcalc $(DESTDIR)/bin
-	install -v -m 755 securetty $(DESTDIR)/sbin
+	-mkdir -pv $(DESTDIR)$(prefix)/lib/udev $(DESTDIR)$(prefix)/{,s}bin
+	install -v -m 755 ipcalc $(DESTDIR)$(prefix)/bin
+	install -v -m 755 securetty $(DESTDIR)$(prefix)/sbin
 
 	# Install man pages
 	-mkdir -pv $(DESTDIR)/usr/share/man/man1
diff --git a/initscripts/systemd/rc-local.service b/initscripts/systemd/rc-local.service
index 04daed0..f7b7c0d 100644
--- a/initscripts/systemd/rc-local.service
+++ b/initscripts/systemd/rc-local.service
@@ -1,6 +1,5 @@
 [Unit]
 Description=/etc/rc.local Compatiblity
-ConditionFileIsExecuteable=/etc/rc.local
 Requires=multi-user.target
 After=multi-user.target network.target
 
diff --git a/isdn4k-utils/40-isdn.rules b/isdn4k-utils/40-isdn.rules
deleted file mode 100644
index 1a31cb6..0000000
--- a/isdn4k-utils/40-isdn.rules
+++ /dev/null
@@ -1,4 +0,0 @@
-# do not edit this file, it will be overwritten on update
-
-SUBSYSTEM=="capi", KERNEL=="capi", NAME="capi20", GROUP="dialout"
-SUBSYSTEM=="tty", KERNEL=="capi[0-9]*", NAME="capi/%n"
diff --git a/isdn4k-utils/isdn4k-utils.nm b/isdn4k-utils/isdn4k-utils.nm
index 38149ed..425cd20 100644
--- a/isdn4k-utils/isdn4k-utils.nm
+++ b/isdn4k-utils/isdn4k-utils.nm
@@ -6,7 +6,7 @@
 name       = isdn4k-utils
 version    = 3.2
 devel_ver  = CVS-2010-05-01
-release    = 6
+release    = 7
 thisapp    = %{name}-%{devel_ver}-patched
 
 groups     = Networking/Tools
@@ -59,11 +59,11 @@ build
 		sed -e "s/^CONFIG_XISDNLOAD=.*/#&/" -i .config
 		echo "CONFIG_GENMAN=y" >> .config
 		echo "CONFIG_FAQ=y" >> .config
-		echo "CONFIG_FAQDIR='/usr/share/doc/isdn4k-utils'" >> .config
-		echo "CONFIG_DATADIR='/usr/share/isdn'" >> .config
+		echo "CONFIG_FAQDIR='%{datadir}/doc/isdn4k-utils'" >> .config
+		echo "CONFIG_DATADIR='%{datadir}/isdn'" >> .config
 		echo "LIBDIR='%{libdir}'" >> .config
-		echo "CONFIG_FIRMWAREDIR='/usr/share/isdn'" >> .config
-		echo "CONFIG_CARD_SBINDIR='/sbin'" >> .config
+		echo "CONFIG_FIRMWAREDIR='%{datadir}/isdn'" >> .config
+		echo "CONFIG_CARD_SBINDIR='%{sbindir}'" >> .config
 		sed -e "s,',,g" .config > .config.h
 	end
 
@@ -77,10 +77,6 @@ build
 		mkdir -pv %{BUILDROOT}/usr/sbin
 		make install CFLAGS="%{CFLAGS}" LIBDIR="%{libdir}" DESTDIR="%{BUILDROOT}"
 
-		# Install udev rules for isdn.
-		mkdir -pv %{BUILDROOT}/%{lib}/udev/rules.d/
-		install -m 644 %{DIR_SOURCE}/40-isdn.rules %{BUILDROOT}/%{lib}/udev/rules.d/
-
 		# Install config files for capi.
 		mkdir -pv %{BUILDROOT}/etc
 		install -m 644 capiinit/capi.conf %{BUILDROOT}/etc
@@ -96,6 +92,10 @@ packages
 	package %{name}
 		prerequires += systemd-units
 
+		conflicts
+			filesystem < 002
+		end
+
 		configfiles
 			/etc/capi.conf
 			/etc/capi20.conf
diff --git a/libsepol/libsepol.nm b/libsepol/libsepol.nm
index 19042fd..52d1426 100644
--- a/libsepol/libsepol.nm
+++ b/libsepol/libsepol.nm
@@ -5,7 +5,7 @@
 
 name       = libsepol
 version    = 2.1.4
-release    = 4
+release    = 5
 
 groups     = System/Libraries
 url        = http://www.selinuxproject.org
@@ -32,7 +32,7 @@ build
 	# Install libraries to correct place.
 	make_install_targets += \
 		LIBDIR="%{BUILDROOT}%{libdir}" \
-		SHLIBDIR="%{BUILDROOT}/%{lib}"
+		SHLIBDIR="%{BUILDROOT}%{libdir}"
 
 	install_cmds
 		# Remove binaries
diff --git a/linux-firmware/linux-firmware.nm b/linux-firmware/linux-firmware.nm
index ec5766d..2650d51 100644
--- a/linux-firmware/linux-firmware.nm
+++ b/linux-firmware/linux-firmware.nm
@@ -5,7 +5,7 @@
 
 name       = linux-firmware
 version    = 20110311
-release    = 2
+release    = 3
 arch       = noarch
 
 maintainer = Arne Fitzenreiter <arne.fitzenreiter(a)ipfire.org>
@@ -29,8 +29,8 @@ build
 	end
 
 	install
-		mkdir -pv %{BUILDROOT}/lib/firmware
-		cp -prv * %{BUILDROOT}/lib/firmware
+		mkdir -pv %{BUILDROOT}%{prefix}/lib/firmware
+		cp -prv * %{BUILDROOT}%{prefix}/lib/firmware
 	end
 end
 
diff --git a/pam/pam.nm b/pam/pam.nm
index 4bb01c9..71f4a09 100644
--- a/pam/pam.nm
+++ b/pam/pam.nm
@@ -5,7 +5,7 @@
 
 name       = pam
 version    = 1.1.5
-release    = 1
+release    = 2
 thisapp    = Linux-PAM-%{version}
 
 groups     = System/Base
@@ -34,20 +34,12 @@ build
 	end
 
 	configure_options += \
-		--libdir=/%{lib} \
 		--includedir=%{includedir}/security \
 		--docdir=/usr/share/doc/Linux-PAM-%{version} \
 		--enable-read-both-confs \
 		--disable-rpath
 
 	install_cmds
-		mkdir -pv %{BUILDROOT}%{libdir}
-		for LINK in libpam{,c,_misc}.so; do
-			ln -v -sf ../../%{lib}/$(readlink %{BUILDROOT}/%{lib}/${LINK}) \
-				%{BUILDROOT}%{libdir}/${LINK}
-			rm -v %{BUILDROOT}/%{lib}/${LINK}
-		done
-
 		#useradd -D -b /home
 		#sed -i 's/yes/no/' %{BUILDROOT}/etc/default/useradd
 		mkdir -pv %{BUILDROOT}/etc/security
diff --git a/sed/sed.nm b/sed/sed.nm
index 0c43fbb..556ef7c 100644
--- a/sed/sed.nm
+++ b/sed/sed.nm
@@ -5,7 +5,7 @@
 
 name       = sed
 version    = 4.2.1
-release    = 2
+release    = 3
 
 groups     = Applications/Text
 url        = http://sed.sourceforge.net/
@@ -28,9 +28,7 @@ build
 	end
 
 	configure_options += \
-		--bindir=/bin \
-		--without-included-regex \
-		--mandir=/usr/share/man
+		--without-included-regex
 
 	test
 		make check
@@ -40,6 +38,14 @@ end
 packages
 	package %{name}
 		groups += Base Build
+
+		provides
+			/bin/sed
+		end
+
+		conflicts
+			filesystem < 002
+		end
 	end
 
 	package %{name}-debuginfo
diff --git a/systemd/patches/systemd-44-fix-journald-PAGE_SIZE-on-arm.patch b/systemd/patches/systemd-44-fix-journald-PAGE_SIZE-on-arm.patch
new file mode 100644
index 0000000..623bea1
--- /dev/null
+++ b/systemd/patches/systemd-44-fix-journald-PAGE_SIZE-on-arm.patch
@@ -0,0 +1,44 @@
+From 7264278fbbdc1dc6c30fedc902d1337594aa6ff6 Mon Sep 17 00:00:00 2001
+From: Lennart Poettering <lennart(a)poettering.net>
+Date: Wed, 21 Mar 2012 22:47:44 +0000
+Subject: journal: PAGE_SIZE is not known on ppc and other archs
+
+Let's use NAME_MAX, as suggested by Dan Walsh
+---
+diff --git a/src/journal/journald.c b/src/journal/journald.c
+index d27cb60..87390bd 100644
+--- a/src/journal/journald.c
++++ b/src/journal/journald.c
+@@ -29,7 +29,6 @@
+ #include <sys/ioctl.h>
+ #include <linux/sockios.h>
+ #include <sys/statvfs.h>
+-#include <sys/user.h>
+ 
+ #include <systemd/sd-journal.h>
+ #include <systemd/sd-login.h>
+@@ -2149,10 +2148,20 @@ static int process_event(Server *s, struct epoll_event *ev) {
+                         size_t label_len = 0;
+                         union {
+                                 struct cmsghdr cmsghdr;
++
++                                /* We use NAME_MAX space for the
++                                 * SELinux label here. The kernel
++                                 * currently enforces no limit, but
++                                 * according to suggestions from the
++                                 * SELinux people this will change and
++                                 * it will probably be identical to
++                                 * NAME_MAX. For now we use that, but
++                                 * this should be updated one day when
++                                 * the final limit is known.*/
+                                 uint8_t buf[CMSG_SPACE(sizeof(struct ucred)) +
+                                             CMSG_SPACE(sizeof(struct timeval)) +
+-                                            CMSG_SPACE(sizeof(int)) +
+-                                            CMSG_SPACE(PAGE_SIZE)]; /* selinux label */
++                                            CMSG_SPACE(sizeof(int)) + /* fd */
++                                            CMSG_SPACE(NAME_MAX)]; /* selinux label */
+                         } control;
+                         ssize_t n;
+                         int v;
+--
+cgit v0.9.0.2-2-gbebe
diff --git a/systemd/patches/systemd-44-ipfire.patch b/systemd/patches/systemd-44-ipfire.patch
new file mode 100644
index 0000000..6dca550
--- /dev/null
+++ b/systemd/patches/systemd-44-ipfire.patch
@@ -0,0 +1,34 @@
+diff -Nur a/configure.ac b/configure.ac
+--- a/configure.ac	2012-03-16 01:46:57.000000000 +0100
++++ b/configure.ac	2012-03-24 20:43:33.723789319 +0100
+@@ -396,7 +396,7 @@
+ 
+ AC_PATH_PROG([M4], [m4])
+ 
+-AC_ARG_WITH(distro, AS_HELP_STRING([--with-distro=DISTRO],[Specify the distribution to target: One of fedora, suse, debian, ubuntu, arch, gentoo, slackware, altlinux, mandriva, meego, mageia, angstrom or other]))
++AC_ARG_WITH(distro, AS_HELP_STRING([--with-distro=DISTRO],[Specify the distribution to target: One of fedora, suse, debian, ubuntu, arch, gentoo, slackware, altlinux, mandriva, meego, mageia, angstrom, ipfire or other]))
+ if test "z$with_distro" = "z"; then
+         if test "$cross_compiling" = yes; then
+                 AC_MSG_WARN([Target distribution cannot be reliably detected when cross-compiling. You should specify it with --with-distro (see $0 --help for recognized distros)])
+@@ -492,6 +492,13 @@
+                 M4_DISTRO_FLAG=-DTARGET_MAGEIA=1
+                 have_plymouth=yes
+                 ;;
++	ipfire)
++		SYSTEM_SYSVINIT_PATH=
++		SYSTEM_SYSVRCND_PATH=
++		AC_DEFINE(TARGET_IPFIRE, [], [Target is IPFire])
++		M4_DEFINES=-DTARGET_IPFIRE=1
++		have_plymouth=yes
++		;;
+         other)
+                 ;;
+         *)
+@@ -550,6 +557,7 @@
+ AM_CONDITIONAL(TARGET_MEEGO, test x"$with_distro" = xmeego)
+ AM_CONDITIONAL(TARGET_ANGSTROM, test x"$with_distro" = xangstrom)
+ AM_CONDITIONAL(TARGET_MAGEIA, test x"$with_distro" = xmageia)
++AM_CONDITIONAL(TARGET_IPFIRE, test x"$with_distro" = xipfire)
+ 
+ AM_CONDITIONAL(HAVE_PLYMOUTH, test "$have_plymouth" = "yes")
+ AM_CONDITIONAL(HAVE_SYSV_COMPAT, test "$SYSTEM_SYSV_COMPAT" = "yes")
diff --git a/systemd/patches/systemd-ipfire.patch b/systemd/patches/systemd-ipfire.patch
deleted file mode 100644
index 4cf071a..0000000
--- a/systemd/patches/systemd-ipfire.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-diff -Nur systemd-37_orig/configure.ac systemd-37/configure.ac
---- systemd-37_orig/configure.ac	2011-10-11 20:46:56.000000000 +0200
-+++ systemd-37/configure.ac	2011-12-17 21:57:31.748682566 +0100
-@@ -355,7 +355,7 @@
- 
- AC_PATH_PROG([M4], [m4])
- 
--AC_ARG_WITH(distro, AS_HELP_STRING([--with-distro=DISTRO],[Specify the distribution to target: One of fedora, suse, debian, ubuntu, arch, gentoo, slackware, altlinux or other]))
-+AC_ARG_WITH(distro, AS_HELP_STRING([--with-distro=DISTRO],[Specify the distribution to target: One of fedora, suse, debian, ubuntu, arch, gentoo, slackware, altlinux, ipfire or other]))
- if test "z$with_distro" = "z"; then
-         if test "$cross_compiling" = yes; then
-                 AC_MSG_WARN([Target distribution cannot be reliably detected when cross-compiling. You should specify it with --with-distro (see $0 --help for recognized distros)])
-@@ -374,6 +374,7 @@
-                 if test "x`lsb_release -is 2>/dev/null`" = "xUbuntu"; then
-                         with_distro="ubuntu"
-                 fi
-+		test -f "/etc/ipfire-release" && with_distro="ipfire"
-         fi
-         if test "z$with_distro" = "z"; then
-                 with_distro=`uname -s`
-@@ -458,6 +459,13 @@
-                 AC_DEFINE(TARGET_ANGSTROM, [], [Target is Ångström])
-                 M4_DEFINES=-DTARGET_ANGSTROM=1
-                 ;;
-+	ipfire)
-+		SYSTEM_SYSVINIT_PATH=
-+		SYSTEM_SYSVRCND_PATH=
-+		AC_DEFINE(TARGET_IPFIRE, [], [Target is IPFire])
-+		M4_DEFINES=-DTARGET_IPFIRE=1
-+		have_plymouth=yes
-+		;;
-         other)
-                 ;;
-         *)
-@@ -515,6 +523,7 @@
- AM_CONDITIONAL(TARGET_MANDRIVA, test x"$with_distro" = xmandriva)
- AM_CONDITIONAL(TARGET_MEEGO, test x"$with_distro" = xmeego)
- AM_CONDITIONAL(TARGET_ANGSTROM, test x"$with_distro" = xangstrom)
-+AM_CONDITIONAL(TARGET_IPFIRE, test x"$with_distro" = xipfire)
- 
- AM_CONDITIONAL(HAVE_PLYMOUTH, test "$have_plymouth" = "yes")
- AM_CONDITIONAL(HAVE_SYSV_COMPAT, test "$SYSTEM_SYSV_COMPAT" = "yes")
diff --git a/systemd/systemd.nm b/systemd/systemd.nm
index 3a6addd..2cf294a 100644
--- a/systemd/systemd.nm
+++ b/systemd/systemd.nm
@@ -4,8 +4,8 @@
 ###############################################################################
 
 name       = systemd
-version    = 37
-release    = 4
+version    = 44
+release    = 1
 
 maintainer = Stefan Schantl <stefan.schantl(a)ipfire.org>
 groups     = System/Base
@@ -21,6 +21,8 @@ end
 source_dl  = http://cgit.freedesktop.org/systemd/systemd/snapshot/
 
 build
+	unitdir = %{prefix}/lib/systemd/system
+
 	requires
 		audit-devel
 		automake
@@ -32,22 +34,20 @@ build
 		gperf
 		gettext-devel
 		intltool
+		kmod-devel >= 5
 		libacl-devel
 		libcap-devel
 		libselinux-devel
 		libtool
-		libudev-devel>=172
+		libudev-devel >= 172
 		pam-devel
 		vala
+		xz-devel
 	end
 
 	configure_options += \
-		--sysconfdir=/etc \
 		--libexecdir=%{libdir} \
-		--with-rootdir= \
-		--with-distro=ipfire \
-		--with-udevrulesdir=/lib/udev/rules.d/ \
-		--with-pamlibdir=/%{lib}/security
+		--with-distro=ipfire
 
 	prepare_cmds
 		./autogen.sh ac
@@ -59,43 +59,47 @@ build
 
 	install_cmds
 		# Create sysv compatible symlinks.
-		mkdir -pv %{BUILDROOT}/sbin
-		ln -svf ../bin/systemd   %{BUILDROOT}/sbin/init
-		ln -svf ../bin/systemctl %{BUILDROOT}/sbin/reboot
-		ln -svf ../bin/systemctl %{BUILDROOT}/sbin/halt
-		ln -svf ../bin/systemctl %{BUILDROOT}/sbin/poweroff
-		ln -svf ../bin/systemctl %{BUILDROOT}/sbin/shutdown
+		mkdir -pv %{BUILDROOT}%{sbindir}
+		ln -svf ../lib/systemd/systemd  %{BUILDROOT}/%{sbindir}/init
+		ln -svf ../lib/systemd/systemd  %{BUILDROOT}/%{bindir}/systemd
+		ln -svf ../bin/systemctl %{BUILDROOT}/%{sbindir}/reboot
+		ln -svf ../bin/systemctl %{BUILDROOT}/%{sbindir}/halt
+		ln -svf ../bin/systemctl %{BUILDROOT}/%{sbindir}/poweroff
+		ln -svf ../bin/systemctl %{BUILDROOT}/%{sbindir}/shutdown
 
 		# Create empty machine-id file.
 		touch %{BUILDROOT}/etc/machine-id
 
 		# Copy locale and console settings
-		mkdir -pv %{BUILDROOT}/etc
-		cp -vf %{DIR_SOURCE}/locale.conf %{BUILDROOT}/etc/
-		cp -vf %{DIR_SOURCE}/vconsole.conf %{BUILDROOT}/etc/
+		mkdir -pv %{BUILDROOT}%{sysconfdir}
+		cp -vf %{DIR_SOURCE}/{locale,vconsole}.conf %{BUILDROOT}%{sysconfdir}
 
 		# Recreate all targets
-		rm -rfv %{BUILDROOT}/etc/systemd/system/*.target.wants
-		mkdir -pv %{BUILDROOT}/lib/systemd/system/basic.target.wants
-		mkdir -pv %{BUILDROOT}/lib/systemd/system/default.target.wants
-		mkdir -pv %{BUILDROOT}/lib/systemd/system/dbus.target.wants
-		mkdir -pv %{BUILDROOT}/lib/systemd/system/syslog.target.wants
+		rm -rfv %{BUILDROOT}%{unitdir}/*.target.wants
+		for i in basic.target.wants default.target.wants dbus.target.wants syslog.target.wants; do
+			mkdir -pv %{BUILDROOT}%{unitdir}/${i} || exit 1
+		done
 
 		# Remove runlevel targets and graphical.target
-		rm -rfv %{BUILDROOT}/lib/systemd/system/runlevel*
-		rm -rfv %{BUILDROOT}/lib/systemd/system/graphical.target
+		rm -rfv %{BUILDROOT}%{unitdir}/runlevel*
+		rm -rfv %{BUILDROOT}%{unitdir}/graphical.target
 
 		# Set default target to multi-user
-		cd %{BUILDROOT}/lib/systemd/system && ln -svf multi-user.target default.target
+		ln -svf multi-user.target %{BUILDROOT}%{unitdir}/default.target
 
 		# Replace absolute symlinks by relative ones.
-		cd %{BUILDROOT}/usr/lib/systemd/user/ && ln -svf ../../../../lib/systemd/system/bluetooth.target bluetooth.target
-		cd %{BUILDROOT}/usr/lib/systemd/user/ && ln -svf ../../../../lib/systemd/system/local-fs.target local-fs.target
-		cd %{BUILDROOT}/usr/lib/systemd/user/ && ln -svf ../../../../lib/systemd/system/printer.target printer.target
-		cd %{BUILDROOT}/usr/lib/systemd/user/ && ln -svf ../../../../lib/systemd/system/shutdown.target shutdown.target
-		cd %{BUILDROOT}/usr/lib/systemd/user/ && ln -svf ../../../../lib/systemd/system/sockets.target sockets.target
-		cd %{BUILDROOT}/usr/lib/systemd/user/ && ln -svf ../../../../lib/systemd/system/sound.target sound.target
-		cd %{BUILDROOT}/usr/lib/systemd/user/ && ln -svf ../../../../lib/systemd/system/swap.target swap.target
+		cd %{BUILDROOT}%{unitdir}/../user
+		for i in bluetooth local-fs printer remote-fs shutdown sockets sound swap; do
+			ln -svf ../system/${i}.target ${i}.target || exit 1
+		done
+
+		# Replace absolute symlink for getty(a)tty1.service.
+		ln -svf ../../../../%{unitdir}/getty(a).service \
+			%{BUILDROOT}%{sysconfdir}/systemd/system/getty.target.wants/getty(a)tty1.service
+
+		# Replace absolute symlink for remote-fs.target.
+		ln -svf ../../../../%{unitdir}/remote-fs.target \
+			%{BUILDROOT}%{sysconfdir}/systemd/system/multi-user.target.wants/remote-fs.target
 
 		# Remove tmpfile for X11
 		rm -rfv %{BUILDROOT}/usr/lib/tmpfiles.d/x11.conf
@@ -107,6 +111,8 @@ end
 
 packages
 	package %{name}
+		prerequires += authconfig
+
 		requires
 			dbus
 			python-cairo
@@ -116,28 +122,30 @@ packages
 			util-linux>=2.19
 		end
 
-		prerequires += authconfig
-		conflicts += upstart
+		conflicts
+			filesystem < 002
+			upstart
+		end
 
 		script postin
 			# Generate Machine ID.
-			/bin/systemd-machine-id-setup > /dev/null 2>&1 || :
+			/usr/bin/systemd-machine-id-setup > /dev/null 2>&1 || :
 
 			# Reexec systemd daemon.
-			/bin/systemctl daemon-reexec > /dev/null 2>&1 || :
+			/usr/bin/systemctl daemon-reexec > /dev/null 2>&1 || :
 
 			# Make sure pam_systemd is enabled
-			if ! /bin/grep -q pam_systemd /etc/pam.d/system-auth-ac ; then
-				/usr/sbin/authconfig --update --nostart >/dev/null 2>&1 || :
+			if ! grep -q pam_systemd /etc/pam.d/system-auth-ac ; then
+				authconfig --update --nostart >/dev/null 2>&1 || :
 
 				# Try harder
-				/bin/grep -q pam_systemd /etc/pam.d/system-auth-ac || /usr/sbin/authconfig --updateall --nostart >/dev/null 2>&1 || :
+				grep -q pam_systemd /etc/pam.d/system-auth-ac || authconfig --updateall --nostart >/dev/null 2>&1 || :
 			fi
 		end
 
 		script postup
 			# Restart login service after update
-			/bin/systemctl try-restart systemd-logind.service >/dev/null 2>&1 || :
+			/usr/bin/systemctl try-restart systemd-logind.service >/dev/null 2>&1 || :
 		end
 	end
 
@@ -154,38 +162,34 @@ packages
 			coreutils
 		end
 
-		files
-			/etc/systemd/system
-			/etc/tmpfiles.d
-			/etc/bash_completion.d/systemctl-bash-completion.sh
-			/lib/systemd/system
+		provides
 			/bin/systemctl
-			/bin/systemd-tmpfiles
-			/usr/share/man/man1/systemctl.*
 		end
 
-		script postin
-			# Enable default services.
-			/bin/systemctl enable \
-				getty(a).service \
-				remote-fs.target > /dev/null 2>&1 || :
+		conflicts
+			filesystem < 002
 		end
 
-		script preun
-			# Disable default services.
-			/bin/systemctl disable \
-				getty(a).service \
-				remote-fs.target > /dev/null 2>&1 || :
+		files
+			%{sysconfdir}/etc/systemd/system
+			%{sysconfdir}/tmpfiles.d
+			%{sysconfdir}/bash_completion.d/systemctl-bash-completion.sh
+			%{unitdir}
+			%{bindir}/systemctl
+			%{bindir}/systemd-tmpfiles
+			%{mandir}/man1/systemctl.*
 		end
 
 		script postup
 			# Reload service files
-			/bin/systemctl daemon-reload > /dev/null 2>&1 || :
+			/usr/bin/systemctl daemon-reload > /dev/null 2>&1 || :
 		end
 	end
 
 	package %{name}-devel
 		template DEVEL
+
+		files += %{prefix}/lib/pakfire/macros/
 	end
 
 	package %{name}-debuginfo
diff --git a/udev/udev.nm b/udev/udev.nm
index b0ec1b4..cede6b3 100644
--- a/udev/udev.nm
+++ b/udev/udev.nm
@@ -5,7 +5,7 @@
 
 name       = udev
 version    = 182
-release    = 2
+release    = 3
 
 groups     = System/Base
 url        = ftp://ftp.kernel.org/pub/linux/utils/kernel/hotplug/
@@ -21,6 +21,7 @@ source_dl  = ftp://ftp.kernel.org/pub/linux/utils/kernel/hotplug/
 
 build
 	requires
+		filesystem >= 002
 		glib2-devel
 		gobject-introspection-devel
 		gperf
@@ -34,24 +35,29 @@ build
 		libusb-compat-devel
 		libxslt
 		pciutils
-		pkg-config
+		shadow-utils
+		systemd-units
 		usbutils
 	end
 
 	configure_options += \
-		--with-rootprefix="" \
-		--libexecdir=/lib \
+		--libexecdir=%{prefix}/lib \
 		--with-selinux \
-		--with-systemdsystemunitdir=/lib/systemd/system
+		--with-systemdsystemunitdir=%{unitdir}
 end
 
 packages
 	package %{name}
 		groups += Base
 
-		prerequires
-			shadow-utils
+		requires
+			hwdata
 			systemd-units
+			util-linux
+		end
+
+		conflicts
+			filesystem < 002
 		end
 
 		script prein
@@ -74,6 +80,10 @@ packages
 
 	package lib%{name}
 		template LIBS
+
+		conflicts
+			filesystem < 002
+		end
 	end
 
 	package lib%{name}-devel
diff --git a/util-linux/util-linux.nm b/util-linux/util-linux.nm
index dd825c9..e1c6355 100644
--- a/util-linux/util-linux.nm
+++ b/util-linux/util-linux.nm
@@ -6,7 +6,7 @@
 name       = util-linux
 major_ver  = 2.21
 version    = %{major_ver}
-release    = 1
+release    = 2
 
 groups     = System/Base
 url        = http://kernel.org/~kzak/util-linux/
@@ -40,8 +40,6 @@ build
 		-D_FILE_OFFSET_BITS=64
 
 	configure_options += \
-		--bindir=/bin \
-		--sbindir=/sbin \
 		--disable-wall \
 		--enable-kill \
 		--enable-login-utils \
@@ -64,29 +62,29 @@ build
 	end
 
 	install_cmds
-		mkdir -pv %{BUILDROOT}/sbin \
+		mkdir -pv \
 			%{BUILDROOT}/var/lib/hwclock \
 			%{BUILDROOT}/usr/share/man/man8 \
 			%{BUILDROOT}/var/log
 
-		install -m 755 %{DIR_APP}/nologin %{BUILDROOT}/sbin
+		install -m 755 %{DIR_APP}/nologin %{BUILDROOT}%{sbindir}
 		install -m 644 %{DIR_SOURCE}/nologin.8 %{BUILDROOT}/usr/share/man/man8/
 
 		touch %{BUILDROOT}/var/log/lastlog
 
 		# Remove deprecated commands
-		rm -fv %{BUILDROOT}/{sbin,usr/share/man/man*}/{fsck,mkfs}.{bfs,minix}* \
-			%{BUILDROOT}/usr/{,s}bin/{chkdupexe,newgrp,vi{gr,pw}} \
-			%{BUILDROOT}/sbin/{sln,shutdown} %{BUILDROOT}/bin/{line,pg}
+		rm -fv %{BUILDROOT}/{%{sbindir},usr/share/man/man*}/{fsck,mkfs}.{bfs,minix}* \
+			%{BUILDROOT}{%{bindir},%{sbindir}}/{chkdupexe,newgrp,vi{gr,pw}} \
+			%{BUILDROOT}%{sbindir}/{sln,shutdown} %{BUILDROOT}%{bindir}/{line,pg}
 		rm -fv %{BUILDROOT}/usr/share/man/man1/{chkdupexe,line,pg,newgrp}.* \
 			%{BUILDROOT}/usr/share/man/man8/{vipw,vigr}.*
 		rm -fv %{BUILDROOT}/usr/share/getopt/*.tcsh
 
 		# Set capabilities
-		chmod -v -s %{BUILDROOT}/bin/mount
-		setcap CAP_DAC_OVERRIDE,CAP_SYS_ADMIN=ep %{BUILDROOT}/bin/mount
-		chmod -v -s %{BUILDROOT}/bin/umount
-		setcap CAP_DAC_OVERRIDE,CAP_SYS_ADMIN=ep %{BUILDROOT}/bin/umount
+		chmod -v -s %{BUILDROOT}%{bindir}/mount
+		setcap CAP_DAC_OVERRIDE,CAP_SYS_ADMIN=ep %{BUILDROOT}%{bindir}/mount
+		chmod -v -s %{BUILDROOT}%{bindir}/umount
+		setcap CAP_DAC_OVERRIDE,CAP_SYS_ADMIN=ep %{BUILDROOT}%{bindir}/umount
 	end
 end
 
@@ -98,9 +96,23 @@ packages
 			/etc/pam.d/system-auth
 		end
 
+		provides
+			/bin/dmesg
+			/bin/kill
+			/bin/more
+			/bin/mount
+			/bin/umount
+			/sbin/blkid
+			/sbin/blockdev
+			/sbin/findfs
+			/sbin/fsck
+			/sbin/nologin
+		end
+
 		obsoletes = util-linux-ng
 
 		conflicts
+			filesystem < 002
 			setup < 3.0-2
 			util-linux-ng
 			sysvinit <= 2.86-2
@@ -125,6 +137,8 @@ packages
 			part of util-linux.
 		end
 
+		conflicts = filesystem < 002
+
 		files
 			%{libdir}/libblkid.*
 		end
@@ -151,6 +165,8 @@ packages
 			part of util-linux.
 		end
 
+		conflicts = filesystem < 002
+
 		files
 			%{libdir}/libuuid.*
 		end
@@ -177,6 +193,8 @@ packages
 			part of util-linux.
 		end
 
+		conflicts = filesystem < 002
+
 		files
 			%{libdir}/libmount.*
 		end


hooks/post-receive
--
IPFire 3.x development tree

                 reply	other threads:[~2012-04-14 23:25 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20120414232530.38057200C2@argus.ipfire.org \
    --to=git@ipfire.org \
    --cc=ipfire-scm@lists.ipfire.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox