• 0 Posts
  • 38 Comments
Joined 1 year ago
cake
Cake day: June 26th, 2023

help-circle


  • 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)
    }
    










  • 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






  • phoenix591@lemmy.phoenix591.comtoLinux@lemmy.mlAppimages, snaps and flatpaks
    link
    fedilink
    English
    arrow-up
    5
    arrow-down
    1
    ·
    edit-2
    1 year ago

    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)