<ulfvonbelow>today I learned that keyword arguments that fall back to their default value aren't included in a #:rest list. This means, for example, that in the 'lower' procedure of (guix build-system qt), if #:qtbase isn't explicitly specified, and is instead bound to (default-qtbase), it doesn't get passed on to the bag, and so doesn't get passed on to qt-build, and doesn't get passed to the qt-wrap phase.
<ulfvonbelow>this is a long-winded way of reporting that kguiaddons is broken atm, and that's why
<Kabouik_>Thanks efraim_. I don't change my keys often but when I add a new devices, sometimes I'm reasonable and use a new pair instead of duplicating the first one (which I know is bad practice), so I can't know in advance which keys to authorize in my config. I usually just use ~/.ssh/authorized_keys but populating it with ssh-copy-id requires ssh access in the first place, so usually I just re-enable password authentication just for
<Kabouik_>Password authentication is currently disabled in my system.scm so I assume changes there would need reconfiguring to enable it, and then reconfiguring to disable it again, which seems suboptimal. You said I can track down the service with just that change, how could I do that?
<Kabouik_>On a similar matter, I tried to open my ssh port to WAN with iptables but that doesn't seem to work, I assume it's not how it's done on Guix?
<Kabouik_>For the temporary sshd change, I tried "/run/current-system/profile/sbin/sshd -o "PasswordAuthentication no"" but it complained thatthere is no /etc/ssh/sshd_config, which I think might be specific to Guix.
<Kabouik_>I ended up sharing my public key in another way and pasting myself into the Guix server's ~/.ssh/authorized_keys, but still curious if there would be better ways to change the sshd config without reconfiguring the system
<rekado>Kabouik_: you can pass a config file with -f. It doesn’t have to be at /etc.
<Kabouik_>My problem is I don't really know where the config is in Guix since my only custom ssh settings are in system.scm
<Kabouik_>If I can find the config, I guess I can edit it temporarily, then herd restart sshd
<iyzsong>you can't edit it, it's in /gnu/store and readonly, ls /gnu/store/*sshd_config should find it though.
<Kabouik_>I'm afraid I won't be able to solve that sshd despite your help iyzsong and rekado, even when I supply my `sshd -o "PasswordAuthentication yes" with -f /gnu/store/pathtoany_sshd_config, it complains about hostkeys, even after ssh-keygen and herd restart sshd. Not a big deal, I should change my ssh config too often, and I guess I'll just go through altering the service in my system.scm and reconfiguring when I have to. And for
<Kabouik_>new key pairs, I'll just share pub keys manually instead of using ssh-copy-id.
<Kabouik_>What's more critical is ssh not being reachable from WAN, which I suspect is because my port (in the 3000s) is not opened. I opened it with iptables, but this had no effect, so perhaps this is something that could only be done from Guix config too
<Kabouik_>This might be a trivial issue and maybe also a corner case, but since reconfiguration literally takes hours, it can be a significant annoyance when one does need just temporary ssh changes (or trials and errors)
<rekado>that’s how I did it on build nodes, for example
<Kabouik_>Ok rekado, I'll have to try again, not sure why it was this long the last times but maybe there was something I did not notice. I'll time it better next time I'll do it. And good to know it's supposed to be quicker, that means I can actually reconfigure more easily for small changes like my sshd custom settings.
<Kabouik_>Or opening my ssh port to WAN, which I think is better done from system.scm too
<ngraves>Hi ! I was wondering if there is a counselled way to deal with one's patches and contributions. I often end up with several patches in my local guix repo and have to think about how I should order them (also sometimes some future contributions depend on not yet accepted ones etc).
<ngraves>I stumbled upon stacked-git and think it might be quite good for doing this task, but someone probably already has a better solution.
<ngraves>There's the solution of having several forks for each patch series and rebasing (for now I only had a stack of patches waiting, it would already be an improvement).
<civodul>(that's also because PID 1 sends us periodic reminders that it needs love)
<philip>Bikeshedding question: Racket currently uses these symbols to identify a system type "refined to a specific operating system … instead of a generic … classification": '(darwin macosx windows linux freebsd openbsd solaris qnx) Should the Hurd's symbol be 'gnu, 'hurd, 'gnu-hurd, or … ?
<civodul>but then again, GNU/Linux should be 'gnu as well if the goal is to know what libc we have
<civodul>these classifications are always inaccurate because it's not clear if you want to know about kernel features, libc interfaces, or something else
<muradm>is there something like map-with-index in guile?
<philip>Yes—mostly, these are an attempt to give a bit mor information than just 'unix. For the Chez machine type I'm proposing 'ti3gnu, where linux (GNU/ and otherwise) is be 'ti3le, and Illumos/OpenIndianna is 'ti3s2, reflecting branding Sun *stopped* using for their kernel c. 1998. The Racket symbols aim to be a bit less cryptic, though.
<Maya[m]1>i was just looking at php and it looks like i need to write a packagist importer lol
<phf-1>Hello! I've a problem entering accents. While using `emacs -Q` I usually input the dead key `^' then `e' which gives me `ê' but, for some reason, on a new install of Debian11 nothing happens. I have: https://0x0.st/oeul.png then nothing.
<unmatched-paren>You can't even catch lawyer mice with mousetraps; you have to devise truly devious legal loopholes to catch them.
<acrow>antipode: As an engineer I focus on what is wrong -- hence my comments; but, in truth there is some good in this thing that helps create the machine-readable debian copyright notice from one of our source trees.
<antipode>Which comments, what part of Debian, etc.?
<antipode>I am unaware of context here beyond your "vagrantc: I hope ..."
<acrow>antipode: vagrantc builds the debian guix package. It requires a painful copyright file I've been working on a guile script to help automate that process.
<vagrantc>acrow: a little nervous about "2. Convert organizational names like Free Software Foundation, Inc to a normalized form." ... there is some potential to misattribute there
<vagrantc>acrow: better to have potential duplicates than misattribute
<acrow>vagrantc: group/organizations could/should follow the same rules as everybody else. At least in my perfect world or one that honors machine readable materials like source code.
<vagrantc>acrow: but when defining "who is a copyright holder" it is much safer to specify it exactly and not normalize it
<vagrantc>acrow: you're just making a reasonable guess that two entities are actually the same
<acrow>vagrantc: In this case I just forced the 'Free Software Foundation' copyright claim to have a faux email address, like everyone else. Otherwise they don't get handled. It's kinda like not managing the Type I errors so you don't have to worry about the Type II errors. (statistical reference in intended there)
<acrow>or better, ask that the source be modified to reflect that.
<vagrantc>acrow: there is no email address provided, don't make one up
<vagrantc>acrow: this will sabotage the utility of what you're writing ... you're writing a program for how things should be, not how they are :)
<vagrantc>acrow: you could generate a hash of the entity name instead of requiring it be an email address
<vagrantc>singpolyma: anonymous copyright holder? is it plausible to license something if you don't know who licensed it?
<vagrantc>acrow: and then use that hash for all of the entities instead of an email address ...
<acrow>vagrantc: I tried using names for the keys and other difficulties arrived. I will certainly remove this if it is sabotage (harsh) but this was how I was dealing with failed attributions. Otherwise these things get missed and nobody notices.
<acrow>s/arrived/arose/ don't know how that happened....
<acrow>vagrantc: I have some notional rules that I'm trying to apply. First it has to be easier than doing it by hand. Second, maximize giving credit (or minimize omissions). Third, avoid special case file filters (this one is very problematic for the patches).
<vagrantc>acrow: all sound good, though in the world of documenting copyright/license issues, the third is going to be hard to pull off realistically ...
<acrow>vagrantc: recall that many copyright holders identify multiple email addresses and we want to presume they are all different people to avoid misattributions.
<vagrantc>acrow: i mean, guix is what i would call an overall shining example, and even it has some rough territory, as you're well aware :)
<vagrantc>acrow: so hash the whole copyright line, not treating email addresses as special
<vagrantc>or don't hash it at all, just use the line itself as a key
<acrow>vagrantc: ok, I'm thinking about that. That might work.
<vagrantc>the years are "special" in that they would be nice to consolidate ... i might normalize on whitespace ... e.g. "foo bar" i might feel ok with normalizing to "foo bar" ... though maybe there are names where whitespace is significant? :)
<acrow>vagrantc: The problem I forsee is that these notices pop up everywhere and are prefixed with all the possible and some impossible comment prefixes.
<vagrantc>acrow: if it requires some manual fiddling after running it, but mostly gets it right, that would be fine by me
<vagrantc>acrow: e.g. a list of "needs manual review" files that is reasonable is fine
<acrow>vagrantc: ok, 'needs manual review' is a proxy for the current 'any licensing but it could also be the case for files that have no copyright holders. I'm comfortable with our ability to manage these things. The bigger technical issues are: 1. compression using globbing and 2. (way further out but possibly related to #1) generalization to other than the guix source tree.
<vagrantc>acrow: yeah, the globbing is the tricky part ... the good news is the vast majority of guix is GPL3+ i think
<vagrantc>acrow: so you pretty much only need to document the exceptions, and add all the copyright holders to that initial Files: *
<vagrantc>acrow: obviously wouldn't generalize to other projects ... but you could skip the globs entirely and just group by license
<acrow>vagrantc: Ok, that seems practical. I was going to suggest just listing all the files bc it is supposed to be machine readable anyway and globbing results in some data loss.
<vagrantc>acrow: technically globbing doesn't result in data loss if you do it correctly :)
<vagrantc>acrow: and again, just like you're writing this as a tool to make generating this file easier, the file you're generating is just a tool to make knowing what licensing a project is affected by easier :)
<acrow>vagrantc: What about the knowledge that Frank is copyright holder on file/glob/a but not on file/glob/b. Boxing all the copyright holders together increases entropy.
<vagrantc>acrow: i see what you mean ... though i think the debian/copyright file is a tool and you're trying to solve a different problem
<vagrantc>acrow: it is just suppose to give you a list of relevent licenses and copyright holders
<vagrantc>acrow: at the end of the day, the files themselves are the canonical source of accuracy
<vagrantc>acrow: basically, it is a summary ... you don't write a summary by copying the whole thing :)
<vagrantc>acrow: and, this file is shipped in each binary package uncompressed ... so some amount of space-savings is desireable
<vagrantc>but, like all things, it is a balancing act
<acrow>vagrantc: perhaps. This leads to project specialization. eg... (and I tried this) if you decide that your project (guix) is licensed gpl-3.0+ then pull all the files/copyrights that fall under that license together you are likely to get a reasonable shorting of the copyright summary and still meet the debial criteria. But, what do we gain? The length of the file doesn't change that much and if someone really wants to compress it --
<acrow>there are many straightforward, better ways to do it. So, I think we should just list every darn file with all the imperfections exposed.
***Dynom_ is now known as Guest72
<acrow>vagrantc: agreed. I think we are getting a pretty detailed summarization at this point.
<vagrantc>acrow: just the list of files alone is ~96k ... having at least one or more copyright holders per file will more than double that, plus the License: header ... vs. if you consolidate the vast majority into a "Files: *" with one consolidated copyright line for each identified copyright holder ... you can probably keep it down significantly
<vagrantc>acrow: the current debian/copyright is ~32k using file globbing for most of it
<vagrantc>acrow: so at a minimum, and surely more, that's well over 288k vs ~32k
<vagrantc>weather debian's requirements for debian/copyright files are reasonable is pretty much neither here nor there ...
<vagrantc>acrow: another example, a much larger project, linux, has a debian/copyright of 16k ... and numerous packages ... if they listed every single file individually ...
<acrow>vagrantc: ack. Given only the glob techniques to achieve this compression I think each project
<acrow>is going to need to be handled idiosyncratically. I'm thinking about a simple description notation to allow that to be done.
<acrow>vagrantc: but, at this moment, I'm going to choose to implement the simplest thing: a glob by primpary license type. Let's see how much we get from that..
<acrow>vagrantc: I know, you would think that we could easily glob all the GPL-3.0+ files in gnu/packages togther but there are problems like patches and syntax errors (like identified above) that break that model. So, I'm doing what is currently possible.
<apteryx>tigervnc is pretty cool; fast and dynamic resize of windows is working, as well as copy-pasting
<muradm>rekado: i'm trying to parse guix-devel mbox with (email email) and i face "In procedure open_iconv_descriptors: invalid or unknown character encoding Y"
<podiki[m]>apteryx: ever get a chance to try out the FHS container? I've been using it as needed in my day to day, though I'm guessing some experts will have some thoughts on improving it (the start script is a bit hacky?)
<apteryx>podiki[m]: hey! had you sent updated patches? I haven't tried it yet. I had some idea recently; tor-browser
<apteryx>since upstream don't want downstream users to package it, it seems a good use case
<podiki[m]>(maybe got unnoticed in the server outages recently)
<podiki[m]>I did do a quick v2 to correct a manual text formatting issue
<podiki[m]>apteryx: and a tip I found was do use -D ungoogled-chromium to get basically all the deps anyone wants for lots of things; I also put in the command I use to share/expose from the host what I've needed
<jackhill>say, my default `guix pull` profile uses a custom channels.scm. Is there a convienient way, perhaps with time-machine, to run guix commands using just the default channels withour writing a separate channels.scm file, or moving the one that's in the default location? I would like, for provanance/reproducability reasons to document the sofware I used, and don't need my custom cruft to be included.
<drakonis>ah, are you trying to pin an environment?
<drakonis>or have it load a specific channel list?
<jackhill>drakonis: a specific channel list. I'm actually creating packs to run on non-guix systems
<GNUtoo>Ah I didn't see the never (I read too fast)
<GNUtoo>ok, I'll try to workaround and then try to sudo guix system reconfigure again
*GNUtoo wants to test how phoronix-test-suite works without risking to run nonfree software
<GNUtoo>We have a different patch in Parabola so we need to sync to make sure that users don't end up in a situation where they install nonfree software because 2 distros had different ways of fixing it (like I run Guix on top of Parabola and it lists nonfree stuff)
<GNUtoo>So I'm trying to install a recent guix on a separate computer for that
<GNUtoo>(to make sure the patch works fine on 100% guix and pinpoint the issue without having nonfree software run on computers that I use for real)