net-misc/minidlna: Defer creating user/group to preinst
authorMichał Górny <mgorny@gentoo.org>
Sun, 25 Nov 2018 20:11:58 +0000 (21:11 +0100)
committerMichał Górny <mgorny@gentoo.org>
Sun, 25 Nov 2018 21:42:54 +0000 (22:42 +0100)
Signed-off-by: Michał Górny <mgorny@gentoo.org>
net-misc/minidlna/minidlna-1.2.1-r1.ebuild

index 70feaa8392b65f60f361552641365e25a7a1752a..999de5da773db881aaed04af8d68369cb5f1941b 100644 (file)
@@ -33,22 +33,6 @@ CONFIG_CHECK="~INOTIFY_USER"
 PATCHES=( "${WORKDIR}"/${PN}-gentoo-artwork.patch
        "${FILESDIR}"/${P}-buildsystem.patch )
 
-pkg_setup() {
-       local my_is_new="yes"
-       [ -d "${EPREFIX}"/var/lib/${PN} ] && my_is_new="no"
-       enewgroup ${PN}
-       enewuser ${PN} -1 -1 /var/lib/${PN} ${PN}
-       if [ -d "${EPREFIX}"/var/lib/${PN} ] && [ "${my_is_new}" == "yes" ] ; then
-               # created by above enewuser command w/ wrong group and permissions
-               chown ${PN}:${PN} "${EPREFIX}"/var/lib/${PN} || die
-               chmod 0750 "${EPREFIX}"/var/lib/${PN} || die
-               # if user already exists, but /var/lib/minidlna is missing
-               # rely on ${D}/var/lib/minidlna created in src_install
-       fi
-
-       linux-info_pkg_setup
-}
-
 src_prepare() {
        sed -e "/log_dir/s:/var/log:/var/log/${PN}:" \
                -e "/db_dir/s:/var/cache/:/var/lib/:" \
@@ -86,13 +70,30 @@ src_install() {
        systemd_dotmpfilesd "${T}"/${PN}.conf
 
        keepdir /var/{lib,log}/${PN}
-       fowners ${PN}:${PN} /var/{lib,log}/${PN}
-       fperms 0750 /var/{lib,log}/${PN}
 
        dodoc AUTHORS NEWS README TODO
        doman ${PN}d.8 ${PN}.conf.5
 }
 
+pkg_preinst() {
+       local my_is_new="yes"
+       [ -d "${EPREFIX}"/var/lib/${PN} ] && my_is_new="no"
+
+       enewgroup ${PN}
+       enewuser ${PN} -1 -1 /var/lib/${PN} ${PN}
+
+       fowners ${PN}:${PN} /var/{lib,log}/${PN}
+       fperms 0750 /var/{lib,log}/${PN}
+
+       if [ -d "${EPREFIX}"/var/lib/${PN} ] && [ "${my_is_new}" == "yes" ] ; then
+               # created by above enewuser command w/ wrong group and permissions
+               chown ${PN}:${PN} "${EPREFIX}"/var/lib/${PN} || die
+               chmod 0750 "${EPREFIX}"/var/lib/${PN} || die
+               # if user already exists, but /var/lib/minidlna is missing
+               # rely on ${D}/var/lib/minidlna created in src_install
+       fi
+}
+
 pkg_postinst() {
        elog "minidlna now runs as minidlna:minidlna (bug 426726),"
        elog "logfile is moved to /var/log/minidlna/minidlna.log,"