I still use X11 because one of my necessary voip apps (mumble) doesn’t yet support wayland’s method of global hotkeys.
Otherwise I don’t particularly care one way or the other.
I still use X11 because one of my necessary voip apps (mumble) doesn’t yet support wayland’s method of global hotkeys.
Otherwise I don’t particularly care one way or the other.
Heres an example, ebuilds are named package-version.ebuild and that version in the filename is used to define variables (such as $P here which is the name-version) to make new versions as simple as copying the ebuild with the new version in the filename.
use_enable is used to generate the --enable-(option) or --disable-(option) as set by the user.
For more info, see the devmanual. They’re nice relatively straightforward bash like PKGBUILDs, but with the repetitious stuff taken out.
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DESCRIPTION="GNU charset conversion library for libc which doesn't implement it"
HOMEPAGE="https://www.gnu.org/software/libiconv/"
SRC_URI="ftp://ftp.gnu.org/pub/gnu/libiconv/${P}.tar.gz"
LICENSE="LGPL-2+ GPL-3+"
SLOT="0"
KEYWORDS="~amd64 ~ppc ~sparc ~x86"
IUSE="nls"
RDEPEND="!sys-libs/glibc"
DEPEND="${RDEPEND}"
src_configure() {
econf $(use_enable nls)
}
one of the reasons I love gentoo is how easy it is to package things for it.
You know how for pkgbuilds you have to explictly write out the whole configure make make install stuff that pretty much every package uses some variation on? Gentoo abstracts that out to libraries (eclasses) that handle that sort of thing for each build system so you can focus down on anything unique to the package, like build system options.
why did you link to a kbin view of another post right here on !linux@lemmy.ml ?
you’re probably looking for getopt/getopts. one big difference between them is getopt handles --long options while getopt doesn’t.
anything in particular I can clear up?
blow by blow: first the request for an A record ( ipv4 address) for lemmy.ml is sent to a.root-servers.net ( one of several core name servers to the entire internet)
they don’t reply with an A record, but instead a few NS ( nameserver) records for .ml and then in the additional section also give use the ipv4 and ipv6 addresses to those .ml name servers
so we go ask those .ml servers again for an A record for lemmy.ml, they still don’t give us that A record, but instead say these ns.freenom.com name servers are responsible.
we ask one of them and they finally give us that A record: lemmy.ml is 54.36.178.108 so your computer knows to connect to 54.36.178.108 when you ask for lemmy.ml.
its the first and last two columns that are important. the second column is just how many seconds that information should be considered good for before asking again to make sure it hasn’t changed
dns lookups ( what turns lemmy.ml into an address your computer can connect to) actually go right to left. first the root servers are asked, then they say go ask the ml servers and g, then they ask the lemmy.ml servers.
in practice, usually unless otherwise configured your isp’s name servers are asked first; if someone else has recently asked for the same site it remembers what the answer was and just gives the same to you.
~ $ dig lemmy.ml @a.root-servers.net
; <<>> DiG 9.18.17 <<>> lemmy.ml @a.root-servers.net
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 194
;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 4, ADDITIONAL: 8
;; WARNING: recursion requested but not available
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;lemmy.ml. IN A
;; AUTHORITY SECTION:
ml. 172800 IN NS a.nic.ml.
ml. 172800 IN NS b.nic.ml.
ml. 172800 IN NS d.nic.ml.
ml. 172800 IN NS c.nic.ml.
;; ADDITIONAL SECTION:
a.nic.ml. 172800 IN A 196.10.220.136
b.nic.ml. 172800 IN A 165.90.218.166
b.nic.ml. 172800 IN AAAA 2c0f:f900:2:3::2
d.nic.ml. 172800 IN A 196.216.168.37
d.nic.ml. 172800 IN AAAA 2001:43f8:120::37
c.nic.ml. 172800 IN A 204.61.216.144
c.nic.ml. 172800 IN AAAA 2001:500:14:6144:ad::1
dig lemmy.ml @a.nic.ml
; <<>> DiG 9.18.17 <<>> lemmy.ml @a.nic.ml
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 9343
;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 4, ADDITIONAL: 1
;; WARNING: recursion requested but not available
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
; COOKIE: 00164cf2465aee8df39824f664cda390738de0ec34953975 (good)
;; QUESTION SECTION:
;lemmy.ml. IN A
;; AUTHORITY SECTION:
lemmy.ml. 7200 IN NS ns04.freenom.com.
lemmy.ml. 7200 IN NS ns02.freenom.com.
lemmy.ml. 7200 IN NS ns03.freenom.com.
lemmy.ml. 7200 IN NS ns01.freenom.com.
dig lemmy.ml @ns04.freenom.com
; <<>> DiG 9.18.17 <<>> lemmy.ml @ns04.freenom.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 49838
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 4, ADDITIONAL: 4
;; WARNING: recursion requested but not available
;; QUESTION SECTION:
;lemmy.ml. IN A
;; ANSWER SECTION:
lemmy.ml. 3600 IN A 54.36.178.108
;; AUTHORITY SECTION:
lemmy.ml. 300 IN NS ns01.freenom.com.
lemmy.ml. 300 IN NS ns02.freenom.com.
lemmy.ml. 300 IN NS ns03.freenom.com.
lemmy.ml. 300 IN NS ns04.freenom.com.
;; ADDITIONAL SECTION:
ns01.freenom.com. 7200 IN A 54.171.131.39
ns02.freenom.com. 7200 IN A 52.19.156.76
ns03.freenom.com. 7200 IN A 104.155.27.112
ns04.freenom.com. 7200 IN A 104.155.29.241
eh, its true if you want it to be signed by microsoft, which some projects have forked out for, buut it was put into the spec for x86_64 systems that users can replace the keys. so you can make your own keys, and if you want to dual boot add microsoft’s keys to the ok to boot list.
one of the signed projects is a shim that lets you approve whatever you want more or less; pretty much everything that talks about MOK refers back to this shim. many distributions use this shim
kubuntu is already literally just a package.
if you just install kubuntu-desktop (or something similar) from any buntu flavor you get it.
package myself; I chose Gentoo (and previously Arch) in part because its reasonably easy to package things there.
Most build systems are covered by eclasses ( libraries) that handle the repetitive minutia every package that build system needs.
Here’s the tuba ebuild for example (from GURU, the Gentoo equivalent of the AUR), 90% of it is just listing the dependencies and telling it to use a few eclasses to handle everything else.
Oh, and here’s the lemmy back end ebuild, the giant wall of crates is automatically generated/updated from a tool that reads the cargo files. (needed because Gentoo doesn’t allow internet access during the build for normal packages so crates are downloaded ahead of time)
There’s nothing wrong with solid old file systems; ext4 is almost 17 and no one complains about it,
nginx is fine, lemmy uses it inside of its docker images too. I don’t find it’s config scary(template lemmy internal nginx config)
looks like the devs are on it.
After that commit my database dump went from around 1.1G to 260M
dnf is to apt as rpm is to dpkg.
The first pair are the nice user friendly front ends that pull things in and install from the repos.
The latter are the guts that directly handle the raw packages and are used by the frontends.
The closed source ones were good enough for quite a while; it was amd’s closed source ones that were mediocre.
Course now that wayland is around Nvidia bungled their support for it ( trying to force their standard rather than what had been accepted by others), and Amd’s open drivers have been solid the entire time afaik.
I mostly stick to things in the repos, if theres something I want that’s not yet packaged I package it myself because Gentoo packages are fancy bash scripts with libraries (eclasses) to handle the normal make && make install sort of things for most build systems