Hello Stefan, Thanks for the patch. Sorry it's taken so long for someone to take a look at this! This utility certainly looks interesting. I'm not a committer, but I tested out this patch. It doesn't apply on master anymore, so I manually applied it and was able to build it. However, it looks like it expects a number of utilities to be in specific places, such as /usr/bin/install (which caused rinstall to just... do nothing). It could also be problematic if it's attempting to invoke such absolute paths on a remote machine. I'm not sure exactly how rset works, though. I was able to enable and pass tests with the modifications in the patch attached below. I don't know rset itself though, so I don't know if there might be other hardcoded things that need to be substituted. I also bumped it to 2.2 and made a few minor tweaks to the description. I noticed you didn't add a copyright line, but I wasn't sure whether the omission was intentional, so I didn't add one for you. Go ahead and send an updated patch to this bug number (48369@debbugs.gnu.org) if you'd like to add one, or make any other changes :) The following is after the modifications I've made: * Package review checklist (WIP - comments welcome!) A check indicates that I've verified the item. 1. [X] Package builds (guix build package) [X] x86_64 [ ] aarch64 [ ] armhf [ ] powerpc64le [ ] i686 [ ] i586 [ ] mips64le 2. [X] Build is reproducible (guix build --rounds=n package) 3. [X] Tests enabled (if available) or disabled with in-source comment 4. [X] No extraneous dependencies (guix size package) 5. [X] No unnecessary pre-built binaries/blobs 6. [X] Dependencies unvendored when available in Guix 7. [X] Cross-compile friendly (cc-for-target, patches with inputs) 8. [X] License matches source 9. [X] No problematic lints (guix lint package) 10. [X] Formatting follows guidelines - [X] Lines wrap at 80 characters - [X] Indentation passes etc/indent-code.el - [X] Two spaces used between sentences New packages: 11. [X] Source url is robust * mirror:// used with url-fetch when possible * No auto-generated archives from source repo (prefer cloning) 12. [X] Synopsis is short, descriptive, and meaningful to a wide audience 13. [X] Description is objective, takes 5-10 lines, uses full sentences, and provides the information users need to decide whether the software fits their needs. Stefan Reichör writes: > * gnu/packages/admin.scm (rset): New variable. > --- > gnu/packages/admin.scm | 35 +++++++++++++++++++++++++++++++++++ > 1 file changed, 35 insertions(+) > > diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm > index fdcbf28a6a..c17609c442 100644 > --- a/gnu/packages/admin.scm > +++ b/gnu/packages/admin.scm > @@ -3371,6 +3371,41 @@ Intel DRM Driver.") > (supported-systems '("i686-linux" "x86_64-linux")) > (license license:expat))) > > +(define-public rset > + (package > + (name "rset") > + (version "2.1") > + (source > + (origin > + (method git-fetch) > + (uri (git-reference > + (url "https://github.com/eradman/rset/") > + (commit version))) > + (file-name (git-file-name name version)) > + (sha256 > + (base32 "150my3lvql3m6jn1c12x81jx990nqh5g02v6r9a5j51ds39shr39")))) > + (build-system gnu-build-system) > + (arguments > + `(#:phases > + (modify-phases %standard-phases > + (replace 'configure > + (lambda* (#:key outputs #:allow-other-keys) > + (invoke "./configure")))) > + #:make-flags > + (list (string-append "PREFIX=" (assoc-ref %outputs "out")) > + ,(string-append "CC=" (cc-for-target))) > + #:tests? #f)) ; TODO: test target requires ruby, curl, uname > + (home-page "http://scriptedconfiguration.org") > + (synopsis "Configure systems using any scripting language") > + (description > + "rset(1) operates by staging files on a remote system, then executing > +instructions embedded in the pln(5) files. Any interpreter capable of running > +scripts read over a pipe may be specified. The bundled utilities rinstall(1) > +and rsub(1) provide an easy means of installing and modifying configuration > +files, and capabilities are added by writing utility scripts which are sent > +along with configuration data.") > + (license license:isc))) > + > (define-public fabric > (package > (name "fabric")