libera/#devuan/ Friday, 2023-09-08

systemdletelike I said, this is mainly so that I can test my installation process without having to ding the devuan mirrors repeatedly.00:02
gnarfaceyea, it's great for that00:02
systemdletethat was my original aim.  But now I see that my local VMs and hosts could use this also...00:03
systemdleteand they are!00:03
micdudanyone have issues installing task-desktop or task-xfce-desktop with aptitude in daedalus ? used to be able to just select and install00:13
micdudnow for some reason i get too many dependency issues00:14
gnarfacemicdud: are you missing daedalus-security or daedalus-updates from your sources.list perhaps?00:18
micdudnope, i just used to be able to do it in one shot , not it takes 2 or 3 to get full desktop installed00:19
gnarfaceoh, i can't say then what's up. i'm not using it. some people here are though, so stick around. someone might know.00:20
micdudi install very minimal for initial install or bootstrap, and then like to aptitude my way to desktop / deselecting all the anoying extras like avahis at2-spis etc...00:23
plasma41micdud: Run 'apt-get update' first? (or press 'u' in aptitude)00:23
micdudyes00:24
plasma41micdud: Can you run 'apt-get install -s task-xfce-desktop' and share the output via a pastebin?00:26
micdudhttps://pastebin.com/x5D3990y00:31
micdudbut apt or apt-get is not the problem , i do not want to install everything and then remove , leaving all the leftovers00:32
micdudi like to aptitude and deselect all the crud before it is installed00:32
systemdletegnarface, the retrieval portion of debootstrap is certainly faster.  MUCH faster.  142 debs in about 1 or 2 seconds00:32
gnarfacesystemdlete: hooraaay!00:33
systemdletebut the overall run time, last trial, took almost 50 minutes, which is a 25% increase.00:33
systemdleteI'm trying again00:34
gnarfacesystemdlete: where it really shines is if you're doing a bunch at once and you'd otherwise be constrained on upstream bandwidth00:34
systemdleteit is a godsend in any case.00:35
systemdleteBut I need to see why the overall process is taking longer now.00:35
systemdletemy debootstrap is downloading 142 packages00:35
micdud<plasma41> , got it , it was remove libsystemd0 and install liblogind0  manualy , before doing task-xfce-desktop , then everything seems to work like before00:38
micdudnot sure why it was tripping up aptitude, and had to be done in 2 steps00:40
plasma41micdud: It could be that aptitude is configured to not propose dependency resolutions that require removing packages. I'd have to investigate further to be sure.00:42
systemdleteis there a tool that can take a specified list of packages and display a complete dependency chart or listing?  For this, I would only need dependencies, not suggests or remcommends03:46
systemdleterecommends03:46
systemdleteapt depends can do some of this, but I'd like to be able to specify a list of packages I want to install, including pkgs I want to exclude (e.g., nano- avahi-daemon- etc)03:47
systemdleteI can write a script to do this, but I'm wondering if, after 30 years or so, someone already did this.03:47
gnarfacesystemdlete: dselect maybe?04:01
systemdleteis that graphical or command line?04:01
systemdletenvm I'll check it out04:01
gnarfacesystemdlete: ncurses04:02
systemdletetui then, ok04:02
systemdletecan I pass it a list of package names?04:03
plasma41systemdlete: debtree will generate a graph for a single package. You might be able to cobble together a script that merges multiple graphs.04:03
systemdleteI don't just want to see dependencies of one package04:03
systemdleteI think I'll just cobble something from scratch, completely.  Use apt-cache or apt04:04
systemdleteno point trying to fight ncurses with shell redirections, etc04:04
systemdlete(unless there is some option to get around that)04:04
gnarfacei dunno04:04
systemdletethat's ok, I appreciate your help04:05
gnarfacei am not sure it's actually ncurses, just looks like it04:05
systemdleteit is04:05
systemdleteI just tried it04:05
gnarfaceit used to be the default package manager, but it got demoted for being too complicated04:05
plasma41debtree produces graphs in GraphViz's 'dot' text format.04:05
plasma41TIL about gvpr(1), "a graph stream editor inspired by awk"04:09
systemdleteso a programming question.   Most of the libraries that get installed are shared objects, not static, right?04:39
systemdleteif so, a program would crash if a shared library was requested by a program that had not been installed.04:40
systemdletebut so long as any program did not ever request an object from that library, then the program would not crash.04:40
systemdlete(shouldn't)04:40
systemdleteif what I say is accurate (generally speaking), then why does a dependency of an xfce4 plugin have to have the shared libraries for it installed (unless some other program depended on it and was really going to use them)04:41
systemdleteI have specified that I do not want to install xfce4-sensors-plugin in a VM because... well I guess that doesn't make much sense to me, unless the VM is monitoring some hardware on the host04:42
systemdleteyet04:42
systemdleteapt wants to install libsensors and libsensors-config anyway.04:43
systemdleteMaybe I was sleeping during the shared libraries module of the 2 kernel internals classes I took years ago.04:43
systemdleteidk04:43
systemdleteor maybe I misunderstood the whole purpose of them (other than sharing resources in those earlier, limited ram and limited disk systems)04:46
systemdleteI thought the idea was to load shared object upon demand.04:46
systemdleteat least, I think that is how Amdahl UTS and SunOS and even AT&T Unix did it.  But I might be mistaken.04:47
masonsystemdlete: Try it. Pretty sure you can't run a program with a missing shared library.04:47
systemdletedid you read all of what I wrote?04:47
masonException would be dlopen() but there's nothing to do about that.04:47
masonsystemdlete: I started with "so a programming question."04:47
masonsystemdlete: Re-read my answer, as it might shed light on some behaviour you see.04:48
systemdletewhat is to re-read?  It was one sentence (unless my IRC client cut out on me)04:48
systemdlete<systemdlete> but so long as any program did not ever request an object from that library, then the program would not crash04:49
systemdletemason, as I said, I've been to Unix internals classes twice.  One was a two-week class and went deep into kernel details, such as how ldload (or equivalent) works.04:50
systemdletebut maybe you know something I don't.04:50
masonsystemdlete: Evidently.04:50
systemdleteshared objects do not HAVE to be linked at run time if they are not needed04:51
masonsystemdlete: Rather than theorizing, go try it please.04:51
systemdletethink about the hundreds of shared objects and the programs that call them04:51
masonOnce you've tried it, come back and we can talk about corner cases.04:51
systemdletemost programs do not call anywhere close to all the shared objects.04:51
systemdletetry what?04:51
masonTry running a binary with a missing shared library.04:52
systemdleteoh I know that the way things exist might be the case, but what I am saying is that it is a missed opportunity04:52
systemdletewhen you say "missing" what do you mean?04:52
systemdletethat's what I am getting at--they are not "missing" really if they are not really needed04:52
mason22:40 < systemdlete> if so, a program would crash if a shared library was requested by a program that had not been installed.04:52
masonTo which I'm saying, you can't do it. You can't run a program with a missing library.04:53
masonNow, if you want to be flexible about what you might need, I covered that too by noting dlopen(3)04:53
systemdleteso if a binary compiiled for, say, the libsensors library has externals in its binary04:53
masonsystemdlete: Try it please. Quicker and more enlightening.04:53
systemdletethen at run time, at some point, the routines in that shared library would be called by the program04:53
masonNo, it's checked before runtime.04:54
systemdletemason, honestly I don't think you see the point I am making.04:54
systemdletewhat is checked?04:54
masonAnyway, this isn't really a Devuan support question.04:54
systemdletewell, I was questioning the packaging, that's why I asked it here04:54
masonAnd I answered you.04:54
systemdletebut never mind, this is not helpful.04:54
masonAgreed.04:55
systemdleteno you did not bc you did not understand my question04:55
masonThat's unlikely.04:55
systemdletebut thank you anywqay for trying to elucidate04:55
systemdletewhy is it unlikely?04:55
systemdleteit is clear to me that you do not understand how Unix kernels (generally, maybe not linux, idk) arrange for shared objects to be loaded at run time04:56
systemdleteor I should say04:56
systemdletehow the linkage for he routines they call are linked in at run time04:56
systemdletebut maybe linux works differently than unix kernels, which would surprise me04:56
masonsystemdlete: And yet, you won't try poking the system to observe the behaviour you're questioning, where not only did I tell you how it works, but I took the time to actually run a test to verify I wasn't confused early in the conversation.04:57
systemdleteI am NOT questioning the behavior.  I see it.04:57
masonMy test reacted precisely as I expected, and then I described how it can be more flexible with dlopen()04:57
systemdletethe package tools (and maybe the way the libraries are linked) seem to require them, yes.04:57
systemdleteok thank you04:57
masonAre you talking about a tree-shaker? Go read about tree-shakers and why they aren't seen in the wild ever. If you're talking about something else, state it clearly and don't make insulting observations that highlight that you're not reading the answers you're being given.04:58
systemdleteI did not come here for a fight, but I see you did.04:58
systemdletebyeeeeee!04:58
masonI'm certainly not going to waste more of my time answering questions from you in future.04:58
masonAh, too alte.04:58
masonlate04:58
debdogprolly his time of the month04:59
masonEh, I engaged. My fault too.05:00
masonIf it turns out I actually did miss the question somehow, I'd love to know about it fwiw.05:00
debdogno, I am not a developer but I have come to the same conclusion. a prog won't run if it fails finding a lib at startup05:01
masonRight. For example: flac: error while loading shared libraries: libogg.so.0: cannot open shared object file: No such file or directory05:02
debdogat least that is my experience from compiling fgfs throughout the years05:02
masonHrm, if I were a bit sharper I'd have recommended exploring LD_PRELOAD as that might have been more enlightening still.05:03
debdogbut by now we should know he is very sensitive, maybe we could have that in mind in the future. but then, we're not all nativ speakers here and misunderstangs occur05:05
debdogIDK05:05
masonYeah, I was more prickly then was required.05:07
masonBeing told that I didn't understand something I'd just explained is a good test for me. :P05:07
golinuxAh mason . . .06:00
masonMm.06:01
masonNot yet perfect.06:01
golinuxWhat is all this fuss . . .06:01
golinuxClash of the titans maybe???  LOLOLOL!06:02
masonNo, just trying to answer a question, and having the answer ignored repeatedly.07:24
rrqyeah, few things trigger soul-searching as much as having the answer ignored repeatedly08:16
masonrrq: Indeed, it's a flag for "I'm missing something critical about this interaction."15:56
djphouch. :(16:04
masonMeanwhile, in the real world, things are about to get all the more exciting: https://salsa.debian.org/systemd-team/systemd/-/commit/a472248799d13d3f826653f61def2aef4765edd416:07
bb|hcbmason: sadly, yes16:10
djph... they removed the sysv initscript for udev?16:24
masondjph: It's part of their removing their sysvinit compat entirely.16:36
masonWhich is to say, win through violence rather than through technical superiority.16:37
djphyeh :/16:39
bb|hcbNot really violence, that relies on people's laziness to push them on the easier path16:45
masonbb|hcb: There is vocal opposition inside the project.16:57
gnarfacecan one of you guys can make sure that script gets put in the orphaned init scripts package asap?16:59
masongnarface: Already happening, per #debian-init.17:00
gnarfaceoh good. at this point i'm thinking it would be a safe bet to just go ahead and make the orphaned init script package actually just preemptively hold a copy of all of them17:00
djphwish I was better at this kind of stuff and could actually provide help to the project :/17:02
bb|hcbTo be more precise it is not going in orphan-sysvinit-scripts but initscripts instead17:08
masonRight, right, thanks for the correction.17:16
bb|hcbAnd usrmerge is starting to byte in unstable: /etc/grub.d/25_bli has #!/usr/bin/sh18:09
YKaeligHello18:24
YKaeligInsane ... :D18:24
YKaeligWell, nvidia-settings-470.199.02 done and packaged18:24
YKaeligNext ...18:24
gnarfaceis it working?18:25
YKaeligIt took me 6 hours to understand and regroup all the debian mess and get my debs18:26
YKaeligStill I don't know I have to package now nvidia-modprobe and nvidia-persistenced18:26
gnarfaceyou can omit nvidia-persistenced18:27
YKaeligBut now I have the model which I can apply to these sources18:27
gnarfaceit's optional and usually it's broken18:27
YKaeligok18:27
YKaeligDeconnected18:33
gnarfaceyou didn't miss anything18:35
YKaeligok. There are a lot of interesting debian tools but it's very difficult to understand how they work behind the scene. For example uupdate is interesting, but the software create a debian.upstream directory and I don't need it because I already have the debian directory. No idea how to disable this feature. So instead I'm creating the orig tarball18:40
YKaeligmanually18:40
YKaeligAfter that dpkg-buildpackage  can finish the work.18:41
YKaeligI have everything on my note, so it will be possible to reproduce the work for those how are interested18:41
YKaelighow/who18:41
YKaeligGood. nviidia-modprobe done. That was quick now :)19:03
YKaeligSoo. Time to send all of that in the repository and see how it looks19:04
gnarfacegood luck, i'm anxiously awaiting your results19:05
gnarfacenext you can help me fulfill my dream to bring 525.xxx to devuan beowulf :-D19:06
YKaeligWhat the difference between : mk-build-deps --install --remove AND apt-get build-dep ?19:31
YKaeligAnd which one should be used19:32
fsmithredI've only ever used apt-get build-dep19:32
gnarfacedunno, i alwyas "apt-get build-dep" but inevitably it's missing a couple things19:32
gnarface(usually bison/yacc)19:32
gnarface(among others)19:32
YKaeligok. Also I tried to understand the --remove option from the man page but I can't.19:33
bb|hcbmk-build-deps builds a package that depends on the stuff. then installs it. if --remove, then removes the package file19:35
bb|hcbapt build-dep will directly install the dep packages19:35
YKaeligSorry bb|hcb but still I do not understand. Do you mean that mk-build-deps is not installating the packages deps in my system but somewhere else ? How is that possible to install then remove. If it's removed it is not anymore installed ?19:38
YKaeligSo when is it removed ?19:38
gnarfaceYKaelig: i just scanned the man page for mk-build-deps. i understand the distinction now; it actually is for building packages then installing them in one step. "apt-get build-dep" just retrieves already-built packages from the repo.19:42
YKaeligI'm unable to find a documentation about how mk-build-deps works. Not a man page but a real documentation that explain the thing19:42
gnarfacei don't think you actually need it19:42
gnarfacefor mk-build-deps, "--remove" is talking about removing the local copy after it's installed19:43
gnarfacebut "apt-get build-dep" doesn't make a local copy before installing, so that step is irrelevant19:43
bb|hcbNot exactly, mk-build-deps will build one empty .deb package that depends on the packages in the dependency list of what you are trying to build19:44
bb|hcbIt will install it (that will pull the packages) and then remove it19:44
gnarfaceYKaelig: you familiar with "xz -k ..." ? it's like that if "-k" were the default19:44
YKaeliggnarface This is what I have understood, but that seems impossible that mk-build-deps is bulding the deps. It is too quick and he is askling me to install a lot of .deb packages when I tried the things on nvidia-driver19:46
YKaeligDo you mean building as building from source ?19:46
gnarfaceYKaelig: well maybe what it's building is just a meta-package like bb|hcb says.19:46
gnarfacethough from the man page i don't see that as a strict requirement, bb|hcb probably knows more about it than i19:47
YKaeligok19:47
gnarfaceanyway, i've never needed it, it's probably there just to make your life easier, and if it's not feel free to avoid it19:47
YKaeligI understand now.19:48
YKaeligthx bb|hcb didn't see your answer before19:48
bb|hcbIf you do a manual package build, just stick to 'apt build-dep' ;)19:50
YKaeligIf I don't want to pollute my system by these packages needed for the build is there any other method, like apk package manager can do but for debian/devuan ?19:50
bb|hcbI use sbuild19:50
bb|hcbThere are a few others19:51
bb|hcbhttps://wiki.debian.org/sbuild19:53
YKaeligthank , ye sI'm on it :)19:53
bb|hcbe.g. create unstable chroot: sbuild-createchroot --include=eatmydata,ccache,devuan-keyring unstable /srv/chroot/unstable-amd64-sbuild http://deb.devuan.org/merged --arch=amd64 --keyring /usr/share/keyrings/devuan-archive-keyring.gpg19:56
bb|hcbalso add ,devuan-lintian-profile after devuan-keyring19:57
bb|hcbAnd to build, from the package dir: sbuild -A -s -d unstable --source-only-changes19:57
bb|hcbHTH19:57
gnarfaceYKaelig: i just build in a chroot, then delete the chroot when i'm done with it19:58
bb|hcbBTW. That is not enough to enable eatmydata, that and/or tmpfs will make the builds significantly faster19:59
bb|hcbgnarface: This is what sbuild does. But it will keep the chroot clean and discard all changes after each build19:59
gnarfacehmm, neat20:01
bb|hcb... and for Devuan's packages, you can use that: gbp buildpackage --git-ignore-new --git-builder='sbuild -A -s -d unstable -c unstable-riscv64-sbuild --source-only-changes --no-run-lintian' && lintian --pedantic --no-show-overrides --tag-display-limit=0 -E -I20:03
bb|hcbs/riscv64/amd6420:04
bb|hcbThe above will do all the magick20:04
YKaeligWhich option should I use with dch when I'm taking nvidia-driver from devuan chimeara and ebuilding it for devuan deadelus20:20
YKaeligI know it's not very important for a local build but it there an official devuan rule for that ?20:21
gnarfacethere's some rules but i don't know what they are exactly20:23
gnarfacebut it will enforce you putting something there, in a specific format20:23
bb|hcbYKaelig: I'd use 'dch --bpo' and edit the version afterwards - the idea is to produce a version that is newer than the one in the repos but definitely older than the same version that can come from the next release (so called not breaking the upgrade path)20:31
YKaeligArf... :D. That was my first idea but after I read that a backports is from testing -> stable it didn't seem like the right choice20:34
bb|hcbe.g. if current ver is 1.2-3, its backport to previous release will be 1.2-3~bpoXX+1, so you use 1.2-3~abcXX+1. Note that abc may be anything that starts with a, so it sorts between the current ver and the possible official backport20:34
bb|hcbBTW. I see no point in building something from chimaera for daedalus? Or I may be missing what you are trying to do?20:36
YKaeligI'm building nvidia-driver for daedalus but anyway, it's not important I used --nmu with a rebuild for devuan daedalus as comment20:37
YKaeligI will never be an official devuan maintainer so I leave that work for others :D20:38
YKaeligI just want my nviidia-driver for my GPU and maybe in a futur I will try to package dinit and S6/66suite.20:41
YKaeligdeb and rpm package management are not my cup of tea. Even creating ebuilds are easier ^^20:43
gnarfacebb|hcb: the thing you're missing is the context of what NVidia has been doing with their driver updates (strategically bugging old versions to force hardware upgrades)20:58
gnarfacewell, strategically bugging old AND new versions in tandem, really20:58
gnarfacethey make sure that the new version refuses to work for older devices, but they also make sure the older version refuses to work on newer distro releases. (they also do this in lock-step with major game version releases from several major publishers, most notably including Blizzard)20:59
gnarfaceYKaelig is doing God's work here21:00
gnarfacenobody else behaves like this. in a normal situation there'd be no reason not to just expect the newer driver and kernel to keep working21:00
bb|hcbYou mean that old card does not work with the new driver? Ugh...21:00
* bb|hcb didn't read the backlog...21:01
gnarfaceyep, they have scheduled deprecation, they announce it months to years in advance. they don't even say "woops" they're completely up-front that they're turning all their old hardware into paper weights on a pre-determined schedule.21:01
gnarfacethat said, if YKaelig actually succeeds at making this work i'll be shocked. i've always assumed that nobody else has been doing this because NVidia must have somehow managed to make the driver fundamentally incompatible with major components of the newer distro releases... if all it takes is a rebuild of the packages this is pretty big news for everyone with older nvidia hardware.21:03
gnarface(probably would have saved me from switching to AMD a couple years ago, in fact. but i have no regrets.)21:03
bb|hcbGot it... Just checked and I also have nvidia on my desktop21:04
gnarfacethe 600 series is the latest one to get the axe21:04
YKaeligbb|hcb That right, the 5xx.xxx serie is only compatible from Geforce series 700  but mine is a GTX660 from the 600 serie... :(21:04
gnarface(my last one was a 500 series)21:04
YKaeligThat said I have no issue to build the driver with the last kernel version on Gentoo.21:05
gnarfaceI'm certain that what NVidia is doing here is illegal actually, but nobody who hasn't already signed one of their NDAs knows enough to testify against them, and nobody in law is smart enough to even notice it happening.21:06
bb|hcbIs 500/600/700 the card model or the driver version? I know nothing (don't want to) about desktop stuff ;)21:06
gnarfacebb|hcb: in the context of my previous statements, 500/600/700 here are "families" of nvidia card model21:07
gnarfaceor "generations" if you will21:07
gnarfacesomewhat ironically the nouveau website has lots of good information about the breakdown of their models, even if they don't have very good support for most of them still21:07
gnarfacehere: https://nouveau.freedesktop.org/CodeNames.html21:07
gnarfacethere's some overlap between major groups, and you can see the marketing numbers are different from the official number designations21:08
gnarfacebut their actual driver releases are careful to specify all the families that do work with those drivers21:09
gnarfaceoh, i remember now, i think i was using a borrowed 600 series for a while there but didn't like it because my 500 was actually better at a few key things21:15
gnarfacebut anyway, yea AMD doesn't pull this crap21:15
golinuxI just changed LO writer to web view and now there is only one page break towards the end21:25
golinuxThere is also a way to increase page size but there is a limit. I'll try that next21:25
golinuxOops . . . thought I was in OT21:26
amesser:)21:38
YKaeligI can not find how the date form is created in the Release file :Date: Fri, 08 Sep 2023 18:08:06 UTC21:45
gnarfacethat's not something dch sets for you?21:45
YKaeligI can only get Fri 08 Sep 2023 19:42:15 with echo $(date "+%a %d %b %Y %H:%M:%S") and Fri 08 Sep 2023 19:42:15 CEST with echo $(date "+%a %d %b %Y %H:%M:%S %Z")21:46
YKaeligI can not get UTC instead of CEST21:46
gnarfaceis your bios set to UTC?21:47
gnarfaceis your timezone set with the tzdata package?21:47
gnarfacetry echo $(date -u "+%a %d %b %Y %H:%M:%S %Z")21:48
gnarfacethough, from your initial statement it would actually be echo $(date -u "+%a, %d %b %Y %H:%M:%S %Z")21:49
YKaeliggnarface Ho! that didn't work juste before I tried that21:50
YKaeliggoog thx :)21:50
gnarfaceor i guess more specifically this? echo ":Date: "$(date -u "+%a, %d %b %Y %H:%M:%S %Z")21:50
gnarfaceno problem21:51
YKaeligNot bad, but I have to "backport" nvidia-persistenced because he is trying to install the 500.xxx package version22:14
YKaeligEverything else look fine22:16
YKaeligBUT, ENOUGH for today ! :D22:16
YKaeligCU tomorrow for the last chapter :D22:16
YKaeligHave a good day/night22:17
gnarfaceYKaelig: you might not have to build that, i'm pretty sure it's only a Recommend22:19
YKaelignot it's not22:20
gnarfacehmm, i've never had a problem running without it22:20
gnarfacein fact i've had to remove it before because it was causing problems22:20
YKaeligI believe you, but it's not part of the recommended packages22:20
gnarfaceadmittedly it was a few years ago now so maybe they changed it...22:21
gnarfacei thought it had actually come up just recently though22:21
gnarfacebut i haven't tested it myself for a while now so there's that22:22

Generated by irclog2html.py 2.17.0 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!