Compare commits
54 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d0160dd96e | ||
|
|
eca4c2d31e | ||
|
|
6a91444bd9 | ||
|
|
075fb7c646 | ||
|
|
7f597d024a | ||
|
|
27219666ab | ||
|
|
76022cba36 | ||
|
|
792dc7f6e8 | ||
|
|
b5d576255b | ||
|
|
45d1494b5d | ||
|
|
20856a14e9 | ||
|
|
a850651f5c | ||
|
|
b0a80a042d | ||
|
|
49620e95ec | ||
|
|
b4789b9910 | ||
|
|
d5ae8a2ad1 | ||
|
|
3a276728e0 | ||
|
|
29d3e0bde2 | ||
|
|
969a036225 | ||
|
|
9767d24510 | ||
|
|
c73284ef96 | ||
|
|
0657bf0d25 | ||
|
|
80aad11b02 | ||
|
|
2d9dc654b5 | ||
|
|
f46cc83ef7 | ||
|
|
cc45b55f89 | ||
|
|
930e69017f | ||
|
|
44912434cf | ||
|
|
c7fde9a3da | ||
|
|
ffededbf95 | ||
|
|
b0efb663f9 | ||
|
|
aa69e48125 | ||
|
|
4ba10f1d50 | ||
|
|
38a9e2ff63 | ||
|
|
783af5abac | ||
|
|
75c3b53e31 | ||
|
|
c300c180a2 | ||
|
|
be8d2ee6e3 | ||
|
|
d9ef1bb635 | ||
|
|
cfc6991219 | ||
|
|
97ae5af201 | ||
|
|
4c820a0e48 | ||
|
|
9c39b381a5 | ||
|
|
321bb2cd90 | ||
|
|
8c99d817d4 | ||
| 2e1fb4d02b | |||
|
|
a2f0afb8bc | ||
|
|
430fa132f2 | ||
|
|
12cd7ce9de | ||
|
|
167acac140 | ||
|
|
f839ba27c5 | ||
|
|
80dd6aac5f | ||
|
|
0d00b8d8ab | ||
|
|
551bdff2fb |
@@ -4,7 +4,8 @@
|
|||||||
test_task:
|
test_task:
|
||||||
freebsd_instance:
|
freebsd_instance:
|
||||||
matrix:
|
matrix:
|
||||||
image: freebsd-12-1-release-amd64
|
image: freebsd-13-0-release-amd64
|
||||||
|
image: freebsd-12-2-release-amd64
|
||||||
image: freebsd-11-4-release-amd64
|
image: freebsd-11-4-release-amd64
|
||||||
env:
|
env:
|
||||||
OS: FreeBSD
|
OS: FreeBSD
|
||||||
|
|||||||
26
.github/workflows/ci-alpine-linux.yml
vendored
Normal file
26
.github/workflows/ci-alpine-linux.yml
vendored
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
name: ci_alpine_linux
|
||||||
|
|
||||||
|
on: [push, pull_request]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
|
||||||
|
gcc-musl:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
container: alpine:latest
|
||||||
|
steps:
|
||||||
|
- name: install deps
|
||||||
|
run: >-
|
||||||
|
apk --no-cache add \
|
||||||
|
build-base \
|
||||||
|
meson \
|
||||||
|
pkgconf \
|
||||||
|
linux-pam \
|
||||||
|
linux-pam-dev
|
||||||
|
- name: checkout
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
- run: meson setup builddir/
|
||||||
|
env:
|
||||||
|
CC: gcc
|
||||||
|
- run: ninja -C builddir
|
||||||
|
env:
|
||||||
|
CC: gcc
|
||||||
32
.github/workflows/ci-ubuntu.yml
vendored
Normal file
32
.github/workflows/ci-ubuntu.yml
vendored
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
name: ci_ubuntu
|
||||||
|
|
||||||
|
on: [push, pull_request]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
|
||||||
|
gcc-glibc:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- run: sudo apt-get update -q
|
||||||
|
- run: sudo apt-get install -q -y build-essential libpam-dev meson
|
||||||
|
- run: meson setup builddir/
|
||||||
|
env:
|
||||||
|
CC: gcc
|
||||||
|
- run: ninja -C builddir
|
||||||
|
env:
|
||||||
|
CC: gcc
|
||||||
|
|
||||||
|
|
||||||
|
clang-glibc:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- run: sudo apt-get update -q
|
||||||
|
- run: sudo apt-get install -q -y build-essential clang libpam-dev meson
|
||||||
|
- run: meson setup builddir/
|
||||||
|
env:
|
||||||
|
CC: clang
|
||||||
|
- run: ninja -C builddir
|
||||||
|
env:
|
||||||
|
CC: clang
|
||||||
637
ChangeLog
637
ChangeLog
@@ -1,3 +1,488 @@
|
|||||||
|
commit eca4c2d31efc29ed653dbcfc3a3cc043d24bd08d
|
||||||
|
Author: William Hubbs <w.d.hubbs@gmail.com>
|
||||||
|
Commit: William Hubbs <w.d.hubbs@gmail.com>
|
||||||
|
|
||||||
|
support/init.d.examples: Do not use @PKG_PREFIX@ in service examples
|
||||||
|
|
||||||
|
I can't think of a reason to do this since these scripts are just
|
||||||
|
examples.
|
||||||
|
|
||||||
|
This is for #474.
|
||||||
|
|
||||||
|
commit 6a91444bd9f7f122f580d1297f33d58d5b518359
|
||||||
|
Author: Sam James <sam@gentoo.org>
|
||||||
|
Commit: William Hubbs <w.d.hubbs@gmail.com>
|
||||||
|
|
||||||
|
meson: fallback to libcrypt detection outside of pkg-config
|
||||||
|
|
||||||
|
Much like PAM, not all implementations of libcrypt provide a pkg-config
|
||||||
|
file, and hence we can't find it using the old logic.
|
||||||
|
|
||||||
|
Let's fall back to the standard AC_SEARCH_LIBS-style check if the pkg-config-style
|
||||||
|
detection fails.
|
||||||
|
|
||||||
|
This fixes finding e.g. musl's libcrypt.
|
||||||
|
|
||||||
|
X-Gentoo-Bug: 827074
|
||||||
|
X-Gentoo-Bug-URL: https://bugs.gentoo.org/827074
|
||||||
|
|
||||||
|
commit 075fb7c6465824b51881fa47c6419650011f4e0f
|
||||||
|
Author: Sam James <sam@gentoo.org>
|
||||||
|
Commit: William Hubbs <w.d.hubbs@gmail.com>
|
||||||
|
|
||||||
|
src/rc/rc-selinux.c: fix use of deprecated security_context_t
|
||||||
|
|
||||||
|
It's only a char* and has been deprecated upstream [0].
|
||||||
|
|
||||||
|
[0] https://github.com/SELinuxProject/selinux/commit/7a124ca27581
|
||||||
|
|
||||||
|
Fixes: #478
|
||||||
|
|
||||||
|
commit 7f597d024af1612d8a104ed6fe591aae71105220
|
||||||
|
Author: Sam James <sam@gentoo.org>
|
||||||
|
Commit: William Hubbs <w.d.hubbs@gmail.com>
|
||||||
|
|
||||||
|
meson: only find libcrypt if SELinux and no PAM
|
||||||
|
|
||||||
|
We only need libcrypt if we're building _with_ SELinux and
|
||||||
|
_without_ PAM. We don't use libcrypt for general SELinux
|
||||||
|
with PAM.
|
||||||
|
|
||||||
|
This is mostly a correctness change as libcrypt should
|
||||||
|
generally be available (as opposed to the previous
|
||||||
|
change which fixed some real-world cases).
|
||||||
|
|
||||||
|
Fixes: f3f0fde861b438c80f99afdd49fe175e9d0a68ca
|
||||||
|
Fixes: #478
|
||||||
|
|
||||||
|
commit 27219666abf15117c8722dcd716681f7e6e957bf
|
||||||
|
Author: Sam James <sam@gentoo.org>
|
||||||
|
Commit: William Hubbs <w.d.hubbs@gmail.com>
|
||||||
|
|
||||||
|
meson: link against libcrypt for SELinux if no PAM
|
||||||
|
|
||||||
|
We use libcrypt's crypt() if we're _not_ using PAM
|
||||||
|
in the SELinux code (rc-selinux, specifically).
|
||||||
|
|
||||||
|
X-Gentoo-Bug: 824954
|
||||||
|
X-Gentoo-Bug-URL: https://bugs.gentoo.org/824954
|
||||||
|
Fixes: https://github.com/openrc/openrc/pull/477
|
||||||
|
|
||||||
|
commit 76022cba36a5281f1da227a40f7fe7d805b85426
|
||||||
|
Author: Sam James <sam@gentoo.org>
|
||||||
|
Commit: William Hubbs <w.d.hubbs@gmail.com>
|
||||||
|
|
||||||
|
meson: fix pam_misc_dep definition
|
||||||
|
|
||||||
|
X-Gentoo-Bug: 824954
|
||||||
|
X-Gentoo-Bug-URL: https://bugs.gentoo.org/824954
|
||||||
|
Fixes: https://github.com/OpenRC/openrc/issues/470
|
||||||
|
Fixes: https://github.com/OpenRC/openrc/pull/477
|
||||||
|
|
||||||
|
commit 792dc7f6e8f31acace120b9e562412517ccea9d8
|
||||||
|
Author: Sam James <sam@gentoo.org>
|
||||||
|
Commit: William Hubbs <w.d.hubbs@gmail.com>
|
||||||
|
|
||||||
|
src/librc/librc-daemon.c: add missing include for kill (fix uclibc)
|
||||||
|
|
||||||
|
Fixes: #471
|
||||||
|
Fixes: #473
|
||||||
|
|
||||||
|
commit b5d576255bbe7ca3175046540a28d9613d40f9eb
|
||||||
|
Author: Sam James <sam@gentoo.org>
|
||||||
|
Commit: William Hubbs <w.d.hubbs@gmail.com>
|
||||||
|
|
||||||
|
src/librc/librc-misc.c: add missing include for fileno (fix uclibc)
|
||||||
|
|
||||||
|
Fixes: #471
|
||||||
|
Fixes: #473
|
||||||
|
|
||||||
|
commit 45d1494b5d741d1f061c5a28e2ef8b506d36249d
|
||||||
|
Author: William Hubbs <w.d.hubbs@gmail.com>
|
||||||
|
Commit: William Hubbs <w.d.hubbs@gmail.com>
|
||||||
|
|
||||||
|
version 0.44.8
|
||||||
|
|
||||||
|
commit 20856a14e9e045fc2ab3d87a2a7f5e1408d1914f
|
||||||
|
Author: William Hubbs <w.d.hubbs@gmail.com>
|
||||||
|
Commit: William Hubbs <w.d.hubbs@gmail.com>
|
||||||
|
|
||||||
|
update ChangeLog
|
||||||
|
|
||||||
|
commit a850651f5ce29a37574f7d76ae40ef9e1d2d4a62
|
||||||
|
Author: William Hubbs <w.d.hubbs@gmail.com>
|
||||||
|
Commit: William Hubbs <w.d.hubbs@gmail.com>
|
||||||
|
|
||||||
|
openrc-init: fix build for selinux
|
||||||
|
|
||||||
|
X-Gentoo-Bug: 821520
|
||||||
|
X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=821520
|
||||||
|
|
||||||
|
commit b0a80a042d20d3d0ee4d204c5c96e1538a65575f
|
||||||
|
Author: William Hubbs <w.d.hubbs@gmail.com>
|
||||||
|
Commit: William Hubbs <w.d.hubbs@gmail.com>
|
||||||
|
|
||||||
|
build: pam fix
|
||||||
|
|
||||||
|
Set the HAVE_PAM option if the dependency is found *and* pam is
|
||||||
|
requested.
|
||||||
|
|
||||||
|
X-Gentoo-Bug: 821211
|
||||||
|
X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=821211
|
||||||
|
|
||||||
|
commit 49620e95ec8ecd5d91c554d8e50cdf65df1920b5
|
||||||
|
Author: William Hubbs <w.d.hubbs@gmail.com>
|
||||||
|
Commit: William Hubbs <w.d.hubbs@gmail.com>
|
||||||
|
|
||||||
|
fix permission of installed version file
|
||||||
|
|
||||||
|
commit b4789b99104f08136ad160920388b8d4df000508
|
||||||
|
Author: William Hubbs <w.d.hubbs@gmail.com>
|
||||||
|
Commit: William Hubbs <w.d.hubbs@gmail.com>
|
||||||
|
|
||||||
|
version 0.44.7
|
||||||
|
|
||||||
|
commit d5ae8a2ad1b66f4f20609b3eadf9968b36133f7a
|
||||||
|
Author: William Hubbs <w.d.hubbs@gmail.com>
|
||||||
|
Commit: William Hubbs <w.d.hubbs@gmail.com>
|
||||||
|
|
||||||
|
update ChangeLog
|
||||||
|
|
||||||
|
commit 3a276728e079aa9f44ab19cf5858e1eac2670462
|
||||||
|
Author: Kerin Millar <kfm@plushkava.net>
|
||||||
|
Commit: William Hubbs <w.d.hubbs@gmail.com>
|
||||||
|
|
||||||
|
init.d/s6-svscan.in: make sure $command exists
|
||||||
|
|
||||||
|
While the s6-svscan runscript belongs to OpenRC, the user is required to
|
||||||
|
install s6 before it can actually be used, potentially leading to
|
||||||
|
confusion. Check for the existence of $command in start_pre and, if it does not
|
||||||
|
exist, bail out with an error that makes this observation.
|
||||||
|
|
||||||
|
X-Gentoo-Bug: 816978
|
||||||
|
X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=816978
|
||||||
|
|
||||||
|
commit 29d3e0bde237e13f8c5083d2f0db50652061bf2c
|
||||||
|
Author: William Hubbs <w.d.hubbs@gmail.com>
|
||||||
|
Commit: William Hubbs <w.d.hubbs@gmail.com>
|
||||||
|
|
||||||
|
selinux build fix
|
||||||
|
|
||||||
|
commit 969a0362252a7f9459337ac564ebf5f0c2c74476
|
||||||
|
Author: William Hubbs <w.d.hubbs@gmail.com>
|
||||||
|
Commit: William Hubbs <w.d.hubbs@gmail.com>
|
||||||
|
|
||||||
|
fix bug in pam build tests
|
||||||
|
|
||||||
|
commit 9767d24510e1d52b86a2051c25af2fa5928e7319
|
||||||
|
Author: William Hubbs <w.d.hubbs@gmail.com>
|
||||||
|
Commit: William Hubbs <w.d.hubbs@gmail.com>
|
||||||
|
|
||||||
|
support older pam versions
|
||||||
|
|
||||||
|
Some distros are still using versions of pam which do not create
|
||||||
|
*.pc files, so we need fallback logic for that situation.
|
||||||
|
|
||||||
|
commit c73284ef963cd6b3c47dd007a45f5c13c5dafcb0
|
||||||
|
Author: William Hubbs <w.d.hubbs@gmail.com>
|
||||||
|
Commit: William Hubbs <w.d.hubbs@gmail.com>
|
||||||
|
|
||||||
|
build: fix pam and pam_misc dependencies
|
||||||
|
|
||||||
|
Pam generates pkgconfig files now, so meson can use them to find the pam
|
||||||
|
dependencies.
|
||||||
|
|
||||||
|
commit 0657bf0d25a460b4b56579984eb326302f3bf121
|
||||||
|
Author: William Hubbs <w.d.hubbs@gmail.com>
|
||||||
|
Commit: William Hubbs <w.d.hubbs@gmail.com>
|
||||||
|
|
||||||
|
separate github actions based on OS
|
||||||
|
|
||||||
|
This fixes #466.
|
||||||
|
|
||||||
|
commit 80aad11b02d575d5a949914bb6942b92fc15e834
|
||||||
|
Author: Sam James <sam@gentoo.org>
|
||||||
|
Commit: William Hubbs <w.d.hubbs@gmail.com>
|
||||||
|
|
||||||
|
add github action to build on several linux platforms
|
||||||
|
|
||||||
|
This github action runs a build on each of the following platforms on a
|
||||||
|
push or pull request.
|
||||||
|
|
||||||
|
- Ubuntu LTS with gcc and glibc
|
||||||
|
- Ubuntu LTS with clang and glibc
|
||||||
|
- Alpine with gcc and musl
|
||||||
|
|
||||||
|
This fixes #463.
|
||||||
|
|
||||||
|
commit 2d9dc654b58c4a523b01097369ce94708c8cf43a
|
||||||
|
Author: Sam James <sam@gentoo.org>
|
||||||
|
Commit: William Hubbs <w.d.hubbs@gmail.com>
|
||||||
|
|
||||||
|
.cirrus.yml: update FreeBSD images
|
||||||
|
|
||||||
|
commit f46cc83ef7100ce713c4e616524e63371825e153
|
||||||
|
Author: William Hubbs <w.d.hubbs@gmail.com>
|
||||||
|
Commit: William Hubbs <w.d.hubbs@gmail.com>
|
||||||
|
|
||||||
|
move rc_bindir and rc_sbindir definitions to the top level
|
||||||
|
|
||||||
|
commit cc45b55f895d0c21b5ac3e5a65b0bf00f76adeb7
|
||||||
|
Author: Sam James <sam@gentoo.org>
|
||||||
|
Commit: William Hubbs <w.d.hubbs@gmail.com>
|
||||||
|
|
||||||
|
checkpath: fix allocation size of path buffer
|
||||||
|
|
||||||
|
strlen's return value isn't enough to be used
|
||||||
|
directly for (x)malloc; it doesn't include
|
||||||
|
the null byte at the end of the string.
|
||||||
|
|
||||||
|
X-Gentoo-Bug: 816900
|
||||||
|
X-Gentoo-Bug-URL: https://bugs.gentoo.org/816900
|
||||||
|
Fixes: #459
|
||||||
|
Fixes: #462
|
||||||
|
|
||||||
|
commit 930e69017f95766c662763c2445e2827eb037fd7
|
||||||
|
Author: William Hubbs <w.d.hubbs@gmail.com>
|
||||||
|
Commit: William Hubbs <w.d.hubbs@gmail.com>
|
||||||
|
|
||||||
|
version 0.44.6
|
||||||
|
|
||||||
|
commit 44912434cfe139a1953bbd3b2cde7e0b2bce0ae7
|
||||||
|
Author: William Hubbs <w.d.hubbs@gmail.com>
|
||||||
|
Commit: William Hubbs <w.d.hubbs@gmail.com>
|
||||||
|
|
||||||
|
update ChangeLog
|
||||||
|
|
||||||
|
commit c7fde9a3dab01d30d16f9907f7cce00799f92821
|
||||||
|
Author: William Hubbs <w.d.hubbs@gmail.com>
|
||||||
|
Commit: William Hubbs <w.d.hubbs@gmail.com>
|
||||||
|
|
||||||
|
fix build for selinux
|
||||||
|
|
||||||
|
I would like to thank jpds@protonmail.com for the patch.
|
||||||
|
|
||||||
|
X-Gentoo-Bug: 815847
|
||||||
|
X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=815847
|
||||||
|
|
||||||
|
commit ffededbf955e39add0fbbacc22f2c0d7a8901b35
|
||||||
|
Author: William Hubbs <w.d.hubbs@gmail.com>
|
||||||
|
Commit: William Hubbs <w.d.hubbs@gmail.com>
|
||||||
|
|
||||||
|
version 0.44.5
|
||||||
|
|
||||||
|
commit b0efb663f9ed84627c302a2d051fc5a74fb0c2b6
|
||||||
|
Author: William Hubbs <w.d.hubbs@gmail.com>
|
||||||
|
Commit: William Hubbs <w.d.hubbs@gmail.com>
|
||||||
|
|
||||||
|
update ChangeLog
|
||||||
|
|
||||||
|
commit aa69e48125df7684ab3b77eaf9013f8c126b1fca
|
||||||
|
Author: William Hubbs <w.d.hubbs@gmail.com>
|
||||||
|
Commit: William Hubbs <w.d.hubbs@gmail.com>
|
||||||
|
|
||||||
|
build: fix rootprefix
|
||||||
|
|
||||||
|
This fixes #438.
|
||||||
|
|
||||||
|
commit 4ba10f1d5074a45b4ddd96d2d404842fa3b38e63
|
||||||
|
Author: William Hubbs <w.d.hubbs@gmail.com>
|
||||||
|
Commit: William Hubbs <w.d.hubbs@gmail.com>
|
||||||
|
|
||||||
|
link runscript with audit
|
||||||
|
|
||||||
|
commit 38a9e2ff630b0e0bd261afb2e66072f904b5d608
|
||||||
|
Author: William Hubbs <w.d.hubbs@gmail.com>
|
||||||
|
Commit: William Hubbs <w.d.hubbs@gmail.com>
|
||||||
|
|
||||||
|
link openrc-run with audit and libpam_misc
|
||||||
|
|
||||||
|
commit 783af5abac209c7745fd5c06dc89b2f5dfa3b313
|
||||||
|
Author: William Hubbs <w.d.hubbs@gmail.com>
|
||||||
|
Commit: William Hubbs <w.d.hubbs@gmail.com>
|
||||||
|
|
||||||
|
version 0.44.4
|
||||||
|
|
||||||
|
commit 75c3b53e3195f2d3541a7d83920667d1c4b14337
|
||||||
|
Author: William Hubbs <w.d.hubbs@gmail.com>
|
||||||
|
Commit: William Hubbs <w.d.hubbs@gmail.com>
|
||||||
|
|
||||||
|
update ChangeLog
|
||||||
|
|
||||||
|
commit c300c180a2a7dbefb46272c2acac6462372b8eb0
|
||||||
|
Author: Natanael Copa <ncopa@alpinelinux.org>
|
||||||
|
Commit: William Hubbs <w.d.hubbs@gmail.com>
|
||||||
|
|
||||||
|
hide error when migrating /var/run to /run
|
||||||
|
|
||||||
|
The script tries to copy non-existing files. We simply hide the error
|
||||||
|
|
||||||
|
http://bugs.alpinelinux.org/issues/3160
|
||||||
|
This fixes #451.
|
||||||
|
|
||||||
|
commit be8d2ee6e35a6ea504e6a3cf725b8804dd2da617
|
||||||
|
Author: Natanael Copa <ncopa@alpinelinux.org>
|
||||||
|
Commit: William Hubbs <w.d.hubbs@gmail.com>
|
||||||
|
|
||||||
|
force root to be rw before localmount
|
||||||
|
|
||||||
|
The original service that pulled in root remount was mtab which
|
||||||
|
is not part of OpenRC.
|
||||||
|
|
||||||
|
This fixes #449.
|
||||||
|
|
||||||
|
commit d9ef1bb6355c62e335a972f203806210de68912f
|
||||||
|
Author: Aaditya Bagga <aaditya_gnulinux@zoho.com>
|
||||||
|
Commit: William Hubbs <w.d.hubbs@gmail.com>
|
||||||
|
|
||||||
|
[runit integration] give a bit of time to start the service
|
||||||
|
|
||||||
|
Currently, we run sv start immediately after linking the service.
|
||||||
|
The runsv process may not be up at the moment, as a result of which
|
||||||
|
openrc will mark the service as stopped, even though it may be brought up
|
||||||
|
by runit at the next scan.
|
||||||
|
|
||||||
|
This is documented in the gentoo wiki:
|
||||||
|
https://wiki.gentoo.org/wiki/Runit#OpenRC.27s_runit_integration_feature
|
||||||
|
|
||||||
|
This PR adds a timeout so that correct process state can be reported.
|
||||||
|
|
||||||
|
Before:
|
||||||
|
* Starting netdata-runit ...
|
||||||
|
fail: /run/openrc/sv/netdata: runsv not running
|
||||||
|
* Failed to start netdata-runit
|
||||||
|
|
||||||
|
After:
|
||||||
|
* Starting netdata-runit ...
|
||||||
|
fail: /run/openrc/sv/netdata: runsv not running
|
||||||
|
ok: run: /run/openrc/sv/netdata: (pid 9042) 0s
|
||||||
|
|
||||||
|
This fixes #253.
|
||||||
|
|
||||||
|
commit cfc699121960a8298c8e9519239c149f31a35ef0
|
||||||
|
Author: Jakub Jirutka <jakub@jirutka.cz>
|
||||||
|
Commit: William Hubbs <w.d.hubbs@gmail.com>
|
||||||
|
|
||||||
|
Fix undeclared UT_LINESIZE
|
||||||
|
|
||||||
|
Fix the following error:
|
||||||
|
|
||||||
|
broadcast.c:41:21: error: '__UT_LINESIZE' undeclared (first use in this function); did you mean 'UT_LINESIZE'?
|
||||||
|
#define UT_LINESIZE __UT_LINESIZE
|
||||||
|
^~~~~~~~~~
|
||||||
|
|
||||||
|
Constant UT_LINESIZE is defined in <utmp.h> provided by musl.
|
||||||
|
|
||||||
|
commit 97ae5af2017df2667e0c79d7dac3706b3a93c6cc
|
||||||
|
Author: Sören Tempel <soeren+git@soeren-tempel.net>
|
||||||
|
Commit: William Hubbs <w.d.hubbs@gmail.com>
|
||||||
|
|
||||||
|
rc-mount: make timeout invocation compatible with busybox timeout
|
||||||
|
|
||||||
|
Busybox timeout does not support the `-k` flag. As such, invoking fuser
|
||||||
|
from do_unmount never worked without this patch. This went unnoticed as
|
||||||
|
standard error is redirected to /dev/null. This patch fixes this by
|
||||||
|
simply removing the incompatible `-k` flag.
|
||||||
|
|
||||||
|
[Ariadne: the `-k` is redundant anyway, since we are sending the KILL
|
||||||
|
signal to begin with.]
|
||||||
|
|
||||||
|
commit 4c820a0e48301f997911a196d6159670dad68296
|
||||||
|
Author: William Hubbs <w.d.hubbs@gmail.com>
|
||||||
|
Commit: William Hubbs <w.d.hubbs@gmail.com>
|
||||||
|
|
||||||
|
version 0.44.3
|
||||||
|
|
||||||
|
commit 9c39b381a5185325dc1359b6001f00e60732ec71
|
||||||
|
Author: William Hubbs <w.d.hubbs@gmail.com>
|
||||||
|
Commit: William Hubbs <w.d.hubbs@gmail.com>
|
||||||
|
|
||||||
|
update ChangeLog
|
||||||
|
|
||||||
|
commit 321bb2cd90cf673d03175c56bf1cecfcef02bd49
|
||||||
|
Author: Ariadne Conill <ariadne@dereferenced.org>
|
||||||
|
Commit: William Hubbs <w.d.hubbs@gmail.com>
|
||||||
|
|
||||||
|
fix build under musl 1.2 on 32 bit systems
|
||||||
|
|
||||||
|
Since musl 1.2 time_t is a 64 bit value, even on 32 bit systems. A
|
||||||
|
hotfix for printing the value is simply using PRIu64 from inttypes.h
|
||||||
|
in the format string.
|
||||||
|
|
||||||
|
This fixes #446.
|
||||||
|
|
||||||
|
commit 8c99d817d48bc879504b8973d868e1718f4e7d12
|
||||||
|
Author: Ariadne Conill <ariadne@dereferenced.org>
|
||||||
|
Commit: William Hubbs <w.d.hubbs@gmail.com>
|
||||||
|
|
||||||
|
fix trailing whitespace in tools/meson_runlevels.sh
|
||||||
|
|
||||||
|
commit 2e1fb4d02b1ad294394107642aed07f057e6a8b9
|
||||||
|
Author: artoo <artoo@artixlinux.org>
|
||||||
|
Commit: William Hubbs <w.d.hubbs@gmail.com>
|
||||||
|
|
||||||
|
meson: fix symlinks with sysvinit
|
||||||
|
|
||||||
|
commit a2f0afb8bcb024c8d532d8be8b855d72f999aab8
|
||||||
|
Author: William Hubbs <w.d.hubbs@gmail.com>
|
||||||
|
Commit: William Hubbs <w.d.hubbs@gmail.com>
|
||||||
|
|
||||||
|
version 0.44.2
|
||||||
|
|
||||||
|
commit 430fa132f2596de126f8461f361333c89b794945
|
||||||
|
Author: William Hubbs <w.d.hubbs@gmail.com>
|
||||||
|
Commit: William Hubbs <w.d.hubbs@gmail.com>
|
||||||
|
|
||||||
|
update ChangeLog
|
||||||
|
|
||||||
|
commit 12cd7ce9dea73926c203c5d64e425d51e209425a
|
||||||
|
Author: William Hubbs <w.d.hubbs@gmail.com>
|
||||||
|
Commit: William Hubbs <w.d.hubbs@gmail.com>
|
||||||
|
|
||||||
|
build: install pam files
|
||||||
|
|
||||||
|
commit 167acac1407782d454be2cc413431c00498e94ed
|
||||||
|
Author: William Hubbs <w.d.hubbs@gmail.com>
|
||||||
|
Commit: William Hubbs <w.d.hubbs@gmail.com>
|
||||||
|
|
||||||
|
meson: typo fix
|
||||||
|
|
||||||
|
commit f839ba27c5e52990ca9c6431bba4455a1124f81d
|
||||||
|
Author: William Hubbs <w.d.hubbs@gmail.com>
|
||||||
|
Commit: William Hubbs <w.d.hubbs@gmail.com>
|
||||||
|
|
||||||
|
version 0.44.1
|
||||||
|
|
||||||
|
commit 80dd6aac5fcb1f17b86d35db2babe487b90d7081
|
||||||
|
Author: William Hubbs <w.d.hubbs@gmail.com>
|
||||||
|
Commit: William Hubbs <w.d.hubbs@gmail.com>
|
||||||
|
|
||||||
|
update ChangeLog
|
||||||
|
|
||||||
|
commit 0d00b8d8abe33c4d824446ed989e8cc3166590b4
|
||||||
|
Author: William Hubbs <w.d.hubbs@gmail.com>
|
||||||
|
Commit: William Hubbs <w.d.hubbs@gmail.com>
|
||||||
|
|
||||||
|
build: fix sysvinit script installation
|
||||||
|
|
||||||
|
commit 551bdff2fbe61452187d5d492377b876e868a9fb
|
||||||
|
Author: William Hubbs <w.d.hubbs@gmail.com>
|
||||||
|
Commit: William Hubbs <w.d.hubbs@gmail.com>
|
||||||
|
|
||||||
|
build: fix symlinks
|
||||||
|
|
||||||
|
commit 803aa1c637c42352c05a520dbb02bee6c03ccf75
|
||||||
|
Author: William Hubbs <w.d.hubbs@gmail.com>
|
||||||
|
Commit: William Hubbs <w.d.hubbs@gmail.com>
|
||||||
|
|
||||||
|
version 0.44
|
||||||
|
|
||||||
|
commit fb186a38673201a7a25d6a7c1516fcb734020ee1
|
||||||
|
Author: William Hubbs <w.d.hubbs@gmail.com>
|
||||||
|
Commit: William Hubbs <w.d.hubbs@gmail.com>
|
||||||
|
|
||||||
|
update ChangeLog
|
||||||
|
|
||||||
commit c9b64b64fa9b2d2ee31684e8d35375f4c5bddba1
|
commit c9b64b64fa9b2d2ee31684e8d35375f4c5bddba1
|
||||||
Author: William Hubbs <w.d.hubbs@gmail.com>
|
Author: William Hubbs <w.d.hubbs@gmail.com>
|
||||||
Commit: William Hubbs <w.d.hubbs@gmail.com>
|
Commit: William Hubbs <w.d.hubbs@gmail.com>
|
||||||
@@ -551,155 +1036,3 @@ Commit: William Hubbs <w.d.hubbs@gmail.com>
|
|||||||
|
|
||||||
This fixes #375 and allows us to not add another level of indentation in
|
This fixes #375 and allows us to not add another level of indentation in
|
||||||
the supervisor loop.
|
the supervisor loop.
|
||||||
|
|
||||||
commit 57d9528a0bc64366ea3e0fbbb21b1282ce5c1212
|
|
||||||
Author: Dermot Bradley <dermot_bradley@yahoo.com>
|
|
||||||
Commit: William Hubbs <w.d.hubbs@gmail.com>
|
|
||||||
|
|
||||||
Remove warning when osclock init.d script runs
|
|
||||||
|
|
||||||
Currently when osclock is enabled as a init.d service the following
|
|
||||||
messages appear during boot when osclock starts:
|
|
||||||
|
|
||||||
* The command variable is undefined.
|
|
||||||
* There is nothing for osclock to start.
|
|
||||||
* If this is what you intend, please write a start function.
|
|
||||||
* This will become a failure in a future release.
|
|
||||||
|
|
||||||
osclock is activated whenever a machine's system clock is automatically
|
|
||||||
configured from a RTC by the kernel and the osclock's only purpose is to
|
|
||||||
satisfy the "clock" dependency defined by other init.d services.
|
|
||||||
|
|
||||||
Adding a stub start() function prevents OpenRC from showing warnings but
|
|
||||||
continues to ensure that the osclock service still does not actually do
|
|
||||||
anything.
|
|
||||||
|
|
||||||
This fixes #377.
|
|
||||||
|
|
||||||
commit 6ce48f124aea593b77163d6f198d18bbe9093068
|
|
||||||
Author: Calvin Montgomery <calzoneman@gmail.com>
|
|
||||||
Commit: William Hubbs <w.d.hubbs@gmail.com>
|
|
||||||
|
|
||||||
man/openrc.8: populate OPTIONS from --help output
|
|
||||||
|
|
||||||
This fixes #378.
|
|
||||||
|
|
||||||
commit 00ea2166081856774f24f7243126f701c7fe6db9
|
|
||||||
Author: Michael Orlitzky <michael@orlitzky.com>
|
|
||||||
Commit: William Hubbs <w.d.hubbs@gmail.com>
|
|
||||||
|
|
||||||
src/rc/checkpath.c: replace mkdir() with mkdirat().
|
|
||||||
|
|
||||||
The do_check() function recently gained some defenses against symlink
|
|
||||||
replacement attacks that involve the use of *at functions in place of
|
|
||||||
their vanilla counterparts; openat() instead of open(), for example.
|
|
||||||
One opportunity to replace mkdir() with mkdirat() was missed, however,
|
|
||||||
and this commit replaces it.
|
|
||||||
|
|
||||||
This fixes #386.
|
|
||||||
|
|
||||||
commit ac7ca6d901d72b1bc4ed13be5438e825c07fc0da
|
|
||||||
Author: Michael Orlitzky <michael@orlitzky.com>
|
|
||||||
Commit: William Hubbs <w.d.hubbs@gmail.com>
|
|
||||||
|
|
||||||
src/rc/checkpath.c: fix typo "synbolic" -> "symbolic".
|
|
||||||
|
|
||||||
commit 47819f004cec3cc3e911ba69003b8b52bacbebef
|
|
||||||
Author: Johannes Heimansberg <git@jhe.dedyn.io>
|
|
||||||
Commit: William Hubbs <w.d.hubbs@gmail.com>
|
|
||||||
|
|
||||||
start-stop-daemon, supervise-daemon: fix parsing of usernames passed via --user that start with a number
|
|
||||||
|
|
||||||
start-stop-daemon and supervise-daemon parse usernames and group names
|
|
||||||
passed via the --user argument as numeric UID/GID if they start with a
|
|
||||||
number (e.g. user "4foo" will be treated as UID 4). This results in the
|
|
||||||
process that is being started to run under a totally unexpected user if
|
|
||||||
that UID exists.
|
|
||||||
|
|
||||||
Even though the result of the sscanf calls are tested for a result of
|
|
||||||
exactly 1, which means exactly one value was extracted, because sscanf's
|
|
||||||
format string only contains only one placeholder, it will never return
|
|
||||||
a value greater than 1, even if there are still characters left to be
|
|
||||||
parsed. This causes start-stop-daemon and supervise-daemon to assume
|
|
||||||
that usernames starting with a number are just that number. Adding a
|
|
||||||
second placeholder "%1s" to the format string, which matches a string of
|
|
||||||
length 1, makes sure that sscanf can distinguish between pure numbers
|
|
||||||
(in which case it will return 1) and strings either starting with a
|
|
||||||
number (in which case it will return 2) and any other string (in which
|
|
||||||
case it will return 0).
|
|
||||||
|
|
||||||
This fixes #379.
|
|
||||||
This fixes #380.
|
|
||||||
|
|
||||||
commit 0fab3e837b45021fdcc02a71873c3c245ce96080
|
|
||||||
Author: William Hubbs <w.d.hubbs@gmail.com>
|
|
||||||
Commit: William Hubbs <w.d.hubbs@gmail.com>
|
|
||||||
|
|
||||||
bootmisc: allow sysvinit compatibility during shutdown
|
|
||||||
|
|
||||||
Use "halt -w" to write the halt record if it exists.
|
|
||||||
Otherwise use openrc-shutdown.
|
|
||||||
|
|
||||||
This fixes #336.
|
|
||||||
|
|
||||||
commit 38aaba28ee86602e29d8a31f155dfa72f5481e68
|
|
||||||
Author: William Hubbs <w.d.hubbs@gmail.com>
|
|
||||||
Commit: William Hubbs <w.d.hubbs@gmail.com>
|
|
||||||
|
|
||||||
scripts/shutdown.in: fix sysvinit compatible shutdown
|
|
||||||
|
|
||||||
X-Gentoo-Bug: https://bugs.gentoo.org/755422
|
|
||||||
|
|
||||||
commit 3ed4126a31406124ae8042fc3d4c0bf963d6961e
|
|
||||||
Author: William Hubbs <w.d.hubbs@gmail.com>
|
|
||||||
Commit: William Hubbs <w.d.hubbs@gmail.com>
|
|
||||||
|
|
||||||
update news for 0.43 with info on checkpath fix
|
|
||||||
|
|
||||||
commit aa0fdf6d08b987dfcabebf5b8d05beff015ad8f4
|
|
||||||
Author: Lars Wendler <polynomial-c@gentoo.org>
|
|
||||||
Commit: William Hubbs <w.d.hubbs@gmail.com>
|
|
||||||
|
|
||||||
start-stop-daemon: Don't segfault if --exec was given a non-existing file name
|
|
||||||
|
|
||||||
Starting program: /sbin/start-stop-daemon --start --exec i-dont-exist
|
|
||||||
|
|
||||||
Program received signal SIGSEGV, Segmentation fault.
|
|
||||||
0x0000555555559053 in main (argc=1, argv=0x7fffffffdc20)
|
|
||||||
at start-stop-daemon.c:631
|
|
||||||
631 *exec_file ? exec_file : exec);
|
|
||||||
|
|
||||||
This fixes #385.
|
|
||||||
|
|
||||||
commit b6fef599bf8493480664b766040fa9b0d4b1e335
|
|
||||||
Author: William Hubbs <w.d.hubbs@gmail.com>
|
|
||||||
Commit: William Hubbs <w.d.hubbs@gmail.com>
|
|
||||||
|
|
||||||
checkpath: fix CVE-2018-21269
|
|
||||||
|
|
||||||
This walks the directory path to the file we are going to manipulate to make
|
|
||||||
sure that when we create the file and change the ownership and permissions
|
|
||||||
we are working on the same file.
|
|
||||||
Also, all non-terminal symbolic links must be owned by root. This will
|
|
||||||
keep a non-root user from making a symbolic link as described in the
|
|
||||||
bug. If root creates the symbolic link, it is assumed to be trusted.
|
|
||||||
|
|
||||||
On non-linux platforms, we no longer follow non-terminal symbolic links
|
|
||||||
by default. If you need to do that, add the -s option on the checkpath
|
|
||||||
command line, but keep in mind that this is not secure.
|
|
||||||
|
|
||||||
This fixes #201.
|
|
||||||
|
|
||||||
commit aac1734a70b60da97d4d24930f1902ca46894b44
|
|
||||||
Author: Julien Surloppe <julien@surloppe.fr>
|
|
||||||
Commit: Mike Frysinger <vapier@gmail.com>
|
|
||||||
|
|
||||||
Update user-guide.md
|
|
||||||
|
|
||||||
Add missing underscore.
|
|
||||||
|
|
||||||
commit 2355f1a3f2a4fd62cac6d9af0e94c8731acd4c0f
|
|
||||||
Author: William Hubbs <w.d.hubbs@gmail.com>
|
|
||||||
Commit: William Hubbs <w.d.hubbs@gmail.com>
|
|
||||||
|
|
||||||
supervise-daemon: only log debug logs when verbose mode is active
|
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
NAME= openrc
|
NAME= openrc
|
||||||
VERSION= 0.44
|
VERSION= 0.44.8
|
||||||
PKG= ${NAME}-${VERSION}
|
PKG= ${NAME}-${VERSION}
|
||||||
|
|||||||
@@ -113,8 +113,10 @@ migrate_to_run()
|
|||||||
rm $src
|
rm $src
|
||||||
elif [ ! -L $src -a -d $src ]; then
|
elif [ ! -L $src -a -d $src ]; then
|
||||||
ebegin "Migrating $src to $dst"
|
ebegin "Migrating $src to $dst"
|
||||||
cp -a $src/* $dst/
|
if ! rmdir $src 2>/dev/null; then
|
||||||
rm -rf $src
|
cp -a $src/* $dst/
|
||||||
|
rm -rf $src
|
||||||
|
fi
|
||||||
eend $?
|
eend $?
|
||||||
fi
|
fi
|
||||||
# If $src doesn't exist at all, just run this
|
# If $src doesn't exist at all, just run this
|
||||||
|
|||||||
@@ -13,9 +13,9 @@ description="Mounts disks and swap according to /etc/fstab."
|
|||||||
|
|
||||||
depend()
|
depend()
|
||||||
{
|
{
|
||||||
need fsck
|
need fsck root
|
||||||
use lvm modules root
|
use lvm modules
|
||||||
after clock lvm modules root
|
after clock lvm modules
|
||||||
keyword -docker -jail -lxc -prefix -systemd-nspawn -vserver
|
keyword -docker -jail -lxc -prefix -systemd-nspawn -vserver
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -21,9 +21,13 @@ depend()
|
|||||||
|
|
||||||
start_pre()
|
start_pre()
|
||||||
{
|
{
|
||||||
einfo "Creating s6 scan directory"
|
if [ ! -e "$command" ]; then
|
||||||
checkpath -d -m 0755 "$RC_SVCDIR"/s6-scan
|
eerror "$command is missing (please install s6)"
|
||||||
return $?
|
else
|
||||||
|
einfo "Creating s6 scan directory"
|
||||||
|
checkpath -d -m 0755 "$RC_SVCDIR"/s6-scan
|
||||||
|
fi
|
||||||
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
stop_post()
|
stop_post()
|
||||||
|
|||||||
60
meson.build
60
meson.build
@@ -1,5 +1,5 @@
|
|||||||
project('OpenRC', 'c',
|
project('OpenRC', 'c',
|
||||||
version : '0.44',
|
version : '0.44.8',
|
||||||
license: 'BSD-2',
|
license: 'BSD-2',
|
||||||
default_options : [
|
default_options : [
|
||||||
'c_std=c99',
|
'c_std=c99',
|
||||||
@@ -42,17 +42,20 @@ else
|
|||||||
os = option_os
|
os = option_os
|
||||||
endif
|
endif
|
||||||
|
|
||||||
pam = get_option('pam')
|
pam_dep = dependency('pam', required: false)
|
||||||
if pam
|
if not pam_dep.found()
|
||||||
libpam = cc.find_library('pam')
|
pam_dep = cc.find_library('pam', required: false)
|
||||||
libpam_misc = cc.find_library('pam_misc')
|
endif
|
||||||
|
if pam_dep.found() and get_option('pam')
|
||||||
cc_pam_flags = '-DHAVE_PAM'
|
cc_pam_flags = '-DHAVE_PAM'
|
||||||
else
|
else
|
||||||
libpam = []
|
|
||||||
libpam_misc = []
|
|
||||||
cc_pam_flags = []
|
cc_pam_flags = []
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
if not pam_dep.found() and get_option('pam')
|
||||||
|
error('Pam was requested but could not be located')
|
||||||
|
endif
|
||||||
|
|
||||||
option_pkg_prefix = get_option('pkg_prefix')
|
option_pkg_prefix = get_option('pkg_prefix')
|
||||||
if option_pkg_prefix == ''
|
if option_pkg_prefix == ''
|
||||||
if os == 'Dragonfly' or os == 'FreeBSD'
|
if os == 'Dragonfly' or os == 'FreeBSD'
|
||||||
@@ -72,26 +75,45 @@ else
|
|||||||
split_usr = get_option('split-usr') == 'true'
|
split_usr = get_option('split-usr') == 'true'
|
||||||
endif
|
endif
|
||||||
|
|
||||||
rootprefix_default = split_usr ? '/' : '/usr'
|
rootprefix = get_option('rootprefix')
|
||||||
rootprefix_path = get_option('rootprefix')
|
rootprefix_default = '/'
|
||||||
rootprefix = rootprefix_path != '' ? rootprefix_path : rootprefix_default
|
if rootprefix == ''
|
||||||
|
rootprefix = rootprefix_default
|
||||||
|
endif
|
||||||
|
|
||||||
bindir = rootprefix / get_option('bindir')
|
bindir = rootprefix / get_option('bindir')
|
||||||
libdir = rootprefix / get_option('libdir')
|
libdir = rootprefix / get_option('libdir')
|
||||||
if os == 'Linux' and split_usr
|
libexecdir = get_option('libexecdir')
|
||||||
libexecpath = 'lib'
|
if os == 'Linux' and libexecdir == 'libexec'
|
||||||
else
|
libexecdir = 'lib'
|
||||||
libexecpath = get_option('libexecdir')
|
|
||||||
endif
|
endif
|
||||||
libexecdir = split_usr ? rootprefix / libexecpath :
|
libexecdir = rootprefix / libexecdir
|
||||||
get_option('prefix') / libexecpath
|
|
||||||
rc_libexecdir = libexecdir / 'rc'
|
rc_libexecdir = libexecdir / 'rc'
|
||||||
|
rc_bindir = rc_libexecdir / 'bin'
|
||||||
|
rc_sbindir = rc_libexecdir / 'sbin'
|
||||||
sbindir = rootprefix / get_option('sbindir')
|
sbindir = rootprefix / get_option('sbindir')
|
||||||
|
|
||||||
|
crypt_dep = []
|
||||||
|
|
||||||
selinux_dep = dependency('libselinux', required : get_option('selinux'))
|
selinux_dep = dependency('libselinux', required : get_option('selinux'))
|
||||||
|
pam_misc_dep = []
|
||||||
if selinux_dep.found()
|
if selinux_dep.found()
|
||||||
cc_selinux_flags = '-DHAVE_SELINUX'
|
cc_selinux_flags = '-DHAVE_SELINUX'
|
||||||
|
if pam_dep.found() and get_option('pam')
|
||||||
|
pam_misc_dep = dependency('pam_misc', required: false)
|
||||||
|
if not pam_misc_dep.found()
|
||||||
|
pam_misc_dep = cc.find_library('pam_misc', required: false)
|
||||||
|
endif
|
||||||
|
if not pam_misc_dep.found() and get_option('pam')
|
||||||
|
error('Pam was requested but could not be located')
|
||||||
|
endif
|
||||||
else
|
else
|
||||||
|
crypt_dep = dependency('libcrypt', required : false)
|
||||||
|
if not crypt_dep.found()
|
||||||
|
crypt_dep = cc.find_library('crypt', required : true)
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
else
|
||||||
cc_selinux_flags = []
|
cc_selinux_flags = []
|
||||||
endif
|
endif
|
||||||
|
|
||||||
@@ -164,6 +186,9 @@ subdir('etc')
|
|||||||
subdir('init.d')
|
subdir('init.d')
|
||||||
subdir('local.d')
|
subdir('local.d')
|
||||||
subdir('man')
|
subdir('man')
|
||||||
|
if get_option('pam')
|
||||||
|
subdir('pam')
|
||||||
|
endif
|
||||||
if get_option('pkgconfig')
|
if get_option('pkgconfig')
|
||||||
subdir('pkgconfig')
|
subdir('pkgconfig')
|
||||||
endif
|
endif
|
||||||
@@ -180,7 +205,8 @@ meson.add_install_script('tools/meson_runlevels.sh',
|
|||||||
os,
|
os,
|
||||||
get_option('newnet') ? 'yes' : 'no',
|
get_option('newnet') ? 'yes' : 'no',
|
||||||
rc_libexecdir,
|
rc_libexecdir,
|
||||||
get_option('sysconfdir'))
|
get_option('sysconfdir'),
|
||||||
|
get_option('sysvinit') ? 'yes' : 'no')
|
||||||
meson.add_install_script('tools/meson_final.sh',
|
meson.add_install_script('tools/meson_final.sh',
|
||||||
rc_libexecdir,
|
rc_libexecdir,
|
||||||
os)
|
os)
|
||||||
|
|||||||
9
pam/meson.build
Normal file
9
pam/meson.build
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
pam_dir = get_option('sysconfdir') / 'pam.d'
|
||||||
|
|
||||||
|
pam_files = [
|
||||||
|
'start-stop-daemon',
|
||||||
|
'supervise-daemon',
|
||||||
|
]
|
||||||
|
|
||||||
|
install_data(pam_files,
|
||||||
|
install_dir : pam_dir)
|
||||||
6
pam/start-stop-daemon
Normal file
6
pam/start-stop-daemon
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
#%PAM-1.0
|
||||||
|
|
||||||
|
auth required pam_permit.so
|
||||||
|
account required pam_permit.so
|
||||||
|
password required pam_deny.so
|
||||||
|
session optional pam_limits.so
|
||||||
6
pam/supervise-daemon
Normal file
6
pam/supervise-daemon
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
#%PAM-1.0
|
||||||
|
|
||||||
|
auth required pam_permit.so
|
||||||
|
account required pam_permit.so
|
||||||
|
password required pam_deny.so
|
||||||
|
session optional pam_limits.so
|
||||||
@@ -12,10 +12,10 @@ scripts_Linux = [
|
|||||||
]
|
]
|
||||||
|
|
||||||
scripts_sysvinit = [
|
scripts_sysvinit = [
|
||||||
'halt',
|
'halt.in',
|
||||||
'poweroff',
|
'poweroff.in',
|
||||||
'shutdown',
|
'shutdown.in',
|
||||||
'reboot',
|
'reboot.in',
|
||||||
]
|
]
|
||||||
|
|
||||||
install_data(scripts_internal,
|
install_data(scripts_internal,
|
||||||
|
|||||||
@@ -8,7 +8,12 @@ sbindir="$2"
|
|||||||
binaries=" halt poweroff rc-sstat reboot shutdown"
|
binaries=" halt poweroff rc-sstat reboot shutdown"
|
||||||
for f in $binaries; do
|
for f in $binaries; do
|
||||||
if [ -x "${DESTDIR}${rc_libexecdir}/bin/${f}" ]; then
|
if [ -x "${DESTDIR}${rc_libexecdir}/bin/${f}" ]; then
|
||||||
ln -snf "${DESTDIR}${rc_libexecdir}/bin/${f}" \
|
ln -snf "${rc_libexecdir}/bin/${f}" \
|
||||||
"${DESTDIR}${sbindir}/${f}"
|
"${DESTDIR}${sbindir}/${f}"
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
# sysvinit is active when halt exits
|
||||||
|
if [ -x "${DESTDIR}${rc_libexecdir}/bin/halt" ]; then
|
||||||
|
ln -snf "${sbindir}/openrc-init" \
|
||||||
|
"${DESTDIR}${sbindir}/init"
|
||||||
|
fi
|
||||||
|
|||||||
@@ -48,7 +48,7 @@ do_unmount()
|
|||||||
retry=4 # Effectively TERM, sleep 1, TERM, sleep 1, KILL, sleep 1
|
retry=4 # Effectively TERM, sleep 1, TERM, sleep 1, KILL, sleep 1
|
||||||
while ! LC_ALL=C $cmd "$mnt" 2>/dev/null; do
|
while ! LC_ALL=C $cmd "$mnt" 2>/dev/null; do
|
||||||
if command -v fuser >/dev/null 2>&1; then
|
if command -v fuser >/dev/null 2>&1; then
|
||||||
pids="$(timeout -k 10 -s KILL "${rc_fuser_timeout:-60}" \
|
pids="$(timeout -s KILL "${rc_fuser_timeout:-60}" \
|
||||||
fuser $f_opts "$mnt" 2>/dev/null)"
|
fuser $f_opts "$mnt" 2>/dev/null)"
|
||||||
fi
|
fi
|
||||||
case " $pids " in
|
case " $pids " in
|
||||||
|
|||||||
16
sh/runit.sh
16
sh/runit.sh
@@ -20,8 +20,20 @@ runit_start()
|
|||||||
service_link="${RC_SVCDIR}/sv/${service_path##*/}"
|
service_link="${RC_SVCDIR}/sv/${service_path##*/}"
|
||||||
ebegin "Starting ${name:-$RC_SVCNAME}"
|
ebegin "Starting ${name:-$RC_SVCNAME}"
|
||||||
ln -snf "${service_path}" "${service_link}"
|
ln -snf "${service_path}" "${service_link}"
|
||||||
sv start "${service_link}" > /dev/null 2>&1
|
local i=0 retval=1
|
||||||
eend $? "Failed to start ${name:-$RC_SVCNAME}"
|
# it can take upto 5 seconds for runsv to start
|
||||||
|
while [ $i -lt 6 ] ; do
|
||||||
|
if sv start "${service_link}" > /dev/null 2>&1; then
|
||||||
|
retval=0
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
sleep 1 && i=$(expr $i + 1)
|
||||||
|
done
|
||||||
|
if [ $retval -eq 1 ]; then
|
||||||
|
# clean up the link else sv will keep on trying
|
||||||
|
rm "${service_link}"
|
||||||
|
fi
|
||||||
|
eend $retval "Failed to start ${name:-$RC_SVCNAME}"
|
||||||
}
|
}
|
||||||
|
|
||||||
runit_stop()
|
runit_stop()
|
||||||
|
|||||||
@@ -15,6 +15,8 @@
|
|||||||
* except according to the terms contained in the LICENSE file.
|
* except according to the terms contained in the LICENSE file.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include <signal.h>
|
||||||
|
|
||||||
#include "queue.h"
|
#include "queue.h"
|
||||||
#include "librc.h"
|
#include "librc.h"
|
||||||
|
|
||||||
|
|||||||
@@ -16,6 +16,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include <fnmatch.h>
|
#include <fnmatch.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
#include "queue.h"
|
#include "queue.h"
|
||||||
#include "librc.h"
|
#include "librc.h"
|
||||||
|
|||||||
@@ -22,6 +22,7 @@
|
|||||||
#include <time.h>
|
#include <time.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
#include <utmp.h>
|
||||||
#include <utmpx.h>
|
#include <utmpx.h>
|
||||||
#include <pwd.h>
|
#include <pwd.h>
|
||||||
#include <fcntl.h>
|
#include <fcntl.h>
|
||||||
|
|||||||
@@ -151,7 +151,7 @@ static char *clean_path(char *path)
|
|||||||
char *ch;
|
char *ch;
|
||||||
char *ch2;
|
char *ch2;
|
||||||
char *str;
|
char *str;
|
||||||
str = xmalloc(strlen(path));
|
str = xmalloc(strlen(path) + 1);
|
||||||
ch = path;
|
ch = path;
|
||||||
ch2 = str;
|
ch2 = str;
|
||||||
while (true) {
|
while (true) {
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ rc_misc_c = files([
|
|||||||
'rc-misc.c',
|
'rc-misc.c',
|
||||||
])
|
])
|
||||||
|
|
||||||
rc_plugin_c = ([
|
rc_plugin_c = files([
|
||||||
'rc-plugin.c',
|
'rc-plugin.c',
|
||||||
])
|
])
|
||||||
|
|
||||||
@@ -14,7 +14,7 @@ usage_c = files([
|
|||||||
'_usage.c',
|
'_usage.c',
|
||||||
])
|
])
|
||||||
|
|
||||||
if get_option('selinux').enabled()
|
if selinux_dep.found()
|
||||||
rc_selinux_c = files([
|
rc_selinux_c = files([
|
||||||
'rc-selinux.c',
|
'rc-selinux.c',
|
||||||
])
|
])
|
||||||
@@ -26,9 +26,6 @@ rc_wtmp_c = files([
|
|||||||
'rc-wtmp.c',
|
'rc-wtmp.c',
|
||||||
])
|
])
|
||||||
|
|
||||||
rc_bindir = rc_libexecdir / 'bin'
|
|
||||||
rc_sbindir = rc_libexecdir / 'sbin'
|
|
||||||
|
|
||||||
executable('rc-status',
|
executable('rc-status',
|
||||||
['rc-status.c', rc_misc_c, usage_c, version_h],
|
['rc-status.c', rc_misc_c, usage_c, version_h],
|
||||||
c_args : cc_branding_flags,
|
c_args : cc_branding_flags,
|
||||||
@@ -53,7 +50,7 @@ executable('openrc-run',
|
|||||||
rc_selinux_c, version_h],
|
rc_selinux_c, version_h],
|
||||||
c_args : [cc_audit_flags, cc_branding_flags, cc_pam_flags, cc_selinux_flags],
|
c_args : [cc_audit_flags, cc_branding_flags, cc_pam_flags, cc_selinux_flags],
|
||||||
link_with: [libeinfo, librc],
|
link_with: [libeinfo, librc],
|
||||||
dependencies: [dl_dep, libpam, selinux_dep, util_dep],
|
dependencies: [audit_dep, dl_dep, pam_dep, pam_misc_dep, selinux_dep, util_dep, crypt_dep],
|
||||||
include_directories: [incdir, einfo_incdir, rc_incdir],
|
include_directories: [incdir, einfo_incdir, rc_incdir],
|
||||||
install: true,
|
install: true,
|
||||||
install_dir: sbindir)
|
install_dir: sbindir)
|
||||||
@@ -88,7 +85,7 @@ executable('runscript',
|
|||||||
rc_selinux_c, version_h],
|
rc_selinux_c, version_h],
|
||||||
c_args : [cc_audit_flags, cc_branding_flags, cc_pam_flags, cc_selinux_flags],
|
c_args : [cc_audit_flags, cc_branding_flags, cc_pam_flags, cc_selinux_flags],
|
||||||
link_with: [libeinfo, librc],
|
link_with: [libeinfo, librc],
|
||||||
dependencies: [dl_dep, libpam, util_dep, selinux_dep],
|
dependencies: [audit_dep, dl_dep, pam_dep, pam_misc_dep, util_dep, selinux_dep, crypt_dep],
|
||||||
include_directories: [incdir, einfo_incdir, rc_incdir],
|
include_directories: [incdir, einfo_incdir, rc_incdir],
|
||||||
install: true,
|
install: true,
|
||||||
install_dir: sbindir)
|
install_dir: sbindir)
|
||||||
@@ -98,7 +95,7 @@ executable('start-stop-daemon',
|
|||||||
rc_selinux_c, usage_c, version_h],
|
rc_selinux_c, usage_c, version_h],
|
||||||
c_args : [cc_audit_flags, cc_branding_flags, cc_pam_flags, cc_selinux_flags],
|
c_args : [cc_audit_flags, cc_branding_flags, cc_pam_flags, cc_selinux_flags],
|
||||||
link_with: [libeinfo, librc],
|
link_with: [libeinfo, librc],
|
||||||
dependencies: [dl_dep, libpam, util_dep, selinux_dep],
|
dependencies: [audit_dep, dl_dep, pam_dep, pam_misc_dep, util_dep, selinux_dep, crypt_dep],
|
||||||
include_directories: [incdir, einfo_incdir, rc_incdir],
|
include_directories: [incdir, einfo_incdir, rc_incdir],
|
||||||
install: true,
|
install: true,
|
||||||
install_dir: sbindir)
|
install_dir: sbindir)
|
||||||
@@ -108,7 +105,7 @@ executable('supervise-daemon',
|
|||||||
usage_c, version_h],
|
usage_c, version_h],
|
||||||
c_args : [cc_branding_flags, cc_pam_flags, cc_selinux_flags],
|
c_args : [cc_branding_flags, cc_pam_flags, cc_selinux_flags],
|
||||||
link_with: [libeinfo, librc],
|
link_with: [libeinfo, librc],
|
||||||
dependencies: [dl_dep, libpam, util_dep, selinux_dep],
|
dependencies: [dl_dep, pam_dep, util_dep, selinux_dep],
|
||||||
include_directories: [incdir, einfo_incdir, rc_incdir],
|
include_directories: [incdir, einfo_incdir, rc_incdir],
|
||||||
install: true,
|
install: true,
|
||||||
install_dir: sbindir)
|
install_dir: sbindir)
|
||||||
@@ -116,9 +113,10 @@ executable('supervise-daemon',
|
|||||||
if os == 'Linux'
|
if os == 'Linux'
|
||||||
executable('openrc-init',
|
executable('openrc-init',
|
||||||
['openrc-init.c', rc_plugin_c, rc_wtmp_c, version_h],
|
['openrc-init.c', rc_plugin_c, rc_wtmp_c, version_h],
|
||||||
|
c_args : cc_selinux_flags,
|
||||||
include_directories: [incdir, einfo_incdir, rc_incdir],
|
include_directories: [incdir, einfo_incdir, rc_incdir],
|
||||||
link_with: [libeinfo, librc],
|
link_with: [libeinfo, librc],
|
||||||
dependencies: [dl_dep],
|
dependencies: [dl_dep, selinux_dep],
|
||||||
install: true,
|
install: true,
|
||||||
install_dir: sbindir)
|
install_dir: sbindir)
|
||||||
|
|
||||||
@@ -171,7 +169,7 @@ executable('checkpath',
|
|||||||
c_args : [cc_audit_flags, cc_branding_flags, cc_pam_flags, cc_selinux_flags],
|
c_args : [cc_audit_flags, cc_branding_flags, cc_pam_flags, cc_selinux_flags],
|
||||||
include_directories: [incdir, einfo_incdir, rc_incdir],
|
include_directories: [incdir, einfo_incdir, rc_incdir],
|
||||||
link_with: [libeinfo, librc],
|
link_with: [libeinfo, librc],
|
||||||
dependencies: [libpam, selinux_dep],
|
dependencies: [audit_dep, pam_dep, pam_misc_dep, selinux_dep, crypt_dep],
|
||||||
install: true,
|
install: true,
|
||||||
install_dir: rc_bindir)
|
install_dir: rc_bindir)
|
||||||
|
|
||||||
|
|||||||
@@ -66,7 +66,7 @@ int selinux_util_label(const char *path)
|
|||||||
int retval = 0;
|
int retval = 0;
|
||||||
int enforce;
|
int enforce;
|
||||||
struct stat st;
|
struct stat st;
|
||||||
security_context_t con;
|
char *con;
|
||||||
|
|
||||||
enforce = security_getenforce();
|
enforce = security_getenforce();
|
||||||
if (retval < 0)
|
if (retval < 0)
|
||||||
|
|||||||
@@ -20,6 +20,7 @@
|
|||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
|
#include <inttypes.h>
|
||||||
|
|
||||||
#include "einfo.h"
|
#include "einfo.h"
|
||||||
#include "queue.h"
|
#include "queue.h"
|
||||||
@@ -128,12 +129,12 @@ static char *get_uptime(const char *service)
|
|||||||
}
|
}
|
||||||
if (diff_days > 0)
|
if (diff_days > 0)
|
||||||
xasprintf(&uptime,
|
xasprintf(&uptime,
|
||||||
"%ld day(s) %02ld:%02ld:%02ld (%s)",
|
"%"PRId64" day(s) %02"PRId64":%02"PRId64":%02"PRId64" (%s)",
|
||||||
diff_days, diff_hours, diff_mins, diff_secs,
|
diff_days, diff_hours, diff_mins, diff_secs,
|
||||||
start_count);
|
start_count);
|
||||||
else
|
else
|
||||||
xasprintf(&uptime,
|
xasprintf(&uptime,
|
||||||
"%02ld:%02ld:%02ld (%s)",
|
"%02"PRId64":%02"PRId64":%02"PRId64" (%s)",
|
||||||
diff_hours, diff_mins, diff_secs, start_count);
|
diff_hours, diff_mins, diff_secs, start_count);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
# This file may not be copied, modified, propagated, or distributed
|
# This file may not be copied, modified, propagated, or distributed
|
||||||
# except according to the terms contained in the LICENSE file.
|
# except according to the terms contained in the LICENSE file.
|
||||||
|
|
||||||
command=@PKG_PREFIX@/sbin/avahi-dnsconfd
|
command=/sbin/avahi-dnsconfd
|
||||||
command_args="$avahi_dnsconfd_args -D"
|
command_args="$avahi_dnsconfd_args -D"
|
||||||
pidfile=/var/run/avahi-dnsconfd.pid
|
pidfile=/var/run/avahi-dnsconfd.pid
|
||||||
name="Avahi DNS Configuration Daemon"
|
name="Avahi DNS Configuration Daemon"
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
# This file may not be copied, modified, propagated, or distributed
|
# This file may not be copied, modified, propagated, or distributed
|
||||||
# except according to the terms contained in the LICENSE file.
|
# except according to the terms contained in the LICENSE file.
|
||||||
|
|
||||||
command=@PKG_PREFIX@/sbin/avahi-daemon
|
command=/sbin/avahi-daemon
|
||||||
command_args="$avahid_args -D"
|
command_args="$avahid_args -D"
|
||||||
pidfile=/var/run/avahi-daemon/pid
|
pidfile=/var/run/avahi-daemon/pid
|
||||||
name="Avahi Service Advertisement Daemon"
|
name="Avahi Service Advertisement Daemon"
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
# This file may not be copied, modified, propagated, or distributed
|
# This file may not be copied, modified, propagated, or distributed
|
||||||
# except according to the terms contained in the LICENSE file.
|
# except according to the terms contained in the LICENSE file.
|
||||||
|
|
||||||
command=@PKG_PREFIX@/bin/dbus-daemon
|
command=/bin/dbus-daemon
|
||||||
pidfile=/var/run/dbus/pid
|
pidfile=/var/run/dbus/pid
|
||||||
command_args="${dbusd_args---system}"
|
command_args="${dbusd_args---system}"
|
||||||
name="Message Bus Daemon"
|
name="Message Bus Daemon"
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
# This file may not be copied, modified, propagated, or distributed
|
# This file may not be copied, modified, propagated, or distributed
|
||||||
# except according to the terms contained in the LICENSE file.
|
# except according to the terms contained in the LICENSE file.
|
||||||
|
|
||||||
command=@PKG_PREFIX@/sbin/dnsmasq
|
command=/sbin/dnsmasq
|
||||||
command_args=$dnsmasq_args
|
command_args=$dnsmasq_args
|
||||||
pidfile=/var/run/dnsmasq.pid
|
pidfile=/var/run/dnsmasq.pid
|
||||||
required_files=/etc/dnsmasq.conf
|
required_files=/etc/dnsmasq.conf
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
# This file may not be copied, modified, propagated, or distributed
|
# This file may not be copied, modified, propagated, or distributed
|
||||||
# except according to the terms contained in the LICENSE file.
|
# except according to the terms contained in the LICENSE file.
|
||||||
|
|
||||||
command=@PKG_PREFIX@/sbin/hald
|
command=/sbin/hald
|
||||||
pidfile=/var/run/hald/hald.pid
|
pidfile=/var/run/hald/hald.pid
|
||||||
command_args=$hald_args
|
command_args=$hald_args
|
||||||
name="Hardware Abstraction Layer Daemon"
|
name="Hardware Abstraction Layer Daemon"
|
||||||
|
|||||||
@@ -12,10 +12,10 @@
|
|||||||
vpn=${RC_SVCNAME#*.}
|
vpn=${RC_SVCNAME#*.}
|
||||||
name="OpenVPN"
|
name="OpenVPN"
|
||||||
[ "$vpn" != openvpn ] && name="$name ($vpn)"
|
[ "$vpn" != openvpn ] && name="$name ($vpn)"
|
||||||
command=@PKG_PREFIX@/sbin/openvpn
|
command=/sbin/openvpn
|
||||||
|
|
||||||
pidfile=/var/run/"$RC_SVCNAME".pid
|
pidfile=/var/run/"$RC_SVCNAME".pid
|
||||||
: ${openvpn_dir:=@PKG_PREFIX@/etc/openvpn}
|
: ${openvpn_dir:=/etc/openvpn}
|
||||||
: ${openvpn_config:=$openvpn_dir/$vpn.conf}
|
: ${openvpn_config:=$openvpn_dir/$vpn.conf}
|
||||||
command_args="$openvpn_args --daemon --config $openvpn_config"
|
command_args="$openvpn_args --daemon --config $openvpn_config"
|
||||||
command_args="$command_args --writepid $pidfile"
|
command_args="$command_args --writepid $pidfile"
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
# This file may not be copied, modified, propagated, or distributed
|
# This file may not be copied, modified, propagated, or distributed
|
||||||
# except according to the terms contained in the LICENSE file.
|
# except according to the terms contained in the LICENSE file.
|
||||||
|
|
||||||
command=@PKG_PREFIX@/sbin/polkitd
|
command=/sbin/polkitd
|
||||||
pidfile=/var/run/polkitd/polkitd.pid
|
pidfile=/var/run/polkitd/polkitd.pid
|
||||||
command_args="$polkitd_args"
|
command_args="$polkitd_args"
|
||||||
name="PolicyKit Daemon"
|
name="PolicyKit Daemon"
|
||||||
|
|||||||
@@ -10,4 +10,4 @@ if [ ${os} != Linux ]; then
|
|||||||
install -d "${DESTDIR}/${rc_libexecdir}"/init.d
|
install -d "${DESTDIR}/${rc_libexecdir}"/init.d
|
||||||
fi
|
fi
|
||||||
install -d "${DESTDIR}/${rc_libexecdir}"/tmp
|
install -d "${DESTDIR}/${rc_libexecdir}"/tmp
|
||||||
install "${MESON_BUILD_ROOT}/src/common/version" "${DESTDIR}/${rc_libexecdir}"
|
install -m 644 "${MESON_BUILD_ROOT}/src/common/version" "${DESTDIR}/${rc_libexecdir}"
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ os="$1"
|
|||||||
net="$2"
|
net="$2"
|
||||||
rc_libexecdir="$3"
|
rc_libexecdir="$3"
|
||||||
sysconfdir="$4"
|
sysconfdir="$4"
|
||||||
|
sysvinit="$5"
|
||||||
|
|
||||||
init_d_dir="${sysconfdir}/init.d"
|
init_d_dir="${sysconfdir}/init.d"
|
||||||
leveldir="${sysconfdir}/runlevels"
|
leveldir="${sysconfdir}/runlevels"
|
||||||
@@ -90,5 +91,11 @@ if ! test -d "${DESTDIR}${shutdowndir}"; then
|
|||||||
ln -snf "${init_d_dir}/$x" "${DESTDIR}${shutdowndir}/$x"
|
ln -snf "${init_d_dir}/$x" "${DESTDIR}${shutdowndir}/$x"
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
|
if test "${sysvinit}" = yes && test "${os}" = Linux; then \
|
||||||
|
for x in tty1 tty2 tty3 tty4 tty5 tty6; do
|
||||||
|
ln -snf "${init_d_dir}/agetty" "${DESTDIR}/${init_d_dir}/agetty.$x"
|
||||||
|
ln -snf "${init_d_dir}/agetty.$x" "${DESTDIR}/${defaultdir}/agetty.$x"
|
||||||
|
done;
|
||||||
|
fi
|
||||||
|
|
||||||
ln -snf "${rc_libexecdir}"/sh/functions.sh "${DESTDIR}/${init_d_dir}"
|
ln -snf "${rc_libexecdir}"/sh/functions.sh "${DESTDIR}/${init_d_dir}"
|
||||||
|
|||||||
Reference in New Issue
Block a user