app-admin/logrotate: Moves state file to /var/lib/misc/
authorChema Alonso Josa <nimiux@gentoo.org>
Fri, 4 Aug 2017 19:24:04 +0000 (21:24 +0200)
committerChema Alonso Josa <nimiux@gentoo.org>
Fri, 4 Aug 2017 19:24:30 +0000 (21:24 +0200)
Gentoo-Bug: 357275

Package-Manager: Portage-2.3.6, Repoman-2.3.1

app-admin/logrotate/logrotate-3.12.3.ebuild

index 410660a032a66d27b6d095bb1f4537a93454b353..34807c80e888053670c608c385885b8d2e5258e8 100644 (file)
@@ -27,6 +27,18 @@ RDEPEND="${CDEPEND}
        cron? ( virtual/cron )
        bzip2? ( app-arch/bzip2 )"
 
+STATEFILE="/var/lib/misc/logrotate.status"
+OLDSTATEFILE="/var/lib/logrotate.status"
+
+move_old_state_file() {
+       elog "logrotate state file is now located at ${STATEFILE}"
+       elog "See bug #357275"
+       if [[ -e "${OLDSTATEFILE}" ]] ; then
+               elog "Moving your current state file to new location: ${STATEFILE}"
+               mv -n "${OLDSTATEFILE}" "${STATEFILE}"
+       fi
+}
+
 install_cron_file() {
        exeinto /etc/cron.daily
        newexe "${S}"/examples/logrotate.cron "${PN}"
@@ -46,7 +58,7 @@ src_configure() {
        if use bzip2 ; then
                compressconf="--with-compress-command=/bin/bzip2 --with-uncompress-command=/bin/bunzip2 --with-compress-extension=.bz2"
        fi
-       econf $(use_with acl) $(use_with selinux) ${compressconf}
+       econf $(use_with acl) $(use_with selinux) ${compressconf} --with-state-file-path="${STATEFILE}"
 }
 
 src_test() {
@@ -73,12 +85,14 @@ pkg_postinst() {
        elog "The ${PN} binary is now installed under /usr/bin. Please"
        elog "update your links"
        elog
+       move_old_state_file
+       elog
        if [[ -z ${REPLACING_VERSIONS} ]] ; then
                elog "If you wish to have logrotate e-mail you updates, please"
                elog "emerge virtual/mailx and configure logrotate in"
                elog "/etc/logrotate.conf appropriately"
                elog
                elog "Additionally, /etc/logrotate.conf may need to be modified"
-               elog "for your particular needs.  See man logrotate for details."
+               elog "for your particular needs. See man logrotate for details."
        fi
 }