From e7999a032bd888abf3665c501a754dbb922fe7c9 Mon Sep 17 00:00:00 2001 From: Cem Keylan Date: Tue, 2 Feb 2021 03:39:56 +0300 Subject: Switch to org-mode for generating the website --- docs/docs/carbslinux/Repository-Conventions.html | 220 +++++++++++++++++++++++ 1 file changed, 220 insertions(+) create mode 100644 docs/docs/carbslinux/Repository-Conventions.html (limited to 'docs/docs/carbslinux/Repository-Conventions.html') diff --git a/docs/docs/carbslinux/Repository-Conventions.html b/docs/docs/carbslinux/Repository-Conventions.html new file mode 100644 index 0000000..79b7eec --- /dev/null +++ b/docs/docs/carbslinux/Repository-Conventions.html @@ -0,0 +1,220 @@ + + + + + + +Repository Conventions (Carbs Linux User Manual) + + + + + + + + + + + + + + + + + + +
+

+Previous: , Up: Conventions   [Contents]

+
+
+

3.1.2 Repository Conventions

+ +

Repository conventions are important in order to ensure every package resemble +themselves. Here are the things to keep in mind: +

+
+
[2010]
+

Prefer tarballs over git packages unless there is a +sensible reason. Here are some: +

    +
  • Every patch is a new release. (See vim) +
  • There are no releases. (See sbase) +
  • Following a development branch. +
  • There has been a long time since the latest release, but upstream is far +ahead. +
+
+
[2020]
+

Prefer sources without a dependency to ‘automake’. There +are usually distribution tarballs that are ‘autoconf’’ed. Don’t submit tarballs +with an automake dependency unless you are ‘sure’ there is no alternative. +

+
[2030]
+

Avoid these packages: +

+
dbus
+

Usually can be disabled by --disable-dbus. +

+
gettext
+

Usually can be disabled by --disable-nls. +

+
+
+
[2040]
+
    +
  • Always install a package to the ‘/usr’ prefix. +
  • All binaries should go to ‘/usr/bin’, not ‘/usr/sbin’ or any other directory. +
  • All libraries should go to ‘/usr/lib’. +
+
+
[2050]
+

All build files on the repository should be a POSIX +shell script, and must start with #!/bin/sh -e. +

+
+ +

The next section is about package templates that should be used in order to +ensure stylistic consistency. Note that the option configurations shouldn’t be +taken literally, they are meant as examples. +

+
    +
  1. Make [2210] + + +
    +
    #!/bin/sh -e
    +
    +make
    +make DESTDIR="$1" PREFIX=/usr install
    +
    + +
  2. Configure/Make [2211] + + +
    +
    #!/bin/sh -e
    +
    +./configure \
    +    --prefix=/usr \
    +    --disable-option \
    +    --enable-option
    +
    +make
    +make DESTDIR="$1" install
    +
    + +
  3. Autoconf/Automake [2212] + + +

    See 2020 +

    +
    +
    #!/bin/sh -e
    +
    +autoreconf -fi
    +
    +./configure \
    +    --prefix=/usr \
    +    --disable-option \
    +    --enable-option
    +
    +make
    +make DESTDIR="$1" install
    +
    + +
  4. Meson [2220] + + +
    +
    #!/bin/sh -e
    +
    +export DESTDIR=$1
    +
    +meson \
    +    --prefix=/usr \
    +    -Doption=false \
    +    -Doption2=true \
    +    . output
    +
    +ninja -C output
    +ninja -C output install
    +
    + +
  5. Cmake [2230] + + +
    +
    #!/bin/sh -e
    +
    +export DESTDIR=$1
    +
    +cmake -B build \
    +    -DCMAKE_INSTALL_PREFIX=/usr \
    +    -DCMAKE_BUILD_TYPE=Release \
    +    -DOPTION=ON
    +
    +cmake --build   build
    +cmake --install build
    +
    + +
  6. Go [2240] + + +
    +
    #!/bin/sh -e
    +
    +export GOPATH=$PWD/gopath
    +trap "go clean -modcache" EXIT INT
    +go mod vendor
    +
    +go build
    +install -Dm755 program "$1/usr/bin/program"
    +
    + +
  7. Python [2241] + + +
    +
    #!/bin/sh -e
    +
    +python setup.py build
    +python setup.py install --prefix=/usr --root="$1"
    +
    +
+ +
+
+

+Previous: , Up: Conventions   [Contents]

+
+ + + + + -- cgit v1.2.3