Recipe update: User management, systemd patch, IPMI net functions

Create virtual class to include user management in the image
Add the systemd patch for network support to the systemd recipe
Update the IPMI recipe to pickup the support for network configuration
diff --git a/meta-phosphor/classes/obmc-phosphor-image.bbclass b/meta-phosphor/classes/obmc-phosphor-image.bbclass
index 9a13f7f..7d468ff 100644
--- a/meta-phosphor/classes/obmc-phosphor-image.bbclass
+++ b/meta-phosphor/classes/obmc-phosphor-image.bbclass
@@ -8,6 +8,7 @@
 # - obmc-phosphor-flash-mgmt          - Phosphor OpenBMC flash management
 # - obmc-phosphor-event-mgmt          - Phosphor OpenBMC event management
 # - obmc-phosphor-policy-mgmt         - Phosphor OpenBMC policy management
+# - obmc-phosphor-user-mgmt           - Phosphor OpenBMC user management
 # - obmc-phosphor-system-mgmt         - Phosphor OpenBMC system management
 
 inherit core-image
@@ -19,6 +20,7 @@
 FEATURE_PACKAGES_obmc-phosphor-flash-mgmt ?= "packagegroup-obmc-phosphor-apps-flash-mgmt"
 FEATURE_PACKAGES_obmc-phosphor-event-mgmt ?= "packagegroup-obmc-phosphor-apps-event-mgmt"
 FEATURE_PACKAGES_obmc-phosphor-policy-mgmt ?= "packagegroup-obmc-phosphor-apps-policy-mgmt"
+FEATURE_PACKAGES_obmc-phosphor-user-mgmt ?= "packagegroup-obmc-phosphor-apps-user-mgmt"
 FEATURE_PACKAGES_obmc-phosphor-system-mgmt ?= "packagegroup-obmc-phosphor-apps-system-mgmt"
 
 # Install entire Phosphor application stack by default
@@ -29,6 +31,7 @@
        obmc-phosphor-flash-mgmt \
        obmc-phosphor-event-mgmt \
        obmc-phosphor-policy-mgmt \
+       obmc-phosphor-user-mgmt \
        obmc-phosphor-system-mgmt \
        ssh-server-dropbear \
        "
diff --git a/meta-phosphor/classes/obmc-phosphor-user-mgmt.bbclass b/meta-phosphor/classes/obmc-phosphor-user-mgmt.bbclass
new file mode 100644
index 0000000..4b82f60
--- /dev/null
+++ b/meta-phosphor/classes/obmc-phosphor-user-mgmt.bbclass
@@ -0,0 +1,4 @@
+# Common code for recipes that implement Phosphor OpenBMC user management.
+
+RPROVIDES_${PN} += "virtual/obmc-phosphor-user-mgmt"
+PROVIDES += "virtual/obmc-phosphor-user-mgmt"
diff --git a/meta-phosphor/common/recipes-phosphor/host-ipmid/host-ipmid.bb b/meta-phosphor/common/recipes-phosphor/host-ipmid/host-ipmid.bb
index 4819d2d..68bd38b 100644
--- a/meta-phosphor/common/recipes-phosphor/host-ipmid/host-ipmid.bb
+++ b/meta-phosphor/common/recipes-phosphor/host-ipmid/host-ipmid.bb
@@ -18,7 +18,7 @@
 RDEPENDS_${PN} += "network"
 SRC_URI += "git://github.com/openbmc/phosphor-host-ipmid"
 
-SRCREV = "bec22bb7cf730147bf4b036fa9237b8495be4e75"
+SRCREV = "5d8c424a5c125b3cc5dcf67238e174b9dcaf22e6"
 
 S = "${WORKDIR}/git"
 INSTALL_NAME = "ipmid"
diff --git a/meta-phosphor/common/recipes-phosphor/obmc-phosphor-user/files/obmc-phosphor-user.service b/meta-phosphor/common/recipes-phosphor/obmc-phosphor-user/files/obmc-phosphor-user.service
new file mode 100644
index 0000000..fecf835
--- /dev/null
+++ b/meta-phosphor/common/recipes-phosphor/obmc-phosphor-user/files/obmc-phosphor-user.service
@@ -0,0 +1,8 @@
+[Unit]
+Description=Phosphor OpenBMC user management daemon
+
+[Service]
+ExecStart=/usr/sbin/obmc-phosphor-userd
+
+[Install]
+WantedBy=multi-user.target
diff --git a/meta-phosphor/common/recipes-phosphor/user/user.bb b/meta-phosphor/common/recipes-phosphor/obmc-phosphor-user/obmc-phosphor-user.bb
similarity index 63%
rename from meta-phosphor/common/recipes-phosphor/user/user.bb
rename to meta-phosphor/common/recipes-phosphor/obmc-phosphor-user/obmc-phosphor-user.bb
index a68766c..d1e7637 100644
--- a/meta-phosphor/common/recipes-phosphor/user/user.bb
+++ b/meta-phosphor/common/recipes-phosphor/obmc-phosphor-user/obmc-phosphor-user.bb
@@ -4,18 +4,21 @@
 PR = "r1"
 
 inherit obmc-phosphor-license
