specing | If I wanted to make packages of a program, such that multiple such packages can be installed simultaneously in e.g. /opt/program/version/, where do I look for instructions? | 01:08 |
---|---|---|
rwp | specing, Probably no instructions available. But there are examples available. Such as how RHEL/CentOS packages version /usr/share/doc directories and so forth. Such as how Debian packages put the version in the package name and so forth. | 01:34 |
rwp | For one put the version in the package name. To make the package name unique. | 01:34 |
rwp | For another ensure that every file in the package is in a unique file path with no overlap with another version of the package. | 01:35 |
specing | rwp: I would like to transfer my Gentoo ebuilds that are already multi slot to devuan | 01:35 |
rwp | Not being a Gentoo user I don't know what multi slot means here. But I will cheer you on from the sidelines. :-) | 01:36 |
rwp | If you are putting files into /opt or /usr/local then there is no requirement to package it. And in fact it may be simpler to just "unpack a tar file" there instead. | 01:37 |
rwp | Also are you aware of GNU Stow? https://www.gnu.org/software/stow/ It is very useful in this topic space too. | 01:37 |
specing | multi slot means the same package installs into multiple slots | 01:38 |
specing | slots is just a package manager thingie | 01:38 |
specing | but it means you can have multiple installed simultaneously and updates within slots | 01:38 |
specing | e.g. python 2 slot and python 3 slot | 01:38 |
rwp | Does that use PATH or some other method of selecting one versus another? | 01:39 |
specing | rwp: I am putting files into opt to not pollute /usr with packages where everything is under the same directory | 01:39 |
specing | the latter was easy mode slotting | 01:39 |
specing | rwp: no, normal version numbers in dependencies | 01:39 |
specing | rwp: if >=2 is in dependencies, then either is ok | 01:40 |
rwp | Putting things into /opt is fine. No problem for you putting things there at all. | 01:40 |
rwp | apt and dpkg won't be able to handle two packages of the same name (and the same architecture) installed at the same time. | 01:41 |
rwp | It would be possible to create a new architecture and use the multi-arch support to install a parallel dependency tree using another arch. But then there would be no sharing of anything. | 01:41 |
specing | okay, so I just put version into package name and call it a day? | 01:41 |
rwp | So while I mention multi-arch, because it is similar, I don't think it will do what you want. | 01:41 |
rwp | If you want to keep it in a package then I think the package must have a unique name, usually by adding a version number to it. | 01:42 |
rwp | Look for one example at php5 versus php7.0 versus php7.2. | 01:42 |
rwp | Or look at linux-image-4.9.0-8-amd64 versus linux-image-4.9.0-3-amd64 and so forth. | 01:43 |
specing | > looking at php for an example of how to do things | 01:43 |
rwp | In order to install multiple versions of the same thing it uses a version'd package name and every file will be uniquely path'd too. | 01:44 |
rwp | Another possibility is the Debian Alternatives system. Since these are different versions of the same thing then it would be possible to use alternatives to select one. | 01:45 |
rwp | https://manpages.debian.org/stretch/dpkg/update-alternatives.1.en.html | 01:46 |
furrywolf | php is usually an example of how NOT to do things. | 01:47 |
rwp | I hesitated to mention php due to that but my mind went blank of others. Then I remembered the linux-image package. | 01:48 |
rwp | But there are many other examples. bind9, python3, perl6, mariadb-server-10.1, and so forth. Lots of examples. | 01:50 |
rwp | specing, Not sure what you are packaging. Perhaps you could tell us why you need multiple versions of whatever installed? | 01:52 |
gnarface | specing: afaik the idea of gentoo "slots" came from disdain for Debian forcing strict naming conventions to accomplish the same thing | 01:52 |
gnarface | specing: but if you look into package version/naming conventions for Debian, the rhyme and reason behind it all includes instructions for how to make multiple versions of the same thing capable of safely cohabitating | 01:53 |
specing | I need multiple installed as it is a game server hosting games on multiple engine versions | 01:53 |
rwp | For me I do like using GNU Stow for a lot of this type of thing. I install into /usr/local/stow/$foo-$version and then use stow to manage the links into /usr/local/bin/$foo | 01:53 |
gnarface | specing: "put the version in the package name and call it a day" is a dangerously oversimplified way to phrase it, but basically yes, you get the idea. just make sure you actually follow their rules | 01:53 |
rwp | For a game server I would be inclined to say that an lxc or docker container may be the best way to keep each version contained. | 01:54 |
rwp | Or something else along those lines. chroot. Whatever. | 01:54 |
gnarface | specing: (they have character range limits in different parts of the name, before and after the "-" and rules like stuff that can't start with a number... some weird minutia that you can usually get away with violating but will generally sabotage automated builds with the debhelper tools) | 01:54 |
specing | rwp: I'd use SELinux, but devuan doesen't have it | 01:55 |
specing | so /o/ | 01:55 |
gnarface | specing: (fwiw for game servers i use containers too) | 01:55 |
rwp | SELinux can restrict but it won't help you run multiple versions. AFAIUI. | 01:56 |
specing | rwp: it was meants for the 'contained' comment | 01:56 |
gnarface | i like linux-vservers but they were pulled from debian like... before wheezy i think, so you have to build it yourself now. | 01:57 |
rwp | But contained in completely different ways. One has a stick smacking an offender. The other creates an entire new universe. | 01:57 |
gnarface | kindof a pain but they're super nice once you're up and running. no weird hardware requirements, but almost no virtualization overhead | 01:57 |
specing | I use LXC right now. Specifically Gentoo inside devuan | 01:58 |
rwp | gnarface, I wondered why vservers were pulled. Off the top of your head do you know? | 01:58 |
rwp | Since you are already using LXC I dare say that would seem to be the best answer. | 01:59 |
gnarface | rwp: yea, the native tools weren't debianized, and the debianized tools got pulled due to to lack of maintenance | 01:59 |
specing | rwp: it is only one Gentoo container having all of the servers inside | 02:00 |
specing | the servers share data, so containarising would be difficult | 02:00 |
rwp | Not to denigrate vservers but I think also LXC at the time was seen as a replacement for them. But then LXC became rather in need of attention too. So that may have led to vservers being orphaned and removed. | 02:01 |
gnarface | i think qemu-kvm was coming up around then too | 02:01 |
gnarface | i don't know much about LXC | 02:01 |
gnarface | it might be similar... para-virtualization? | 02:02 |
rwp | I am a huge user of kvm via libvirt. But I'll be the first to admit that is heavy compared to an lxc container. | 02:02 |
rwp | I think vservers, lxc/lxd, docker, and those have more in similar than in difference. | 02:02 |
gnarface | yea kvm is fine if you have hardware level acceleration support and you're not overbooking your RAM banks. otherwise it tends to drag hard. | 02:02 |
rwp | And then xen and kvm are in the heavy full virtualization circle. | 02:03 |
rwp | And simpler than vservers, lxc/lxd, docker are chroots that only have a different file system and nothing more. | 02:03 |
rwp | But chroots are extremely useful and zero overhead so when they are fine then why not. | 02:03 |
rwp | I use a lot of chroots too. | 02:04 |
Syllin | i think i missed installing some fonts in my install process? anyone have any tips for these unicode boxy characters? https://imgur.com/a/KEqy05n | 04:12 |
Syllin | i'd like them to be their corresponding UTF8 values :) | 04:12 |
gnarface | Syllin: apt-cache search '^ttf-|fonts-' | 04:16 |
Syllin | thanks | 04:16 |
gnarface | Syllin: (if that is terminal output, you'll also need to make sure your terminal itself can also handle unicode characters and note that is not actually a common feature, but i recommend rxvt-unicode-256color) | 04:17 |
Syllin | hm i assumed it had better support these days | 04:17 |
Syllin | i'm using xfce4-terminal juts because thats the first one i found on the system | 04:18 |
Syllin | but i've used xterm before | 04:18 |
Syllin | but yes, terminal output is also derpy | 04:18 |
Syllin | works in xterm! | 04:18 |
Syllin | without changes from me. interesting | 04:19 |
gnarface | i started using rxvt-unicode-256color (aka. "urxvt") before any of the others actually had the support for it, but i imagine it will slowly make its way into all the terminals eventually | 04:20 |
Syllin | pretty crucial these days if you do any application development | 04:25 |
Syllin | modern developers love putting fancy prompts and TUI loading bars, etc | 04:25 |
gnarface | yea, but you'd be surprised how many people using linux aren't developers | 04:25 |
gnarface | (and you'd probably be horrified at how many of those developers wouldn't know where to start on proper internationalization) | 04:26 |
Syllin | that first thing is a pleasant surprise | 04:46 |
Syllin | glad it has some mainstream usage | 04:46 |
Syllin | can't beat the price | 04:46 |
redrick | urxvt has struck me as pretty ideal, ever since I gave up on 'If ASCII was good enough for Isaac Newton, it's good enough for me.' The Unicode Xterm in De??an is very not bad, too, but rather larger. | 07:25 |
xrogaan | Yes. | 08:21 |
xrogaan | I'm not a developer. I'm a wanker who happens to know how to code. | 08:23 |
sepisoad | how to list services and stop/start/restart them in devuan(ascii) | 17:02 |
sepisoad | and how to make a service/daemon run at start automatically | 17:02 |
sepisoad | and where can i find devuan documentation on the offical site? | 17:03 |
pitriss | sepisoad: devuan uses standard sysv init.. so you can list services by listing correct runlevel directory in /etc | 17:36 |
sepisoad | I am trying to figure it out, however I am still confused | 17:38 |
sepisoad | I have installed docker manually (following official docker documentations) on devuan ascii | 17:38 |
pitriss | eg. ls -la /etc/rc2.d/ | 17:38 |
sepisoad | now I want an easy solution to start/stop dockerd(docker daemon) | 17:39 |
sepisoad | pitriss, there are many directories like rc2.d under /etc | 17:39 |
pitriss | Not sure if docker have sysv init script.. But you will find many articles all around the internet about how to create one | 17:40 |
pitriss | Yeah rc<runlevel>.d :) | 17:40 |
sepisoad | pitriss, what do these mean? | 17:41 |
pitriss | S is service started when system enters to this runlevel, K is shutdown of the service.. All these "files" should be symlinks to the scripts in /etc/init.d | 17:42 |
sepisoad | pitriss, thanks | 18:02 |
pitriss | sepisoad: you're welcome | 18:02 |
sepisoad | BTW, where is devuan official documentation? | 18:03 |
nemo | sepisoad: for like... what? | 18:03 |
nemo | sepisoad: it probably overlaps pretty heavily with debian | 18:03 |
sepisoad | for everything | 18:03 |
nemo | sepisoad: I mean. it's basically just debian with systemd removed, so only point of variation would be service management | 18:04 |
nemo | and whatever else the cancer absorbs | 18:04 |
nemo | sepisoad: and hell, for services you could just use as a reference debian pre-systemd | 18:05 |
nemo | or arch or gentoo or any other init system's documentation | 18:05 |
sepisoad | gentoo and arch have detailed documentations, maybe I should read those instead | 18:05 |
pitriss | sepisoad: sysv init is really simple and easy to understand.. Thats why I prefer it over systemd which is bloated and do many things but it doesn't do any of these things correct | 18:12 |
nemo | sepisoad: yeah probably. or debian's ☺ | 18:14 |
nemo | sepisoad: I don't think devuan has deviated enough from debian to warrant extensive documentation, but maybe they could crib debian's old sysv documentation for posterity | 18:14 |
banisterfiend | furrywolf thanks bro | 19:24 |
banisterfiend | works great | 19:24 |
Generated by irclog2html.py 2.17.0 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!