diff options
Diffstat (limited to 'extra')
-rw-r--r-- | extra/cairo/fix-mask-usage-in-image-compositor.patch | 172 | ||||
-rw-r--r-- | extra/cairo/musl-stacksize.patch | 23 | ||||
-rw-r--r-- | extra/cairo/pdf-font-subset-Generate-valid-font-names.patch | 58 | ||||
-rw-r--r-- | extra/lua-lpeg/build-static-lib.patch | 29 | ||||
-rw-r--r-- | extra/lua-lpeg/test-fix-setlocale.patch | 20 | ||||
-rw-r--r-- | extra/lua-mpack/dont-install-busted.patch | 13 | ||||
-rw-r--r-- | extra/lua-mpack/skip-memleak-test.patch | 20 | ||||
-rw-r--r-- | extra/lua5-1/lua-5.1-make.patch | 71 | ||||
-rw-r--r-- | extra/lua5-1/lua-5.1-module_paths.patch | 24 | ||||
-rw-r--r-- | extra/lua5-1/lua-5.1-readline.patch | 10 | ||||
-rw-r--r-- | extra/luajit/module-paths.patch | 25 | ||||
-rw-r--r-- | extra/modemmanager/modemmanager.initd | 11 | ||||
-rw-r--r-- | extra/modemmanager/modemmanager.rules | 296 | ||||
-rw-r--r-- | extra/openrc/rc.conf | 313 | ||||
-rw-r--r-- | extra/ppp/0011-build-sys-don-t-put-connect-errors-log-to-etc-ppp.patch | 77 | ||||
-rw-r--r-- | extra/ppp/fix-paths.patch | 12 | ||||
-rw-r--r-- | extra/ppp/fix-pppd-magic.h.patch | 11 | ||||
-rw-r--r-- | extra/ppp/musl-fix-headers.patch | 24 | ||||
-rw-r--r-- | extra/ppp/pppd.initd | 13 | ||||
-rw-r--r-- | extra/xterm/posix-ptys.patch | 21 |
20 files changed, 1243 insertions, 0 deletions
diff --git a/extra/cairo/fix-mask-usage-in-image-compositor.patch b/extra/cairo/fix-mask-usage-in-image-compositor.patch new file mode 100644 index 0000000..8d5717f --- /dev/null +++ b/extra/cairo/fix-mask-usage-in-image-compositor.patch @@ -0,0 +1,172 @@ +From 03a820b173ed1fdef6ff14b4468f5dbc02ff59be Mon Sep 17 00:00:00 2001 +From: Heiko Lewin <heiko.lewin@worldiety.de> +Date: Tue, 15 Dec 2020 16:48:19 +0100 +Subject: [PATCH 1/3] Fix mask usage in image-compositor + +--- + src/cairo-image-compositor.c | 8 ++-- + test/Makefile.sources | 1 + + test/bug-image-compositor.c | 39 ++++++++++++++++++++ + test/reference/bug-image-compositor.ref.png | Bin 0 -> 185 bytes + 4 files changed, 44 insertions(+), 4 deletions(-) + create mode 100644 test/bug-image-compositor.c + create mode 100644 test/reference/bug-image-compositor.ref.png + +diff --git a/src/cairo-image-compositor.c b/src/cairo-image-compositor.c +index 79ad69f68..4f8aaed99 100644 +--- a/src/cairo-image-compositor.c ++++ b/src/cairo-image-compositor.c +@@ -2610,14 +2610,14 @@ _inplace_src_spans (void *abstract_renderer, int y, int h, + unsigned num_spans) + { + cairo_image_span_renderer_t *r = abstract_renderer; +- uint8_t *m; ++ uint8_t *m, *base = (uint8_t*)pixman_image_get_data(r->mask); + int x0; + + if (num_spans == 0) + return CAIRO_STATUS_SUCCESS; + + x0 = spans[0].x; +- m = r->_buf; ++ m = base; + do { + int len = spans[1].x - spans[0].x; + if (len >= r->u.composite.run_length && spans[0].coverage == 0xff) { +@@ -2655,7 +2655,7 @@ _inplace_src_spans (void *abstract_renderer, int y, int h, + spans[0].x, y, + spans[1].x - spans[0].x, h); + +- m = r->_buf; ++ m = base; + x0 = spans[1].x; + } else if (spans[0].coverage == 0x0) { + if (spans[0].x != x0) { +@@ -2684,7 +2684,7 @@ _inplace_src_spans (void *abstract_renderer, int y, int h, + #endif + } + +- m = r->_buf; ++ m = base; + x0 = spans[1].x; + } else { + *m++ = spans[0].coverage; +diff --git a/test/bug-image-compositor.c b/test/bug-image-compositor.c +new file mode 100644 +index 000000000..fc4fd370b +--- /dev/null ++++ b/test/bug-image-compositor.c +@@ -0,0 +1,39 @@ ++#include "cairo-test.h" ++ ++static cairo_test_status_t ++draw (cairo_t *cr, int width, int height) ++{ ++ cairo_set_source_rgb (cr, 0., 0., 0.); ++ cairo_paint (cr); ++ ++ cairo_set_source_rgb (cr, 1., 1., 1.); ++ cairo_set_line_width (cr, 1.); ++ ++ cairo_pattern_t *p = cairo_pattern_create_linear (0, 0, width, height); ++ cairo_pattern_add_color_stop_rgb (p, 0, 0.99, 1, 1); ++ cairo_pattern_add_color_stop_rgb (p, 1, 1, 1, 1); ++ cairo_set_source (cr, p); ++ ++ cairo_move_to (cr, 0.5, -1); ++ for (int i = 0; i < width; i+=3) { ++ cairo_rel_line_to (cr, 2, 2); ++ cairo_rel_line_to (cr, 1, -2); ++ } ++ ++ cairo_set_operator (cr, CAIRO_OPERATOR_SOURCE); ++ cairo_stroke (cr); ++ ++ cairo_pattern_destroy(p); ++ ++ return CAIRO_TEST_SUCCESS; ++} ++ ++ ++CAIRO_TEST (bug_image_compositor, ++ "Crash in image-compositor", ++ "stroke, stress", /* keywords */ ++ NULL, /* requirements */ ++ 10000, 1, ++ NULL, draw) ++ ++ + +From 8bc14a6bba3bc8a64ff0749c74d9b96305bf6429 Mon Sep 17 00:00:00 2001 +From: Heiko Lewin <heiko.lewin@worldiety.de> +Date: Tue, 15 Dec 2020 17:14:18 +0100 +Subject: [PATCH 2/3] Minor cleanups + +--- + test/bug-image-compositor.c | 33 ++++++++++++++++++++++++++++++--- + 1 file changed, 30 insertions(+), 3 deletions(-) + +diff --git a/test/bug-image-compositor.c b/test/bug-image-compositor.c +index fc4fd370b..304ea089c 100644 +--- a/test/bug-image-compositor.c ++++ b/test/bug-image-compositor.c +@@ -1,5 +1,34 @@ ++/* ++ * Copyright © 2020 Uli Schlachter, Heiko Lewin ++ * ++ * Permission is hereby granted, free of charge, to any person ++ * obtaining a copy of this software and associated documentation ++ * files (the "Software"), to deal in the Software without ++ * restriction, including without limitation the rights to use, copy, ++ * modify, merge, publish, distribute, sublicense, and/or sell copies ++ * of the Software, and to permit persons to whom the Software is ++ * furnished to do so, subject to the following conditions: ++ * ++ * The above copyright notice and this permission notice shall be ++ * included in all copies or substantial portions of the Software. ++ * ++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, ++ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF ++ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND ++ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS ++ * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ++ * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN ++ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE ++ * SOFTWARE. ++ * ++ * Author: Uli Schlachter <psychon@znc.in> ++ * Author: Heiko Lewin <hlewin@gmx.de> ++ */ + #include "cairo-test.h" + ++ ++/* This test reproduces an overflow of a mask-buffer in cairo-image-compositor.c */ ++ + static cairo_test_status_t + draw (cairo_t *cr, int width, int height) + { +@@ -13,6 +42,7 @@ draw (cairo_t *cr, int width, int height) + cairo_pattern_add_color_stop_rgb (p, 0, 0.99, 1, 1); + cairo_pattern_add_color_stop_rgb (p, 1, 1, 1, 1); + cairo_set_source (cr, p); ++ cairo_pattern_destroy(p); + + cairo_move_to (cr, 0.5, -1); + for (int i = 0; i < width; i+=3) { +@@ -23,8 +53,6 @@ draw (cairo_t *cr, int width, int height) + cairo_set_operator (cr, CAIRO_OPERATOR_SOURCE); + cairo_stroke (cr); + +- cairo_pattern_destroy(p); +- + return CAIRO_TEST_SUCCESS; + } + +@@ -36,4 +64,3 @@ CAIRO_TEST (bug_image_compositor, + 10000, 1, + NULL, draw) + +- +-- +GitLab + diff --git a/extra/cairo/musl-stacksize.patch b/extra/cairo/musl-stacksize.patch new file mode 100644 index 0000000..d10469e --- /dev/null +++ b/extra/cairo/musl-stacksize.patch @@ -0,0 +1,23 @@ +Reduce the footprint of stack frame usage by turning +some large(r) structures as `static __thread` instead. + +--- a/src/cairo-rectangular-scan-converter.c 2015-10-27 22:04:21.000000000 +0100 ++++ b/src/cairo-rectangular-scan-converter.c 2016-05-07 04:25:26.640851782 +0200 +@@ -489,7 +489,7 @@ + cairo_span_renderer_t *renderer, + rectangle_t **rectangles) + { +- sweep_line_t sweep_line; ++ static __thread sweep_line_t sweep_line; + rectangle_t *start, *stop; + cairo_status_t status; + +@@ -656,7 +656,7 @@ + cairo_span_renderer_t *renderer) + { + cairo_rectangular_scan_converter_t *self = converter; +- rectangle_t *rectangles_stack[CAIRO_STACK_ARRAY_LENGTH (rectangle_t *)]; ++ static __thread rectangle_t *rectangles_stack[CAIRO_STACK_ARRAY_LENGTH (rectangle_t *)]; + rectangle_t **rectangles; + struct _cairo_rectangular_scan_converter_chunk *chunk; + cairo_status_t status; diff --git a/extra/cairo/pdf-font-subset-Generate-valid-font-names.patch b/extra/cairo/pdf-font-subset-Generate-valid-font-names.patch new file mode 100644 index 0000000..d5cfe2f --- /dev/null +++ b/extra/cairo/pdf-font-subset-Generate-valid-font-names.patch @@ -0,0 +1,58 @@ +From a3b69a0215fdface0fd5730872a4b3242d979dca Mon Sep 17 00:00:00 2001 +From: Uli Schlachter <psychon@znc.in> +Date: Tue, 9 Feb 2021 16:54:35 +0100 +Subject: [PATCH] pdf font subset: Generate valid font names + +A hash value is encoded in base 26 with upper case letters for font +names. + +Commit ed984146 replaced "numerator = abs (hash);" with "numerator = +hash;" in this code, because hash has type uint32_t and the compiler +warned about taking the absolute value of an unsigned value. However, +abs() is actually defined to take an int argument. Thus, there was some +implicit cast. + +Since numerator has type long, i.e. is signed, it is now actually +possible to get an overflow in the implicit cast and then have a +negative number. The following code is not prepared for this and +produces non-letters when encoding the hash. + +This commit fixes that problem by not using ldiv() and instead using / +and % to directly compute the needed values. This gets rid of the need +to convert to type long. Since now everything works with uint32_t, there +is no more chance for negative numbers messing things up. + +Fixes: https://gitlab.freedesktop.org/cairo/cairo/-/issues/449 +Signed-off-by: Uli Schlachter <psychon@znc.in> +--- + src/cairo-pdf-surface.c | 8 ++------ + 1 file changed, 2 insertions(+), 6 deletions(-) + +diff --git a/src/cairo-pdf-surface.c b/src/cairo-pdf-surface.c +index 6da460878..52c49b6d2 100644 +--- a/src/cairo-pdf-surface.c ++++ b/src/cairo-pdf-surface.c +@@ -5310,18 +5310,14 @@ _create_font_subset_tag (cairo_scaled_font_subset_t *font_subset, + { + uint32_t hash; + int i; +- long numerator; +- ldiv_t d; + + hash = _hash_data ((unsigned char *) font_name, strlen(font_name), 0); + hash = _hash_data ((unsigned char *) (font_subset->glyphs), + font_subset->num_glyphs * sizeof(unsigned long), hash); + +- numerator = hash; + for (i = 0; i < 6; i++) { +- d = ldiv (numerator, 26); +- numerator = d.quot; +- tag[i] = 'A' + d.rem; ++ tag[i] = 'A' + (hash % 26); ++ hash /= 26; + } + tag[i] = 0; + } +-- +GitLab + diff --git a/extra/lua-lpeg/build-static-lib.patch b/extra/lua-lpeg/build-static-lib.patch new file mode 100644 index 0000000..d8a8f8c --- /dev/null +++ b/extra/lua-lpeg/build-static-lib.patch @@ -0,0 +1,29 @@ +--- a/makefile ++++ b/makefile +@@ -24,12 +24,15 @@ + + CFLAGS = $(CWARNS) $(COPT) -std=c99 -I$(LUADIR) -fPIC + CC = gcc ++AR = ar ++RANLIB = ranlib + + FILES = lpvm.o lpcap.o lptree.o lpcode.o lpprint.o + + # For Linux + linux: + $(MAKE) lpeg.so "DLLFLAGS = -shared -fPIC" ++ $(MAKE) lpeg.a + + # For Mac OS + macosx: +@@ -37,6 +40,10 @@ + + lpeg.so: $(FILES) + env $(CC) $(DLLFLAGS) $(FILES) -o lpeg.so ++ ++lpeg.a: $(FILES) ++ env $(AR) rc lpeg.a $(FILES) ++ env $(RANLIB) lpeg.a + + $(FILES): makefile + diff --git a/extra/lua-lpeg/test-fix-setlocale.patch b/extra/lua-lpeg/test-fix-setlocale.patch new file mode 100644 index 0000000..028c18c --- /dev/null +++ b/extra/lua-lpeg/test-fix-setlocale.patch @@ -0,0 +1,20 @@ +os.setlocale just calls setlocale() from libc and musl's implementation +behaves a bit differently in comparison with BSD libc or glibc. + +When particular locales for all categories are the same, e.g. "C", +`setlocale(LC_ALL, "")` returns just "C" on BSD libc (tested on macOS) +and glibc, but musl returns "C;C;C;C;C;C". When some locale is different, +e.g. LC_CTYPE, then on macOS you get "C/en_US.UTF-8/C/C/C/C", on glibc +"LC_CTYPE=en_US.UTF-8;LC_NUMERIC=C;...", on musl "en_US.UTF-8;C;C;C;C;C". + +--- a/test.lua ++++ b/test.lua +@@ -1428,7 +1428,7 @@ + + + -- testing pre-defined names +-assert(os.setlocale("C") == "C") ++assert(os.setlocale("C"):sub(1, 1) == "C") + + function eqlpeggsub (p1, p2) + local s1 = cs2str(re.compile(p1)) diff --git a/extra/lua-mpack/dont-install-busted.patch b/extra/lua-mpack/dont-install-busted.patch new file mode 100644 index 0000000..2acb260 --- /dev/null +++ b/extra/lua-mpack/dont-install-busted.patch @@ -0,0 +1,13 @@ +Fix Makefile to not try to download and install LuaRocks and busted; use +system-provided busted. +--- a/Makefile ++++ b/Makefile +@@ -61,7 +61,7 @@ + depsclean: + rm -rf $(DEPS_DIR) + +-test: $(BUSTED) $(MPACK) ++test: $(MPACK) + $(BUSTED) -o gtest test.lua + + valgrind: $(BUSTED) $(MPACK) diff --git a/extra/lua-mpack/skip-memleak-test.patch b/extra/lua-mpack/skip-memleak-test.patch new file mode 100644 index 0000000..f89b522 --- /dev/null +++ b/extra/lua-mpack/skip-memleak-test.patch @@ -0,0 +1,20 @@ +This test requires binary to be built in debug mode. +--- a/test.lua ++++ b/test.lua +@@ -276,16 +276,6 @@ + end) + end) + +- it('should not leak memory', function() +- -- get the path to the lua interpreter, taken from +- -- http://stackoverflow.com/a/18304231 +- local i_min = 0 +- while arg[ i_min ] do i_min = i_min - 1 end +- i_min = i_min + 1 +- local res = io.popen(arg[i_min]..' leak_test.lua'):read('*a') +- assert.are_same('ok\n', res) +- end) +- + describe('is_bin option', function() + it('controls if strings are serialized to BIN or STR', function() + local isbin = false diff --git a/extra/lua5-1/lua-5.1-make.patch b/extra/lua5-1/lua-5.1-make.patch new file mode 100644 index 0000000..2db6367 --- /dev/null +++ b/extra/lua5-1/lua-5.1-make.patch @@ -0,0 +1,71 @@ +--- ./Makefile.orig ++++ ./Makefile +@@ -126,3 +126,18 @@ + .PHONY: all $(PLATS) clean test install local none dummy echo pecho lecho + + # (end of Makefile) ++ ++# Use libtool for binary installs, etc. ++ ++export V ++export LIBTOOL = ../libtool --quiet --tag=CC ++# See libtool manual about how to set this ++ ++alpine_clean: ++ cd src; $(MAKE) $@ ++ ++alpine_install: ++ mkdir -p $(INSTALL_BIN) $(INSTALL_INC) $(INSTALL_LIB) ++ cd src; $(LIBTOOL) --mode=install $(INSTALL_EXEC) lua luac $(INSTALL_BIN) ++ cd src; $(INSTALL_DATA) $(TO_INC) $(INSTALL_INC) ++ cd src; $(LIBTOOL) --mode=install $(INSTALL_DATA) liblua.la $(INSTALL_LIB) +--- ./src/Makefile.orig ++++ ./src/Makefile +@@ -51,10 +51,10 @@ + $(AR) $@ $(CORE_O) $(LIB_O) # DLL needs all object files + $(RANLIB) $@ + +-$(LUA_T): $(LUA_O) $(LUA_A) ++origin$(LUA_T): $(LUA_O) $(LUA_A) + $(CC) -o $@ $(MYLDFLAGS) $(LUA_O) $(LUA_A) $(LIBS) + +-$(LUAC_T): $(LUAC_O) $(LUA_A) ++origin$(LUAC_T): $(LUAC_O) $(LUA_A) + $(CC) -o $@ $(MYLDFLAGS) $(LUAC_O) $(LUA_A) $(LIBS) + + clean: +@@ -178,5 +178,34 @@ + lzio.h + print.o: print.c ldebug.h lstate.h lua.h luaconf.h lobject.h llimits.h \ + ltm.h lzio.h lmem.h lopcodes.h lundump.h ++ ++ ++export LIBTOOL = ../libtool --quiet --tag=CC ++export LIB_VERSION = 0:0:0 ++ ++# The following rules use libtool for compiling and linking in order to ++# provide shared library support. ++ ++LIB_NAME = liblua.la ++LIB_OBJS = $(CORE_O:.o=.lo) $(LIB_O:.o=.lo) ++ ++%.lo %.o: %.c ++ $(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) -o $@ $< ++ ++$(LIB_NAME): $(LIB_OBJS) ++ $(LIBTOOL) --mode=link $(CC) -version-info $(LIB_VERSION) \ ++ -rpath $(RPATH) $(LDFLAGS) -o $(LIB_NAME) $(LIB_OBJS) $(LIB_LIBS) ++ ++$(LUA_T): $(LUA_O:.o=.lo) $(LIB_NAME) ++ $(LIBTOOL) --mode=link $(CC) -export-dynamic $(LDFLAGS) -o $@ $(LUA_O:.o=.lo) $(LIB_NAME) $(LUA_LIBS) ++ ++$(LUAC_T): $(LUAC_O:.o=.lo) $(LIB_NAME) ++ $(LIBTOOL) --mode=link $(CC) -static $(LDFLAGS) -o $@ $(LUAC_O:.o=.lo) $(LIB_NAME) ++ ++alpine_clean: ++ $(LIBTOOL) --mode=clean $(RM) $(ALL_O:.o=.lo) $(LIB_NAME) lua luac ++ ++alpine_all: $(LIB_NAME) $(LUA_T) $(LUAC_T) ++ + + # (end of Makefile) diff --git a/extra/lua5-1/lua-5.1-module_paths.patch b/extra/lua5-1/lua-5.1-module_paths.patch new file mode 100644 index 0000000..e67d09f --- /dev/null +++ b/extra/lua5-1/lua-5.1-module_paths.patch @@ -0,0 +1,24 @@ +--- a/src/luaconf.h ++++ b/src/luaconf.h +@@ -95,13 +94,19 @@ + + #else + #define LUA_ROOT "/usr/local/" ++#define LUA_ROOT2 "/usr/" + #define LUA_LDIR LUA_ROOT "share/lua/5.1/" ++#define LUA_LDIR2 LUA_ROOT2 "share/lua/5.1/" ++#define LUA_LDIR3 LUA_ROOT2 "share/lua/common/" + #define LUA_CDIR LUA_ROOT "lib/lua/5.1/" ++#define LUA_CDIR2 LUA_ROOT2 "lib/lua/5.1/" + #define LUA_PATH_DEFAULT \ + "./?.lua;" LUA_LDIR"?.lua;" LUA_LDIR"?/init.lua;" \ +- LUA_CDIR"?.lua;" LUA_CDIR"?/init.lua" ++ LUA_CDIR"?.lua;" LUA_CDIR"?/init.lua;" \ ++ LUA_LDIR2"?.lua;" LUA_LDIR2"?/init.lua;" \ ++ LUA_LDIR3"?.lua;" LUA_LDIR3"?/init.lua" + #define LUA_CPATH_DEFAULT \ +- "./?.so;" LUA_CDIR"?.so;" LUA_CDIR"loadall.so" ++ "./?.so;" LUA_CDIR"?.so;" LUA_CDIR2"?.so;" LUA_CDIR"loadall.so" + #endif + + diff --git a/extra/lua5-1/lua-5.1-readline.patch b/extra/lua5-1/lua-5.1-readline.patch new file mode 100644 index 0000000..f144861 --- /dev/null +++ b/extra/lua5-1/lua-5.1-readline.patch @@ -0,0 +1,10 @@ +--- lua-5.1.1.orig/src/luaconf.h 2006-04-10 20:27:23.000000000 +0200 ++++ lua-5.1.1/src/luaconf.h 2006-11-15 14:53:07.000000000 +0100 +@@ -36,7 +36,6 @@ + #if defined(LUA_USE_LINUX) + #define LUA_USE_POSIX + #define LUA_USE_DLOPEN /* needs an extra library: -ldl */ +-#define LUA_USE_READLINE /* needs some extra libraries */ + #endif + + #if defined(LUA_USE_MACOSX) diff --git a/extra/luajit/module-paths.patch b/extra/luajit/module-paths.patch new file mode 100644 index 0000000..46e8d12 --- /dev/null +++ b/extra/luajit/module-paths.patch @@ -0,0 +1,25 @@ +Add /usr/share/lua/common to LUA_PATH. We use this directory for Lua modules +that are compatible with Lua 5.1 and newer. + +--- a/src/luaconf.h ++++ b/src/luaconf.h +@@ -42,8 +42,10 @@ + #ifdef LUA_ROOT + #define LUA_JROOT LUA_ROOT + #define LUA_RLDIR LUA_ROOT "/share" LUA_LUADIR ++#define LUA_RLDIR2 LUA_ROOT "/share/lua/common/" + #define LUA_RCDIR LUA_ROOT "/" LUA_MULTILIB LUA_LUADIR + #define LUA_RLPATH ";" LUA_RLDIR "?.lua;" LUA_RLDIR "?/init.lua" ++#define LUA_RLPATH2 ";" LUA_RLDIR2 "?.lua;" LUA_RLDIR2 "?/init.lua" + #define LUA_RCPATH ";" LUA_RCDIR "?.so" + #else + #define LUA_JROOT LUA_LROOT +@@ -58,7 +60,7 @@ + #define LUA_LCPATH1 ";" LUA_LCDIR "?.so" + #define LUA_LCPATH2 ";" LUA_LCDIR "loadall.so" + +-#define LUA_PATH_DEFAULT "./?.lua" LUA_JPATH LUA_LLPATH LUA_RLPATH ++#define LUA_PATH_DEFAULT "./?.lua" LUA_JPATH LUA_LLPATH LUA_RLPATH LUA_RLPATH2 + #define LUA_CPATH_DEFAULT "./?.so" LUA_LCPATH1 LUA_RCPATH LUA_LCPATH2 + #endif + diff --git a/extra/modemmanager/modemmanager.initd b/extra/modemmanager/modemmanager.initd new file mode 100644 index 0000000..29310b3 --- /dev/null +++ b/extra/modemmanager/modemmanager.initd @@ -0,0 +1,11 @@ +#!/sbin/openrc-run + +supervisor=supervise-daemon +command=/usr/sbin/ModemManager +command_args="${modemmanager_opts}" + +description="ModemManager Daemon" + +depend() { + need dbus +} diff --git a/extra/modemmanager/modemmanager.rules b/extra/modemmanager/modemmanager.rules new file mode 100644 index 0000000..1eb7b19 --- /dev/null +++ b/extra/modemmanager/modemmanager.rules @@ -0,0 +1,296 @@ +<!DOCTYPE html> +<html lang='en'> +<head> +<title>modemmanager.rules « modemmanager « community - aports - Alpine packages build scripts +</title> +<meta name='generator' content='cgit v1.2.3'/> +<meta name='robots' content='index, nofollow'/> +<link rel='stylesheet' type='text/css' href='/cgit.css'/> +<link rel='shortcut icon' href='//alpinelinux.org/alpine-logo.ico'/> +<link rel='alternate' title='Atom feed' href='http://git.alpinelinux.org/aports/atom/community/modemmanager/modemmanager.rules?h=master' type='application/atom+xml'/> +<link rel='vcs-git' href='https://git.alpinelinux.org/aports' title='aports Git repository'/> +</head> +<body> +<div id='cgit'><table id='header'> +<tr> +<td class='logo' rowspan='2'><a href='/'><img src='//wiki.alpinelinux.org/images/alogo.png' alt='cgit logo'/></a></td> +<td class='main'><a href='/'>index</a> : <a title='aports' href='/aports/'>aports</a></td><td class='form'><form method='get'> +<select name='h' onchange='this.form.submit();'> +<option value='1.10-stable'>1.10-stable</option> +<option value='1.9'>1.9</option> +<option value='2.0-stable'>2.0-stable</option> +<option value='2.1-stable'>2.1-stable</option> +<option value='2.2-stable'>2.2-stable</option> +<option value='2.3-stable'>2.3-stable</option> +<option value='2.4-stable'>2.4-stable</option> +<option value='2.5-stable'>2.5-stable</option> +<option value='2.6-stable'>2.6-stable</option> +<option value='2.7-stable'>2.7-stable</option> +<option value='3.0-stable'>3.0-stable</option> +<option value='3.1-stable'>3.1-stable</option> +<option value='3.10-stable'>3.10-stable</option> +<option value='3.11-stable'>3.11-stable</option> +<option value='3.12-stable'>3.12-stable</option> +<option value='3.13-stable'>3.13-stable</option> +<option value='3.14-stable'>3.14-stable</option> +<option value='3.15-stable'>3.15-stable</option> +<option value='3.2-stable'>3.2-stable</option> +<option value='3.3-stable'>3.3-stable</option> +<option value='3.4-stable'>3.4-stable</option> +<option value='3.5-stable'>3.5-stable</option> +<option value='3.6-stable'>3.6-stable</option> +<option value='3.7-stable'>3.7-stable</option> +<option value='3.8-stable'>3.8-stable</option> +<option value='3.9-stable'>3.9-stable</option> +<option value='cherry-pick-980a8718'>cherry-pick-980a8718</option> +<option value='fs-upgrade-1.10.7'>fs-upgrade-1.10.7</option> +<option value='libcgroup'>libcgroup</option> +<option value='master' selected='selected'>master</option> +<option value='nuspell'>nuspell</option> +<option value='patches/3526'>patches/3526</option> +<option value='patches/3527'>patches/3527</option> +<option value='patches/3530'>patches/3530</option> +<option value='patches/3531'>patches/3531</option> +<option value='patches/3534'>patches/3534</option> +<option value='patches/3535'>patches/3535</option> +<option value='patches/3538'>patches/3538</option> +<option value='patches/3539'>patches/3539</option> +<option value='patches/3540'>patches/3540</option> +<option value='patches/3551'>patches/3551</option> +<option value='patches/3556'>patches/3556</option> +<option value='patches/3558'>patches/3558</option> +<option value='patches/3559'>patches/3559</option> +<option value='patches/3562'>patches/3562</option> +<option value='patches/3563'>patches/3563</option> +<option value='patches/3564'>patches/3564</option> +<option value='patches/3565'>patches/3565</option> +<option value='patches/3567'>patches/3567</option> +<option value='patches/3568'>patches/3568</option> +<option value='patches/3569'>patches/3569</option> +<option value='patches/3574'>patches/3574</option> +<option value='patches/3575'>patches/3575</option> +<option value='patches/3576'>patches/3576</option> +<option value='patches/3577'>patches/3577</option> +<option value='patches/3582'>patches/3582</option> +<option value='patches/3584'>patches/3584</option> +<option value='patches/3590'>patches/3590</option> +<option value='patches/3592'>patches/3592</option> +<option value='patches/3594'>patches/3594</option> +<option value='patches/3598'>patches/3598</option> +<option value='patches/3599'>patches/3599</option> +<option value='patches/3601'>patches/3601</option> +<option value='patches/3603'>patches/3603</option> +<option value='patches/3604'>patches/3604</option> +<option value='patches/3606'>patches/3606</option> +<option value='patches/3607'>patches/3607</option> +<option value='patches/3608'>patches/3608</option> +<option value='patches/3610'>patches/3610</option> +<option value='patches/3612'>patches/3612</option> +<option value='patches/3613'>patches/3613</option> +<option value='patches/3615'>patches/3615</option> +<option value='patches/3616'>patches/3616</option> +<option value='patches/3618'>patches/3618</option> +<option value='patches/3621'>patches/3621</option> +<option value='patches/3622'>patches/3622</option> +<option value='patches/3624'>patches/3624</option> +<option value='patches/3627'>patches/3627</option> +<option value='patches/3632'>patches/3632</option> +<option value='patches/3633'>patches/3633</option> +<option value='patches/3635'>patches/3635</option> +<option value='patches/3636'>patches/3636</option> +<option value='patches/3646'>patches/3646</option> +<option value='patches/3654'>patches/3654</option> +<option value='patches/3656'>patches/3656</option> +<option value='patches/3662'>patches/3662</option> +<option value='patches/3666'>patches/3666</option> +<option value='patches/3670'>patches/3670</option> +<option value='patches/3671'>patches/3671</option> +<option value='patches/3675'>patches/3675</option> +<option value='patches/3687'>patches/3687</option> +<option value='patches/3690'>patches/3690</option> +<option value='patches/3691'>patches/3691</option> +<option value='patches/3692'>patches/3692</option> +<option value='patches/3697'>patches/3697</option> +<option value='patches/3706'>patches/3706</option> +<option value='patches/3707'>patches/3707</option> +<option value='patches/3715'>patches/3715</option> +<option value='patches/3721'>patches/3721</option> +<option value='patches/3722'>patches/3722</option> +<option value='patches/3724'>patches/3724</option> +<option value='patches/3731'>patches/3731</option> +<option value='patches/3756'>patches/3756</option> +<option value='patches/3764'>patches/3764</option> +<option value='patches/3767'>patches/3767</option> +<option value='patches/3770'>patches/3770</option> +<option value='patches/3771'>patches/3771</option> +<option value='patches/3774'>patches/3774</option> +<option value='patches/3775'>patches/3775</option> +<option value='patches/3777'>patches/3777</option> +<option value='patches/3779'>patches/3779</option> +<option value='patches/3787'>patches/3787</option> +<option value='patches/3788'>patches/3788</option> +<option value='patches/3789'>patches/3789</option> +<option value='patches/3790'>patches/3790</option> +<option value='patches/3793'>patches/3793</option> +<option value='patches/3796'>patches/3796</option> +<option value='patches/3797'>patches/3797</option> +<option value='patches/3798'>patches/3798</option> +<option value='patches/3799'>patches/3799</option> +<option value='patches/3800'>patches/3800</option> +<option value='patches/3802'>patches/3802</option> +<option value='patches/3803'>patches/3803</option> +<option value='patches/3804'>patches/3804</option> +<option value='patches/3805'>patches/3805</option> +<option value='patches/3808'>patches/3808</option> +<option value='patches/3811'>patches/3811</option> +<option value='patches/3813'>patches/3813</option> +<option value='patches/3816'>patches/3816</option> +<option value='patches/3818'>patches/3818</option> +<option value='patches/3820'>patches/3820</option> +<option value='patches/3821'>patches/3821</option> +<option value='patches/3822'>patches/3822</option> +<option value='patches/3823'>patches/3823</option> +<option value='patches/3825'>patches/3825</option> +<option value='patches/3827'>patches/3827</option> +<option value='patches/3828'>patches/3828</option> +<option value='patches/3829'>patches/3829</option> +<option value='patches/3830'>patches/3830</option> +<option value='patches/3831'>patches/3831</option> +<option value='patches/3832'>patches/3832</option> +<option value='patches/3833'>patches/3833</option> +<option value='patches/3835'>patches/3835</option> +<option value='patches/3836'>patches/3836</option> +<option value='patches/3837'>patches/3837</option> +<option value='patches/3838'>patches/3838</option> +<option value='patches/3839'>patches/3839</option> +<option value='patches/3843'>patches/3843</option> +<option value='patches/3845'>patches/3845</option> +<option value='patches/3846'>patches/3846</option> +<option value='patches/3847'>patches/3847</option> +<option value='patches/3850'>patches/3850</option> +<option value='patches/3852'>patches/3852</option> +<option value='patches/3853'>patches/3853</option> +<option value='patches/3854'>patches/3854</option> +<option value='patches/3855'>patches/3855</option> +<option value='patches/3858'>patches/3858</option> +<option value='patches/3861'>patches/3861</option> +<option value='patches/3863'>patches/3863</option> +<option value='patches/3864'>patches/3864</option> +<option value='patches/3868'>patches/3868</option> +<option value='patches/3869'>patches/3869</option> +<option value='patches/3870'>patches/3870</option> +<option value='patches/3871'>patches/3871</option> +<option value='patches/3873'>patches/3873</option> +<option value='patches/3878'>patches/3878</option> +<option value='patches/3881'>patches/3881</option> +<option value='patches/3882'>patches/3882</option> +<option value='patches/3883'>patches/3883</option> +<option value='patches/3885'>patches/3885</option> +<option value='patches/3886'>patches/3886</option> +<option value='patches/3887'>patches/3887</option> +<option value='patches/3888'>patches/3888</option> +<option value='patches/3890'>patches/3890</option> +<option value='patches/3891'>patches/3891</option> +<option value='patches/3892'>patches/3892</option> +<option value='patches/3895'>patches/3895</option> +<option value='patches/3896'>patches/3896</option> +<option value='patches/3897'>patches/3897</option> +<option value='patches/3908'>patches/3908</option> +<option value='patches/3909'>patches/3909</option> +<option value='patches/3912'>patches/3912</option> +<option value='patches/3913'>patches/3913</option> +<option value='patches/3914'>patches/3914</option> +<option value='patches/3916'>patches/3916</option> +<option value='patches/3918'>patches/3918</option> +<option value='patches/3920'>patches/3920</option> +<option value='patches/3923'>patches/3923</option> +<option value='patches/3927'>patches/3927</option> +<option value='patches/3933'>patches/3933</option> +<option value='patches/3934'>patches/3934</option> +<option value='patches/3937'>patches/3937</option> +<option value='patches/3940'>patches/3940</option> +<option value='patches/3941'>patches/3941</option> +<option value='patches/3946'>patches/3946</option> +<option value='patches/3947'>patches/3947</option> +<option value='patches/3949'>patches/3949</option> +<option value='patches/3950'>patches/3950</option> +<option value='patches/3953'>patches/3953</option> +<option value='patches/3954'>patches/3954</option> +<option value='patches/3957'>patches/3957</option> +<option value='patches/3958'>patches/3958</option> +<option value='patches/3959'>patches/3959</option> +<option value='patches/3963'>patches/3963</option> +<option value='patches/3969'>patches/3969</option> +<option value='patches/3970'>patches/3970</option> +<option value='patches/3976'>patches/3976</option> +<option value='patches/3977'>patches/3977</option> +<option value='patches/3979'>patches/3979</option> +<option value='patches/3980'>patches/3980</option> +<option value='patches/3981'>patches/3981</option> +<option value='patches/3987'>patches/3987</option> +<option value='patches/3988'>patches/3988</option> +<option value='patches/3989'>patches/3989</option> +<option value='patches/3996'>patches/3996</option> +<option value='wlroots'>wlroots</option> +</select> <input type='submit' value='switch'/></form></td></tr> +<tr><td class='sub'>Alpine packages build scripts +</td><td class='sub right'>uwsgi</td></tr></table> +<table class='tabs'><tr><td> +<a href='/aports/about/'>about</a><a href='/aports/'>summary</a><a href='/aports/refs/'>refs</a><a href='/aports/log/community/modemmanager/modemmanager.rules'>log</a><a class='active' href='/aports/tree/community/modemmanager/modemmanager.rules'>tree</a><a href='/aports/commit/community/modemmanager/modemmanager.rules'>commit</a><a href='/aports/diff/community/modemmanager/modemmanager.rules'>diff</a><a href='/aports/stats/community/modemmanager/modemmanager.rules'>stats</a></td><td class='form'><form class='right' method='get' action='/aports/log/community/modemmanager/modemmanager.rules'> +<select name='qt'> +<option value='grep'>log msg</option> +<option value='author'>author</option> +<option value='committer'>committer</option> +<option value='range'>range</option> +</select> +<input class='txt' type='search' size='10' name='q' value=''/> +<input type='submit' value='search'/> +</form> +</td></tr></table> +<div class='path'>path: <a href='/aports/tree/'>root</a>/<a href='/aports/tree/community'>community</a>/<a href='/aports/tree/community/modemmanager'>modemmanager</a>/<a href='/aports/tree/community/modemmanager/modemmanager.rules'>modemmanager.rules</a></div><div class='content'>blob: 4c56fb7f9ef117068e03d8e6c01d2f51dad066bd (<a href='/aports/plain/community/modemmanager/modemmanager.rules'>plain</a>) (<a href='/aports/blame/community/modemmanager/modemmanager.rules'>blame</a>) +<table summary='blob content' class='blob'> +<tr><td class='linenumbers'><pre><a id='n1' href='#n1'>1</a> +<a id='n2' href='#n2'>2</a> +<a id='n3' href='#n3'>3</a> +<a id='n4' href='#n4'>4</a> +<a id='n5' href='#n5'>5</a> +<a id='n6' href='#n6'>6</a> +<a id='n7' href='#n7'>7</a> +<a id='n8' href='#n8'>8</a> +<a id='n9' href='#n9'>9</a> +<a id='n10' href='#n10'>10</a> +<a id='n11' href='#n11'>11</a> +<a id='n12' href='#n12'>12</a> +<a id='n13' href='#n13'>13</a> +<a id='n14' href='#n14'>14</a> +<a id='n15' href='#n15'>15</a> +<a id='n16' href='#n16'>16</a> +<a id='n17' href='#n17'>17</a> +<a id='n18' href='#n18'>18</a> +<a id='n19' href='#n19'>19</a> +</pre></td> +<td class='lines'><pre><code>// Let users in plugdev group modify ModemManager +polkit.addRule(function(action, subject) { + if ((action.id == "org.freedesktop.ModemManager1.Device.Control" || + action.id == "org.freedesktop.ModemManager1.Contacts" || + action.id == "org.freedesktop.ModemManager1.Messaging" || + action.id == "org.freedesktop.ModemManager1.Location") && + subject.isInGroup("plugdev") && subject.active) { + return "yes"; + } +}); + +// Let geoclue modify ModemManager for location gathering +polkit.addRule(function(action, subject) { + if ((action.id == "org.freedesktop.ModemManager1.Device.Control" || + action.id == "org.freedesktop.ModemManager1.Location") && + subject.isInGroup("geoclue")) { + return "yes"; + } +}); +</code></pre></td></tr></table> +</div> <!-- class=content --> +<div class='footer'>generated by <a href='https://git.zx2c4.com/cgit/about/'>cgit v1.2.3</a> (<a href='https://git-scm.com/'>git 2.25.1</a>) at 2022-03-31 19:59:28 +0000</div> +</div> <!-- id=cgit --> +</body> +</html> diff --git a/extra/openrc/rc.conf b/extra/openrc/rc.conf new file mode 100644 index 0000000..fdeb653 --- /dev/null +++ b/extra/openrc/rc.conf @@ -0,0 +1,313 @@ +# Global OpenRC configuration settings + +# Set to "YES" if you want the rc system to try and start services +# in parallel for a slight speed improvement. When running in parallel we +# prefix the service output with its name as the output will get +# jumbled up. +# WARNING: whilst we have improved parallel, it can still potentially lock +# the boot process. Don't file bugs about this unless you can supply +# patches that fix it without breaking other things! +rc_parallel="YES" + +# Set rc_interactive to "YES" and you'll be able to press the I key during +# boot so you can choose to start specific services. Set to "NO" to disable +# this feature. This feature is automatically disabled if rc_parallel is +# set to YES. +#rc_interactive="YES" + +# If we need to drop to a shell, you can specify it here. +# If not specified we use $SHELL, otherwise the one specified in /etc/passwd, +# otherwise /bin/sh +# Linux users could specify /sbin/sulogin +rc_shell=/bin/sh + +# Do we allow any started service in the runlevel to satisfy the dependency +# or do we want all of them regardless of state? For example, if net.eth0 +# and net.eth1 are in the default runlevel then with rc_depend_strict="NO" +# both will be started, but services that depend on 'net' will work if either +# one comes up. With rc_depend_strict="YES" we would require them both to +# come up. +#rc_depend_strict="YES" + +# rc_hotplug controls which services we allow to be hotplugged. +# A hotplugged service is one started by a dynamic dev manager when a matching +# hardware device is found. +# Hotplugged services appear in the "hotplugged" runlevel. +# If rc_hotplug is set to any value, we compare the name of this service +# to every pattern in the value, from left to right, and we allow the +# service to be hotplugged if it matches a pattern, or if it matches no +# patterns. Patterns can include shell wildcards. +# To disable services from being hotplugged, prefix patterns with "!". +#If rc_hotplug is not set or is empty, all hotplugging is disabled. +# Example - rc_hotplug="net.wlan !net.*" +# This allows net.wlan and any service not matching net.* to be hotplugged. +# Example - rc_hotplug="!net.*" +# This allows services that do not match "net.*" to be hotplugged. + +# rc_logger launches a logging daemon to log the entire rc process to +# /var/log/rc.log +# NOTE: Linux systems require the devfs service to be started before +# logging can take place and as such cannot log the sysinit runlevel. +#rc_logger="NO" + +# Through rc_log_path you can specify a custom log file. +# The default value is: /var/log/rc.log +#rc_log_path="/var/log/rc.log" + +# If you want verbose output for OpenRC, set this to yes. If you want +# verbose output for service foo only, set it to yes in /etc/conf.d/foo. +#rc_verbose=no + +# By default we filter the environment for our running scripts. To allow other +# variables through, add them here. Use a * to allow all variables through. +#rc_env_allow="VAR1 VAR2" + +# By default we assume that all daemons will start correctly. +# However, some do not - a classic example is that they fork and return 0 AND +# then child barfs on a configuration error. Or the daemon has a bug and the +# child crashes. You can set the number of milliseconds start-stop-daemon +# waits to check that the daemon is still running after starting here. +# The default is 0 - no checking. +#rc_start_wait=100 + +# rc_nostop is a list of services which will not stop when changing runlevels. +# This still allows the service itself to be stopped when called directly. +#rc_nostop="" + +# rc will attempt to start crashed services by default. +# However, it will not stop them by default as that could bring down other +# critical services. +#rc_crashed_stop=NO +#rc_crashed_start=YES + +# Set rc_nocolor to yes if you do not want colors displayed in OpenRC +# output. +#rc_nocolor=NO + +############################################################################## +# MISC CONFIGURATION VARIABLES +# There variables are shared between many init scripts + +# Set unicode to YES to turn on unicode support for keyboards and screens. +unicode="YES" + +# This is how long fuser should wait for a remote server to respond. The +# default is 60 seconds, but it can be adjusted here. +#rc_fuser_timeout=60 + +# Below is the default list of network fstypes. +# +# afs ceph cifs coda davfs fuse fuse.sshfs gfs glusterfs lustre ncpfs +# nfs nfs4 ocfs2 shfs smbfs +# +# If you would like to add to this list, you can do so by adding your +# own fstypes to the following variable. +#extra_net_fs_list="" + +############################################################################## +# SERVICE CONFIGURATION VARIABLES +# These variables are documented here, but should be configured in +# /etc/conf.d/foo for service foo and NOT enabled here unless you +# really want them to work on a global basis. +# If your service has characters in its name which are not legal in +# shell variable names and you configure the variables for it in this +# file, those characters should be replaced with underscores in the +# variable names as shown below. + +# Some daemons are started and stopped via start-stop-daemon. +# We can set some things on a per service basis, like the nicelevel. +#SSD_NICELEVEL="-19" +# Or the ionice level. The format is class[:data] , just like the +# --ionice start-stop-daemon parameter. +#SSD_IONICELEVEL="2:2" + +# Pass ulimit parameters +# If you are using bash in POSIX mode for your shell, note that the +# ulimit command uses a block size of 512 bytes for the -c and -f +# options +#rc_ulimit="-u 30" + +# It's possible to define extra dependencies for services like so +#rc_config="/etc/foo" +#rc_need="openvpn" +#rc_use="net.eth0" +#rc_after="clock" +#rc_before="local" +#rc_provide="!net" + +# You can also enable the above commands here for each service. Below is an +# example for service foo. +#rc_foo_config="/etc/foo" +#rc_foo_need="openvpn" +#rc_foo_after="clock" + +# Below is an example for service foo-bar. Note that the '-' is illegal +# in a shell variable name, so we convert it to an underscore. +# example for service foo-bar. +#rc_foo_bar_config="/etc/foo-bar" +#rc_foo_bar_need="openvpn" +#rc_foo_bar_after="clock" + +# You can also remove dependencies. +# This is mainly used for saying which services do NOT provide net. +#rc_net_tap0_provide="!net" + +# This is the subsystem type. +# It is used to match against keywords set by the keyword call in the +# depend function of service scripts. +# +# It should be set to the value representing the environment this file is +# PRESENTLY in, not the virtualization the environment is capable of. +# If it is commented out, automatic detection will be used. +# +# The list below shows all possible settings as well as the host +# operating systems where they can be used and autodetected. +# +# "" - nothing special +# "docker" - Docker container manager (Linux) +# "jail" - Jail (DragonflyBSD or FreeBSD) +# "lxc" - Linux Containers +# "openvz" - Linux OpenVZ +# "prefix" - Prefix +# "rkt" - CoreOS container management system (Linux) +# "subhurd" - Hurd subhurds (to be checked) +# "systemd-nspawn" - Container created by systemd-nspawn (Linux) +# "uml" - Usermode Linux +# "vserver" - Linux vserver +# "xen0" - Xen0 Domain (Linux and NetBSD) +# "xenU" - XenU Domain (Linux and NetBSD) +#rc_sys="" + +# if you use openrc-init, which is currently only available on Linux, +# this is the default runlevel to activate after "sysinit" and "boot" +# when booting. +#rc_default_runlevel="default" + +# on Linux and Hurd, this is the number of ttys allocated for logins +# It is used in the consolefont, keymaps, numlock and termencoding +# service scripts. +rc_tty_number=12 + +############################################################################## +# LINUX CGROUPS RESOURCE MANAGEMENT + +# This sets the mode used to mount cgroups. +# "hybrid" mounts cgroups version 2 on /sys/fs/cgroup/unified and +# cgroups version 1 on /sys/fs/cgroup. +# "legacy" mounts cgroups version 1 on /sys/fs/cgroup +# "unified" mounts cgroups version 2 on /sys/fs/cgroup +#rc_cgroup_mode="hybrid" + +# This is a list of controllers which should be enabled for cgroups version 2 +# when hybrid mode is being used. +# Controllers listed here will not be available for cgroups version 1. +#rc_cgroup_controllers="" + +# This variable contains the cgroups version 2 settings for your services. +# If this is set in this file, the settings will apply to all services. +# If you want different settings for each service, place the settings in +# /etc/conf.d/foo for service foo. +# The format is to specify the setting and value followed by a newline. +# Multiple settings and values can be specified. +# For example, you would use this to set the maximum memory and maximum +# number of pids for a service. +#rc_cgroup_settings=" +#memory.max 10485760 +#pids.max max +#" +# +# For more information about the adjustments that can be made with +# cgroups version 2, see Documentation/cgroups-v2.txt in the linux kernel +# source tree. +#rc_cgroup_settings="" + +# This switch controls whether or not cgroups version 1 controllers are +# individually mounted under +# /sys/fs/cgroup in hybrid or legacy mode. +#rc_controller_cgroups="YES" + +# The following setting turns on the memory.use_hierarchy setting in the +# root memory cgroup for cgroups v1. +# It must be set to yes in this file if you want this functionality. +#rc_cgroup_memory_use_hierarchy="NO" + +# The following settings allow you to set up values for the cgroups version 1 +# controllers for your services. +# They can be set in this file;, however, if you do this, the settings +# will apply to all of your services. +# If you want different settings for each service, place the settings in +# /etc/conf.d/foo for service foo. +# The format is to specify the names of the settings followed by their +# values. Each variable can hold multiple settings. +# For example, you would use this to set the cpu.shares setting in the +# cpu controller to 512 for your service. +# rc_cgroup_cpu=" +# cpu.shares 512 +# " +# +# For more information about the adjustments that can be made with +# cgroups version 1, see Documentation/cgroups-v1/* in the linux kernel +# source tree. + +# Set the blkio controller settings for this service. +#rc_cgroup_blkio="" + +# Set the cpu controller settings for this service. +#rc_cgroup_cpu="" + +# Add this service to the cpuacct controller (any value means yes). +#rc_cgroup_cpuacct="" + +# Set the cpuset controller settings for this service. +#rc_cgroup_cpuset="" + +# Set the devices controller settings for this service. +#rc_cgroup_devices="" + +# Set the hugetlb controller settings for this service. +#rc_cgroup_hugetlb="" + +# Set the memory controller settings for this service. +#rc_cgroup_memory="" + +# Set the net_cls controller settings for this service. +#rc_cgroup_net_cls="" + +# Set the net_prio controller settings for this service. +#rc_cgroup_net_prio="" + +# Set the pids controller settings for this service. +#rc_cgroup_pids="" + +# Set this to YES if you want all of the processes in a service's cgroup +# killed when the service is stopped or restarted. +# Be aware that setting this to yes means all of a service's +# child processes will be killed. Keep this in mind if you set this to +# yes here instead of for the individual services in +# /etc/conf.d/<service>. +# To perform this cleanup manually for a stopped service, you can +# execute cgroup_cleanup with /etc/init.d/<service> cgroup_cleanup or +# rc-service <service> cgroup_cleanup. +# The process followed in this cleanup is the following: +# 1. send stopsig (sigterm if it isn't set) to all processes left in the +# cgroup immediately followed by sigcont. +# 2. Send sighup to all processes in the cgroup if rc_send_sighup is +# yes. +# 3. delay for rc_timeout_stopsec seconds. +# 4. send sigkill to all processes in the cgroup unless disabled by +# setting rc_send_sigkill to no. +# rc_cgroup_cleanup="NO" + +# If this is yes, we will send sighup to the processes in the cgroup +# immediately after stopsig and sigcont. +#rc_send_sighup="NO" + +# This is the amount of time in seconds that we delay after sending sigcont +# and optionally sighup, before we optionally send sigkill to all +# processes in the # cgroup. +# The default is 90 seconds. +#rc_timeout_stopsec="90" + +# If this is set to no, we do not send sigkill to all processes in the +# cgroup. +#rc_send_sigkill="YES" diff --git a/extra/ppp/0011-build-sys-don-t-put-connect-errors-log-to-etc-ppp.patch b/extra/ppp/0011-build-sys-don-t-put-connect-errors-log-to-etc-ppp.patch new file mode 100644 index 0000000..a99cc1c --- /dev/null +++ b/extra/ppp/0011-build-sys-don-t-put-connect-errors-log-to-etc-ppp.patch @@ -0,0 +1,77 @@ +From b4ef433be936c90e356da7a590b032cdee219a3f Mon Sep 17 00:00:00 2001 +From: Michal Sekletar <msekleta@redhat.com> +Date: Fri, 4 Apr 2014 19:06:05 +0200 +Subject: [PATCH 11/27] build-sys: don't put connect-errors log to /etc/ppp/ + +Resolves: #118837 +--- + chat/chat.8 | 2 +- + linux/Makefile.top | 8 +++++++- + pppd/pathnames.h | 4 ++-- + 3 files changed, 10 insertions(+), 4 deletions(-) + +diff --git a/chat/chat.8 b/chat/chat.8 +index 6d10836..78d6939 100644 +--- a/chat/chat.8 ++++ b/chat/chat.8 +@@ -200,7 +200,7 @@ The \fBSAY\fR directive allows the script to send strings to the user + at the terminal via standard error. If \fBchat\fR is being run by + pppd, and pppd is running as a daemon (detached from its controlling + terminal), standard error will normally be redirected to the file +-/etc/ppp/connect\-errors. ++/var/log/ppp/connect\-errors. + .LP + \fBSAY\fR strings must be enclosed in single or double quotes. If + carriage return and line feed are needed in the string to be output, +diff --git a/linux/Makefile.top b/linux/Makefile.top +index f63d45e..f42efd5 100644 +--- a/linux/Makefile.top ++++ b/linux/Makefile.top +@@ -5,6 +5,8 @@ BINDIR = $(DESTDIR)/sbin + INCDIR = $(DESTDIR)/include + MANDIR = $(DESTDIR)/share/man + ETCDIR = $(INSTROOT)@SYSCONF@/ppp ++RUNDIR = $(INSTROOT)/var/run/ppp ++LOGDIR = $(INSTROOT)/var/log/ppp + + # uid 0 = root + INSTALL= install +@@ -16,7 +18,7 @@ all: + cd pppstats; $(MAKE) $(MFLAGS) all + cd pppdump; $(MAKE) $(MFLAGS) all + +-install: $(BINDIR) $(MANDIR)/man8 install-progs install-devel ++install: $(BINDIR) $(RUNDIR) $(LOGDIR) $(MANDIR)/man8 install-progs install-devel + + install-progs: + cd chat; $(MAKE) $(MFLAGS) install +@@ -44,6 +46,10 @@ $(MANDIR)/man8: + $(INSTALL) -d -m 755 $@ + $(ETCDIR): + $(INSTALL) -d -m 755 $@ ++$(RUNDIR): ++ $(INSTALL) -d -m 755 $@ ++$(LOGDIR): ++ $(INSTALL) -d -m 755 $@ + + clean: + rm -f `find . -name '*.[oas]' -print` +diff --git a/pppd/pathnames.h b/pppd/pathnames.h +index a427cb8..bef3160 100644 +--- a/pppd/pathnames.h ++++ b/pppd/pathnames.h +@@ -28,9 +28,9 @@ + #define _PATH_AUTHUP _ROOT_PATH "/etc/ppp/auth-up" + #define _PATH_AUTHDOWN _ROOT_PATH "/etc/ppp/auth-down" + #define _PATH_TTYOPT _ROOT_PATH "/etc/ppp/options." +-#define _PATH_CONNERRS _ROOT_PATH "/etc/ppp/connect-errors" ++#define _PATH_CONNERRS _ROOT_PATH "/var/log/ppp/connect-errors" + #define _PATH_PEERFILES _ROOT_PATH "/etc/ppp/peers/" +-#define _PATH_RESOLV _ROOT_PATH "/etc/ppp/resolv.conf" ++#define _PATH_RESOLV _ROOT_PATH "/var/run/ppp/resolv.conf" + + #define _PATH_USEROPT ".ppprc" + #define _PATH_PSEUDONYM ".ppp_pseudonym" +-- +1.8.3.1 + diff --git a/extra/ppp/fix-paths.patch b/extra/ppp/fix-paths.patch new file mode 100644 index 0000000..6914258 --- /dev/null +++ b/extra/ppp/fix-paths.patch @@ -0,0 +1,12 @@ +--- a/pppd/plugins/radius/pathnames.h ++++ b/pppd/plugins/radius/pathnames.h +@@ -22,7 +22,7 @@ + + /* normally defined in the Makefile */ + #ifndef _PATH_ETC_RADIUSCLIENT_CONF +-#define _PATH_ETC_RADIUSCLIENT_CONF "/etc/radiusclient.conf" ++#define _PATH_ETC_RADIUSCLIENT_CONF "/etc/radiusclient/radiusclient.conf" + #endif + + #endif /* PATHNAMES_H */ + diff --git a/extra/ppp/fix-pppd-magic.h.patch b/extra/ppp/fix-pppd-magic.h.patch new file mode 100644 index 0000000..01a89d5 --- /dev/null +++ b/extra/ppp/fix-pppd-magic.h.patch @@ -0,0 +1,11 @@ +--- a/pppd/magic.h 2019-12-31 02:31:26.000000000 +0100 ++++ b/pppd/magic.h 2020-02-06 20:52:49.263657502 +0100 +@@ -42,6 +42,8 @@ + * $Id: magic.h,v 1.5 2003/06/11 23:56:26 paulus Exp $ + */ + ++#include <sys/cdefs.h> ++ + void magic_init (void); /* Initialize the magic number generator */ + u_int32_t magic (void); /* Returns the next magic number */ + diff --git a/extra/ppp/musl-fix-headers.patch b/extra/ppp/musl-fix-headers.patch new file mode 100644 index 0000000..37ddbbb --- /dev/null +++ b/extra/ppp/musl-fix-headers.patch @@ -0,0 +1,24 @@ +diff --git a/pppd/sys-linux.c b/pppd/sys-linux.c +index 6d71530..86d224e 100644 +--- a/pppd/sys-linux.c ++++ b/pppd/sys-linux.c +@@ -102,19 +102,11 @@ + #define MAX_ADDR_LEN 7 + #endif + +-#if !defined(__GLIBC__) || __GLIBC__ >= 2 + #include <asm/types.h> /* glibc 2 conflicts with linux/types.h */ + #include <net/if.h> + #include <net/if_arp.h> + #include <net/route.h> + #include <netinet/if_ether.h> +-#else +-#include <linux/types.h> +-#include <linux/if.h> +-#include <linux/if_arp.h> +-#include <linux/route.h> +-#include <linux/if_ether.h> +-#endif + #include <netinet/in.h> + #include <arpa/inet.h> + diff --git a/extra/ppp/pppd.initd b/extra/ppp/pppd.initd new file mode 100644 index 0000000..30bd641 --- /dev/null +++ b/extra/ppp/pppd.initd @@ -0,0 +1,13 @@ +#!/sbin/openrc-run + +name="pppd" +command="/usr/sbin/${SVCNAME}" +command_args="nodetach ${PPPD_OPTS}" +pidfile="/var/run/$SVCNAME.pid" +command_background=true + +start_pre() { + checkpath --directory /var/run/ppp + modprobe pptp +} + diff --git a/extra/xterm/posix-ptys.patch b/extra/xterm/posix-ptys.patch new file mode 100644 index 0000000..596699f --- /dev/null +++ b/extra/xterm/posix-ptys.patch @@ -0,0 +1,21 @@ +diff -upr xterm-323.orig/main.c xterm-323/main.c +--- xterm-323.orig/main.c 2016-03-09 15:30:51.191053881 +0100 ++++ xterm-323/main.c 2016-03-09 15:31:17.961635229 +0100 +@@ -2654,7 +2654,7 @@ get_pty(int *pty, char *from GCC_UNUSED) + close(opened_tty); + opened_tty = -1; + } +-#elif defined(HAVE_POSIX_OPENPT) && defined(HAVE_PTSNAME) && defined(HAVE_GRANTPT_PTY_ISATTY) ++#elif defined(HAVE_POSIX_OPENPT) && defined(HAVE_PTSNAME) + if ((*pty = posix_openpt(O_RDWR)) >= 0) { + char *name = ptsname(*pty); + if (name != 0) { +@@ -3735,7 +3735,7 @@ spawnXTerm(XtermWidget xw) + /* + * now in child process + */ +-#if defined(_POSIX_SOURCE) || defined(SVR4) || defined(__convex__) || defined(__SCO__) || defined(__QNX__) ++#if defined(_POSIX_VERSION) || defined(SVR4) || defined(__convex__) || defined(__SCO__) || defined(__QNX__) + int pgrp = setsid(); /* variable may not be used... */ + #else + int pgrp = getpid(); |