all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* udevil and setuid
@ 2018-12-24 11:58 Gabriel Hondet
  2018-12-24 14:20 ` Pierre Neidhardt
  0 siblings, 1 reply; 2+ messages in thread
From: Gabriel Hondet @ 2018-12-24 11:58 UTC (permalink / raw)
  To: help-guix

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

Hello,

I'm currently trying to package udevil
(https://ignorantguru.github.io/udevil/) for guix.  The executable needs
to have the suid.  Therefore I added a phase in the standard phases
which adds this suid (after install).  However, after building, the
resulting package in the store (at
/gnu/store/whatever-udevil-0.4.4/bin/udevil) does not have the suid
properly set.  Here is the full package specification:

#+begin_src scheme
(define-public udevil
  (package
    (name "udevil")
    (home-page "https://ignorantguru.github.io/udevil/")
    (version "0.4.4")
    (source
     (origin
       (method git-fetch)
       (uri (git-reference
             (url "https://github.com/ignorantguru/udevil")
             (commit version)))
       (file-name (git-file-name name version))
       (sha256
        (base32
         "0x9mjr9abvbxzfa9mrip5264iz1qxvsl01k3ybz95q4a7xl4jcb3"))
       (modules '((guix build utils)))
       (snippet
        '(begin
           (substitute* "src/Makefile.am" (("-o root -g root") ""))
           (substitute* "src/Makefile.in" (("-o root -g root") ""))))))
    (build-system gnu-build-system)
    (inputs
     `(("glib" ,glib)
       ("eudev" ,eudev)))
    (native-inputs
     `(("pkg-config" ,pkg-config)
       ("intltool" ,intltool)))
    (arguments
     `(#:configure-flags (list
                          (string-append "--sysconfdir="
                                         (assoc-ref %outputs "out") "/etc"))
       #:phases
       (modify-phases %standard-phases
         (add-after 'install 'set-suid
           (lambda _
             (let* ((out (assoc-ref %outputs "out"))
                    (outbin (string-append out "/bin/udevil")))
               (chmod outbin #o4555)
               #t))))))
    (synopsis "Mount without password")
    (description "udevil is a command line Linux program which mounts and
unmounts removable devices without a password, shows device info, and monitors
device changes.  It can also mount ISO files, nfs://, smb://, ftp://, ssh://
and WebDAV URLs, and tmpfs/ramfs filesystems.
@itemize @bullet
@item Intended as a hassle-free replacement for udisks
@item Highly configurable & security conscious
@item Requires no daemon running
@item To use it, just prefix a normal mount command with @code{udevil}
@item Can replace udisks in the SpaceFM file manager and the devmon
@end itemize
automounting daemon (devmon is included with udevil)")
    (license license:gpl3+)))
#+end_src

Thanks for your help

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

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

* Re: udevil and setuid
  2018-12-24 11:58 udevil and setuid Gabriel Hondet
@ 2018-12-24 14:20 ` Pierre Neidhardt
  0 siblings, 0 replies; 2+ messages in thread
From: Pierre Neidhardt @ 2018-12-24 14:20 UTC (permalink / raw)
  To: Gabriel Hondet; +Cc: help-guix

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

Udisks helpers have been discussed in the past:
https://lists.gnu.org/archive/html/help-guix/2018-03/msg00331.html

The above discussion might interest you :)

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

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

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

end of thread, other threads:[~2018-12-24 14:20 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-12-24 11:58 udevil and setuid Gabriel Hondet
2018-12-24 14:20 ` Pierre Neidhardt

Code repositories for project(s) associated with this external index

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

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.