mhiretskiy
commit
5788cb8374
@ -1,33 +1,51 @@
|
||||
# Calculate format=kde path=/usr/share/plymouth/themes/calculate
|
||||
# Calculate format=kde path=/usr/share/plymouth/themes/calculate pkg(sys-boot/plymouth-calculate-plugin)>=0.9.5
|
||||
[Plymouth Theme]
|
||||
Name=Calculate
|
||||
Description=Simple theme that shows progressbar, image and text for shutdown
|
||||
Description=Calculate spinner theme
|
||||
ModuleName=calculate
|
||||
|
||||
[calculate]
|
||||
ImageDir=/usr/share/plymouth/themes/calculate
|
||||
BootBackgroundStartColor=0x#-ini(theme.splash-silent-background-color-begin)-#
|
||||
BootBackgroundEndColor=0x#-ini(theme.splash-silent-background-color-end)-#
|
||||
ShutdownBackgroundStartColor=0x#-ini(theme.splash-shutdown-background-color-begin)-#
|
||||
ShutdownBackgroundEndColor=0x#-ini(theme.splash-shutdown-background-color-end)-#
|
||||
!ShutdownProgressbarColor=
|
||||
!BootProgressbarColor=
|
||||
|
||||
[boot-up]
|
||||
BackgroundStartColor=0x#-ini(theme.splash-silent-background-color-begin)-#
|
||||
BackgroundEndColor=0x#-ini(theme.splash-silent-background-color-end)-#
|
||||
#?ini(theme.splash-silent-picture)!=&&ini(theme.splash-silent-type)==background#
|
||||
BootImage=/usr/share/plymouth/themes/calculate/boot
|
||||
WatermarkImage=/usr/share/plymouth/themes/calculate/boot
|
||||
#ini#
|
||||
#?ini(theme.splash-silent-picture)!=&&ini(theme.splash-silent-type)==logo#
|
||||
BootImage=/usr/share/plymouth/themes/calculate/boot.png
|
||||
WatermarkImage=/usr/share/plymouth/themes/calculate/boot.png
|
||||
#ini#
|
||||
#?ini(theme.splash-silent-picture)==||exists(#-ini(theme.splash-silent-picture)-#)==#
|
||||
!BootImage=
|
||||
!WatermarkImage
|
||||
#ini#
|
||||
|
||||
[shutdown]
|
||||
BackgroundStartColor=0x#-ini(theme.splash-shutdown-background-color-begin)-#
|
||||
BackgroundEndColor=0x#-ini(theme.splash-shutdown-background-color-end)-#
|
||||
#?ini(theme.splash-shutdown-picture)!=&&ini(theme.splash-shutdown-type)==background#
|
||||
WatermarkImage=/usr/share/plymouth/themes/calculate/.shutdown
|
||||
#ini#
|
||||
#?ini(theme.splash-shutdown-picture)!=&&ini(theme.splash-shutdown-type)==logo#
|
||||
WatermarkImage=/usr/share/plymouth/themes/calculate/.shutdown.png
|
||||
#ini#
|
||||
#?ini(theme.splash-shutdown-picture)==||exists(#-ini(theme.splash-shutdown-picture)-#)==#
|
||||
!WatermarkImage=
|
||||
#ini#
|
||||
TitleColor=0x#-ini(theme.splash-shutdown-text-color)-#
|
||||
Title=S h u t t i n g d o w n
|
||||
|
||||
[reboot]
|
||||
BackgroundStartColor=0x#-ini(theme.splash-shutdown-background-color-begin)-#
|
||||
BackgroundEndColor=0x#-ini(theme.splash-shutdown-background-color-end)-#
|
||||
#?ini(theme.splash-shutdown-picture)!=&&ini(theme.splash-shutdown-type)==background#
|
||||
ShutdownImage=/usr/share/plymouth/themes/calculate/.shutdown
|
||||
WatermarkImage=/usr/share/plymouth/themes/calculate/.shutdown
|
||||
#ini#
|
||||
#?ini(theme.splash-shutdown-picture)!=&&ini(theme.splash-shutdown-type)==logo#
|
||||
ShutdownImage=/usr/share/plymouth/themes/calculate/.shutdown.png
|
||||
WatermarkImage=/usr/share/plymouth/themes/calculate/.shutdown.png
|
||||
#ini#
|
||||
#?ini(theme.splash-shutdown-picture)==||exists(#-ini(theme.splash-shutdown-picture)-#)==#
|
||||
!ShutdownImage=
|
||||
!WatermarkImage=
|
||||
#ini#
|
||||
ShutdownTextColor=0x#-ini(theme.splash-shutdown-text-color)-#
|
||||
TitleColor=0x#-ini(theme.splash-shutdown-text-color)-#
|
||||
Title=S h u t t i n g d o w n
|
||||
|
@ -0,0 +1,33 @@
|
||||
# Calculate format=kde path=/usr/share/plymouth/themes/calculate pkg(sys-boot/plymouth-calculate-plugin)<0.9.5 name=calculate.plymouth
|
||||
[Plymouth Theme]
|
||||
Name=Calculate
|
||||
Description=Simple theme that shows progressbar, image and text for shutdown
|
||||
ModuleName=calculate
|
||||
|
||||
[calculate]
|
||||
ImageDir=/usr/share/plymouth/themes/calculate
|
||||
BootBackgroundStartColor=0x#-ini(theme.splash-silent-background-color-begin)-#
|
||||
BootBackgroundEndColor=0x#-ini(theme.splash-silent-background-color-end)-#
|
||||
ShutdownBackgroundStartColor=0x#-ini(theme.splash-shutdown-background-color-begin)-#
|
||||
ShutdownBackgroundEndColor=0x#-ini(theme.splash-shutdown-background-color-end)-#
|
||||
!ShutdownProgressbarColor=
|
||||
!BootProgressbarColor=
|
||||
#?ini(theme.splash-silent-picture)!=&&ini(theme.splash-silent-type)==background#
|
||||
BootImage=/usr/share/plymouth/themes/calculate/boot
|
||||
#ini#
|
||||
#?ini(theme.splash-silent-picture)!=&&ini(theme.splash-silent-type)==logo#
|
||||
BootImage=/usr/share/plymouth/themes/calculate/boot.png
|
||||
#ini#
|
||||
#?ini(theme.splash-silent-picture)==||exists(#-ini(theme.splash-silent-picture)-#)==#
|
||||
!BootImage=
|
||||
#ini#
|
||||
#?ini(theme.splash-shutdown-picture)!=&&ini(theme.splash-shutdown-type)==background#
|
||||
ShutdownImage=/usr/share/plymouth/themes/calculate/.shutdown
|
||||
#ini#
|
||||
#?ini(theme.splash-shutdown-picture)!=&&ini(theme.splash-shutdown-type)==logo#
|
||||
ShutdownImage=/usr/share/plymouth/themes/calculate/.shutdown.png
|
||||
#ini#
|
||||
#?ini(theme.splash-shutdown-picture)==||exists(#-ini(theme.splash-shutdown-picture)-#)==#
|
||||
!ShutdownImage=
|
||||
#ini#
|
||||
ShutdownTextColor=0x#-ini(theme.splash-shutdown-text-color)-#
|
@ -0,0 +1,188 @@
|
||||
# Calculate format=diff merge(sys-boot/plymouth)<0.9.5
|
||||
commit 4ec46d8b9a1fdd4eb791013bae98e4ca34b412de
|
||||
Author: Mir Calculate <support@calculate.ru>
|
||||
Date: Wed Feb 13 15:35:50 2019 +0300
|
||||
|
||||
Изменён порядок инициализации framebuffer для plymouth
|
||||
|
||||
Добавлена переменная конфигурационного файла
|
||||
FBDeviceTimeout, по истечении которого plymouth будет ожидать не только DRM
|
||||
устройства, но и framebuffer. По истечении DeviceTimeout plymouth будет
|
||||
запущен для text mode.
|
||||
|
||||
diff --git a/src/libply-splash-core/ply-device-manager.c b/src/libply-splash-core/ply-device-manager.c
|
||||
index 55248ac..4350324 100644
|
||||
--- a/src/libply-splash-core/ply-device-manager.c
|
||||
+++ b/src/libply-splash-core/ply-device-manager.c
|
||||
@@ -39,12 +39,14 @@
|
||||
#include "ply-hashtable.h"
|
||||
#include "ply-list.h"
|
||||
#include "ply-utils.h"
|
||||
+#include <math.h>
|
||||
|
||||
#define SUBSYSTEM_DRM "drm"
|
||||
#define SUBSYSTEM_FRAME_BUFFER "graphics"
|
||||
|
||||
#ifdef HAVE_UDEV
|
||||
static void create_devices_from_udev (ply_device_manager_t *manager);
|
||||
+static void create_fb_devices_from_udev (ply_device_manager_t *manager);
|
||||
#endif
|
||||
|
||||
static bool create_devices_for_terminal_and_renderer_type (ply_device_manager_t *manager,
|
||||
@@ -81,6 +83,7 @@ struct _ply_device_manager
|
||||
|
||||
uint32_t paused : 1;
|
||||
uint32_t device_timeout_elapsed : 1;
|
||||
+ uint32_t fb_device_timeout_elapsed : 1;
|
||||
};
|
||||
|
||||
static void
|
||||
@@ -361,7 +364,12 @@ on_udev_event (ply_device_manager_t *manager)
|
||||
ply_trace ("ignoring since we're already using text splash for local console");
|
||||
else
|
||||
create_devices_for_udev_device (manager, device);
|
||||
- } else {
|
||||
+ } else if (manager->fb_device_timeout_elapsed && strcmp (subsystem, SUBSYSTEM_FRAME_BUFFER) == 0){
|
||||
+ if (manager->local_console_managed && manager->local_console_is_text)
|
||||
+ ply_trace ("ignoring since we're already using text splash for local console");
|
||||
+ else
|
||||
+ create_devices_for_udev_device (manager, device);
|
||||
+ } else {
|
||||
ply_trace ("ignoring since we only handle subsystem %s devices after timeout", subsystem);
|
||||
}
|
||||
} else if (strcmp (action, "remove") == 0) {
|
||||
@@ -539,6 +547,9 @@ ply_device_manager_free (ply_device_manager_t *manager)
|
||||
ply_event_loop_stop_watching_for_timeout (manager->loop,
|
||||
(ply_event_loop_timeout_handler_t)
|
||||
create_devices_from_udev, manager);
|
||||
+ ply_event_loop_stop_watching_for_timeout (manager->loop,
|
||||
+ (ply_event_loop_timeout_handler_t)
|
||||
+ create_fb_devices_from_udev, manager);
|
||||
|
||||
if (manager->udev_monitor != NULL)
|
||||
udev_monitor_unref (manager->udev_monitor);
|
||||
@@ -838,6 +849,24 @@ create_devices_from_udev (ply_device_manager_t *manager)
|
||||
ply_trace ("Creating non-graphical devices, since there's no suitable graphics hardware");
|
||||
create_non_graphical_devices (manager);
|
||||
}
|
||||
+
|
||||
+static void
|
||||
+create_fb_devices_from_udev (ply_device_manager_t *manager)
|
||||
+{
|
||||
+ bool found_drm_device, found_fb_device;
|
||||
+
|
||||
+ manager->fb_device_timeout_elapsed = true;
|
||||
+
|
||||
+ if (manager->paused) {
|
||||
+ ply_trace ("create_fb_devices_from_udev timeout elapsed while paused, deferring execution");
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ ply_trace ("Timeout elapsed, looking for framebuffer devices from udev");
|
||||
+
|
||||
+ found_drm_device = create_devices_for_subsystem (manager, SUBSYSTEM_DRM);
|
||||
+ found_fb_device = create_devices_for_subsystem (manager, SUBSYSTEM_FRAME_BUFFER);
|
||||
+}
|
||||
#endif
|
||||
|
||||
static void
|
||||
@@ -851,6 +880,7 @@ create_fallback_devices (ply_device_manager_t *manager)
|
||||
|
||||
void
|
||||
ply_device_manager_watch_devices (ply_device_manager_t *manager,
|
||||
+ double fb_device_timeout,
|
||||
double device_timeout,
|
||||
ply_keyboard_added_handler_t keyboard_added_handler,
|
||||
ply_keyboard_removed_handler_t keyboard_removed_handler,
|
||||
@@ -870,6 +900,9 @@ ply_device_manager_watch_devices (ply_device_manager_t *manager,
|
||||
manager->text_display_removed_handler = text_display_removed_handler;
|
||||
manager->event_handler_data = data;
|
||||
|
||||
+ if (isnan (fb_device_timeout))
|
||||
+ fb_device_timeout = 5;
|
||||
+
|
||||
/* Try to create devices for each serial device right away, if possible
|
||||
*/
|
||||
done_with_initial_devices_setup = create_devices_from_terminals (manager);
|
||||
@@ -892,6 +925,10 @@ ply_device_manager_watch_devices (ply_device_manager_t *manager,
|
||||
#ifdef HAVE_UDEV
|
||||
watch_for_udev_events (manager);
|
||||
create_devices_for_subsystem (manager, SUBSYSTEM_DRM);
|
||||
+ ply_event_loop_watch_for_timeout (manager->loop,
|
||||
+ fb_device_timeout,
|
||||
+ (ply_event_loop_timeout_handler_t)
|
||||
+ create_fb_devices_from_udev, manager);
|
||||
ply_event_loop_watch_for_timeout (manager->loop,
|
||||
device_timeout,
|
||||
(ply_event_loop_timeout_handler_t)
|
||||
@@ -1035,6 +1072,10 @@ ply_device_manager_unpause (ply_device_manager_t *manager)
|
||||
ply_trace ("ply_device_manager_unpause() called, resuming watching for udev events");
|
||||
manager->paused = false;
|
||||
#ifdef HAVE_UDEV
|
||||
+ if (manager->fb_device_timeout_elapsed) {
|
||||
+ ply_trace ("ply_device_manager_unpause(): timeout elapsed while paused, looking for framebuffer udev devices");
|
||||
+ create_fb_devices_from_udev (manager);
|
||||
+ }
|
||||
if (manager->device_timeout_elapsed) {
|
||||
ply_trace ("ply_device_manager_unpause(): timeout elapsed while paused, looking for udev devices");
|
||||
create_devices_from_udev (manager);
|
||||
diff --git a/src/libply-splash-core/ply-device-manager.h b/src/libply-splash-core/ply-device-manager.h
|
||||
index 389b636..37198a2 100644
|
||||
--- a/src/libply-splash-core/ply-device-manager.h
|
||||
+++ b/src/libply-splash-core/ply-device-manager.h
|
||||
@@ -47,6 +47,7 @@ typedef void (* ply_text_display_removed_handler_t) (void *, ply_text_display_t
|
||||
ply_device_manager_t *ply_device_manager_new (const char *default_tty,
|
||||
ply_device_manager_flags_t flags);
|
||||
void ply_device_manager_watch_devices (ply_device_manager_t *manager,
|
||||
+ double fb_device_timeout,
|
||||
double device_timeout,
|
||||
ply_keyboard_added_handler_t keyboard_added_handler,
|
||||
ply_keyboard_removed_handler_t keyboard_removed_handler,
|
||||
diff --git a/src/main.c b/src/main.c
|
||||
index ddc1883..f8f980c 100644
|
||||
--- a/src/main.c
|
||||
+++ b/src/main.c
|
||||
@@ -103,6 +103,7 @@ typedef struct
|
||||
double start_time;
|
||||
double splash_delay;
|
||||
double device_timeout;
|
||||
+ double fb_device_timeout;
|
||||
|
||||
uint32_t no_boot_log : 1;
|
||||
uint32_t showing_details : 1;
|
||||
@@ -340,6 +341,19 @@ load_settings (state_t *state,
|
||||
}
|
||||
}
|
||||
|
||||
+ if (isnan (state->fb_device_timeout)) {
|
||||
+ char *timeout_string;
|
||||
+
|
||||
+ timeout_string = ply_key_file_get_value (key_file, "Daemon", "FBDeviceTimeout");
|
||||
+
|
||||
+ if (timeout_string != NULL) {
|
||||
+ state->fb_device_timeout = atof (timeout_string);
|
||||
+ ply_trace ("Framebuffer device timeout is set to %lf", state->fb_device_timeout);
|
||||
+
|
||||
+ free (timeout_string);
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
scale_string = ply_key_file_get_value (key_file, "Daemon", "DeviceScale");
|
||||
|
||||
if (scale_string != NULL) {
|
||||
@@ -1100,6 +1114,7 @@ load_devices (state_t *state,
|
||||
state->local_console_terminal = ply_device_manager_get_default_terminal (state->device_manager);
|
||||
|
||||
ply_device_manager_watch_devices (state->device_manager,
|
||||
+ state->fb_device_timeout,
|
||||
state->device_timeout,
|
||||
(ply_keyboard_added_handler_t)
|
||||
on_keyboard_added,
|
||||
@@ -2269,6 +2284,7 @@ main (int argc,
|
||||
state.progress = ply_progress_new ();
|
||||
state.splash_delay = NAN;
|
||||
state.device_timeout = NAN;
|
||||
+ state.fb_device_timeout = NAN;
|
||||
|
||||
ply_progress_load_cache (state.progress,
|
||||
get_cache_file_for_mode (state.mode));
|
@ -0,0 +1,23 @@
|
||||
# Calculate format=diff merge(sys-boot/plymouth)<0.9.5
|
||||
commit c0e512de2352611112c5476e0032514e2b2d713c
|
||||
Author: Mir Calculate <support@calculate.ru>
|
||||
Date: Tue Feb 19 12:17:41 2019 +0300
|
||||
|
||||
Добавлена возможность указать запуск splash только для shutdown
|
||||
|
||||
diff --git a/src/main.c b/src/main.c
|
||||
index f8f980c..c702c10 100644
|
||||
--- a/src/main.c
|
||||
+++ b/src/main.c
|
||||
@@ -916,6 +916,11 @@ plymouth_should_show_default_splash (state_t *state)
|
||||
return true;
|
||||
}
|
||||
|
||||
+ if (ply_kernel_command_line_has_argument ("splash=shutdown") && state->mode == PLY_MODE_SHUTDOWN) {
|
||||
+ ply_trace ("using default splash because kernel command line has option \"splash=shutdown\"");
|
||||
+ return true;
|
||||
+ }
|
||||
+
|
||||
if (ply_kernel_command_line_has_argument ("splash=silent")) {
|
||||
ply_trace ("using default splash because kernel command line has option \"splash=silent\"");
|
||||
return true;
|
@ -1 +0,0 @@
|
||||
# Calculate append=skip merge(sys-kernel/calculate-sources)=>5.8,5.9
|
File diff suppressed because it is too large
Load Diff
@ -1,10 +0,0 @@
|
||||
# Calculate format=kernel name=.config
|
||||
CONFIG_CRASH_DUMP=y
|
||||
# CONFIG_PROC_VMCORE_DEVICE_DUMP is not set
|
||||
CONFIG_PROC_VMCORE=y
|
||||
# CONFIG_UFS_DEBUG is not set
|
||||
CONFIG_UFS_FS=m
|
||||
# CONFIG_UFS_FS_WRITE is not set
|
||||
# CONFIG_VMWARE_BALLOON is not set
|
||||
CONFIG_VMWARE_VMCI=m
|
||||
CONFIG_VMWARE_VMCI_VSOCKETS=m
|
@ -1,14 +0,0 @@
|
||||
# Calculate format=kernel name=.config merge(sys-kernel/calculate-sources[-desktop])!=
|
||||
# CONFIG_BT is not set
|
||||
# CONFIG_GAMEPORT is not set
|
||||
# CONFIG_HZ_1000 is not set
|
||||
# CONFIG_INPUT_JOYSTICK is not set
|
||||
# CONFIG_INPUT_MOUSE is not set
|
||||
# CONFIG_INPUT_TABLET is not set
|
||||
# CONFIG_INPUT_TOUCHSCREEN is not set
|
||||
# CONFIG_MACINTOSH_DRIVERS is not set
|
||||
# CONFIG_MEDIA_SUPPORT is not set
|
||||
# CONFIG_PREEMPT is not set
|
||||
# CONFIG_RC_CORE is not set
|
||||
# CONFIG_SOUND is not set
|
||||
# CONFIG_USB_GADGET is not set
|
File diff suppressed because it is too large
Load Diff
@ -1,326 +0,0 @@
|
||||
# Calculate format=diff merge(sys-kernel/calculate-sources[fsync])!=
|
||||
|
||||
Squashed futex-wait-multiple patchset onto stable release v5.2.1
|
||||
https://gitlab.collabora.com/krisman/linux/commits/futex-wait-multiple-master
|
||||
|
||||
diff --git a/include/uapi/linux/futex.h b/include/uapi/linux/futex.h
|
||||
index a89eb0accd5e..c34e52e0f787 100644
|
||||
--- a/include/uapi/linux/futex.h
|
||||
+++ b/include/uapi/linux/futex.h
|
||||
@@ -21,6 +21,7 @@
|
||||
#define FUTEX_WAKE_BITSET 10
|
||||
#define FUTEX_WAIT_REQUEUE_PI 11
|
||||
#define FUTEX_CMP_REQUEUE_PI 12
|
||||
+#define FUTEX_WAIT_MULTIPLE 31
|
||||
|
||||
#define FUTEX_PRIVATE_FLAG 128
|
||||
#define FUTEX_CLOCK_REALTIME 256
|
||||
@@ -150,4 +151,10 @@ struct robust_list_head {
|
||||
(((op & 0xf) << 28) | ((cmp & 0xf) << 24) \
|
||||
| ((oparg & 0xfff) << 12) | (cmparg & 0xfff))
|
||||
|
||||
+struct futex_wait_block {
|
||||
+ __u32 __user *uaddr;
|
||||
+ __u32 val;
|
||||
+ __u32 bitset;
|
||||
+};
|
||||
+
|
||||
#endif /* _UAPI_LINUX_FUTEX_H */
|
||||
diff --git a/kernel/futex.c b/kernel/futex.c
|
||||
index 6d50728ef2e7..338ae60bd86c 100644
|
||||
--- a/kernel/futex.c
|
||||
+++ b/kernel/futex.c
|
||||
@@ -183,6 +183,7 @@ static int __read_mostly futex_cmpxchg_enabled;
|
||||
#endif
|
||||
#define FLAGS_CLOCKRT 0x02
|
||||
#define FLAGS_HAS_TIMEOUT 0x04
|
||||
+#define FLAGS_WAKE_MULTIPLE 0x08
|
||||
|
||||
/*
|
||||
* Priority Inheritance state:
|
||||
@@ -2631,6 +2632,39 @@ static void futex_wait_queue_me(struct futex_hash_bucket *hb, struct futex_q *q,
|
||||
__set_current_state(TASK_RUNNING);
|
||||
}
|
||||
|
||||
+static int __futex_wait_setup(u32 __user *uaddr, u32 val, unsigned int flags,
|
||||
+ struct futex_q *q, struct futex_hash_bucket **hb)
|
||||
+{
|
||||
+
|
||||
+ u32 uval;
|
||||
+ int ret;
|
||||
+
|
||||
+retry_private:
|
||||
+ *hb = queue_lock(q);
|
||||
+
|
||||
+ ret = get_futex_value_locked(&uval, uaddr);
|
||||
+
|
||||
+ if (ret) {
|
||||
+ queue_unlock(*hb);
|
||||
+
|
||||
+ ret = get_user(uval, uaddr);
|
||||
+ if (ret)
|
||||
+ return ret;
|
||||
+
|
||||
+ if (!(flags & FLAGS_SHARED))
|
||||
+ goto retry_private;
|
||||
+
|
||||
+ return 1;
|
||||
+ }
|
||||
+
|
||||
+ if (uval != val) {
|
||||
+ queue_unlock(*hb);
|
||||
+ ret = -EWOULDBLOCK;
|
||||
+ }
|
||||
+
|
||||
+ return ret;
|
||||
+}
|
||||
+
|
||||
/**
|
||||
* futex_wait_setup() - Prepare to wait on a futex
|
||||
* @uaddr: the futex userspace address
|
||||
@@ -2651,7 +2685,6 @@ static void futex_wait_queue_me(struct futex_hash_bucket *hb, struct futex_q *q,
|
||||
static int futex_wait_setup(u32 __user *uaddr, u32 val, unsigned int flags,
|
||||
struct futex_q *q, struct futex_hash_bucket **hb)
|
||||
{
|
||||
- u32 uval;
|
||||
int ret;
|
||||
|
||||
/*
|
||||
@@ -2672,38 +2705,161 @@ static int futex_wait_setup(u32 __user *uaddr, u32 val, unsigned int flags,
|
||||
* absorb a wakeup if *uaddr does not match the desired values
|
||||
* while the syscall executes.
|
||||
*/
|
||||
-retry:
|
||||
- ret = get_futex_key(uaddr, flags & FLAGS_SHARED, &q->key, FUTEX_READ);
|
||||
- if (unlikely(ret != 0))
|
||||
- return ret;
|
||||
+ do {
|
||||
+ ret = get_futex_key(uaddr, flags & FLAGS_SHARED,
|
||||
+ &q->key, FUTEX_READ);
|
||||
+ if (unlikely(ret != 0))
|
||||
+ return ret;
|
||||
|
||||
-retry_private:
|
||||
- *hb = queue_lock(q);
|
||||
+ ret = __futex_wait_setup(uaddr, val, flags, q, hb);
|
||||
|
||||
- ret = get_futex_value_locked(&uval, uaddr);
|
||||
+ /* Drop key reference if retry or error. */
|
||||
+ if (ret)
|
||||
+ put_futex_key(&q->key);
|
||||
+ } while (ret > 0);
|
||||
|
||||
- if (ret) {
|
||||
- queue_unlock(*hb);
|
||||
+ return ret;
|
||||
+}
|
||||
|
||||
- ret = get_user(uval, uaddr);
|
||||
- if (ret)
|
||||
+static int do_futex_wait_multiple(struct futex_wait_block *wb,
|
||||
+ u32 count, unsigned int flags,
|
||||
+ ktime_t *abs_time)
|
||||
+{
|
||||
+
|
||||
+ struct hrtimer_sleeper timeout, *to;
|
||||
+ struct futex_hash_bucket *hb;
|
||||
+ struct futex_q *qs = NULL;
|
||||
+ int ret;
|
||||
+ int i;
|
||||
+
|
||||
+ qs = kcalloc(count, sizeof(struct futex_q), GFP_KERNEL);
|
||||
+ if (!qs)
|
||||
+ return -ENOMEM;
|
||||
+
|
||||
+ to = futex_setup_timer(abs_time, &timeout, flags,
|
||||
+ current->timer_slack_ns);
|
||||
+ retry:
|
||||
+ for (i = 0; i < count; i++) {
|
||||
+ qs[i].key = FUTEX_KEY_INIT;
|
||||
+ qs[i].bitset = wb[i].bitset;
|
||||
+
|
||||
+ ret = get_futex_key(wb[i].uaddr, flags & FLAGS_SHARED,
|
||||
+ &qs[i].key, FUTEX_READ);
|
||||
+ if (unlikely(ret != 0)) {
|
||||
+ for (--i; i >= 0; i--)
|
||||
+ put_futex_key(&qs[i].key);
|
||||
goto out;
|
||||
+ }
|
||||
+ }
|
||||
|
||||
- if (!(flags & FLAGS_SHARED))
|
||||
- goto retry_private;
|
||||
+ set_current_state(TASK_INTERRUPTIBLE);
|
||||
+
|
||||
+ for (i = 0; i < count; i++) {
|
||||
+ ret = __futex_wait_setup(wb[i].uaddr, wb[i].val,
|
||||
+ flags, &qs[i], &hb);
|
||||
+ if (ret) {
|
||||
+ /* Drop the failed key directly. keys 0..(i-1)
|
||||
+ * will be put by unqueue_me. */
|
||||
+ put_futex_key(&qs[i].key);
|
||||
+
|
||||
+ /* Undo the partial work we did. */
|
||||
+ for (--i; i >= 0; i--)
|
||||
+ unqueue_me(&qs[i]);
|
||||
+
|
||||
+ __set_current_state(TASK_RUNNING);
|
||||
+ if (ret > 0)
|
||||
+ goto retry;
|
||||
+ goto out;
|
||||
+ }
|
||||
+
|
||||
+ /* We can't hold to the bucket lock when dealing with
|
||||
+ * the next futex. Queue ourselves now so we can unlock
|
||||
+ * it before moving on. */
|
||||
+ queue_me(&qs[i], hb);
|
||||
+ }
|
||||
+
|
||||
+ if (to)
|
||||
+ hrtimer_start_expires(&to->timer, HRTIMER_MODE_ABS);
|
||||
+
|
||||
+ /* There is no easy to way to check if we are wake already on
|
||||
+ * multiple futexes without waking through each one of them. So
|
||||
+ * just sleep and let the scheduler handle it.
|
||||
+ */
|
||||
+ if (!to || to->task)
|
||||
+ freezable_schedule();
|
||||
+
|
||||
+ __set_current_state(TASK_RUNNING);
|
||||
|
||||
- put_futex_key(&q->key);
|
||||
+ ret = -ETIMEDOUT;
|
||||
+ /* If we were woken (and unqueued), we succeeded. */
|
||||
+ for (i = 0; i < count; i++)
|
||||
+ if (!unqueue_me(&qs[i]))
|
||||
+ ret = i;
|
||||
+
|
||||
+ /* Succeed wakeup */
|
||||
+ if (ret >= 0)
|
||||
+ goto out;
|
||||
+
|
||||
+ /* Woken by triggered timeout */
|
||||
+ if (to && !to->task)
|
||||
+ goto out;
|
||||
+
|
||||
+ /*
|
||||
+ * We expect signal_pending(current), but we might be the
|
||||
+ * victim of a spurious wakeup as well.
|
||||
+ */
|
||||
+ if (!signal_pending(current))
|
||||
goto retry;
|
||||
+
|
||||
+ ret = -ERESTARTSYS;
|
||||
+ if (!abs_time)
|
||||
+ goto out;
|
||||
+
|
||||
+ ret = -ERESTART_RESTARTBLOCK;
|
||||
+ out:
|
||||
+ if (to) {
|
||||
+ hrtimer_cancel(&to->timer);
|
||||
+ destroy_hrtimer_on_stack(&to->timer);
|
||||
}
|
||||
|
||||
- if (uval != val) {
|
||||
- queue_unlock(*hb);
|
||||
- ret = -EWOULDBLOCK;
|
||||
+ kfree(qs);
|
||||
+ return ret;
|
||||
+}
|
||||
+
|
||||
+static int futex_wait_multiple(u32 __user *uaddr, unsigned int flags,
|
||||
+ u32 count, ktime_t *abs_time)
|
||||
+{
|
||||
+ struct futex_wait_block *wb;
|
||||
+ struct restart_block *restart;
|
||||
+ int ret;
|
||||
+
|
||||
+ if (!count)
|
||||
+ return -EINVAL;
|
||||
+
|
||||
+ wb = kcalloc(count, sizeof(struct futex_wait_block), GFP_KERNEL);
|
||||
+ if (!wb)
|
||||
+ return -ENOMEM;
|
||||
+
|
||||
+ if (copy_from_user(wb, uaddr,
|
||||
+ count * sizeof(struct futex_wait_block))) {
|
||||
+ ret = -EFAULT;
|
||||
+ goto out;
|
||||
+ }
|
||||
+
|
||||
+ ret = do_futex_wait_multiple(wb, count, flags, abs_time);
|
||||
+
|
||||
+ if (ret == -ERESTART_RESTARTBLOCK) {
|
||||
+ restart = ¤t->restart_block;
|
||||
+ restart->fn = futex_wait_restart;
|
||||
+ restart->futex.uaddr = uaddr;
|
||||
+ restart->futex.val = count;
|
||||
+ restart->futex.time = *abs_time;
|
||||
+ restart->futex.flags = (flags | FLAGS_HAS_TIMEOUT |
|
||||
+ FLAGS_WAKE_MULTIPLE);
|
||||
}
|
||||
|
||||
out:
|
||||
- if (ret)
|
||||
- put_futex_key(&q->key);
|
||||
+ kfree(wb);
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -2784,6 +2940,10 @@ static long futex_wait_restart(struct restart_block *restart)
|
||||
}
|
||||
restart->fn = do_no_restart_syscall;
|
||||
|
||||
+ if (restart->futex.flags & FLAGS_WAKE_MULTIPLE)
|
||||
+ return (long)futex_wait_multiple(uaddr, restart->futex.flags,
|
||||
+ restart->futex.val, tp);
|
||||
+
|
||||
return (long)futex_wait(uaddr, restart->futex.flags,
|
||||
restart->futex.val, tp, restart->futex.bitset);
|
||||
}
|
||||
@@ -3667,6 +3827,8 @@ long do_futex(u32 __user *uaddr, int op, u32 val, ktime_t *timeout,
|
||||
uaddr2);
|
||||
case FUTEX_CMP_REQUEUE_PI:
|
||||
return futex_requeue(uaddr, flags, uaddr2, val, val2, &val3, 1);
|
||||
+ case FUTEX_WAIT_MULTIPLE:
|
||||
+ return futex_wait_multiple(uaddr, flags, val, timeout);
|
||||
}
|
||||
return -ENOSYS;
|
||||
}
|
||||
@@ -3683,7 +3845,8 @@ SYSCALL_DEFINE6(futex, u32 __user *, uaddr, int, op, u32, val,
|
||||
|
||||
if (utime && (cmd == FUTEX_WAIT || cmd == FUTEX_LOCK_PI ||
|
||||
cmd == FUTEX_WAIT_BITSET ||
|
||||
- cmd == FUTEX_WAIT_REQUEUE_PI)) {
|
||||
+ cmd == FUTEX_WAIT_REQUEUE_PI ||
|
||||
+ cmd == FUTEX_WAIT_MULTIPLE)) {
|
||||
if (unlikely(should_fail_futex(!(op & FUTEX_PRIVATE_FLAG))))
|
||||
return -EFAULT;
|
||||
if (get_timespec64(&ts, utime))
|
||||
@@ -3692,7 +3855,7 @@ SYSCALL_DEFINE6(futex, u32 __user *, uaddr, int, op, u32, val,
|
||||
return -EINVAL;
|
||||
|
||||
t = timespec64_to_ktime(ts);
|
||||
- if (cmd == FUTEX_WAIT)
|
||||
+ if (cmd == FUTEX_WAIT || cmd == FUTEX_WAIT_MULTIPLE)
|
||||
t = ktime_add_safe(ktime_get(), t);
|
||||
tp = &t;
|
||||
}
|
||||
@@ -3876,14 +4039,15 @@ SYSCALL_DEFINE6(futex_time32, u32 __user *, uaddr, int, op, u32, val,
|
||||
|
||||
if (utime && (cmd == FUTEX_WAIT || cmd == FUTEX_LOCK_PI ||
|
||||
cmd == FUTEX_WAIT_BITSET ||
|
||||
- cmd == FUTEX_WAIT_REQUEUE_PI)) {
|
||||
+ cmd == FUTEX_WAIT_REQUEUE_PI ||
|
||||
+ cmd == FUTEX_WAIT_MULTIPLE)) {
|
||||
if (get_old_timespec32(&ts, utime))
|
||||
return -EFAULT;
|
||||
if (!timespec64_valid(&ts))
|
||||
return -EINVAL;
|
||||
|
||||
t = timespec64_to_ktime(ts);
|
||||
- if (cmd == FUTEX_WAIT)
|
||||
+ if (cmd == FUTEX_WAIT || cmd == FUTEX_WAIT_MULTIPLE)
|
||||
t = ktime_add_safe(ktime_get(), t);
|
||||
tp = &t;
|
||||
}
|
@ -1 +1,2 @@
|
||||
DIST plymouth-0.9.4.tar.xz 1103496 BLAKE2B abad2cefb89e9d17b77113396d7203090544759b3dd7f73f67153d9f126db28e5366d36aa11e2335566bf4046bebd50d8d9dd47c75634446fb3a0314cd458925 SHA512 83eb2de7e6d0980e9f7fa4e0b0f20c46a8238051d84bc38dbbb5dfa438e41c1a39846dcd652374256d9f1fe79967b154a3576cd9c433ef816b6c962be2d31e93
|
||||
DIST plymouth-0.9.5.tar.xz 1186200 BLAKE2B 8fd073703773fcf7f3e26454c860f094fb4b3d712c56c9df6716ef11815a79f7d5b078ab6c6567b76421026d84a086f95865bf9f3e4ae6363cb1ffc2caa68537 SHA512 686220e8d5b1a8be298156786d979d0e3fb9e010b930d0e8082a2bb152cf07c1bf493d820c243838a1771ee859dc0b4723bd9f10ee434a94a096ce9236c36ce9
|
||||
|
@ -0,0 +1,74 @@
|
||||
[Plymouth Theme]
|
||||
Name=Calculate
|
||||
Description=Calculate spinner theme
|
||||
ModuleName=calculate
|
||||
|
||||
[calculate]
|
||||
Font=DroidSans 12
|
||||
TitleFont=DroidSans 30
|
||||
ImageDir=/usr/share/plymouth/themes/calculate
|
||||
DialogHorizontalAlignment=.5
|
||||
DialogVerticalAlignment=.382
|
||||
TitleHorizontalAlignment=.5
|
||||
TitleVerticalAlignment=.5
|
||||
HorizontalAlignment=.5
|
||||
VerticalAlignment=.5
|
||||
WatermarkHorizontalAlignment=.5
|
||||
WatermarkVerticalAlignment=.5
|
||||
Transition=none
|
||||
TransitionDuration=0.0
|
||||
BackgroundStartColor=0x000000
|
||||
BackgroundEndColor=0x000000
|
||||
ProgressBarBackgroundColor=0x606060
|
||||
ProgressBarForegroundColor=0xffffff
|
||||
DialogClearsFirmwareBackground=true
|
||||
MessageBelowAnimation=true
|
||||
|
||||
[boot-up]
|
||||
UseEndAnimation=false
|
||||
UseFirmwareBackground=false
|
||||
VerticalAlignmentType=below_watermark
|
||||
VerticalAlignment=.0
|
||||
WatermarkImage=/usr/share/plymouth/themes/calculate/boot.png
|
||||
|
||||
[shutdown]
|
||||
UseEndAnimation=false
|
||||
UseFirmwareBackground=false
|
||||
Title=Shutdown...
|
||||
TitleColor=0xaaaaaa
|
||||
VerticalAlignment=.0
|
||||
VerticalAlignmentType=below_title
|
||||
WatermarkImage=/usr/share/plymouth/themes/calculate/.shutdown
|
||||
|
||||
[reboot]
|
||||
UseEndAnimation=false
|
||||
UseFirmwareBackground=false
|
||||
Title=Reboot...
|
||||
TitleColor=0xaaaaaa
|
||||
VerticalAlignment=.0
|
||||
VerticalAlignmentType=below_title
|
||||
WatermarkImage=/usr/share/plymouth/themes/calculate/.shutdown
|
||||
|
||||
[updates]
|
||||
UseFirmwareBackground=false
|
||||
SuppressMessages=true
|
||||
ProgressBarShowPercentComplete=true
|
||||
UseProgressBar=true
|
||||
Title=Installing Updates...
|
||||
SubTitle=Do not turn off your computer
|
||||
|
||||
[system-upgrade]
|
||||
UseFirmwareBackground=false
|
||||
SuppressMessages=true
|
||||
ProgressBarShowPercentComplete=true
|
||||
UseProgressBar=true
|
||||
Title=Upgrading System...
|
||||
SubTitle=Do not turn off your computer
|
||||
|
||||
[firmware-upgrade]
|
||||
UseFirmwareBackground=false
|
||||
SuppressMessages=true
|
||||
ProgressBarShowPercentComplete=true
|
||||
UseProgressBar=true
|
||||
Title=Upgrading Firmware...
|
||||
SubTitle=Do not turn off your computer
|
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,98 @@
|
||||
# Copyright 1999-2018 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit flag-o-matic
|
||||
|
||||
MY_P=plymouth-${PV}
|
||||
|
||||
if [[ ${PV} == 9999 ]]; then
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="https://anongit.freedesktop.org/git/plymouth"
|
||||
else
|
||||
SRC_URI="${SRC_URI} https://www.freedesktop.org/software/plymouth/releases/${MY_P}.tar.xz"
|
||||
KEYWORDS="~alpha amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc x86"
|
||||
fi
|
||||
|
||||
inherit autotools readme.gentoo-r1 systemd toolchain-funcs
|
||||
|
||||
DESCRIPTION="Calculate plugin for plymouth"
|
||||
HOMEPAGE="https://www.calculate-linux.org"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
IUSE="debug gdm +gtk +libkms +pango +split-usr static-libs +udev"
|
||||
|
||||
CDEPEND="
|
||||
~sys-boot/${MY_P}[debug?,udev?,gtk?,libkms?,pango?,split-usr?,static-libs?]
|
||||
"
|
||||
DEPEND="${CDEPEND}
|
||||
app-text/docbook-xsl-stylesheets
|
||||
dev-libs/libxslt
|
||||
virtual/pkgconfig
|
||||
"
|
||||
RDEPEND="${CDEPEND}
|
||||
virtual/udev
|
||||
!<sys-kernel/dracut-0.37-r3
|
||||
"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/0.9.3-glibc-sysmacros.patch
|
||||
)
|
||||
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
cp ${FILESDIR}/0.9.5-plugin.c ${S}/src/plugins/splash/two-step/plugin.c
|
||||
sed -i 's/two-step/calculate/g' ${S}/src/plugins/splash/two-step/Makefile.*
|
||||
sed -i 's/two_step/calculate/g' ${S}/src/plugins/splash/two-step/Makefile.*
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
|
||||
src_configure() {
|
||||
local myconf=(
|
||||
--with-system-root-install=no
|
||||
--localstatedir=/var
|
||||
--without-rhgb-compat-link
|
||||
--enable-documentation
|
||||
--enable-systemd-integration
|
||||
--with-systemdunitdir="$(systemd_get_systemunitdir)"
|
||||
$(use_enable !static-libs shared)
|
||||
$(use_enable static-libs static)
|
||||
$(use_enable debug tracing)
|
||||
$(use_enable gtk gtk)
|
||||
$(use_enable libkms drm)
|
||||
$(use_enable pango)
|
||||
$(use_enable udev)
|
||||
)
|
||||
econf "${myconf[@]}"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
cd src/libply
|
||||
emake
|
||||
cd ../libply-splash-core
|
||||
emake
|
||||
cd ../libply-splash-graphics
|
||||
emake
|
||||
cd ../plugins/splash/two-step
|
||||
emake
|
||||
}
|
||||
|
||||
src_install() {
|
||||
cd ${S}/src/plugins/splash/two-step
|
||||
emake DESTDIR="${D}" install
|
||||
|
||||
cd ${S}/themes/spinfinity
|
||||
|
||||
insinto /usr/share/plymouth/themes/calculate
|
||||
doins box.png bullet.png entry.png lock.png
|
||||
|
||||
cd ${S}/themes/spinner
|
||||
doins throbber-00*.png
|
||||
|
||||
newins ${FILESDIR}/0.9.5-calculate.plymouth calculate.plymouth
|
||||
}
|
@ -1,10 +1,7 @@
|
||||
DIST linux-4.19.tar.xz 103117552 BLAKE2B 1dbf16cf410867412d17568fe42bc1e90c034183b654d270b650621ff7664a321950943d0639205bc1ee7ef6210be170c1f2c785a042ed8a4ec5e3a486d890e0 SHA512 ab67cc746b375a8b135e8b23e35e1d6787930d19b3c26b2679787d62951cbdbc3bb66f8ededeb9b890e5008b2459397f9018f1a6772fdef67780b06a4cb9f6f4
|
||||
DIST linux-5.4.tar.xz 109441440 BLAKE2B 193bc4a3147e147d5529956164ec4912fad5d5c6fb07f909ff1056e57235834173194afc686993ccd785c1ff15804de0961b625f3008cca0e27493efc8f27b13 SHA512 9f60f77e8ab972b9438ac648bed17551c8491d6585a5e85f694b2eaa4c623fbc61eb18419b2656b6795eac5deec0edaa04547fc6723fbda52256bd7f3486898f
|
||||
DIST linux-5.8.tar.xz 114459324 BLAKE2B 7bd97f8fa4527840754434414c07283e89731dc8ebb1e95fa5bc1469a60af1122582c0d3b6e262e77882f023190068df3537bd8b65964b3caa820bb2c8e579c7 SHA512 45a53ecf351096ef6e98242cca4228b8da9b9139ecc6963695791ea6fb7a9484a4e1c19dcca7ce7cbfdfa49de0451b70973bb078f12bdae9cbaddbc3f8092556
|
||||
DIST linux-5.9.tar.xz 115507140 BLAKE2B e8d11472d63a9f8409ca12a2e8c97c6963a3d4516b5a398b627d6ece565584526f9b5a1377a2fa4bd184c09c7db94c987428bc5d52df0c788464a67e9e8d6dcb SHA512 d3d92ce4246bad74c9a784212f160d98449b1e8793970c2c308276568d852b8effe0528686bdb87d55d691f09a826abf7938d69bdd4759ce65ddd5c05ffe4eca
|
||||
DIST patch-4.19.139.xz 3287912 BLAKE2B 15af2c1ff765a3a00e6f3a7ef108bcc54ce10603666df655c92f3c7da48cf25054f7b1624e363e96fbc56a39ce021e28bb647552daebf8dcdc69db630dedb500 SHA512 b68fab236291799721977e7874b5b995eee6e4ee11d06e827a65af3610cbff11ef823831264050f96fecce2c0f7d186c03e881c025234ad8c8072a5eb0c1e44b
|
||||
DIST patch-4.19.160.xz 3638736 BLAKE2B 8a31b8f6b4edcd42d1947e7f04dc8da0447b0568e9beae767c446b0aa5c0bd1f335a5feabc31de5ac659560a61aba91e77e6a243bea037bf83f5b4c25aeb52c4 SHA512 beb8fcc81a595c50bf2168624aed651c2d7b30c7ada6ddfc8585db1e5d477c336e7c5334e137350405f2aa1e3d4e21950d0e47de4fc58ee5542eae942c7ffb55
|
||||
DIST patch-5.4.57.xz 1752516 BLAKE2B 7a78abafd1de8580b91738461f4f44461a7582cdf10b9eb45485f6b7ac66939e44edbdc778b8c3d81dd939155607b0e4f6245426feeb3762cd379548a839e125 SHA512 79d2e85bd35222651959c9ed6b9c711d6cad2e23a57acfe92a5f01c5bb2f39fdd75d6c8a402f1341e13979ada4cd522bd4d3f2493be61f75e8a92a95b15776f9
|
||||
DIST patch-5.4.80.xz 2376300 BLAKE2B 19bf6c247c3577a61fa0de17407ab4158c06f770fcbe80e0f233e71350da4b68500f27e91eec582552789e5753bc910d863a64ea776055259574adc38b49de82 SHA512 2dd24c1ff86ff325b8c426dd3f8cc2cc97b9d8b213c3b014ae33429f85d56f2bfe8e540771104c0eafb09a96fa3ecf4be820536dc0baa9859099e537310f8622
|
||||
DIST patch-5.8.18.xz 753276 BLAKE2B cc4ab6db80f14cd22f6409c4eb1f344822b79cdbccbae65d53aba444f957ed320719acf0f448e08cc9f1341dafee90527fd035f13a268289c2dc3bf317107142 SHA512 e161e534bcf842de5b2a605f153e6d581030593e99185a5d3c341b40c2c9e6e4a6b3bac38647156f1974768cf730073c0ca34295d847e0dd114de4ca52d72039
|
||||
DIST patch-5.9.11.xz 567176 BLAKE2B d818fd153cf276f2f20360cdd6786bb22506a9d2dcd1c46da39c4f35eb27514e71df46ea66458881d8485c75d34b6048f688f031b082f07330db0cdc17ba0440 SHA512 1509a98ef46e00297e2e2fed24cde5ce70d05432ee276320e708cbdde7205683efd857c5aee3367df9ee0ac02010fd553ae999db796ab5ba16c6c3f1a6b0ee92
|
||||
DIST patch-4.19.145.xz 3398080 BLAKE2B 20ae916cdf9a8d2d7642af0316a7fe07b0598f1109c26270e9da9f02b1d8d13cc4aba6cc340a755260f7e417fa33d9d5622b9b11b9e75fb78536dffa221fa474 SHA512 eedf90d3ba9510a091a7d28fe4945535a7f773a75375fe09c15845752ebca37ef27c699ec3a9993f1f01b4820d741da10892a5b76751da8dd0d0e00c6eb65a7b
|
||||
DIST patch-4.19.161.xz 3649928 BLAKE2B d9208f6b07a59c14e9f46acca1b1456bc02e8afd64b2c634a8376d28bdd5df61de66e7cfd42a9482e986d8fb822518b3dbbac9bde4f2e0257fa73b4dba59c51d SHA512 6483da5d53e4660515fd053c3e6ee3083b222db199d8de3b00a80fe7d2414f61e4bfc2abb88d8186943c8aa01e16bf29ef38e352c32e0ccac29ba6555523ae00
|
||||
DIST patch-5.4.81.xz 2396180 BLAKE2B 3a42b28cb5fb9cdc83171df46854805cc39e83f122f47b00eb823a05c0663880e688d7c44dfd2c21875fdbb0f02e494396df69ce07cc4ca76d03cee521d48ece SHA512 f97b6d8d58d43449491d543dd0c3afe8e4c7f7ea4527c4712b0bb6b7a4817daba61f507e8518a4f72254042472d7b5f8095e5df1c131fd010f4c0453c9d8cde5
|
||||
DIST patch-5.9.12.xz 612468 BLAKE2B babdf390cba9ede83b9056c90f769b98d58d86b168b8666035bf17e3e7d5f942d45a7392e56b6acd0423d0a4e8a1b3fa629a40ba12ba4a8ced4719b7218cef70 SHA512 eef914d5124dae25d0d5c6162cf0d19cfe6adabd3da5594609275527ac7bca9b8b3c9bdd8ae5cbc061cb93a4559c30daed3f104f789b31caa2596f3da371f2aa
|
||||
|
@ -1,24 +0,0 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: $
|
||||
|
||||
EAPI=5
|
||||
ETYPE="sources"
|
||||
|
||||
inherit calculate-kernel-8 eutils
|
||||
|
||||
DESCRIPTION="Calculate Linux kernel image"
|
||||
KEYWORDS="~amd64"
|
||||
HOMEPAGE="http://www.calculate-linux.org"
|
||||
|
||||
SRC_URI="${KERNEL_URI} ${ARCH_URI}"
|
||||
|
||||
IUSE="fsync muqss uksm"
|
||||
|
||||
src_unpack() {
|
||||
calculate-kernel-8_src_unpack
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
calculate-kernel-8_pkg_postinst
|
||||
}
|
@ -1,24 +0,0 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: $
|
||||
|
||||
EAPI=5
|
||||
ETYPE="sources"
|
||||
|
||||
inherit calculate-kernel-8 eutils
|
||||
|
||||
DESCRIPTION="Calculate Linux kernel image"
|
||||
KEYWORDS="~amd64"
|
||||
HOMEPAGE="http://www.calculate-linux.org"
|
||||
|
||||
SRC_URI="${KERNEL_URI} ${ARCH_URI}"
|
||||
|
||||
IUSE="fsync uksm"
|
||||
|
||||
src_unpack() {
|
||||
calculate-kernel-8_src_unpack
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
calculate-kernel-8_pkg_postinst
|
||||
}
|
Loading…
Reference in new issue