From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp1 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms11 with LMTPS id WufNM8JO4l6hZgAA0tVLHw (envelope-from ) for ; Thu, 11 Jun 2020 15:33:22 +0000 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp1 with LMTPS id 6CUEL8JO4l7AYgAAbx9fmQ (envelope-from ) for ; Thu, 11 Jun 2020 15:33:22 +0000 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 3502A9401CD for ; Thu, 11 Jun 2020 15:33:22 +0000 (UTC) Received: from localhost ([::1]:56088 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jjPCj-0007Oe-58 for larch@yhetil.org; Thu, 11 Jun 2020 11:33:21 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:54268) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jjP0H-0004rx-2E for guix-devel@gnu.org; Thu, 11 Jun 2020 11:20:29 -0400 Received: from sender4-op-o11.zoho.com ([136.143.188.11]:17164) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1jjP0C-00057m-UM for guix-devel@gnu.org; Thu, 11 Jun 2020 11:20:27 -0400 ARC-Seal: i=1; a=rsa-sha256; t=1591888820; cv=none; d=zohomail.com; s=zohoarc; b=fqmh4BwPYnsFDu9HypNTe3Nc8SroGx439aR+fFVX8mad4OAe5UKahrJ/acAK2yfGXw/kZolTcdLIx4DWA6Ks9bh4R0w+QeA77yhAIyPzt1qBEe79D+jv4mDtQJ9O69yPrcybXJrA/sHCDfT6LG8285cJPxD4SEGdBoRv40kMPA4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1591888820; h=Content-Type:Date:From:MIME-Version:Message-ID:Subject:To; bh=Ulfc/tCWuv2scwN9xrckJnUnToXoAflH16ci+tpvQT8=; b=gEIX/heF4oZKjkus3Bd0ttEkqO6EmoEtZQn+aczQYe2XqsacNDFq34N9Qp6ONjT7ywOhW/DTTzNSZYv6gjDDz8QwP17M4F1GjA+GZFlIznK+zzwzq/fSRWx+z+wRANMwXCpZAS2Bs2pMbyZEjtliEvFGo2cBfaQ2ax+pWAmZqKE= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass header.i=beaver-labs.com; spf=pass smtp.mailfrom=edk@beaver-labs.com; dmarc=pass header.from= header.from= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1591888820; s=zoho; d=beaver-labs.com; i=edk@beaver-labs.com; h=From:To:Subject:Message-ID:Date:MIME-Version:Content-Type; bh=Ulfc/tCWuv2scwN9xrckJnUnToXoAflH16ci+tpvQT8=; b=g4Rc56S2mJ2ZRm6ltt462nkOQZ9xVOn+xtJKEHvU4m21PaYUhLqglzE65jXRleSd mmDyOIGHv3TZnofbnHRponfAx26UJozBkbgOHbZ/GjRVvdxMkIVf3MxwgmVzyuUppbe qt4FTFvy+x9jpS8oDANrtoiRUV+swmA3t7/9dPzE= Received: from alice.lan (lfbn-idf1-1-1299-119.w90-79.abo.wanadoo.fr [90.79.23.119]) by mx.zohomail.com with SMTPS id 1591888817908264.27111284546925; Thu, 11 Jun 2020 08:20:17 -0700 (PDT) User-agent: mu4e 1.4.6; emacs 26.3 From: Edouard Klein To: guix-devel@gnu.org Subject: A script to check an edit does not break anything Message-ID: <87sgf1r5nk.fsf@alice.lan> Date: Thu, 11 Jun 2020 17:19:59 +0200 MIME-Version: 1.0 Content-Type: text/plain X-ZohoMailClient: External Received-SPF: pass client-ip=136.143.188.11; envelope-from=edk@beaver-labs.com; helo=sender4-op-o11.zoho.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/06/11 11:05:31 X-ACL-Warn: Detected OS = Linux 3.11 and newer [fuzzy] X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H4=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001 autolearn=_AUTOLEARN X-Spam_action: no action X-BeenThere: guix-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+larch=yhetil.org@gnu.org Sender: "Guix-devel" X-Scanner: scn0 Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=beaver-labs.com header.s=zoho header.b=g4Rc56S2; dmarc=none; spf=pass (aspmx1.migadu.com: domain of guix-devel-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-devel-bounces@gnu.org X-Spam-Score: -2.21 X-TUID: gtv7KFvnT/2r Dear Guixers, I recently broke jupyter while updating python-prompt-toolkit (a mistake I'm still trying to fix...) despite doing my best to follow the instructions of the manual: https://guix.gnu.org/manual/en/html_node/Packaging-Guidelines.html https://guix.gnu.org/manual/en/html_node/Submitting-Patches.html#Submitting-Patches Because of the subtle consequences of editing a package are hard to keep track of, I wrote the attached script (you need sharness to run it, but with slight modification it can become a standalone script). This script goes beyond the instructions of the manual on two fronts: - First, it not only tries to build the packages, but also to install them, - Secondly, it does not limit itself to the dependents (as listed by guix refresh --list-dependents) of the packages one is meddling with, but to the whole reverse bags (as listed by guix graph --type=reverse-bag). Both these extensions are necessary to discover that my update broke the jupyter package: - jupyter builds, so if you don't try to install it you won't discover it's broken - the leafs of the dependency graph that depend on jupyter fail to build for reasons unrelated to python-prompt-toolkit, so by just building the leafs (which are what is being returned by guix refresh --list-dependents) you can't discover jupyter's broken status. I think an update of the manual is in order (I've added it to my own TODO queue, but I have no idea when I'll be able to get to it) but I first wanted to share my script in case it may be useful to someone else, and gather some feedback as to whether other developers have encountered these kind of errors, and the way seasoned developers make sure they don't push breaking changes. Cheers, Edouard.