help-guix
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Help with Packaging and Git


From: Leo Prikler
Subject: Help with Packaging and Git
Date: Sat, 21 Dec 2019 13:34:27 +0100
User-agent: Evolution 3.32.4

> 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 address@hidden`
   [...]*
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=address@hidden [--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 via email to

[Prev in Thread] Current Thread [Next in Thread]