config-files: add starlingx login banners
[pti/rtp.git] / meta-stx / recipes-core / stx-config-files / config-files_1.0.0.bb
index f18ca76..67b0e5e 100644 (file)
@@ -22,9 +22,6 @@ SRCNAME = "config-files"
 S = "${WORKDIR}/git"
 PV = "1.0.0"
 
-
-# TODO:
-
 LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "\
        file://systemd-config/files/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \
@@ -54,6 +51,7 @@ SRC_URI = " \
        file://syslog-ng-config-systemd-service.patch \
        file://syslog-ng-conf-fix-the-source.patch \
        file://syslog-ng-conf-replace-match-with-message.patch \
+       file://lighttpd-init-script-chroot.patch \
        "
 
 do_configure () {
@@ -66,18 +64,22 @@ do_compile () {
 
 do_install () {
        install -m 0755 -d ${D}/${datadir}/starlingx/config-files
-       # for f in $(find ./ -not -path "./docker-config/*" -name '*\.spec' | cut -d '/' -f2);
        for f in $(find ./ -name '*\.spec' | cut -d '/' -f2);
        do 
                tar -c $f -f - | tar -C ${D}/${datadir}/starlingx/config-files -xf -;
        done
        find ${D}/${datadir}/starlingx/config-files -name centos -exec rm -rf {} +
-       rm -rf ${D}/${datadir}/starlingx/config-files/centos-release-config 
        chown -R root:root ${D}/${datadir}/starlingx/config-files/
+
+       # For io-scheduler-config
+       mkdir -p  ${D}/${sysconfdir}/udev/rules.d
+       install -m 644 ${S}/io-scheduler/centos/files/60-io-scheduler.rules ${D}/${sysconfdir}/udev/rules.d/60-io-scheduler.rules
+       rm -rf ${D}/${datadir}/starlingx/config-files/io-scheduler
 }
 
 PACKAGES ?= ""
 PACKAGES += "audit-config"
+PACKAGES += "centos-release-config"
 PACKAGES += "dhclient-config"
 PACKAGES += "dnsmasq-config"
 PACKAGES += "docker-config"
@@ -107,15 +109,16 @@ PACKAGES += "syslog-ng-config"
 PACKAGES += "systemd-config"
 PACKAGES += "util-linux-config"
 
-
+FILES_${PN} = ""
 FILES_audit-config = "${datadir}/starlingx/config-files/audit-config/"
+FILES_centos-release-config = "${datadir}/starlingx/config-files/centos-release-config/"
 FILES_dhclient-config = "${datadir}/starlingx/config-files/dhcp-config/"
 FILES_dnsmasq-config = "${datadir}/starlingx/config-files/dnsmasq-config/"
 FILES_docker-config = "${datadir}/starlingx/config-files/docker-config/"
 FILES_initscripts-config = "${datadir}/starlingx/config-files/initscripts-config/"
 FILES_filesystem-scripts= "${datadir}/starlingx/config-files/filesystem-scripts/"
 FILES_haproxy-config= "${datadir}/starlingx/config-files/haproxy-config/"
-FILES_ioscheduler-config= "${datadir}/starlingx/config-files/io-scheduler/"
+FILES_ioscheduler-config= "${sysconfdir}/udev/rules.d/60-io-scheduler.rules"
 FILES_iptables-config= "${datadir}/starlingx/config-files/iptables-config/"
 FILES_iscsi-initiator-utils-config = "${datadir}/starlingx/config-files/iscsi-initiator-utils-config/"
 FILES_lighttpd-config= "${datadir}/starlingx/config-files/lighttpd-config/"
@@ -248,6 +251,13 @@ pkg_postinst_ontarget_audit-config() {
        chmod 640 ${sysconfdir}/audisp/plugins.d/syslog.conf
 }
 
+pkg_postinst_centos-release-config() {
+        sed 's/@PLATFORM_RELEASE@/${STX_REL}/' $D${datadir}/starlingx/config-files/centos-release-config/files/issue >> $D${sysconfdir}/issue
+        sed 's/@PLATFORM_RELEASE@/${STX_REL}/' $D${datadir}/starlingx/config-files/centos-release-config/files/issue.net >> $D${sysconfdir}/issue.net
+        chmod 644 $D${sysconfdir}/issue
+        chmod 644 $D${sysconfdir}/issue.net
+}
+
 pkg_postinst_ontarget_dhclient-config() {
        SRCPATH=${datadir}/starlingx/config-files/dhcp-config/files
        install -m 0755 -p ${SRCPATH}/dhclient-enter-hooks ${sysconfdir}/dhcp/dhclient-enter-hooks
@@ -497,27 +507,43 @@ pkg_postinst_ontarget_openldap-config() {
        chmod 644 ${systemd_system_unitdir}/slapd
 }
 
-pkg_postinst_ontarget_openssh-config() {
+pkg_postinst_openssh-config() {
 #      %description
 #      package StarlingX configuration files of openssh to system folder.
 
 
-       SRCPATH=${datadir}/starlingx/config-files/openssh-config/files
+       SRCPATH=$D${datadir}/starlingx/config-files/openssh-config/files
 
-       install -m 644 ${SRCPATH}/sshd.service  ${sysconfdir}/systemd/system/sshd.service
-       install -m 644 ${SRCPATH}/ssh_config    ${datadir}/starlingx/ssh_config
-       install -m 600 ${SRCPATH}/sshd_config   ${datadir}/starlingx/sshd_config
+       install -m 644 ${SRCPATH}/sshd.service  $D${sysconfdir}/systemd/system/sshd.service
+       install -m 644 ${SRCPATH}/ssh_config    $D${datadir}/starlingx/ssh_config
+       install -m 600 ${SRCPATH}/sshd_config   $D${datadir}/starlingx/sshd_config
 
        # remove the unsupported and deprecated options
        sed -i -e 's/^\(GSSAPIAuthentication.*\)/#\1/' \
               -e 's/^\(GSSAPICleanupCredentials.*\)/#\1/' \
               -e 's/^\(UsePrivilegeSeparation.*\)/#\1/' \
-              ${datadir}/starlingx/sshd_config
+              $D${datadir}/starlingx/sshd_config
 
-       sed -i -e 's/\(GSSAPIAuthentication yes\)/#\1/' ${datadir}/starlingx/ssh_config
+       sed -i -e 's/\(GSSAPIAuthentication yes\)/#\1/' $D${datadir}/starlingx/ssh_config
        
-       cp -f ${datadir}/starlingx/ssh_config  ${sysconfdir}/ssh/ssh_config
-       cp -f ${datadir}/starlingx/sshd_config ${sysconfdir}/ssh/sshd_config
+       cp -f $D${datadir}/starlingx/ssh_config  $D${sysconfdir}/ssh/ssh_config
+       cp -f $D${datadir}/starlingx/sshd_config $D${sysconfdir}/ssh/sshd_config
+
+       # enable syslog-ng service by default
+       OPTS=""
+       if [ -n "$D" ]; then
+               OPTS="--root=$D"
+       fi
+       if [ -z "$D" ]; then
+               systemctl daemon-reload
+       fi
+
+       systemctl $OPTS enable sshd.service
+
+       if [ -z "$D" ]; then
+               systemctl --no-block restart sshd.service
+       fi
+
 }
 
 pkg_postinst_ontarget_openvswitch-config() {
@@ -708,10 +734,6 @@ pkg_postinst_ontarget_ioscheduler-config() {
 #      %description
 #      CGCS io scheduler configuration and tuning.
 
-       SRCPATH=${datadir}/starlingx/config-files/io-scheduler/
-
-       install -m 644 ${SRCPATH}/60-io-scheduler.rules ${sysconfdir}/udev/rules.d/60-io-scheduler.rules
-
        /bin/udevadm control --reload-rules
        /bin/udevadm trigger --type=devices --subsystem-match=block
 }