From mboxrd@z Thu Jan 1 00:00:00 1970 From: Leo Prikler Subject: Help with Packaging and Git Date: Sat, 21 Dec 2019 13:34:27 +0100 Message-ID: <98aebf50123d6c09aba91f36aaa3db6cb7f1e50d.camel@student.tugraz.at> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit Return-path: Received: from eggs.gnu.org ([2001:470:142:3::10]:43073) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iidy2-0004XE-Jo for help-guix@gnu.org; Sat, 21 Dec 2019 07:34:48 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iidy0-000475-OJ for help-guix@gnu.org; Sat, 21 Dec 2019 07:34:45 -0500 Received: from mailrelay.tugraz.at ([129.27.2.202]:59122) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1iidy0-0003YD-58 for help-guix@gnu.org; Sat, 21 Dec 2019 07:34:44 -0500 In-Reply-To: 2d7026c9cbcf242ead5b29aed1c74ffd4e05ec82.camel@disroot.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-guix-bounces+gcggh-help-guix=m.gmane.org@gnu.org Sender: "Help-Guix" To: raghavgururajan@disroot.org Cc: help-guix@gnu.org > Clone Guix Repo --> Create custom branch --> Insert my Package Defs > to > gnome.scm --> Perform build and lint --> apply/commit changes --> > generate patch to send to guix. The workflow I'd suggest is: 1. `git clone https://git.savannah.gnu.org/git/guix.git` `git checkout -B custom-branch` `git config user.name Raghav Gururajan` `git config user.email raghavgururajan@disroot.org` [...]* 2. `guix environment --pure guix -- ./bootstrap && ./configure && make` 3. For each pkg you're interested in: while pkg does not build[1] or has critical lint errors[2]: `$EDITOR gnu/packages/gnome.scm` [`guix environment --pure guix -- make`] `git commit gnu/packages/gnome.scm` 3a. While guix build pkgs or guix lint pkgs fails[3]: `$EDITOR gnu/packages/gnome.scm` [`guix environment --pure guix -- make`] For each pkg in pkgs: `git commit gnu/packages/gnome.scm --patch` select hunks corresponding to $pkg 4. `git send-email origin/master --to=guix-patches@gnu.org [--compose]` 4a. `git format-patch origin/master` Compose message in whichever MUA you're using. * other helpful git config items: `git config sendemail.smtpserver .disroot.org` `git config sendemail.smtpencrpytion ` `git config sendemail.smtpuser raghavgururajan` `git config sendemail.confirm always` (YMMV) 3a and 4a are alternatives to 3 and 4 respectively. Hope this helps you. [Brackets] denote optional steps, although --compose is recommended if you're sending multiple packages at once. Regards, Leo [1] ./pre-inst-env guix build $pkg [2] ./pre-inst-env guix lint $pkg -- errors related to SWH or versioning in case of GNOME may be ignored. If you want to skip them, you can do --checkers=description,inputs-should-be-native,inputs- should-not-be-input,license,mirror-url,source-file-name,source- unstable-tarball,derivation,patch-file-names,formatting,synopsis,gnu- description,home-page,source,github-url,cve [3] expand pkgs into pkg1 pkg2 ... pkgN, where pkgI, 1 <= I <= N, is a package you've changed in the last iteration. Alternatively always build and lint all packages (slower). At least build and lint all packages together once at the end if you're going this route.