From patchwork Sat May 25 17:07:33 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lukas Fleischer X-Patchwork-Id: 1119 Return-Path: Delivered-To: patchwork@archlinux.org Received: from apollo.archlinux.org (localhost [127.0.0.1]) by apollo.archlinux.org (Postfix) with ESMTP id D428EED9FAAA for ; Sat, 25 May 2019 17:06:48 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on apollo X-Spam-Level: X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED=0.1, DKIM_VALID=-0.1,DKIM_VALID_AU=-0.1,MAILING_LIST_MULTI=-1, RCVD_IN_DNSWL_MED=-2.3,SPF_HELO_NONE=0.001,T_DKIMWL_WL_HIGH=-0.01, T_DMARC_POLICY_NONE=0.01 autolearn=unavailable autolearn_force=no version=3.4.2 X-Spam-BL-Results: [127.0.9.2] Received: from orion.archlinux.org (orion.archlinux.org [IPv6:2a01:4f8:160:6087::1]) by apollo.archlinux.org (Postfix) with ESMTPS for ; Sat, 25 May 2019 17:06:48 +0000 (UTC) Received: from orion.archlinux.org (localhost [127.0.0.1]) by orion.archlinux.org (Postfix) with ESMTP id B052212D510C88; Sat, 25 May 2019 17:06:47 +0000 (UTC) Received: from luna.archlinux.org (luna.archlinux.org [5.9.250.164]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-384) server-signature RSA-PSS (4096 bits)) (No client certificate requested) by orion.archlinux.org (Postfix) with ESMTPS; Sat, 25 May 2019 17:06:47 +0000 (UTC) Received: from luna.archlinux.org (luna.archlinux.org [127.0.0.1]) by luna.archlinux.org (Postfix) with ESMTP id 49B302C56A; Sat, 25 May 2019 17:06:47 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=archlinux.org; s=luna2; t=1558804007; bh=HgCe0zW8vR8gVRqOreMV54qUNqFW0HbE31aIpCMBWuk=; h=From:To:Subject:Date:List-Id:List-Unsubscribe:List-Archive: List-Post:List-Help:List-Subscribe; b=eTwOMNcfoM+eacaNjhjy6xSTskcwvqVWqybHae+nT9bnjYXp+Vk/e7YPXOq5pc2ea vHo8qdELm09XLCRP1nIpcsue9cduEOkwUY4Jzum1pwP0k6RPBbk4i5Voy4+LSyNbFB 5/O8DCiDx8OVk1cp8MaopzQJlR8yOOvWZBzP5UNYwzKmnbG9iH4pnrIfMCy1xY+c5O WIb2touOWprLI9aA68NZvLy5w+C2CArdqHBnFyrxgct1FYcR7cBZOsmWWAOcz1gHEv W3Yon1kjyjpIt3pEGPgLeMpBJ7SgU09MkB51gDCbeZ0ecplqdADXMNBTDUBXjRZFnp 2mV+3YG4ujjR6+Ksjmk3MBOJ9YNbRaFxGFvZV3KCr2/+N2LQzdY1OlrqSeb7QELhpo 2iLU4Z7/HN60L3ImDeXzlLbCMWOEjyQov7Nv0kxqm5+3yKEgapyvdvYj6Iu5eo8OSc Ol2f1XnJBDKysQvc4zhPmq43sbkjCDigpq/UsZ1aH+mgFCCAwCnZZU5FVojbyCowVa QfxwzsvH5+KdNxHz7c7SqYra2h71/1svqc2szJw87+FldbsZ772NslgrTh+whoa/N5 vcEtL3syeTgbyp2cihHTeAk11qg+ktHiLMElK7pf5TgCdvi3289Wz9cwNXaO7fYhw3 5EMajS6S4gXHcdKymfGCVwp8= Received: from luna.archlinux.org (luna.archlinux.org [127.0.0.1]) by luna.archlinux.org (Postfix) with ESMTP id 18C142C3D2 for ; Sat, 25 May 2019 17:06:43 +0000 (UTC) Received: from orion.archlinux.org (orion.archlinux.org [88.198.91.70]) by luna.archlinux.org (Postfix) with ESMTPS for ; Sat, 25 May 2019 17:06:43 +0000 (UTC) Received: from orion.archlinux.org (localhost [127.0.0.1]) by orion.archlinux.org (Postfix) with ESMTP id 03B1E12D510C7F for ; Sat, 25 May 2019 17:06:42 +0000 (UTC) Received: from localhost (unknown [45.62.217.169]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-384) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: lfleischer) by orion.archlinux.org (Postfix) with ESMTPSA id 4B92A12D510C7E for ; Sat, 25 May 2019 17:06:41 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=archlinux.org; s=orion; t=1558804001; bh=HgCe0zW8vR8gVRqOreMV54qUNqFW0HbE31aIpCMBWuk=; h=From:To:Subject:Date; b=JHkcgo4V0OmNUB4y+hKxCov67LH9iupv5rymYAlW4cSawny1v9M01T7pPgZhkpjlo +qvIcd5zu5eLjfd220Mi/C44CFG35iv/gzf6BZPe8XJcr22H5Lx/5M38MnVF6ymQHy bxS7gbvz5PmpwS/GVtUuxCHtqaoRLMiublysdd2zeK5i9qN7qH8TH0+pNGn3q38rYZ AQYmsKntau4/sBCXhDZO/uBtKDa3nxCgRYJ/WnSZzdjJESQT0oBysti5yz3YyywV5e JjMaRENS05h7AFGj3o2+ywFX5z8cHDGhJv3PhgX1KAD4LwMAh107gfq6KYoC3tNmY6 0U8xc6MD5rjEajKaBH4vcEcc86vz/kP/gdR/1bCU6hUQ0jvB7WlG/PbjK4n3L+5OQF 2XznkfSQ2ro3CEjzWP8xgA7GFKnYnuIZgjX/fYXmkTDIEWS2uby7eAa4N9s9N+3h/i 4actSWIgiNvsKNtog8o9y64X3V3BJIDnXEBwBixQePnjJ3qEOauAgmmZTvkjWLfQiL rRtXmmbtTH2wAjzzInLgqv4bgTbY23LdpYh5+6svX7MRrqFy0Aw5rjsVFddX/U5xLW qQf/+xio2LDajeNYhKSCM6PBVvgwl9HVxsbyeINfdD7Vwu3LpRXssr0DnfHB+Yx0fr uqxdTbNs5r8gGyn+EoZoayI0= From: Lukas Fleischer To: aur-dev@archlinux.org Subject: [PATCH] Display warning when flagging VCS packages Date: Sat, 25 May 2019 13:07:33 -0400 Message-Id: <20190525170733.25076-1-lfleischer@archlinux.org> X-Mailer: git-send-email 2.21.0 MIME-Version: 1.0 X-BeenThere: aur-dev@archlinux.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Arch User Repository \(AUR\) Development" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: aur-dev-bounces@archlinux.org Sender: "aur-dev" VCS packages should not be flagged out-of-date when the package version does not match the most recent commit. Implements FS#62733. Signed-off-by: Lukas Fleischer --- web/html/css/aurweb.css | 4 ++++ web/html/pkgflag.php | 5 +++++ web/lib/pkgbasefuncs.inc.php | 21 +++++++++++++++++++++ 3 files changed, 30 insertions(+) diff --git a/web/html/css/aurweb.css b/web/html/css/aurweb.css index ef37bf5..81bf9ab 100644 --- a/web/html/css/aurweb.css +++ b/web/html/css/aurweb.css @@ -195,3 +195,7 @@ label.confirmation, .comments .more { font-weight: normal; } + +.error { + color: red; +} diff --git a/web/html/pkgflag.php b/web/html/pkgflag.php index 61346b9..2fba6bd 100644 --- a/web/html/pkgflag.php +++ b/web/html/pkgflag.php @@ -50,6 +50,11 @@ if (has_credential(CRED_PKGBASE_FLAG)): ?>
  • + +

    + This is a VCS package. Please do not flag this package out-of-date when the package version in the AUR does not match the most recent commit. +

    +

    ', ''); ?> diff --git a/web/lib/pkgbasefuncs.inc.php b/web/lib/pkgbasefuncs.inc.php index 1df21a2..a492589 100644 --- a/web/lib/pkgbasefuncs.inc.php +++ b/web/lib/pkgbasefuncs.inc.php @@ -367,6 +367,27 @@ function pkgbase_get_pkgnames($base_id) { return $result->fetchAll(PDO::FETCH_COLUMN, 0); } +/** + * Determine whether a package base is (or contains a) VCS package + * + * @param int $base_id The ID of the package base + * + * @return bool True if the package base is/contains a VCS package + */ +function pkgbase_is_vcs($base_id) { + $suffixes = array("-cvs", "-svn", "-git", "-hg", "-bzr", "-darcs"); + $haystack = pkgbase_get_pkgnames($base_id); + array_push($haystack, pkgbase_name_from_id($base_id)); + foreach ($haystack as $pkgname) { + foreach ($suffixes as $suffix) { + if (substr_compare($pkgname, $suffix, -strlen($suffix)) === 0) { + return true; + } + } + } + return false; +} + /** * Delete all packages belonging to a package base *