unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* Re: 01/01: gnu: Add snapper.
       [not found] ` <20190126165251.DD0A4209C1@vcs0.savannah.gnu.org>
@ 2019-01-26 18:25   ` Ricardo Wurmus
  2019-01-26 18:32     ` Pierre Neidhardt
  0 siblings, 1 reply; 3+ messages in thread
From: Ricardo Wurmus @ 2019-01-26 18:25 UTC (permalink / raw)
  To: Pierre Neidhardt; +Cc: guix-devel

Hi Pierre,

guix-commits@gnu.org writes:

> ambrevar pushed a commit to branch snapper
> in repository guix.

Does this really need to have its own branch?  I prefer to keep the
number of public branches on Savannah low.

> commit b8413e5a3dc67eb064baf1a52fc34302c0a070c1
> Author: Pierre Neidhardt <mail@ambrevar.xyz>
> Date:   Sat Jan 26 17:52:35 2019 +0100
>
>     gnu: Add snapper.
>     
>     * gnu/packages/linux.scm (snapper): New variable.

Here are some comments about this:

> +(define-public snapper
> +  (package
> +    (name "snapper")
> +    (version "0.8.2")
> +    (source (origin
> +              (method url-fetch)
> +              (uri (string-append "ftp://ftp.suse.com/pub/projects/snapper/snapper-"
> +                                  version
> +                                  ".tar.bz2"))
> +              (sha256
> +               (base32
> +                "0s73x5h0fdggcxxcmjlf1q7pqlwd1ac4pngwsm6ayg8n4gxk3acy"))))
> +    (build-system gnu-build-system)
> +    (arguments
> +     `( ;; TODO: 2 tests are failing:
> +       ;; unknown location(0): fatal error: in "test_byte_to_humanstring": std::runtime_error: locale::facet::_S_create_c_locale name not valid
> +       ;; unknown location(0): fatal error: in "test_big_numbers": std::runtime_error: locale::facet::_S_create_c_locale name not valid
> +       ;; unknown location(0): fatal error: in "test1": std::runtime_error: locale::facet::_S_create_c_locale name not valid
> +       #:tests? #f

Is it feasible to just disable the two (three?) failing tests instead of
disabling the tests completely?

> +       #:configure-flags (list
> +                          (string-append "CPPFLAGS="
> +                                         "-I"
> +                                         (assoc-ref %build-inputs "libxml2")
> +                                         "/include/libxml2")
> +                          "--disable-zypp")

It would be good to add a comment here to explain what zypp is and whi
it is disabled.

> +         (add-before 'build 'patch-makefiles
> +           (lambda* (#:key outputs #:allow-other-keys)
> +             (let ((out (assoc-ref outputs "out")))
> +               (substitute* "client/Makefile.am"
> +                 (("libexecdir = /usr/lib/snapper")
> +                  (string-append "libexecdir = " out
> +                                 "/lib/snapper")))
> +               ;; TODO: Why is $(DESTDIR) not doing the right thing for scripts?
> +               ;; Changing it in #:make-flags produces the wrong behaviour.
> +               (substitute* "scripts/Makefile.am"
> +                 (("\\$\\(DESTDIR\\)") out)
> +                 (("(pam_snapperdir = )/usr(/lib/pam_snapper)" _ before after)
> +                  (string-append before out after)))
> +               (substitute* "data/Makefile.am"
> +                 (("\\$\\(DESTDIR\\)") out))
> +               (substitute* "pam/Makefile.am"
> +                 (("(securelibdir = )\\$\\(shell echo /`basename \\$\\(libdir\\)`/security\\)" _ before)
> +                  (string-append before out "/lib/security"))))
> +             #t))

Patching “Makefile.am” means that we’ll have to bootstrap the build
system again, which pulls in autoconf and automake.  Can Makefile.in be
patched instead?

> +         (add-after 'install 'clean-up-systemd-services
> +           (lambda* (#:key outputs #:allow-other-keys)
> +             ;; TODO: Maybe we should not remove everything, we need dbus.
> +             (delete-file-recursively
> +              (string-append (assoc-ref outputs "out") "/usr"))
> +             #t)))))

I don’t understand the TODO comment here.  Why is “/usr” being generated
in the first place?

> +    (description " Snapper is a tool for Linux filesystem snapshot
> +management.  Apart from the obvious creation and deletion of snapshots, it can

There’s an extra space at the beginning of the description string.

-- 
Ricardo

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: 01/01: gnu: Add snapper.
  2019-01-26 18:25   ` 01/01: gnu: Add snapper Ricardo Wurmus
@ 2019-01-26 18:32     ` Pierre Neidhardt
  2019-01-26 19:18       ` Ricardo Wurmus
  0 siblings, 1 reply; 3+ messages in thread
From: Pierre Neidhardt @ 2019-01-26 18:32 UTC (permalink / raw)
  To: Ricardo Wurmus; +Cc: guix-devel

[-- Attachment #1: Type: text/plain, Size: 1013 bytes --]


> Does this really need to have its own branch?  I prefer to keep the
> number of public branches on Savannah low.

I can remove it any time.  Is it really problematic?

> Is it feasible to just disable the two (three?) failing tests instead of
> disabling the tests completely?

I had a quick look at it but did not find anything obvious.  I could try again.

> Patching “Makefile.am” means that we’ll have to bootstrap the build
> system again, which pulls in autoconf and automake.  Can Makefile.in be
> patched instead?

Interesting, I'll try it!

> I don’t understand the TODO comment here.  Why is “/usr” being generated
> in the first place?

Yup, that was mostly a comment for myself that was left behind.
Basically /usr is generated for systemd services which we don't need I believe.
But it also contain some other "service" files, not sure what they are but they
could be required by d-bus.

Thanks for the review!

-- 
Pierre Neidhardt
https://ambrevar.xyz/

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: 01/01: gnu: Add snapper.
  2019-01-26 18:32     ` Pierre Neidhardt
@ 2019-01-26 19:18       ` Ricardo Wurmus
  0 siblings, 0 replies; 3+ messages in thread
From: Ricardo Wurmus @ 2019-01-26 19:18 UTC (permalink / raw)
  To: Pierre Neidhardt; +Cc: guix-devel


Pierre Neidhardt <mail@ambrevar.xyz> writes:

>> Does this really need to have its own branch?  I prefer to keep the
>> number of public branches on Savannah low.
>
> I can remove it any time.  Is it really problematic?

I wouldn’t say “problematic”, but I think it’s nicer to only have public
branches for very large patch sets.

>> I don’t understand the TODO comment here.  Why is “/usr” being generated
>> in the first place?
>
> Yup, that was mostly a comment for myself that was left behind.
> Basically /usr is generated for systemd services which we don't need I believe.
> But it also contain some other "service" files, not sure what they are but they
> could be required by d-bus.

I guess it would be better to ensure that they are installed elsewhere.
It’s fine to install systemd service files, because people may want to
use the package on other distributions.

--
Ricardo

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2019-01-26 19:33 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <20190126165251.9392.94018@vcs0.savannah.gnu.org>
     [not found] ` <20190126165251.DD0A4209C1@vcs0.savannah.gnu.org>
2019-01-26 18:25   ` 01/01: gnu: Add snapper Ricardo Wurmus
2019-01-26 18:32     ` Pierre Neidhardt
2019-01-26 19:18       ` Ricardo Wurmus

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

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).