unofficial mirror of help-guix@gnu.org 
 help / color / mirror / Atom feed
From: Leo Prikler <leo.prikler@student.tugraz.at>
To: raghavgururajan@disroot.org
Cc: help-guix@gnu.org
Subject: Help with Packaging and Git
Date: Sat, 21 Dec 2019 13:34:27 +0100	[thread overview]
Message-ID: <98aebf50123d6c09aba91f36aaa3db6cb7f1e50d.camel@student.tugraz.at> (raw)
In-Reply-To: 2d7026c9cbcf242ead5b29aed1c74ffd4e05ec82.camel@disroot.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
<whatever>.disroot.org`
  `git config sendemail.smtpencrpytion <disroot
encryption>`
  `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.

             reply	other threads:[~2019-12-21 12:34 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-12-21 12:34 Leo Prikler [this message]
2019-12-21 15:16 ` Help with Packaging and Git John Soo
  -- strict thread matches above, loose matches on Subject: below --
2019-12-21 10:01 Raghav Gururajan

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=98aebf50123d6c09aba91f36aaa3db6cb7f1e50d.camel@student.tugraz.at \
    --to=leo.prikler@student.tugraz.at \
    --cc=help-guix@gnu.org \
    --cc=raghavgururajan@disroot.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).