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 55A4F1395E2 for ; Fri, 11 Nov 2016 17:09:07 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id C52DE21C06B; Fri, 11 Nov 2016 17:09:03 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 97A7321C06B for ; Fri, 11 Nov 2016 17:09:03 +0000 (UTC) Received: from oystercatcher.gentoo.org (unknown [IPv6:2a01:4f8:202:4333:225:90ff:fed9:fc84]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id D968E3413B7 for ; Fri, 11 Nov 2016 17:09:00 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id C980E86E for ; Fri, 11 Nov 2016 17:08:58 +0000 (UTC) From: "William Hubbs" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "William Hubbs" Message-ID: <1478884098.db7f0584b1c3b0679391f60680ab83839c1943d1.williamh@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: net-misc/dhcpcd/ X-VCS-Repository: repo/gentoo X-VCS-Files: net-misc/dhcpcd/dhcpcd-9999.ebuild X-VCS-Directories: net-misc/dhcpcd/ X-VCS-Committer: williamh X-VCS-Committer-Name: William Hubbs X-VCS-Revision: db7f0584b1c3b0679391f60680ab83839c1943d1 X-VCS-Branch: master Date: Fri, 11 Nov 2016 17:08:58 +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: 38ca8cbe-2bb5-412b-a118-fccc03f20cbc X-Archives-Hash: 36acf028b286dbdc9750657316d7ad8a commit: db7f0584b1c3b0679391f60680ab83839c1943d1 Author: Roy Marples marples name> AuthorDate: Fri Nov 11 17:03:00 2016 +0000 Commit: William Hubbs gentoo org> CommitDate: Fri Nov 11 17:08:18 2016 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=db7f0584 net-misc/dhcpcd: copy files to new locations for dhcpcd-7 for #599396 Note from WilliamH: The original patch was modified to use "${EROOT%/}"/ instead of "${ROOT}"/. Package-Manager: portage-2.3.0 net-misc/dhcpcd/dhcpcd-9999.ebuild | 74 +++++++++++++++++++++++++++++++++----- 1 file changed, 65 insertions(+), 9 deletions(-) diff --git a/net-misc/dhcpcd/dhcpcd-9999.ebuild b/net-misc/dhcpcd/dhcpcd-9999.ebuild index 0b616f0..f6264d2 100644 --- a/net-misc/dhcpcd/dhcpcd-9999.ebuild +++ b/net-misc/dhcpcd/dhcpcd-9999.ebuild @@ -79,21 +79,77 @@ src_install() pkg_postinst() { - # Upgrade the duid file to the new format if needed - local old_duid="${ROOT}"/var/lib/dhcpcd/dhcpcd.duid - local new_duid="${ROOT}"/etc/dhcpcd.duid - if [ -e "${old_duid}" ] && ! grep -q '..:..:..:..:..:..' "${old_duid}"; then - sed -i -e 's/\(..\)/\1:/g; s/:$//g' "${old_duid}" + local dbdir="${EROOT%/}"/var/lib/dhcpcd old_files= + + local old_old_duid="${EROOT%/}"/var/lib/dhcpcd/dhcpcd.duid + local old_duid="${EROOT%/}"/etc/dhcpcd.duid + local new_duid="${dbdir}"/duid + if [ -e "${old_old_duid}" ]; then + # Upgrade the duid file to the new format if needed + if ! grep -q '..:..:..:..:..:..' "${old_old_duid}"; then + sed -i -e 's/\(..\)/\1:/g; s/:$//g' "${old_old_duid}" + fi + + # Move the duid to /etc, a more sensible location + if [ ! -e "${old_duid}" ]; then + cp -p "${old_old_duid}" "${new_duid}" + fi + old_files="${old_files} ${old_old_duid}" + fi + + # dhcpcd-7 moves the files out of /etc + if [ -e "${old_duid}" ]; then + if [ ! -e "${new_duid}" ]; then + cp -p "${old_duid}" "${new_duid}" + fi + old_files="${old_files} ${old_duid}" + fi + local old_secret="${EROOT%/}"/etc/dhcpcd.secret + local new_secret="${dbdir}"/secret + if [ -e "${old_secret}" ]; then + if [ ! -e "${new_secret}" ]; then + cp -p "${old_secret}" "${new_secret}" + fi + old_files="${old_files} ${old_secret}" fi - # Move the duid to /etc, a more sensible location - if [ -e "${old_duid}" -a ! -e "${new_duid}" ]; then - cp -p "${old_duid}" "${new_duid}" + # dhcpcd-7 renames some files in /var/lib/dhcpcd + local old_rdm="${dbdir}"/dhcpcd-rdm.monotonic + local new_rdm="${dbdir}"/rdm_monotonic + if [ -e "${old_rdm}" ]; then + if [ ! -e "${new_rdm}" ]; then + cp -p "${old_rdm}" "${new_rdm}" + fi + old_files="${old_files} ${old_rdm}" + fi + local lease= + for lease in "${dbdir}"/dhcpcd-*.lease*; do + [ -f "$lease" ] || continue + old_files="${old_files} ${lease}" + local new_lease=$(basename "$lease" | sed -e "s/dhcpcd-//") + [ -e "${dbdir}/${new_lease}" ] && continue + cp "${lease}" "${dbdir}/${new_lease}" + done + + # Warn about removing stale files + if [ -n "${old_files}" ]; then + elog + elog "dhcpcd-7 has copied dhcpcd.duid and dhcpcd.secret from" + elog "${EROOT%/}/etc to ${dbdir}" + elog "and copied leases in ${dbdir} to new files with the dhcpcd-" + elog "prefix dropped." + elog + elog "You should remove these files if you don't plan on reverting" + elog "to an older version:" + local old_file= + for old_file in ${old_files}; do + elog " ${old_file}" + done fi if [ -z "$REPLACING_VERSIONS" ]; then elog - elog "dhcpcd has zeroconf support active by default." + elog "dhcpcd has zeroconf support active by default." elog "This means it will always obtain an IP address even if no" elog "DHCP server can be contacted, which will break any existing" elog "failover support you may have configured in your net configuration."