+inherit obmc-phosphor-user-mgmt
 inherit obmc-phosphor-systemd
 
 RDEPENDS_${PN} += "python-dbus python-pygobject python-pexpect"
 
 SRC_URI += "git://github.com/openbmc/phosphor-networkd"
 
-SRCREV = "9f804290dd0bf200a1ba28e107eae55bdb4076da"
+SRCREV = "cb3613575fd6fb18a7d2f7e7d86e7b6fd75f4269"
 
 S = "${WORKDIR}/git"
+INSTALL_NAME = "userman.py"
 
 do_install() {
+echo "***installing $INSTALL_NAME"
         install -d ${D}/${sbindir}
-        install ${S}/userman.py ${D}/${sbindir}
+        install ${S}/${INSTALL_NAME} ${D}/${sbindir}/obmc-phosphor-userd
 }
 
diff --git a/meta-phosphor/common/recipes-phosphor/packagegroups/packagegroup-obmc-phosphor-apps.bb b/meta-phosphor/common/recipes-phosphor/packagegroups/packagegroup-obmc-phosphor-apps.bb
index cac7b1b..21b4a2d 100644
--- a/meta-phosphor/common/recipes-phosphor/packagegroups/packagegroup-obmc-phosphor-apps.bb
+++ b/meta-phosphor/common/recipes-phosphor/packagegroups/packagegroup-obmc-phosphor-apps.bb
@@ -19,6 +19,7 @@
         ${@mf_enabled("obmc-phosphor-flash-mgmt", "packagegroup-obmc-phosphor-apps-flash-mgmt", d)} \
         ${@df_enabled("obmc-phosphor-event-mgmt", "packagegroup-obmc-phosphor-apps-event-mgmt", d)} \
         ${@df_enabled("obmc-phosphor-policy-mgmt", "packagegroup-obmc-phosphor-apps-policy-mgmt", d)} \
+        ${@df_enabled("obmc-phosphor-user-mgmt", "packagegroup-obmc-phosphor-apps-user-mgmt", d)} \
         ${@df_enabled("obmc-phosphor-system-mgmt", "packagegroup-obmc-phosphor-apps-system-mgmt", d)} \
         "
 
@@ -69,6 +70,12 @@
                 virtual/obmc-phosphor-policy-mgmt \
         ", d)}"
 
+SUMMARY_packagegroup-obmc-phosphor-apps-user-mgmt = "User management support"
+RDEPENDS_packagegroup-obmc-phosphor-apps-user-mgmt = " \
+        ${@df_enabled("obmc-phosphor-user-mgmt", " \
+                virtual/obmc-phosphor-user-mgmt \
+        ", d)}"
+
 SUMMARY_packagegroup-obmc-phosphor-apps-system-mgmt = "System management support"
 RDEPENDS_packagegroup-obmc-phosphor-apps-system-mgmt = " \
         ${@df_enabled("obmc-phosphor-system-mgmt", " \
diff --git a/meta-phosphor/common/recipes-phosphor/user/user/user.service b/meta-phosphor/common/recipes-phosphor/user/user/user.service
deleted file mode 100644
index 8c87a5b..0000000
--- a/meta-phosphor/common/recipes-phosphor/user/user/user.service
+++ /dev/null
@@ -1,10 +0,0 @@
-[Unit]
-Description=User DBUS object
-Requires=skeleton.service
-After=skeleton.service
-
-[Service]
-ExecStart=/usr/sbin/userman.py
-
-[Install]
-WantedBy=multi-user.target
diff --git a/meta-phosphor/conf/distro/openbmc-phosphor.conf b/meta-phosphor/conf/distro/openbmc-phosphor.conf
index 418a98e..4af4a4b 100644
--- a/meta-phosphor/conf/distro/openbmc-phosphor.conf
+++ b/meta-phosphor/conf/distro/openbmc-phosphor.conf
@@ -26,6 +26,7 @@
         obmc-phosphor-flash-mgmt \
         obmc-phosphor-event-mgmt \
         obmc-phosphor-policy-mgmt \
+        obmc-phosphor-user-mgmt \
         obmc-phosphor-system-mgmt \
         ${DISTRO_FEATURES_LIBC} \
         "
diff --git a/meta-phosphor/conf/machine/include/sample.inc b/meta-phosphor/conf/machine/include/sample.inc
index f6fe46d..e66dc77 100644
--- a/meta-phosphor/conf/machine/include/sample.inc
+++ b/meta-phosphor/conf/machine/include/sample.inc
@@ -30,3 +30,4 @@
 PREFERRED_PROVIDER_virtual/obmc-phosphor-policy-mgmt = "obmc-phosphor-policyd"
 PREFERRED_PROVIDER_virtual/obmc-phosphor-sensor-mgmt = "obmc-phosphor-sensord"
 PREFERRED_PROVIDER_virtual/obmc-phosphor-system-mgmt = "obmc-phosphor-sysd"
+PREFERRED_PROVIDER_virtual/obmc-phosphor-user-mgmt = "obmc-phosphor-userd"