From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 34CCB1396D9 for ; Tue, 31 Oct 2017 21:55:22 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 5BAAFE0C44; Tue, 31 Oct 2017 21:55:21 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 2B9F4E0C44 for ; Tue, 31 Oct 2017 21:55:21 +0000 (UTC) Received: from oystercatcher.gentoo.org (unknown [IPv6:2a01:4f8:202:4333:225:90ff:fed9:fc84]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id B49093416FB for ; Tue, 31 Oct 2017 21:55:19 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 3DD77829 for ; Tue, 31 Oct 2017 21:55:18 +0000 (UTC) From: "Thomas Deutschmann" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Thomas Deutschmann" Message-ID: <1509486898.2e30c20f28ed66d57cc2af664acd7a0fcc0cc853.whissi@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: sys-apps/smartmontools/ X-VCS-Repository: repo/gentoo X-VCS-Files: sys-apps/smartmontools/smartmontools-9999.ebuild X-VCS-Directories: sys-apps/smartmontools/ X-VCS-Committer: whissi X-VCS-Committer-Name: Thomas Deutschmann X-VCS-Revision: 2e30c20f28ed66d57cc2af664acd7a0fcc0cc853 X-VCS-Branch: master Date: Tue, 31 Oct 2017 21:55:18 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Archives-Salt: e975384b-40c3-4797-b3e1-f6f643b26421 X-Archives-Hash: 38e162565f6e23669006a8540b367410 commit: 2e30c20f28ed66d57cc2af664acd7a0fcc0cc853 Author: Thomas Deutschmann gentoo org> AuthorDate: Tue Oct 31 21:54:58 2017 +0000 Commit: Thomas Deutschmann gentoo org> CommitDate: Tue Oct 31 21:54:58 2017 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2e30c20f sys-apps/smartmontools: Update live ebuild Incorporate changes from commit ad8950f967e37dcff1fb1ab9fcd2e0b4001b0a69. Package-Manager: Portage-2.3.13, Repoman-2.3.4 sys-apps/smartmontools/smartmontools-9999.ebuild | 115 ++++++++++++++++------- 1 file changed, 80 insertions(+), 35 deletions(-) diff --git a/sys-apps/smartmontools/smartmontools-9999.ebuild b/sys-apps/smartmontools/smartmontools-9999.ebuild index dfe72e1dfdd..499584db4c3 100644 --- a/sys-apps/smartmontools/smartmontools-9999.ebuild +++ b/sys-apps/smartmontools/smartmontools-9999.ebuild @@ -1,13 +1,13 @@ # Copyright 1999-2017 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -EAPI=5 +EAPI="6" -inherit flag-o-matic systemd +inherit autotools flag-o-matic systemd if [[ ${PV} == "9999" ]] ; then ESVN_REPO_URI="https://svn.code.sf.net/p/smartmontools/code/trunk/smartmontools" ESVN_PROJECT="smartmontools" - inherit subversion autotools + inherit subversion else SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz" KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~x64-macos" @@ -18,29 +18,41 @@ HOMEPAGE="https://www.smartmontools.org" LICENSE="GPL-2" SLOT="0" -IUSE="caps minimal selinux static update_drivedb" +IUSE="caps +daemon selinux static update_drivedb" DEPEND=" caps? ( static? ( sys-libs/libcap-ng[static-libs] ) !static? ( sys-libs/libcap-ng ) ) + kernel_FreeBSD? ( + sys-freebsd/freebsd-lib[usb] + ) selinux? ( sys-libs/libselinux )" RDEPEND="${DEPEND} - !minimal? ( virtual/mailx ) + daemon? ( virtual/mailx ) selinux? ( sec-policy/selinux-smartmon ) + update_drivedb? ( + || ( + net-misc/curl + net-misc/wget + www-client/lynx + dev-vcs/subversion + ) + ) " +REQUIRED_USE="( caps? ( daemon ) )" + src_prepare() { - if [[ ${PV} == "9999" ]] ; then - eautoreconf - fi + default + + eautoreconf } src_configure() { - use minimal && einfo "Skipping the monitoring daemon for minimal build." use static && append-ldflags -static # The build installs /etc/init.d/smartd, but we clobber it # in our src_install, so no need to manually delete it. @@ -50,7 +62,7 @@ src_configure() { --with-initscriptdir="${EPREFIX}/etc/init.d" $(use_with caps libcap-ng) $(use_with selinux) - $(systemd_with_unitdir) + --with-systemdsystemunitdir="$(systemd_get_systemunitdir)" $(use_with update_drivedb update-smart-drivedb) ) econf "${myeconfargs[@]}" @@ -59,45 +71,78 @@ src_configure() { src_install() { local db_path="/var/db/${PN}" - if use minimal ; then - dosbin smartctl - doman smartctl.8 - else + if use daemon; then default + newinitd "${FILESDIR}"/smartd-r1.rc smartd newconfd "${FILESDIR}"/smartd.confd smartd + systemd_newunit "${FILESDIR}"/smartd.systemd smartd.service + else + dosbin smartctl + doman smartctl.8 - keepdir "${db_path}" - if use update_drivedb ; then - # Move drivedb.h file out of PM's sight (bug #575292) - mv "${ED}${db_path}/drivedb.h" "${T}" || die + local DOCS=( AUTHORS ChangeL* COPYING INSTALL NEWS README TODO ) + einstalldocs + fi - exeinto /etc/cron.monthly - doexe "${FILESDIR}/${PN}-update-drivedb" + if use update_drivedb ; then + if ! use daemon; then + dosbin "${S}"/update-smart-drivedb fi + + exeinto /etc/cron.monthly + doexe "${FILESDIR}/${PN}-update-drivedb" fi + + if use daemon || use update_drivedb; then + keepdir "${db_path}" + + # Install a copy of the initial drivedb.h to /usr/share/${PN} + # so that we can access that file later in pkg_postinst + # even when dealing with binary packages (bug #575292) + insinto /usr/share/${PN} + doins "${S}"/drivedb.h + fi + + # Make sure we never install drivedb.h into the db location + # of the acutal image so we don't record hashes because user + # can modify that file + rm -f "${ED%/}${db_path}/drivedb.h" || die + + # Bug #622072 + find "${ED%/}"/usr/share/doc -type f -exec chmod a-x '{}' \; || die } pkg_postinst() { - if ! use minimal ; then - local db_path="/var/db/${PN}" + if use daemon || use update_drivedb; then + local initial_db_file="${EPREFIX%/}/usr/share/${PN}/drivedb.h" + local db_path="${EPREFIX%/}/var/db/${PN}" - if [[ -f "${db_path}/drivedb.h" ]] ; then - ewarn "WARNING! The existing copy of the drive database has been replaced with the version that" - ewarn "was shipped with this release of ${PN}. You may want to update the" - ewarn "database by: " + if [[ ! -f "${db_path}/drivedb.h" ]] ; then + # No initial database found + cp "${initial_db_file}" "${db_path}" || die + einfo "Default drive database which was shipped with this release of ${PN}" + einfo "has been installed to '${db_path}'." + else + ewarn "WARNING: There's already a drive database in '${db_path}'!" + ewarn "Because we cannot determine if this database is untouched" + ewarn "or was modified by the user you have to manually update the" + ewarn "drive database:" + ewarn "" + ewarn "a) Replace '${db_path}/drivedb.h' by the database shipped with this" + ewarn " release which can be found in '${initial_db_file}', i.e." + ewarn "" + ewarn " cp \"${initial_db_file}\" \"${db_path}\"" + ewarn "" + ewarn "b) Run the following command as root:" + ewarn "" + ewarn " /usr/sbin/update-smart-drivedb" if ! use update_drivedb ; then - ewarn "re-merging ${PN} with USE='update_drivedb', then" + ewarn "" + ewarn "However, 'update-smart-drivedb' requires that you re-emerge ${PN}" + ewarn "with USE='update_drivedb'." fi - ewarn "running the following command as root:" - ewarn "" - ewarn "/usr/sbin/update-smart-drivedb" - fi - - if use update_drivedb ; then - # Move drivedb.h to /var/db/${PN} (bug #575292) - mv "${T}"/drivedb.h "${db_path}" || die fi fi }