diff --git a/recipes-config/htoprc/htoprc/common.htoprc.in b/recipes-config/htoprc/htoprc/common.htoprc.in new file mode 100644 index 0000000..880975f --- /dev/null +++ b/recipes-config/htoprc/htoprc/common.htoprc.in @@ -0,0 +1,39 @@ +htop_version=3.2.2 +config_reader_min_version=3 +fields=0 48 17 18 38 39 40 2 46 47 49 1 +hide_kernel_threads=0 +hide_userland_threads=0 +hide_running_in_container=0 +shadow_other_users=0 +show_thread_names=0 +show_program_path=1 +highlight_base_name=1 +highlight_deleted_exe=1 +shadow_distribution_path_prefix=1 +highlight_megabytes=1 +highlight_threads=1 +highlight_changes=1 +highlight_changes_delay_secs=5 +find_comm_in_cmdline=1 +strip_exe_from_cmdline=1 +show_merged_command=0 +header_margin=1 +screen_tabs=1 +detailed_cpu_time=1 +cpu_count_from_one=0 +show_cpu_usage=1 +show_cpu_frequency=1 +update_process_names=0 +account_guest_in_cpu_meter=1 +color_scheme=0 +enable_mouse=1 +delay=15 +hide_function_bar=0 +header_layout=two_50_50 +tree_view=1 +sort_key=46 +tree_sort_key=0 +sort_direction=-1 +tree_sort_direction=1 +tree_view_always_by_pid=0 +all_branches_collapsed=0 diff --git a/recipes-config/htoprc/htoprc/meters_singlecore_no_swap.htoprc.in b/recipes-config/htoprc/htoprc/meters_singlecore_no_swap.htoprc.in new file mode 100644 index 0000000..06e8c99 --- /dev/null +++ b/recipes-config/htoprc/htoprc/meters_singlecore_no_swap.htoprc.in @@ -0,0 +1,4 @@ +column_meters_0=Hostname AllCPUs AllCPUs +column_meter_modes_0=2 3 1 +column_meters_1=Tasks LoadAverage Uptime Memory DiskIO NetworkIO +column_meter_modes_1=2 2 2 1 1 1 diff --git a/recipes-config/htoprc/htoprc/meters_singlecore_with_swap.htoprc.in b/recipes-config/htoprc/htoprc/meters_singlecore_with_swap.htoprc.in new file mode 100644 index 0000000..069d037 --- /dev/null +++ b/recipes-config/htoprc/htoprc/meters_singlecore_with_swap.htoprc.in @@ -0,0 +1,4 @@ +column_meters_0=Hostname AllCPUs AllCPUs +column_meter_modes_0=2 3 1 +column_meters_1=Tasks LoadAverage Uptime MemorySwap DiskIO NetworkIO +column_meter_modes_1=2 2 2 1 1 1 diff --git a/recipes-config/htoprc/htoprc/screens_multicore.htoprc.in b/recipes-config/htoprc/htoprc/screens_multicore.htoprc.in new file mode 100644 index 0000000..74070f3 --- /dev/null +++ b/recipes-config/htoprc/htoprc/screens_multicore.htoprc.in @@ -0,0 +1,16 @@ +screen:Main=PROCESSOR PID USER PRIORITY NICE M_VIRT M_RESIDENT M_SHARE STATE PERCENT_CPU PERCENT_MEM TIME Command +.sort_key=PERCENT_CPU +.tree_sort_key=PID +.tree_view=1 +.tree_view_always_by_pid=0 +.sort_direction=-1 +.tree_sort_direction=1 +.all_branches_collapsed=0 +screen:I/O=PROCESSOR PID USER IO_PRIORITY IO_RATE IO_READ_RATE IO_WRITE_RATE PERCENT_SWAP_DELAY PERCENT_IO_DELAY Command +.sort_key=IO_RATE +.tree_sort_key=PID +.tree_view=0 +.tree_view_always_by_pid=0 +.sort_direction=-1 +.tree_sort_direction=1 +.all_branches_collapsed=0 diff --git a/recipes-config/htoprc/htoprc/screens_singlecore.htoprc.in b/recipes-config/htoprc/htoprc/screens_singlecore.htoprc.in new file mode 100644 index 0000000..ca5688f --- /dev/null +++ b/recipes-config/htoprc/htoprc/screens_singlecore.htoprc.in @@ -0,0 +1,16 @@ +screen:Main=PID USER PRIORITY NICE M_VIRT M_RESIDENT M_SHARE STATE PERCENT_CPU PERCENT_MEM TIME Command +.sort_key=PERCENT_CPU +.tree_sort_key=PID +.tree_view=1 +.tree_view_always_by_pid=0 +.sort_direction=-1 +.tree_sort_direction=1 +.all_branches_collapsed=0 +screen:I/O=PID USER IO_PRIORITY IO_RATE IO_READ_RATE IO_WRITE_RATE PERCENT_SWAP_DELAY PERCENT_IO_DELAY Command +.sort_key=IO_RATE +.tree_sort_key=PID +.tree_view=0 +.tree_view_always_by_pid=0 +.sort_direction=-1 +.tree_sort_direction=1 +.all_branches_collapsed=0 diff --git a/recipes-config/htoprc/htoprc_1.0.bb b/recipes-config/htoprc/htoprc_1.0.bb new file mode 100644 index 0000000..4705b40 --- /dev/null +++ b/recipes-config/htoprc/htoprc_1.0.bb @@ -0,0 +1,46 @@ +SUMMARY = "htoprc - global htop configuration" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302" + +SRC_URI = " \ + file://common.htoprc.in \ + file://meters_singlecore_no_swap.htoprc.in \ + file://meters_singlecore_with_swap.htoprc.in \ + file://screens_singlecore.htoprc.in \ + file://screens_multicore.htoprc.in \ +" + +DEPENDS = "htop" +PREFERRED_VERSION_htop = "3.2.2" + +PACKAGE_ARCH = "${MACHINE_ARCH}" + +# Sensible(?) defaults +MACHINE_NUM_CORES ??= "1" +HAS_SWAP ??= "0" + +do_compile() { + T=${B}/htoprc + cat ${WORKDIR}/common.htoprc.in > $T + + if [ "${MACHINE_NUM_CORES}" -eq "1" ]; then + cat ${WORKDIR}/screens_singlecore.htoprc.in >> $T + if [ "${HAS_SWAP}" -eq "0" ]; then + cat ${WORKDIR}/meters_singlecore_no_swap.htoprc.in >> $T + else + cat ${WORKDIR}/meters_singlecore_with_swap.htoprc.in >> $T + fi + else + cat ${WORKDIR}/screens_multicore.htoprc.in >> $T + # TODO: these files do not exist yet + if [ "${HAS_SWAP}" -eq "0" ]; then + cat ${WORKDIR}/meters_multicore_no_swap.htoprc.in >> $T + else + cat ${WORKDIR}/meters_multicore_with_swap.htoprc.in >> $T + fi + fi +} + +do_install() { + install -D -m 0644 ${B}/htoprc ${D}${sysconfdir}/htoprc +} diff --git a/recipes-core/images/helium-image-default.bb b/recipes-core/images/helium-image-default.bb index e9da741..075422b 100644 --- a/recipes-core/images/helium-image-default.bb +++ b/recipes-core/images/helium-image-default.bb @@ -36,6 +36,7 @@ HARDENING = " \ # helium base packages HELIUM_BASE = " \ + htoprc \ " # helium extra tools