00:09:09 meena, I was hoping you would like it. When I first read that I knew I had to try it. 00:09:41 If the file system can be reduced in size to fit into a ramdisk then the procedure all worked very well. 00:10:35 While I was playing with it I actually ended up screwing up a ZFS file system. So I went through it again to flip it back to UFS. And then again to do ZFS right the next iteration. 00:15:15 rwp: I'm down to 3.4 G, so I'll need to temporarily balloon my RAM. 00:15:41 i don't think I'll be able to get it much smaller than that 00:15:58 I do believe that it'll be smaller on ZFS, thanks to compression ;) 00:16:39 I was just doing it for the exercise so I started with a pristine bare minimum install. Which would fit into ram no problem. 00:17:03 In the blog posting the author copied everything of interest off to another system temporarily to make things small enough. 00:17:26 aye 00:17:56 It is a risk. If the system crashes while everything is in RAM then poof! It's all gone in an instant. 00:18:13 So it's good if the only thing on the system is the system itself and no data of note otherwise. 00:32:05 rwp: diskless systems do that 00:35:53 wild, https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=269211 00:35:55 Title: 269211 – misc/unicode-emoji - Update to 15.0 00:36:09 we were at 5.0 00:36:58 cpet, Diskless systems? 00:38:35 What is that ? 00:40:53 cpet, You said: ":32 rwp: diskless systems do that". Do what? 01:04:42 that! 01:20:28 This sounds more and more like the Meatloaf song by Steinman. I'll do anything for love but I won't do *that*. 01:25:37 :) 01:26:06 you won't, but diskless systems do 01:36:02 And the response makes no sense so I’ll continue to say what’s that 02:33:42 Does the freebsd API offer any non-root alternatives to the mlock() syscall? 02:51:14 What should I be looking for in order to update a "tar"d compressed file (via "xz" or "zstd") created from $HOME, to be stored on exFAT filesystem? 02:52:17 Or, a "rsync" of some sort to update the compressed stream 02:53:05 you're looking for something more complicated than `cp myarchive.tar.xz /mnt/` ? 02:59:00 Yes, 02:59:05 s/,// 03:02:59 even rsync will see that the new file is not the same length and recopy the whole file 03:03:20 i'm not sure what you're trying to solve by not just copying the whole file 03:30:15 who has v6 enabled working like a champ? 10:00:33 zidrav could make you a patch to copy over and apply instead 10:10:55 I think tarsnap works similarly, but I'm not sure 12:57:32 Which is the default version of Python in 13.1 RELEASE? 12:58:13 Is it version 3.9? 13:02:47 I run pre-build packages on my machine and see that most of the pre-built packages are of version 3.9. I'll stick to that version if you do not educate me otherwise :-) 13:03:32 thorre: I think so. you can check by looking at the dependency of https://www.freshports.org/lang/python3/ 13:03:33 Title: FreshPorts -- lang/python3: Meta-port for the Python interpreter 3.x 13:03:52 Thank you meena 13:05:20 Hmmm, version 3.3 is being referred. I will do some more reading up on this. Thank you for the pointer to freshports. 13:06:07 thorre: no. Runtime dependencies: 13:06:07 python3.9 : lang/python39 13:06:37 meena: Thank you for the interpretation, got a bit confusing there for a short while. 13:06:38 the version is lang/python3 has almost no meaning 13:07:03 s/is/of/ 14:24:56 can I change a file's access / modification time if I have the desired timestamp in epoch format ? 14:25:04 or it must be full date, year, day, etc 14:33:39 last1: https://man.freebsd.org/cgi/touch(1) 14:33:40 Title: FreeBSD Manual Pages 14:34:01 https://man.freebsd.org/touch(1) 14:34:02 Title: touch(1) 14:34:07 (almost) 14:36:56 saw it, was hoping for timestamp :) 14:37:31 ok, but I'm trying as they explain there, like so: touch -d file1 2022-11-18T15:50:24 and it says: touch: out of range or illegal time specification: YYYY-MM-DDThh:mm:SS[.frac][tz] 14:38:04 maybe the datetime has to follow -d 14:38:27 that would make sense, yes 14:39:12 last1: look at the SYNOPSIS 14:39:40 Hi 14:40:22 the only option that accepts a file is -r 14:41:39 is there a way to build a vm image on linux? 14:43:59 user062b: yes. our source tree builds on FreeBSD, Linux, and MacOS. 14:45:42 last1: you can also use date -j -f to convert from whatever format you have into whatever format touch expects. Or, you could just use touch -r to copy access times from another file 14:47:09 user062b: I think our build runs in GitHub actions (Linux) and on CirrusCI (FreeBSD) 14:47:25 meena:do you mean through "make vm-release" (after building kernel and world)? 14:47:51 yes 14:48:24 https://github.com/freebsd/freebsd-src/blob/main/.github/workflows/cross-bootstrap-tools.yml 14:48:26 Title: freebsd-src/cross-bootstrap-tools.yml at main · freebsd/freebsd-src · GitHub 14:51:18 thanks, my main use case is to tryout changes in the kernel, but i haven't a way of changing the kernel on an existing image on a non freebsd host, are there other ways except building the image every time? 14:54:01 user062b: I use PkgBase.live to install all the kernels 15:03:09 I build every kernel that makes sense for a given architecture, and generally use GENERIC-MMCCAM. 15:06:09 meena: thanks a lot 15:07:39 user062b: you're welcome! 15:07:57 can't miss an opportunity to spread propaganda about PkgBase 15:18:07 i'm trying to write an rc script for a daemon. i've defaulted ${name}_user to my service user, but as soon as the rc script switches to the service user, daemon (i'm using it to start my service) is unable to create a pidfile because the service can't write to /var/run 15:18:30 i could of course create something like /var/run/foobar and chown it to my user 15:19:07 but i'm wondering if there is a standard solution for my problem that i'm missing? 15:19:43 hm, maybe using daemon's "-u user" facility 15:22:10 but that would require setting the user in .. ${name}_user2 or something so that rc doesn't eat my username variable? 15:49:21 Grabunhold_: i would stick to ${name}_user, and create a /var/run/foobar as pre-start. or you can create it in the port 15:59:38 you can sometimes also completely forego pidfiles: https://codeberg.org/FreeBSD/freebsd-ports/src/branch/main/net-im/gotosocial/files/gotosocial.in 16:45:54 Grabunhold_: maybe this will be helpful https://reviews.freebsd.org/source/ports/browse/main/sysutils/seatd/files/seatd.in 16:45:56 Title: seatd.in · ports 16:46:34 you can simply use command_args to pass any number of arguments to daemon 16:47:19 if I understand your problem correctly.. 16:47:48 meena: looks like a really good template! where can I find docs for these %%PREFIX%% variables? 16:50:06 ngortheone: thanks for the template, but my problem was about the name of the ${name}_user variable (or the permissions problem with the pidfile, however you want to look at it...) 16:59:28 "System scripts should be installed from src/libexec/rc/rc.d through the Makefile found there." 16:59:36 but what if i don't have such a directory in my system 17:00:59 other directories named rc.d don't contain Makefile 17:01:24 There's a Makefile in /usr/src/libexec/rc/rc.d/ wouldn't be that file ? 17:10:25 Grabunhold_: those should be automatically replaced by the ports system 17:14:28 gasbsd: my /usr/src is empty, maybe i need to install a source pkg of some sort 17:16:14 Grabunhold_: variables not automatically replaced after in SUB_LIST and PLIST_SUB: https://codeberg.org/FreeBSD/freebsd-ports/src/branch/main/net-im/gotosocial/Makefile#L25 17:16:17 Title: freebsd-ports/Makefile at main - freebsd-ports - Codeberg.org 17:18:51 hubertm: what's you freebsd version ? 17:20:44 13.1-RELEASE-p3, userland p5 17:22:40 hubertm: try cloning the source to /usr/src, git clone --branch releng/13.1 https://git.FreeBSD.org/src.git /usr/src 17:22:42 Title: src - FreeBSD source tree 17:25:06 hubertm: what exactly are you trying to achieve? 17:26:12 meena: trying to add an rc.d script to be run during the boot 17:26:29 hubertm: which one? 17:28:52 meena: my own script which mounts an external hard drive 17:30:25 you don't need to install that from source. you can just place it in /etc/rc.d 17:31:55 Why not edit /etc/fstab for that instead? 17:32:22 or add a devd script? 17:32:40 meena: but something should be done in addition to placing it there? 17:33:05 hubertm: rc scripts usually need to be enabled 17:33:13 V_PauAmma_V: AFAIK fstab has no option to disable file system check if there's something dubious. it can take 20 minutes for booting in that case no matter if i want to use that drive or not 17:34:03 https://man.freebsd.org/fstab(5) 17:34:05 Title: fstab(5) 17:36:48 meena: thanks, i figured they might be Makefile variables by now (i've never written a makefile). at the moment i'm just trying to write the initscript, but i do plan to upstream it eventually, so that will come in handy :) 17:37:38 https://man.freebsd.org/rc.conf(5) also has 17:37:38 background_fsck 17:37:39 Title: rc.conf(5) 17:38:12 Isn't background the default? 17:38:18 yea 17:38:47 it pairs with journaling normally so it does not need to do the heavy foreground style check 17:41:28 in the meantime, daemon seems to have some kind of problem with the word "run"... 17:41:28 this works: daemon -S -T footest /usr/local/bin/ergo --version # prints the version to syslog 17:41:28 with this, "run" never seems to make it to ergo: daemon -S -T footest /usr/local/bin/ergo run --config /foo/bar.yaml 17:41:28 this has the same problem: daemon -S -T footest -- /usr/local/bin/ergo run --config bla 17:45:45 other arguments without dashes seem to work too, it's just "run" that seems to get eaten 17:56:04 I wonder if it's daemon, or rc.subr 18:13:56 Grabunhold_: can you post your rc script as it is now? 18:55:21 heh, i wrote one for ergo before but i didn't bother with chroot 19:06:34 what is ergo? 19:23:13 meena: yeah, gimme a sek, just came back to the computer again 19:23:31 ergo is an irc server, fittingly 19:24:06 rtprio: i'm not going to chroot either 19:30:55 i don't know why there's not a script in the port 19:33:20 https://pastebin.com/Y17YiS98 19:33:21 Title: #!/bin/sh# PROVIDE: ergo# REQUIRE: DAEMON# KEYWORD: shutdown## Add - Pastebin.com 19:33:54 rtprio: well, somebody has to write it. so I might as well learn how to do it :) 19:34:24 when starting that script, ergp prints it's help text into the syslog 19:34:44 "Bleeding-edge IRCv3 support suitable for use as an IRCv3 reference implementation." nice 19:35:09 "High customizability via a rehashable (i.e., reloadable at runtime) YAML config." no. NO! NO!! 19:35:48 i'll pull mine out in a minute 19:36:03 meena: yaml engineering, it's all the rage these days 19:39:08 the worst Website, https://noyaml.com/ making the best argument 19:39:09 Title: 🚨🚨 That's a lot of YAML 🚨🚨 19:39:37 Grabunhold_: https://bsd.to/WJvc 19:39:38 Title: dpaste/WJvc (Plain Text) 19:43:10 rtprio: what is ${ergo_command} 19:43:44 daemon, in this case 19:44:24 it's at the bottom, line 42 19:45:44 that's mildly confusing. 19:46:57 yes, but i haven't looked at it since i wrot it 19:47:58 but it works 19:49:17 rtprio: thanks! but i'd still like to understand what's wrong with my config 19:49:25 looks like it should work? 19:50:14 if i substitute "run --config (path)" with any other command, ergo seems to get invoked correctly 19:50:24 if you get a weird egrep i might add a pidfile 19:53:28 Grabunhold_: you can run the rc script with set +x 19:55:54 oooooh it seems like it was all my fault, just a second... 19:56:40 yeah 19:56:48 it's --conf instead of --config 19:56:50 meeeh! 19:57:21 👍 19:57:46 i don't remember any other ircd config files being much better than yaml 20:00:40 rtprio: YAML is a reckless format. With m4 you know you're holding a straight razor. but YAML claims to be human friendly 20:01:04 Grabunhold_: do status / start and restart work? 20:01:53 meena: can't test, my yaml config is borked and doesn't parse :D 20:02:01 gotta fix that first 20:02:30 write it in json. 20:02:37 of course 20:03:00 json, while being awful itself, is a complete subset of YAML 20:03:39 iirc ergo uses features that are not in the json subset of yaml, the config is fairly complex 20:04:35 ... i'm configuring the whole thing with ansible, so it's not like this is my first yaml ride haha. i'll eventually dump the config straight from an ansible dictionary i guess 20:06:25 by the way, while i'm not exactly new to FreeBSD, i'm significantly expanding the scope of things i do with it. just got started with jails (the irc server is a jail, too) and so far it's great 20:08:21 there was a learning curve of course, but i finally feel like the jails setup is gonna work for years to come. coming from docker and LXD containers on linux i really like how "boring" and "done" things seem to be 20:08:26 * meena needs to switch her jails from being configured by Puppet to just being (re)built by buildah and (re)deployed with podman 20:09:56 meena: hmm, puppet being somewhat like ansible in scope - what's put you off of configuring your jails from puppet? that's exactly what i do at the moment 20:09:58 Buildah? Is that something I should look into? 20:10:17 with ansible, of course 20:10:30 I've almost got LXC wrangled and boring. subuid assignments are still nettlesome. 20:13:20 meena has a tendency of casually mentioning something I've never heard about but absolutely need to have 20:15:41 i really liked LXD, but canonical started to only support it via snap as of late and i really, really don't like snaps. other linux distros didn't seem to be willing to support LXD. 20:15:42 at work i'm moving to docker, my private infra is finally moving to FreeBSD completely (been a long time user for my fileservers already, <3 ZFS) 20:16:11 Oh, LXD. I misread what you wrote. Not so much interest in LXD here. 20:16:57 yeah, it's somewhat of an evolution of LXC i guess? 20:17:11 A framework around it. 20:21:51 i'm not even sure if lxd uses lxc as a backend any more? but that's getting offtopic i guess... 20:22:31 the point was that i'm really happy that jails exist as an alternative :) 20:29:46 Jails are in most ways simpler, although there's something to be said for distinct UID ranges in unprivileged containers. 20:30:17 Until the server goes down and all jails go down with it 20:38:00 mason: Linux containers seem more complex, because they use the same facility (cgroups) for all kinds compartmentalisations 20:39:07 on FreeBSD, network virtualisation is done thru VIMAGE. 20:40:02 I wonder what it'd take to have an include directive for jail configs. I'd like to have that. 20:40:37 one thing we're missing, and which Solaris and Linux do have is process isolation independent of containerisation 20:43:11 solaris crossbow would be great to see in FreeBSD, too 20:43:52 meena: How about mac(9)? 20:45:33 mason: nope, that won't give you what Linux cgroups and contracts give you. mac(9) should be able to act on that facility 20:45:33 I've looked at the idea of a 'null' jail, basically a jail that didn't restrict most things, just created an arbitrary group of the processes inside it 20:46:12 as well as having a separate "namespace" for PIDs inside jails, as well as uid namespacing etc 20:47:30 AllanJude: aaaaand? 20:47:36 if someone has a good commercial use case for it, could totally build it 20:48:20 AllanJude: I have an intermediary: https://scratchpad.pkgbase.live/Tn-dtb8OT--CttN1Djn8lw# 20:48:21 Title: jrc: Principles - HedgeDoc 20:48:59 I need to understand more about https://docs.freebsd.org/en/books/handbook/mac/ 20:49:00 Title: Chapter 17. Mandatory Access Control | FreeBSD Documentation Portal 20:50:19 I've also been a big proponent of UCL 20:50:32 i even started replacing newsyslog.conf etc with UCL, but ran out of steam 20:52:35 AllanJude: a lot of my vapourware is inspired by your ideas 21:12:48 meena: after fixing my config, I can happily report that status and start / restart work with my ergo script :) 21:13:04 reload works, too! 21:13:06 :) 21:13:15 Grabunhold_: yay! 21:13:33 big thank for everybodies time and patience! 21:17:00 Grabunhold_: I'm looking forward to your ports submission. 21:17:58 and if you need help with that, we're here all week. (and also in #bsdports on EFNet) 21:19:08 meena: will probably take a while, i've never done that and i'm in the middle of porting my private irc server from linux / irc unrealircd / a different machine, plus i'm in the middle of moving myself... but it's definitely on my todolist! 21:19:43 i'll also try and contribute the script directly to ergo itself, they're collecting init script examples in their repo 21:20:18 Grabunhold_: i did fuck all during / after my move. 21:20:18 took months to settle. 21:29:19 Speaking of init scripts: I've been using an old style init script for weewx (weather station to web, etc., written in Python) that came in the package. Unfortunately, it doesn't start at boot, but works nicely when manually called as a service. 21:30:05 I've tried to update it according to the FreeBSD docs, but I haven't gotten it to work at all. 21:31:17 See: https://github.com/weewx/weewx/blob/master/util/init.d/weewx.freebsd 21:31:18 Title: weewx/weewx.freebsd at master · weewx/weewx · GitHub 21:33:07 Well, what do you know. They've updated it. Ill give that a try! 21:33:11 unusual place to put a daemon, but looks like it should work 21:36:00 meena: i'm also overhauling almost all of my IT infrastructure at the same time :D 21:40:38 Seems like it works. I needed to adjust a part or two. 23:04:20 rwp: i thought for a second I hosed a VM 23:06:14 rwp: but, i only uh, did kinda hose it 23:33:04 Why do I get "$daily_news_expire_enable is set but /etc/news.expire doesn't exist" in "daily run output" email? /etc/periodic.conf.local : https://termbin.com/3rz7 23:33:45 There is no "news" in /etc/rc.conf if that matters 23:35:16 If not for inane messages about things I had not touched, enabled, I would have created/set up /etc/periodic.conf.local often 23:36:32 Oh, and at the end of said email is: /etc/daily.local: No such file