From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ludovic =?UTF-8?Q?Court=C3=A8s?= Subject: bug#35640: Make USB modems just work on Guix Date: Fri, 24 May 2019 17:37:01 +0200 Message-ID: <87ef4nx3s2.fsf@gnu.org> References: <20190508182607.wcjfxkoqwcvzrdmt@pelzflorian.localdomain> <87v9yjd51k.fsf@gnu.org> <20190513205720.k2bruoaa5zpdslhu@pelzflorian.localdomain> <20190513210443.y2xs7fsvxwng3zjz@pelzflorian.localdomain> <20190514103555.1b2a6316@scratchpost.org> <20190514205648.nl4s4lwvc4t67gho@pelzflorian.localdomain> <87ef4zvpm7.fsf@gnu.org> <20190522162909.tds5wz7lj6npkgy4@pelzflorian.localdomain> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([209.51.188.92]:60626) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hUCGh-0003QJ-QF for bug-guix@gnu.org; Fri, 24 May 2019 11:38:05 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hUCGg-0005UN-GK for bug-guix@gnu.org; Fri, 24 May 2019 11:38:03 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:33531) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hUCGg-0005U6-Cm for bug-guix@gnu.org; Fri, 24 May 2019 11:38:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1hUCGg-00080q-6H for bug-guix@gnu.org; Fri, 24 May 2019 11:38:02 -0400 Sender: "Debbugs-submit" Resent-Message-ID: In-Reply-To: <20190522162909.tds5wz7lj6npkgy4@pelzflorian.localdomain> (pelzflorian@pelzflorian.de's message of "Wed, 22 May 2019 18:29:09 +0200") List-Id: Bug reports for GNU Guix List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guix-bounces+gcggb-bug-guix=m.gmane.org@gnu.org Sender: "bug-Guix" To: "pelzflorian (Florian Pelz)" Cc: 35640@debbugs.gnu.org Hello, "pelzflorian (Florian Pelz)" skribis: > Tring to put the packages in gnu/packages/libusb.scm and not in their > own file gnu/packages/usb-modeswitch.scm again resulted in > > [ 11%] LOAD guix/scripts/search.scm > [ 11%] LOAD guix/scripts/gc.scm > [ 11%] LOAD guix/scripts/hash.scm > [ 11%] LOAD guix/scripts/pack.scm > Backtrace: > In ice-9/boot-9.scm: > 222:29 19 (map1 (((guix utils)) ((guix store)) ((guix #) # (#)) =E2=80= =A6)) > 222:29 18 (map1 (((guix store)) ((guix status) #:select (#)) (#) =E2= =80=A6)) > 222:29 17 (map1 (((guix status) #:select (#)) ((guix grafts)) # =E2=80= =A6)) > 222:29 16 (map1 (((guix grafts)) ((guix monads)) ((guix #)) (#) =E2=80= =A6)) > 222:29 15 (map1 (((guix monads)) ((guix modules)) ((guix #)) (#) =E2= =80=A6)) > 222:29 14 (map1 (((guix modules)) ((guix packages)) ((guix #)) # =E2= =80=A6)) > 222:29 13 (map1 (((guix packages)) ((guix profiles)) ((guix #)) =E2=80= =A6)) > 222:29 12 (map1 (((guix profiles)) ((guix describe)) ((guix #)) =E2=80= =A6)) > 222:29 11 (map1 (((guix describe)) ((guix derivations)) ((# #)) =E2=80= =A6)) > 222:29 10 (map1 (((guix derivations)) ((guix search-paths)) (#) =E2=80= =A6)) > 222:29 9 (map1 (((guix search-paths)) ((guix build-system #)) # =E2= =80=A6)) > 222:29 8 (map1 (((guix build-system gnu)) ((guix scripts #)) # =E2=80= =A6)) > 222:29 7 (map1 (((guix scripts build)) ((guix self) #:select =E2=80= =A6) =E2=80=A6)) > 222:29 6 (map1 (((guix self) #:select (make-config.scm)) ((=E2=80=A6)= ) =E2=80=A6)) > 222:29 5 (map1 (((gnu packages)) ((gnu packages bootstrap)) (=E2=80= =A6) =E2=80=A6)) > 222:29 4 (map1 (((gnu packages bootstrap)) ((gnu packages =E2=80=A6) = =E2=80=A6) =E2=80=A6)) > 222:17 3 (map1 (((gnu packages compression) #:hide (zip)) ((=E2=80=A6= )) =E2=80=A6)) > 2830:10 2 (resolve-interface (gnu packages compression) #:select _ =E2= =80=A6) > 260:13 1 (for-each # =E2=80=A6) > In unknown file: > 0 (scm-error misc-error #f "~A" ("no binding `zip' to h=E2=80= =A6") =E2=80=A6) > > ERROR: In procedure scm-error: > no binding `zip' to hide in module (gnu packages compression) You cannot use #:hide on (gnu packages =E2=80=A6) modules, for unfortunate = and obscure reasons. The trick would be to hide the other =E2=80=98zip=E2=80= =99 binding, the one from (srfi srfi-1). > As for the packaging, I hope it is correct to still refer to %outputs > in the trivial-build-system for usb-modeswitch-data. Yes. > Should I also make the usb-modeswitch-data package install the license > file of usb-modeswitch-data? > > Or should I use gnu-build-system instead of trivial-build-system? > trivial works now though. In general we should install license files. If =E2=80=98trivial=E2=80=99 w= orks for you, that=E2=80=99s OK; an additional line to install the license would be welco= me, but not blocking. > The file dispatcher.c of usb-modeswitch is licensed bsd-2 and not > gpl2+. Should I list both licenses or just gpl2+? I think it=E2=80=99s enough to mark it as =E2=80=98gpl2+=E2=80=99 because, = IIUC, the combination of all this is GPLv2+. If you think that needs clarification, you can just add a comment about the =E2=80=98license=E2=80=99 field. > I have checked the license of the files of usb-modeswitch-data and > usb-modeswitch by going through each of them with the `less` program > and reading its header while assuming that no license header means the > file has the license described in the README file, by diff=E2=80=99ing the > license files with a license downloaded from gnu.org, and that nothing > looked like a program blob (there only are very small hex strings for > the messages USB_ModeSwitch sends like > > MessageContent=3D"5553424312345678240000008000061200002400000000000000000= 0000000" > > that seem harmless). Is this the usual procedure? Yes. I often just scan a few source file headers, not necessarily all of them, but of course doing an exhaustive search is even better! > Currently I also install the UDEV rule shipped with > usb-modeswitch-data; I hope this is correct. Yep. > Currently I install the usb_modeswitch_dispatcher that is needed by > the udev rule in a separate output called =E2=80=9Cdispatcher=E2=80=9D. = I am unsure > if this usb_modeswitch_dispatcher would need the usb_modeswitch > program from the =E2=80=9Cout=E2=80=9D output. Is it OK when one output = only works > when the =E2=80=9Cout=E2=80=9D output is installed too? I=E2=80=99d say no. :-) In general, we want =E2=80=9Cguix install foo:bar= =E2=80=9D to provide something that Just Works. > What is still missing is adding a service type for usb-modeswitch that > extends the udev service type by the rules file and that calls the > usb-modeswitch dispatcher once every reboot. I can try making one, > but I am not sure if this is the right approach. I am also unsure if > this service should be part of %desktop-services; many modems need it > though and modem-manager-service-type. We=E2=80=99ll see that later. :-) Let me know if you want to send an updated patch if you we should proceed with the one you sent. Thanks! Ludo=E2=80=99.