summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xbin/ptxdist196
-rw-r--r--config/initramfs-busybox/Config.in620
-rw-r--r--config/initramfs-busybox/archival/Config.in314
-rw-r--r--config/initramfs-busybox/console-tools/Config.in138
-rw-r--r--config/initramfs-busybox/coreutils/Config.in845
-rw-r--r--config/initramfs-busybox/debianutils/Config.in84
-rw-r--r--config/initramfs-busybox/e2fsprogs/Config.in68
-rw-r--r--config/initramfs-busybox/editors/Config.in196
-rw-r--r--config/initramfs-busybox/findutils/Config.in246
-rw-r--r--config/initramfs-busybox/init/Config.in123
-rw-r--r--config/initramfs-busybox/libbb/Config.in177
-rw-r--r--config/initramfs-busybox/loginutils/Config.in319
-rw-r--r--config/initramfs-busybox/mailutils/Config.in53
-rw-r--r--config/initramfs-busybox/miscutils/Config.in626
-rw-r--r--config/initramfs-busybox/modutils/Config.in226
-rw-r--r--config/initramfs-busybox/networking/Config.in957
-rw-r--r--config/initramfs-busybox/networking/udhcp/Config.in127
-rw-r--r--config/initramfs-busybox/printutils/Config.in26
-rw-r--r--config/initramfs-busybox/procps/Config.in207
-rw-r--r--config/initramfs-busybox/runit/Config.in83
-rw-r--r--config/initramfs-busybox/selinux/Config.in123
-rw-r--r--config/initramfs-busybox/shell/Config.in369
-rw-r--r--config/initramfs-busybox/sysklogd/Config.in118
-rw-r--r--config/initramfs-busybox/util-linux/Config.in884
-rw-r--r--config/setup/Kconfig2
-rw-r--r--configure.ac2
-rw-r--r--generic/boot/grub/menu.lst2
-rw-r--r--patches/atop-1.24/fix-cross-compile.patch (renamed from patches/atop-1.23/fix-cross-compile.patch)13
-rw-r--r--patches/atop-1.24/series (renamed from patches/atop-1.23/series)0
-rw-r--r--patches/elfkickers-2.0a.orig/0001-01_add_toplevel_makefile.diff.patch26
-rw-r--r--patches/elfkickers-2.0a.orig/0002-02_update_subdirs_makefile.diff.patch82
-rw-r--r--patches/elfkickers-2.0a.orig/0003-03_add_include_string.h.diff.patch50
-rw-r--r--patches/elfkickers-2.0a.orig/0004-04_bsd_include_elf.h.diff.patch249
-rw-r--r--patches/elfkickers-2.0a.orig/0005-05_add_et_core_elfls.diff.patch24
-rw-r--r--patches/elfkickers-2.0a.orig/0006-mjn3-sstrip.patch729
-rw-r--r--patches/elfkickers-2.0a.orig/series6
-rw-r--r--patches/fbgrab-1.0/series1
-rw-r--r--patches/ifplugd-0.28/series1
-rw-r--r--patches/jed-0.99-19/series2
-rw-r--r--patches/memtest-0.0.4/series1
-rw-r--r--patches/procps-3.2.8/0001-slabtop_once.patch125
-rw-r--r--patches/procps-3.2.8/0002-free.1.patch112
-rw-r--r--patches/procps-3.2.8/0003-output_sort_time.patch (renamed from patches/procps-3.2.8/10_output_sort_time.dpatch)41
-rw-r--r--patches/procps-3.2.8/0004-pmap.1.patch (renamed from patches/procps-3.2.8/10_pmap.1.dpatch)25
-rw-r--r--patches/procps-3.2.8/0005-10_ps.1.patch (renamed from patches/procps-3.2.8/10_ps.1.dpatch)48
-rw-r--r--patches/procps-3.2.8/0006-skill.1.patch (renamed from patches/procps-3.2.8/10_skill.1.dpatch)31
-rw-r--r--patches/procps-3.2.8/0007-skill_perror.patch25
-rw-r--r--patches/procps-3.2.8/0008-slabtop_1.patch (renamed from patches/procps-3.2.8/10_slabtop.dpatch)37
-rw-r--r--patches/procps-3.2.8/0009-sysctl.8.patch (renamed from patches/procps-3.2.8/10_sysctl.8.dpatch)34
-rw-r--r--patches/procps-3.2.8/0010-sysctl_options.patch (renamed from patches/procps-3.2.8/10_sysctl_options.dpatch)33
-rw-r--r--patches/procps-3.2.8/0011-tload.1.patch26
-rw-r--r--patches/procps-3.2.8/0012-top_irix.patch (renamed from patches/procps-3.2.8/10_top_irix.dpatch)33
-rw-r--r--patches/procps-3.2.8/0013-top_no_openproc.patch30
-rw-r--r--patches/procps-3.2.8/0014-top_stdin_eof.patch (renamed from patches/procps-3.2.8/10_top_stdineof.dpatch)27
-rw-r--r--patches/procps-3.2.8/0015-top_uid_length.patch (renamed from patches/procps-3.2.8/10_top_uid_length.dpatch)27
-rw-r--r--patches/procps-3.2.8/0016-uptime.1.patch (renamed from patches/procps-3.2.8/10_uptime.1.dpatch)33
-rw-r--r--patches/procps-3.2.8/0017-vmstat.8.patch (renamed from patches/procps-3.2.8/10_vmstat.8.dpatch)46
-rw-r--r--patches/procps-3.2.8/0018-watch.1.patch (renamed from patches/procps-3.2.8/10_watch.1.dpatch)28
-rw-r--r--patches/procps-3.2.8/0019-w_time.patch26
-rw-r--r--patches/procps-3.2.8/0020-kill.1.patch (renamed from patches/procps-3.2.8/20_kill.1.dpatch)50
-rw-r--r--patches/procps-3.2.8/0021-kill_warncr.patch (renamed from patches/procps-3.2.8/20_kill_warncr.dpatch)29
-rw-r--r--patches/procps-3.2.8/0022-module_mk_shared.patch26
-rw-r--r--patches/procps-3.2.8/0023-sysinfo_elfnote.patch32
-rw-r--r--patches/procps-3.2.8/0024-top.1.patch (renamed from patches/procps-3.2.8/20_top_manpage.dpatch)103
-rw-r--r--patches/procps-3.2.8/0025-top_c_resize.patch (renamed from patches/procps-3.2.8/20_top_c_resize.dpatch)43
-rw-r--r--patches/procps-3.2.8/0026-w-bassman.patch (renamed from patches/procps-3.2.8/20_w-bassman.dpatch)46
-rw-r--r--patches/procps-3.2.8/0027-top.1_cpustates.patch (renamed from patches/procps-3.2.8/30_top.1_cpustate.dpatch)29
-rw-r--r--patches/procps-3.2.8/0028-watch_8bitchar.patch26
-rw-r--r--patches/procps-3.2.8/0029-library_map_freeproc.patch26
-rw-r--r--patches/procps-3.2.8/0030-pgrep_start_time.patch27
-rw-r--r--patches/procps-3.2.8/0031-readproc_c.patch35
-rw-r--r--patches/procps-3.2.8/0032-sysinfo_7_numbers.patch (renamed from patches/procps-3.2.8/30_sysinfo_7numbers.dpatch)27
-rw-r--r--patches/procps-3.2.8/0033-tload_no_optargs.patch27
-rw-r--r--patches/procps-3.2.8/0034-w.1.patch (renamed from patches/procps-3.2.8/30_w.1.dpatch)35
-rw-r--r--patches/procps-3.2.8/0035-w_columns.patch41
-rw-r--r--patches/procps-3.2.8/0036-watch_exec_beep.patch (renamed from patches/procps-3.2.8/30_watch_exec_beep.dpatch)68
-rw-r--r--patches/procps-3.2.8/0037-path_max.patch (renamed from patches/procps-3.2.8/35_path_max.dpatch)48
-rw-r--r--patches/procps-3.2.8/0038-w_envlength.patch183
-rw-r--r--patches/procps-3.2.8/0039-gnu-kbsd-version.patch (renamed from patches/procps-3.2.8/40_gnu-kbsd-version.dpatch)27
-rw-r--r--patches/procps-3.2.8/0040-pgrep_c_option.patch (renamed from patches/procps-3.2.8/40_pgrep_coption.dpatch)45
-rw-r--r--patches/procps-3.2.8/0041-ps_cgroup_display.patch (renamed from patches/procps-3.2.8/40_ps_cgroup_display.dpatch)79
-rw-r--r--patches/procps-3.2.8/0042-watch_precision_time.patch (renamed from patches/procps-3.2.8/40_watch_precision_time.dpatch)67
-rw-r--r--patches/procps-3.2.8/0043-watch_unicode.patch311
-rw-r--r--patches/procps-3.2.8/0044-complain_unmounted_proc.patch29
-rw-r--r--patches/procps-3.2.8/0045-ps_supgid_display.patch475
-rw-r--r--patches/procps-3.2.8/0046-makefile_dev_null.patch25
-rw-r--r--patches/procps-3.2.8/0047-pgrep.1.patch (renamed from patches/procps-3.2.8/50_pgrep.1.dpatch)49
-rw-r--r--patches/procps-3.2.8/0048-ps_size_sz.patch40
-rw-r--r--patches/procps-3.2.8/0049-top_mintime.patch27
-rw-r--r--patches/procps-3.2.8/0050-vmstat_headers.patch (renamed from patches/procps-3.2.8/50_vmstat_headers.dpatch)40
-rw-r--r--patches/procps-3.2.8/0051-pgrep_usage_exitcode.patch26
-rw-r--r--patches/procps-3.2.8/0052-ps_1_options.patch557
-rw-r--r--patches/procps-3.2.8/0053-top_highlight.patch (renamed from patches/procps-3.2.8/55_top_highlight.dpatch)27
-rw-r--r--patches/procps-3.2.8/0054-top_nohz.patch25
-rw-r--r--patches/procps-3.2.8/0055-vmstat_part_format.patch (renamed from patches/procps-3.2.8/65_fix_partition_format.dpatch)53
-rw-r--r--patches/procps-3.2.8/0056-readproc_double_free.patch32
-rw-r--r--patches/procps-3.2.8/0057-vmstat_units.patch70
-rw-r--r--patches/procps-3.2.8/0058-skill_null_argv.patch25
-rw-r--r--patches/procps-3.2.8/0059-skill_multiarg.patch25
-rw-r--r--patches/procps-3.2.8/0060-proc_version_constructor.patch52
-rw-r--r--patches/procps-3.2.8/0061-pmaps_smaps.patch150
-rw-r--r--patches/procps-3.2.8/0062-top_numeric_args.patch109
-rw-r--r--patches/procps-3.2.8/0063-top_1_swap.patch34
-rw-r--r--patches/procps-3.2.8/0064-w_userproc.patch25
-rw-r--r--patches/procps-3.2.8/0065-sysinfo_kfreebsd_hertz.patch31
-rw-r--r--patches/procps-3.2.8/0066-ps_1_flt_output.patch40
-rw-r--r--patches/procps-3.2.8/0067-watch_ansi_colour.patch193
-rw-r--r--patches/procps-3.2.8/0068-top_username_parse.patch25
-rw-r--r--patches/procps-3.2.8/0069-don-t-install-stuff-that-was-not-built.patch (renamed from patches/procps-3.2.8/fix-install.diff)15
-rw-r--r--patches/procps-3.2.8/0070-remove-frename-registers-option-due-to-ICE-on-gcc-4..patch25
-rw-r--r--patches/procps-3.2.8/10_free.1.dpatch66
-rw-r--r--patches/procps-3.2.8/10_skill_perror.dpatch18
-rw-r--r--patches/procps-3.2.8/10_tload.1.dpatch19
-rw-r--r--patches/procps-3.2.8/10_top_no_openproc.dpatch23
-rw-r--r--patches/procps-3.2.8/10_w_time.dpatch19
-rw-r--r--patches/procps-3.2.8/20_Makefile_lib64.dpatch53
-rw-r--r--patches/procps-3.2.8/20_module_mk_shared.dpatch36
-rw-r--r--patches/procps-3.2.8/20_sysinfo_c.dpatch25
-rw-r--r--patches/procps-3.2.8/20_watch_8bitchar.dpatch19
-rw-r--r--patches/procps-3.2.8/30_library_map_freeproc.dpatch35
-rw-r--r--patches/procps-3.2.8/30_pgrep_start_time.dpatch36
-rw-r--r--patches/procps-3.2.8/30_readproc_c.dpatch45
-rw-r--r--patches/procps-3.2.8/30_tload_no_optargs.dpatch36
-rw-r--r--patches/procps-3.2.8/30_w-columns.dpatch34
-rw-r--r--patches/procps-3.2.8/45_proc_complain_unmounted_proc.dpatch21
-rw-r--r--patches/procps-3.2.8/50_dev_null_makefile_fix.dpatch19
-rw-r--r--patches/procps-3.2.8/50_top_mintime.dpatch20
-rw-r--r--patches/procps-3.2.8/55_pgrep_usage_exitcode.dpatch17
-rw-r--r--patches/procps-3.2.8/60_top_nohz.dpatch18
-rw-r--r--patches/procps-3.2.8/README8
-rw-r--r--patches/procps-3.2.8/fix-unknown-HZ-arm-diff38
-rw-r--r--patches/procps-3.2.8/remove-rename-registers.diff23
-rw-r--r--patches/procps-3.2.8/series122
-rw-r--r--patches/qt-embedded-linux-opensource-src-4.5.3/fix-host-zlib.diff35
-rw-r--r--patches/qt-embedded-linux-opensource-src-4.5.3/series1
-rw-r--r--patches/squashfs3.4/series1
-rw-r--r--patches/squashfs3.4/squashfs_libs.diff34
-rw-r--r--patches/squashfs4.0/series1
-rw-r--r--patches/squashfs4.0/squashfs_libs.diff34
-rw-r--r--patches/tcp_wrappers_7.6/series2
-rw-r--r--patches/udev-150/0001-Use-utimensat-instead-of-utimes-and-lutimes.patch35
-rw-r--r--patches/udev-150/series1
-rw-r--r--patches/udev-150/udev-150-split-extras.diff28
-rw-r--r--patches/util-linux-ng-2.17.2/0001-replace-bzero-with-memset.patch38
-rw-r--r--patches/util-linux-ng-2.17.2/series1
-rw-r--r--patches/watchdog-5.7/0001-Fix-compile-with-USE_SYSLOG-disabled.patch30
-rw-r--r--patches/watchdog-5.7/0002-Replace-index-with-strchr.patch52
-rw-r--r--patches/watchdog-5.7/series2
-rw-r--r--patches/xf86-video-fbdev-0.4.1/series1
-rw-r--r--platforms/hosttools.in1
-rw-r--r--platforms/image_cpio.in10
-rw-r--r--platforms/image_iso.in2
-rw-r--r--platforms/image_jffs2.in6
-rw-r--r--platforms/image_kernel.in37
-rw-r--r--platforms/kernel.in61
-rw-r--r--platforms/toolchain.in30
-rw-r--r--platforms/u-boot.in2
-rw-r--r--rules/argtable2.make10
-rw-r--r--rules/atop.in5
-rw-r--r--rules/atop.make6
-rw-r--r--rules/avahi.make6
-rw-r--r--rules/binutils.make14
-rw-r--r--rules/bzip2.make3
-rw-r--r--rules/canutils.in2
-rw-r--r--rules/consolekit.in15
-rw-r--r--rules/consolekit.make2
-rw-r--r--rules/dash.in15
-rw-r--r--rules/dash.make4
-rw-r--r--rules/directfb.in12
-rw-r--r--rules/eggdbus.make8
-rw-r--r--rules/gdb-menu.in2
-rw-r--r--rules/grub.make44
-rw-r--r--rules/gstreamer.in1
-rw-r--r--rules/haserl.make2
-rw-r--r--rules/hdparm.make6
-rw-r--r--rules/host-eggdbus.make10
-rw-r--r--rules/host-elfkickers.in6
-rw-r--r--rules/host-elfkickers.make51
-rw-r--r--rules/host-flex.in7
-rw-r--r--rules/host-flex.make21
-rw-r--r--rules/host-ipkg-utils.make11
-rw-r--r--rules/host-lzop.in18
-rw-r--r--rules/host-lzop.make40
-rw-r--r--rules/host-squashfs-tools.make15
-rw-r--r--rules/htop.make3
-rw-r--r--rules/initmethod.in4
-rw-r--r--rules/initramfs-busybox.in19
-rw-r--r--rules/initramfs-busybox.make151
-rw-r--r--rules/initramfs-tools.in37
-rw-r--r--rules/initramfs-tools.make63
-rw-r--r--rules/kernel.make86
-rw-r--r--rules/klibc-module-init-tools.in52
-rw-r--r--rules/klibc-module-init-tools.make67
-rw-r--r--rules/klibc-udev.in176
-rw-r--r--rules/klibc-udev.make217
-rw-r--r--rules/libc.in2
-rw-r--r--rules/libcroco.make6
-rw-r--r--rules/libdrm.make5
-rw-r--r--rules/libezv24.make10
-rw-r--r--rules/libjpeg.make16
-rw-r--r--rules/librsvg.make3
-rw-r--r--rules/lite.make15
-rw-r--r--rules/options-strip.in21
-rw-r--r--rules/post/image_cpio.make30
-rw-r--r--rules/post/image_initrd.make28
-rw-r--r--rules/post/image_iso.make14
-rw-r--r--rules/post/image_kernel.make34
-rw-r--r--rules/post/install.make289
-rw-r--r--rules/post/ptxd_make_world_extract.make10
-rw-r--r--rules/post/ptxd_make_xpkg_common.make10
-rw-r--r--rules/post/virtual.make4
-rw-r--r--rules/prelink.in5
-rw-r--r--rules/rawrec.in2
-rw-r--r--rules/readline.make6
-rw-r--r--rules/sdl_mixer.in2
-rw-r--r--rules/sdl_mixer.make3
-rw-r--r--rules/squashfs-tools.in24
-rw-r--r--rules/squashfs-tools.make76
-rw-r--r--rules/util-linux-ng.make3
-rw-r--r--rules/watchdog.in15
-rw-r--r--rules/watchdog.make64
-rw-r--r--rules/xorg-app-xdm.make2
-rw-r--r--rules/xorg-font-intl.make2
-rwxr-xr-xscripts/install_copy_toolchain.sh64
-rw-r--r--scripts/lib/ptxd_make_extract.sh46
-rw-r--r--scripts/lib/ptxd_make_extract_archive.sh51
-rw-r--r--scripts/lib/ptxd_make_install.sh30
-rw-r--r--scripts/lib/ptxd_make_ipkg_finish.sh25
-rw-r--r--scripts/lib/ptxd_make_world_clean.sh4
-rw-r--r--scripts/lib/ptxd_make_world_common.sh10
-rw-r--r--scripts/lib/ptxd_make_world_install.sh7
-rw-r--r--scripts/lib/ptxd_make_xpkg_common.sh3
-rw-r--r--scripts/lib/ptxd_make_xpkg_finish.sh37
-rw-r--r--scripts/lib/ptxd_make_xpkg_pkg.sh539
-rw-r--r--scripts/libptxdist.sh125
-rwxr-xr-xscripts/make_archive.sh179
236 files changed, 7179 insertions, 9804 deletions
diff --git a/bin/ptxdist b/bin/ptxdist
index 75b7ae4a1..fec208f91 100755
--- a/bin/ptxdist
+++ b/bin/ptxdist
@@ -6,7 +6,7 @@ LC_ALL=POSIX
declare -a PTXDIST_ARGS_FULL
declare -a PTXDIST_ARGS_SECOND PTX_MAKE_ARGS
PTXDIST_ARGS_FULL=("${@}")
-PROMPT="ptxdist: "
+PTXDIST_LOG_PROMPT="ptxdist: "
#
# defaults
@@ -148,7 +148,7 @@ check_nonstandard() {
return 1
elif [ -z "${!nonstandard_set}" ]; then
echo
- echo "${PROMPT}error: invalid use of '${FUNCNAME} ${@}'"
+ echo "${PTXDIST_LOG_PROMPT}error: invalid use of '${FUNCNAME} ${@}'"
echo
exit 1
fi
@@ -162,7 +162,7 @@ check_nonstandard() {
check_uid() {
if [ ${UID} -eq 0 ]; then
echo
- echo "${PROMPT}error: refusing to run PTXdist as root"
+ echo "${PTXDIST_LOG_PROMPT}error: refusing to run PTXdist as root"
echo
exit 1
fi
@@ -520,19 +520,19 @@ check_compiler() {
; do
if [ -z "${!cc}" ]; then
echo
- echo "${PROMPT}error: undefined host ${cc##*_} compiler"
- echo "${PROMPT}error: run 'ptxdist setup' and enter the 'Developer Options' menu"
- echo "${PROMPT}error: and specify the compiler"
+ echo "${PTXDIST_LOG_PROMPT}error: undefined host ${cc##*_} compiler"
+ echo "${PTXDIST_LOG_PROMPT}error: run 'ptxdist setup' and enter the 'Developer Options' menu"
+ echo "${PTXDIST_LOG_PROMPT}error: and specify the compiler"
echo
exit 1
fi
if [ \! -x "$(which "${!cc}" 2>/dev/null)" ]; then
echo
- echo "${PROMPT}error: your host ${cc##*_} compiler: '${!cc}'"
- echo "${PROMPT}error: cannot be found or isn't executable"
- echo "${PROMPT}error: run 'ptxdist setup' and enter the 'Developer Options' menu"
- echo "${PROMPT}error: and specify the compiler"
+ echo "${PTXDIST_LOG_PROMPT}error: your host ${cc##*_} compiler: '${!cc}'"
+ echo "${PTXDIST_LOG_PROMPT}error: cannot be found or isn't executable"
+ echo "${PTXDIST_LOG_PROMPT}error: run 'ptxdist setup' and enter the 'Developer Options' menu"
+ echo "${PTXDIST_LOG_PROMPT}error: and specify the compiler"
echo
exit 1
fi
@@ -559,8 +559,8 @@ check_compiler() {
if [ ! -d "${PTXDIST_TOOLCHAIN}" ]; then
echo
- echo "${PROMPT}error: specify '${PTXDIST_TOOLCHAIN#${PTXDIST_WORKSPACE}/}' with 'ptxdist toolchain [<path>]'"
- echo "${PROMPT}error: or leave PTXCONF_CROSSCHAIN_VENDOR empty to disable toolchain check"
+ echo "${PTXDIST_LOG_PROMPT}error: specify '${PTXDIST_TOOLCHAIN#${PTXDIST_WORKSPACE}/}' with 'ptxdist toolchain [<path>]'"
+ echo "${PTXDIST_LOG_PROMPT}error: or leave PTXCONF_CROSSCHAIN_VENDOR empty to disable toolchain check"
echo
exit 1
fi
@@ -568,8 +568,8 @@ check_compiler() {
local vendor_def="$(readlink -f "${PTXDIST_TOOLCHAIN}/ptxconfig")"
if [ -z "${vendor_def}" -o \! -e "${vendor_def}" ]; then
echo
- echo "${PROMPT}error: toolchain doesn't point to an OSELAS.Toolchain"
- echo "${PROMPT}error: leave PTXCONF_CROSSCHAIN_VENDOR empty to disable vendor check"
+ echo "${PTXDIST_LOG_PROMPT}error: toolchain doesn't point to an OSELAS.Toolchain"
+ echo "${PTXDIST_LOG_PROMPT}error: leave PTXCONF_CROSSCHAIN_VENDOR empty to disable vendor check"
echo
exit 1
fi
@@ -578,9 +578,9 @@ check_compiler() {
local vendor_is="$(source "${vendor_def}" && echo ${PTXCONF_PROJECT})"
if [ "${vendor_is}" != "${vendor_should}" ]; then
echo
- echo "${PROMPT}error: wrong toolchain vendor: Cannot continue! Vendor is '${vendor_is}',"
- echo "${PROMPT}error: specified: ${vendor_should}"
- echo "${PROMPT}error: found: ${vendor_is}"
+ echo "${PTXDIST_LOG_PROMPT}error: wrong toolchain vendor: Cannot continue! Vendor is '${vendor_is}',"
+ echo "${PTXDIST_LOG_PROMPT}error: specified: ${vendor_should}"
+ echo "${PTXDIST_LOG_PROMPT}error: found: ${vendor_is}"
echo
exit 1
fi
@@ -594,16 +594,16 @@ check_compiler() {
if [ -z "${compiler_ver_is}" ]; then
echo
- echo "${PROMPT}error: Compiler '${compiler}' not found. Check PATH or"
- echo "${PROMPT}error: use 'ptxdist toolchain [</path/to/toolchain>]'."
+ echo "${PTXDIST_LOG_PROMPT}error: Compiler '${compiler}' not found. Check PATH or"
+ echo "${PTXDIST_LOG_PROMPT}error: use 'ptxdist toolchain [</path/to/toolchain>]'."
echo
exit 1
fi
if [ "${compiler_ver_is}" != "${compiler_ver_should}" ]; then
echo
- echo "${PROMPT}error: Compiler version ${compiler_ver_should} expected,"
- echo "${PROMPT}error: but ${compiler_ver_is} found."
+ echo "${PTXDIST_LOG_PROMPT}error: Compiler version ${compiler_ver_should} expected,"
+ echo "${PTXDIST_LOG_PROMPT}error: but ${compiler_ver_is} found."
echo
exit 1
fi
@@ -638,7 +638,7 @@ check_deps() {
check_if_selected() {
if [ -z "${1}" ]; then
echo
- echo "${PROMPT}error: please specify a target"
+ echo "${PTXDIST_LOG_PROMPT}error: please specify a target"
echo
exit 1
fi
@@ -647,11 +647,11 @@ check_if_selected() {
ptxd_get_ptxconf "${configvar}" > /dev/null || {
if [ ${?} -eq 2 ]; then
ptxd_dialog_msgbox \
- "${PROMPT}error: '${1}' is not a valid package name"
+ "${PTXDIST_LOG_PROMPT}error: '${1}' is not a valid package name"
return 1
else
ptxd_dialog_msgbox \
- "${PROMPT}error: '${1}' is not selected in\n" \
+ "${PTXDIST_LOG_PROMPT}error: '${1}' is not selected in\n" \
" ${PTXDIST_PTXCONFIG}"
return 1
fi
@@ -685,7 +685,7 @@ clone() {
if [ -d "${2}" ]; then
echo
- echo "${PROMPT}error: directory ${2} does already exist"
+ echo "${PTXDIST_LOG_PROMPT}error: directory ${2} does already exist"
echo
exit 1
fi
@@ -695,7 +695,7 @@ clone() {
for projectdir in ${PTXCONF_SETUP_PROJECTPATH}; do
- echo "${PROMPT}scanning ${projectdir}..."
+ echo "${PTXDIST_LOG_PROMPT}scanning ${projectdir}..."
if [ -d "${projectdir}/${1}" ] ; then
@@ -704,7 +704,7 @@ clone() {
--exclude .svn --exclude state --exclude debian . | \
tar -C "${2}" -xvf -
- echo "${PROMPT}done."
+ echo "${PTXDIST_LOG_PROMPT}done."
echo
IFS="${ifs_old}"
return 0
@@ -712,7 +712,7 @@ clone() {
done
IFS="${ifs_old}"
- echo "${PROMPT}project ${1} is to be cloned, but could not be found"
+ echo "${PTXDIST_LOG_PROMPT}project ${1} is to be cloned, but could not be found"
echo
}
@@ -802,6 +802,8 @@ Misc:
use 'newpackage help' for a longer description
print <var> print the contents of a variable, in the way
it is known by "make"
+ bash enter a ptxdist environment bash shell
+ bash <cmd> [args...] execute <cmd> in ptxdist environment
export_src <target dir> export all source archives needed for this
project to <target dir>
Overwrite defaults:
@@ -835,19 +837,20 @@ clean() {
# we want to clean the root dir
if [ "${1}" = "root" ]; then
echo
- echo "${PROMPT}cleaning image directory..."
+ echo "${PTXDIST_LOG_PROMPT}cleaning image directory..."
rm -fr -- "${IMAGEDIR}"
- echo "${PROMPT}cleaning root directory..."
+ echo "${PTXDIST_LOG_PROMPT}cleaning root directory..."
rm -fr -- "${ROOTDIR}"
rm -fr -- "${ROOTDIR_DEBUG}"
- echo "${PROMPT}cleaning packages..."
+ echo "${PTXDIST_LOG_PROMPT}cleaning packages..."
rm -fr -- "${PKGDIR}"/*.ipk
- echo "${PROMPT}cleaning targetinstall stages..."
+ echo "${PTXDIST_LOG_PROMPT}cleaning targetinstall stages..."
rm -f -- \
+ "${STATEDIR}"/*.cmds \
"${STATEDIR}"/*.perms \
"${STATEDIR}"/*.targetinstall* \
"${STATEDIR}"/*.xpkg.map
- echo "${PROMPT}done."
+ echo "${PTXDIST_LOG_PROMPT}done."
echo
return
fi
@@ -860,7 +863,7 @@ clean() {
fi
echo
- echo "${PROMPT}removing build directories..."
+ echo "${PTXDIST_LOG_PROMPT}removing build directories..."
for dir in "${BUILDDIR}" "${CROSS_BUILDDIR}" "${KLIBC_BUILDDIR}" "${HOST_BUILDDIR}"; do
if [ ! -d "${dir}" ]; then
continue
@@ -868,7 +871,7 @@ clean() {
for bdir in $(find "${dir}" -maxdepth 1 -mindepth 1 -type l); do
# run 'make clean' for linked source directories
pushd "${bdir}" > /dev/null
- echo -n "${PROMPT}running 'make clean' in '${bdir#${dir}/}'... "
+ echo -n "${PTXDIST_LOG_PROMPT}running 'make clean' in '${bdir#${dir}/}'... "
make clean 1> /dev/null 2>&1
echo "done"
popd > /dev/null
@@ -877,7 +880,7 @@ clean() {
done
if [ -f "${PTXDIST_PTXCONFIG}" ]; then
- echo "${PROMPT}removing sysroot directories..."
+ echo "${PTXDIST_LOG_PROMPT}removing sysroot directories..."
local ptxconf_sysroot_target="$(ptxd_get_ptxconf PTXCONF_SYSROOT_TARGET)"
local ptxconf_sysroot_host="$(ptxd_get_ptxconf PTXCONF_SYSROOT_HOST)"
local ptxconf_sysroot_cross="$(ptxd_get_ptxconf PTXCONF_SYSROOT_CROSS)"
@@ -909,21 +912,21 @@ clean() {
fi
fi
- echo "${PROMPT}removing deps..."
+ echo "${PTXDIST_LOG_PROMPT}removing deps..."
rm -f -- "${PTXDIST_PLATFORMDIR}/"{deptree-a4.ps,deptree.ps}
rm -f -- "${STATEDIR}/depend.out"
- echo "${PROMPT}removing imagedir..."
+ echo "${PTXDIST_LOG_PROMPT}removing imagedir..."
rm -fr -- "${IMAGEDIR}"
- echo "${PROMPT}removing root..."
+ echo "${PTXDIST_LOG_PROMPT}removing root..."
rm -fr -- "${ROOTDIR}"
rm -fr -- "${ROOTDIR_DEBUG}"
- echo "${PROMPT}removing state..."
+ echo "${PTXDIST_LOG_PROMPT}removing state..."
rm -fr -- "${STATEDIR}"
- echo "${PROMPT}removing logfile..."
+ echo "${PTXDIST_LOG_PROMPT}removing logfile..."
rm -f -- "${PTX_LOGFILE}"
- echo "${PROMPT}removing test logfile..."
+ echo "${PTXDIST_LOG_PROMPT}removing test logfile..."
rm -f -- "${PTXDIST_PLATFORMDIR}/test.log"
- echo "${PROMPT}removing packages dir..."
+ echo "${PTXDIST_LOG_PROMPT}removing packages dir..."
rm -fr -- "${PKGDIR}"
for cfg in \
"${PTXDIST_PTXCONFIG}" \
@@ -939,7 +942,7 @@ clean() {
# remove the remaining PTXDIST_PLATFORMDIR (if empty)
rmdir -- "${PTXDIST_PLATFORMDIR}" >/dev/null 2>&1
- echo "${PROMPT}done."
+ echo "${PTXDIST_LOG_PROMPT}done."
echo
}
@@ -1038,9 +1041,9 @@ newpackage() {
#
local package_name
echo
- echo "${PROMPT}creating a new '${action}' package:"
+ echo "${PTXDIST_LOG_PROMPT}creating a new '${action}' package:"
echo
- echo -n "${PROMPT}enter package name.......: "
+ echo -n "${PTXDIST_LOG_PROMPT}enter package name.......: "
read package_name
#
@@ -1070,7 +1073,7 @@ newpackage() {
*-existing-target|src-make-prog)
;;
*)
- echo -n "${PROMPT}enter version number.....: "
+ echo -n "${PTXDIST_LOG_PROMPT}enter version number.....: "
read version
;;
esac
@@ -1078,16 +1081,16 @@ newpackage() {
local url suffix
case "${action}" in
host|target|cross|klibc)
- echo -n "${PROMPT}enter URL of basedir.....: "
+ echo -n "${PTXDIST_LOG_PROMPT}enter URL of basedir.....: "
read url
- echo -n "${PROMPT}enter suffix.............: "
+ echo -n "${PTXDIST_LOG_PROMPT}enter suffix.............: "
read suffix
;;
esac
# FIXME: get address from 'ptxdist setup'
local author
- echo -n "${PROMPT}enter package author.....: "
+ echo -n "${PTXDIST_LOG_PROMPT}enter package author.....: "
read author
local package_filename="${package_name}"
@@ -1105,18 +1108,18 @@ newpackage() {
if [ ! -f "${template_file}" ]; then
echo
- echo "${PROMPT}warning: template '${template_file}' does not exist"
+ echo "${PTXDIST_LOG_PROMPT}warning: template '${template_file}' does not exist"
echo
continue
fi
if [ -f "${filename}" ]; then
echo
- echo -n "${PROMPT}warning: ${filename} does already exist, overwrite? [y/n] "
+ echo -n "${PTXDIST_LOG_PROMPT}warning: ${filename} does already exist, overwrite? [y/n] "
local overwrite
read overwrite
if [ "${overwrite}" != "y" ]; then
- echo "${PROMPT}aborted."
+ echo "${PTXDIST_LOG_PROMPT}aborted."
echo
exit
fi
@@ -1177,16 +1180,16 @@ newpackage() {
projects() {
local ifs_old projects projectdir
echo
- echo "${PROMPT}searching for projects:"
+ echo "${PTXDIST_LOG_PROMPT}searching for projects:"
ifs_old="${IFS}"
IFS=:
projects=
for projectdir in ${PTXCONF_SETUP_PROJECTPATH}; do
- echo "${PROMPT}scanning ${projectdir}..."
+ echo "${PTXDIST_LOG_PROMPT}scanning ${projectdir}..."
if [ ! -d ${projectdir} ]; then
echo
- echo "${PROMPT}error: directory does not exist"
- echo "${PROMPT}please check PTXCONF_SETUP_PROJECTPATH in 'ptxdist setup'"
+ echo "${PTXDIST_LOG_PROMPT}error: directory does not exist"
+ echo "${PTXDIST_LOG_PROMPT}please check PTXCONF_SETUP_PROJECTPATH in 'ptxdist setup'"
exit 1
fi
projects="${projects} $(cd ${projectdir} && find . -maxdepth 1 -type d ! -name .svn ! -name . -exec basename {} \;)"
@@ -1239,6 +1242,9 @@ parse_first()
-k)
PTX_MAKE_ARGS[${#PTX_MAKE_ARGS[@]}]="-k"
;;
+ -p|--pedantic)
+ PTXDIST_PEDANTIC=true
+ ;;
-f|--force)
PTX_FORCE=true
;;
@@ -1276,9 +1282,22 @@ parse_first()
-je*)
PTXDIST_PARALLELMFLAGS_EXTERN="-j${arg#*e}"
;;
+ -l*)
+ PTXDIST_LOADMFLAGS_INTERN="-l${arg#*l}"
+ ;;
+ --load-average=*)
+ PTXDIST_LOADMFLAGS_INTERN="-l${arg#*=}"
+ ;;
-q|--quiet)
PTXDIST_QUIET=1
;;
+ --)
+ while [ ${#} -ne 0 ]; do
+ arg="${1}"
+ shift
+ PTXDIST_ARGS_SECOND[${#PTXDIST_ARGS_SECOND[@]}]="${arg}"
+ done
+ ;;
*)
PTXDIST_ARGS_SECOND[${#PTXDIST_ARGS_SECOND[@]}]="${arg}"
;;
@@ -1331,7 +1350,7 @@ do_config()
;;
*)
echo
- echo "${PROMPT}error: invalid use of '${FUNCNAME} ${@}'"
+ echo "${PTXDIST_LOG_PROMPT}error: invalid use of '${FUNCNAME} ${@}'"
echo
exit 1
;;
@@ -1368,7 +1387,7 @@ do_config()
*)
check_if_selected "${part}" &&
- ptxd_dialog_infobox "${PROMPT}Checking dependencies. This may take some seconds." &&
+ ptxd_dialog_infobox "${PTXDIST_LOG_PROMPT}Checking dependencies. This may take some seconds." &&
check_premake &&
ptxd_make "${part}_${config}"
@@ -1378,7 +1397,7 @@ do_config()
local retval=${?}
if [ ${retval} -ne 0 ]; then
echo
- echo "${PROMPT}'${part} ${config}' returned with an error"
+ echo "${PTXDIST_LOG_PROMPT}'${part} ${config}' returned with an error"
echo
if [ -n "${PTX_MENU}" ]; then
read
@@ -1509,7 +1528,7 @@ do_select_toolchain_guess()
if [ -n "${glibc_version}" ]; then
libc="glibc-${glibc_version}-"
elif [ -n "${uclibc_version}" ]; then
- libc="glibc-${uclibc_version}-"
+ libc="uClibc-${uclibc_version}-"
else
libc=""
fi
@@ -1774,7 +1793,17 @@ parse_second()
bash)
check_premake_compiler &&
- "${@}"
+ if [ ${#} -eq 0 ]; then
+ local bashrc="${PTXDIST_TEMPDIR}/bashrc"
+ cat > "${bashrc}" <<EOF
+. /etc/bash.bashrc
+. ~/.bashrc
+PS1="[ptx] \${PS1}"
+EOF
+ "${BASH}" --init-file "${bashrc}"
+ else
+ "${@}"
+ fi
exit
;;
clean)
@@ -1795,7 +1824,7 @@ parse_second()
distclean)
clean
- echo "${PROMPT}removing configuration links..."
+ echo "${PTXDIST_LOG_PROMPT}removing configuration links..."
for cfg in \
"${PTXDIST_PTXCONFIG}" \
@@ -1809,7 +1838,7 @@ parse_second()
fi
done
- echo "${PROMPT}removing logs..."
+ echo "${PTXDIST_LOG_PROMPT}removing logs..."
rm -f -- "${PTX_LOGFILE}" "${PTXDIST_WORKSPACE}/logfile"
echo
@@ -1823,13 +1852,13 @@ parse_second()
export_src)
if [ -z "${1}" ]; then
echo
- echo "${PROMPT}error: Please specify a target directory."
+ echo "${PTXDIST_LOG_PROMPT}error: Please specify a target directory."
echo
exit 1
fi
if [ ! -d "${1}" ]; then
echo
- echo "${PROMPT}error: directory '${1}' does not exist!"
+ echo "${PTXDIST_LOG_PROMPT}error: directory '${1}' does not exist!"
echo
exit 1
fi
@@ -1860,7 +1889,7 @@ parse_second()
menu)
if [ \! -x "$(which dialog 2>/dev/null)" ]; then
echo
- echo "${PROMPT}info: Sorry, menu not possible yet. Please install 'dialog'"
+ echo "${PTXDIST_LOG_PROMPT}info: Sorry, menu not possible yet. Please install 'dialog'"
echo
exit 1
fi
@@ -1871,16 +1900,16 @@ parse_second()
newpackage|newpacket)
if [ "${cmd}" = "newpacket" ]; then
- echo "${PROMPT}There is no subcommand 'newpacket'. I guess you mean"
- echo "${PROMPT}'newpackage' and run it for you. This service stopps"
- echo "${PROMPT}being provided for free soon. So please use"
- echo "${PROMPT}'newpackage' directly."
+ echo "${PTXDIST_LOG_PROMPT}There is no subcommand 'newpacket'. I guess you mean"
+ echo "${PTXDIST_LOG_PROMPT}'newpackage' and run it for you. This service stopps"
+ echo "${PTXDIST_LOG_PROMPT}being provided for free soon. So please use"
+ echo "${PTXDIST_LOG_PROMPT}'newpackage' directly."
fi
if [ \! -d "rules" -a "${1}" != "help" ]; then
echo
- echo "${PROMPT}error: no rules/ directory found"
- echo "${PROMPT}error: please call from a workspace or ptxdist directory"
+ echo "${PTXDIST_LOG_PROMPT}error: no rules/ directory found"
+ echo "${PTXDIST_LOG_PROMPT}error: please call from a workspace or ptxdist directory"
echo
exit 1
fi
@@ -1941,7 +1970,7 @@ parse_second()
done
echo
- echo "${PROMPT}error: test '${1}' not found in PTXDIST_TOPDIR and PTXDIST_WORKSPACE"
+ echo "${PTXDIST_LOG_PROMPT}error: test '${1}' not found in PTXDIST_TOPDIR and PTXDIST_WORKSPACE"
echo
exit 1
;;
@@ -1984,7 +2013,7 @@ setup_topdir() {
#
if [ ! -e "${topdir}/.done" ]; then
echo
- echo "${PROMPT}error: PTXdist in ${topdir} is not built."
+ echo "${PTXDIST_LOG_PROMPT}error: PTXdist in ${topdir} is not built."
echo
exit 1
fi
@@ -2099,7 +2128,7 @@ setup_libs_early() {
if [ -e "${abs_file}" ]; then
source "${abs_file}" || return
else
- echo "${PROMPT}FATAL didn't find ${abs_file}"
+ echo "${PTXDIST_LOG_PROMPT}FATAL didn't find ${abs_file}"
exit 1
fi
done
@@ -2107,7 +2136,7 @@ setup_libs_early() {
PTXDIST_TEMPDIR="$(mktemp -d /tmp/ptxdist.XXXXXX)"
if [ ${?} -ne 0 ]; then
echo
- echo "${PROMPT}error: unable to create tempdir"
+ echo "${PTXDIST_LOG_PROMPT}error: unable to create tempdir"
echo
exit 1
fi
@@ -2328,9 +2357,9 @@ setup_path() {
PATH="${PTX_CCACHE_DIR}:${PATH}"
else
echo
- echo "${PROMPT}warning: ccache has been activated, but was not found on your system"
- echo "${PROMPT}warning: install ccache, disable it ('ptxdist setup' -> 'Developer Options' menu)"
- echo "${PROMPT}warning: or ignore this warning."
+ echo "${PTXDIST_LOG_PROMPT}warning: ccache has been activated, but was not found on your system"
+ echo "${PTXDIST_LOG_PROMPT}warning: install ccache, disable it ('ptxdist setup' -> 'Developer Options' menu)"
+ echo "${PTXDIST_LOG_PROMPT}warning: or ignore this warning."
echo
sleep 3
fi
@@ -2407,9 +2436,12 @@ setup_export() {
PTXDIST_PLATFORMCONFIGDIR \
\
PTXDIST_PARALLELMFLAGS_INTERN \
+ PTXDIST_LOADMFLAGS_INTERN \
\
- PTXDIST_QUIET \
- PTXDIST_FORCE_DOWNLOAD
+ PTXDIST_FORCE_DOWNLOAD \
+ PTXDIST_LOG_PROMPT \
+ PTXDIST_PEDANTIC \
+ PTXDIST_QUIET
}
diff --git a/config/initramfs-busybox/Config.in b/config/initramfs-busybox/Config.in
deleted file mode 100644
index 85ce36da1..000000000
--- a/config/initramfs-busybox/Config.in
+++ /dev/null
@@ -1,620 +0,0 @@
-#
-# For a description of the syntax of this configuration file,
-# see scripts/kbuild/config-language.txt.
-#
-
-# mainmenu "BusyBox Configuration"
-
-config INITRAMFS_BUSYBOX_HAVE_DOT_CONFIG
- bool
- default y
-
-menu "Busybox Settings"
-
-menu "General Configuration"
-
-config INITRAMFS_BUSYBOX_DESKTOP
- bool "Enable options for full-blown desktop systems"
- default n
- help
- Enable options and features which are not essential.
- Select this only if you plan to use busybox on full-blown
- desktop machine with common Linux distro, not on an embedded box.
-
-config INITRAMFS_BUSYBOX_EXTRA_COMPAT
- bool "Provide compatible behavior for rare corner cases (bigger code)"
- default n
- help
- This option makes grep, sed etc handle rare corner cases
- (embedded NUL bytes and such). This makes code bigger and uses
- some GNU extensions in libc. You probably only need this option
- if you plan to run busybox on desktop.
-
-choice
- prompt "Buffer allocation policy"
- default INITRAMFS_BUSYBOX_FEATURE_BUFFERS_USE_MALLOC
- help
- There are 3 ways BusyBox can handle buffer allocations:
- - Use malloc. This costs code size for the call to xmalloc.
- - Put them on stack. For some very small machines with limited stack
- space, this can be deadly. For most folks, this works just fine.
- - Put them in BSS. This works beautifully for computers with a real
- MMU (and OS support), but wastes runtime RAM for uCLinux. This
- behavior was the only one available for BusyBox versions 0.48 and
- earlier.
-
-config INITRAMFS_BUSYBOX_FEATURE_BUFFERS_USE_MALLOC
- bool "Allocate with Malloc"
-
-config INITRAMFS_BUSYBOX_FEATURE_BUFFERS_GO_ON_STACK
- bool "Allocate on the Stack"
-
-config INITRAMFS_BUSYBOX_FEATURE_BUFFERS_GO_IN_BSS
- bool "Allocate in the .bss section"
-
-endchoice
-
-config INITRAMFS_BUSYBOX_SHOW_USAGE
- bool "Show terse applet usage messages"
- default y
- help
- All BusyBox applets will show help messages when invoked with
- wrong arguments. You can turn off printing these terse usage
- messages if you say no here.
- This will save you up to 7k.
-
-config INITRAMFS_BUSYBOX_FEATURE_VERBOSE_USAGE
- bool "Show verbose applet usage messages"
- default n
- select INITRAMFS_BUSYBOX_SHOW_USAGE
- help
- All BusyBox applets will show more verbose help messages when
- busybox is invoked with --help. This will add a lot of text to the
- busybox binary. In the default configuration, this will add about
- 13k, but it can add much more depending on your configuration.
-
-config INITRAMFS_BUSYBOX_FEATURE_COMPRESS_USAGE
- bool "Store applet usage messages in compressed form"
- default y
- depends on INITRAMFS_BUSYBOX_SHOW_USAGE
- help
- Store usage messages in compressed form, uncompress them on-the-fly
- when <applet> --help is called.
-
- If you have a really tiny busybox with few applets enabled (and
- bunzip2 isn't one of them), the overhead of the decompressor might
- be noticeable. Also, if you run executables directly from ROM
- and have very little memory, this might not be a win. Otherwise,
- you probably want this.
-
-config INITRAMFS_BUSYBOX_FEATURE_INSTALLER
- bool "Support --install [-s] to install applet links at runtime"
- default n
- help
- Enable 'busybox --install [-s]' support. This will allow you to use
- busybox at runtime to create hard links or symlinks for all the
- applets that are compiled into busybox.
-
-config INITRAMFS_BUSYBOX_LOCALE_SUPPORT
- bool "Enable locale support (system needs locale for this to work)"
- default n
- help
- Enable this if your system has locale support and you would like
- busybox to support locale settings.
-
-config INITRAMFS_BUSYBOX_FEATURE_ASSUME_UNICODE
- bool "Support Unicode"
- default n
- help
- This makes various applets aware that one byte is not
- one character on screen.
-
- Busybox aims to eventually work correctly with Unicode displays.
- Any older encodings are not guaranteed to work.
- Probably by the time when busybox will be fully Unicode-clean,
- other encodings will be mainly of historic interest.
-
-config INITRAMFS_BUSYBOX_FEATURE_CHECK_UNICODE_IN_ENV
- bool "Check $LANG environment variable"
- default y
- depends on INITRAMFS_BUSYBOX_FEATURE_ASSUME_UNICODE && !INITRAMFS_BUSYBOX_LOCALE_SUPPORT
- help
- With this option on, Unicode support is activated
- only if LANG variable has the value of the form "xxxx.utf8"
-
- Otherwise, Unicode support will be always enabled and active.
-
-config INITRAMFS_BUSYBOX_LONG_OPTS
- bool "Support for --long-options"
- default y
- help
- Enable this if you want busybox applets to use the gnu --long-option
- style, in addition to single character -a -b -c style options.
-
-config INITRAMFS_BUSYBOX_FEATURE_DEVPTS
- bool "Use the devpts filesystem for Unix98 PTYs"
- default y
- help
- Enable if you want BusyBox to use Unix98 PTY support. If enabled,
- busybox will use /dev/ptmx for the master side of the pseudoterminal
- and /dev/pts/<number> for the slave side. Otherwise, BSD style
- /dev/ttyp<number> will be used. To use this option, you should have
- devpts mounted.
-
-config INITRAMFS_BUSYBOX_FEATURE_CLEAN_UP
- bool "Clean up all memory before exiting (usually not needed)"
- default n
- help
- As a size optimization, busybox normally exits without explicitly
- freeing dynamically allocated memory or closing files. This saves
- space since the OS will clean up for us, but it can confuse debuggers
- like valgrind, which report tons of memory and resource leaks.
-
- Don't enable this unless you have a really good reason to clean
- things up manually.
-
-config INITRAMFS_BUSYBOX_FEATURE_PIDFILE
- bool "Support writing pidfiles"
- default n
- help
- This option makes some applets (e.g. crond, syslogd, inetd) write
- a pidfile in /var/run. Some applications rely on them.
-
-config INITRAMFS_BUSYBOX_FEATURE_SUID
- bool "Support for SUID/SGID handling"
- default n
- help
- With this option you can install the busybox binary belonging
- to root with the suid bit set, and it will automatically drop
- priviledges for applets that don't need root access.
-
- If you are really paranoid and don't want to do this, build two
- busybox binaries with different applets in them (and the appropriate
- symlinks pointing to each binary), and only set the suid bit on the
- one that needs it. The applets currently marked to need the suid bit
- are:
-
- crontab, dnsd, findfs, ipcrm, ipcs, login, passwd, ping, su,
- traceroute, vlock.
-
-config INITRAMFS_BUSYBOX_FEATURE_SUID_CONFIG
- bool "Runtime SUID/SGID configuration via /etc/busybox.conf"
- default n if INITRAMFS_BUSYBOX_FEATURE_SUID
- depends on INITRAMFS_BUSYBOX_FEATURE_SUID
- help
- Allow the SUID / SGID state of an applet to be determined at runtime
- by checking /etc/busybox.conf. (This is sort of a poor man's sudo.)
- The format of this file is as follows:
-
- <applet> = [Ssx-][Ssx-][x-] (<username>|<uid>).(<groupname>|<gid>)
-
- An example might help:
-
- [SUID]
- su = ssx root.0 # applet su can be run by anyone and runs with
- # euid=0/egid=0
- su = ssx # exactly the same
-
- mount = sx- root.disk # applet mount can be run by root and members
- # of group disk and runs with euid=0
-
- cp = --- # disable applet cp for everyone
-
- The file has to be owned by user root, group root and has to be
- writeable only by root:
- (chown 0.0 /etc/busybox.conf; chmod 600 /etc/busybox.conf)
- The busybox executable has to be owned by user root, group
- root and has to be setuid root for this to work:
- (chown 0.0 /bin/busybox; chmod 4755 /bin/busybox)
-
- Robert 'sandman' Griebl has more information here:
- <url: http://www.softforge.de/bb/suid.html >.
-
-config INITRAMFS_BUSYBOX_FEATURE_SUID_CONFIG_QUIET
- bool "Suppress warning message if /etc/busybox.conf is not readable"
- default y
- depends on INITRAMFS_BUSYBOX_FEATURE_SUID_CONFIG
- help
- /etc/busybox.conf should be readable by the user needing the SUID,
- check this option to avoid users to be notified about missing
- permissions.
-
-config INITRAMFS_BUSYBOX_SELINUX
- bool "Support NSA Security Enhanced Linux"
- default n
- help
- Enable support for SELinux in applets ls, ps, and id. Also provide
- the option of compiling in SELinux applets.
-
- If you do not have a complete SELinux userland installed, this stuff
- will not compile. Go visit
- http://www.nsa.gov/selinux/index.html
- to download the necessary stuff to allow busybox to compile with
- this option enabled. Specifially, libselinux 1.28 or better is
- directly required by busybox. If the installation is located in a
- non-standard directory, provide it by invoking make as follows:
- CFLAGS=-I<libselinux-include-path> \
- LDFLAGS=-L<libselinux-lib-path> \
- make
-
- Most people will leave this set to 'N'.
-
-config INITRAMFS_BUSYBOX_FEATURE_PREFER_APPLETS
- bool "exec prefers applets"
- default n
- help
- This is an experimental option which directs applets about to
- call 'exec' to try and find an applicable busybox applet before
- searching the PATH. This is typically done by exec'ing
- /proc/self/exe.
- This may affect shell, find -exec, xargs and similar applets.
- They will use applets even if /bin/<applet> -> busybox link
- is missing (or is not a link to busybox). However, this causes
- problems in chroot jails without mounted /proc and with ps/top
- (command name can be shown as 'exe' for applets started this way).
-
-config INITRAMFS_BUSYBOX_BUSYBOX_EXEC_PATH
- string "Path to BusyBox executable"
- default "/proc/self/exe"
- help
- When Busybox applets need to run other busybox applets, BusyBox
- sometimes needs to exec() itself. When the /proc filesystem is
- mounted, /proc/self/exe always points to the currently running
- executable. If you haven't got /proc, set this to wherever you
- want to run BusyBox from.
-
-# These are auto-selected by other options
-
-config INITRAMFS_BUSYBOX_FEATURE_SYSLOG
- bool #No description makes it a hidden option
- default n
- #help
- # This option is auto-selected when you select any applet which may
- # send its output to syslog. You do not need to select it manually.
-
-config INITRAMFS_BUSYBOX_FEATURE_HAVE_RPC
- bool #No description makes it a hidden option
- default n
- #help
- # This is automatically selected if any of enabled applets need it.
- # You do not need to select it manually.
-
-endmenu
-
-menu 'Build Options'
-
-config INITRAMFS_BUSYBOX_STATIC
- bool "Build BusyBox as a static binary (no shared libs)"
- default n
- help
- If you want to build a static BusyBox binary, which does not
- use or require any shared libraries, then enable this option.
- This can cause BusyBox to be considerably larger, so you should
- leave this option false unless you have a good reason (i.e.
- your target platform does not support shared libraries, or
- you are building an initrd which doesn't need anything but
- BusyBox, etc).
-
- Most people will leave this set to 'N'.
-
-config INITRAMFS_BUSYBOX_PIE
- bool "Build BusyBox as a position independent executable"
- default n
- depends on !INITRAMFS_BUSYBOX_STATIC
- help
- (TODO: what is it and why/when is it useful?)
- Most people will leave this set to 'N'.
-
-config INITRAMFS_BUSYBOX_NOMMU
- bool "Force NOMMU build"
- default n
- help
- Busybox tries to detect whether architecture it is being
- built against supports MMU or not. If this detection fails,
- or if you want to build NOMMU version of busybox for testing,
- you may force NOMMU build here.
-
- Most people will leave this set to 'N'.
-
-# PIE can be made to work with BUILD_LIBBUSYBOX, but currently
-# build system does not support that
-config INITRAMFS_BUSYBOX_BUILD_LIBBUSYBOX
- bool "Build shared libbusybox"
- default n
- depends on !INITRAMFS_BUSYBOX_FEATURE_PREFER_APPLETS && !INITRAMFS_BUSYBOX_PIE && !INITRAMFS_BUSYBOX_STATIC
- help
- Build a shared library libbusybox.so.N.N.N which contains all
- busybox code.
-
- This feature allows every applet to be built as a tiny
- separate executable. Enabling it for "one big busybox binary"
- approach serves no purpose and increases code size.
- You should almost certainly say "no" to this.
-
-### config FEATURE_FULL_LIBBUSYBOX
-### bool "Feature-complete libbusybox"
-### default n if !FEATURE_SHARED_BUSYBOX
-### depends on BUILD_LIBBUSYBOX
-### help
-### Build a libbusybox with the complete feature-set, disregarding
-### the actually selected config.
-###
-### Normally, libbusybox will only contain the features which are
-### used by busybox itself. If you plan to write a separate
-### standalone application which uses libbusybox say 'Y'.
-###
-### Note: libbusybox is GPL, not LGPL, and exports no stable API that
-### might act as a copyright barrier. We can and will modify the
-### exported function set between releases (even minor version number
-### changes), and happily break out-of-tree features.
-###
-### Say 'N' if in doubt.
-
-config INITRAMFS_BUSYBOX_FEATURE_INDIVIDUAL
- bool "Produce a binary for each applet, linked against libbusybox"
- default y
- depends on INITRAMFS_BUSYBOX_BUILD_LIBBUSYBOX
- help
- If your CPU architecture doesn't allow for sharing text/rodata
- sections of running binaries, but allows for runtime dynamic
- libraries, this option will allow you to reduce memory footprint
- when you have many different applets running at once.
-
- If your CPU architecture allows for sharing text/rodata,
- having single binary is more optimal.
-
- Each applet will be a tiny program, dynamically linked
- against libbusybox.so.N.N.N.
-
- You need to have a working dynamic linker.
-
-config INITRAMFS_BUSYBOX_FEATURE_SHARED_BUSYBOX
- bool "Produce additional busybox binary linked against libbusybox"
- default y
- depends on INITRAMFS_BUSYBOX_BUILD_LIBBUSYBOX
- help
- Build busybox, dynamically linked against libbusybox.so.N.N.N.
-
- You need to have a working dynamic linker.
-
-### config BUILD_AT_ONCE
-### bool "Compile all sources at once"
-### default n
-### help
-### Normally each source-file is compiled with one invocation of
-### the compiler.
-### If you set this option, all sources are compiled at once.
-### This gives the compiler more opportunities to optimize which can
-### result in smaller and/or faster binaries.
-###
-### Setting this option will consume alot of memory, e.g. if you
-### enable all applets with all features, gcc uses more than 300MB
-### RAM during compilation of busybox.
-###
-### This option is most likely only beneficial for newer compilers
-### such as gcc-4.1 and above.
-###
-### Say 'N' unless you know what you are doing.
-
-config INITRAMFS_BUSYBOX_LFS
- bool "Build with Large File Support (for accessing files > 2 GB)"
- default n
- select INITRAMFS_BUSYBOX_FDISK_SUPPORT_LARGE_DISKS
- help
- If you want to build BusyBox with large file support, then enable
- this option. This will have no effect if your kernel or your C
- library lacks large file support for large files. Some of the
- programs that can benefit from large file support include dd, gzip,
- cp, mount, tar, and many others. If you want to access files larger
- than 2 Gigabytes, enable this option. Otherwise, leave it set to 'N'.
-
-config INITRAMFS_BUSYBOX_CROSS_COMPILER_PREFIX
- string "Cross Compiler prefix"
- default ""
- help
- If you want to build BusyBox with a cross compiler, then you
- will need to set this to the cross-compiler prefix, for example,
- "i386-uclibc-".
-
- Note that CROSS_COMPILE environment variable or
- "make CROSS_COMPILE=xxx ..." will override this selection.
-
- Native builds leave this empty.
-
-config INITRAMFS_BUSYBOX_EXTRA_CFLAGS
- string "Additional CFLAGS"
- default ""
- help
- Additional CFLAGS to pass to the compiler verbatim.
-
-endmenu
-
-menu 'Debugging Options'
-
-config INITRAMFS_BUSYBOX_DEBUG
- bool "Build BusyBox with extra Debugging symbols"
- default n
- help
- Say Y here if you wish to examine BusyBox internals while applets are
- running. This increases the size of the binary considerably, and
- should only be used when doing development. If you are doing
- development and want to debug BusyBox, answer Y.
-
- Most people should answer N.
-
-config INITRAMFS_BUSYBOX_DEBUG_PESSIMIZE
- bool "Disable compiler optimizations"
- default n
- depends on INITRAMFS_BUSYBOX_DEBUG
- help
- The compiler's optimization of source code can eliminate and reorder
- code, resulting in an executable that's hard to understand when
- stepping through it with a debugger. This switches it off, resulting
- in a much bigger executable that more closely matches the source
- code.
-
-config INITRAMFS_BUSYBOX_WERROR
- bool "Abort compilation on any warning"
- default n
- help
- Selecting this will add -Werror to gcc command line.
-
- Most people should answer N.
-
-choice
- prompt "Additional debugging library"
- default INITRAMFS_BUSYBOX_NO_DEBUG_LIB
- help
- Using an additional debugging library will make BusyBox become
- considerable larger and will cause it to run more slowly. You
- should always leave this option disabled for production use.
-
- dmalloc support:
- ----------------
- This enables compiling with dmalloc ( http://dmalloc.com/ )
- which is an excellent public domain mem leak and malloc problem
- detector. To enable dmalloc, before running busybox you will
- want to properly set your environment, for example:
- export DMALLOC_OPTIONS=debug=0x34f47d83,inter=100,log=logfile
- The 'debug=' value is generated using the following command
- dmalloc -p log-stats -p log-non-free -p log-bad-space \
- -p log-elapsed-time -p check-fence -p check-heap \
- -p check-lists -p check-blank -p check-funcs -p realloc-copy \
- -p allow-free-null
-
- Electric-fence support:
- -----------------------
- This enables compiling with Electric-fence support. Electric
- fence is another very useful malloc debugging library which uses
- your computer's virtual memory hardware to detect illegal memory
- accesses. This support will make BusyBox be considerable larger
- and run slower, so you should leave this option disabled unless
- you are hunting a hard to find memory problem.
-
-
-config INITRAMFS_BUSYBOX_NO_DEBUG_LIB
- bool "None"
-
-config INITRAMFS_BUSYBOX_DMALLOC
- bool "Dmalloc"
-
-config INITRAMFS_BUSYBOX_EFENCE
- bool "Electric-fence"
-
-endchoice
-
-config INITRAMFS_BUSYBOX_INCLUDE_SUSv2
- bool "Enable obsolete features removed before SUSv3?"
- default y
- help
- This option will enable backwards compatibility with SuSv2,
- specifically, old-style numeric options ('command -1 <file>')
- will be supported in head, tail, and fold. (Note: should
- affect renice too.)
-
-### config PARSE
-### bool "Uniform config file parser debugging applet: parse"
-
-endmenu
-
-menu 'Installation Options'
-
-config INITRAMFS_BUSYBOX_INSTALL_NO_USR
- bool "Don't use /usr"
- default n
- help
- Disable use of /usr. Don't activate this option if you don't know
- that you really want this behaviour.
-
-choice
- prompt "Applets links"
- default INITRAMFS_BUSYBOX_INSTALL_APPLET_SYMLINKS
- help
- Choose how you install applets links.
-
-config INITRAMFS_BUSYBOX_INSTALL_APPLET_SYMLINKS
- bool "as soft-links"
- help
- Install applets as soft-links to the busybox binary. This needs some
- free inodes on the filesystem, but might help with filesystem
- generators that can't cope with hard-links.
-
-config INITRAMFS_BUSYBOX_INSTALL_APPLET_HARDLINKS
- bool "as hard-links"
- help
- Install applets as hard-links to the busybox binary. This might
- count on a filesystem with few inodes.
-
-config INITRAMFS_BUSYBOX_INSTALL_APPLET_SCRIPT_WRAPPERS
- bool "as script wrappers"
- help
- Install applets as script wrappers that call the busybox binary.
-
-config INITRAMFS_BUSYBOX_INSTALL_APPLET_DONT
- bool "not installed"
- depends on INITRAMFS_BUSYBOX_FEATURE_INSTALLER || INITRAMFS_BUSYBOX_FEATURE_SH_STANDALONE || INITRAMFS_BUSYBOX_FEATURE_PREFER_APPLETS
- help
- Do not install applet links. Useful when using the -install feature
- or a standalone shell for rescue purposes.
-
-endchoice
-
-choice
- prompt "/bin/sh applet link"
- default INITRAMFS_BUSYBOX_INSTALL_SH_APPLET_SYMLINK
- depends on INITRAMFS_BUSYBOX_INSTALL_APPLET_SCRIPT_WRAPPERS
- help
- Choose how you install /bin/sh applet link.
-
-config INITRAMFS_BUSYBOX_INSTALL_SH_APPLET_SYMLINK
- bool "as soft-link"
- help
- Install /bin/sh applet as soft-link to the busybox binary.
-
-config INITRAMFS_BUSYBOX_INSTALL_SH_APPLET_HARDLINK
- bool "as hard-link"
- help
- Install /bin/sh applet as hard-link to the busybox binary.
-
-config INITRAMFS_BUSYBOX_INSTALL_SH_APPLET_SCRIPT_WRAPPER
- bool "as script wrapper"
- help
- Install /bin/sh applet as script wrapper that call the busybox
- binary.
-
-endchoice
-
-config INITRAMFS_BUSYBOX_PREFIX
- string "BusyBox installation prefix"
- default "./_install"
- help
- Define your directory to install BusyBox files/subdirs in.
-
-endmenu
-
-source config/initramfs-busybox/libbb/Config.in
-
-endmenu
-
-comment "Applets"
-
-source config/initramfs-busybox/archival/Config.in
-source config/initramfs-busybox/coreutils/Config.in
-source config/initramfs-busybox/console-tools/Config.in
-source config/initramfs-busybox/debianutils/Config.in
-source config/initramfs-busybox/editors/Config.in
-source config/initramfs-busybox/findutils/Config.in
-source config/initramfs-busybox/init/Config.in
-source config/initramfs-busybox/loginutils/Config.in
-source config/initramfs-busybox/e2fsprogs/Config.in
-source config/initramfs-busybox/modutils/Config.in
-source config/initramfs-busybox/util-linux/Config.in
-source config/initramfs-busybox/miscutils/Config.in
-source config/initramfs-busybox/networking/Config.in
-source config/initramfs-busybox/printutils/Config.in
-source config/initramfs-busybox/mailutils/Config.in
-source config/initramfs-busybox/procps/Config.in
-source config/initramfs-busybox/runit/Config.in
-source config/initramfs-busybox/selinux/Config.in
-source config/initramfs-busybox/shell/Config.in
-source config/initramfs-busybox/sysklogd/Config.in
diff --git a/config/initramfs-busybox/archival/Config.in b/config/initramfs-busybox/archival/Config.in
deleted file mode 100644
index 67dd11aad..000000000
--- a/config/initramfs-busybox/archival/Config.in
+++ /dev/null
@@ -1,314 +0,0 @@
-#
-# For a description of the syntax of this configuration file,
-# see scripts/kbuild/config-language.txt.
-#
-
-menu "Archival Utilities"
-
-config INITRAMFS_BUSYBOX_FEATURE_SEAMLESS_LZMA
- bool "Make tar, rpm, modprobe etc understand .lzma data"
- default n
- help
- Make tar, rpm, modprobe etc understand .lzma data.
-
-config INITRAMFS_BUSYBOX_FEATURE_SEAMLESS_BZ2
- bool "Make tar, rpm, modprobe etc understand .bz2 data"
- default n
- help
- Make tar, rpm, modprobe etc understand .bz2 data.
-
-config INITRAMFS_BUSYBOX_FEATURE_SEAMLESS_GZ
- bool "Make tar, rpm, modprobe etc understand .gz data"
- default n
- help
- Make tar, rpm, modprobe etc understand .gz data.
-
-config INITRAMFS_BUSYBOX_FEATURE_SEAMLESS_Z
- bool "Make tar and gunzip understand .Z data"
- default n
- help
- Make tar and gunzip understand .Z data.
-
-config INITRAMFS_BUSYBOX_AR
- bool "ar"
- default n
- help
- ar is an archival utility program used to create, modify, and
- extract contents from archives. An archive is a single file holding
- a collection of other files in a structure that makes it possible to
- retrieve the original individual files (called archive members).
- The original files' contents, mode (permissions), timestamp, owner,
- and group are preserved in the archive, and can be restored on
- extraction.
-
- The stored filename is limited to 15 characters. (for more information
- see long filename support).
- ar has 60 bytes of overheads for every stored file.
-
- This implementation of ar can extract archives, it cannot create or
- modify them.
- On an x86 system, the ar applet adds about 1K.
-
- Unless you have a specific application which requires ar, you should
- probably say N here.
-
-config INITRAMFS_BUSYBOX_FEATURE_AR_LONG_FILENAMES
- bool "Support for long filenames (not needed for debs)"
- default n
- depends on INITRAMFS_BUSYBOX_AR
- help
- By default the ar format can only store the first 15 characters
- of the filename, this option removes that limitation.
- It supports the GNU ar long filename method which moves multiple long
- filenames into a the data section of a new ar entry.
-
-config INITRAMFS_BUSYBOX_BUNZIP2
- bool "bunzip2"
- default n
- help
- bunzip2 is a compression utility using the Burrows-Wheeler block
- sorting text compression algorithm, and Huffman coding. Compression
- is generally considerably better than that achieved by more
- conventional LZ77/LZ78-based compressors, and approaches the
- performance of the PPM family of statistical compressors.
-
- Unless you have a specific application which requires bunzip2, you
- should probably say N here.
-
-config INITRAMFS_BUSYBOX_BZIP2
- bool "bzip2"
- default n
- help
- bzip2 is a compression utility using the Burrows-Wheeler block
- sorting text compression algorithm, and Huffman coding. Compression
- is generally considerably better than that achieved by more
- conventional LZ77/LZ78-based compressors, and approaches the
- performance of the PPM family of statistical compressors.
-
- Unless you have a specific application which requires bzip2, you
- should probably say N here.
-
-config INITRAMFS_BUSYBOX_CPIO
- bool "cpio"
- default n
- help
- cpio is an archival utility program used to create, modify, and
- extract contents from archives.
- cpio has 110 bytes of overheads for every stored file.
-
- This implementation of cpio can extract cpio archives created in the
- "newc" or "crc" format, it cannot create or modify them.
-
- Unless you have a specific application which requires cpio, you
- should probably say N here.
-
-config INITRAMFS_BUSYBOX_FEATURE_CPIO_O
- bool "Support for archive creation"
- default n
- depends on INITRAMFS_BUSYBOX_CPIO
- help
- This implementation of cpio can create cpio archives in the "newc"
- format only.
-
-config INITRAMFS_BUSYBOX_FEATURE_CPIO_P
- bool "Support for passthrough mode"
- default n
- depends on INITRAMFS_BUSYBOX_FEATURE_CPIO_O
- help
- Passthrough mode. Rarely used.
-
-config INITRAMFS_BUSYBOX_DPKG
- bool "dpkg"
- default n
- select INITRAMFS_BUSYBOX_FEATURE_SEAMLESS_GZ
- help
- dpkg is a medium-level tool to install, build, remove and manage
- Debian packages.
-
- This implementation of dpkg has a number of limitations,
- you should use the official dpkg if possible.
-
-config INITRAMFS_BUSYBOX_DPKG_DEB
- bool "dpkg_deb"
- default n
- select INITRAMFS_BUSYBOX_FEATURE_SEAMLESS_GZ
- help
- dpkg-deb unpacks and provides information about Debian archives.
-
- This implementation of dpkg-deb cannot pack archives.
-
- Unless you have a specific application which requires dpkg-deb,
- say N here.
-
-config INITRAMFS_BUSYBOX_FEATURE_DPKG_DEB_EXTRACT_ONLY
- bool "Extract only (-x)"
- default n
- depends on INITRAMFS_BUSYBOX_DPKG_DEB
- help
- This reduces dpkg-deb to the equivalent of
- "ar -p <deb> data.tar.gz | tar -zx". However it saves space as none
- of the extra dpkg-deb, ar or tar options are needed, they are linked
- to internally.
-
-config INITRAMFS_BUSYBOX_GUNZIP
- bool "gunzip"
- default n
- help
- gunzip is used to decompress archives created by gzip.
- You can use the `-t' option to test the integrity of
- an archive, without decompressing it.
-
-config INITRAMFS_BUSYBOX_GZIP
- bool "gzip"
- default n
- help
- gzip is used to compress files.
- It's probably the most widely used UNIX compression program.
-
-config INITRAMFS_BUSYBOX_LZOP
- bool "lzop"
- default n
- help
- Lzop compression/decompresion.
-
-config INITRAMFS_BUSYBOX_LZOP_COMPR_HIGH
- bool "lzop complession levels 7,8,9 (not very useful)"
- default n
- depends on INITRAMFS_BUSYBOX_LZOP
- help
- High levels (7,8,9) of lzop compression. These levels
- are actually slower than gzip at equivalent compression ratios
- and take up 3.2K of code.
-
-config INITRAMFS_BUSYBOX_RPM2CPIO
- bool "rpm2cpio"
- default n
- help
- Converts an RPM file into a CPIO archive.
-
-config INITRAMFS_BUSYBOX_RPM
- bool "rpm"
- default n
- help
- Mini RPM applet - queries and extracts RPM packages.
-
-config INITRAMFS_BUSYBOX_TAR
- bool "tar"
- default n
- help
- tar is an archiving program. It's commonly used with gzip to
- create compressed archives. It's probably the most widely used
- UNIX archive program.
-
-if INITRAMFS_BUSYBOX_TAR
-
-config INITRAMFS_BUSYBOX_FEATURE_TAR_CREATE
- bool "Enable archive creation"
- default y
- depends on INITRAMFS_BUSYBOX_TAR
- help
- If you enable this option you'll be able to create
- tar archives using the `-c' option.
-
-config INITRAMFS_BUSYBOX_FEATURE_TAR_AUTODETECT
- bool "Autodetect compressed tarballs"
- default n
- depends on INITRAMFS_BUSYBOX_FEATURE_SEAMLESS_Z || INITRAMFS_BUSYBOX_FEATURE_SEAMLESS_GZ || INITRAMFS_BUSYBOX_FEATURE_SEAMLESS_BZ2 || INITRAMFS_BUSYBOX_FEATURE_SEAMLESS_LZMA
- help
- With this option tar can automatically detect compressed
- tarballs. Currently it works only on files (not pipes etc).
-
-config INITRAMFS_BUSYBOX_FEATURE_TAR_FROM
- bool "Enable -X (exclude from) and -T (include from) options)"
- default n
- depends on INITRAMFS_BUSYBOX_TAR
- help
- If you enable this option you'll be able to specify
- a list of files to include or exclude from an archive.
-
-config INITRAMFS_BUSYBOX_FEATURE_TAR_OLDGNU_COMPATIBILITY
- bool "Support for old tar header format"
- default N
- depends on INITRAMFS_BUSYBOX_TAR
- help
- This option is required to unpack archives created in
- the old GNU format; help to kill this old format by
- repacking your ancient archives with the new format.
-
-config INITRAMFS_BUSYBOX_FEATURE_TAR_OLDSUN_COMPATIBILITY
- bool "Enable untarring of tarballs with checksums produced by buggy Sun tar"
- default N
- depends on INITRAMFS_BUSYBOX_TAR
- help
- This option is required to unpack archives created by some old
- version of Sun's tar (it was calculating checksum using signed
- arithmetic). It is said to be fixed in newer Sun tar, but "old"
- tarballs still exist.
-
-config INITRAMFS_BUSYBOX_FEATURE_TAR_GNU_EXTENSIONS
- bool "Support for GNU tar extensions (long filenames)"
- default y
- depends on INITRAMFS_BUSYBOX_TAR
- help
- With this option busybox supports GNU long filenames and
- linknames.
-
-config INITRAMFS_BUSYBOX_FEATURE_TAR_LONG_OPTIONS
- bool "Enable long options"
- default n
- depends on INITRAMFS_BUSYBOX_TAR && INITRAMFS_BUSYBOX_LONG_OPTS
- help
- Enable use of long options, increases size by about 400 Bytes
-
-config INITRAMFS_BUSYBOX_FEATURE_TAR_UNAME_GNAME
- bool "Enable use of user and group names"
- default n
- depends on INITRAMFS_BUSYBOX_TAR
- help
- Enables use of user and group names in tar. This affects contents
- listings (-t) and preserving permissions when unpacking (-p).
- +200 bytes.
-
-endif #tar
-
-config INITRAMFS_BUSYBOX_UNCOMPRESS
- bool "uncompress"
- default n
- help
- uncompress is used to decompress archives created by compress.
- Not much used anymore, replaced by gzip/gunzip.
-
-config INITRAMFS_BUSYBOX_UNLZMA
- bool "unlzma"
- default n
- help
- unlzma is a compression utility using the Lempel-Ziv-Markov chain
- compression algorithm, and range coding. Compression
- is generally considerably better than that achieved by the bzip2
- compressors.
-
- The BusyBox unlzma applet is limited to de-compression only.
- On an x86 system, this applet adds about 4K.
-
- Unless you have a specific application which requires unlzma, you
- should probably say N here.
-
-config INITRAMFS_BUSYBOX_FEATURE_LZMA_FAST
- bool "Optimize unlzma for speed"
- default n
- depends on INITRAMFS_BUSYBOX_UNLZMA
- help
- This option reduces decompression time by about 33% at the cost of
- a 2K bigger binary.
-
-config INITRAMFS_BUSYBOX_UNZIP
- bool "unzip"
- default n
- help
- unzip will list or extract files from a ZIP archive,
- commonly found on DOS/WIN systems. The default behavior
- (with no options) is to extract the archive into the
- current directory. Use the `-d' option to extract to a
- directory of your choice.
-
-endmenu
diff --git a/config/initramfs-busybox/console-tools/Config.in b/config/initramfs-busybox/console-tools/Config.in
deleted file mode 100644
index fdaae7a00..000000000
--- a/config/initramfs-busybox/console-tools/Config.in
+++ /dev/null
@@ -1,138 +0,0 @@
-#
-# For a description of the syntax of this configuration file,
-# see scripts/kbuild/config-language.txt.
-#
-
-menu "Console Utilities"
-
-config INITRAMFS_BUSYBOX_CHVT
- bool "chvt"
- default n
- help
- This program is used to change to another terminal.
- Example: chvt 4 (change to terminal /dev/tty4)
-
-config INITRAMFS_BUSYBOX_CLEAR
- bool "clear"
- default n
- help
- This program clears the terminal screen.
-
-config INITRAMFS_BUSYBOX_DEALLOCVT
- bool "deallocvt"
- default n
- help
- This program deallocates unused virtual consoles.
-
-config INITRAMFS_BUSYBOX_DUMPKMAP
- bool "dumpkmap"
- default n
- help
- This program dumps the kernel's keyboard translation table to
- stdout, in binary format. You can then use loadkmap to load it.
-
-config INITRAMFS_BUSYBOX_KBD_MODE
- bool "kbd_mode"
- default n
- help
- This program reports and sets keyboard mode.
-
-config INITRAMFS_BUSYBOX_LOADFONT
- bool "loadfont"
- default n
- help
- This program loads a console font from standard input.
-
-config INITRAMFS_BUSYBOX_LOADKMAP
- bool "loadkmap"
- default n
- help
- This program loads a keyboard translation table from
- standard input.
-
-config INITRAMFS_BUSYBOX_OPENVT
- bool "openvt"
- default n
- help
- This program is used to start a command on an unused
- virtual terminal.
-
-config INITRAMFS_BUSYBOX_RESET
- bool "reset"
- default n
- help
- This program is used to reset the terminal screen, if it
- gets messed up.
-
-config INITRAMFS_BUSYBOX_RESIZE
- bool "resize"
- default n
- help
- This program is used to (re)set the width and height of your current
- terminal.
-
-config INITRAMFS_BUSYBOX_FEATURE_RESIZE_PRINT
- bool "Print environment variables"
- default n
- depends on INITRAMFS_BUSYBOX_RESIZE
- help
- Prints the newly set size (number of columns and rows) of
- the terminal.
- E.g.:
- COLUMNS=80;LINES=44;export COLUMNS LINES;
-
-config INITRAMFS_BUSYBOX_SETCONSOLE
- bool "setconsole"
- default n
- help
- This program redirects the system console to another device,
- like the current tty while logged in via telnet.
-
-config INITRAMFS_BUSYBOX_FEATURE_SETCONSOLE_LONG_OPTIONS
- bool "Enable long options"
- default n
- depends on INITRAMFS_BUSYBOX_SETCONSOLE && INITRAMFS_BUSYBOX_LONG_OPTS
- help
- Support long options for the setconsole applet.
-
-config INITRAMFS_BUSYBOX_SETFONT
- bool "setfont"
- default n
- help
- Allows to load console screen map. Useful for i18n.
-
-config INITRAMFS_BUSYBOX_FEATURE_SETFONT_TEXTUAL_MAP
- bool "Support reading textual screen maps"
- default n
- depends on INITRAMFS_BUSYBOX_SETFONT
- help
- Support reading textual screen maps.
-
-config INITRAMFS_BUSYBOX_DEFAULT_SETFONT_DIR
- string "Default directory for console-tools files"
- default ""
- depends on INITRAMFS_BUSYBOX_SETFONT
- help
- Directory to use if setfont's params are simple filenames
- (not /path/to/file or ./file). Default is "" (no default directory).
-
-config INITRAMFS_BUSYBOX_SETKEYCODES
- bool "setkeycodes"
- default n
- help
- This program loads entries into the kernel's scancode-to-keycode
- map, allowing unusual keyboards to generate usable keycodes.
-
-config INITRAMFS_BUSYBOX_SETLOGCONS
- bool "setlogcons"
- default n
- help
- This program redirects the output console of kernel messages.
-
-config INITRAMFS_BUSYBOX_SHOWKEY
- bool "showkey"
- default n
- help
- Shows keys pressed.
-
-endmenu
diff --git a/config/initramfs-busybox/coreutils/Config.in b/config/initramfs-busybox/coreutils/Config.in
deleted file mode 100644
index 3f6def6f9..000000000
--- a/config/initramfs-busybox/coreutils/Config.in
+++ /dev/null
@@ -1,845 +0,0 @@
-#
-# For a description of the syntax of this configuration file,
-# see scripts/kbuild/config-language.txt.
-#
-
-menu "Coreutils"
-
-config INITRAMFS_BUSYBOX_BASENAME
- bool "basename"
- default n
- help
- basename is used to strip the directory and suffix from filenames,
- leaving just the filename itself. Enable this option if you wish
- to enable the 'basename' utility.
-
-config INITRAMFS_BUSYBOX_CAL
- bool "cal"
- default n
- help
- cal is used to display a monthly calender.
-
-config INITRAMFS_BUSYBOX_CAT
- bool "cat"
- default n
- help
- cat is used to concatenate files and print them to the standard
- output. Enable this option if you wish to enable the 'cat' utility.
-
-config INITRAMFS_BUSYBOX_CATV
- bool "catv"
- default n
- help
- Display nonprinting characters as escape sequences (like some
- implementations' cat -v option).
-
-config INITRAMFS_BUSYBOX_CHGRP
- bool "chgrp"
- default n
- help
- chgrp is used to change the group ownership of files.
-
-config INITRAMFS_BUSYBOX_CHMOD
- bool "chmod"
- default n
- help
- chmod is used to change the access permission of files.
-
-config INITRAMFS_BUSYBOX_CHOWN
- bool "chown"
- default n
- help
- chown is used to change the user and/or group ownership
- of files.
-
-config INITRAMFS_BUSYBOX_CHROOT
- bool "chroot"
- default n
- help
- chroot is used to change the root directory and run a command.
- The default command is `/bin/sh'.
-
-config INITRAMFS_BUSYBOX_CKSUM
- bool "cksum"
- default n
- help
- cksum is used to calculate the CRC32 checksum of a file.
-
-config INITRAMFS_BUSYBOX_COMM
- bool "comm"
- default n
- help
- comm is used to compare two files line by line and return
- a three-column output.
-
-config INITRAMFS_BUSYBOX_CP
- bool "cp"
- default n
- help
- cp is used to copy files and directories.
-
-config INITRAMFS_BUSYBOX_CUT
- bool "cut"
- default n
- help
- cut is used to print selected parts of lines from
- each file to stdout.
-
-config INITRAMFS_BUSYBOX_DATE
- bool "date"
- default n
- help
- date is used to set the system date or display the
- current time in the given format.
-
-config INITRAMFS_BUSYBOX_FEATURE_DATE_ISOFMT
- bool "Enable ISO date format output (-I)"
- default y
- depends on INITRAMFS_BUSYBOX_DATE
- help
- Enable option (-I) to output an ISO-8601 compliant
- date/time string.
-
-config INITRAMFS_BUSYBOX_DD
- bool "dd"
- default n
- help
- dd copies a file (from standard input to standard output,
- by default) using specific input and output blocksizes,
- while optionally performing conversions on it.
-
-config INITRAMFS_BUSYBOX_FEATURE_DD_SIGNAL_HANDLING
- bool "Enable DD signal handling for status reporting"
- default y
- depends on INITRAMFS_BUSYBOX_DD
- help
- sending a SIGUSR1 signal to a running `dd' process makes it
- print to standard error the number of records read and written
- so far, then to resume copying.
-
- $ dd if=/dev/zero of=/dev/null&
- $ pid=$! kill -USR1 $pid; sleep 1; kill $pid
- 10899206+0 records in 10899206+0 records out
-
-config INITRAMFS_BUSYBOX_FEATURE_DD_IBS_OBS
- bool "Enable ibs, obs and conv options"
- default n
- depends on INITRAMFS_BUSYBOX_DD
- help
- Enables support for writing a certain number of bytes in and out,
- at a time, and performing conversions on the data stream.
-
-config INITRAMFS_BUSYBOX_DF
- bool "df"
- default n
- help
- df reports the amount of disk space used and available
- on filesystems.
-
-config INITRAMFS_BUSYBOX_FEATURE_DF_FANCY
- bool "Enable -a, -i, -B"
- default n
- depends on INITRAMFS_BUSYBOX_DF
- help
- This option enables -a, -i and -B.
-
-config INITRAMFS_BUSYBOX_DIRNAME
- bool "dirname"
- default n
- help
- dirname is used to strip a non-directory suffix from
- a file name.
-
-config INITRAMFS_BUSYBOX_DOS2UNIX
- bool "dos2unix/unix2dos"
- default n
- help
- dos2unix is used to convert a text file from DOS format to
- UNIX format, and vice versa.
-
-config INITRAMFS_BUSYBOX_UNIX2DOS
- bool
- default y
- depends on INITRAMFS_BUSYBOX_DOS2UNIX
- help
- unix2dos is used to convert a text file from UNIX format to
- DOS format, and vice versa.
-
-config INITRAMFS_BUSYBOX_DU
- bool "du (default blocksize of 512 bytes)"
- default n
- help
- du is used to report the amount of disk space used
- for specified files.
-
-config INITRAMFS_BUSYBOX_FEATURE_DU_DEFAULT_BLOCKSIZE_1K
- bool "Use a default blocksize of 1024 bytes (1K)"
- default y
- depends on INITRAMFS_BUSYBOX_DU
- help
- Use a blocksize of (1K) instead of the default 512b.
-
-config INITRAMFS_BUSYBOX_ECHO
- bool "echo (basic SuSv3 version taking no options)"
- default n
- help
- echo is used to print a specified string to stdout.
-
-# this entry also appears in shell/Config.in, next to the echo builtin
-config INITRAMFS_BUSYBOX_FEATURE_FANCY_ECHO
- bool "Enable echo options (-n and -e)"
- default y
- depends on INITRAMFS_BUSYBOX_ECHO || INITRAMFS_BUSYBOX_ASH_BUILTIN_ECHO || INITRAMFS_BUSYBOX_HUSH
- help
- This adds options (-n and -e) to echo.
-
-config INITRAMFS_BUSYBOX_ENV
- bool "env"
- default n
- help
- env is used to set an environment variable and run
- a command; without options it displays the current
- environment.
-
-config INITRAMFS_BUSYBOX_FEATURE_ENV_LONG_OPTIONS
- bool "Enable long options"
- default n
- depends on INITRAMFS_BUSYBOX_ENV && INITRAMFS_BUSYBOX_LONG_OPTS
- help
- Support long options for the env applet.
-
-config INITRAMFS_BUSYBOX_EXPAND
- bool "expand"
- default n
- help
- By default, convert all tabs to spaces.
-
-config INITRAMFS_BUSYBOX_FEATURE_EXPAND_LONG_OPTIONS
- bool "Enable long options"
- default n
- depends on INITRAMFS_BUSYBOX_EXPAND && INITRAMFS_BUSYBOX_LONG_OPTS
- help
- Support long options for the expand applet.
-
-config INITRAMFS_BUSYBOX_EXPR
- bool "expr"
- default n
- help
- expr is used to calculate numbers and print the result
- to standard output.
-
-config INITRAMFS_BUSYBOX_EXPR_MATH_SUPPORT_64
- bool "Extend Posix numbers support to 64 bit"
- default n
- depends on INITRAMFS_BUSYBOX_EXPR
- help
- Enable 64-bit math support in the expr applet. This will make
- the applet slightly larger, but will allow computation with very
- large numbers.
-
-config INITRAMFS_BUSYBOX_FALSE
- bool "false"
- default n
- help
- false returns an exit code of FALSE (1).
-
-config INITRAMFS_BUSYBOX_FOLD
- bool "fold"
- default n
- help
- Wrap text to fit a specific width.
-
-config INITRAMFS_BUSYBOX_FSYNC
- bool "fsync"
- default n
- help
- fsync is used to flush file-related cached blocks to disk.
-
-config INITRAMFS_BUSYBOX_HEAD
- bool "head"
- default n
- help
- head is used to print the first specified number of lines
- from files.
-
-config INITRAMFS_BUSYBOX_FEATURE_FANCY_HEAD
- bool "Enable head options (-c, -q, and -v)"
- default n
- depends on INITRAMFS_BUSYBOX_HEAD
- help
- This enables the head options (-c, -q, and -v).
-
-config INITRAMFS_BUSYBOX_HOSTID
- bool "hostid"
- default n
- help
- hostid prints the numeric identifier (in hexadecimal) for
- the current host.
-
-config INITRAMFS_BUSYBOX_ID
- bool "id"
- default n
- help
- id displays the current user and group ID names.
-
-config INITRAMFS_BUSYBOX_INSTALL
- bool "install"
- default n
- help
- Copy files and set attributes.
-
-config INITRAMFS_BUSYBOX_FEATURE_INSTALL_LONG_OPTIONS
- bool "Enable long options"
- default n
- depends on INITRAMFS_BUSYBOX_INSTALL && INITRAMFS_BUSYBOX_LONG_OPTS
- help
- Support long options for the install applet.
-
-config INITRAMFS_BUSYBOX_LENGTH
- bool "length"
- default n
- help
- length is used to print out the length of a specified string.
-
-config INITRAMFS_BUSYBOX_LN
- bool "ln"
- default n
- help
- ln is used to create hard or soft links between files.
-
-config INITRAMFS_BUSYBOX_LOGNAME
- bool "logname"
- default n
- help
- logname is used to print the current user's login name.
-
-config INITRAMFS_BUSYBOX_LS
- bool "ls"
- default n
- help
- ls is used to list the contents of directories.
-
-config INITRAMFS_BUSYBOX_FEATURE_LS_FILETYPES
- bool "Enable filetyping options (-p and -F)"
- default y
- depends on INITRAMFS_BUSYBOX_LS
- help
- Enable the ls options (-p and -F).
-
-config INITRAMFS_BUSYBOX_FEATURE_LS_FOLLOWLINKS
- bool "Enable symlinks dereferencing (-L)"
- default y
- depends on INITRAMFS_BUSYBOX_LS
- help
- Enable the ls option (-L).
-
-config INITRAMFS_BUSYBOX_FEATURE_LS_RECURSIVE
- bool "Enable recursion (-R)"
- default y
- depends on INITRAMFS_BUSYBOX_LS
- help
- Enable the ls option (-R).
-
-config INITRAMFS_BUSYBOX_FEATURE_LS_SORTFILES
- bool "Sort the file names"
- default y
- depends on INITRAMFS_BUSYBOX_LS
- help
- Allow ls to sort file names alphabetically.
-
-config INITRAMFS_BUSYBOX_FEATURE_LS_TIMESTAMPS
- bool "Show file timestamps"
- default y
- depends on INITRAMFS_BUSYBOX_LS
- help
- Allow ls to display timestamps for files.
-
-config INITRAMFS_BUSYBOX_FEATURE_LS_USERNAME
- bool "Show username/groupnames"
- default y
- depends on INITRAMFS_BUSYBOX_LS
- help
- Allow ls to display username/groupname for files.
-
-config INITRAMFS_BUSYBOX_FEATURE_LS_COLOR
- bool "Allow use of color to identify file types"
- default y
- depends on INITRAMFS_BUSYBOX_LS && INITRAMFS_BUSYBOX_LONG_OPTS
- help
- This enables the --color option to ls.
-
-config INITRAMFS_BUSYBOX_FEATURE_LS_COLOR_IS_DEFAULT
- bool "Produce colored ls output by default"
- default n
- depends on INITRAMFS_BUSYBOX_FEATURE_LS_COLOR
- help
- Saying yes here will turn coloring on by default,
- even if no "--color" option is given to the ls command.
- This is not recommended, since the colors are not
- configurable, and the output may not be legible on
- many output screens.
-
-config INITRAMFS_BUSYBOX_MD5SUM
- bool "md5sum"
- default n
- help
- md5sum is used to print or check MD5 checksums.
-
-config INITRAMFS_BUSYBOX_MKDIR
- bool "mkdir"
- default n
- help
- mkdir is used to create directories with the specified names.
-
-config INITRAMFS_BUSYBOX_FEATURE_MKDIR_LONG_OPTIONS
- bool "Enable long options"
- default n
- depends on INITRAMFS_BUSYBOX_MKDIR && INITRAMFS_BUSYBOX_LONG_OPTS
- help
- Support long options for the mkdir applet.
-
-config INITRAMFS_BUSYBOX_MKFIFO
- bool "mkfifo"
- default n
- help
- mkfifo is used to create FIFOs (named pipes).
- The `mknod' program can also create FIFOs.
-
-config INITRAMFS_BUSYBOX_MKNOD
- bool "mknod"
- default n
- help
- mknod is used to create FIFOs or block/character special
- files with the specified names.
-
-config INITRAMFS_BUSYBOX_MV
- bool "mv"
- default n
- help
- mv is used to move or rename files or directories.
-
-config INITRAMFS_BUSYBOX_FEATURE_MV_LONG_OPTIONS
- bool "Enable long options"
- default n
- depends on INITRAMFS_BUSYBOX_MV && INITRAMFS_BUSYBOX_LONG_OPTS
- help
- Support long options for the mv applet.
-
-config INITRAMFS_BUSYBOX_NICE
- bool "nice"
- default n
- help
- nice runs a program with modified scheduling priority.
-
-config INITRAMFS_BUSYBOX_NOHUP
- bool "nohup"
- default n
- help
- run a command immune to hangups, with output to a non-tty.
-
-config INITRAMFS_BUSYBOX_OD
- bool "od"
- default n
- help
- od is used to dump binary files in octal and other formats.
-
-config INITRAMFS_BUSYBOX_PRINTENV
- bool "printenv"
- default n
- help
- printenv is used to print all or part of environment.
-
-config INITRAMFS_BUSYBOX_PRINTF
- bool "printf"
- default n
- help
- printf is used to format and print specified strings.
- It's similar to `echo' except it has more options.
-
-config INITRAMFS_BUSYBOX_PWD
- bool "pwd"
- default n
- help
- pwd is used to print the current directory.
-
-config INITRAMFS_BUSYBOX_READLINK
- bool "readlink"
- default n
- help
- This program reads a symbolic link and returns the name
- of the file it points to
-
-config INITRAMFS_BUSYBOX_FEATURE_READLINK_FOLLOW
- bool "Enable canonicalization by following all symlinks (-f)"
- default n
- depends on INITRAMFS_BUSYBOX_READLINK
- help
- Enable the readlink option (-f).
-
-config INITRAMFS_BUSYBOX_REALPATH
- bool "realpath"
- default n
- help
- Return the canonicalized absolute pathname.
- This isn't provided by GNU shellutils, but where else does it belong.
-
-config INITRAMFS_BUSYBOX_RM
- bool "rm"
- default n
- help
- rm is used to remove files or directories.
-
-config INITRAMFS_BUSYBOX_RMDIR
- bool "rmdir"
- default n
- help
- rmdir is used to remove empty directories.
-
-config INITRAMFS_BUSYBOX_FEATURE_RMDIR_LONG_OPTIONS
- bool "Enable long options"
- default n
- depends on INITRAMFS_BUSYBOX_RMDIR && INITRAMFS_BUSYBOX_LONG_OPTS
- help
- Support long options for the rmdir applet, including
- --ignore-fail-on-non-empty for compatibility with GNU rmdir.
-
-config INITRAMFS_BUSYBOX_SEQ
- bool "seq"
- default n
- help
- print a sequence of numbers
-
-config INITRAMFS_BUSYBOX_SHA1SUM
- bool "sha1sum"
- default n
- help
- Compute and check SHA1 message digest
-
-config INITRAMFS_BUSYBOX_SHA256SUM
- bool "sha256sum"
- default n
- help
- Compute and check SHA256 message digest
-
-config INITRAMFS_BUSYBOX_SHA512SUM
- bool "sha512sum"
- default n
- help
- Compute and check SHA512 message digest
-
-config INITRAMFS_BUSYBOX_SLEEP
- bool "sleep"
- default n
- help
- sleep is used to pause for a specified number of seconds.
- It comes in 3 versions:
- - small: takes one integer parameter
- - fancy: takes multiple integer arguments with suffixes:
- sleep 1d 2h 3m 15s
- - fancy with fractional numbers:
- sleep 2.3s 4.5h sleeps for 16202.3 seconds
- Last one is "the most compatible" with coreutils sleep,
- but it adds around 1k of code.
-
-config INITRAMFS_BUSYBOX_FEATURE_FANCY_SLEEP
- bool "Enable multiple arguments and s/m/h/d suffixes"
- default n
- depends on INITRAMFS_BUSYBOX_SLEEP
- help
- Allow sleep to pause for specified minutes, hours, and days.
-
-config INITRAMFS_BUSYBOX_FEATURE_FLOAT_SLEEP
- bool "Enable fractional arguments"
- default n
- depends on INITRAMFS_BUSYBOX_FEATURE_FANCY_SLEEP
- help
- Allow for fractional numeric parameters.
-
-config INITRAMFS_BUSYBOX_SORT
- bool "sort"
- default n
- help
- sort is used to sort lines of text in specified files.
-
-config INITRAMFS_BUSYBOX_FEATURE_SORT_BIG
- bool "Full SuSv3 compliant sort (support -ktcsbdfiozgM)"
- default y
- depends on INITRAMFS_BUSYBOX_SORT
- help
- Without this, sort only supports -r, -u, and an integer version
- of -n. Selecting this adds sort keys, floating point support, and
- more. This adds a little over 3k to a nonstatic build on x86.
-
- The SuSv3 sort standard is available at:
- http://www.opengroup.org/onlinepubs/007904975/utilities/sort.html
-
-config INITRAMFS_BUSYBOX_SPLIT
- bool "split"
- default n
- help
- split a file into pieces.
-
-config INITRAMFS_BUSYBOX_FEATURE_SPLIT_FANCY
- bool "Fancy extensions"
- default n
- depends on INITRAMFS_BUSYBOX_SPLIT
- help
- Add support for features not required by SUSv3.
- Supports additional suffixes 'b' for 512 bytes,
- 'g' for 1GiB for the -b option.
-
-config INITRAMFS_BUSYBOX_STAT
- bool "stat"
- default n
- help
- display file or filesystem status.
-
-config INITRAMFS_BUSYBOX_FEATURE_STAT_FORMAT
- bool "Enable custom formats (-c)"
- default n
- depends on INITRAMFS_BUSYBOX_STAT
- help
- Without this, stat will not support the '-c format' option where
- users can pass a custom format string for output. This adds about
- 7k to a nonstatic build on amd64.
-
-config INITRAMFS_BUSYBOX_STTY
- bool "stty"
- default n
- help
- stty is used to change and print terminal line settings.
-
-config INITRAMFS_BUSYBOX_SUM
- bool "sum"
- default n
- help
- checksum and count the blocks in a file
-
-config INITRAMFS_BUSYBOX_SYNC
- bool "sync"
- default n
- help
- sync is used to flush filesystem buffers.
-
-config INITRAMFS_BUSYBOX_TAC
- bool "tac"
- default n
- help
- tac is used to concatenate and print files in reverse.
-
-config INITRAMFS_BUSYBOX_TAIL
- bool "tail"
- default n
- help
- tail is used to print the last specified number of lines
- from files.
-
-config INITRAMFS_BUSYBOX_FEATURE_FANCY_TAIL
- bool "Enable extra tail options (-q, -s, -v, and -F)"
- default y
- depends on INITRAMFS_BUSYBOX_TAIL
- help
- The options (-q, -s, and -v) are provided by GNU tail, but
- are not specific in the SUSv3 standard.
-
-config INITRAMFS_BUSYBOX_TEE
- bool "tee"
- default n
- help
- tee is used to read from standard input and write
- to standard output and files.
-
-config INITRAMFS_BUSYBOX_FEATURE_TEE_USE_BLOCK_IO
- bool "Enable block I/O (larger/faster) instead of byte I/O"
- default n
- depends on INITRAMFS_BUSYBOX_TEE
- help
- Enable this option for a faster tee, at expense of size.
-
-config INITRAMFS_BUSYBOX_TEST
- bool "test"
- default n
- help
- test is used to check file types and compare values,
- returning an appropriate exit code. The bash shell
- has test built in, ash can build it in optionally.
-
-config INITRAMFS_BUSYBOX_FEATURE_TEST_64
- bool "Extend test to 64 bit"
- default n
- depends on INITRAMFS_BUSYBOX_TEST || INITRAMFS_BUSYBOX_ASH_BUILTIN_TEST || INITRAMFS_BUSYBOX_HUSH
- help
- Enable 64-bit support in test.
-
-config INITRAMFS_BUSYBOX_TOUCH
- bool "touch"
- default n
- help
- touch is used to create or change the access and/or
- modification timestamp of specified files.
-
-config INITRAMFS_BUSYBOX_TR
- bool "tr"
- default n
- help
- tr is used to squeeze, and/or delete characters from standard
- input, writing to standard output.
-
-config INITRAMFS_BUSYBOX_FEATURE_TR_CLASSES
- bool "Enable character classes (such as [:upper:])"
- default n
- depends on INITRAMFS_BUSYBOX_TR
- help
- Enable character classes, enabling commands such as:
- tr [:upper:] [:lower:] to convert input into lowercase.
-
-config INITRAMFS_BUSYBOX_FEATURE_TR_EQUIV
- bool "Enable equivalence classes"
- default n
- depends on INITRAMFS_BUSYBOX_TR
- help
- Enable equivalence classes, which essentially add the enclosed
- character to the current set. For instance, tr [=a=] xyz would
- replace all instances of 'a' with 'xyz'. This option is mainly
- useful for cases when no other way of expressing a character
- is possible.
-
-config INITRAMFS_BUSYBOX_TRUE
- bool "true"
- default n
- help
- true returns an exit code of TRUE (0).
-
-config INITRAMFS_BUSYBOX_TTY
- bool "tty"
- default n
- help
- tty is used to print the name of the current terminal to
- standard output.
-
-config INITRAMFS_BUSYBOX_UNAME
- bool "uname"
- default n
- help
- uname is used to print system information.
-
-config INITRAMFS_BUSYBOX_UNEXPAND
- bool "unexpand"
- default n
- help
- By default, convert only leading sequences of blanks to tabs.
-
-config INITRAMFS_BUSYBOX_FEATURE_UNEXPAND_LONG_OPTIONS
- bool "Enable long options"
- default n
- depends on INITRAMFS_BUSYBOX_UNEXPAND && INITRAMFS_BUSYBOX_LONG_OPTS
- help
- Support long options for the unexpand applet.
-
-config INITRAMFS_BUSYBOX_UNIQ
- bool "uniq"
- default n
- help
- uniq is used to remove duplicate lines from a sorted file.
-
-config INITRAMFS_BUSYBOX_USLEEP
- bool "usleep"
- default n
- help
- usleep is used to pause for a specified number of microseconds.
-
-config INITRAMFS_BUSYBOX_UUDECODE
- bool "uudecode"
- default n
- help
- uudecode is used to decode a uuencoded file.
-
-config INITRAMFS_BUSYBOX_UUENCODE
- bool "uuencode"
- default n
- help
- uuencode is used to uuencode a file.
-
-config INITRAMFS_BUSYBOX_WC
- bool "wc"
- default n
- help
- wc is used to print the number of bytes, words, and lines,
- in specified files.
-
-config INITRAMFS_BUSYBOX_FEATURE_WC_LARGE
- bool "Support very large files in wc"
- default n
- depends on INITRAMFS_BUSYBOX_WC
- help
- Use "unsigned long long" in wc for counter variables.
-
-config INITRAMFS_BUSYBOX_WHO
- bool "who"
- default n
- select INITRAMFS_BUSYBOX_FEATURE_UTMP
- help
- who is used to show who is logged on.
-
-config INITRAMFS_BUSYBOX_WHOAMI
- bool "whoami"
- default n
- help
- whoami is used to print the username of the current
- user id (same as id -un).
-
-config INITRAMFS_BUSYBOX_YES
- bool "yes"
- default n
- help
- yes is used to repeatedly output a specific string, or
- the default string `y'.
-
-comment "Common options for cp and mv"
- depends on INITRAMFS_BUSYBOX_CP || INITRAMFS_BUSYBOX_MV
-
-config INITRAMFS_BUSYBOX_FEATURE_PRESERVE_HARDLINKS
- bool "Preserve hard links"
- default n
- depends on INITRAMFS_BUSYBOX_CP || INITRAMFS_BUSYBOX_MV
- help
- Allow cp and mv to preserve hard links.
-
-comment "Common options for ls, more and telnet"
- depends on INITRAMFS_BUSYBOX_LS || INITRAMFS_BUSYBOX_MORE || INITRAMFS_BUSYBOX_TELNET
-
-config INITRAMFS_BUSYBOX_FEATURE_AUTOWIDTH
- bool "Calculate terminal & column widths"
- default y
- depends on INITRAMFS_BUSYBOX_LS || INITRAMFS_BUSYBOX_MORE || INITRAMFS_BUSYBOX_TELNET
- help
- This option allows utilities such as 'ls', 'more' and 'telnet'
- to determine the width of the screen, which can allow them to
- display additional text or avoid wrapping text onto the next line.
- If you leave this disabled, your utilities will be especially
- primitive and will be unable to determine the current screen width.
-
-comment "Common options for df, du, ls"
- depends on INITRAMFS_BUSYBOX_DF || INITRAMFS_BUSYBOX_DU || INITRAMFS_BUSYBOX_LS
-
-config INITRAMFS_BUSYBOX_FEATURE_HUMAN_READABLE
- bool "Support for human readable output (example 13k, 23M, 235G)"
- default n
- depends on INITRAMFS_BUSYBOX_DF || INITRAMFS_BUSYBOX_DU || INITRAMFS_BUSYBOX_LS
- help
- Allow df, du, and ls to have human readable output.
-
-comment "Common options for md5sum, sha1sum"
- depends on INITRAMFS_BUSYBOX_MD5SUM || INITRAMFS_BUSYBOX_SHA1SUM
-
-config INITRAMFS_BUSYBOX_FEATURE_MD5_SHA1_SUM_CHECK
- bool "Enable -c, -s and -w options"
- default n
- depends on INITRAMFS_BUSYBOX_MD5SUM || INITRAMFS_BUSYBOX_SHA1SUM
- help
- Enabling the -c options allows files to be checked
- against pre-calculated hash values.
-
- -s and -w are useful options when verifying checksums.
-
-endmenu
diff --git a/config/initramfs-busybox/debianutils/Config.in b/config/initramfs-busybox/debianutils/Config.in
deleted file mode 100644
index 9dd8f9827..000000000
--- a/config/initramfs-busybox/debianutils/Config.in
+++ /dev/null
@@ -1,84 +0,0 @@
-#
-# For a description of the syntax of this configuration file,
-# see scripts/kbuild/config-language.txt.
-#
-
-menu "Debian Utilities"
-
-config INITRAMFS_BUSYBOX_MKTEMP
- bool "mktemp"
- default n
- help
- mktemp is used to create unique temporary files
-
-config INITRAMFS_BUSYBOX_PIPE_PROGRESS
- bool "pipe_progress"
- default n
- help
- Display a dot to indicate pipe activity.
-
-config INITRAMFS_BUSYBOX_RUN_PARTS
- bool "run-parts"
- default n
- help
- run-parts is a utility designed to run all the scripts in a directory.
-
- It is useful to set up a directory like cron.daily, where you need to
- execute all the scripts in that directory.
-
- In this implementation of run-parts some features (such as report
- mode) are not implemented.
-
- Unless you know that run-parts is used in some of your scripts
- you can safely say N here.
-
-config INITRAMFS_BUSYBOX_FEATURE_RUN_PARTS_LONG_OPTIONS
- bool "Enable long options"
- default n
- depends on INITRAMFS_BUSYBOX_RUN_PARTS && INITRAMFS_BUSYBOX_LONG_OPTS
- help
- Support long options for the run-parts applet.
-
-config INITRAMFS_BUSYBOX_FEATURE_RUN_PARTS_FANCY
- bool "Support additional arguments"
- default n
- depends on INITRAMFS_BUSYBOX_RUN_PARTS
- help
- Support additional options:
- -l --list print the names of the all matching files (not
- limited to executables), but don't actually run them.
-
-config INITRAMFS_BUSYBOX_START_STOP_DAEMON
- bool "start-stop-daemon"
- default n
- help
- start-stop-daemon is used to control the creation and
- termination of system-level processes, usually the ones
- started during the startup of the system.
-
-config INITRAMFS_BUSYBOX_FEATURE_START_STOP_DAEMON_FANCY
- bool "Support additional arguments"
- default n
- depends on INITRAMFS_BUSYBOX_START_STOP_DAEMON
- help
- Support additional arguments.
- -o|--oknodo ignored since we exit with 0 anyway
- -v|--verbose
- -N|--nicelevel N
-
-config INITRAMFS_BUSYBOX_FEATURE_START_STOP_DAEMON_LONG_OPTIONS
- bool "Enable long options"
- default n
- depends on INITRAMFS_BUSYBOX_START_STOP_DAEMON && INITRAMFS_BUSYBOX_LONG_OPTS
- help
- Support long options for the start-stop-daemon applet.
-
-config INITRAMFS_BUSYBOX_WHICH
- bool "which"
- default n
- help
- which is used to find programs in your PATH and
- print out their pathnames.
-
-endmenu
-
diff --git a/config/initramfs-busybox/e2fsprogs/Config.in b/config/initramfs-busybox/e2fsprogs/Config.in
deleted file mode 100644
index 008b26ce0..000000000
--- a/config/initramfs-busybox/e2fsprogs/Config.in
+++ /dev/null
@@ -1,68 +0,0 @@
-#
-# For a description of the syntax of this configuration file,
-# see scripts/kbuild/config-language.txt.
-#
-
-menu "Linux Ext2 FS Progs"
-
-config INITRAMFS_BUSYBOX_CHATTR
- bool "chattr"
- default n
- help
- chattr changes the file attributes on a second extended file system.
-
-### config E2FSCK
-### bool "e2fsck"
-### default n
-### help
-### e2fsck is used to check Linux second extended file systems (ext2fs).
-### e2fsck also supports ext2 filesystems countaining a journal (ext3).
-### The normal compat symlinks 'fsck.ext2' and 'fsck.ext3' are also
-### provided.
-
-config INITRAMFS_BUSYBOX_FSCK
- bool "fsck"
- default n
- help
- fsck is used to check and optionally repair one or more filesystems.
- In actuality, fsck is simply a front-end for the various file system
- checkers (fsck.fstype) available under Linux.
-
-config INITRAMFS_BUSYBOX_LSATTR
- bool "lsattr"
- default n
- help
- lsattr lists the file attributes on a second extended file system.
-
-### config MKE2FS
-### bool "mke2fs"
-### default n
-### help
-### mke2fs is used to create an ext2/ext3 filesystem. The normal compat
-### symlinks 'mkfs.ext2' and 'mkfs.ext3' are also provided.
-
-### config TUNE2FS
-### bool "tune2fs"
-### default n
-### help
-### tune2fs allows the system administrator to adjust various tunable
-### filesystem parameters on Linux ext2/ext3 filesystems.
-
-### config E2LABEL
-### bool "e2label"
-### default n
-### depends on TUNE2FS
-### help
-### e2label will display or change the filesystem label on the ext2
-### filesystem located on device.
-
-### NB: this one is now provided by util-linux/volume_id/*
-### config FINDFS
-### bool "findfs"
-### default n
-### depends on TUNE2FS
-### help
-### findfs will search the disks in the system looking for a filesystem
-### which has a label matching label or a UUID equal to uuid.
-
-endmenu
diff --git a/config/initramfs-busybox/editors/Config.in b/config/initramfs-busybox/editors/Config.in
deleted file mode 100644
index 938af4d99..000000000
--- a/config/initramfs-busybox/editors/Config.in
+++ /dev/null
@@ -1,196 +0,0 @@
-#
-# For a description of the syntax of this configuration file,
-# see scripts/kbuild/config-language.txt.
-#
-
-menu "Editors"
-
-config INITRAMFS_BUSYBOX_AWK
- bool "awk"
- default n
- help
- Awk is used as a pattern scanning and processing language. This is
- the BusyBox implementation of that programming language.
-
-config INITRAMFS_BUSYBOX_FEATURE_AWK_LIBM
- bool "Enable math functions (requires libm)"
- default n
- depends on INITRAMFS_BUSYBOX_AWK
- help
- Enable math functions of the Awk programming language.
- NOTE: This will require libm to be present for linking.
-
-config INITRAMFS_BUSYBOX_CMP
- bool "cmp"
- default n
- help
- cmp is used to compare two files and returns the result
- to standard output.
-
-config INITRAMFS_BUSYBOX_DIFF
- bool "diff"
- default n
- help
- diff compares two files or directories and outputs the
- differences between them in a form that can be given to
- the patch command.
-
-config INITRAMFS_BUSYBOX_FEATURE_DIFF_BINARY
- bool "Enable checks for binary files"
- default y
- depends on INITRAMFS_BUSYBOX_DIFF
- help
- This option enables support for checking for binary files
- before a comparison is carried out.
-
-config INITRAMFS_BUSYBOX_FEATURE_DIFF_DIR
- bool "Enable directory support"
- default y
- depends on INITRAMFS_BUSYBOX_DIFF
- help
- This option enables support for directory and subdirectory
- comparison.
-
-config INITRAMFS_BUSYBOX_FEATURE_DIFF_MINIMAL
- bool "Enable -d option to find smaller sets of changes"
- default n
- depends on INITRAMFS_BUSYBOX_DIFF
- help
- Enabling this option allows the use of -d to make diff
- try hard to find the smallest possible set of changes.
-
-config INITRAMFS_BUSYBOX_ED
- bool "ed"
- default n
- help
- The original 1970's Unix text editor, from the days of teletypes.
- Small, simple, evil. Part of SUSv3. If you're not already using
- this, you don't need it.
-
-config INITRAMFS_BUSYBOX_PATCH
- bool "patch"
- default n
- help
- Apply a unified diff formatted patch.
-
-config INITRAMFS_BUSYBOX_SED
- bool "sed"
- default n
- help
- sed is used to perform text transformations on a file
- or input from a pipeline.
-
-config INITRAMFS_BUSYBOX_VI
- bool "vi"
- default n
- help
- 'vi' is a text editor. More specifically, it is the One True
- text editor <grin>. It does, however, have a rather steep
- learning curve. If you are not already comfortable with 'vi'
- you may wish to use something else.
-
-config INITRAMFS_BUSYBOX_FEATURE_VI_MAX_LEN
- int "Maximum screen width in vi"
- range 256 16384
- default 4096
- depends on INITRAMFS_BUSYBOX_VI
- help
- Contrary to what you may think, this is not eating much.
- Make it smaller than 4k only if you are very limited on memory.
-
-config INITRAMFS_BUSYBOX_FEATURE_VI_8BIT
- bool "Allow vi to display 8-bit chars (otherwise shows dots)"
- default y
- depends on INITRAMFS_BUSYBOX_VI
- help
- If your terminal can display characters with high bit set,
- you may want to enable this. Note: vi is not Unicode-capable.
- If your terminal combines several 8-bit bytes into one character
- (as in Unicode mode), this will not work properly.
-
-config INITRAMFS_BUSYBOX_FEATURE_VI_COLON
- bool "Enable \":\" colon commands (no \"ex\" mode)"
- default y
- depends on INITRAMFS_BUSYBOX_VI
- help
- Enable a limited set of colon commands for vi. This does not
- provide an "ex" mode.
-
-config INITRAMFS_BUSYBOX_FEATURE_VI_YANKMARK
- bool "Enable yank/put commands and mark cmds"
- default y
- depends on INITRAMFS_BUSYBOX_VI
- help
- This will enable you to use yank and put, as well as mark in
- busybox vi.
-
-config INITRAMFS_BUSYBOX_FEATURE_VI_SEARCH
- bool "Enable search and replace cmds"
- default y
- depends on INITRAMFS_BUSYBOX_VI
- help
- Select this if you wish to be able to do search and replace in
- busybox vi.
-
-config INITRAMFS_BUSYBOX_FEATURE_VI_USE_SIGNALS
- bool "Catch signals"
- default y
- depends on INITRAMFS_BUSYBOX_VI
- help
- Selecting this option will make busybox vi signal aware. This will
- make busybox vi support SIGWINCH to deal with Window Changes, catch
- Ctrl-Z and Ctrl-C and alarms.
-
-config INITRAMFS_BUSYBOX_FEATURE_VI_DOT_CMD
- bool "Remember previous cmd and \".\" cmd"
- default y
- depends on INITRAMFS_BUSYBOX_VI
- help
- Make busybox vi remember the last command and be able to repeat it.
-
-config INITRAMFS_BUSYBOX_FEATURE_VI_READONLY
- bool "Enable -R option and \"view\" mode"
- default y
- depends on INITRAMFS_BUSYBOX_VI
- help
- Enable the read-only command line option, which allows the user to
- open a file in read-only mode.
-
-config INITRAMFS_BUSYBOX_FEATURE_VI_SETOPTS
- bool "Enable set-able options, ai ic showmatch"
- default y
- depends on INITRAMFS_BUSYBOX_VI
- help
- Enable the editor to set some (ai, ic, showmatch) options.
-
-config INITRAMFS_BUSYBOX_FEATURE_VI_SET
- bool "Support for :set"
- default y
- depends on INITRAMFS_BUSYBOX_VI
- help
- Support for ":set".
-
-config INITRAMFS_BUSYBOX_FEATURE_VI_WIN_RESIZE
- bool "Handle window resize"
- default y
- depends on INITRAMFS_BUSYBOX_VI
- help
- Make busybox vi behave nicely with terminals that get resized.
-
-config INITRAMFS_BUSYBOX_FEATURE_VI_OPTIMIZE_CURSOR
- bool "Optimize cursor movement"
- default y
- depends on INITRAMFS_BUSYBOX_VI
- help
- This will make the cursor movement faster, but requires more memory
- and it makes the applet a tiny bit larger.
-
-config INITRAMFS_BUSYBOX_FEATURE_ALLOW_EXEC
- bool "Allow vi and awk to execute shell commands"
- default y
- depends on INITRAMFS_BUSYBOX_VI || INITRAMFS_BUSYBOX_AWK
- help
- Enables vi and awk features which allows user to execute
- shell commands (using system() C call).
-
-endmenu
diff --git a/config/initramfs-busybox/findutils/Config.in b/config/initramfs-busybox/findutils/Config.in
deleted file mode 100644
index 840db1901..000000000
--- a/config/initramfs-busybox/findutils/Config.in
+++ /dev/null
@@ -1,246 +0,0 @@
-#
-# For a description of the syntax of this configuration file,
-# see scripts/kbuild/config-language.txt.
-#
-
-menu "Finding Utilities"
-
-config INITRAMFS_BUSYBOX_FIND
- bool "find"
- default n
- help
- find is used to search your system to find specified files.
-
-config INITRAMFS_BUSYBOX_FEATURE_FIND_PRINT0
- bool "Enable -print0: NUL-terminated output"
- default y
- depends on INITRAMFS_BUSYBOX_FIND
- help
- Causes output names to be separated by a NUL character
- rather than a newline. This allows names that contain
- newlines and other whitespace to be more easily
- interpreted by other programs.
-
-config INITRAMFS_BUSYBOX_FEATURE_FIND_MTIME
- bool "Enable -mtime: modified time matching"
- default y
- depends on INITRAMFS_BUSYBOX_FIND
- help
- Allow searching based on the modification time of
- files, in days.
-
-config INITRAMFS_BUSYBOX_FEATURE_FIND_MMIN
- bool "Enable -mmin: modified time matching by minutes"
- default y
- depends on INITRAMFS_BUSYBOX_FIND
- help
- Allow searching based on the modification time of
- files, in minutes.
-
-config INITRAMFS_BUSYBOX_FEATURE_FIND_PERM
- bool "Enable -perm: permissions matching"
- default y
- depends on INITRAMFS_BUSYBOX_FIND
- help
- Enable searching based on file permissions.
-
-config INITRAMFS_BUSYBOX_FEATURE_FIND_TYPE
- bool "Enable -type: file type matching (file/dir/link/...)"
- default y
- depends on INITRAMFS_BUSYBOX_FIND
- help
- Enable searching based on file type (file,
- directory, socket, device, etc.).
-
-config INITRAMFS_BUSYBOX_FEATURE_FIND_XDEV
- bool "Enable -xdev: 'stay in filesystem'"
- default y
- depends on INITRAMFS_BUSYBOX_FIND
- help
- This option allows find to restrict searches to a single filesystem.
-
-config INITRAMFS_BUSYBOX_FEATURE_FIND_MAXDEPTH
- bool "Enable -maxdepth N"
- default y
- depends on INITRAMFS_BUSYBOX_FIND
- help
- This option enables -maxdepth N option.
-
-config INITRAMFS_BUSYBOX_FEATURE_FIND_NEWER
- bool "Enable -newer: compare file modification times"
- default y
- depends on INITRAMFS_BUSYBOX_FIND
- help
- Support the 'find -newer' option for finding any files which have
- a modified time that is more recent than the specified FILE.
-
-config INITRAMFS_BUSYBOX_FEATURE_FIND_INUM
- bool "Enable -inum: inode number matching"
- default y
- depends on INITRAMFS_BUSYBOX_FIND
- help
- Support the 'find -inum' option for searching by inode number.
-
-config INITRAMFS_BUSYBOX_FEATURE_FIND_EXEC
- bool "Enable -exec: execute commands"
- default y
- depends on INITRAMFS_BUSYBOX_FIND
- help
- Support the 'find -exec' option for executing commands based upon
- the files matched.
-
-config INITRAMFS_BUSYBOX_FEATURE_FIND_USER
- bool "Enable -user: username/uid matching"
- default y
- depends on INITRAMFS_BUSYBOX_FIND
- help
- Support the 'find -user' option for searching by username or uid.
-
-config INITRAMFS_BUSYBOX_FEATURE_FIND_GROUP
- bool "Enable -group: group/gid matching"
- default y
- depends on INITRAMFS_BUSYBOX_FIND
- help
- Support the 'find -group' option for searching by group name or gid.
-
-config INITRAMFS_BUSYBOX_FEATURE_FIND_NOT
- bool "Enable the 'not' (!) operator"
- default y
- depends on INITRAMFS_BUSYBOX_FIND
- help
- Support the '!' operator to invert the test results.
- If 'Enable full-blown desktop' is enabled, then will also support
- the non-POSIX notation '-not'.
-
-config INITRAMFS_BUSYBOX_FEATURE_FIND_DEPTH
- bool "Enable -depth"
- default y
- depends on INITRAMFS_BUSYBOX_FIND
- help
- Process each directory's contents before the directory itself.
-
-config INITRAMFS_BUSYBOX_FEATURE_FIND_PAREN
- bool "Enable parens in options"
- default y
- depends on INITRAMFS_BUSYBOX_FIND
- help
- Enable usage of parens '(' to specify logical order of arguments.
-
-config INITRAMFS_BUSYBOX_FEATURE_FIND_SIZE
- bool "Enable -size: file size matching"
- default y
- depends on INITRAMFS_BUSYBOX_FIND
- help
- Support the 'find -size' option for searching by file size.
-
-config INITRAMFS_BUSYBOX_FEATURE_FIND_PRUNE
- bool "Enable -prune: exclude subdirectories"
- default y
- depends on INITRAMFS_BUSYBOX_FIND
- help
- If the file is a directory, dont descend into it. Useful for
- exclusion .svn and CVS directories.
-
-config INITRAMFS_BUSYBOX_FEATURE_FIND_DELETE
- bool "Enable -delete: delete files/dirs"
- default n
- depends on INITRAMFS_BUSYBOX_FIND && INITRAMFS_BUSYBOX_FEATURE_FIND_DEPTH
- help
- Support the 'find -delete' option for deleting files and directories.
- WARNING: This option can do much harm if used wrong. Busybox will not
- try to protect the user from doing stupid things. Use with care.
-
-config INITRAMFS_BUSYBOX_FEATURE_FIND_PATH
- bool "Enable -path: match pathname with shell pattern"
- default y
- depends on INITRAMFS_BUSYBOX_FIND
- help
- The -path option matches whole pathname instead of just filename.
-
-config INITRAMFS_BUSYBOX_FEATURE_FIND_REGEX
- bool "Enable -regex: match pathname with regex"
- default y
- depends on INITRAMFS_BUSYBOX_FIND
- help
- The -regex option matches whole pathname against regular expression.
-
-config INITRAMFS_BUSYBOX_FEATURE_FIND_CONTEXT
- bool "Enable -context: security context matching"
- default n
- depends on INITRAMFS_BUSYBOX_FIND && INITRAMFS_BUSYBOX_SELINUX
- help
- Support the 'find -context' option for matching security context.
-
-config INITRAMFS_BUSYBOX_GREP
- bool "grep"
- default n
- help
- grep is used to search files for a specified pattern.
-
-config INITRAMFS_BUSYBOX_FEATURE_GREP_EGREP_ALIAS
- bool "Enable extended regular expressions (egrep & grep -E)"
- default y
- depends on INITRAMFS_BUSYBOX_GREP
- help
- Enabled support for extended regular expressions. Extended
- regular expressions allow for alternation (foo|bar), grouping,
- and various repetition operators.
-
-config INITRAMFS_BUSYBOX_FEATURE_GREP_FGREP_ALIAS
- bool "Alias fgrep to grep -F"
- default y
- depends on INITRAMFS_BUSYBOX_GREP
- help
- fgrep sees the search pattern as a normal string rather than
- regular expressions.
- grep -F always works, this just creates the fgrep alias.
-
-config INITRAMFS_BUSYBOX_FEATURE_GREP_CONTEXT
- bool "Enable before and after context flags (-A, -B and -C)"
- default y
- depends on INITRAMFS_BUSYBOX_GREP
- help
- Print the specified number of leading (-B) and/or trailing (-A)
- context surrounding our matching lines.
- Print the specified number of context lines (-C).
-
-config INITRAMFS_BUSYBOX_XARGS
- bool "xargs"
- default n
- help
- xargs is used to execute a specified command for
- every item from standard input.
-
-config INITRAMFS_BUSYBOX_FEATURE_XARGS_SUPPORT_CONFIRMATION
- bool "Enable -p: prompt and confirmation"
- default n
- depends on INITRAMFS_BUSYBOX_XARGS
- help
- Support -p: prompt the user whether to run each command
- line and read a line from the terminal.
-
-config INITRAMFS_BUSYBOX_FEATURE_XARGS_SUPPORT_QUOTES
- bool "Enable single and double quotes and backslash"
- default n
- depends on INITRAMFS_BUSYBOX_XARGS
- help
- Support quoting in the input.
-
-config INITRAMFS_BUSYBOX_FEATURE_XARGS_SUPPORT_TERMOPT
- bool "Enable -x: exit if -s or -n is exceeded"
- default n
- depends on INITRAMFS_BUSYBOX_XARGS
- help
- Support -x: exit if the command size (see the -s or -n option)
- is exceeded.
-
-config INITRAMFS_BUSYBOX_FEATURE_XARGS_SUPPORT_ZERO_TERM
- bool "Enable -0: NUL-terminated input"
- default n
- depends on INITRAMFS_BUSYBOX_XARGS
- help
- Support -0: input items are terminated by a NUL character
- instead of whitespace, and the quotes and backslash
- are not special.
-
-endmenu
diff --git a/config/initramfs-busybox/init/Config.in b/config/initramfs-busybox/init/Config.in
deleted file mode 100644
index 2ca22a813..000000000
--- a/config/initramfs-busybox/init/Config.in
+++ /dev/null
@@ -1,123 +0,0 @@
-#
-# For a description of the syntax of this configuration file,
-# see scripts/kbuild/config-language.txt.
-#
-
-menu "Init Utilities"
-
-config INITRAMFS_BUSYBOX_INIT
- bool "init"
- default n
- select INITRAMFS_BUSYBOX_FEATURE_SYSLOG
- help
- init is the first program run when the system boots.
-
-config INITRAMFS_BUSYBOX_FEATURE_USE_INITTAB
- bool "Support reading an inittab file"
- default y
- depends on INITRAMFS_BUSYBOX_INIT
- help
- Allow init to read an inittab file when the system boot.
-
-config INITRAMFS_BUSYBOX_FEATURE_KILL_REMOVED
- bool "Support killing processes that have been removed from inittab"
- default y
- depends on INITRAMFS_BUSYBOX_FEATURE_USE_INITTAB
- help
- When respawn entries are removed from inittab and a SIGHUP is
- sent to init, this feature will kill the processes that have
- been removed.
-
-config INITRAMFS_BUSYBOX_FEATURE_KILL_DELAY
- int "How long to wait between TERM and KILL (0 - send TERM only)" if FEATURE_KILL_REMOVED
- range 0 1024
- default 0
- depends on INITRAMFS_BUSYBOX_FEATURE_KILL_REMOVED
- help
- With nonzero setting, init sends TERM, forks, child waits N
- seconds, sends KILL and exits. Setting it too high is unwise
- (child will hang around for too long and could actually kill
- the wrong process!)
-
-config INITRAMFS_BUSYBOX_FEATURE_INIT_SCTTY
- bool "Run commands with leading dash with controlling tty"
- default n
- depends on INITRAMFS_BUSYBOX_INIT
- help
- If this option is enabled, init will try to give a controlling
- tty to any command which has leading hyphen (often it's "-/bin/sh").
- More precisely, init will do "ioctl(STDIN_FILENO, TIOCSCTTY, 0)".
- If device attached to STDIN_FILENO can be a ctty but is not yet
- a ctty for other session, it will become this process' ctty.
- This is not the traditional init behavour, but is often what you want
- in an embedded system where the console is only accessed during
- development or for maintenance.
- NB: using cttyhack applet may work better.
-
-config INITRAMFS_BUSYBOX_FEATURE_INIT_SYSLOG
- bool "Enable init to write to syslog"
- default n
- depends on INITRAMFS_BUSYBOX_INIT
-
-config INITRAMFS_BUSYBOX_FEATURE_EXTRA_QUIET
- bool "Be _extra_ quiet on boot"
- default y
- depends on INITRAMFS_BUSYBOX_INIT
- help
- Prevent init from logging some messages to the console during boot.
-
-config INITRAMFS_BUSYBOX_FEATURE_INIT_COREDUMPS
- bool "Support dumping core for child processes (debugging only)"
- default n
- depends on INITRAMFS_BUSYBOX_INIT
- help
- If this option is enabled and the file /.init_enable_core
- exists, then init will call setrlimit() to allow unlimited
- core file sizes. If this option is disabled, processes
- will not generate any core files.
-
-config INITRAMFS_BUSYBOX_FEATURE_INITRD
- bool "Support running init from within an initrd (not initramfs)"
- default y
- depends on INITRAMFS_BUSYBOX_INIT
- help
- Legacy support for running init under the old-style initrd. Allows
- the name linuxrc to act as init, and it doesn't assume init is PID 1.
-
- This does not apply to initramfs, which runs /init as PID 1 and
- requires no special support.
-
-config INITRAMFS_BUSYBOX_HALT
- bool "poweroff, halt, and reboot"
- default n
- help
- Stop all processes and either halt, reboot, or power off the system.
-
-config INITRAMFS_BUSYBOX_FEATURE_CALL_TELINIT
- bool "Call telinit on shutdown and reboot"
- default n
- depends on INITRAMFS_BUSYBOX_HALT && !INITRAMFS_BUSYBOX_INIT
- help
- Call an external program (normally telinit) to facilitate
- a switch to a proper runlevel.
-
- This option is only available if you selected halt and friends,
- but did not select init.
-
-config INITRAMFS_BUSYBOX_TELINIT_PATH
- string "Path to telinit executable"
- default "/sbin/telinit"
- depends on INITRAMFS_BUSYBOX_FEATURE_CALL_TELINIT
- help
- When busybox halt and friends have to call external telinit
- to facilitate proper shutdown, this path is to be used when
- locating telinit executable.
-
-config INITRAMFS_BUSYBOX_MESG
- bool "mesg"
- default n
- help
- Mesg controls access to your terminal by others. It is typically
- used to allow or disallow other users to write to your terminal
-
-endmenu
diff --git a/config/initramfs-busybox/libbb/Config.in b/config/initramfs-busybox/libbb/Config.in
deleted file mode 100644
index d320269aa..000000000
--- a/config/initramfs-busybox/libbb/Config.in
+++ /dev/null
@@ -1,177 +0,0 @@
-#
-# For a description of the syntax of this configuration file,
-# see scripts/kbuild/config-language.txt.
-#
-
-menu "Busybox Library Tuning"
-
-config INITRAMFS_BUSYBOX_PASSWORD_MINLEN
- int "Minimum password length"
- default 6
- range 5 32
- help
- Minimum allowable password length.
-
-config INITRAMFS_BUSYBOX_MD5_SIZE_VS_SPEED
- int "MD5: Trade bytes for speed (0:fast, 3:slow)"
- default 2
- range 0 3
- help
- Trade binary size versus speed for the md5sum algorithm.
- Approximate values running uClibc and hashing
- linux-2.4.4.tar.bz2 were:
- user times (sec) text size (386)
- 0 (fastest) 1.1 6144
- 1 1.4 5392
- 2 3.0 5088
- 3 (smallest) 5.1 4912
-
-config INITRAMFS_BUSYBOX_FEATURE_FAST_TOP
- bool "Faster /proc scanning code (+100 bytes)"
- default n
- help
- This option makes top (and ps) ~20% faster (or 20% less CPU hungry),
- but code size is slightly bigger.
-
-config INITRAMFS_BUSYBOX_FEATURE_ETC_NETWORKS
- bool "Support for /etc/networks"
- default n
- help
- Enable support for network names in /etc/networks. This is
- a rarely used feature which allows you to use names
- instead of IP/mask pairs in route command.
-
-config INITRAMFS_BUSYBOX_FEATURE_EDITING
- bool "Command line editing"
- default n
- help
- Enable line editing (mainly for shell command line).
-
-config INITRAMFS_BUSYBOX_FEATURE_EDITING_MAX_LEN
- int "Maximum length of input"
- range 128 8192
- default 1024
- depends on INITRAMFS_BUSYBOX_FEATURE_EDITING
- help
- Line editing code uses on-stack buffers for storage.
- You may want to decrease this parameter if your target machine
- benefits from smaller stack usage.
-
-config INITRAMFS_BUSYBOX_FEATURE_EDITING_VI
- bool "vi-style line editing commands"
- default n
- depends on INITRAMFS_BUSYBOX_FEATURE_EDITING
- help
- Enable vi-style line editing. In shells, this mode can be
- turned on and off with "set -o vi" and "set +o vi".
-
-config INITRAMFS_BUSYBOX_FEATURE_EDITING_HISTORY
- int "History size"
- range 0 99999
- default 15
- depends on INITRAMFS_BUSYBOX_FEATURE_EDITING
- help
- Specify command history size.
-
-config INITRAMFS_BUSYBOX_FEATURE_EDITING_SAVEHISTORY
- bool "History saving"
- default n
- depends on INITRAMFS_BUSYBOX_ASH && INITRAMFS_BUSYBOX_FEATURE_EDITING
- help
- Enable history saving in ash shell.
-
-config INITRAMFS_BUSYBOX_FEATURE_TAB_COMPLETION
- bool "Tab completion"
- default n
- depends on INITRAMFS_BUSYBOX_FEATURE_EDITING
- help
- Enable tab completion.
-
-config INITRAMFS_BUSYBOX_FEATURE_USERNAME_COMPLETION
- bool "Username completion"
- default n
- depends on INITRAMFS_BUSYBOX_FEATURE_TAB_COMPLETION
- help
- Enable username completion.
-
-config INITRAMFS_BUSYBOX_FEATURE_EDITING_FANCY_PROMPT
- bool "Fancy shell prompts"
- default n
- depends on INITRAMFS_BUSYBOX_FEATURE_EDITING
- help
- Setting this option allows for prompts to use things like \w and
- \$ and escape codes.
-
-config INITRAMFS_BUSYBOX_FEATURE_EDITING_ASK_TERMINAL
- bool "Query cursor position from terminal"
- default n
- depends on INITRAMFS_BUSYBOX_FEATURE_EDITING
- help
- Allow usage of "ESC [ 6 n" sequence. Terminal answers back with
- current cursor position. This information is used to make line
- editing more robust in some cases.
- If you are not sure whether your terminals respond to this code
- correctly, or want to save on code size (about 300 bytes),
- then do not turn this option on.
-
-config INITRAMFS_BUSYBOX_FEATURE_NON_POSIX_CP
- bool "Non-POSIX, but safer, copying to special nodes"
- default y
- help
- With this option, "cp file symlink" will delete symlink
- and create a regular file. This does not conform to POSIX,
- but prevents a symlink attack.
- Similarly, "cp file device" will not send file's data
- to the device.
-
-config INITRAMFS_BUSYBOX_FEATURE_VERBOSE_CP_MESSAGE
- bool "Give more precise messages when copy fails (cp, mv etc)"
- default n
- help
- Error messages with this feature enabled:
- $ cp file /does_not_exist/file
- cp: cannot create '/does_not_exist/file': Path does not exist
- $ cp file /vmlinuz/file
- cp: cannot stat '/vmlinuz/file': Path has non-directory component
- If this feature is not enabled, they will be, respectively:
- cp: cannot remove '/does_not_exist/file': No such file or directory
- cp: cannot stat '/vmlinuz/file': Not a directory
- respectively.
- This will cost you ~60 bytes.
-
-config INITRAMFS_BUSYBOX_FEATURE_COPYBUF_KB
- int "Copy buffer size, in kilobytes"
- range 1 1024
- default 4
- help
- Size of buffer used by cp, mv, install etc.
- Buffers which are 4 kb or less will be allocated on stack.
- Bigger buffers will be allocated with mmap, with fallback to 4 kb
- stack buffer if mmap fails.
-
-config INITRAMFS_BUSYBOX_MONOTONIC_SYSCALL
- bool "Use clock_gettime(CLOCK_MONOTONIC) syscall"
- default y
- help
- Use clock_gettime(CLOCK_MONOTONIC) syscall for measuring
- time intervals (time, ping, traceroute etc need this).
- Probably requires Linux 2.6+. If not selected, gettimeofday
- will be used instead (which gives wrong results if date/time
- is reset).
-
-config INITRAMFS_BUSYBOX_IOCTL_HEX2STR_ERROR
- bool "Use ioctl names rather than hex values in error messages"
- default y
- help
- Use ioctl names rather than hex values in error messages
- (e.g. VT_DISALLOCATE rather than 0x5608). If disabled this
- saves about 1400 bytes.
-
-config INITRAMFS_BUSYBOX_FEATURE_HWIB
- bool "Support infiniband HW"
- default y
- help
- Support for printing infiniband addresses in
- network applets.
-
-endmenu
diff --git a/config/initramfs-busybox/loginutils/Config.in b/config/initramfs-busybox/loginutils/Config.in
deleted file mode 100644
index 07918873d..000000000
--- a/config/initramfs-busybox/loginutils/Config.in
+++ /dev/null
@@ -1,319 +0,0 @@
-#
-# For a description of the syntax of this configuration file,
-# see scripts/kbuild/config-language.txt.
-#
-
-menu "Login/Password Management Utilities"
-
-config INITRAMFS_BUSYBOX_FEATURE_SHADOWPASSWDS
- bool "Support for shadow passwords"
- default n
- help
- Build support for shadow password in /etc/shadow. This file is only
- readable by root and thus the encrypted passwords are no longer
- publicly readable.
-
-config INITRAMFS_BUSYBOX_USE_BB_PWD_GRP
- bool "Use internal password and group functions rather than system functions"
- default n
- help
- If you leave this disabled, busybox will use the system's password
- and group functions. And if you are using the GNU C library
- (glibc), you will then need to install the /etc/nsswitch.conf
- configuration file and the required /lib/libnss_* libraries in
- order for the password and group functions to work. This generally
- makes your embedded system quite a bit larger.
-
- Enabling this option will cause busybox to directly access the
- system's /etc/password, /etc/group files (and your system will be
- smaller, and I will get fewer emails asking about how glibc NSS
- works). When this option is enabled, you will not be able to use
- PAM to access remote LDAP password servers and whatnot. And if you
- want hostname resolution to work with glibc, you still need the
- /lib/libnss_* libraries.
-
- If you need to use glibc's nsswitch.conf mechanism
- (e.g. if user/group database is NOT stored in /etc/passwd etc),
- you must NOT use this option.
-
- If you enable this option, it will add about 1.5k.
-
-config INITRAMFS_BUSYBOX_USE_BB_SHADOW
- bool "Use internal shadow password functions"
- default y
- depends on INITRAMFS_BUSYBOX_USE_BB_PWD_GRP && INITRAMFS_BUSYBOX_FEATURE_SHADOWPASSWDS
- help
- If you leave this disabled, busybox will use the system's shadow
- password handling functions. And if you are using the GNU C library
- (glibc), you will then need to install the /etc/nsswitch.conf
- configuration file and the required /lib/libnss_* libraries in
- order for the shadow password functions to work. This generally
- makes your embedded system quite a bit larger.
-
- Enabling this option will cause busybox to directly access the
- system's /etc/shadow file when handling shadow passwords. This
- makes your system smaller (and I will get fewer emails asking about
- how glibc NSS works). When this option is enabled, you will not be
- able to use PAM to access shadow passwords from remote LDAP
- password servers and whatnot.
-
-config INITRAMFS_BUSYBOX_USE_BB_CRYPT
- bool "Use internal crypt functions"
- default y
- help
- Busybox has internal DES and MD5 crypt functions.
- They produce results which are identical to corresponding
- standard C library functions.
-
- If you leave this disabled, busybox will use the system's
- crypt functions. Most C libraries use large (~70k)
- static buffers there, and also combine them with more general
- DES encryption/decryption.
-
- For busybox, having large static buffers is undesirable,
- especially on NOMMU machines. Busybox also doesn't need
- DES encryption/decryption and can do with smaller code.
-
- If you enable this option, it will add about 4.8k of code
- if you are building dynamically linked executable.
- In static build, it makes code _smaller_ by about 1.2k,
- and likely many kilobytes less of bss.
-
-config INITRAMFS_BUSYBOX_USE_BB_CRYPT_SHA
- bool "Enable SHA256/512 crypt functions"
- default n
- depends on INITRAMFS_BUSYBOX_USE_BB_CRYPT
- help
- Enable this if you have passwords starting with "$5$" or "$6$"
- in your /etc/passwd or /etc/shadow files. These passwords
- are hashed using SHA256 and SHA512 algorithms. Support for them
- was added to glibc in 2008.
- With this option off, login will fail password check for any
- user which has password encrypted with these algorithms.
-
-config INITRAMFS_BUSYBOX_ADDGROUP
- bool "addgroup"
- default n
- help
- Utility for creating a new group account.
-
-config INITRAMFS_BUSYBOX_FEATURE_ADDGROUP_LONG_OPTIONS
- bool "Enable long options"
- default n
- depends on INITRAMFS_BUSYBOX_ADDGROUP && INITRAMFS_BUSYBOX_LONG_OPTS
- help
- Support long options for the addgroup applet.
-
-config INITRAMFS_BUSYBOX_FEATURE_ADDUSER_TO_GROUP
- bool "Support for adding users to groups"
- default n
- depends on INITRAMFS_BUSYBOX_ADDGROUP
- help
- If called with two non-option arguments,
- addgroup will add an existing user to an
- existing group.
-
-config INITRAMFS_BUSYBOX_DELGROUP
- bool "delgroup"
- default n
- help
- Utility for deleting a group account.
-
-config INITRAMFS_BUSYBOX_FEATURE_DEL_USER_FROM_GROUP
- bool "Support for removing users from groups"
- default n
- depends on INITRAMFS_BUSYBOX_DELGROUP
- help
- If called with two non-option arguments, deluser
- or delgroup will remove an user from a specified group.
-
-config INITRAMFS_BUSYBOX_FEATURE_CHECK_NAMES
- bool "Enable sanity check on user/group names in adduser and addgroup"
- default n
- depends on INITRAMFS_BUSYBOX_ADDUSER || INITRAMFS_BUSYBOX_ADDGROUP
- help
- Enable sanity check on user and group names in adduser and addgroup.
- To avoid problems, the user or group name should consist only of
- letters, digits, underscores, periods, at signs and dashes,
- and not start with a dash (as defined by IEEE Std 1003.1-2001).
- For compatibility with Samba machine accounts "$" is also supported
- at the end of the user or group name.
-
-config INITRAMFS_BUSYBOX_ADDUSER
- bool "adduser"
- default n
- help
- Utility for creating a new user account.
-
-config INITRAMFS_BUSYBOX_FEATURE_ADDUSER_LONG_OPTIONS
- bool "Enable long options"
- default n
- depends on INITRAMFS_BUSYBOX_ADDUSER && INITRAMFS_BUSYBOX_LONG_OPTS
- help
- Support long options for the adduser applet.
-
-config INITRAMFS_BUSYBOX_FIRST_SYSTEM_ID
- int "First valid system uid or gid for adduser and addgroup"
- depends on INITRAMFS_BUSYBOX_ADDUSER || INITRAMFS_BUSYBOX_ADDGROUP
- range 0 64900
- default 100
- help
- First valid system uid or gid for adduser and addgroup
-
-config INITRAMFS_BUSYBOX_LAST_SYSTEM_ID
- int "Last valid system uid or gid for adduser and addgroup"
- depends on INITRAMFS_BUSYBOX_ADDUSER || INITRAMFS_BUSYBOX_ADDGROUP
- range 0 64900
- default 999
- help
- Last valid system uid or gid for adduser and addgroup
-
-config INITRAMFS_BUSYBOX_DELUSER
- bool "deluser"
- default n
- help
- Utility for deleting a user account.
-
-config INITRAMFS_BUSYBOX_GETTY
- bool "getty"
- default n
- select INITRAMFS_BUSYBOX_FEATURE_SYSLOG
- help
- getty lets you log in on a tty, it is normally invoked by init.
-
-config INITRAMFS_BUSYBOX_FEATURE_UTMP
- bool "Support utmp file"
- depends on INITRAMFS_BUSYBOX_GETTY || INITRAMFS_BUSYBOX_LOGIN || INITRAMFS_BUSYBOX_SU || INITRAMFS_BUSYBOX_WHO
- default n
- help
- The file /var/run/utmp is used to track who is currently logged in.
-
-config INITRAMFS_BUSYBOX_FEATURE_WTMP
- bool "Support wtmp file"
- depends on INITRAMFS_BUSYBOX_GETTY || INITRAMFS_BUSYBOX_LOGIN || INITRAMFS_BUSYBOX_SU || INITRAMFS_BUSYBOX_LAST
- default n
- select INITRAMFS_BUSYBOX_FEATURE_UTMP
- help
- The file /var/run/wtmp is used to track when user's have logged into
- and logged out of the system.
-
-config INITRAMFS_BUSYBOX_LOGIN
- bool "login"
- default n
- select INITRAMFS_BUSYBOX_FEATURE_SUID
- select INITRAMFS_BUSYBOX_FEATURE_SYSLOG
- help
- login is used when signing onto a system.
-
- Note that Busybox binary must be setuid root for this applet to
- work properly.
-
-config INITRAMFS_BUSYBOX_PAM
- bool "Support for PAM (Pluggable Authentication Modules)"
- default n
- depends on INITRAMFS_BUSYBOX_LOGIN
- help
- Use PAM in login(1) instead of direct access to password database.
-
-config INITRAMFS_BUSYBOX_LOGIN_SCRIPTS
- bool "Support for login scripts"
- depends on INITRAMFS_BUSYBOX_LOGIN
- default n
- help
- Enable this if you want login to execute $LOGIN_PRE_SUID_SCRIPT
- just prior to switching from root to logged-in user.
-
-config INITRAMFS_BUSYBOX_FEATURE_NOLOGIN
- bool "Support for /etc/nologin"
- default y
- depends on INITRAMFS_BUSYBOX_LOGIN
- help
- The file /etc/nologin is used by (some versions of) login(1).
- If it exists, non-root logins are prohibited.
-
-config INITRAMFS_BUSYBOX_FEATURE_SECURETTY
- bool "Support for /etc/securetty"
- default y
- depends on INITRAMFS_BUSYBOX_LOGIN
- help
- The file /etc/securetty is used by (some versions of) login(1).
- The file contains the device names of tty lines (one per line,
- without leading /dev/) on which root is allowed to login.
-
-config INITRAMFS_BUSYBOX_PASSWD
- bool "passwd"
- default n
- select INITRAMFS_BUSYBOX_FEATURE_SUID
- select INITRAMFS_BUSYBOX_FEATURE_SYSLOG
- help
- passwd changes passwords for user and group accounts. A normal user
- may only change the password for his/her own account, the super user
- may change the password for any account. The administrator of a group
- may change the password for the group.
-
- Note that Busybox binary must be setuid root for this applet to
- work properly.
-
-config INITRAMFS_BUSYBOX_FEATURE_PASSWD_WEAK_CHECK
- bool "Check new passwords for weakness"
- default y
- depends on INITRAMFS_BUSYBOX_PASSWD
- help
- With this option passwd will refuse new passwords which are "weak".
-
-config INITRAMFS_BUSYBOX_CRYPTPW
- bool "cryptpw"
- default n
- help
- Encrypts the given password with the crypt(3) libc function
- using the given salt. Debian has this utility under mkpasswd
- name. Busybox provides mkpasswd as an alias for cryptpw.
-
-config INITRAMFS_BUSYBOX_CHPASSWD
- bool "chpasswd"
- default n
- help
- Reads a file of user name and password pairs from standard input
- and uses this information to update a group of existing users.
-
-config INITRAMFS_BUSYBOX_SU
- bool "su"
- default n
- select INITRAMFS_BUSYBOX_FEATURE_SUID
- select INITRAMFS_BUSYBOX_FEATURE_SYSLOG
- help
- su is used to become another user during a login session.
- Invoked without a username, su defaults to becoming the super user.
-
- Note that Busybox binary must be setuid root for this applet to
- work properly.
-
-config INITRAMFS_BUSYBOX_FEATURE_SU_SYSLOG
- bool "Enable su to write to syslog"
- default y
- depends on INITRAMFS_BUSYBOX_SU
-
-config INITRAMFS_BUSYBOX_FEATURE_SU_CHECKS_SHELLS
- bool "Enable su to check user's shell to be listed in /etc/shells"
- depends on INITRAMFS_BUSYBOX_SU
- default y
-
-config INITRAMFS_BUSYBOX_SULOGIN
- bool "sulogin"
- default n
- select INITRAMFS_BUSYBOX_FEATURE_SYSLOG
- help
- sulogin is invoked when the system goes into single user
- mode (this is done through an entry in inittab).
-
-config INITRAMFS_BUSYBOX_VLOCK
- bool "vlock"
- default n
- select INITRAMFS_BUSYBOX_FEATURE_SUID
- help
- Build the "vlock" applet which allows you to lock (virtual) terminals.
-
- Note that Busybox binary must be setuid root for this applet to
- work properly.
-
-endmenu
diff --git a/config/initramfs-busybox/mailutils/Config.in b/config/initramfs-busybox/mailutils/Config.in
deleted file mode 100644
index 7c0c91ae9..000000000
--- a/config/initramfs-busybox/mailutils/Config.in
+++ /dev/null
@@ -1,53 +0,0 @@
-menu "Mail Utilities"
-
-config INITRAMFS_BUSYBOX_MAKEMIME
- bool "makemime"
- default n
- help
- Create MIME-formatted messages.
-
-config INITRAMFS_BUSYBOX_FEATURE_MIME_CHARSET
- string "Default charset"
- default "us-ascii"
- depends on INITRAMFS_BUSYBOX_MAKEMIME || INITRAMFS_BUSYBOX_REFORMIME || INITRAMFS_BUSYBOX_SENDMAIL
- help
- Default charset of the message.
-
-config INITRAMFS_BUSYBOX_POPMAILDIR
- bool "popmaildir"
- default n
- help
- Simple yet powerful POP3 mail popper. Delivers content
- of remote mailboxes to local Maildir.
-
-config INITRAMFS_BUSYBOX_FEATURE_POPMAILDIR_DELIVERY
- bool "Allow message filters and custom delivery program"
- default n
- depends on INITRAMFS_BUSYBOX_POPMAILDIR
- help
- Allow to use a custom program to filter the content
- of the message before actual delivery (-F "prog [args...]").
- Allow to use a custom program for message actual delivery
- (-M "prog [args...]").
-
-config INITRAMFS_BUSYBOX_REFORMIME
- bool "reformime"
- default n
- help
- Parse MIME-formatted messages.
-
-config INITRAMFS_BUSYBOX_FEATURE_REFORMIME_COMPAT
- bool "Accept and ignore options other than -x and -X"
- default y
- depends on INITRAMFS_BUSYBOX_REFORMIME
- help
- Accept (for compatibility only) and ignore options
- other than -x and -X.
-
-config INITRAMFS_BUSYBOX_SENDMAIL
- bool "sendmail"
- default n
- help
- Barebones sendmail.
-
-endmenu
diff --git a/config/initramfs-busybox/miscutils/Config.in b/config/initramfs-busybox/miscutils/Config.in
deleted file mode 100644
index e305cac9c..000000000
--- a/config/initramfs-busybox/miscutils/Config.in
+++ /dev/null
@@ -1,626 +0,0 @@
-#
-# For a description of the syntax of this configuration file,
-# see scripts/kbuild/config-language.txt.
-#
-
-menu "Miscellaneous Utilities"
-
-config INITRAMFS_BUSYBOX_ADJTIMEX
- bool "adjtimex"
- default n
- help
- Adjtimex reads and optionally sets adjustment parameters for
- the Linux clock adjustment algorithm.
-
-config INITRAMFS_BUSYBOX_BBCONFIG
- bool "bbconfig"
- default n
- help
- The bbconfig applet will print the config file with which
- busybox was built.
-
-config INITRAMFS_BUSYBOX_BEEP
- bool "beep"
- default n
- help
- The beep applets beeps in a given freq/Hz.
-
-config INITRAMFS_BUSYBOX_FEATURE_BEEP_FREQ
- int "default frequency"
- range 0 2147483647
- default 4000
- depends on INITRAMFS_BUSYBOX_BEEP
- help
- Frequency for default beep.
-
-config INITRAMFS_BUSYBOX_FEATURE_BEEP_LENGTH_MS
- int "default length"
- range 0 2147483647
- default 30
- depends on INITRAMFS_BUSYBOX_BEEP
- help
- Length in ms for default beep.
-
-config INITRAMFS_BUSYBOX_CHAT
- bool "chat"
- default n
- help
- Simple chat utility.
-
-config INITRAMFS_BUSYBOX_FEATURE_CHAT_NOFAIL
- bool "Enable NOFAIL expect strings"
- depends on INITRAMFS_BUSYBOX_CHAT
- default y
- help
- When enabled expect strings which are started with a dash trigger
- no-fail mode. That is when expectation is not met within timeout
- the script is not terminated but sends next SEND string and waits
- for next EXPECT string. This allows to compose far more flexible
- scripts.
-
-config INITRAMFS_BUSYBOX_FEATURE_CHAT_TTY_HIFI
- bool "Force STDIN to be a TTY"
- depends on INITRAMFS_BUSYBOX_CHAT
- default n
- help
- Original chat always treats STDIN as a TTY device and sets for it
- so-called raw mode. This option turns on such behaviour.
-
-config INITRAMFS_BUSYBOX_FEATURE_CHAT_IMPLICIT_CR
- bool "Enable implicit Carriage Return"
- depends on INITRAMFS_BUSYBOX_CHAT
- default y
- help
- When enabled make chat to terminate all SEND strings with a "\r"
- unless "\c" is met anywhere in the string.
-
-config INITRAMFS_BUSYBOX_FEATURE_CHAT_SWALLOW_OPTS
- bool "Swallow options"
- depends on INITRAMFS_BUSYBOX_CHAT
- default n
- help
- Busybox chat require no options. To make it not fail when used
- in place of original chat (which has a bunch of options) turn
- this on.
-
-config INITRAMFS_BUSYBOX_FEATURE_CHAT_SEND_ESCAPES
- bool "Support weird SEND escapes"
- depends on INITRAMFS_BUSYBOX_CHAT
- default n
- help
- Original chat uses some escape sequences in SEND arguments which
- are not sent to device but rather performs special actions.
- E.g. "\K" means to send a break sequence to device.
- "\d" delays execution for a second, "\p" -- for a 1/100 of second.
- Before turning this option on think twice: do you really need them?
-
-config INITRAMFS_BUSYBOX_FEATURE_CHAT_VAR_ABORT_LEN
- bool "Support variable-length ABORT conditions"
- depends on INITRAMFS_BUSYBOX_CHAT
- default n
- help
- Original chat uses fixed 50-bytes length ABORT conditions. Say N here.
-
-config INITRAMFS_BUSYBOX_FEATURE_CHAT_CLR_ABORT
- bool "Support revoking of ABORT conditions"
- depends on INITRAMFS_BUSYBOX_CHAT
- default n
- help
- Support CLR_ABORT directive.
-
-config INITRAMFS_BUSYBOX_CHRT
- bool "chrt"
- default n
- help
- manipulate real-time attributes of a process.
- This requires sched_{g,s}etparam support in your libc.
-
-config INITRAMFS_BUSYBOX_CROND
- bool "crond"
- default n
- select INITRAMFS_BUSYBOX_FEATURE_SUID
- select INITRAMFS_BUSYBOX_FEATURE_SYSLOG
- help
- Crond is a background daemon that parses individual crontab
- files and executes commands on behalf of the users in question.
- This is a port of dcron from slackware. It uses files of the
- format /var/spool/cron/crontabs/<username> files, for example:
- $ cat /var/spool/cron/crontabs/root
- # Run daily cron jobs at 4:40 every day:
- 40 4 * * * /etc/cron/daily > /dev/null 2>&1
-
-config INITRAMFS_BUSYBOX_FEATURE_CROND_D
- bool "Support option -d to redirect output to stderr"
- depends on INITRAMFS_BUSYBOX_CROND
- default n
- help
- -d sets loglevel to 0 (most verbose) and directs all output to stderr.
-
-config INITRAMFS_BUSYBOX_FEATURE_CROND_CALL_SENDMAIL
- bool "Using /usr/sbin/sendmail?"
- default n
- depends on INITRAMFS_BUSYBOX_CROND
- help
- Support calling /usr/sbin/sendmail for send cmd outputs.
-
-config INITRAMFS_BUSYBOX_FEATURE_CROND_DIR
- string "crond spool directory"
- default "/var/spool/cron"
- depends on INITRAMFS_BUSYBOX_CROND || INITRAMFS_BUSYBOX_CRONTAB
- help
- Location of crond spool.
-
-config INITRAMFS_BUSYBOX_CRONTAB
- bool "crontab"
- default n
- select INITRAMFS_BUSYBOX_FEATURE_SUID
- help
- Crontab manipulates the crontab for a particular user. Only
- the superuser may specify a different user and/or crontab directory.
- Note that Busybox binary must be setuid root for this applet to
- work properly.
-
-config INITRAMFS_BUSYBOX_DC
- bool "dc"
- default n
- help
- Dc is a reverse-polish desk calculator which supports unlimited
- precision arithmetic.
-
-config INITRAMFS_BUSYBOX_FEATURE_DC_LIBM
- bool "Enable power and exp functions (requires libm)"
- default n
- depends on INITRAMFS_BUSYBOX_DC
- help
- Enable power and exp functions.
- NOTE: This will require libm to be present for linking.
-
-config INITRAMFS_BUSYBOX_DEVFSD
- bool "devfsd (obsolete)"
- default n
- select INITRAMFS_BUSYBOX_FEATURE_SYSLOG
- help
- This is deprecated and should NOT be used anymore.
- Use linux >= 2.6 (optionally with hotplug) and mdev instead!
- See docs/mdev.txt for detailed instructions on how to use mdev
- instead.
-
- Provides compatibility with old device names on a devfs systems.
- You should set it to true if you have devfs enabled.
- The following keywords in devsfd.conf are supported:
- "CLEAR_CONFIG", "INCLUDE", "OPTIONAL_INCLUDE", "RESTORE",
- "PERMISSIONS", "EXECUTE", "COPY", "IGNORE",
- "MKOLDCOMPAT", "MKNEWCOMPAT","RMOLDCOMPAT", "RMNEWCOMPAT".
-
- But only if they are written UPPERCASE!!!!!!!!
-
-config INITRAMFS_BUSYBOX_DEVFSD_MODLOAD
- bool "Adds support for MODLOAD keyword in devsfd.conf"
- default n
- depends on INITRAMFS_BUSYBOX_DEVFSD
- help
- This actually doesn't work with busybox modutils but needs
- the external modutils.
-
-config INITRAMFS_BUSYBOX_DEVFSD_FG_NP
- bool "Enables the -fg and -np options"
- default n
- depends on INITRAMFS_BUSYBOX_DEVFSD
- help
- -fg Run the daemon in the foreground.
- -np Exit after parsing the configuration file.
- Do not poll for events.
-
-config INITRAMFS_BUSYBOX_DEVFSD_VERBOSE
- bool "Increases logging (and size)"
- default n
- depends on INITRAMFS_BUSYBOX_DEVFSD
- help
- Increases logging to stderr or syslog.
-
-config INITRAMFS_BUSYBOX_FEATURE_DEVFS
- bool "Use devfs names for all devices (obsolete)"
- default n
- help
- This is obsolete and should NOT be used anymore.
- Use linux >= 2.6 (optionally with hotplug) and mdev instead!
-
- For legacy systems -- if there is no way around devfsd -- this
- tells busybox to look for names like /dev/loop/0 instead of
- /dev/loop0. If your /dev directory has normal names instead of
- devfs names, you don't want this.
-
-config INITRAMFS_BUSYBOX_DEVMEM
- bool "devmem"
- default n
- help
- devmem is a small program that reads and writes from physical
- memory using /dev/mem.
-
-config INITRAMFS_BUSYBOX_EJECT
- bool "eject"
- default n
- help
- Used to eject cdroms. (defaults to /dev/cdrom)
-
-config INITRAMFS_BUSYBOX_FEATURE_EJECT_SCSI
- bool "SCSI support"
- default n
- depends on INITRAMFS_BUSYBOX_EJECT
- help
- Add the -s option to eject, this allows to eject SCSI-Devices and
- usb-storage devices.
-
-config INITRAMFS_BUSYBOX_FBSPLASH
- bool "fbsplash"
- default n
- help
- Shows splash image and progress bar on framebuffer device.
- Can be used during boot phase of an embedded device. ~2kb.
- Usage:
- - use kernel option 'vga=xxx' or otherwise enable fb device.
- - put somewhere fbsplash.cfg file and an image in .ppm format.
- - $ setsid fbsplash [params] &
- -c: hide cursor
- -d /dev/fbN: framebuffer device (if not /dev/fb0)
- -s path_to_image_file (can be "-" for stdin)
- -i path_to_cfg_file (can be "-" for stdin)
- -f path_to_fifo (can be "-" for stdin)
- - if you want to run it only in presence of kernel parameter:
- grep -q "fbsplash=on" </proc/cmdline && setsid fbsplash [params] &
- - commands for fifo:
- "NN" (ASCII decimal number) - percentage to show on progress bar
- "exit" - well you guessed it
-
-config INITRAMFS_BUSYBOX_FLASH_LOCK
- bool "flash_lock"
- default n
- help
- The flash_lock binary from mtd-utils as of git head 5ec0c10d0. This
- utility locks part or all of the flash device.
-
-config INITRAMFS_BUSYBOX_FLASH_UNLOCK
- bool "flash_unlock"
- default n
- help
- The flash_unlock binary from mtd-utils as of git head 5ec0c10d0. This
- utility unlocks part or all of the flash device.
-
-config INITRAMFS_BUSYBOX_FLASH_ERASEALL
- bool "flash_eraseall"
- default n
- help
- The flash_eraseall binary from mtd-utils as of git head c4c6a59eb.
- This utility is used to erase the whole MTD device.
-
-config INITRAMFS_BUSYBOX_IONICE
- bool "ionice"
- default n
- help
- Set/set program io scheduling class and priority
- Requires kernel >= 2.6.13
-
-config INITRAMFS_BUSYBOX_INOTIFYD
- bool "inotifyd"
- default n
- help
- Simple inotify daemon. Reports filesystem changes. Requires
- kernel >= 2.6.13
-
-config INITRAMFS_BUSYBOX_LAST
- bool "last"
- default n
- select INITRAMFS_BUSYBOX_FEATURE_WTMP
- help
- 'last' displays a list of the last users that logged into the system.
-
-choice
- prompt "Choose last implementation"
- depends on INITRAMFS_BUSYBOX_LAST
- default INITRAMFS_BUSYBOX_FEATURE_LAST_SMALL
-
-config INITRAMFS_BUSYBOX_FEATURE_LAST_SMALL
- bool "small"
- help
- This is a small version of last with just the basic set of
- features.
-
-config INITRAMFS_BUSYBOX_FEATURE_LAST_FANCY
- bool "huge"
- help
- 'last' displays detailed information about the last users that
- logged into the system (mimics sysvinit last). +900 bytes.
-endchoice
-
-config INITRAMFS_BUSYBOX_LESS
- bool "less"
- default n
- help
- 'less' is a pager, meaning that it displays text files. It possesses
- a wide array of features, and is an improvement over 'more'.
-
-config INITRAMFS_BUSYBOX_FEATURE_LESS_MAXLINES
- int "Max number of input lines less will try to eat"
- default 9999999
- depends on INITRAMFS_BUSYBOX_LESS
-
-config INITRAMFS_BUSYBOX_FEATURE_LESS_BRACKETS
- bool "Enable bracket searching"
- default y
- depends on INITRAMFS_BUSYBOX_LESS
- help
- This option adds the capability to search for matching left and right
- brackets, facilitating programming.
-
-config INITRAMFS_BUSYBOX_FEATURE_LESS_FLAGS
- bool "Enable extra flags"
- default y
- depends on INITRAMFS_BUSYBOX_LESS
- help
- The extra flags provided do the following:
-
- The -M flag enables a more sophisticated status line.
- The -m flag enables a simpler status line with a percentage.
-
-config INITRAMFS_BUSYBOX_FEATURE_LESS_MARKS
- bool "Enable marks"
- default n
- depends on INITRAMFS_BUSYBOX_LESS
- help
- Marks enable positions in a file to be stored for easy reference.
-
-config INITRAMFS_BUSYBOX_FEATURE_LESS_REGEXP
- bool "Enable regular expressions"
- default n
- depends on INITRAMFS_BUSYBOX_LESS
- help
- Enable regular expressions, allowing complex file searches.
-
-config INITRAMFS_BUSYBOX_FEATURE_LESS_WINCH
- bool "Enable automatic resizing on window size changes"
- default n
- depends on INITRAMFS_BUSYBOX_LESS
- help
- Makes less track window size changes.
-
-config INITRAMFS_BUSYBOX_FEATURE_LESS_DASHCMD
- bool "Enable flag changes ('-' command)"
- default n
- depends on INITRAMFS_BUSYBOX_LESS
- help
- This enables the ability to change command-line flags within
- less itself ('-' keyboard command).
-
-config INITRAMFS_BUSYBOX_FEATURE_LESS_LINENUMS
- bool "Enable dynamic switching of line numbers"
- default n
- depends on INITRAMFS_BUSYBOX_FEATURE_LESS_DASHCMD
- help
- Enable "-N" command.
-
-config INITRAMFS_BUSYBOX_HDPARM
- bool "hdparm"
- default n
- help
- Get/Set hard drive parameters. Primarily intended for ATA
- drives. Adds about 13k (or around 30k if you enable the
- FEATURE_HDPARM_GET_IDENTITY option)....
-
-config INITRAMFS_BUSYBOX_FEATURE_HDPARM_GET_IDENTITY
- bool "Support obtaining detailed information directly from drives"
- default y
- depends on INITRAMFS_BUSYBOX_HDPARM
- help
- Enables the -I and -i options to obtain detailed information
- directly from drives about their capabilities and supported ATA
- feature set. If no device name is specified, hdparm will read
- identify data from stdin. Enabling this option will add about 16k...
-
-config INITRAMFS_BUSYBOX_FEATURE_HDPARM_HDIO_SCAN_HWIF
- bool "Register an IDE interface (DANGEROUS)"
- default n
- depends on INITRAMFS_BUSYBOX_HDPARM
- help
- Enables the 'hdparm -R' option to register an IDE interface.
- This is dangerous stuff, so you should probably say N.
-
-config INITRAMFS_BUSYBOX_FEATURE_HDPARM_HDIO_UNREGISTER_HWIF
- bool "Un-register an IDE interface (DANGEROUS)"
- default n
- depends on INITRAMFS_BUSYBOX_HDPARM
- help
- Enables the 'hdparm -U' option to un-register an IDE interface.
- This is dangerous stuff, so you should probably say N.
-
-config INITRAMFS_BUSYBOX_FEATURE_HDPARM_HDIO_DRIVE_RESET
- bool "Perform device reset (DANGEROUS)"
- default n
- depends on INITRAMFS_BUSYBOX_HDPARM
- help
- Enables the 'hdparm -w' option to perform a device reset.
- This is dangerous stuff, so you should probably say N.
-
-config INITRAMFS_BUSYBOX_FEATURE_HDPARM_HDIO_TRISTATE_HWIF
- bool "Tristate device for hotswap (DANGEROUS)"
- default n
- depends on INITRAMFS_BUSYBOX_HDPARM
- help
- Enables the 'hdparm -x' option to tristate device for hotswap,
- and the '-b' option to get/set bus state. This is dangerous
- stuff, so you should probably say N.
-
-config INITRAMFS_BUSYBOX_FEATURE_HDPARM_HDIO_GETSET_DMA
- bool "Get/set using_dma flag"
- default n
- depends on INITRAMFS_BUSYBOX_HDPARM
- help
- Enables the 'hdparm -d' option to get/set using_dma flag.
-
-config INITRAMFS_BUSYBOX_MAKEDEVS
- bool "makedevs"
- default n
- help
- 'makedevs' is a utility used to create a batch of devices with
- one command.
- .
- There are two choices for command line behaviour, the interface
- as used by LEAF/Linux Router Project, or a device table file.
- .
- 'leaf' is traditionally what busybox follows, it allows multiple
- devices of a particluar type to be created per command.
- e.g. /dev/hda[0-9]
- Device properties are passed as command line arguments.
- .
- 'table' reads device properties from a file or stdin, allowing
- a batch of unrelated devices to be made with one command.
- User/group names are allowed as an alternative to uid/gid.
-
-choice
- prompt "Choose makedevs behaviour"
- depends on INITRAMFS_BUSYBOX_MAKEDEVS
- default INITRAMFS_BUSYBOX_FEATURE_MAKEDEVS_TABLE
-
-config INITRAMFS_BUSYBOX_FEATURE_MAKEDEVS_LEAF
- bool "leaf"
-
-config INITRAMFS_BUSYBOX_FEATURE_MAKEDEVS_TABLE
- bool "table"
-
-endchoice
-
-config INITRAMFS_BUSYBOX_MAN
- bool "man"
- default n
- help
- Format and display manual pages.
-
-config INITRAMFS_BUSYBOX_MICROCOM
- bool "microcom"
- default n
- help
- The poor man's minicom utility for chatting with serial port devices.
-
-config INITRAMFS_BUSYBOX_MOUNTPOINT
- bool "mountpoint"
- default n
- help
- mountpoint checks if the directory is a mountpoint.
-
-config INITRAMFS_BUSYBOX_MT
- bool "mt"
- default n
- help
- mt is used to control tape devices. You can use the mt utility
- to advance or rewind a tape past a specified number of archive
- files on the tape.
-
-config INITRAMFS_BUSYBOX_RAIDAUTORUN
- bool "raidautorun"
- default n
- help
- raidautorun tells the kernel md driver to
- search and start RAID arrays.
-
-config INITRAMFS_BUSYBOX_READAHEAD
- bool "readahead"
- default n
- depends on INITRAMFS_BUSYBOX_LFS
- help
- Preload the files listed on the command line into RAM cache so that
- subsequent reads on these files will not block on disk I/O.
-
- This applet just calls the readahead(2) system call on each file.
- It is mainly useful in system startup scripts to preload files
- or executables before they are used. When used at the right time
- (in particular when a CPU bound process is running) it can
- significantly speed up system startup.
-
- As readahead(2) blocks until each file has been read, it is best to
- run this applet as a background job.
-
-config INITRAMFS_BUSYBOX_RUNLEVEL
- bool "runlevel"
- default n
- help
- find the current and previous system runlevel.
-
- This applet uses utmp but does not rely on busybox supporing
- utmp on purpose. It is used by e.g. emdebian via /etc/init.d/rc.
-
-config INITRAMFS_BUSYBOX_RX
- bool "rx"
- default n
- help
- Receive files using the Xmodem protocol.
-
-config INITRAMFS_BUSYBOX_SETSID
- bool "setsid"
- default n
- help
- setsid runs a program in a new session
-
-config INITRAMFS_BUSYBOX_STRINGS
- bool "strings"
- default n
- help
- strings prints the printable character sequences for each file
- specified.
-
-config INITRAMFS_BUSYBOX_TASKSET
- bool "taskset"
- default n
- help
- Retrieve or set a processes's CPU affinity.
- This requires sched_{g,s}etaffinity support in your libc.
-
-config INITRAMFS_BUSYBOX_FEATURE_TASKSET_FANCY
- bool "Fancy output"
- default y
- depends on INITRAMFS_BUSYBOX_TASKSET
- help
- Add code for fancy output. This merely silences a compiler-warning
- and adds about 135 Bytes. May be needed for machines with alot
- of CPUs.
-
-config INITRAMFS_BUSYBOX_TIME
- bool "time"
- default n
- help
- The time command runs the specified program with the given arguments.
- When the command finishes, time writes a message to standard output
- giving timing statistics about this program run.
-
-config INITRAMFS_BUSYBOX_TIMEOUT
- bool "timeout"
- default n
- help
- Runs a program and watches it. If it does not terminate in
- specified number of seconds, it is sent a signal.
-
-config INITRAMFS_BUSYBOX_TTYSIZE
- bool "ttysize"
- default n
- help
- A replacement for "stty size". Unlike stty, can report only width,
- only height, or both, in any order. It also does not complain on
- error, but returns default 80x24.
- Usage in shell scripts: width=`ttysize w`.
-
-config INITRAMFS_BUSYBOX_VOLNAME
- bool "volname"
- default n
- help
- Prints a CD-ROM volume name.
-
-config INITRAMFS_BUSYBOX_WATCHDOG
- bool "watchdog"
- default n
- help
- The watchdog utility is used with hardware or software watchdog
- device drivers. It opens the specified watchdog device special file
- and periodically writes a magic character to the device. If the
- watchdog applet ever fails to write the magic character within a
- certain amount of time, the watchdog device assumes the system has
- hung, and will cause the hardware to reboot.
-
-endmenu
diff --git a/config/initramfs-busybox/modutils/Config.in b/config/initramfs-busybox/modutils/Config.in
deleted file mode 100644
index 7d12ff697..000000000
--- a/config/initramfs-busybox/modutils/Config.in
+++ /dev/null
@@ -1,226 +0,0 @@
-#
-# For a description of the syntax of this configuration file,
-# see scripts/kbuild/config-language.txt.
-#
-
-menu "Linux Module Utilities"
-
-config INITRAMFS_BUSYBOX_MODPROBE_SMALL
- bool "Simplified modutils"
- default n
- help
- Simplified modutils.
-
- With this option modprobe does not require modules.dep file
- and does not use /etc/modules.conf file.
- It scans module files in /lib/modules/`uname -r` and
- determines dependencies and module alias names on the fly.
- This may make module loading slower, most notably
- when one needs to load module by alias (this requires
- scanning through module _bodies_).
-
- At the first attempt to load a module by alias modprobe
- will try to generate modules.dep.bb file in order to speed up
- future loads by alias. Failure to do so (read-only /lib/modules,
- etc) is not reported, and future modprobes will be slow too.
-
- NB: modules.dep.bb file format is not compatible
- with modules.dep file as created/used by standard module tools.
-
- Additional module parameters can be stored in
- /etc/modules/$module_name files.
-
- Apart from modprobe, other utilities are also provided:
- - insmod is an alias to modprobe
- - rmmod is an alias to modprobe -r
- - depmod generates modules.dep.bb
-
- As of 2008-07, this code is experimental. It is 14kb smaller
- than "non-small" modutils.
-
-config INITRAMFS_BUSYBOX_FEATURE_MODPROBE_SMALL_OPTIONS_ON_CMDLINE
- bool "Accept module options on modprobe command line"
- default n
- depends on INITRAMFS_BUSYBOX_MODPROBE_SMALL
- help
- Allow insmod and modprobe take module options from command line.
-
-config INITRAMFS_BUSYBOX_FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED
- bool "Skip loading of already loaded modules"
- default n
- depends on INITRAMFS_BUSYBOX_MODPROBE_SMALL
- help
- Check if the module is already loaded.
-
-config INITRAMFS_BUSYBOX_INSMOD
- bool "insmod"
- default n
- depends on !INITRAMFS_BUSYBOX_MODPROBE_SMALL
- help
- insmod is used to load specified modules in the running kernel.
-
-config INITRAMFS_BUSYBOX_RMMOD
- bool "rmmod"
- default n
- depends on !INITRAMFS_BUSYBOX_MODPROBE_SMALL
- help
- rmmod is used to unload specified modules from the kernel.
-
-config INITRAMFS_BUSYBOX_LSMOD
- bool "lsmod"
- default n
- depends on !INITRAMFS_BUSYBOX_MODPROBE_SMALL
- help
- lsmod is used to display a list of loaded modules.
-
-config INITRAMFS_BUSYBOX_FEATURE_LSMOD_PRETTY_2_6_OUTPUT
- bool "Pretty output"
- default n
- depends on INITRAMFS_BUSYBOX_LSMOD
- help
- This option makes output format of lsmod adjusted to
- the format of module-init-tools for Linux kernel 2.6.
- Increases size somewhat.
-
-config INITRAMFS_BUSYBOX_MODPROBE
- bool "modprobe"
- default n
- depends on !INITRAMFS_BUSYBOX_MODPROBE_SMALL
- help
- Handle the loading of modules, and their dependencies on a high
- level.
-
-config INITRAMFS_BUSYBOX_FEATURE_MODPROBE_BLACKLIST
- bool "Blacklist support"
- default n
- depends on INITRAMFS_BUSYBOX_MODPROBE
- help
- Say 'y' here to enable support for the 'blacklist' command in
- modprobe.conf. This prevents the alias resolver to resolve
- blacklisted modules. This is useful if you want to prevent your
- hardware autodetection scripts to load modules like evdev, frame
- buffer drivers etc.
-
-config INITRAMFS_BUSYBOX_DEPMOD
- bool "depmod"
- default n
- depends on !INITRAMFS_BUSYBOX_MODPROBE_SMALL
- help
- depmod generates modules.dep (and potentially modules.alias
- and modules.symbols) that contain dependency information
- for modprobe.
-
-comment "Options common to multiple modutils"
-
-config INITRAMFS_BUSYBOX_FEATURE_2_4_MODULES
- bool "Support version 2.2/2.4 Linux kernels"
- default n
- depends on INITRAMFS_BUSYBOX_INSMOD || INITRAMFS_BUSYBOX_RMMOD || INITRAMFS_BUSYBOX_LSMOD
- help
- Support module loading for 2.2.x and 2.4.x Linux kernels.
- This increases size considerably. Say N unless you plan
- to run ancient kernels.
-
-config INITRAMFS_BUSYBOX_FEATURE_INSMOD_VERSION_CHECKING
- bool "Enable module version checking"
- default n
- depends on INITRAMFS_BUSYBOX_FEATURE_2_4_MODULES && (INITRAMFS_BUSYBOX_INSMOD || INITRAMFS_BUSYBOX_MODPROBE)
- help
- Support checking of versions for modules. This is used to
- ensure that the kernel and module are made for each other.
-
-config INITRAMFS_BUSYBOX_FEATURE_INSMOD_KSYMOOPS_SYMBOLS
- bool "Add module symbols to kernel symbol table"
- default n
- depends on INITRAMFS_BUSYBOX_FEATURE_2_4_MODULES && (INITRAMFS_BUSYBOX_INSMOD || INITRAMFS_BUSYBOX_MODPROBE)
- help
- By adding module symbols to the kernel symbol table, Oops messages
- occuring within kernel modules can be properly debugged. By enabling
- this feature, module symbols will always be added to the kernel symbol
- table for proper debugging support. If you are not interested in
- Oops messages from kernel modules, say N.
-
-config INITRAMFS_BUSYBOX_FEATURE_INSMOD_LOADINKMEM
- bool "In kernel memory optimization (uClinux only)"
- default n
- depends on INITRAMFS_BUSYBOX_FEATURE_2_4_MODULES && (INITRAMFS_BUSYBOX_INSMOD || INITRAMFS_BUSYBOX_MODPROBE)
- help
- This is a special uClinux only memory optimization that lets insmod
- load the specified kernel module directly into kernel space, reducing
- memory usage by preventing the need for two copies of the module
- being loaded into memory.
-
-config INITRAMFS_BUSYBOX_FEATURE_INSMOD_LOAD_MAP
- bool "Enable insmod load map (-m) option"
- default n
- depends on INITRAMFS_BUSYBOX_FEATURE_2_4_MODULES && INITRAMFS_BUSYBOX_INSMOD
- help
- Enabling this, one would be able to get a load map
- output on stdout. This makes kernel module debugging
- easier.
- If you don't plan to debug kernel modules, you
- don't need this option.
-
-config INITRAMFS_BUSYBOX_FEATURE_INSMOD_LOAD_MAP_FULL
- bool "Symbols in load map"
- default y
- depends on INITRAMFS_BUSYBOX_FEATURE_INSMOD_LOAD_MAP && !INITRAMFS_BUSYBOX_MODPROBE_SMALL
- help
- Without this option, -m will only output section
- load map. With this option, -m will also output
- symbols load map.
-
-config INITRAMFS_BUSYBOX_FEATURE_CHECK_TAINTED_MODULE
- bool "Support tainted module checking with new kernels"
- default y
- depends on (INITRAMFS_BUSYBOX_LSMOD || INITRAMFS_BUSYBOX_FEATURE_2_4_MODULES) && !INITRAMFS_BUSYBOX_MODPROBE_SMALL
- help
- Support checking for tainted modules. These are usually binary
- only modules that will make the linux-kernel list ignore your
- support request.
- This option is required to support GPLONLY modules.
-
-config INITRAMFS_BUSYBOX_FEATURE_MODUTILS_ALIAS
- bool "Support for module.aliases file"
- default y
- depends on INITRAMFS_BUSYBOX_DEPMOD || INITRAMFS_BUSYBOX_MODPROBE
- help
- Generate and parse modules.alias containing aliases for bus
- identifiers:
- alias pcmcia:m*c*f03fn*pfn*pa*pb*pc*pd* parport_cs
-
- and aliases for logical modules names e.g.:
- alias padlock_aes aes
- alias aes_i586 aes
- alias aes_generic aes
-
- Say Y if unsure.
-
-config INITRAMFS_BUSYBOX_FEATURE_MODUTILS_SYMBOLS
- bool "Support for module.symbols file"
- default y
- depends on INITRAMFS_BUSYBOX_DEPMOD || INITRAMFS_BUSYBOX_MODPROBE
- help
- Generate and parse modules.symbols containing aliases for
- symbol_request() kernel calls, such as:
- alias symbol:usb_sg_init usbcore
-
- Say Y if unsure.
-
-config INITRAMFS_BUSYBOX_DEFAULT_MODULES_DIR
- string "Default directory containing modules"
- default "/lib/modules"
- depends on INITRAMFS_BUSYBOX_DEPMOD || INITRAMFS_BUSYBOX_MODPROBE || INITRAMFS_BUSYBOX_MODPROBE_SMALL
- help
- Directory that contains kernel modules.
- Defaults to "/lib/modules"
-
-config INITRAMFS_BUSYBOX_DEFAULT_DEPMOD_FILE
- string "Default name of modules.dep"
- default "modules.dep"
- depends on INITRAMFS_BUSYBOX_DEPMOD || INITRAMFS_BUSYBOX_MODPROBE || INITRAMFS_BUSYBOX_MODPROBE_SMALL
- help
- Filename that contains kernel modules dependencies.
- Defaults to "modules.dep"
-
-endmenu
diff --git a/config/initramfs-busybox/networking/Config.in b/config/initramfs-busybox/networking/Config.in
deleted file mode 100644
index 4a3f5e434..000000000
--- a/config/initramfs-busybox/networking/Config.in
+++ /dev/null
@@ -1,957 +0,0 @@
-#
-# For a description of the syntax of this configuration file,
-# see scripts/kbuild/config-language.txt.
-#
-
-menu "Networking Utilities"
-
-config INITRAMFS_BUSYBOX_FEATURE_IPV6
- bool "Enable IPv6 support"
- default n
- help
- Enable IPv6 support in busybox.
- This adds IPv6 support in the networking applets.
-
-config INITRAMFS_BUSYBOX_FEATURE_UNIX_LOCAL
- bool "Enable Unix domain socket support (usually not needed)"
- default n
- help
- Enable Unix domain socket support in all busybox networking
- applets. Address of the form local:/path/to/unix/socket
- will be recognized.
-
- This extension is almost never used in real world usage.
- You most likely want to say N.
-
-config INITRAMFS_BUSYBOX_FEATURE_PREFER_IPV4_ADDRESS
- bool "Prefer IPv4 addresses from DNS queries"
- default y
- depends on INITRAMFS_BUSYBOX_FEATURE_IPV6
- help
- Use IPv4 address of network host if it has one.
-
- If this option is off, the first returned address will be used.
- This may cause problems when your DNS server is IPv6-capable and
- is returning IPv6 host addresses too. If IPv6 address
- precedes IPv4 one in DNS reply, busybox network applets
- (e.g. wget) will use IPv6 address. On an IPv6-incapable host
- or network applets will fail to connect to the host
- using IPv6 address.
-
-config INITRAMFS_BUSYBOX_VERBOSE_RESOLUTION_ERRORS
- bool "Verbose resolution errors"
- default n
- help
- Enable if you are not satisfied with simplistic
- "can't resolve 'hostname.com'" and want to know more.
- This may increase size of your executable a bit.
-
-config INITRAMFS_BUSYBOX_ARP
- bool "arp"
- default n
- help
- Manipulate the system ARP cache.
-
-config INITRAMFS_BUSYBOX_ARPING
- bool "arping"
- default n
- help
- Ping hosts by ARP packets.
-
-config INITRAMFS_BUSYBOX_BRCTL
- bool "brctl"
- default n
- help
- Manage ethernet bridges.
- Supports addbr/delbr and addif/delif.
-
-config INITRAMFS_BUSYBOX_FEATURE_BRCTL_FANCY
- bool "Fancy options"
- default n
- depends on INITRAMFS_BUSYBOX_BRCTL
- help
- Add support for extended option like:
- setageing, setfd, sethello, setmaxage,
- setpathcost, setportprio, setbridgeprio,
- stp
- This adds about 600 bytes.
-
-config INITRAMFS_BUSYBOX_FEATURE_BRCTL_SHOW
- bool "Support show, showmac and showstp"
- default n
- depends on INITRAMFS_BUSYBOX_BRCTL && INITRAMFS_BUSYBOX_FEATURE_BRCTL_FANCY
- help
- Add support for option which prints the current config:
- showmacs, showstp, show
-
-config INITRAMFS_BUSYBOX_DNSD
- bool "dnsd"
- default n
- help
- Small and static DNS server daemon.
-
-config INITRAMFS_BUSYBOX_ETHER_WAKE
- bool "ether-wake"
- default n
- help
- Send a magic packet to wake up sleeping machines.
-
-config INITRAMFS_BUSYBOX_FAKEIDENTD
- bool "fakeidentd"
- default n
- select INITRAMFS_BUSYBOX_FEATURE_SYSLOG
- help
- fakeidentd listens on the ident port and returns a predefined
- fake value on any query.
-
-config INITRAMFS_BUSYBOX_FTPD
- bool "ftpd"
- default n
- help
- simple FTP daemon. You have to run it via inetd.
-
-config INITRAMFS_BUSYBOX_FEATURE_FTP_WRITE
- bool "Enable upload commands"
- default y
- depends on INITRAMFS_BUSYBOX_FTPD
- help
- Enable all kinds of FTP upload commands (-w option)
-
-config INITRAMFS_BUSYBOX_FTPGET
- bool "ftpget"
- default n
- help
- Retrieve a remote file via FTP.
-
-config INITRAMFS_BUSYBOX_FTPPUT
- bool "ftpput"
- default n
- help
- Store a remote file via FTP.
-
-config INITRAMFS_BUSYBOX_FEATURE_FTPGETPUT_LONG_OPTIONS
- bool "Enable long options in ftpget/ftpput"
- default n
- depends on INITRAMFS_BUSYBOX_LONG_OPTS && (INITRAMFS_BUSYBOX_FTPGET || INITRAMFS_BUSYBOX_FTPPUT)
- help
- Support long options for the ftpget/ftpput applet.
-
-config INITRAMFS_BUSYBOX_HOSTNAME
- bool "hostname"
- default n
- help
- Show or set the system's host name.
-
-config INITRAMFS_BUSYBOX_HTTPD
- bool "httpd"
- default n
- help
- Serve web pages via an HTTP server.
-
-config INITRAMFS_BUSYBOX_FEATURE_HTTPD_RANGES
- bool "Support 'Ranges:' header"
- default n
- depends on INITRAMFS_BUSYBOX_HTTPD
- help
- Makes httpd emit "Accept-Ranges: bytes" header and understand
- "Range: bytes=NNN-[MMM]" header. Allows for resuming interrupted
- downloads, seeking in multimedia players etc.
-
-config INITRAMFS_BUSYBOX_FEATURE_HTTPD_USE_SENDFILE
- bool "Use sendfile system call"
- default n
- depends on INITRAMFS_BUSYBOX_HTTPD
- help
- When enabled, httpd will use the kernel sendfile() function
- instead of read/write loop.
-
-config INITRAMFS_BUSYBOX_FEATURE_HTTPD_SETUID
- bool "Enable -u <user> option"
- default n
- depends on INITRAMFS_BUSYBOX_HTTPD
- help
- This option allows the server to run as a specific user
- rather than defaulting to the user that starts the server.
- Use of this option requires special privileges to change to a
- different user.
-
-config INITRAMFS_BUSYBOX_FEATURE_HTTPD_BASIC_AUTH
- bool "Enable Basic http Authentication"
- default y
- depends on INITRAMFS_BUSYBOX_HTTPD
- help
- Utilizes password settings from /etc/httpd.conf for basic
- authentication on a per url basis.
-
-config INITRAMFS_BUSYBOX_FEATURE_HTTPD_AUTH_MD5
- bool "Support MD5 crypted passwords for http Authentication"
- default n
- depends on INITRAMFS_BUSYBOX_FEATURE_HTTPD_BASIC_AUTH
- help
- Enables basic per URL authentication from /etc/httpd.conf
- using md5 passwords.
-
-config INITRAMFS_BUSYBOX_FEATURE_HTTPD_CGI
- bool "Support Common Gateway Interface (CGI)"
- default y
- depends on INITRAMFS_BUSYBOX_HTTPD
- help
- This option allows scripts and executables to be invoked
- when specific URLs are requested.
-
-config INITRAMFS_BUSYBOX_FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR
- bool "Support for running scripts through an interpreter"
- default n
- depends on INITRAMFS_BUSYBOX_FEATURE_HTTPD_CGI
- help
- This option enables support for running scripts through an
- interpreter. Turn this on if you want PHP scripts to work
- properly. You need to supply an additional line in your httpd
- config file:
- *.php:/path/to/your/php
-
-config INITRAMFS_BUSYBOX_FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV
- bool "Set REMOTE_PORT environment variable for CGI"
- default n
- depends on INITRAMFS_BUSYBOX_FEATURE_HTTPD_CGI
- help
- Use of this option can assist scripts in generating
- references that contain a unique port number.
-
-config INITRAMFS_BUSYBOX_FEATURE_HTTPD_ENCODE_URL_STR
- bool "Enable -e option (useful for CGIs written as shell scripts)"
- default y
- depends on INITRAMFS_BUSYBOX_HTTPD
- help
- This option allows html encoding of arbitrary strings for display
- by the browser. Output goes to stdout.
- For example, httpd -e "<Hello World>" produces
- "&#60Hello&#32World&#62".
-
-config INITRAMFS_BUSYBOX_FEATURE_HTTPD_ERROR_PAGES
- bool "Support for custom error pages"
- default n
- depends on INITRAMFS_BUSYBOX_HTTPD
- help
- This option allows you to define custom error pages in
- the configuration file instead of the default HTTP status
- error pages. For instance, if you add the line:
- E404:/path/e404.html
- in the config file, the server will respond the specified
- '/path/e404.html' file instead of the terse '404 NOT FOUND'
- message.
-
-config INITRAMFS_BUSYBOX_FEATURE_HTTPD_PROXY
- bool "Support for reverse proxy"
- default n
- depends on INITRAMFS_BUSYBOX_HTTPD
- help
- This option allows you to define URLs that will be forwarded
- to another HTTP server. To setup add the following line to the
- configuration file
- P:/url/:http://hostname[:port]/new/path/
- Then a request to /url/myfile will be forwarded to
- http://hostname[:port]/new/path/myfile.
-
-config INITRAMFS_BUSYBOX_IFCONFIG
- bool "ifconfig"
- default n
- help
- Ifconfig is used to configure the kernel-resident network interfaces.
-
-config INITRAMFS_BUSYBOX_FEATURE_IFCONFIG_STATUS
- bool "Enable status reporting output (+7k)"
- default y
- depends on INITRAMFS_BUSYBOX_IFCONFIG
- help
- If ifconfig is called with no arguments it will display the status
- of the currently active interfaces.
-
-config INITRAMFS_BUSYBOX_FEATURE_IFCONFIG_SLIP
- bool "Enable slip-specific options \"keepalive\" and \"outfill\""
- default n
- depends on INITRAMFS_BUSYBOX_IFCONFIG
- help
- Allow "keepalive" and "outfill" support for SLIP. If you're not
- planning on using serial lines, leave this unchecked.
-
-config INITRAMFS_BUSYBOX_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ
- bool "Enable options \"mem_start\", \"io_addr\", and \"irq\""
- default n
- depends on INITRAMFS_BUSYBOX_IFCONFIG
- help
- Allow the start address for shared memory, start address for I/O,
- and/or the interrupt line used by the specified device.
-
-config INITRAMFS_BUSYBOX_FEATURE_IFCONFIG_HW
- bool "Enable option \"hw\" (ether only)"
- default y
- depends on INITRAMFS_BUSYBOX_IFCONFIG
- help
- Set the hardware address of this interface, if the device driver
- supports this operation. Currently, we only support the 'ether'
- class.
-
-config INITRAMFS_BUSYBOX_FEATURE_IFCONFIG_BROADCAST_PLUS
- bool "Set the broadcast automatically"
- default n
- depends on INITRAMFS_BUSYBOX_IFCONFIG
- help
- Setting this will make ifconfig attempt to find the broadcast
- automatically if the value '+' is used.
-
-config INITRAMFS_BUSYBOX_IFENSLAVE
- bool "ifenslave"
- default n
- help
- Userspace application to bind several interfaces
- to a logical interface (use with kernel bonding driver).
-
-config INITRAMFS_BUSYBOX_IFPLUGD
- bool "ifplugd"
- default n
- help
- Network interface plug detection daemon.
-
-config INITRAMFS_BUSYBOX_IFUPDOWN
- bool "ifupdown"
- default n
- help
- Activate or deactivate the specified interfaces. This applet makes
- use of either "ifconfig" and "route" or the "ip" command to actually
- configure network interfaces. Therefore, you will probably also want
- to enable either IFCONFIG and ROUTE, or enable
- FEATURE_IFUPDOWN_IP and the various IP options. Of
- course you could use non-busybox versions of these programs, so
- against my better judgement (since this will surely result in plenty
- of support questions on the mailing list), I do not force you to
- enable these additional options. It is up to you to supply either
- "ifconfig", "route" and "run-parts" or the "ip" command, either
- via busybox or via standalone utilities.
-
-config INITRAMFS_BUSYBOX_IFUPDOWN_IFSTATE_PATH
- string "Absolute path to ifstate file"
- default "/var/run/ifstate"
- depends on INITRAMFS_BUSYBOX_IFUPDOWN
- help
- ifupdown keeps state information in a file called ifstate.
- Typically it is located in /var/run/ifstate, however
- some distributions tend to put it in other places
- (debian, for example, uses /etc/network/run/ifstate).
- This config option defines location of ifstate.
-
-config INITRAMFS_BUSYBOX_FEATURE_IFUPDOWN_IP
- bool "Use ip applet"
- default n
- depends on INITRAMFS_BUSYBOX_IFUPDOWN
- help
- Use the iproute "ip" command to implement "ifup" and "ifdown", rather
- than the default of using the older 'ifconfig' and 'route' utilities.
-
-config INITRAMFS_BUSYBOX_FEATURE_IFUPDOWN_IP_BUILTIN
- bool "Use busybox ip applet"
- default y
- depends on INITRAMFS_BUSYBOX_FEATURE_IFUPDOWN_IP
- select INITRAMFS_BUSYBOX_IP
- select INITRAMFS_BUSYBOX_FEATURE_IP_ADDRESS
- select INITRAMFS_BUSYBOX_FEATURE_IP_LINK
- select INITRAMFS_BUSYBOX_FEATURE_IP_ROUTE
- help
- Use the busybox iproute "ip" applet to implement "ifupdown".
-
- If left disabled, you must install the full-blown iproute2
- utility or the "ifup" and "ifdown" applets will not work.
-
-config INITRAMFS_BUSYBOX_FEATURE_IFUPDOWN_IFCONFIG_BUILTIN
- bool "Use busybox ifconfig and route applets"
- default y
- depends on INITRAMFS_BUSYBOX_IFUPDOWN && !INITRAMFS_BUSYBOX_FEATURE_IFUPDOWN_IP
- select INITRAMFS_BUSYBOX_IFCONFIG
- select INITRAMFS_BUSYBOX_ROUTE
- help
- Use the busybox iproute "ifconfig" and "route" applets to
- implement the "ifup" and "ifdown" utilities.
-
- If left disabled, you must install the full-blown ifconfig
- and route utilities, or the "ifup" and "ifdown" applets will not
- work.
-
-config INITRAMFS_BUSYBOX_FEATURE_IFUPDOWN_IPV4
- bool "Support for IPv4"
- default y
- depends on INITRAMFS_BUSYBOX_IFUPDOWN
- help
- If you want ifup/ifdown to talk IPv4, leave this on.
-
-config INITRAMFS_BUSYBOX_FEATURE_IFUPDOWN_IPV6
- bool "Support for IPv6"
- default n
- depends on INITRAMFS_BUSYBOX_IFUPDOWN && INITRAMFS_BUSYBOX_FEATURE_IPV6
- help
- If you need support for IPv6, turn this option on.
-
-### UNUSED
-###config FEATURE_IFUPDOWN_IPX
-### bool "Support for IPX"
-### default n
-### depends on IFUPDOWN
-### help
-### If this option is selected you can use busybox to work with IPX
-### networks.
-
-config INITRAMFS_BUSYBOX_FEATURE_IFUPDOWN_MAPPING
- bool "Enable mapping support"
- default n
- depends on INITRAMFS_BUSYBOX_IFUPDOWN
- help
- This enables support for the "mapping" stanza, unless you have
- a weird network setup you don't need it.
-
-config INITRAMFS_BUSYBOX_FEATURE_IFUPDOWN_EXTERNAL_DHCP
- bool "Support for external dhcp clients"
- default n
- depends on INITRAMFS_BUSYBOX_IFUPDOWN
- help
- This enables support for the external dhcp clients. Clients are
- tried in the following order: dhcpcd, dhclient, pump and udhcpc.
- Otherwise, if udhcpc applet is enabled, it is used.
- Otherwise, ifup/ifdown will have no support for DHCP.
-
-config INITRAMFS_BUSYBOX_INETD
- bool "inetd"
- default n
- select INITRAMFS_BUSYBOX_FEATURE_SYSLOG
- help
- Internet superserver daemon
-
-config INITRAMFS_BUSYBOX_FEATURE_INETD_SUPPORT_BUILTIN_ECHO
- bool "Support echo service"
- default y
- depends on INITRAMFS_BUSYBOX_INETD
- help
- Echo received data internal inetd service
-
-config INITRAMFS_BUSYBOX_FEATURE_INETD_SUPPORT_BUILTIN_DISCARD
- bool "Support discard service"
- default y
- depends on INITRAMFS_BUSYBOX_INETD
- help
- Internet /dev/null internal inetd service
-
-config INITRAMFS_BUSYBOX_FEATURE_INETD_SUPPORT_BUILTIN_TIME
- bool "Support time service"
- default y
- depends on INITRAMFS_BUSYBOX_INETD
- help
- Return 32 bit time since 1900 internal inetd service
-
-config INITRAMFS_BUSYBOX_FEATURE_INETD_SUPPORT_BUILTIN_DAYTIME
- bool "Support daytime service"
- default y
- depends on INITRAMFS_BUSYBOX_INETD
- help
- Return human-readable time internal inetd service
-
-config INITRAMFS_BUSYBOX_FEATURE_INETD_SUPPORT_BUILTIN_CHARGEN
- bool "Support chargen service"
- default y
- depends on INITRAMFS_BUSYBOX_INETD
- help
- Familiar character generator internal inetd service
-
-config INITRAMFS_BUSYBOX_FEATURE_INETD_RPC
- bool "Support RPC services"
- default n
- depends on INITRAMFS_BUSYBOX_INETD
- select INITRAMFS_BUSYBOX_FEATURE_HAVE_RPC
- help
- Support Sun-RPC based services
-
-config INITRAMFS_BUSYBOX_IP
- bool "ip"
- default n
- help
- The "ip" applet is a TCP/IP interface configuration and routing
- utility. You generally don't need "ip" to use busybox with
- TCP/IP.
-
-config INITRAMFS_BUSYBOX_FEATURE_IP_ADDRESS
- bool "ip address"
- default y
- depends on INITRAMFS_BUSYBOX_IP
- help
- Address manipulation support for the "ip" applet.
-
-config INITRAMFS_BUSYBOX_FEATURE_IP_LINK
- bool "ip link"
- default y
- depends on INITRAMFS_BUSYBOX_IP
- help
- Configure network devices with "ip".
-
-config INITRAMFS_BUSYBOX_FEATURE_IP_ROUTE
- bool "ip route"
- default y
- depends on INITRAMFS_BUSYBOX_IP
- help
- Add support for routing table management to "ip".
-
-config INITRAMFS_BUSYBOX_FEATURE_IP_TUNNEL
- bool "ip tunnel"
- default n
- depends on INITRAMFS_BUSYBOX_IP
- help
- Add support for tunneling commands to "ip".
-
-config INITRAMFS_BUSYBOX_FEATURE_IP_RULE
- bool "ip rule"
- default n
- depends on INITRAMFS_BUSYBOX_IP
- help
- Add support for rule commands to "ip".
-
-config INITRAMFS_BUSYBOX_FEATURE_IP_SHORT_FORMS
- bool "Support short forms of ip commands"
- default n
- depends on INITRAMFS_BUSYBOX_IP
- help
- Also support short-form of ip <OBJECT> commands:
- ip addr -> ipaddr
- ip link -> iplink
- ip route -> iproute
- ip tunnel -> iptunnel
- ip rule -> iprule
-
- Say N unless you desparately need the short form of the ip
- object commands.
-
-config INITRAMFS_BUSYBOX_FEATURE_IP_RARE_PROTOCOLS
- bool "Support displaying rarely used link types"
- default n
- depends on INITRAMFS_BUSYBOX_IP
- help
- If you are not going to use links of type "frad", "econet",
- "bif" etc, you probably don't need to enable this.
- Ethernet, wireless, infrared, ppp/slip, ip tunnelling
- link types are supported without this option selected.
-
-config INITRAMFS_BUSYBOX_IPADDR
- bool
- default y
- depends on INITRAMFS_BUSYBOX_FEATURE_IP_SHORT_FORMS && INITRAMFS_BUSYBOX_FEATURE_IP_ADDRESS
-
-config INITRAMFS_BUSYBOX_IPLINK
- bool
- default y
- depends on INITRAMFS_BUSYBOX_FEATURE_IP_SHORT_FORMS && INITRAMFS_BUSYBOX_FEATURE_IP_LINK
-
-config INITRAMFS_BUSYBOX_IPROUTE
- bool
- default y
- depends on INITRAMFS_BUSYBOX_FEATURE_IP_SHORT_FORMS && INITRAMFS_BUSYBOX_FEATURE_IP_ROUTE
-
-config INITRAMFS_BUSYBOX_IPTUNNEL
- bool
- default y
- depends on INITRAMFS_BUSYBOX_FEATURE_IP_SHORT_FORMS && INITRAMFS_BUSYBOX_FEATURE_IP_TUNNEL
-
-config INITRAMFS_BUSYBOX_IPRULE
- bool
- default y
- depends on INITRAMFS_BUSYBOX_FEATURE_IP_SHORT_FORMS && INITRAMFS_BUSYBOX_FEATURE_IP_RULE
-
-config INITRAMFS_BUSYBOX_IPCALC
- bool "ipcalc"
- default n
- help
- ipcalc takes an IP address and netmask and calculates the
- resulting broadcast, network, and host range.
-
-config INITRAMFS_BUSYBOX_FEATURE_IPCALC_FANCY
- bool "Fancy IPCALC, more options, adds 1 kbyte"
- default y
- depends on INITRAMFS_BUSYBOX_IPCALC
- help
- Adds the options hostname, prefix and silent to the output of
- "ipcalc".
-
-config INITRAMFS_BUSYBOX_FEATURE_IPCALC_LONG_OPTIONS
- bool "Enable long options"
- default n
- depends on INITRAMFS_BUSYBOX_IPCALC && INITRAMFS_BUSYBOX_LONG_OPTS
- help
- Support long options for the ipcalc applet.
-
-config INITRAMFS_BUSYBOX_NAMEIF
- bool "nameif"
- default n
- select INITRAMFS_BUSYBOX_FEATURE_SYSLOG
- help
- nameif is used to rename network interface by its MAC address.
- Renamed interfaces MUST be in the down state.
- It is possible to use a file (default: /etc/mactab)
- with list of new interface names and MACs.
- Maximum interface name length: IFNAMSIZ = 16
- File fields are separated by space or tab.
- File format:
- # Comment
- new_interface_name XX:XX:XX:XX:XX:XX
-
-config INITRAMFS_BUSYBOX_FEATURE_NAMEIF_EXTENDED
- bool "Extended nameif"
- default n
- depends on INITRAMFS_BUSYBOX_NAMEIF
- help
- This extends the nameif syntax to support the bus_info and driver
- checks. The syntax is compatible to the normal nameif.
- File format:
- new_interface_name driver=asix bus=usb-0000:00:08.2-3
- new_interface_name bus=usb-0000:00:08.2-3 00:80:C8:38:91:B5
- new_interface_name mac=00:80:C8:38:91:B5
- new_interface_name 00:80:C8:38:91:B5
-
-config INITRAMFS_BUSYBOX_NC
- bool "nc"
- default n
- help
- A simple Unix utility which reads and writes data across network
- connections.
-
-config INITRAMFS_BUSYBOX_NC_SERVER
- bool "Netcat server options (-l)"
- default n
- depends on INITRAMFS_BUSYBOX_NC
- help
- Allow netcat to act as a server.
-
-config INITRAMFS_BUSYBOX_NC_EXTRA
- bool "Netcat extensions (-eiw and filename)"
- default n
- depends on INITRAMFS_BUSYBOX_NC
- help
- Add -e (support for executing the rest of the command line after
- making or receiving a successful connection), -i (delay interval for
- lines sent), -w (timeout for initial connection).
-
-config INITRAMFS_BUSYBOX_NETSTAT
- bool "netstat"
- default n
- help
- netstat prints information about the Linux networking subsystem.
-
-config INITRAMFS_BUSYBOX_FEATURE_NETSTAT_WIDE
- bool "Enable wide netstat output"
- default n
- depends on INITRAMFS_BUSYBOX_NETSTAT
- help
- Add support for wide columns. Useful when displaying IPv6 addresses
- (-W option).
-
-config INITRAMFS_BUSYBOX_FEATURE_NETSTAT_PRG
- bool "Enable PID/Program name output"
- default n
- depends on INITRAMFS_BUSYBOX_NETSTAT
- help
- Add support for -p flag to print out PID and program name.
- +700 bytes of code.
-
-config INITRAMFS_BUSYBOX_NSLOOKUP
- bool "nslookup"
- default n
- help
- nslookup is a tool to query Internet name servers.
-
-config INITRAMFS_BUSYBOX_PING
- bool "ping"
- default n
- help
- ping uses the ICMP protocol's mandatory ECHO_REQUEST datagram to
- elicit an ICMP ECHO_RESPONSE from a host or gateway.
-
-config INITRAMFS_BUSYBOX_PING6
- bool "ping6"
- default n
- depends on INITRAMFS_BUSYBOX_FEATURE_IPV6 && INITRAMFS_BUSYBOX_PING
- help
- This will give you a ping that can talk IPv6.
-
-config INITRAMFS_BUSYBOX_FEATURE_FANCY_PING
- bool "Enable fancy ping output"
- default y
- depends on INITRAMFS_BUSYBOX_PING
- help
- Make the output from the ping applet include statistics, and at the
- same time provide full support for ICMP packets.
-
-config INITRAMFS_BUSYBOX_PSCAN
- bool "pscan"
- default n
- help
- Simple network port scanner.
-
-config INITRAMFS_BUSYBOX_ROUTE
- bool "route"
- default n
- help
- Route displays or manipulates the kernel's IP routing tables.
-
-config INITRAMFS_BUSYBOX_SLATTACH
- bool "slattach"
- default n
- help
- slattach is a small utility to attach network interfaces to serial
- lines.
-
-#config TC
-# bool "tc"
-# default n
-# help
-# show / manipulate traffic control settings
-#
-#config FEATURE_TC_INGRESS
-# def_bool n
-# depends on TC
-
-config INITRAMFS_BUSYBOX_TELNET
- bool "telnet"
- default n
- help
- Telnet is an interface to the TELNET protocol, but is also commonly
- used to test other simple protocols.
-
-config INITRAMFS_BUSYBOX_FEATURE_TELNET_TTYPE
- bool "Pass TERM type to remote host"
- default y
- depends on INITRAMFS_BUSYBOX_TELNET
- help
- Setting this option will forward the TERM environment variable to the
- remote host you are connecting to. This is useful to make sure that
- things like ANSI colors and other control sequences behave.
-
-config INITRAMFS_BUSYBOX_FEATURE_TELNET_AUTOLOGIN
- bool "Pass USER type to remote host"
- default y
- depends on INITRAMFS_BUSYBOX_TELNET
- help
- Setting this option will forward the USER environment variable to the
- remote host you are connecting to. This is useful when you need to
- log into a machine without telling the username (autologin). This
- option enables `-a' and `-l USER' arguments.
-
-config INITRAMFS_BUSYBOX_TELNETD
- bool "telnetd"
- default n
- select INITRAMFS_BUSYBOX_FEATURE_SYSLOG
- help
- A daemon for the TELNET protocol, allowing you to log onto the host
- running the daemon. Please keep in mind that the TELNET protocol
- sends passwords in plain text. If you can't afford the space for an
- SSH daemon and you trust your network, you may say 'y' here. As a
- more secure alternative, you should seriously consider installing the
- very small Dropbear SSH daemon instead:
- http://matt.ucc.asn.au/dropbear/dropbear.html
-
- Note that for busybox telnetd to work you need several things:
- First of all, your kernel needs:
- UNIX98_PTYS=y
- DEVPTS_FS=y
-
- Next, you need a /dev/pts directory on your root filesystem:
-
- $ ls -ld /dev/pts
- drwxr-xr-x 2 root root 0 Sep 23 13:21 /dev/pts/
-
- Next you need the pseudo terminal master multiplexer /dev/ptmx:
-
- $ ls -la /dev/ptmx
- crw-rw-rw- 1 root tty 5, 2 Sep 23 13:55 /dev/ptmx
-
- Any /dev/ttyp[0-9]* files you may have can be removed.
- Next, you need to mount the devpts filesystem on /dev/pts using:
-
- mount -t devpts devpts /dev/pts
-
- You need to be sure that Busybox has LOGIN and
- FEATURE_SUID enabled. And finally, you should make
- certain that Busybox has been installed setuid root:
-
- chown root.root /bin/busybox
- chmod 4755 /bin/busybox
-
- with all that done, telnetd _should_ work....
-
-
-config INITRAMFS_BUSYBOX_FEATURE_TELNETD_STANDALONE
- bool "Support standalone telnetd (not inetd only)"
- default n
- depends on INITRAMFS_BUSYBOX_TELNETD
- help
- Selecting this will make telnetd able to run standalone.
-
-config INITRAMFS_BUSYBOX_TFTP
- bool "tftp"
- default n
- help
- This enables the Trivial File Transfer Protocol client program. TFTP
- is usually used for simple, small transfers such as a root image
- for a network-enabled bootloader.
-
-config INITRAMFS_BUSYBOX_TFTPD
- bool "tftpd"
- default n
- help
- This enables the Trivial File Transfer Protocol server program.
- It expects that stdin is a datagram socket and a packet
- is already pending on it. It will exit after one transfer.
- In other words: it should be run from inetd in nowait mode,
- or from udpsvd. Example: "udpsvd -E 0 69 tftpd DIR"
-
-config INITRAMFS_BUSYBOX_FEATURE_TFTP_GET
- bool "Enable \"get\" command"
- default y
- depends on INITRAMFS_BUSYBOX_TFTP || INITRAMFS_BUSYBOX_TFTPD
- help
- Add support for the GET command within the TFTP client. This allows
- a client to retrieve a file from a TFTP server.
- Also enable upload support in tftpd, if tftpd is selected.
-
-config INITRAMFS_BUSYBOX_FEATURE_TFTP_PUT
- bool "Enable \"put\" command"
- default y
- depends on INITRAMFS_BUSYBOX_TFTP || INITRAMFS_BUSYBOX_TFTPD
- help
- Add support for the PUT command within the TFTP client. This allows
- a client to transfer a file to a TFTP server.
- Also enable download support in tftpd, if tftpd is selected.
-
-config INITRAMFS_BUSYBOX_FEATURE_TFTP_BLOCKSIZE
- bool "Enable \"blksize\" protocol option"
- default n
- depends on INITRAMFS_BUSYBOX_TFTP || INITRAMFS_BUSYBOX_TFTPD
- help
- Allow tftp to specify block size, and tftpd to understand
- "blksize" option.
-
-config INITRAMFS_BUSYBOX_TFTP_DEBUG
- bool "Enable debug"
- default n
- depends on INITRAMFS_BUSYBOX_TFTP || INITRAMFS_BUSYBOX_TFTPD
- help
- Make tftp[d] print debugging messages on stderr.
- This is useful if you are diagnosing a bug in tftp[d].
-
-config INITRAMFS_BUSYBOX_TRACEROUTE
- bool "traceroute"
- default n
- help
- Utility to trace the route of IP packets.
-
-config INITRAMFS_BUSYBOX_FEATURE_TRACEROUTE_VERBOSE
- bool "Enable verbose output"
- default n
- depends on INITRAMFS_BUSYBOX_TRACEROUTE
- help
- Add some verbosity to traceroute. This includes among other things
- hostnames and ICMP response types.
-
-config INITRAMFS_BUSYBOX_FEATURE_TRACEROUTE_SOURCE_ROUTE
- bool "Enable loose source route"
- default n
- depends on INITRAMFS_BUSYBOX_TRACEROUTE
- help
- Add option to specify a loose source route gateway
- (8 maximum).
-
-config INITRAMFS_BUSYBOX_FEATURE_TRACEROUTE_USE_ICMP
- bool "Use ICMP instead of UDP"
- default n
- depends on INITRAMFS_BUSYBOX_TRACEROUTE
- help
- Add option -I to use ICMP ECHO instead of UDP datagrams.
-
-source config/initramfs-busybox/networking/udhcp/Config.in
-
-config INITRAMFS_BUSYBOX_IFUPDOWN_UDHCPC_CMD_OPTIONS
- string "ifup udhcpc command line options"
- default "-INITRAMFS_BUSYBOX_R -n"
- depends on INITRAMFS_BUSYBOX_IFUPDOWN && INITRAMFS_BUSYBOX_APP_UDHCPC
- help
- Command line options to pass to udhcpc from ifup.
- Intended to alter options not available in /etc/network/interfaces.
- (IE: --syslog --background etc...)
-
-config INITRAMFS_BUSYBOX_VCONFIG
- bool "vconfig"
- default n
- help
- Creates, removes, and configures VLAN interfaces
-
-config INITRAMFS_BUSYBOX_WGET
- bool "wget"
- default n
- help
- wget is a utility for non-interactive download of files from HTTP,
- HTTPS, and FTP servers.
-
-config INITRAMFS_BUSYBOX_FEATURE_WGET_STATUSBAR
- bool "Enable a nifty process meter (+2k)"
- default y
- depends on INITRAMFS_BUSYBOX_WGET
- help
- Enable the transfer progress bar for wget transfers.
-
-config INITRAMFS_BUSYBOX_FEATURE_WGET_AUTHENTICATION
- bool "Enable HTTP authentication"
- default y
- depends on INITRAMFS_BUSYBOX_WGET
- help
- Support authenticated HTTP transfers.
-
-config INITRAMFS_BUSYBOX_FEATURE_WGET_LONG_OPTIONS
- bool "Enable long options"
- default n
- depends on INITRAMFS_BUSYBOX_WGET && INITRAMFS_BUSYBOX_LONG_OPTS
- help
- Support long options for the wget applet.
-
-config INITRAMFS_BUSYBOX_ZCIP
- bool "zcip"
- default n
- select INITRAMFS_BUSYBOX_FEATURE_SYSLOG
- help
- ZCIP provides ZeroConf IPv4 address selection, according to RFC 3927.
- It's a daemon that allocates and defends a dynamically assigned
- address on the 169.254/16 network, requiring no system administrator.
-
- See http://www.zeroconf.org for further details, and "zcip.script"
- in the busybox examples.
-
-config INITRAMFS_BUSYBOX_TCPSVD
- bool "tcpsvd"
- default n
- help
- tcpsvd listens on a TCP port and runs a program for each new
- connection.
-
-config INITRAMFS_BUSYBOX_TUNCTL
- bool "tunctl"
- default n
- help
- tunctl creates or deletes tun devices.
-
-config INITRAMFS_BUSYBOX_FEATURE_TUNCTL_UG
- bool "Support owner:group assignment"
- default n
- depends on INITRAMFS_BUSYBOX_TUNCTL
- help
- Allow to specify owner and group of newly created interface.
- 340 bytes of pure bloat. Say no here.
-
-config INITRAMFS_BUSYBOX_UDPSVD
- bool "udpsvd"
- default n
- help
- udpsvd listens on an UDP port and runs a program for each new
- connection.
-
-endmenu
diff --git a/config/initramfs-busybox/networking/udhcp/Config.in b/config/initramfs-busybox/networking/udhcp/Config.in
deleted file mode 100644
index 210eae3a6..000000000
--- a/config/initramfs-busybox/networking/udhcp/Config.in
+++ /dev/null
@@ -1,127 +0,0 @@
-#
-# For a description of the syntax of this configuration file,
-# see scripts/kbuild/config-language.txt.
-#
-
-config INITRAMFS_BUSYBOX_APP_UDHCPD
- bool "udhcp server (udhcpd)"
- default n
- help
- udhcpd is a DHCP server geared primarily toward embedded systems,
- while striving to be fully functional and RFC compliant.
-
-config INITRAMFS_BUSYBOX_APP_DHCPRELAY
- bool "dhcprelay"
- default n
- depends on INITRAMFS_BUSYBOX_APP_UDHCPD
- help
- dhcprelay listens for dhcp requests on one or more interfaces
- and forwards these requests to a different interface or dhcp
- server.
-
-config INITRAMFS_BUSYBOX_APP_DUMPLEASES
- bool "Lease display utility (dumpleases)"
- default n
- depends on INITRAMFS_BUSYBOX_APP_UDHCPD
- help
- dumpleases displays the leases written out by the udhcpd server.
- Lease times are stored in the file by time remaining in lease, or
- by the absolute time that it expires in seconds from epoch.
-
-config INITRAMFS_BUSYBOX_FEATURE_UDHCPD_WRITE_LEASES_EARLY
- bool "Rewrite the lease file at every new acknowledge"
- default n
- depends on INITRAMFS_BUSYBOX_APP_UDHCPD
- help
- If selected, udhcpd will write a new file with leases every
- time a new lease has been accepted, thus eliminating the need
- to send SIGUSR1 for the initial writing or updating. Any timed
- rewriting remains undisturbed
-
-config INITRAMFS_BUSYBOX_DHCPD_LEASES_FILE
- string "Absolute path to lease file"
- default "/var/lib/misc/udhcpd.leases"
- depends on INITRAMFS_BUSYBOX_APP_UDHCPD
- help
- udhcpd stores addresses in a lease file. This is the absolute path
- of the file. Normally it is safe to leave it untouched.
-
-config INITRAMFS_BUSYBOX_APP_UDHCPC
- bool "udhcp client (udhcpc)"
- default n
- help
- udhcpc is a DHCP client geared primarily toward embedded systems,
- while striving to be fully functional and RFC compliant.
-
- The udhcp client negotiates a lease with the DHCP server and
- runs a script when a lease is obtained or lost.
-
-config INITRAMFS_BUSYBOX_FEATURE_UDHCPC_ARPING
- bool "Verify that the offered address is free, using ARP ping"
- default y
- depends on INITRAMFS_BUSYBOX_APP_UDHCPC
- help
- If selected, udhcpc will send ARP probes and make sure
- the offered address is really not in use by anyone. The client
- will DHCPDECLINE the offer if the address is in use,
- and restart the discover process.
-
-config INITRAMFS_BUSYBOX_FEATURE_UDHCP_PORT
- bool "Enable '-P port' option for udhcpd and udhcpc"
- default n
- depends on INITRAMFS_BUSYBOX_APP_UDHCPD || INITRAMFS_BUSYBOX_APP_UDHCPC
- help
- At the cost of ~300 bytes, enables -P port option.
- This feature is typically not needed.
-
-config INITRAMFS_BUSYBOX_UDHCP_DEBUG
- int "Maximum verbosity level for udhcp applets (0..9)"
- default 0
- range 0 9
- depends on INITRAMFS_BUSYBOX_APP_UDHCPD || INITRAMFS_BUSYBOX_APP_UDHCPC || INITRAMFS_BUSYBOX_APP_DHCPRELAY
- help
- Verbosity can be increased with multiple -v options.
- This options controls how high it can be cranked up.
-
- Bigger values result in bigger code. Levels above 1
- are very verbose and useful for debugging only.
-
-config INITRAMFS_BUSYBOX_FEATURE_UDHCP_RFC3397
- bool "Support for RFC3397 domain search (experimental)"
- default n
- depends on INITRAMFS_BUSYBOX_APP_UDHCPD || INITRAMFS_BUSYBOX_APP_UDHCPC
- help
- If selected, both client and server will support passing of domain
- search lists via option 119, specified in RFC3397.
-
-config INITRAMFS_BUSYBOX_UDHCPC_DEFAULT_SCRIPT
- string "Absolute path to config script"
- default "/usr/share/udhcpc/default.script"
- depends on INITRAMFS_BUSYBOX_APP_UDHCPC
- help
- This script is called after udhcpc receives an answer. See
- examples/udhcp for a working example. Normally it is safe
- to leave this untouched.
-
-config INITRAMFS_BUSYBOX_UDHCPC_SLACK_FOR_BUGGY_SERVERS
- int "DHCP options slack buffer size"
- default 80
- range 0 924
- depends on INITRAMFS_BUSYBOX_APP_UDHCPD || INITRAMFS_BUSYBOX_APP_UDHCPC
- help
- Some buggy DHCP servers send DHCP offer packets with option
- field larger than we expect (which might also be considered a
- buffer overflow attempt). These packets are normally discarded.
- If circumstances beyond your control force you to support such
- servers, this may help. The upper limit (924) makes dhcpc accept
- even 1500 byte packets (maximum-sized ethernet packets).
-
- This option does not make dhcp[cd] emit non-standard
- sized packets.
-
- Known buggy DHCP servers:
- 3Com OfficeConnect Remote 812 ADSL Router:
- seems to confuse maximum allowed UDP packet size with
- maximum size of entire IP packet, and sends packets which are
- 28 bytes too large.
- Seednet (ISP) VDSL: sends packets 2 bytes too large.
diff --git a/config/initramfs-busybox/printutils/Config.in b/config/initramfs-busybox/printutils/Config.in
deleted file mode 100644
index ee00b6b27..000000000
--- a/config/initramfs-busybox/printutils/Config.in
+++ /dev/null
@@ -1,26 +0,0 @@
-#
-# For a description of the syntax of this configuration file,
-# see scripts/kbuild/config-language.txt.
-#
-
-menu "Print Utilities"
-
-config INITRAMFS_BUSYBOX_LPD
- bool "lpd"
- default n
- help
- lpd is a print spooling daemon.
-
-config INITRAMFS_BUSYBOX_LPR
- bool "lpr"
- default n
- help
- lpr sends files (or standard input) to a print spooling daemon.
-
-config INITRAMFS_BUSYBOX_LPQ
- bool "lpq"
- default n
- help
- lpq is a print spool queue examination and manipulation program.
-
-endmenu
diff --git a/config/initramfs-busybox/procps/Config.in b/config/initramfs-busybox/procps/Config.in
deleted file mode 100644
index e2fdeed10..000000000
--- a/config/initramfs-busybox/procps/Config.in
+++ /dev/null
@@ -1,207 +0,0 @@
-#
-# For a description of the syntax of this configuration file,
-# see scripts/kbuild/config-language.txt.
-#
-
-menu "Process Utilities"
-
-config INITRAMFS_BUSYBOX_FREE
- bool "free"
- default n
- help
- free displays the total amount of free and used physical and swap
- memory in the system, as well as the buffers used by the kernel.
- The shared memory column should be ignored; it is obsolete.
-
-config INITRAMFS_BUSYBOX_FUSER
- bool "fuser"
- default n
- help
- fuser lists all PIDs (Process IDs) that currently have a given
- file open. fuser can also list all PIDs that have a given network
- (TCP or UDP) port open.
-
-config INITRAMFS_BUSYBOX_KILL
- bool "kill"
- default n
- help
- The command kill sends the specified signal to the specified
- process or process group. If no signal is specified, the TERM
- signal is sent.
-
-config INITRAMFS_BUSYBOX_KILLALL
- bool "killall"
- default n
- depends on INITRAMFS_BUSYBOX_KILL
- help
- killall sends a signal to all processes running any of the
- specified commands. If no signal name is specified, SIGTERM is
- sent.
-
-config INITRAMFS_BUSYBOX_KILLALL5
- bool "killall5"
- default n
- depends on INITRAMFS_BUSYBOX_KILL
-
-config INITRAMFS_BUSYBOX_NMETER
- bool "nmeter"
- default n
- help
- Prints selected system stats continuously, one line per update.
-
-config INITRAMFS_BUSYBOX_PGREP
- bool "pgrep"
- default n
- help
- Look for processes by name.
-
-config INITRAMFS_BUSYBOX_PIDOF
- bool "pidof"
- default n
- help
- Pidof finds the process id's (pids) of the named programs. It prints
- those id's on the standard output.
-
-config INITRAMFS_BUSYBOX_FEATURE_PIDOF_SINGLE
- bool "Enable argument for single shot (-s)"
- default n
- depends on INITRAMFS_BUSYBOX_PIDOF
- help
- Support argument '-s' for returning only the first pid found.
-
-config INITRAMFS_BUSYBOX_FEATURE_PIDOF_OMIT
- bool "Enable argument for omitting pids (-o)"
- default n
- depends on INITRAMFS_BUSYBOX_PIDOF
- help
- Support argument '-o' for omitting the given pids in output.
- The special pid %PPID can be used to name the parent process
- of the pidof, in other words the calling shell or shell script.
-
-config INITRAMFS_BUSYBOX_PKILL
- bool "pkill"
- default n
- help
- Send signals to processes by name.
-
-config INITRAMFS_BUSYBOX_PS
- bool "ps"
- default n
- help
- ps gives a snapshot of the current processes.
-
-config INITRAMFS_BUSYBOX_FEATURE_PS_WIDE
- bool "Enable wide output option (-w)"
- default n
- depends on INITRAMFS_BUSYBOX_PS
- help
- Support argument 'w' for wide output.
- If given once, 132 chars are printed, and if given more
- than once, the length is unlimited.
-
-config INITRAMFS_BUSYBOX_FEATURE_PS_TIME
- bool "Enable time and elapsed time output"
- default n
- depends on INITRAMFS_BUSYBOX_PS && INITRAMFS_BUSYBOX_DESKTOP
- help
- Support -o time and -o etime output specifiers.
-
-config INITRAMFS_BUSYBOX_FEATURE_PS_ADDITIONAL_COLUMNS
- bool "Enable additional ps columns"
- default n
- depends on INITRAMFS_BUSYBOX_PS && INITRAMFS_BUSYBOX_DESKTOP
- help
- Support -o rgroup, -o ruser, -o nice output specifiers.
-
-config INITRAMFS_BUSYBOX_FEATURE_PS_UNUSUAL_SYSTEMS
- bool "Support Linux prior to 2.4.0 and non-ELF systems"
- default n
- depends on INITRAMFS_BUSYBOX_FEATURE_PS_TIME
- help
- Include support for measuring HZ on old kernels and non-ELF systems
- (if you are on Linux 2.4.0+ and use ELF, you don't need this)
-
-config INITRAMFS_BUSYBOX_RENICE
- bool "renice"
- default n
- help
- Renice alters the scheduling priority of one or more running
- processes.
-
-config INITRAMFS_BUSYBOX_BB_SYSCTL
- bool "sysctl"
- default n
- help
- Configure kernel parameters at runtime.
-
-config INITRAMFS_BUSYBOX_TOP
- bool "top"
- default n
- help
- The top program provides a dynamic real-time view of a running
- system.
-
-config INITRAMFS_BUSYBOX_FEATURE_TOP_CPU_USAGE_PERCENTAGE
- bool "Show CPU per-process usage percentage"
- default y
- depends on INITRAMFS_BUSYBOX_TOP
- help
- Make top display CPU usage for each process.
- This adds about 2k.
-
-config INITRAMFS_BUSYBOX_FEATURE_TOP_CPU_GLOBAL_PERCENTS
- bool "Show CPU global usage percentage"
- default y
- depends on INITRAMFS_BUSYBOX_FEATURE_TOP_CPU_USAGE_PERCENTAGE
- help
- Makes top display "CPU: NN% usr NN% sys..." line.
- This adds about 0.5k.
-
-config INITRAMFS_BUSYBOX_FEATURE_TOP_SMP_CPU
- bool "SMP CPU usage display ('c' key)"
- default n
- depends on INITRAMFS_BUSYBOX_FEATURE_TOP_CPU_GLOBAL_PERCENTS
- help
- Allow 'c' key to switch between individual/cumulative CPU stats
- This adds about 0.5k.
-
-config INITRAMFS_BUSYBOX_FEATURE_TOP_DECIMALS
- bool "Show 1/10th of a percent in CPU/mem statistics"
- default n
- depends on INITRAMFS_BUSYBOX_FEATURE_TOP_CPU_USAGE_PERCENTAGE
- help
- Show 1/10th of a percent in CPU/mem statistics.
- This adds about 0.3k.
-
-config INITRAMFS_BUSYBOX_FEATURE_TOP_SMP_PROCESS
- bool "Show CPU process runs on ('j' field)"
- default n
- depends on INITRAMFS_BUSYBOX_TOP
- help
- Show CPU where process was last found running on.
- This is the 'j' field.
-
-config INITRAMFS_BUSYBOX_FEATURE_TOPMEM
- bool "Topmem command ('s' key)"
- default n
- depends on INITRAMFS_BUSYBOX_TOP
- help
- Enable 's' in top (gives lots of memory info).
-
-config INITRAMFS_BUSYBOX_UPTIME
- bool "uptime"
- default n
- help
- uptime gives a one line display of the current time, how long
- the system has been running, how many users are currently logged
- on, and the system load averages for the past 1, 5, and 15 minutes.
-
-config INITRAMFS_BUSYBOX_WATCH
- bool "watch"
- default n
- help
- watch is used to execute a program periodically, showing
- output to the screen.
-
-
-endmenu
diff --git a/config/initramfs-busybox/runit/Config.in b/config/initramfs-busybox/runit/Config.in
deleted file mode 100644
index e5e85fe91..000000000
--- a/config/initramfs-busybox/runit/Config.in
+++ /dev/null
@@ -1,83 +0,0 @@
-#
-# For a description of the syntax of this configuration file,
-# see scripts/kbuild/config-language.txt.
-#
-
-menu "Runit Utilities"
-
-config INITRAMFS_BUSYBOX_RUNSV
- bool "runsv"
- default n
- help
- runsv starts and monitors a service and optionally an appendant log
- service.
-
-config INITRAMFS_BUSYBOX_RUNSVDIR
- bool "runsvdir"
- default n
- help
- runsvdir starts a runsv process for each subdirectory, or symlink to
- a directory, in the services directory dir, up to a limit of 1000
- subdirectories, and restarts a runsv process if it terminates.
-
-config INITRAMFS_BUSYBOX_FEATURE_RUNSVDIR_LOG
- bool "Enable scrolling argument log"
- depends on INITRAMFS_BUSYBOX_RUNSVDIR
- default n
- help
- Enable feature where second parameter of runsvdir holds last error
- message (viewable via top/ps). Otherwise (feature is off
- or no parameter), error messages go to stderr only.
-
-config INITRAMFS_BUSYBOX_SV
- bool "sv"
- default n
- help
- sv reports the current status and controls the state of services
- monitored by the runsv supervisor.
-
-config INITRAMFS_BUSYBOX_SV_DEFAULT_SERVICE_DIR
- string "Default directory for services"
- default "/var/service"
- depends on INITRAMFS_BUSYBOX_SV
- help
- Default directory for services.
- Defaults to "/var/service"
-
-config INITRAMFS_BUSYBOX_SVLOGD
- bool "svlogd"
- default n
- help
- svlogd continuously reads log data from its standard input, optionally
- filters log messages, and writes the data to one or more automatically
- rotated logs.
-
-config INITRAMFS_BUSYBOX_CHPST
- bool "chpst"
- default n
- help
- chpst changes the process state according to the given options, and
- execs specified program.
-
-config INITRAMFS_BUSYBOX_SETUIDGID
- bool "setuidgid"
- help
- Sets soft resource limits as specified by options
-
-config INITRAMFS_BUSYBOX_ENVUIDGID
- bool "envuidgid"
- help
- Sets $UID to account's uid and $GID to account's gid
-
-config INITRAMFS_BUSYBOX_ENVDIR
- bool "envdir"
- help
- Sets various environment variables as specified by files
- in the given directory
-
-config INITRAMFS_BUSYBOX_SOFTLIMIT
- bool "softlimit"
- help
- Sets soft resource limits as specified by options
-
-endmenu
diff --git a/config/initramfs-busybox/selinux/Config.in b/config/initramfs-busybox/selinux/Config.in
deleted file mode 100644
index 93d1b8b36..000000000
--- a/config/initramfs-busybox/selinux/Config.in
+++ /dev/null
@@ -1,123 +0,0 @@
-#
-# For a description of the syntax of this configuration file,
-# see scripts/kbuild/config-language.txt.
-#
-
-menu "SELinux Utilities"
- depends on INITRAMFS_BUSYBOX_SELINUX
-
-config INITRAMFS_BUSYBOX_CHCON
- bool "chcon"
- default n
- depends on INITRAMFS_BUSYBOX_SELINUX
- help
- Enable support to change the security context of file.
-
-config INITRAMFS_BUSYBOX_FEATURE_CHCON_LONG_OPTIONS
- bool "Enable long options"
- default y
- depends on INITRAMFS_BUSYBOX_CHCON && INITRAMFS_BUSYBOX_LONG_OPTS
- help
- Support long options for the chcon applet.
-
-config INITRAMFS_BUSYBOX_GETENFORCE
- bool "getenforce"
- default n
- depends on INITRAMFS_BUSYBOX_SELINUX
- help
- Enable support to get the current mode of SELinux.
-
-config INITRAMFS_BUSYBOX_GETSEBOOL
- bool "getsebool"
- default n
- depends on INITRAMFS_BUSYBOX_SELINUX
- help
- Enable support to get SELinux boolean values.
-
-config INITRAMFS_BUSYBOX_LOAD_POLICY
- bool "load_policy"
- default n
- depends on INITRAMFS_BUSYBOX_SELINUX
- help
- Enable support to load SELinux policy.
-
-config INITRAMFS_BUSYBOX_MATCHPATHCON
- bool "matchpathcon"
- default n
- depends on INITRAMFS_BUSYBOX_SELINUX
- help
- Enable support to get default security context of the
- specified path from the file contexts configuration.
-
-config INITRAMFS_BUSYBOX_RESTORECON
- bool "restorecon"
- default n
- depends on INITRAMFS_BUSYBOX_SELINUX
- help
- Enable support to relabel files. The feature is almost
- the same as setfiles, but usage is a little different.
-
-config INITRAMFS_BUSYBOX_RUNCON
- bool "runcon"
- default n
- depends on INITRAMFS_BUSYBOX_SELINUX
- help
- Enable support to run command in speficied security context.
-
-config INITRAMFS_BUSYBOX_FEATURE_RUNCON_LONG_OPTIONS
- bool "Enable long options"
- default y
- depends on INITRAMFS_BUSYBOX_RUNCON && INITRAMFS_BUSYBOX_LONG_OPTS
- help
- Support long options for the runcon applet.
-
-config INITRAMFS_BUSYBOX_SELINUXENABLED
- bool "selinuxenabled"
- default n
- depends on INITRAMFS_BUSYBOX_SELINUX
- help
- Enable support for this command to be used within shell scripts
- to determine if selinux is enabled.
-
-config INITRAMFS_BUSYBOX_SETENFORCE
- bool "setenforce"
- default n
- depends on INITRAMFS_BUSYBOX_SELINUX
- help
- Enable support to modify the mode SELinux is running in.
-
-config INITRAMFS_BUSYBOX_SETFILES
- bool "setfiles"
- default n
- depends on INITRAMFS_BUSYBOX_SELINUX
- help
- Enable support to modify to relabel files.
- Notice: If you built libselinux with -D_FILE_OFFSET_BITS=64,
- (It is default in libselinux's Makefile), you _must_ enable
- CONFIG_LFS.
-
-config INITRAMFS_BUSYBOX_FEATURE_SETFILES_CHECK_OPTION
- bool "Enable check option"
- default n
- depends on INITRAMFS_BUSYBOX_SETFILES
- help
- Support "-c" option (check the validity of the contexts against
- the specified binary policy) for setfiles. Requires libsepol.
-
-config INITRAMFS_BUSYBOX_SETSEBOOL
- bool "setsebool"
- default n
- depends on INITRAMFS_BUSYBOX_SELINUX
- help
- Enable support for change boolean.
- semanage and -P option is not supported yet.
-
-config INITRAMFS_BUSYBOX_SESTATUS
- bool "sestatus"
- default n
- depends on INITRAMFS_BUSYBOX_SELINUX
- help
- Displays the status of SELinux.
-
-endmenu
-
diff --git a/config/initramfs-busybox/shell/Config.in b/config/initramfs-busybox/shell/Config.in
deleted file mode 100644
index 846ad0f88..000000000
--- a/config/initramfs-busybox/shell/Config.in
+++ /dev/null
@@ -1,369 +0,0 @@
-#
-# For a description of the syntax of this configuration file,
-# see scripts/kbuild/config-language.txt.
-#
-
-menu "Shells"
-
-choice
- prompt "Choose your default shell"
- default INITRAMFS_BUSYBOX_FEATURE_SH_IS_NONE
- help
- Choose a shell. The ash shell is the most bash compatible
- and full featured one.
-
-config INITRAMFS_BUSYBOX_FEATURE_SH_IS_ASH
- select INITRAMFS_BUSYBOX_ASH
- bool "ash"
-
-config INITRAMFS_BUSYBOX_FEATURE_SH_IS_HUSH
- select INITRAMFS_BUSYBOX_HUSH
- bool "hush"
-
-####config FEATURE_SH_IS_LASH
-#### select LASH
-#### bool "lash"
-
-####config FEATURE_SH_IS_MSH
-#### select MSH
-#### bool "msh"
-
-config INITRAMFS_BUSYBOX_FEATURE_SH_IS_NONE
- bool "none"
-
-endchoice
-
-config INITRAMFS_BUSYBOX_ASH
- bool "ash"
- default n
- help
- Tha 'ash' shell adds about 60k in the default configuration and is
- the most complete and most pedantically correct shell included with
- busybox. This shell is actually a derivative of the Debian 'dash'
- shell (by Herbert Xu), which was created by porting the 'ash' shell
- (written by Kenneth Almquist) from NetBSD.
-
-config INITRAMFS_BUSYBOX_ASH_BASH_COMPAT
- bool "bash-compatible extensions"
- default y
- depends on INITRAMFS_BUSYBOX_ASH
- help
- Enable bash-compatible extensions.
-
-config INITRAMFS_BUSYBOX_ASH_JOB_CONTROL
- bool "Job control"
- default y
- depends on INITRAMFS_BUSYBOX_ASH
- help
- Enable job control in the ash shell.
-
-config INITRAMFS_BUSYBOX_ASH_READ_NCHARS
- bool "'read -n N' and 'read -s' support"
- default n
- depends on INITRAMFS_BUSYBOX_ASH
- help
- 'read -n N' will return a value after N characters have been read.
- 'read -s' will read without echoing the user's input.
-
-config INITRAMFS_BUSYBOX_ASH_READ_TIMEOUT
- bool "'read -t S' support"
- default n
- depends on INITRAMFS_BUSYBOX_ASH
- help
- 'read -t S' will return a value after S seconds have passed.
- This implementation will allow fractional seconds, expressed
- as a decimal fraction, e.g. 'read -t 2.5 foo'.
-
-config INITRAMFS_BUSYBOX_ASH_ALIAS
- bool "alias support"
- default y
- depends on INITRAMFS_BUSYBOX_ASH
- help
- Enable alias support in the ash shell.
-
-config INITRAMFS_BUSYBOX_ASH_GETOPTS
- bool "Builtin getopt to parse positional parameters"
- default n
- depends on INITRAMFS_BUSYBOX_ASH
- help
- Enable getopts builtin in the ash shell.
-
-config INITRAMFS_BUSYBOX_ASH_BUILTIN_ECHO
- bool "Builtin version of 'echo'"
- default y
- depends on INITRAMFS_BUSYBOX_ASH
- help
- Enable support for echo, builtin to ash.
-
-config INITRAMFS_BUSYBOX_ASH_BUILTIN_PRINTF
- bool "Builtin version of 'printf'"
- default y
- depends on INITRAMFS_BUSYBOX_ASH
- help
- Enable support for printf, builtin to ash.
-
-config INITRAMFS_BUSYBOX_ASH_BUILTIN_TEST
- bool "Builtin version of 'test'"
- default y
- depends on INITRAMFS_BUSYBOX_ASH
- help
- Enable support for test, builtin to ash.
-
-config INITRAMFS_BUSYBOX_ASH_CMDCMD
- bool "'command' command to override shell builtins"
- default n
- depends on INITRAMFS_BUSYBOX_ASH
- help
- Enable support for the ash 'command' builtin, which allows
- you to run the specified command with the specified arguments,
- even when there is an ash builtin command with the same name.
-
-config INITRAMFS_BUSYBOX_ASH_MAIL
- bool "Check for new mail on interactive shells"
- default y
- depends on INITRAMFS_BUSYBOX_ASH
- help
- Enable "check for new mail" in the ash shell.
-
-config INITRAMFS_BUSYBOX_ASH_OPTIMIZE_FOR_SIZE
- bool "Optimize for size instead of speed"
- default y
- depends on INITRAMFS_BUSYBOX_ASH
- help
- Compile ash for reduced size at the price of speed.
-
-config INITRAMFS_BUSYBOX_ASH_RANDOM_SUPPORT
- bool "Pseudorandom generator and $RANDOM variable"
- default n
- depends on INITRAMFS_BUSYBOX_ASH
- help
- Enable pseudorandom generator and dynamic variable "$RANDOM".
- Each read of "$RANDOM" will generate a new pseudorandom value.
- You can reset the generator by using a specified start value.
- After "unset RANDOM" the generator will switch off and this
- variable will no longer have special treatment.
-
-config INITRAMFS_BUSYBOX_ASH_EXPAND_PRMT
- bool "Expand prompt string"
- default n
- depends on INITRAMFS_BUSYBOX_ASH
- help
- "PS#" may contain volatile content, such as backquote commands.
- This option recreates the prompt string from the environment
- variable each time it is displayed.
-
-config INITRAMFS_BUSYBOX_HUSH
- bool "hush"
- default n
- help
- hush is a small shell (22k). It handles the normal flow control
- constructs such as if/then/elif/else/fi, for/in/do/done, while loops,
- case/esac. Redirections, here documents, $((arithmetic))
- and functions are supported.
-
- It will compile and work on no-mmu systems.
-
- It does not handle select, aliases, brace expansion,
- tilde expansion, &>file and >&file redirection of stdout+stderr.
-
-config INITRAMFS_BUSYBOX_HUSH_BASH_COMPAT
- bool "bash-compatible extensions"
- default y
- depends on INITRAMFS_BUSYBOX_HUSH
- help
- Enable bash-compatible extensions.
-
-config INITRAMFS_BUSYBOX_HUSH_HELP
- bool "help builtin"
- default n
- depends on INITRAMFS_BUSYBOX_HUSH
- help
- Enable help builtin in hush. Code size + ~1 kbyte.
-
-config INITRAMFS_BUSYBOX_HUSH_INTERACTIVE
- bool "Interactive mode"
- default y
- depends on INITRAMFS_BUSYBOX_HUSH
- help
- Enable interactive mode (prompt and command editing).
- Without this, hush simply reads and executes commands
- from stdin just like a shell script from the file.
- No prompt, no PS1/PS2 magic shell variables.
-
-config INITRAMFS_BUSYBOX_HUSH_JOB
- bool "Job control"
- default n
- depends on INITRAMFS_BUSYBOX_HUSH_INTERACTIVE
- help
- Enable job control: Ctrl-Z backgrounds, Ctrl-C interrupts current
- command (not entire shell), fg/bg builtins work. Without this option,
- "cmd &" still works by simply spawning a process and immediately
- prompting for next command (or executing next command in a script),
- but no separate process group is formed.
-
-config INITRAMFS_BUSYBOX_HUSH_TICK
- bool "Process substitution"
- default n
- depends on INITRAMFS_BUSYBOX_HUSH
- help
- Enable process substitution `command` and $(command) in hush.
-
-config INITRAMFS_BUSYBOX_HUSH_IF
- bool "Support if/then/elif/else/fi"
- default n
- depends on INITRAMFS_BUSYBOX_HUSH
- help
- Enable if/then/elif/else/fi in hush.
-
-config INITRAMFS_BUSYBOX_HUSH_LOOPS
- bool "Support for, while and until loops"
- default n
- depends on INITRAMFS_BUSYBOX_HUSH
- help
- Enable for, while and until loops in hush.
-
-config INITRAMFS_BUSYBOX_HUSH_CASE
- bool "Support case ... esac statement"
- default n
- depends on INITRAMFS_BUSYBOX_HUSH
- help
- Enable case ... esac statement in hush. +400 bytes.
-
-config INITRAMFS_BUSYBOX_HUSH_FUNCTIONS
- bool "Support funcname() { commands; } syntax"
- default n
- depends on INITRAMFS_BUSYBOX_HUSH
- help
- Enable support for shell functions in hush. +800 bytes.
-
-config INITRAMFS_BUSYBOX_HUSH_LOCAL
- bool "Support local builtin"
- default n
- depends on INITRAMFS_BUSYBOX_HUSH_FUNCTIONS
- help
- Enable support for local variables in functions.
-
-config INITRAMFS_BUSYBOX_HUSH_EXPORT_N
- bool "Support export '-n' option"
- default n
- depends on INITRAMFS_BUSYBOX_HUSH
- help
- Enable support for export '-n' option in hush. It is a bash extension.
-
-config INITRAMFS_BUSYBOX_LASH
- bool "lash (deprecated: aliased to hush)"
- default n
- select INITRAMFS_BUSYBOX_HUSH
- help
- lash is deprecated and will be removed, please migrate to hush.
-
-config INITRAMFS_BUSYBOX_MSH
- bool "msh (deprecated: please use hush)"
- default n
- select INITRAMFS_BUSYBOX_HUSH
- help
- msh is deprecated and will be removed, please migrate to hush.
- If there is a feature msh has but hush does not, please let us know.
-
-# The minix shell (adds just 30k) is quite complete and handles things
-# like for/do/done, case/esac and all the things you expect a Bourne
-# shell to do. It is not always pedantically correct about Bourne
-# shell grammar (try running the shell testscript "tests/sh.testcases"
-# on it and compare vs bash) but for most things it works quite well.
-# It uses only vfork, so it can be used on uClinux systems.
-
-
-config INITRAMFS_BUSYBOX_SH_MATH_SUPPORT
- bool "POSIX math support"
- default y
- depends on INITRAMFS_BUSYBOX_ASH || INITRAMFS_BUSYBOX_HUSH
- help
- Enable math support in the shell via $((...)) syntax.
-
-config INITRAMFS_BUSYBOX_SH_MATH_SUPPORT_64
- bool "Extend POSIX math support to 64 bit"
- default n
- depends on INITRAMFS_BUSYBOX_SH_MATH_SUPPORT
- help
- Enable 64-bit math support in the shell. This will make the shell
- slightly larger, but will allow computation with very large numbers.
- This is not in POSIX, so do not rely on this in portable code.
-
-config INITRAMFS_BUSYBOX_FEATURE_SH_EXTRA_QUIET
- bool "Hide message on interactive shell startup"
- default n
- depends on INITRAMFS_BUSYBOX_MSH || INITRAMFS_BUSYBOX_LASH || INITRAMFS_BUSYBOX_HUSH || INITRAMFS_BUSYBOX_ASH
- help
- Remove the busybox introduction when starting a shell.
-
-config INITRAMFS_BUSYBOX_FEATURE_SH_STANDALONE
- bool "Standalone shell"
- default n
- depends on (INITRAMFS_BUSYBOX_MSH || INITRAMFS_BUSYBOX_LASH || INITRAMFS_BUSYBOX_HUSH || INITRAMFS_BUSYBOX_ASH) && INITRAMFS_BUSYBOX_FEATURE_PREFER_APPLETS
- help
- This option causes busybox shells to use busybox applets
- in preference to executables in the PATH whenever possible. For
- example, entering the command 'ifconfig' into the shell would cause
- busybox to use the ifconfig busybox applet. Specifying the fully
- qualified executable name, such as '/sbin/ifconfig' will still
- execute the /sbin/ifconfig executable on the filesystem. This option
- is generally used when creating a statically linked version of busybox
- for use as a rescue shell, in the event that you screw up your system.
-
- This is implemented by re-execing /proc/self/exe (typically)
- with right parameters. Some selected applets ("NOFORK" applets)
- can even be executed without creating new process.
- Instead, busybox will call <applet>_main() internally.
-
- However, this causes problems in chroot jails without mounted /proc
- and with ps/top (command name can be shown as 'exe' for applets
- started this way).
-# untrue?
-# Note that this will *also* cause applets to take precedence
-# over shell builtins of the same name. So turning this on will
-# eliminate any performance gained by turning on the builtin "echo"
-# and "test" commands in ash.
-# untrue?
-# Note that when using this option, the shell will attempt to directly
-# run '/bin/busybox'. If you do not have the busybox binary sitting in
-# that exact location with that exact name, this option will not work at
-# all.
-
-config INITRAMFS_BUSYBOX_FEATURE_SH_NOFORK
- bool "Run 'nofork' applets directly"
- default n
- depends on (INITRAMFS_BUSYBOX_MSH || INITRAMFS_BUSYBOX_LASH || INITRAMFS_BUSYBOX_HUSH || INITRAMFS_BUSYBOX_ASH) && INITRAMFS_BUSYBOX_FEATURE_PREFER_APPLETS
- help
- This option causes busybox shells [currently only ash]
- to not execute typical fork/exec/wait sequence, but call <applet>_main
- directly, if possible. (Sometimes it is not possible: for example,
- this is not possible in pipes).
-
- This will be done only for some applets (those which are marked
- NOFORK in include/applets.h).
-
- This may significantly speed up some shell scripts.
-
- This feature is relatively new. Use with care.
-
-config INITRAMFS_BUSYBOX_CTTYHACK
- bool "cttyhack"
- default n
- help
- One common problem reported on the mailing list is "can't access tty;
- job control turned off" error message which typically appears when
- one tries to use shell with stdin/stdout opened to /dev/console.
- This device is special - it cannot be a controlling tty.
-
- Proper solution is to use correct device instead of /dev/console.
-
- cttyhack provides "quick and dirty" solution to this problem.
- It analyzes stdin with various ioctls, trying to determine whether
- it is a /dev/ttyN or /dev/ttySN (virtual terminal or serial line).
- If it detects one, it closes stdin/out/err and reopens that device.
- Then it executes given program. Usage example for /etc/inittab
- (for busybox init):
-
- ::respawn:/bin/cttyhack /bin/sh
-
-endmenu
diff --git a/config/initramfs-busybox/sysklogd/Config.in b/config/initramfs-busybox/sysklogd/Config.in
deleted file mode 100644
index ac4fcf9b4..000000000
--- a/config/initramfs-busybox/sysklogd/Config.in
+++ /dev/null
@@ -1,118 +0,0 @@
-#
-# For a description of the syntax of this configuration file,
-# see scripts/kbuild/config-language.txt.
-#
-
-menu "System Logging Utilities"
-
-config INITRAMFS_BUSYBOX_SYSLOGD
- bool "syslogd"
- default n
- help
- The syslogd utility is used to record logs of all the
- significant events that occur on a system. Every
- message that is logged records the date and time of the
- event, and will generally also record the name of the
- application that generated the message. When used in
- conjunction with klogd, messages from the Linux kernel
- can also be recorded. This is terribly useful,
- especially for finding what happened when something goes
- wrong. And something almost always will go wrong if
- you wait long enough....
-
-config INITRAMFS_BUSYBOX_FEATURE_ROTATE_LOGFILE
- bool "Rotate message files"
- default n
- depends on INITRAMFS_BUSYBOX_SYSLOGD
- help
- This enables syslogd to rotate the message files
- on his own. No need to use an external rotatescript.
-
-config INITRAMFS_BUSYBOX_FEATURE_REMOTE_LOG
- bool "Remote Log support"
- default n
- depends on INITRAMFS_BUSYBOX_SYSLOGD
- help
- When you enable this feature, the syslogd utility can
- be used to send system log messages to another system
- connected via a network. This allows the remote
- machine to log all the system messages, which can be
- terribly useful for reducing the number of serial
- cables you use. It can also be a very good security
- measure to prevent system logs from being tampered with
- by an intruder.
-
-config INITRAMFS_BUSYBOX_FEATURE_SYSLOGD_DUP
- bool "Support -D (drop dups) option"
- default n
- depends on INITRAMFS_BUSYBOX_SYSLOGD
- help
- Option -D instructs syslogd to drop consecutive messages
- which are totally the same.
-
-config INITRAMFS_BUSYBOX_FEATURE_IPC_SYSLOG
- bool "Circular Buffer support"
- default n
- depends on INITRAMFS_BUSYBOX_SYSLOGD
- help
- When you enable this feature, the syslogd utility will
- use a circular buffer to record system log messages.
- When the buffer is filled it will continue to overwrite
- the oldest messages. This can be very useful for
- systems with little or no permanent storage, since
- otherwise system logs can eventually fill up your
- entire filesystem, which may cause your system to
- break badly.
-
-config INITRAMFS_BUSYBOX_FEATURE_IPC_SYSLOG_BUFFER_SIZE
- int "Circular buffer size in Kbytes (minimum 4KB)"
- default 16
- range 4 2147483647
- depends on INITRAMFS_BUSYBOX_FEATURE_IPC_SYSLOG
- help
- This option sets the size of the circular buffer
- used to record system log messages.
-
-config INITRAMFS_BUSYBOX_LOGREAD
- bool "logread"
- default y
- depends on INITRAMFS_BUSYBOX_FEATURE_IPC_SYSLOG
- help
- If you enabled Circular Buffer support, you almost
- certainly want to enable this feature as well. This
- utility will allow you to read the messages that are
- stored in the syslogd circular buffer.
-
-config INITRAMFS_BUSYBOX_FEATURE_LOGREAD_REDUCED_LOCKING
- bool "Double buffering"
- default n
- depends on INITRAMFS_BUSYBOX_LOGREAD
- help
- 'logread' ouput to slow serial terminals can have
- side effects on syslog because of the semaphore.
- This option make logread to double buffer copy
- from circular buffer, minimizing semaphore
- contention at some minor memory expense.
-
-config INITRAMFS_BUSYBOX_KLOGD
- bool "klogd"
- default n
- help
- klogd is a utility which intercepts and logs all
- messages from the Linux kernel and sends the messages
- out to the 'syslogd' utility so they can be logged. If
- you wish to record the messages produced by the kernel,
- you should enable this option.
-
-config INITRAMFS_BUSYBOX_LOGGER
- bool "logger"
- default n
- select INITRAMFS_BUSYBOX_FEATURE_SYSLOG
- help
- The logger utility allows you to send arbitrary text
- messages to the system log (i.e. the 'syslogd' utility) so
- they can be logged. This is generally used to help locate
- problems that occur within programs and scripts.
-
-endmenu
-
diff --git a/config/initramfs-busybox/util-linux/Config.in b/config/initramfs-busybox/util-linux/Config.in
deleted file mode 100644
index 14b050a34..000000000
--- a/config/initramfs-busybox/util-linux/Config.in
+++ /dev/null
@@ -1,884 +0,0 @@
-#
-# For a description of the syntax of this configuration file,
-# see scripts/kbuild/config-language.txt.
-#
-
-menu "Linux System Utilities"
-
-config INITRAMFS_BUSYBOX_ACPID
- bool "acpid"
- default n
- help
- acpid listens to ACPI events coming either in textual form from
- /proc/acpi/event (though it is marked deprecated it is still widely
- used and _is_ a standard) or in binary form from specified evdevs
- (just use /dev/input/event*).
-
- It parses the event to retrieve ACTION and a possible PARAMETER.
- It then spawns /etc/acpi/<ACTION>[/<PARAMETER>] either via run-parts
- (if the resulting path is a directory) or directly as an executable.
-
- N.B. acpid relies on run-parts so have the latter installed.
-
-config INITRAMFS_BUSYBOX_FEATURE_ACPID_COMPAT
- bool "Accept and ignore redundant options"
- default n
- depends on INITRAMFS_BUSYBOX_ACPID
- help
- Accept and ignore compatibility options -g -m -s -S -v.
-
-config INITRAMFS_BUSYBOX_BLKID
- bool "blkid"
- default n
- select INITRAMFS_BUSYBOX_VOLUMEID
- help
- Lists labels and UUIDs of all filesystems.
- WARNING:
- With all submodules selected, it will add ~8k to busybox.
-
-config INITRAMFS_BUSYBOX_DMESG
- bool "dmesg"
- default n
- help
- dmesg is used to examine or control the kernel ring buffer. When the
- Linux kernel prints messages to the system log, they are stored in
- the kernel ring buffer. You can use dmesg to print the kernel's ring
- buffer, clear the kernel ring buffer, change the size of the kernel
- ring buffer, and change the priority level at which kernel messages
- are also logged to the system console. Enable this option if you
- wish to enable the 'dmesg' utility.
-
-config INITRAMFS_BUSYBOX_FEATURE_DMESG_PRETTY
- bool "Pretty dmesg output"
- default y
- depends on INITRAMFS_BUSYBOX_DMESG
- help
- If you wish to scrub the syslog level from the output, say 'Y' here.
- The syslog level is a string prefixed to every line with the form
- "<#>".
-
- With this option you will see:
- # dmesg
- Linux version 2.6.17.4 .....
- BIOS-provided physical RAM map:
- BIOS-e820: 0000000000000000 - 000000000009f000 (usable)
-
- Without this option you will see:
- # dmesg
- <5>Linux version 2.6.17.4 .....
- <6>BIOS-provided physical RAM map:
- <6> BIOS-e820: 0000000000000000 - 000000000009f000 (usable)
-
-config INITRAMFS_BUSYBOX_FBSET
- bool "fbset"
- default n
- help
- fbset is used to show or change the settings of a Linux frame buffer
- device. The frame buffer device provides a simple and unique
- interface to access a graphics display. Enable this option
- if you wish to enable the 'fbset' utility.
-
-config INITRAMFS_BUSYBOX_FEATURE_FBSET_FANCY
- bool "Turn on extra fbset options"
- default n
- depends on INITRAMFS_BUSYBOX_FBSET
- help
- This option enables extended fbset options, allowing one to set the
- framebuffer size, color depth, etc. interface to access a graphics
- display. Enable this option if you wish to enable extended fbset
- options.
-
-config INITRAMFS_BUSYBOX_FEATURE_FBSET_READMODE
- bool "Turn on fbset readmode support"
- default n
- depends on INITRAMFS_BUSYBOX_FBSET
- help
- This option allows fbset to read the video mode database stored by
- default as /etc/fb.modes, which can be used to set frame buffer
- device to pre-defined video modes.
-
-config INITRAMFS_BUSYBOX_FDFLUSH
- bool "fdflush"
- default n
- help
- fdflush is only needed when changing media on slightly-broken
- removable media drives. It is used to make Linux believe that a
- hardware disk-change switch has been actuated, which causes Linux to
- forget anything it has cached from the previous media. If you have
- such a slightly-broken drive, you will need to run fdflush every time
- you change a disk. Most people have working hardware and can safely
- leave this disabled.
-
-config INITRAMFS_BUSYBOX_FDFORMAT
- bool "fdformat"
- default n
- help
- fdformat is used to low-level format a floppy disk.
-
-config INITRAMFS_BUSYBOX_FDISK
- bool "fdisk"
- default n
- help
- The fdisk utility is used to divide hard disks into one or more
- logical disks, which are generally called partitions. This utility
- can be used to list and edit the set of partitions or BSD style
- 'disk slices' that are defined on a hard drive.
-
-config INITRAMFS_BUSYBOX_FDISK_SUPPORT_LARGE_DISKS
- bool "Support over 4GB disks"
- default y
- depends on INITRAMFS_BUSYBOX_FDISK
- help
- Enable this option to support large disks > 4GB.
-
-config INITRAMFS_BUSYBOX_FEATURE_FDISK_WRITABLE
- bool "Write support"
- default y
- depends on INITRAMFS_BUSYBOX_FDISK
- help
- Enabling this option allows you to create or change a partition table
- and write those changes out to disk. If you leave this option
- disabled, you will only be able to view the partition table.
-
-config INITRAMFS_BUSYBOX_FEATURE_AIX_LABEL
- bool "Support AIX disklabels"
- default n
- depends on INITRAMFS_BUSYBOX_FDISK && INITRAMFS_BUSYBOX_FEATURE_FDISK_WRITABLE
- help
- Enabling this option allows you to create or change AIX disklabels.
- Most people can safely leave this option disabled.
-
-config INITRAMFS_BUSYBOX_FEATURE_SGI_LABEL
- bool "Support SGI disklabels"
- default n
- depends on INITRAMFS_BUSYBOX_FDISK && INITRAMFS_BUSYBOX_FEATURE_FDISK_WRITABLE
- help
- Enabling this option allows you to create or change SGI disklabels.
- Most people can safely leave this option disabled.
-
-config INITRAMFS_BUSYBOX_FEATURE_SUN_LABEL
- bool "Support SUN disklabels"
- default n
- depends on INITRAMFS_BUSYBOX_FDISK && INITRAMFS_BUSYBOX_FEATURE_FDISK_WRITABLE
- help
- Enabling this option allows you to create or change SUN disklabels.
- Most people can safely leave this option disabled.
-
-config INITRAMFS_BUSYBOX_FEATURE_OSF_LABEL
- bool "Support BSD disklabels"
- default n
- depends on INITRAMFS_BUSYBOX_FDISK && INITRAMFS_BUSYBOX_FEATURE_FDISK_WRITABLE
- help
- Enabling this option allows you to create or change BSD disklabels
- and define and edit BSD disk slices.
-
-config INITRAMFS_BUSYBOX_FEATURE_FDISK_ADVANCED
- bool "Support expert mode"
- default n
- depends on INITRAMFS_BUSYBOX_FDISK && INITRAMFS_BUSYBOX_FEATURE_FDISK_WRITABLE
- help
- Enabling this option allows you to do terribly unsafe things like
- define arbitrary drive geometry, move the beginning of data in a
- partition, and similarly evil things. Unless you have a very good
- reason you would be wise to leave this disabled.
-
-config INITRAMFS_BUSYBOX_FINDFS
- bool "findfs"
- default n
- select INITRAMFS_BUSYBOX_VOLUMEID
- help
- Prints the name of a filesystem with given label or UUID.
- WARNING:
- With all submodules selected, it will add ~8k to busybox.
-
-config INITRAMFS_BUSYBOX_FREERAMDISK
- bool "freeramdisk"
- default n
- help
- Linux allows you to create ramdisks. This utility allows you to
- delete them and completely free all memory that was used for the
- ramdisk. For example, if you boot Linux into a ramdisk and later
- pivot_root, you may want to free the memory that is allocated to the
- ramdisk. If you have no use for freeing memory from a ramdisk, leave
- this disabled.
-
-config INITRAMFS_BUSYBOX_FSCK_MINIX
- bool "fsck_minix"
- default n
- help
- The minix filesystem is a nice, small, compact, read-write filesystem
- with little overhead. It is not a journaling filesystem however and
- can experience corruption if it is not properly unmounted or if the
- power goes off in the middle of a write. This utility allows you to
- check for and attempt to repair any corruption that occurs to a minix
- filesystem.
-
-config INITRAMFS_BUSYBOX_MKFS_MINIX
- bool "mkfs_minix"
- default n
- help
- The minix filesystem is a nice, small, compact, read-write filesystem
- with little overhead. If you wish to be able to create minix
- filesystems this utility will do the job for you.
-
-comment "Minix filesystem support"
- depends on INITRAMFS_BUSYBOX_FSCK_MINIX || INITRAMFS_BUSYBOX_MKFS_MINIX
-
-config INITRAMFS_BUSYBOX_FEATURE_MINIX2
- bool "Support Minix fs v2 (fsck_minix/mkfs_minix)"
- default y
- depends on INITRAMFS_BUSYBOX_FSCK_MINIX || INITRAMFS_BUSYBOX_MKFS_MINIX
- help
- If you wish to be able to create version 2 minix filesystems, enable
- this. If you enabled 'mkfs_minix' then you almost certainly want to
- be using the version 2 filesystem support.
-
-config INITRAMFS_BUSYBOX_MKFS_VFAT
- bool "mkfs_vfat"
- default n
- help
- Utility to create FAT32 filesystems.
-
-config INITRAMFS_BUSYBOX_GETOPT
- bool "getopt"
- default n
- help
- The getopt utility is used to break up (parse) options in command
- lines to make it easy to write complex shell scripts that also check
- for legal (and illegal) options. If you want to write horribly
- complex shell scripts, or use some horribly complex shell script
- written by others, this utility may be for you. Most people will
- wisely leave this disabled.
-
-config INITRAMFS_BUSYBOX_FEATURE_GETOPT_LONG
- bool "Support option -l"
- default y if INITRAMFS_BUSYBOX_LONG_OPTS
- depends on INITRAMFS_BUSYBOX_GETOPT
- help
- Enable support for long options (option -l).
-
-config INITRAMFS_BUSYBOX_HEXDUMP
- bool "hexdump"
- default n
- help
- The hexdump utility is used to display binary data in a readable
- way that is comparable to the output from most hex editors.
-
-config INITRAMFS_BUSYBOX_FEATURE_HEXDUMP_REVERSE
- bool "Support -R, reverse of 'hexdump -Cv'"
- default n
- depends on INITRAMFS_BUSYBOX_HEXDUMP
- help
- The hexdump utility is used to display binary data in an ascii
- readable way. This option creates binary data from an ascii input.
- NB: this option is non-standard. It's unwise to use it in scripts
- aimed to be portable.
-
-config INITRAMFS_BUSYBOX_HD
- bool "hd"
- default n
- select INITRAMFS_BUSYBOX_HEXDUMP
- help
- hd is an alias to hexdump -C.
-
-config INITRAMFS_BUSYBOX_HWCLOCK
- bool "hwclock"
- default n
- help
- The hwclock utility is used to read and set the hardware clock
- on a system. This is primarily used to set the current time on
- shutdown in the hardware clock, so the hardware will keep the
- correct time when Linux is _not_ running.
-
-config INITRAMFS_BUSYBOX_FEATURE_HWCLOCK_LONG_OPTIONS
- bool "Support long options (--hctosys,...)"
- default n
- depends on INITRAMFS_BUSYBOX_HWCLOCK && INITRAMFS_BUSYBOX_LONG_OPTS
- help
- By default, the hwclock utility only uses short options. If you
- are overly fond of its long options, such as --hctosys, --utc, etc)
- then enable this option.
-
-config INITRAMFS_BUSYBOX_FEATURE_HWCLOCK_ADJTIME_FHS
- bool "Use FHS /var/lib/hwclock/adjtime"
- default y
- depends on INITRAMFS_BUSYBOX_HWCLOCK
- help
- Starting with FHS 2.3, the adjtime state file is supposed to exist
- at /var/lib/hwclock/adjtime instead of /etc/adjtime. If you wish
- to use the FHS behavior, answer Y here, otherwise answer N for the
- classic /etc/adjtime path.
-
- pathname.com/fhs/pub/fhs-2.3.html#VARLIBHWCLOCKSTATEDIRECTORYFORHWCLO
-
-config INITRAMFS_BUSYBOX_IPCRM
- bool "ipcrm"
- default n
- select INITRAMFS_BUSYBOX_FEATURE_SUID
- help
- The ipcrm utility allows the removal of System V interprocess
- communication (IPC) objects and the associated data structures
- from the system.
-
-config INITRAMFS_BUSYBOX_IPCS
- bool "ipcs"
- default n
- select INITRAMFS_BUSYBOX_FEATURE_SUID
- help
- The ipcs utility is used to provide information on the currently
- allocated System V interprocess (IPC) objects in the system.
-
-config INITRAMFS_BUSYBOX_LOSETUP
- bool "losetup"
- default n
- help
- losetup is used to associate or detach a loop device with a regular
- file or block device, and to query the status of a loop device. This
- version does not currently support enabling data encryption.
-
-config INITRAMFS_BUSYBOX_MDEV
- bool "mdev"
- default n
- help
- mdev is a mini-udev implementation for dynamically creating device
- nodes in the /dev directory.
-
- For more information, please see docs/mdev.txt
-
-config INITRAMFS_BUSYBOX_FEATURE_MDEV_CONF
- bool "Support /etc/mdev.conf"
- default n
- depends on INITRAMFS_BUSYBOX_MDEV
- help
- Add support for the mdev config file to control ownership and
- permissions of the device nodes.
-
- For more information, please see docs/mdev.txt
-
-config INITRAMFS_BUSYBOX_FEATURE_MDEV_RENAME
- bool "Support subdirs/symlinks"
- default n
- depends on INITRAMFS_BUSYBOX_FEATURE_MDEV_CONF
- help
- Add support for renaming devices and creating symlinks.
-
- For more information, please see docs/mdev.txt
-
-config INITRAMFS_BUSYBOX_FEATURE_MDEV_RENAME_REGEXP
- bool "Support regular expressions substitutions when renaming device"
- default n
- depends on INITRAMFS_BUSYBOX_FEATURE_MDEV_RENAME
- help
- Add support for regular expressions substitutions when renaming
- device.
-
-config INITRAMFS_BUSYBOX_FEATURE_MDEV_EXEC
- bool "Support command execution at device addition/removal"
- default n
- depends on INITRAMFS_BUSYBOX_FEATURE_MDEV_CONF
- help
- This adds support for an optional field to /etc/mdev.conf for
- executing commands when devices are created/removed.
-
- For more information, please see docs/mdev.txt
-
-config INITRAMFS_BUSYBOX_FEATURE_MDEV_LOAD_FIRMWARE
- bool "Support loading of firmwares"
- default n
- depends on INITRAMFS_BUSYBOX_MDEV
- help
- Some devices need to load firmware before they can be usable.
-
- These devices will request userspace look up the files in
- /lib/firmware/ and if it exists, send it to the kernel for
- loading into the hardware.
-
-config INITRAMFS_BUSYBOX_MKSWAP
- bool "mkswap"
- default n
- help
- The mkswap utility is used to configure a file or disk partition as
- Linux swap space. This allows Linux to use the entire file or
- partition as if it were additional RAM, which can greatly increase
- the capability of low-memory machines. This additional memory is
- much slower than real RAM, but can be very helpful at preventing your
- applications being killed by the Linux out of memory (OOM) killer.
- Once you have created swap space using 'mkswap' you need to enable
- the swap space using the 'swapon' utility.
-
-config INITRAMFS_BUSYBOX_FEATURE_MKSWAP_UUID
- bool "UUID support"
- default n
- depends on INITRAMFS_BUSYBOX_MKSWAP
- help
- Generate swap spaces with universally unique identifiers.
-
-config INITRAMFS_BUSYBOX_MORE
- bool "more"
- default n
- help
- more is a simple utility which allows you to read text one screen
- sized page at a time. If you want to read text that is larger than
- the screen, and you are using anything faster than a 300 baud modem,
- you will probably find this utility very helpful. If you don't have
- any need to reading text files, you can leave this disabled.
-
-config INITRAMFS_BUSYBOX_FEATURE_USE_TERMIOS
- bool "Use termios to manipulate the screen"
- default y
- depends on INITRAMFS_BUSYBOX_MORE || INITRAMFS_BUSYBOX_TOP
- help
- This option allows utilities such as 'more' and 'top' to determine
- the size of the screen. If you leave this disabled, your utilities
- that display things on the screen will be especially primitive and
- will be unable to determine the current screen size, and will be
- unable to move the cursor.
-
-config INITRAMFS_BUSYBOX_VOLUMEID
- bool #No description makes it a hidden option
- default n
-
-config INITRAMFS_BUSYBOX_FEATURE_VOLUMEID_EXT
- bool "Ext filesystem"
- default n
- depends on INITRAMFS_BUSYBOX_VOLUMEID
- help
- TODO
-
-config INITRAMFS_BUSYBOX_FEATURE_VOLUMEID_REISERFS
- bool "Reiser filesystem"
- default n
- depends on INITRAMFS_BUSYBOX_VOLUMEID
- help
- TODO
-
-config INITRAMFS_BUSYBOX_FEATURE_VOLUMEID_FAT
- bool "fat filesystem"
- default n
- depends on INITRAMFS_BUSYBOX_VOLUMEID
- help
- TODO
-
-config INITRAMFS_BUSYBOX_FEATURE_VOLUMEID_HFS
- bool "hfs filesystem"
- default n
- depends on INITRAMFS_BUSYBOX_VOLUMEID
- help
- TODO
-
-config INITRAMFS_BUSYBOX_FEATURE_VOLUMEID_JFS
- bool "jfs filesystem"
- default n
- depends on INITRAMFS_BUSYBOX_VOLUMEID
- help
- TODO
-
-### config FEATURE_VOLUMEID_UFS
-### bool "ufs filesystem"
-### default n
-### depends on VOLUMEID
-### help
-### TODO
-
-config INITRAMFS_BUSYBOX_FEATURE_VOLUMEID_XFS
- bool "xfs filesystem"
- default n
- depends on INITRAMFS_BUSYBOX_VOLUMEID
- help
- TODO
-
-config INITRAMFS_BUSYBOX_FEATURE_VOLUMEID_NTFS
- bool "ntfs filesystem"
- default n
- depends on INITRAMFS_BUSYBOX_VOLUMEID
- help
- TODO
-
-config INITRAMFS_BUSYBOX_FEATURE_VOLUMEID_ISO9660
- bool "iso9660 filesystem"
- default n
- depends on INITRAMFS_BUSYBOX_VOLUMEID
- help
- TODO
-
-config INITRAMFS_BUSYBOX_FEATURE_VOLUMEID_UDF
- bool "udf filesystem"
- default n
- depends on INITRAMFS_BUSYBOX_VOLUMEID
- help
- TODO
-
-config INITRAMFS_BUSYBOX_FEATURE_VOLUMEID_LUKS
- bool "luks filesystem"
- default n
- depends on INITRAMFS_BUSYBOX_VOLUMEID
- help
- TODO
-
-config INITRAMFS_BUSYBOX_FEATURE_VOLUMEID_LINUXSWAP
- bool "linux swap filesystem"
- default n
- depends on INITRAMFS_BUSYBOX_VOLUMEID
- help
- TODO
-
-### config FEATURE_VOLUMEID_LVM
-### bool "lvm"
-### default n
-### depends on VOLUMEID
-### help
-### TODO
-
-config INITRAMFS_BUSYBOX_FEATURE_VOLUMEID_CRAMFS
- bool "cramfs filesystem"
- default n
- depends on INITRAMFS_BUSYBOX_VOLUMEID
- help
- TODO
-
-### config FEATURE_VOLUMEID_HPFS
-### bool "hpfs filesystem"
-### default n
-### depends on VOLUMEID
-### help
-### TODO
-
-config INITRAMFS_BUSYBOX_FEATURE_VOLUMEID_ROMFS
- bool "romfs filesystem"
- default n
- depends on INITRAMFS_BUSYBOX_VOLUMEID
- help
- TODO
-
-config INITRAMFS_BUSYBOX_FEATURE_VOLUMEID_SYSV
- bool "sysv filesystem"
- default n
- depends on INITRAMFS_BUSYBOX_VOLUMEID
- help
- TODO
-
-### config FEATURE_VOLUMEID_MINIX
-### bool "minix filesystem"
-### default n
-### depends on VOLUMEID
-### help
-### TODO
-
-### These only detect partition tables - not used (yet?)
-### config FEATURE_VOLUMEID_MAC
-### bool "mac filesystem"
-### default n
-### depends on VOLUMEID
-### help
-### TODO
-###
-### config FEATURE_VOLUMEID_MSDOS
-### bool "msdos filesystem"
-### default n
-### depends on VOLUMEID
-### help
-### TODO
-
-config INITRAMFS_BUSYBOX_FEATURE_VOLUMEID_OCFS2
- bool "ocfs2 filesystem"
- default n
- depends on INITRAMFS_BUSYBOX_VOLUMEID
- help
- TODO
-
-### config FEATURE_VOLUMEID_HIGHPOINTRAID
-### bool "highpoint raid"
-### default n
-### depends on VOLUMEID
-### help
-### TODO
-
-### config FEATURE_VOLUMEID_ISWRAID
-### bool "intel raid"
-### default n
-### depends on VOLUMEID
-### help
-### TODO
-
-### config FEATURE_VOLUMEID_LSIRAID
-### bool "lsi raid"
-### default n
-### depends on VOLUMEID
-### help
-### TODO
-
-### config FEATURE_VOLUMEID_VIARAID
-### bool "via raid"
-### default n
-### depends on VOLUMEID
-### help
-### TODO
-
-### config FEATURE_VOLUMEID_SILICONRAID
-### bool "silicon raid"
-### default n
-### depends on VOLUMEID
-### help
-### TODO
-
-### config FEATURE_VOLUMEID_NVIDIARAID
-### bool "nvidia raid"
-### default n
-### depends on VOLUMEID
-### help
-### TODO
-
-### config FEATURE_VOLUMEID_PROMISERAID
-### bool "promise raid"
-### default n
-### depends on VOLUMEID
-### help
-### TODO
-
-config INITRAMFS_BUSYBOX_FEATURE_VOLUMEID_LINUXRAID
- bool "linuxraid"
- default n
- depends on INITRAMFS_BUSYBOX_VOLUMEID
- help
- TODO
-
-config INITRAMFS_BUSYBOX_MOUNT
- bool "mount"
- default n
- help
- All files and filesystems in Unix are arranged into one big directory
- tree. The 'mount' utility is used to graft a filesystem onto a
- particular part of the tree. A filesystem can either live on a block
- device, or it can be accessible over the network, as is the case with
- NFS filesystems. Most people using BusyBox will also want to enable
- the 'mount' utility.
-
-config INITRAMFS_BUSYBOX_FEATURE_MOUNT_FAKE
- bool "Support option -f"
- default n
- depends on INITRAMFS_BUSYBOX_MOUNT
- help
- Enable support for faking a file system mount.
-
-config INITRAMFS_BUSYBOX_FEATURE_MOUNT_VERBOSE
- bool "Support option -v"
- default n
- depends on INITRAMFS_BUSYBOX_MOUNT
- help
- Enable multi-level -v[vv...] verbose messages. Useful if you
- debug mount problems and want to see what is exactly passed
- to the kernel.
-
-config INITRAMFS_BUSYBOX_FEATURE_MOUNT_HELPERS
- bool "Support mount helpers"
- default n
- depends on INITRAMFS_BUSYBOX_MOUNT
- help
- Enable mounting of virtual file systems via external helpers.
- E.g. "mount obexfs#-b00.11.22.33.44.55 /mnt" will in effect call
- "obexfs -b00.11.22.33.44.55 /mnt"
- Also "mount -t sometype [-o opts] fs /mnt" will try
- "sometype [-o opts] fs /mnt" if simple mount syscall fails.
- The idea is to use such virtual filesystems in /etc/fstab.
-
-config INITRAMFS_BUSYBOX_FEATURE_MOUNT_LABEL
- bool "Support specifiying devices by label or UUID"
- default n
- depends on INITRAMFS_BUSYBOX_MOUNT
- select INITRAMFS_BUSYBOX_VOLUMEID
- help
- This allows for specifying a device by label or uuid, rather than by
- name. This feature utilizes the same functionality as blkid/findfs.
-
-config INITRAMFS_BUSYBOX_FEATURE_MOUNT_NFS
- bool "Support mounting NFS file systems"
- default n
- depends on INITRAMFS_BUSYBOX_MOUNT
- select INITRAMFS_BUSYBOX_FEATURE_HAVE_RPC
- select INITRAMFS_BUSYBOX_FEATURE_SYSLOG
- help
- Enable mounting of NFS file systems.
-
-config INITRAMFS_BUSYBOX_FEATURE_MOUNT_CIFS
- bool "Support mounting CIFS/SMB file systems"
- default n
- depends on INITRAMFS_BUSYBOX_MOUNT
- help
- Enable support for samba mounts.
-
-config INITRAMFS_BUSYBOX_FEATURE_MOUNT_FLAGS
- depends on INITRAMFS_BUSYBOX_MOUNT
- bool "Support lots of -o flags in mount"
- default y
- help
- Without this, mount only supports ro/rw/remount. With this, it
- supports nosuid, suid, dev, nodev, exec, noexec, sync, async, atime,
- noatime, diratime, nodiratime, loud, bind, move, shared, slave,
- private, unbindable, rshared, rslave, rprivate, and runbindable.
-
-config INITRAMFS_BUSYBOX_FEATURE_MOUNT_FSTAB
- depends on INITRAMFS_BUSYBOX_MOUNT
- bool "Support /etc/fstab and -a"
- default y
- help
- Support mount all and looking for files in /etc/fstab.
-
-config INITRAMFS_BUSYBOX_PIVOT_ROOT
- bool "pivot_root"
- default n
- help
- The pivot_root utility swaps the mount points for the root filesystem
- with some other mounted filesystem. This allows you to do all sorts
- of wild and crazy things with your Linux system and is far more
- powerful than 'chroot'.
-
- Note: This is for initrd in linux 2.4. Under initramfs (introduced
- in linux 2.6) use switch_root instead.
-
-config INITRAMFS_BUSYBOX_RDATE
- bool "rdate"
- default n
- help
- The rdate utility allows you to synchronize the date and time of your
- system clock with the date and time of a remote networked system using
- the RFC868 protocol, which is built into the inetd daemon on most
- systems.
-
-config INITRAMFS_BUSYBOX_RDEV
- bool "rdev"
- default n
- help
- Print the device node associated with the filesystem mounted at '/'.
-
-config INITRAMFS_BUSYBOX_READPROFILE
- bool "readprofile"
- default n
- help
- This allows you to parse /proc/profile for basic profiling.
-
-config INITRAMFS_BUSYBOX_RTCWAKE
- bool "rtcwake"
- default n
- help
- Enter a system sleep state until specified wakeup time.
-
-config INITRAMFS_BUSYBOX_SCRIPT
- bool "script"
- default n
- help
- The script makes typescript of terminal session.
-
-config INITRAMFS_BUSYBOX_SCRIPTREPLAY
- bool "scriptreplay"
- default n
- help
- This program replays a typescript, using timing information
- given by script -t.
-
-config INITRAMFS_BUSYBOX_SETARCH
- bool "setarch"
- default n
- help
- The linux32 utility is used to create a 32bit environment for the
- specified program (usually a shell). It only makes sense to have
- this util on a system that supports both 64bit and 32bit userland
- (like amd64/x86, ppc64/ppc, sparc64/sparc, etc...).
-
-config INITRAMFS_BUSYBOX_SWAPONOFF
- bool "swaponoff"
- default n
- help
- This option enables both the 'swapon' and the 'swapoff' utilities.
- Once you have created some swap space using 'mkswap', you also need
- to enable your swap space with the 'swapon' utility. The 'swapoff'
- utility is used, typically at system shutdown, to disable any swap
- space. If you are not using any swap space, you can leave this
- option disabled.
-
-config INITRAMFS_BUSYBOX_FEATURE_SWAPON_PRI
- bool "Support priority option -p"
- default n
- depends on INITRAMFS_BUSYBOX_SWAPONOFF
- help
- Enable support for setting swap device priority in swapon.
-
-config INITRAMFS_BUSYBOX_SWITCH_ROOT
- bool "switch_root"
- default n
- help
- The switch_root utility is used from initramfs to select a new
- root device. Under initramfs, you have to use this instead of
- pivot_root. (Stop reading here if you don't care why.)
-
- Booting with initramfs extracts a gzipped cpio archive into rootfs
- (which is a variant of ramfs/tmpfs). Because rootfs can't be moved
- or unmounted*, pivot_root will not work from initramfs. Instead,
- switch_root deletes everything out of rootfs (including itself),
- does a mount --move that overmounts rootfs with the new root, and
- then execs the specified init program.
-
- * Because the Linux kernel uses rootfs internally as the starting
- and ending point for searching through the kernel's doubly linked
- list of active mount points. That's why.
-
-config INITRAMFS_BUSYBOX_UMOUNT
- bool "umount"
- default n
- help
- When you want to remove a mounted filesystem from its current mount
- point, for example when you are shutting down the system, the
- 'umount' utility is the tool to use. If you enabled the 'mount'
- utility, you almost certainly also want to enable 'umount'.
-
-config INITRAMFS_BUSYBOX_FEATURE_UMOUNT_ALL
- bool "Support option -a"
- default n
- depends on INITRAMFS_BUSYBOX_UMOUNT
- help
- Support -a option to unmount all currently mounted filesystems.
-
-comment "Common options for mount/umount"
- depends on INITRAMFS_BUSYBOX_MOUNT || INITRAMFS_BUSYBOX_UMOUNT
-
-config INITRAMFS_BUSYBOX_FEATURE_MOUNT_LOOP
- bool "Support loopback mounts"
- default n
- depends on INITRAMFS_BUSYBOX_MOUNT || INITRAMFS_BUSYBOX_UMOUNT
- help
- Enabling this feature allows automatic mounting of files (containing
- filesystem images) via the linux kernel's loopback devices.
- The mount command will detect you are trying to mount a file instead
- of a block device, and transparently associate the file with a
- loopback device. The umount command will also free that loopback
- device.
-
- You can still use the 'losetup' utility (to manually associate files
- with loop devices) if you need to do something advanced, such as
- specify an offset or cryptographic options to the loopback device.
- (If you don't want umount to free the loop device, use "umount -D".)
-
-config INITRAMFS_BUSYBOX_FEATURE_MTAB_SUPPORT
- bool "Support for the old /etc/mtab file"
- default n
- depends on INITRAMFS_BUSYBOX_MOUNT || INITRAMFS_BUSYBOX_UMOUNT
- select INITRAMFS_BUSYBOX_FEATURE_MOUNT_FAKE
- help
- Historically, Unix systems kept track of the currently mounted
- partitions in the file "/etc/mtab". These days, the kernel exports
- the list of currently mounted partitions in "/proc/mounts", rendering
- the old mtab file obsolete. (In modern systems, /etc/mtab should be
- a symlink to /proc/mounts.)
-
- The only reason to have mount maintain an /etc/mtab file itself is if
- your stripped-down embedded system does not have a /proc directory.
- If you must use this, keep in mind it's inherently brittle (for
- example a mount under chroot won't update it), can't handle modern
- features like separate per-process filesystem namespaces, requires
- that your /etc directory be writeable, tends to get easily confused
- by --bind or --move mounts, won't update if you rename a directory
- that contains a mount point, and so on. (In brief: avoid.)
-
- About the only reason to use this is if you've removed /proc from
- your kernel.
-
-endmenu
diff --git a/config/setup/Kconfig b/config/setup/Kconfig
index 7c4049265..3a15c6df9 100644
--- a/config/setup/Kconfig
+++ b/config/setup/Kconfig
@@ -188,7 +188,7 @@ menu "Developer Options "
config SETUP_ENV_WHITELIST
- string "environment variable whitelist"
+ string "environment variable whitelist (space separated)"
help
PTXdist clears the environment by default. Specify here a
space seprated list of environment variables to preserve.
diff --git a/configure.ac b/configure.ac
index 11c4640d8..f4717e2fb 100644
--- a/configure.ac
+++ b/configure.ac
@@ -4,7 +4,7 @@ dnl Most parts of this configure script have been borrowed from quilt.
dnl
AC_PREREQ(2.59)
-AC_INIT([ptxdist],[2010.03.1],[ptxdist@pengutronix.de])
+AC_INIT([ptxdist],[2010.04.1],[ptxdist@pengutronix.de])
AC_CONFIG_AUX_DIR(scripts/autoconf)
AC_CANONICAL_BUILD
AC_CANONICAL_HOST
diff --git a/generic/boot/grub/menu.lst b/generic/boot/grub/menu.lst
index 79cbff7aa..acf8c8359 100644
--- a/generic/boot/grub/menu.lst
+++ b/generic/boot/grub/menu.lst
@@ -13,6 +13,6 @@ savedefault
title Network Boot
ifconfig --server=@SERVERIP@ --gateway=@GATEWAY@ --mask=@NETMASK@ --address=@IPADDR@
root (nd)
-kernel (nd)/linux root=/dev/nfs console=ttyS0,115200 ide=nodma ip=@IPADDR@:@SERVERIP@:@GATEWAY@:@NETMASK@::eth0: nfsroot=@NFSROOT_PATH@
+kernel @TFTP_PATH@/linux root=/dev/nfs console=ttyS0,115200 ide=nodma ip=@IPADDR@:@SERVERIP@:@GATEWAY@:@NETMASK@::eth0: nfsroot=@NFSROOT_PATH@
savedefault
diff --git a/patches/atop-1.23/fix-cross-compile.patch b/patches/atop-1.24/fix-cross-compile.patch
index bbb2942ad..e325c7a1e 100644
--- a/patches/atop-1.23/fix-cross-compile.patch
+++ b/patches/atop-1.24/fix-cross-compile.patch
@@ -9,18 +9,17 @@ Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
---
#20081125: wsa: Mailed to upstream.
#20081127: wsa: Accepted upstream. Wait for next release.
+#20100317: mkl: Mailed to upstream again.
Makefile | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
-Index: atop-1.23/Makefile
-===================================================================
---- atop-1.23.orig/Makefile
-+++ atop-1.23/Makefile
-@@ -13,8 +13,8 @@ INIPATH = /etc/rc.d/init.d
- CRNPATH = /etc/cron.d
+--- a/Makefile
++++ b/Makefile
+@@ -15,8 +15,8 @@ CRNPATH = /etc/cron.d
ROTPATH = /etc/logrotate.d
+ # CFLAGS = -g -I. -Wall # -DHTTPSTATS
-CFLAGS = -O -I. -Wall # -DHTTPSTATS
-LDFLAGS = -lncurses -lm -lz
+CFLAGS += -O2 -I. -Wall # -DHTTPSTATS
@@ -28,7 +27,7 @@ Index: atop-1.23/Makefile
OBJMOD0 = version.o
OBJMOD1 = various.o deviate.o procdbase.o
OBJMOD2 = acctproc.o photoproc.o photosyst.o rawlog.o ifprop.o parseable.o
-@@ -25,7 +25,7 @@ ALLMODS = $(OBJMOD0) $(OBJMOD1) $(OBJMOD
+@@ -27,7 +27,7 @@ ALLMODS = $(OBJMOD0) $(OBJMOD1) $(OBJMOD
all: atop
atop: atop.o $(ALLMODS) Makefile
diff --git a/patches/atop-1.23/series b/patches/atop-1.24/series
index 0190994f9..0190994f9 100644
--- a/patches/atop-1.23/series
+++ b/patches/atop-1.24/series
diff --git a/patches/elfkickers-2.0a.orig/0001-01_add_toplevel_makefile.diff.patch b/patches/elfkickers-2.0a.orig/0001-01_add_toplevel_makefile.diff.patch
new file mode 100644
index 000000000..c8edff780
--- /dev/null
+++ b/patches/elfkickers-2.0a.orig/0001-01_add_toplevel_makefile.diff.patch
@@ -0,0 +1,26 @@
+From 0390735daaefeda85dd1f0bcfdcb6dbcd1910aec Mon Sep 17 00:00:00 2001
+From: the debian project <info@debian.org>
+Date: Thu, 11 Mar 2010 01:11:11 +0100
+Subject: [PATCH 1/6] 01_add_toplevel_makefile.diff
+
+---
+ Makefile | 7 +++++++
+ 1 files changed, 7 insertions(+), 0 deletions(-)
+ create mode 100644 Makefile
+
+diff --git a/Makefile b/Makefile
+new file mode 100644
+index 0000000..2a93406
+--- /dev/null
++++ b/Makefile
+@@ -0,0 +1,7 @@
++SUBDIRS = elfls elftoc rebind sstrip
++
++all:
++ set -e; for d in $(SUBDIRS); do cd $$d ; CFLAGS="$(CFLAGS)" CC=$(CC) $(MAKE) ; cd - ; done
++
++clean:
++ set -e; for d in $(SUBDIRS); do cd $$d ; $(MAKE) clean; cd - ; done
+--
+1.7.0
+
diff --git a/patches/elfkickers-2.0a.orig/0002-02_update_subdirs_makefile.diff.patch b/patches/elfkickers-2.0a.orig/0002-02_update_subdirs_makefile.diff.patch
new file mode 100644
index 000000000..0887631db
--- /dev/null
+++ b/patches/elfkickers-2.0a.orig/0002-02_update_subdirs_makefile.diff.patch
@@ -0,0 +1,82 @@
+From a3b73432021d9e0a2a987bdc73c1d5c71966d038 Mon Sep 17 00:00:00 2001
+From: the debian project <info@debian.org>
+Date: Thu, 11 Mar 2010 01:11:12 +0100
+Subject: [PATCH 2/6] 02_update_subdirs_makefile.diff
+
+---
+ ebfc/Makefile | 3 ---
+ elfls/Makefile | 2 +-
+ elftoc/Makefile | 4 ----
+ rebind/Makefile | 2 +-
+ sstrip/Makefile | 2 +-
+ 5 files changed, 3 insertions(+), 10 deletions(-)
+
+diff --git a/ebfc/Makefile b/ebfc/Makefile
+index 6ca1dc2..b0b75a8 100644
+--- a/ebfc/Makefile
++++ b/ebfc/Makefile
+@@ -1,8 +1,5 @@
+ # Makefile for ebfc
+
+-CC = gcc
+-CFLAGS = -ggdb -Wall
+-
+ ebfc: ebfc.o brainfuck.o libelfparts.a
+
+ ebfc.o: ebfc.c elfparts.h ebfc.h
+diff --git a/elfls/Makefile b/elfls/Makefile
+index 0009fdc..e199af1 100644
+--- a/elfls/Makefile
++++ b/elfls/Makefile
+@@ -1,7 +1,7 @@
+ # Makefile for elfls
+
+ elfls: elfls.c
+- gcc -ggdb -Wall -W -o elfls elfls.c
++ $(CC) $(CFLAGS) -W -o elfls elfls.c
+
+ clean:
+ rm -f elfls
+diff --git a/elftoc/Makefile b/elftoc/Makefile
+index 1aaa61b..7681169 100644
+--- a/elftoc/Makefile
++++ b/elftoc/Makefile
+@@ -1,9 +1,5 @@
+ # Makefile for elftoc
+
+-CC = gcc
+-CFLAGS = -ggdb -Wall
+-LDFLAGS = $(CFLAGS)
+-
+ OBJS = pieces.o addr.o shdrtab.o dynamic.o outbasic.o outtools.o out.o elftoc.o
+
+ elftoc: $(OBJS)
+diff --git a/rebind/Makefile b/rebind/Makefile
+index 6448da7..231a569 100644
+--- a/rebind/Makefile
++++ b/rebind/Makefile
+@@ -1,7 +1,7 @@
+ # Makefile for rebind
+
+ rebind: rebind.c
+- gcc -ggdb -Wall -W -o rebind rebind.c
++ $(CC) $(CFLAGS) -W -o rebind rebind.c
+
+ clean:
+ rm -f rebind
+diff --git a/sstrip/Makefile b/sstrip/Makefile
+index dad4c92..1f05c3d 100644
+--- a/sstrip/Makefile
++++ b/sstrip/Makefile
+@@ -1,7 +1,7 @@
+ # Makefile for sstrip
+
+ sstrip: sstrip.c
+- gcc -ggdb -Wall -W -o sstrip sstrip.c
++ $(CC) $(CFLAGS) -W -o sstrip sstrip.c
+
+ clean:
+ rm -f sstrip
+--
+1.7.0
+
diff --git a/patches/elfkickers-2.0a.orig/0003-03_add_include_string.h.diff.patch b/patches/elfkickers-2.0a.orig/0003-03_add_include_string.h.diff.patch
new file mode 100644
index 000000000..1676f879f
--- /dev/null
+++ b/patches/elfkickers-2.0a.orig/0003-03_add_include_string.h.diff.patch
@@ -0,0 +1,50 @@
+From e0756d649ded0b9807c3df263519e3841e493244 Mon Sep 17 00:00:00 2001
+From: the debian project <info@debian.org>
+Date: Thu, 11 Mar 2010 01:11:12 +0100
+Subject: [PATCH 3/6] 03_add_include_string.h.diff
+
+---
+ ebfc/rel.c | 1 +
+ elfls/elfls.c | 1 +
+ elftoc/shdrtab.c | 1 +
+ 3 files changed, 3 insertions(+), 0 deletions(-)
+
+diff --git a/ebfc/rel.c b/ebfc/rel.c
+index 9c76d03..1c53d47 100644
+--- a/ebfc/rel.c
++++ b/ebfc/rel.c
+@@ -5,6 +5,7 @@
+ */
+
+ #include <stdlib.h>
++#include <string.h>
+ #include <linux/elf.h>
+ #include "elfparts.h"
+ #include "gen.h"
+diff --git a/elfls/elfls.c b/elfls/elfls.c
+index 5ccc944..feb5b27 100644
+--- a/elfls/elfls.c
++++ b/elfls/elfls.c
+@@ -4,6 +4,7 @@
+
+ #include <stdio.h>
+ #include <stdlib.h>
++#include <string.h>
+ #include <errno.h>
+ #include <stdarg.h>
+ #include <unistd.h>
+diff --git a/elftoc/shdrtab.c b/elftoc/shdrtab.c
+index 729a05c..48e1459 100644
+--- a/elftoc/shdrtab.c
++++ b/elftoc/shdrtab.c
+@@ -5,6 +5,7 @@
+ */
+
+ #include <stdlib.h>
++#include <string.h>
+ #include <ctype.h>
+ #include "gen.h"
+ #include "elf.h"
+--
+1.7.0
+
diff --git a/patches/elfkickers-2.0a.orig/0004-04_bsd_include_elf.h.diff.patch b/patches/elfkickers-2.0a.orig/0004-04_bsd_include_elf.h.diff.patch
new file mode 100644
index 000000000..69c465834
--- /dev/null
+++ b/patches/elfkickers-2.0a.orig/0004-04_bsd_include_elf.h.diff.patch
@@ -0,0 +1,249 @@
+From 34e5fd9f9893c1155b72b0358fb744abffa0f093 Mon Sep 17 00:00:00 2001
+From: the debian project <info@debian.org>
+Date: Thu, 11 Mar 2010 01:11:13 +0100
+Subject: [PATCH 4/6] 04_bsd_include_elf.h.diff
+
+---
+ ebfc/brainfuck.c | 4 ++++
+ ebfc/dynamic.c | 4 ++++
+ ebfc/ebfc.c | 4 ++++
+ ebfc/ehdr.c | 4 ++++
+ ebfc/elfparts.c | 4 ++++
+ ebfc/got.c | 4 ++++
+ ebfc/hash.c | 4 ++++
+ ebfc/phdrtab.c | 4 ++++
+ ebfc/progbits.c | 4 ++++
+ ebfc/rel.c | 4 ++++
+ ebfc/shdrtab.c | 4 ++++
+ ebfc/strtab.c | 4 ++++
+ ebfc/symtab.c | 4 ++++
+ rebind/rebind.c | 4 ++++
+ 14 files changed, 56 insertions(+), 0 deletions(-)
+
+diff --git a/ebfc/brainfuck.c b/ebfc/brainfuck.c
+index 0d87e21..ccfb755 100644
+--- a/ebfc/brainfuck.c
++++ b/ebfc/brainfuck.c
+@@ -8,7 +8,11 @@
+ #include <stdlib.h>
+ #include <string.h>
+ #include <stddef.h>
++#ifdef __linux__
+ #include <linux/elf.h>
++#else
++#include <elf.h>
++#endif
+ #include "elfparts.h"
+ #include "ebfc.h"
+
+diff --git a/ebfc/dynamic.c b/ebfc/dynamic.c
+index a92b447..b867716 100644
+--- a/ebfc/dynamic.c
++++ b/ebfc/dynamic.c
+@@ -5,7 +5,11 @@
+ */
+
+ #include <stdlib.h>
++#ifdef __linux__
+ #include <linux/elf.h>
++#else
++#include <elf.h>
++#endif
+ #include "elfparts.h"
+ #include "gen.h"
+
+diff --git a/ebfc/ebfc.c b/ebfc/ebfc.c
+index 1e971ce..b94270b 100644
+--- a/ebfc/ebfc.c
++++ b/ebfc/ebfc.c
+@@ -14,7 +14,11 @@
+ #include <fcntl.h>
+ #include <sys/stat.h>
+ #include <getopt.h>
++#ifdef __linux__
+ #include <linux/elf.h>
++#else
++#include <elf.h>
++#endif
+ #include "elfparts.h"
+ #include "ebfc.h"
+
+diff --git a/ebfc/ehdr.c b/ebfc/ehdr.c
+index f8048f9..7d84b3e 100644
+--- a/ebfc/ehdr.c
++++ b/ebfc/ehdr.c
+@@ -5,7 +5,11 @@
+ */
+
+ #include <stdlib.h>
++#ifdef __linux__
+ #include <linux/elf.h>
++#else
++#include <elf.h>
++#endif
+ #include "elfparts.h"
+ #include "gen.h"
+
+diff --git a/ebfc/elfparts.c b/ebfc/elfparts.c
+index bac38b9..312b60e 100644
+--- a/ebfc/elfparts.c
++++ b/ebfc/elfparts.c
+@@ -7,7 +7,11 @@
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <errno.h>
++#ifdef __linux__
+ #include <linux/elf.h>
++#else
++#include <elf.h>
++#endif
+ #include "elfparts.h"
+ #include "gen.h"
+
+diff --git a/ebfc/got.c b/ebfc/got.c
+index f1e9986..3f584d1 100644
+--- a/ebfc/got.c
++++ b/ebfc/got.c
+@@ -5,7 +5,11 @@
+ */
+
+ #include <stdlib.h>
++#ifdef __linux__
+ #include <linux/elf.h>
++#else
++#include <elf.h>
++#endif
+ #include "elfparts.h"
+ #include "gen.h"
+
+diff --git a/ebfc/hash.c b/ebfc/hash.c
+index 1ee53fc..f359a2f 100644
+--- a/ebfc/hash.c
++++ b/ebfc/hash.c
+@@ -6,7 +6,11 @@
+
+ #include <stdlib.h>
+ #include <string.h>
++#ifdef __linux__
+ #include <linux/elf.h>
++#else
++#include <elf.h>
++#endif
+ #include "elfparts.h"
+ #include "gen.h"
+
+diff --git a/ebfc/phdrtab.c b/ebfc/phdrtab.c
+index d562d23..f4545ca 100644
+--- a/ebfc/phdrtab.c
++++ b/ebfc/phdrtab.c
+@@ -5,7 +5,11 @@
+ */
+
+ #include <stdlib.h>
++#ifdef __linux__
+ #include <linux/elf.h>
++#else
++#include <elf.h>
++#endif
+ #include "elfparts.h"
+ #include "gen.h"
+
+diff --git a/ebfc/progbits.c b/ebfc/progbits.c
+index 17a7533..8d7f93f 100644
+--- a/ebfc/progbits.c
++++ b/ebfc/progbits.c
+@@ -5,7 +5,11 @@
+ */
+
+ #include <stdlib.h>
++#ifdef __linux__
+ #include <linux/elf.h>
++#else
++#include <elf.h>
++#endif
+ #include "elfparts.h"
+ #include "gen.h"
+
+diff --git a/ebfc/rel.c b/ebfc/rel.c
+index 1c53d47..581de78 100644
+--- a/ebfc/rel.c
++++ b/ebfc/rel.c
+@@ -6,7 +6,11 @@
+
+ #include <stdlib.h>
+ #include <string.h>
++#ifdef __linux__
+ #include <linux/elf.h>
++#else
++#include <elf.h>
++#endif
+ #include "elfparts.h"
+ #include "gen.h"
+
+diff --git a/ebfc/shdrtab.c b/ebfc/shdrtab.c
+index 2ae0318..8a38c9c 100644
+--- a/ebfc/shdrtab.c
++++ b/ebfc/shdrtab.c
+@@ -5,7 +5,11 @@
+ */
+
+ #include <stdlib.h>
++#ifdef __linux__
+ #include <linux/elf.h>
++#else
++#include <elf.h>
++#endif
+ #include "elfparts.h"
+ #include "gen.h"
+
+diff --git a/ebfc/strtab.c b/ebfc/strtab.c
+index 02c91c3..cfa11dc 100644
+--- a/ebfc/strtab.c
++++ b/ebfc/strtab.c
+@@ -5,7 +5,11 @@
+ */
+
+ #include <stdlib.h>
++#ifdef __linux__
+ #include <linux/elf.h>
++#else
++#include <elf.h>
++#endif
+ #include <string.h>
+ #include "elfparts.h"
+ #include "gen.h"
+diff --git a/ebfc/symtab.c b/ebfc/symtab.c
+index 93dad34..d721f4f 100644
+--- a/ebfc/symtab.c
++++ b/ebfc/symtab.c
+@@ -6,7 +6,11 @@
+
+ #include <stdlib.h>
+ #include <string.h>
++#ifdef __linux__
+ #include <linux/elf.h>
++#else
++#include <elf.h>
++#endif
+ #include "elfparts.h"
+ #include "gen.h"
+
+diff --git a/rebind/rebind.c b/rebind/rebind.c
+index 5608cae..f740c47 100644
+--- a/rebind/rebind.c
++++ b/rebind/rebind.c
+@@ -7,7 +7,11 @@
+ #include <string.h>
+ #include <errno.h>
+ #include <unistd.h>
++#ifdef __linux__
+ #include <linux/elf.h>
++#else
++#include <elf.h>
++#endif
+
+ #ifndef TRUE
+ #define TRUE 1
+--
+1.7.0
+
diff --git a/patches/elfkickers-2.0a.orig/0005-05_add_et_core_elfls.diff.patch b/patches/elfkickers-2.0a.orig/0005-05_add_et_core_elfls.diff.patch
new file mode 100644
index 000000000..8f36ff8f5
--- /dev/null
+++ b/patches/elfkickers-2.0a.orig/0005-05_add_et_core_elfls.diff.patch
@@ -0,0 +1,24 @@
+From 50913d16ecb261ad4bbecaa7fa3c310ccb6ebbd3 Mon Sep 17 00:00:00 2001
+From: the debian project <info@debian.org>
+Date: Thu, 11 Mar 2010 01:11:14 +0100
+Subject: [PATCH 5/6] 05_add_et_core_elfls.diff
+
+---
+ elfls/elfls.c | 1 +
+ 1 files changed, 1 insertions(+), 0 deletions(-)
+
+diff --git a/elfls/elfls.c b/elfls/elfls.c
+index feb5b27..04410d2 100644
+--- a/elfls/elfls.c
++++ b/elfls/elfls.c
+@@ -317,6 +317,7 @@ static int readelfhdr(void)
+ return FALSE;
+ switch (elffhdr.e_type) {
+ case ET_REL:
++ case ET_CORE:
+ case ET_EXEC:
+ case ET_DYN:
+ return TRUE;
+--
+1.7.0
+
diff --git a/patches/elfkickers-2.0a.orig/0006-mjn3-sstrip.patch b/patches/elfkickers-2.0a.orig/0006-mjn3-sstrip.patch
new file mode 100644
index 000000000..4b5dafdf6
--- /dev/null
+++ b/patches/elfkickers-2.0a.orig/0006-mjn3-sstrip.patch
@@ -0,0 +1,729 @@
+From 8566366ba5248eaf7e5e3e2c1933d2a80465a8f9 Mon Sep 17 00:00:00 2001
+From: Manuel Novoa III <mjn3@codepoet.org>
+Date: Thu, 11 Mar 2010 01:19:07 +0100
+Subject: [PATCH 6/6] mjn3-sstrip
+
+===================================================================
+---
+ sstrip/sstrip.c | 649 ++++++++++++++++++++++++++++++++++---------------------
+ 1 files changed, 404 insertions(+), 245 deletions(-)
+
+diff --git a/sstrip/sstrip.c b/sstrip/sstrip.c
+index d0997b9..1842f05 100644
+--- a/sstrip/sstrip.c
++++ b/sstrip/sstrip.c
+@@ -1,5 +1,55 @@
++/* http://www.muppetlabs.com/~breadbox/software/elfkickers.html */
++
+ /* sstrip: Copyright (C) 1999-2001 by Brian Raiter, under the GNU
+ * General Public License. No warranty. See COPYING for details.
++ *
++ * Aug 23, 2004 Hacked by Manuel Novoa III <mjn3@codepoet.org> to
++ * handle targets of different endianness and/or elf class, making
++ * it more useful in a cross-devel environment.
++ */
++
++/* ============== original README ===================
++ *
++ * sstrip is a small utility that removes the contents at the end of an
++ * ELF file that are not part of the program's memory image.
++ *
++ * Most ELF executables are built with both a program header table and a
++ * section header table. However, only the former is required in order
++ * for the OS to load, link and execute a program. sstrip attempts to
++ * extract the ELF header, the program header table, and its contents,
++ * leaving everything else in the bit bucket. It can only remove parts of
++ * the file that occur at the end, after the parts to be saved. However,
++ * this almost always includes the section header table, and occasionally
++ * a few random sections that are not used when running a program.
++ *
++ * It should be noted that the GNU bfd library is (understandably)
++ * dependent on the section header table as an index to the file's
++ * contents. Thus, an executable file that has no section header table
++ * cannot be used with gdb, objdump, or any other program based upon the
++ * bfd library, at all. In fact, the program will not even recognize the
++ * file as a valid executable. (This limitation is noted in the source
++ * code comments for bfd, and is marked "FIXME", so this may change at
++ * some future date. However, I would imagine that it is a pretty
++ * low-priority item, as executables without a section header table are
++ * rare in the extreme.) This probably also explains why strip doesn't
++ * offer the option to do this.
++ *
++ * Shared library files may also have their section header table removed.
++ * Such a library will still function; however, it will no longer be
++ * possible for a compiler to link a new program against it.
++ *
++ * As an added bonus, sstrip also tries to removes trailing zero bytes
++ * from the end of the file. (This normally cannot be done with an
++ * executable that has a section header table.)
++ *
++ * sstrip is a very simplistic program. It depends upon the common
++ * practice of putting the parts of the file that contribute to the
++ * memory image at the front, and the remaining material at the end. This
++ * permits it to discard the latter material without affecting file
++ * offsets and memory addresses in what remains. Of course, the ELF
++ * standard permits files to be organized in almost any order, so if a
++ * pathological linker decided to put its section headers at the top,
++ * sstrip would be useless on such executables.
+ */
+
+ #include <stdio.h>
+@@ -9,28 +59,21 @@
+ #include <unistd.h>
+ #include <fcntl.h>
+ #include <elf.h>
+-#include <asm/elf.h>
++#include <endian.h>
++#include <byteswap.h>
+
+ #ifndef TRUE
+ #define TRUE 1
+ #define FALSE 0
+ #endif
+
+-#if ELF_CLASS == ELFCLASS32
+-#define Elf_Ehdr Elf32_Ehdr
+-#define Elf_Phdr Elf32_Phdr
+-#else
+-#define Elf_Ehdr Elf64_Ehdr
+-#define Elf_Phdr Elf64_Phdr
+-#endif
+-
+ /* The name of the program.
+ */
+-static char const *progname;
++static char const *progname;
+
+ /* The name of the current file.
+ */
+-static char const *filename;
++static char const *filename;
+
+
+ /* A simple error-handling function. FALSE is always returned for the
+@@ -38,227 +81,321 @@ static char const *filename;
+ */
+ static int err(char const *errmsg)
+ {
+- fprintf(stderr, "%s: %s: %s\n", progname, filename, errmsg);
+- return FALSE;
++ fprintf(stderr, "%s: %s: %s\n", progname, filename, errmsg);
++ return FALSE;
+ }
+
+-/* A macro for I/O errors: The given error message is used only when
+- * errno is not set.
++/* A flag to signal the need for endian reversal.
+ */
+-#define ferr(msg) (err(errno ? strerror(errno) : (msg)))
++static int do_reverse_endian;
+
+-/* readelfheader() reads the ELF header into our global variable, and
+- * checks to make sure that this is in fact a file that we should be
+- * munging.
++/* Get a value from the elf header, compensating for endianness.
+ */
+-static int readelfheader(int fd, Elf_Ehdr *ehdr)
+-{
+- errno = 0;
+- if (read(fd, ehdr, sizeof *ehdr) != sizeof *ehdr)
+- return ferr("missing or incomplete ELF header.");
+-
+- /* Check the ELF signature.
+- */
+- if (!(ehdr->e_ident[EI_MAG0] == ELFMAG0 &&
+- ehdr->e_ident[EI_MAG1] == ELFMAG1 &&
+- ehdr->e_ident[EI_MAG2] == ELFMAG2 &&
+- ehdr->e_ident[EI_MAG3] == ELFMAG3))
+- return err("missing ELF signature.");
+-
+- /* Compare the file's class and endianness with the program's.
+- */
+- if (ehdr->e_ident[EI_DATA] != ELF_DATA)
+- return err("ELF file has different endianness.");
+- if (ehdr->e_ident[EI_CLASS] != ELF_CLASS)
+- return err("ELF file has different word size.");
+-
+- /* Check the target architecture.
+- */
+- if (ehdr->e_machine != ELF_ARCH)
+- return err("ELF file created for different architecture.");
+-
+- /* Verify the sizes of the ELF header and the program segment
+- * header table entries.
+- */
+- if (ehdr->e_ehsize != sizeof(Elf_Ehdr))
+- return err("unrecognized ELF header size.");
+- if (ehdr->e_phentsize != sizeof(Elf_Phdr))
+- return err("unrecognized program segment header size.");
+-
+- /* Finally, check the file type.
+- */
+- if (ehdr->e_type != ET_EXEC && ehdr->e_type != ET_DYN)
+- return err("not an executable or shared-object library.");
+-
+- return TRUE;
+-}
+-
+-/* readphdrtable() loads the program segment header table into memory.
++#define EGET(X) \
++ (__extension__ ({ \
++ uint64_t __res; \
++ if (!do_reverse_endian) { \
++ __res = (X); \
++ } else if (sizeof(X) == 1) { \
++ __res = (X); \
++ } else if (sizeof(X) == 2) { \
++ __res = bswap_16((X)); \
++ } else if (sizeof(X) == 4) { \
++ __res = bswap_32((X)); \
++ } else if (sizeof(X) == 8) { \
++ __res = bswap_64((X)); \
++ } else { \
++ fprintf(stderr, "%s: %s: EGET failed for size %d\n", \
++ progname, filename, sizeof(X)); \
++ exit(EXIT_FAILURE); \
++ } \
++ __res; \
++ }))
++
++/* Set a value 'Y' in the elf header to 'X', compensating for endianness.
+ */
+-static int readphdrtable(int fd, Elf_Ehdr const *ehdr, Elf_Phdr **phdrs)
+-{
+- size_t size;
++#define ESET(Y,X) \
++ do if (!do_reverse_endian) { \
++ Y = (X); \
++ } else if (sizeof(Y) == 1) { \
++ Y = (X); \
++ } else if (sizeof(Y) == 2) { \
++ Y = bswap_16((uint16_t)(X)); \
++ } else if (sizeof(Y) == 4) { \
++ Y = bswap_32((uint32_t)(X)); \
++ } else if (sizeof(Y) == 8) { \
++ Y = bswap_64((uint64_t)(X)); \
++ } else { \
++ fprintf(stderr, "%s: %s: ESET failed for size %d\n", \
++ progname, filename, sizeof(Y)); \
++ exit(EXIT_FAILURE); \
++ } while (0)
+
+- if (!ehdr->e_phoff || !ehdr->e_phnum)
+- return err("ELF file has no program header table.");
+
+- size = ehdr->e_phnum * sizeof **phdrs;
+- if (!(*phdrs = malloc(size)))
+- return err("Out of memory!");
++/* A macro for I/O errors: The given error message is used only when
++ * errno is not set.
++ */
++#define ferr(msg) (err(errno ? strerror(errno) : (msg)))
++
+
+- errno = 0;
+- if (read(fd, *phdrs, size) != (ssize_t)size)
+- return ferr("missing or incomplete program segment header table.");
+
+- return TRUE;
++#define HEADER_FUNCTIONS(CLASS) \
++ \
++/* readelfheader() reads the ELF header into our global variable, and \
++ * checks to make sure that this is in fact a file that we should be \
++ * munging. \
++ */ \
++static int readelfheader ## CLASS (int fd, Elf ## CLASS ## _Ehdr *ehdr) \
++{ \
++ if (read(fd, ((char *)ehdr)+EI_NIDENT, sizeof(*ehdr) - EI_NIDENT) \
++ != sizeof(*ehdr) - EI_NIDENT) \
++ return ferr("missing or incomplete ELF header."); \
++ \
++ /* Verify the sizes of the ELF header and the program segment \
++ * header table entries. \
++ */ \
++ if (EGET(ehdr->e_ehsize) != sizeof(Elf ## CLASS ## _Ehdr)) \
++ return err("unrecognized ELF header size."); \
++ if (EGET(ehdr->e_phentsize) != sizeof(Elf ## CLASS ## _Phdr)) \
++ return err("unrecognized program segment header size."); \
++ \
++ /* Finally, check the file type. \
++ */ \
++ if (EGET(ehdr->e_type) != ET_EXEC && EGET(ehdr->e_type) != ET_DYN) \
++ return err("not an executable or shared-object library."); \
++ \
++ return TRUE; \
++} \
++ \
++/* readphdrtable() loads the program segment header table into memory. \
++ */ \
++static int readphdrtable ## CLASS (int fd, Elf ## CLASS ## _Ehdr const *ehdr, \
++ Elf ## CLASS ## _Phdr **phdrs) \
++{ \
++ size_t size; \
++ \
++ if (!EGET(ehdr->e_phoff) || !EGET(ehdr->e_phnum) \
++) return err("ELF file has no program header table."); \
++ \
++ size = EGET(ehdr->e_phnum) * sizeof **phdrs; \
++ if (!(*phdrs = malloc(size))) \
++ return err("Out of memory!"); \
++ \
++ errno = 0; \
++ if (read(fd, *phdrs, size) != (ssize_t)size) \
++ return ferr("missing or incomplete program segment header table."); \
++ \
++ return TRUE; \
++} \
++ \
++/* getmemorysize() determines the offset of the last byte of the file \
++ * that is referenced by an entry in the program segment header table. \
++ * (Anything in the file after that point is not used when the program \
++ * is executing, and thus can be safely discarded.) \
++ */ \
++static int getmemorysize ## CLASS (Elf ## CLASS ## _Ehdr const *ehdr, \
++ Elf ## CLASS ## _Phdr const *phdrs, \
++ unsigned long *newsize) \
++{ \
++ Elf ## CLASS ## _Phdr const *phdr; \
++ unsigned long size, n; \
++ int i; \
++ \
++ /* Start by setting the size to include the ELF header and the \
++ * complete program segment header table. \
++ */ \
++ size = EGET(ehdr->e_phoff) + EGET(ehdr->e_phnum) * sizeof *phdrs; \
++ if (size < sizeof *ehdr) \
++ size = sizeof *ehdr; \
++ \
++ /* Then keep extending the size to include whatever data the \
++ * program segment header table references. \
++ */ \
++ for (i = 0, phdr = phdrs ; i < EGET(ehdr->e_phnum) ; ++i, ++phdr) { \
++ if (EGET(phdr->p_type) != PT_NULL) { \
++ n = EGET(phdr->p_offset) + EGET(phdr->p_filesz); \
++ if (n > size) \
++ size = n; \
++ } \
++ } \
++ \
++ *newsize = size; \
++ return TRUE; \
++} \
++ \
++/* modifyheaders() removes references to the section header table if \
++ * it was stripped, and reduces program header table entries that \
++ * included truncated bytes at the end of the file. \
++ */ \
++static int modifyheaders ## CLASS (Elf ## CLASS ## _Ehdr *ehdr, \
++ Elf ## CLASS ## _Phdr *phdrs, \
++ unsigned long newsize) \
++{ \
++ Elf ## CLASS ## _Phdr *phdr; \
++ int i; \
++ \
++ /* If the section header table is gone, then remove all references \
++ * to it in the ELF header. \
++ */ \
++ if (EGET(ehdr->e_shoff) >= newsize) { \
++ ESET(ehdr->e_shoff,0); \
++ ESET(ehdr->e_shnum,0); \
++ ESET(ehdr->e_shentsize,0); \
++ ESET(ehdr->e_shstrndx,0); \
++ } \
++ \
++ /* The program adjusts the file size of any segment that was \
++ * truncated. The case of a segment being completely stripped out \
++ * is handled separately. \
++ */ \
++ for (i = 0, phdr = phdrs ; i < EGET(ehdr->e_phnum) ; ++i, ++phdr) { \
++ if (EGET(phdr->p_offset) >= newsize) { \
++ ESET(phdr->p_offset,newsize); \
++ ESET(phdr->p_filesz,0); \
++ } else if (EGET(phdr->p_offset) + EGET(phdr->p_filesz) > newsize) { \
++ newsize -= EGET(phdr->p_offset); \
++ ESET(phdr->p_filesz, newsize); \
++ } \
++ } \
++ \
++ return TRUE; \
++} \
++ \
++/* commitchanges() writes the new headers back to the original file \
++ * and sets the file to its new size. \
++ */ \
++static int commitchanges ## CLASS (int fd, Elf ## CLASS ## _Ehdr const *ehdr, \
++ Elf ## CLASS ## _Phdr *phdrs, \
++ unsigned long newsize) \
++{ \
++ size_t n; \
++ \
++ /* Save the changes to the ELF header, if any. \
++ */ \
++ if (lseek(fd, 0, SEEK_SET)) \
++ return ferr("could not rewind file"); \
++ errno = 0; \
++ if (write(fd, ehdr, sizeof *ehdr) != sizeof *ehdr) \
++ return err("could not modify file"); \
++ \
++ /* Save the changes to the program segment header table, if any. \
++ */ \
++ if (lseek(fd, EGET(ehdr->e_phoff), SEEK_SET) == (off_t)-1) { \
++ err("could not seek in file."); \
++ goto warning; \
++ } \
++ n = EGET(ehdr->e_phnum) * sizeof *phdrs; \
++ if (write(fd, phdrs, n) != (ssize_t)n) { \
++ err("could not write to file"); \
++ goto warning; \
++ } \
++ \
++ /* Eleventh-hour sanity check: don't truncate before the end of \
++ * the program segment header table. \
++ */ \
++ if (newsize < EGET(ehdr->e_phoff) + n) \
++ newsize = EGET(ehdr->e_phoff) + n; \
++ \
++ /* Chop off the end of the file. \
++ */ \
++ if (ftruncate(fd, newsize)) { \
++ err("could not resize file"); \
++ goto warning; \
++ } \
++ \
++ return TRUE; \
++ \
++ warning: \
++ return err("ELF file may have been corrupted!"); \
+ }
+
+-/* getmemorysize() determines the offset of the last byte of the file
+- * that is referenced by an entry in the program segment header table.
+- * (Anything in the file after that point is not used when the program
+- * is executing, and thus can be safely discarded.)
++
++/* First elements of Elf32_Ehdr and Elf64_Ehdr are common.
+ */
+-static int getmemorysize(Elf_Ehdr const *ehdr, Elf_Phdr const *phdrs,
+- unsigned long *newsize)
++static int readelfheaderident(int fd, Elf32_Ehdr *ehdr)
+ {
+- Elf32_Phdr const *phdr;
+- unsigned long size, n;
+- int i;
+-
+- /* Start by setting the size to include the ELF header and the
+- * complete program segment header table.
+- */
+- size = ehdr->e_phoff + ehdr->e_phnum * sizeof *phdrs;
+- if (size < sizeof *ehdr)
+- size = sizeof *ehdr;
+-
+- /* Then keep extending the size to include whatever data the
+- * program segment header table references.
+- */
+- for (i = 0, phdr = phdrs ; i < ehdr->e_phnum ; ++i, ++phdr) {
+- if (phdr->p_type != PT_NULL) {
+- n = phdr->p_offset + phdr->p_filesz;
+- if (n > size)
+- size = n;
++ errno = 0;
++ if (read(fd, ehdr, EI_NIDENT) != EI_NIDENT)
++ return ferr("missing or incomplete ELF header.");
++
++ /* Check the ELF signature.
++ */
++ if (!(ehdr->e_ident[EI_MAG0] == ELFMAG0 &&
++ ehdr->e_ident[EI_MAG1] == ELFMAG1 &&
++ ehdr->e_ident[EI_MAG2] == ELFMAG2 &&
++ ehdr->e_ident[EI_MAG3] == ELFMAG3))
++ {
++ err("missing ELF signature.");
++ return -1;
++ }
++
++ /* Compare the file's class and endianness with the program's.
++ */
++#if __BYTE_ORDER == __LITTLE_ENDIAN
++ if (ehdr->e_ident[EI_DATA] == ELFDATA2LSB) {
++ do_reverse_endian = 0;
++ } else if (ehdr->e_ident[EI_DATA] == ELFDATA2MSB) {
++/* fprintf(stderr, "ELF file has different endianness.\n"); */
++ do_reverse_endian = 1;
++ }
++#elif __BYTE_ORDER == __BIG_ENDIAN
++ if (ehdr->e_ident[EI_DATA] == ELFDATA2LSB) {
++/* fprintf(stderr, "ELF file has different endianness.\n"); */
++ do_reverse_endian = 1;
++ } else if (ehdr->e_ident[EI_DATA] == ELFDATA2MSB) {
++ do_reverse_endian = 0;
++ }
++#else
++#error unkown endianness
++#endif
++ else {
++ err("Unsupported endianness");
++ return -1;
+ }
+- }
+
+- *newsize = size;
+- return TRUE;
++ /* Check the target architecture.
++ */
++/* if (EGET(ehdr->e_machine) != ELF_ARCH) { */
++/* /\* return err("ELF file created for different architecture."); *\/ */
++/* fprintf(stderr, "ELF file created for different architecture.\n"); */
++/* } */
++ return ehdr->e_ident[EI_CLASS];
+ }
+
++
++HEADER_FUNCTIONS(32)
++
++HEADER_FUNCTIONS(64)
++
+ /* truncatezeros() examines the bytes at the end of the file's
+ * size-to-be, and reduces the size to exclude any trailing zero
+ * bytes.
+ */
+ static int truncatezeros(int fd, unsigned long *newsize)
+ {
+- unsigned char contents[1024];
+- unsigned long size, n;
+-
+- size = *newsize;
+- do {
+- n = sizeof contents;
+- if (n > size)
+- n = size;
+- if (lseek(fd, size - n, SEEK_SET) == (off_t)-1)
+- return ferr("cannot seek in file.");
+- if (read(fd, contents, n) != (ssize_t)n)
+- return ferr("cannot read file contents");
+- while (n && !contents[--n])
+- --size;
+- } while (size && !n);
+-
+- /* Sanity check.
+- */
+- if (!size)
+- return err("ELF file is completely blank!");
+-
+- *newsize = size;
+- return TRUE;
+-}
+-
+-/* modifyheaders() removes references to the section header table if
+- * it was stripped, and reduces program header table entries that
+- * included truncated bytes at the end of the file.
+- */
+-static int modifyheaders(Elf_Ehdr *ehdr, Elf_Phdr *phdrs,
+- unsigned long newsize)
+-{
+- Elf32_Phdr *phdr;
+- int i;
+-
+- /* If the section header table is gone, then remove all references
+- * to it in the ELF header.
+- */
+- if (ehdr->e_shoff >= newsize) {
+- ehdr->e_shoff = 0;
+- ehdr->e_shnum = 0;
+- ehdr->e_shentsize = 0;
+- ehdr->e_shstrndx = 0;
+- }
+-
+- /* The program adjusts the file size of any segment that was
+- * truncated. The case of a segment being completely stripped out
+- * is handled separately.
+- */
+- for (i = 0, phdr = phdrs ; i < ehdr->e_phnum ; ++i, ++phdr) {
+- if (phdr->p_offset >= newsize) {
+- phdr->p_offset = newsize;
+- phdr->p_filesz = 0;
+- } else if (phdr->p_offset + phdr->p_filesz > newsize) {
+- phdr->p_filesz = newsize - phdr->p_offset;
+- }
+- }
+-
+- return TRUE;
+-}
+-
+-/* commitchanges() writes the new headers back to the original file
+- * and sets the file to its new size.
+- */
+-static int commitchanges(int fd, Elf_Ehdr const *ehdr, Elf_Phdr *phdrs,
+- unsigned long newsize)
+-{
+- size_t n;
+-
+- /* Save the changes to the ELF header, if any.
+- */
+- if (lseek(fd, 0, SEEK_SET))
+- return ferr("could not rewind file");
+- errno = 0;
+- if (write(fd, ehdr, sizeof *ehdr) != sizeof *ehdr)
+- return err("could not modify file");
+-
+- /* Save the changes to the program segment header table, if any.
+- */
+- if (lseek(fd, ehdr->e_phoff, SEEK_SET) == (off_t)-1) {
+- err("could not seek in file.");
+- goto warning;
+- }
+- n = ehdr->e_phnum * sizeof *phdrs;
+- if (write(fd, phdrs, n) != (ssize_t)n) {
+- err("could not write to file");
+- goto warning;
+- }
+-
+- /* Eleventh-hour sanity check: don't truncate before the end of
+- * the program segment header table.
+- */
+- if (newsize < ehdr->e_phoff + n)
+- newsize = ehdr->e_phoff + n;
+-
+- /* Chop off the end of the file.
+- */
+- if (ftruncate(fd, newsize)) {
+- err("could not resize file");
+- goto warning;
+- }
+-
+- return TRUE;
+-
+- warning:
+- return err("ELF file may have been corrupted!");
++ unsigned char contents[1024];
++ unsigned long size, n;
++
++ size = *newsize;
++ do {
++ n = sizeof contents;
++ if (n > size)
++ n = size;
++ if (lseek(fd, size - n, SEEK_SET) == (off_t)-1)
++ return ferr("cannot seek in file.");
++ if (read(fd, contents, n) != (ssize_t)n)
++ return ferr("cannot read file contents");
++ while (n && !contents[--n])
++ --size;
++ } while (size && !n);
++
++ /* Sanity check.
++ */
++ if (!size)
++ return err("ELF file is completely blank!");
++
++ *newsize = size;
++ return TRUE;
+ }
+
+ /* main() loops over the cmdline arguments, leaving all the real work
+@@ -266,44 +403,66 @@ static int commitchanges(int fd, Elf_Ehdr const *ehdr, Elf_Phdr *phdrs,
+ */
+ int main(int argc, char *argv[])
+ {
+- int fd;
+- Elf_Ehdr ehdr;
+- Elf_Phdr *phdrs;
+- unsigned long newsize;
+- char **arg;
+- int failures = 0;
+-
+- if (argc < 2 || argv[1][0] == '-') {
+- printf("Usage: sstrip FILE...\n"
+- "sstrip discards all nonessential bytes from an executable.\n\n"
+- "Version 2.0 Copyright (C) 2000,2001 Brian Raiter.\n"
+- "This program is free software, licensed under the GNU\n"
+- "General Public License. There is absolutely no warranty.\n");
+- return EXIT_SUCCESS;
+- }
+-
+- progname = argv[0];
+-
+- for (arg = argv + 1 ; *arg != NULL ; ++arg) {
+- filename = *arg;
+-
+- fd = open(*arg, O_RDWR);
+- if (fd < 0) {
+- ferr("can't open");
+- ++failures;
+- continue;
++ int fd;
++ union {
++ Elf32_Ehdr ehdr32;
++ Elf64_Ehdr ehdr64;
++ } e;
++ union {
++ Elf32_Phdr *phdrs32;
++ Elf64_Phdr *phdrs64;
++ } p;
++ unsigned long newsize;
++ char **arg;
++ int failures = 0;
++
++ if (argc < 2 || argv[1][0] == '-') {
++ printf("Usage: sstrip FILE...\n"
++ "sstrip discards all nonessential bytes from an executable.\n\n"
++ "Version 2.0-X Copyright (C) 2000,2001 Brian Raiter.\n"
++ "Cross-devel hacks Copyright (C) 2004 Manuel Novoa III.\n"
++ "This program is free software, licensed under the GNU\n"
++ "General Public License. There is absolutely no warranty.\n");
++ return EXIT_SUCCESS;
+ }
+
+- if (!(readelfheader(fd, &ehdr) &&
+- readphdrtable(fd, &ehdr, &phdrs) &&
+- getmemorysize(&ehdr, phdrs, &newsize) &&
+- truncatezeros(fd, &newsize) &&
+- modifyheaders(&ehdr, phdrs, newsize) &&
+- commitchanges(fd, &ehdr, phdrs, newsize)))
+- ++failures;
+-
+- close(fd);
+- }
++ progname = argv[0];
++
++ for (arg = argv + 1 ; *arg != NULL ; ++arg) {
++ filename = *arg;
++
++ fd = open(*arg, O_RDWR);
++ if (fd < 0) {
++ ferr("can't open");
++ ++failures;
++ continue;
++ }
++
++ switch (readelfheaderident(fd, &e.ehdr32)) {
++ case ELFCLASS32:
++ if (!(readelfheader32(fd, &e.ehdr32) &&
++ readphdrtable32(fd, &e.ehdr32, &p.phdrs32) &&
++ getmemorysize32(&e.ehdr32, p.phdrs32, &newsize) &&
++ truncatezeros(fd, &newsize) &&
++ modifyheaders32(&e.ehdr32, p.phdrs32, newsize) &&
++ commitchanges32(fd, &e.ehdr32, p.phdrs32, newsize)))
++ ++failures;
++ break;
++ case ELFCLASS64:
++ if (!(readelfheader64(fd, &e.ehdr64) &&
++ readphdrtable64(fd, &e.ehdr64, &p.phdrs64) &&
++ getmemorysize64(&e.ehdr64, p.phdrs64, &newsize) &&
++ truncatezeros(fd, &newsize) &&
++ modifyheaders64(&e.ehdr64, p.phdrs64, newsize) &&
++ commitchanges64(fd, &e.ehdr64, p.phdrs64, newsize)))
++ ++failures;
++ break;
++ default:
++ ++failures;
++ break;
++ }
++ close(fd);
++ }
+
+- return failures ? EXIT_FAILURE : EXIT_SUCCESS;
++ return failures ? EXIT_FAILURE : EXIT_SUCCESS;
+ }
+--
+1.7.0
+
diff --git a/patches/elfkickers-2.0a.orig/series b/patches/elfkickers-2.0a.orig/series
new file mode 100644
index 000000000..a61de33c8
--- /dev/null
+++ b/patches/elfkickers-2.0a.orig/series
@@ -0,0 +1,6 @@
+0001-01_add_toplevel_makefile.diff.patch
+0002-02_update_subdirs_makefile.diff.patch
+0003-03_add_include_string.h.diff.patch
+0004-04_bsd_include_elf.h.diff.patch
+0005-05_add_et_core_elfls.diff.patch
+0006-mjn3-sstrip.patch
diff --git a/patches/fbgrab-1.0/series b/patches/fbgrab-1.0/series
new file mode 100644
index 000000000..d4a2f2b81
--- /dev/null
+++ b/patches/fbgrab-1.0/series
@@ -0,0 +1 @@
+fbgrab-1.0-crosscompile.diff
diff --git a/patches/ifplugd-0.28/series b/patches/ifplugd-0.28/series
new file mode 100644
index 000000000..f093c5e62
--- /dev/null
+++ b/patches/ifplugd-0.28/series
@@ -0,0 +1 @@
+ifplugd-fix-include.diff
diff --git a/patches/jed-0.99-19/series b/patches/jed-0.99-19/series
new file mode 100644
index 000000000..d6609c6a9
--- /dev/null
+++ b/patches/jed-0.99-19/series
@@ -0,0 +1,2 @@
+jed-0.99-18-chkslang.diff
+jed-0.99-18-rpath-hack.diff
diff --git a/patches/memtest-0.0.4/series b/patches/memtest-0.0.4/series
new file mode 100644
index 000000000..458c6f0d8
--- /dev/null
+++ b/patches/memtest-0.0.4/series
@@ -0,0 +1 @@
+memtest-0.0.4-ptx1.diff
diff --git a/patches/procps-3.2.8/0001-slabtop_once.patch b/patches/procps-3.2.8/0001-slabtop_once.patch
new file mode 100644
index 000000000..5d8a45195
--- /dev/null
+++ b/patches/procps-3.2.8/0001-slabtop_once.patch
@@ -0,0 +1,125 @@
+From cc53eb8aee12e32861e6073d9e6bd7d015a15c55 Mon Sep 17 00:00:00 2001
+From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
+Date: Fri, 19 Mar 2010 21:58:45 +0100
+Subject: [PATCH 01/70] slabtop_once
+
+---
+ slabtop.c | 45 ++++++++++++++++++++++++++-------------------
+ 1 files changed, 26 insertions(+), 19 deletions(-)
+
+diff --git a/slabtop.c b/slabtop.c
+index 36025e2..5c9d31e 100644
+--- a/slabtop.c
++++ b/slabtop.c
+@@ -268,11 +268,13 @@ static void parse_input(char c)
+ }
+ }
+
++#define print_line(fmt, args...) if (run_once) printf(fmt, ## args); else printw(fmt, ## args)
+ int main(int argc, char *argv[])
+ {
+ int o;
+ unsigned short old_rows;
+ struct slab_info *slab_list = NULL;
++ int run_once=0;
+
+ struct option longopts[] = {
+ { "delay", 1, NULL, 'd' },
+@@ -306,6 +308,7 @@ int main(int argc, char *argv[])
+ sort_func = set_sort_func(optarg[0]);
+ break;
+ case 'o':
++ run_once=1;
+ delay = 0;
+ break;
+ case 'V':
+@@ -322,11 +325,13 @@ int main(int argc, char *argv[])
+ if (tcgetattr(0, &saved_tty) == -1)
+ perror("tcgetattr");
+
+- initscr();
+- term_size(0);
+ old_rows = rows;
+- resizeterm(rows, cols);
+- signal(SIGWINCH, term_size);
++ term_size(0);
++ if (!run_once) {
++ initscr();
++ resizeterm(rows, cols);
++ signal(SIGWINCH, term_size);
++ }
+ signal(SIGINT, sigint_handler);
+
+ do {
+@@ -340,13 +345,13 @@ int main(int argc, char *argv[])
+ if (get_slabinfo(&slab_list, &stats))
+ break;
+
+- if (old_rows != rows) {
++ if (!run_once && old_rows != rows) {
+ resizeterm(rows, cols);
+ old_rows = rows;
+ }
+
+ move(0,0);
+- printw( " Active / Total Objects (%% used) : %d / %d (%.1f%%)\n"
++ print_line( " Active / Total Objects (%% used) : %d / %d (%.1f%%)\n"
+ " Active / Total Slabs (%% used) : %d / %d (%.1f%%)\n"
+ " Active / Total Caches (%% used) : %d / %d (%.1f%%)\n"
+ " Active / Total Size (%% used) : %.2fK / %.2fK (%.1f%%)\n"
+@@ -361,14 +366,14 @@ int main(int argc, char *argv[])
+ slab_list = slabsort(slab_list);
+
+ attron(A_REVERSE);
+- printw( "%6s %6s %4s %8s %6s %8s %10s %-23s\n",
++ print_line( "%6s %6s %4s %8s %6s %8s %10s %-23s\n",
+ "OBJS", "ACTIVE", "USE", "OBJ SIZE", "SLABS",
+ "OBJ/SLAB", "CACHE SIZE", "NAME");
+ attroff(A_REVERSE);
+
+ curr = slab_list;
+ for (i = 0; i < rows - 8 && curr->next; i++) {
+- printw("%6u %6u %3u%% %7.2fK %6u %8u %9uK %-23s\n",
++ print_line("%6u %6u %3u%% %7.2fK %6u %8u %9uK %-23s\n",
+ curr->nr_objs, curr->nr_active_objs, curr->use,
+ curr->obj_size / 1024.0, curr->nr_slabs,
+ curr->objs_per_slab, (unsigned)(curr->cache_size / 1024),
+@@ -376,22 +381,24 @@ int main(int argc, char *argv[])
+ curr = curr->next;
+ }
+
+- refresh();
+ put_slabinfo(slab_list);
+
+- FD_ZERO(&readfds);
+- FD_SET(0, &readfds);
+- tv.tv_sec = delay;
+- tv.tv_usec = 0;
+- if (select(1, &readfds, NULL, NULL, &tv) > 0) {
+- if (read(0, &c, 1) != 1)
+- break;
+- parse_input(c);
+- }
++ if (!run_once) {
++ refresh();
++ FD_ZERO(&readfds);
++ FD_SET(0, &readfds);
++ tv.tv_sec = delay;
++ tv.tv_usec = 0;
++ if (select(1, &readfds, NULL, NULL, &tv) > 0) {
++ if (read(0, &c, 1) != 1)
++ break;
++ parse_input(c);
++ }
++ }
+ } while (delay);
+
+ tcsetattr(0, TCSAFLUSH, &saved_tty);
+ free_slabinfo(slab_list);
+- endwin();
++ if (!run_once) endwin();
+ return 0;
+ }
+--
+1.7.0
+
diff --git a/patches/procps-3.2.8/0002-free.1.patch b/patches/procps-3.2.8/0002-free.1.patch
new file mode 100644
index 000000000..14bcb0f51
--- /dev/null
+++ b/patches/procps-3.2.8/0002-free.1.patch
@@ -0,0 +1,112 @@
+From 5f41954db84ec43205b71f79a98c46d24d55cca9 Mon Sep 17 00:00:00 2001
+From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
+Date: Fri, 19 Mar 2010 21:58:45 +0100
+Subject: [PATCH 02/70] free.1
+
+---
+ free.1 | 76 ++++++++++++++++++++++++++++++++++++++++-----------------------
+ 1 files changed, 48 insertions(+), 28 deletions(-)
+
+diff --git a/free.1 b/free.1
+index 954c8d9..cae1241 100644
+--- a/free.1
++++ b/free.1
+@@ -1,47 +1,67 @@
+ .\" -*-Nroff-*-
+ .\" This page Copyright (C) 1993 Matt Welsh, mdw@sunsite.unc.edu.
+ .\" Freely distributable under the terms of the GPL
+-.TH FREE 1 "20 Mar 1993 " "Cohesive Systems" "Linux User's Manual"
++.TH FREE 1 "5 Oct 2009 " "Cohesive Systems" "Linux User's Manual"
+ .SH NAME
+ free \- Display amount of free and used memory in the system
+ .SH SYNOPSIS
+-.BR "free " [ "\-b" " | " "\-k" " | " "\-m" "] [" "\-o" "] [" "\-s"
+-.I delay
+-.RB "] [" "\-t" "] [" "\-V" ]
++.B free
++.RB [ \-b | \-k | \-m | \-g ]
++.RB [ \-c
++.IR count ]
++.RB [ \-l ]
++.RB [ \-o ]
++.RB [ \-t ]
++.RB [ \-s
++.IR delay ]
++.RB [ \-V ]
+ .SH DESCRIPTION
+ \fBfree\fP displays the total amount of free and used physical and swap
+ memory in the system, as well as the buffers used by the kernel.
+ The shared memory column should be ignored; it is obsolete.
+-.SS Options
+-The \fB-b\fP switch displays the amount of memory in bytes; the
+-\fB-k\fP switch (set by default) displays it in kilobytes; the \fB-m\fP
+-switch displays it in megabytes.
+-.PP
+-The \fB-t\fP switch displays a line containing the totals.
+-.PP
+-The \fB-o\fP switch disables the display of a "buffer adjusted" line.
+-If the -o option is not specified, \fBfree\fP subtracts buffer memory
+-from the used memory and adds it to the free memory reported.
+-.PP
+-The \fB-s\fP switch activates continuous polling \fIdelay\fP seconds apart. You
++.SS OPTIONS
++.TP
++\fB\-b\fR
++Display the amount of memory in bytes.
++.TP
++\fB\-c\fR \fIcount\fR
++Display the result \fIcount\fR times. Requires the \fB\-s\fR option.
++.TP
++\fB\-g\fR
++Display the amount of memory in gigabytes.
++.TP
++\fB\-k\fR
++Display the amount of memory in kilobytes. This is the default.
++.TP
++\fB\-l\fR
++Show detailed low and high memory statistics.
++.TP
++\fB\-m\fR
++Display the amount of memory in megabytes.
++.TP
++\fB\-o\fR
++Display the output in old format, the only difference being this option
++will disable the display of the "buffer adjusted" line.
++.TP
++\fB\-s\fR
++Continuously display the result \fIdelay\fP seconds apart. You
+ may actually specify any floating point number for \fIdelay\fP,
+ .BR usleep (3)
+ is used for microsecond resolution delay times.
+-.PP
+-The \fB\-V\fP displays version information.
++.TP
++\fB\-t\fR
++Display a line showing the column totals.
++.TP
++\fB\-V\fR
++Display version information.
+ .SH FILES
+-.ta
+-.IR /proc/meminfo "\-\- memory information"
++.nf
++/proc/meminfo memory information
+ .fi
+-
+-.SH "SEE ALSO"
+-.BR ps (1),
+-.BR slabtop (1),
+-.BR vmstat (8),
+-.BR top(1)
+-
+ .SH AUTHORS
+ Written by Brian Edmonds.
+
+ Send bug reports to <albert@users.sf.net>
+-
++.SH "SEE ALSO"
++.BR ps "(1), " slabtop "(1), " top "(1), " vmstat (8).
++.\"{{{}}}
+--
+1.7.0
+
diff --git a/patches/procps-3.2.8/10_output_sort_time.dpatch b/patches/procps-3.2.8/0003-output_sort_time.patch
index ca71b281f..91b4c4519 100644
--- a/patches/procps-3.2.8/10_output_sort_time.dpatch
+++ b/patches/procps-3.2.8/0003-output_sort_time.patch
@@ -1,14 +1,18 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 10_output_sort_time.dpatch by <csmall@debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: More ps time sorting #508435
+From 42fd812b1fde2aa3c05cd67282f7cdfcf8f7e7b8 Mon Sep 17 00:00:00 2001
+From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
+Date: Fri, 19 Mar 2010 21:58:45 +0100
+Subject: [PATCH 03/70] output_sort_time
-@DPATCH@
-diff -urNad procps-3.2.7~/ps/output.c procps-3.2.7/ps/output.c
---- procps-3.2.7~/ps/output.c 2006-06-19 09:27:02.000000000 +1000
-+++ procps-3.2.7/ps/output.c 2009-01-07 17:52:09.000000000 +1100
-@@ -110,6 +110,20 @@
+===================================================================
+---
+ ps/output.c | 29 +++++++++++++++++++++++------
+ 1 files changed, 23 insertions(+), 6 deletions(-)
+
+diff --git a/ps/output.c b/ps/output.c
+index 87bf9de..b4fb3df 100644
+--- a/ps/output.c
++++ b/ps/output.c
+@@ -110,6 +110,20 @@ static int sr_ ## NAME (const proc_t* P, const proc_t* Q) { \
return (int)(P->NAME) - (int)(Q->NAME); \
}
@@ -29,7 +33,7 @@ diff -urNad procps-3.2.7~/ps/output.c procps-3.2.7/ps/output.c
CMP_INT(rtprio)
CMP_SMALL(sched)
CMP_INT(cutime)
-@@ -185,6 +199,9 @@
+@@ -185,6 +199,9 @@ CMP_SMALL(pcpu)
CMP_SMALL(state)
@@ -39,7 +43,7 @@ diff -urNad procps-3.2.7~/ps/output.c procps-3.2.7/ps/output.c
/* approximation to: kB of address space that could end up in swap */
static int sr_swapable(const proc_t* P, const proc_t* Q) {
unsigned long p_swapable = P->vm_data + P->vm_stack;
-@@ -408,7 +425,7 @@
+@@ -408,7 +425,7 @@ static int pr_etime(char *restrict const outbuf, const proc_t *restrict const pp
unsigned long t;
unsigned dd,hh,mm,ss;
char *cp = outbuf;
@@ -48,7 +52,7 @@ diff -urNad procps-3.2.7~/ps/output.c procps-3.2.7/ps/output.c
ss = t%60;
t /= 60;
mm = t%60;
-@@ -476,7 +493,7 @@
+@@ -476,7 +493,7 @@ static int pr_time(char *restrict const outbuf, const proc_t *restrict const pp)
unsigned long t;
unsigned dd,hh,mm,ss;
int c;
@@ -57,7 +61,7 @@ diff -urNad procps-3.2.7~/ps/output.c procps-3.2.7/ps/output.c
ss = t%60;
t /= 60;
mm = t%60;
-@@ -1277,7 +1294,7 @@
+@@ -1286,7 +1303,7 @@ static const format_struct format_array[] = {
{"alarm", "ALARM", pr_alarm, sr_alarm, 5, 0, LNX, AN|RIGHT},
{"argc", "ARGC", pr_nop, sr_nop, 4, 0, LNX, PO|RIGHT},
{"args", "COMMAND", pr_args, sr_cmd, 27, ARG, U98, PO|UNLIMITED}, /*command*/
@@ -66,7 +70,7 @@ diff -urNad procps-3.2.7~/ps/output.c procps-3.2.7/ps/output.c
{"blocked", "BLOCKED", pr_sigmask, sr_nop, 9, 0, BSD, TO|SIGNAL}, /*sigmask*/
{"bnd", "BND", pr_nop, sr_nop, 1, 0, AIX, TO|RIGHT},
{"bsdstart", "START", pr_bsdstart, sr_nop, 6, 0, LNX, ET|RIGHT},
-@@ -1296,7 +1313,7 @@
+@@ -1305,7 +1322,7 @@ static const format_struct format_array[] = {
{"cp", "CP", pr_cp, sr_pcpu, 3, 0, DEC, ET|RIGHT}, /*cpu*/
{"cpu", "CPU", pr_nop, sr_nop, 3, 0, BSD, AN|RIGHT}, /* FIXME ... HP-UX wants this as the CPU number for SMP? */
{"cpuid", "CPUID", pr_psr, sr_nop, 5, 0, BSD, TO|RIGHT}, // OpenBSD: 8 wide!
@@ -75,7 +79,7 @@ diff -urNad procps-3.2.7~/ps/output.c procps-3.2.7/ps/output.c
{"cstime", "-", pr_nop, sr_cstime, 1, 0, LNX, AN|RIGHT},
{"ctid", "CTID", pr_nop, sr_nop, 5, 0, SUN, ET|RIGHT}, // resource contracts?
{"cursig", "CURSIG", pr_nop, sr_nop, 6, 0, DEC, AN|RIGHT},
-@@ -1311,7 +1328,7 @@
+@@ -1320,7 +1337,7 @@ static const format_struct format_array[] = {
{"end_code", "E_CODE", pr_nop, sr_end_code, 8, 0, LNx, PO|RIGHT},
{"environ","ENVIRONMENT",pr_nop, sr_nop, 11, ENV, LNx, PO|UNLIMITED},
{"esp", "ESP", pr_esp, sr_kstk_esp, 8, 0, LNX, TO|RIGHT},
@@ -84,7 +88,7 @@ diff -urNad procps-3.2.7~/ps/output.c procps-3.2.7/ps/output.c
{"euid", "EUID", pr_euid, sr_euid, 5, 0, LNX, ET|RIGHT},
{"euser", "EUSER", pr_euser, sr_euser, 8, USR, LNX, ET|USER},
{"f", "F", pr_flag, sr_flags, 1, 0, XXX, ET|RIGHT}, /*flags*/
-@@ -1455,7 +1472,7 @@
+@@ -1463,7 +1480,7 @@ static const format_struct format_array[] = {
{"tdev", "TDEV", pr_nop, sr_nop, 4, 0, XXX, AN|RIGHT},
{"thcount", "THCNT", pr_nlwp, sr_nlwp, 5, 0, AIX, PO|RIGHT},
{"tid", "TID", pr_thread, sr_tid, 5, 0, AIX, TO|PIDMAX|RIGHT},
@@ -93,3 +97,6 @@ diff -urNad procps-3.2.7~/ps/output.c procps-3.2.7/ps/output.c
{"timeout", "TMOUT", pr_nop, sr_nop, 5, 0, LNX, AN|RIGHT}, // 2.0.xx era
{"tmout", "TMOUT", pr_nop, sr_nop, 5, 0, LNX, AN|RIGHT}, // 2.0.xx era
{"tname", "TTY", pr_tty8, sr_tty, 8, 0, DEC, PO|LEFT},
+--
+1.7.0
+
diff --git a/patches/procps-3.2.8/10_pmap.1.dpatch b/patches/procps-3.2.8/0004-pmap.1.patch
index 10e9ae44f..c47f1c4c3 100644
--- a/patches/procps-3.2.8/10_pmap.1.dpatch
+++ b/patches/procps-3.2.8/0004-pmap.1.patch
@@ -1,13 +1,17 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 10_pmap.1.dpatch by <csmall@debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Cleanup pmap.1 manual page #282168
+From 2dc52f7e8cd2779504b9d2d361c25144695e65b5 Mon Sep 17 00:00:00 2001
+From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
+Date: Fri, 19 Mar 2010 21:58:45 +0100
+Subject: [PATCH 04/70] pmap.1
-@DPATCH@
-diff -urNad procps-3.2.7~/pmap.1 procps-3.2.7/pmap.1
---- procps-3.2.7~/pmap.1 2004-01-29 13:39:08.000000000 +1100
-+++ procps-3.2.7/pmap.1 2006-06-26 11:48:23.000000000 +1000
+===================================================================
+---
+ pmap.1 | 24 ++++++++++++++----------
+ 1 files changed, 14 insertions(+), 10 deletions(-)
+
+diff --git a/pmap.1 b/pmap.1
+index a91d0e8..de03e87 100644
+--- a/pmap.1
++++ b/pmap.1
@@ -10,25 +10,29 @@
pmap \- report memory map of a process
@@ -48,3 +52,6 @@ diff -urNad procps-3.2.7~/pmap.1 procps-3.2.7/pmap.1
.SH STANDARDS
No standards apply, but pmap looks an awful lot like a SunOS command.
+--
+1.7.0
+
diff --git a/patches/procps-3.2.8/10_ps.1.dpatch b/patches/procps-3.2.8/0005-10_ps.1.patch
index 8f20d0df2..6cc3657b0 100644
--- a/patches/procps-3.2.8/10_ps.1.dpatch
+++ b/patches/procps-3.2.8/0005-10_ps.1.patch
@@ -1,17 +1,22 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 10_ps.1.dpatch by <csmall@debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: ps.1 normal indent widths
-## DP: pri field explained #465761
-## DP: --no-heading comment is an alias for --no-headers
-## DP: Removed setproctitle(1) reference #529045
+From bc20fbffd9fd7f94ef02ad570dd697c4b6b75a16 Mon Sep 17 00:00:00 2001
+From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
+Date: Fri, 19 Mar 2010 21:58:45 +0100
+Subject: [PATCH 05/70] 10_ps.1
-@DPATCH@
-diff -urNad procps-3.2.8~/ps/ps.1 procps-3.2.8/ps/ps.1
---- procps-3.2.8~/ps/ps.1 2009-05-28 17:40:42.000000000 +1000
-+++ procps-3.2.8/ps/ps.1 2009-05-28 17:41:32.000000000 +1000
-@@ -18,12 +18,6 @@
+pri field explained
+--no-heading comment is an alias for --no-headers
+Removed setproctitle(1) reference
+Bug-Debian: http://bugs.debian.org/465761
+Bug-Debian: http://bugs.debian.org/529045
+---
+ ps/ps.1 | 17 ++++++++---------
+ 1 files changed, 8 insertions(+), 9 deletions(-)
+
+diff --git a/ps/ps.1 b/ps/ps.1
+index 64953d5..0f896bf 100644
+--- a/ps/ps.1
++++ b/ps/ps.1
+@@ -18,19 +18,13 @@
.nh
.if n .ss 12 0
.\"
@@ -24,7 +29,15 @@ diff -urNad procps-3.2.8~/ps/ps.1 procps-3.2.8/ps/ps.1
.\"
.\" ColSize is used for the format spec table.
.\" It's the left margin, minus the right, minus
-@@ -499,7 +493,7 @@
+ .\" the space needed for the 1st two columns.
+ .\" Making it messy: inches, ens, points, scaled points...
+ .\"
+-.nr ColSize ((\n(.lu-\n(.iu/\n(.Hu-20u)n)
++.nr ColSize ((\n(.lu-\n(.iu/\n(.Hu-26u)n)
+ .\"
+ .\" This is for command options
+ .nr OptSize (16u)
+@@ -499,7 +493,7 @@ parent process repeatedly forks off short\-lived children to do work.
.opt c
Show the true command name. This is derived from the name of the
executable file, rather than from the argv value. Command arguments
@@ -33,7 +46,7 @@ diff -urNad procps-3.2.8~/ps/ps.1 procps-3.2.8/ps/ps.1
thus not shown. This option
effectively turns the \fBargs\fR format keyword into the \fBcomm\fR
format keyword; it is useful with the \fB\-f\fR format option and with
-@@ -588,7 +582,8 @@
+@@ -588,7 +582,8 @@ ASCII art process tree
repeat header lines, one per page of output
.opt \-\-no\-headers
@@ -43,7 +56,7 @@ diff -urNad procps-3.2.8~/ps/ps.1 procps-3.2.8/ps/ps.1
.opt \-\-lines \ n
set screen height
-@@ -1159,6 +1154,10 @@
+@@ -1159,6 +1154,10 @@ ppid PPID T{
parent process ID.
T}
@@ -54,3 +67,6 @@ diff -urNad procps-3.2.8~/ps/ps.1 procps-3.2.8/ps/ps.1
psr PSR T{
processor that process is currently assigned to.
T}
+--
+1.7.0
+
diff --git a/patches/procps-3.2.8/10_skill.1.dpatch b/patches/procps-3.2.8/0006-skill.1.patch
index 56ca5bc97..3896e5b7c 100644
--- a/patches/procps-3.2.8/10_skill.1.dpatch
+++ b/patches/procps-3.2.8/0006-skill.1.patch
@@ -1,13 +1,17 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 10_skill.1.dpatch by <csmall@debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Cleanup man page #282168
+From 25e97f620d09a704305bd42042f69b76c58cd64a Mon Sep 17 00:00:00 2001
+From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
+Date: Fri, 19 Mar 2010 21:58:45 +0100
+Subject: [PATCH 06/70] skill.1
-@DPATCH@
-diff -urNad procps-3.2.7~/skill.1 procps-3.2.7/skill.1
---- procps-3.2.7~/skill.1 2008-04-07 11:12:27.000000000 +1000
-+++ procps-3.2.7/skill.1 2008-04-07 11:13:03.000000000 +1000
+===================================================================
+---
+ skill.1 | 63 ++++++++++++++++++++++++++++++++++-----------------------------
+ 1 files changed, 34 insertions(+), 29 deletions(-)
+
+diff --git a/skill.1 b/skill.1
+index a4fc274..a56b969 100644
+--- a/skill.1
++++ b/skill.1
@@ -11,37 +11,38 @@
skill, snice \- send a signal or report process status
@@ -65,7 +69,7 @@ diff -urNad procps-3.2.7~/skill.1 procps-3.2.7/skill.1
.TE
.SH "PROCESS SELECTION OPTIONS"
-@@ -49,11 +50,11 @@
+@@ -49,11 +50,11 @@ Selection criteria can be: terminal, user, pid, command.
The options below may be used to ensure correct interpretation.
Do not blame Albert for this interesting interface.
.TS
@@ -82,7 +86,7 @@ diff -urNad procps-3.2.7~/skill.1 procps-3.2.7/skill.1
.TE
.SH SIGNALS
-@@ -63,7 +64,6 @@
+@@ -63,7 +64,6 @@ When known, numbers and default behavior are shown.
lB rB lB lB
lfCW r l l.
Name Num Action Description
@@ -90,7 +94,7 @@ diff -urNad procps-3.2.7~/skill.1 procps-3.2.7/skill.1
0 0 n/a exit code indicates if a signal may be sent
ALRM 14 exit
HUP 1 exit
-@@ -104,15 +104,20 @@
+@@ -104,15 +104,20 @@ XFSZ core core dump may fail
lB lB
lfCW l.
Command Description
@@ -116,3 +120,6 @@ diff -urNad procps-3.2.7~/skill.1 procps-3.2.7/skill.1
.SH STANDARDS
No standards apply.
+--
+1.7.0
+
diff --git a/patches/procps-3.2.8/0007-skill_perror.patch b/patches/procps-3.2.8/0007-skill_perror.patch
new file mode 100644
index 000000000..c38ca2ba7
--- /dev/null
+++ b/patches/procps-3.2.8/0007-skill_perror.patch
@@ -0,0 +1,25 @@
+From 680328798808b3d7201341a63e00c89e9d1bdb1a Mon Sep 17 00:00:00 2001
+From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
+Date: Fri, 19 Mar 2010 21:58:45 +0100
+Subject: [PATCH 07/70] skill_perror
+
+===================================================================
+---
+ skill.c | 1 +
+ 1 files changed, 1 insertions(+), 0 deletions(-)
+
+diff --git a/skill.c b/skill.c
+index 96cc386..54d4c48 100644
+--- a/skill.c
++++ b/skill.c
+@@ -317,6 +317,7 @@ no_more_args:
+ // The standard says we return non-zero if an error occurs. Thus if
+ // killing two processes gives 0 for one and EPERM for the other,
+ // we are required to return both zero and non-zero. Quantum kill???
++ perror("kill");
+ exitvalue = 1;
+ continue;
+ }
+--
+1.7.0
+
diff --git a/patches/procps-3.2.8/10_slabtop.dpatch b/patches/procps-3.2.8/0008-slabtop_1.patch
index 6aef08650..2b624927b 100644
--- a/patches/procps-3.2.8/10_slabtop.dpatch
+++ b/patches/procps-3.2.8/0008-slabtop_1.patch
@@ -1,13 +1,17 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 10_slabtop.dpatch by <csmall@debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Cleanup slabtop man page #282168
+From 1900641c9966032ac791bfb53f045c5c298b6d32 Mon Sep 17 00:00:00 2001
+From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
+Date: Fri, 19 Mar 2010 21:58:45 +0100
+Subject: [PATCH 08/70] slabtop_1
-@DPATCH@
-diff -urNad procps-3.2.7~/slabtop.1 procps-3.2.7/slabtop.1
---- procps-3.2.7~/slabtop.1 2006-06-18 15:10:24.000000000 +1000
-+++ procps-3.2.7/slabtop.1 2006-06-26 12:31:42.000000000 +1000
+===================================================================
+---
+ slabtop.1 | 35 ++++++++++++++++++++---------------
+ 1 files changed, 20 insertions(+), 15 deletions(-)
+
+diff --git a/slabtop.1 b/slabtop.1
+index 11f277e..7e27980 100644
+--- a/slabtop.1
++++ b/slabtop.1
@@ -7,36 +7,39 @@
slabtop \- display kernel slab cache information in real time
@@ -34,7 +38,7 @@ diff -urNad procps-3.2.7~/slabtop.1 procps-3.2.7/slabtop.1
-Refresh the display every n seconds. By default,
-.BR slabtop (1)
+.B \-\-delay=\fIn\fR, \fB\-d \fIn
-+Refresh the display every
++Refresh the display every
+.I n
+in seconds. By default,
+.B slabtop
@@ -59,7 +63,7 @@ diff -urNad procps-3.2.7~/slabtop.1 procps-3.2.7/slabtop.1
Display usage information and exit.
.SH SORT CRITERIA
-@@ -78,7 +81,7 @@
+@@ -78,7 +81,7 @@ sort by object size
sort by cache utilization
.SH COMMANDS
@@ -68,18 +72,18 @@ diff -urNad procps-3.2.7~/slabtop.1 procps-3.2.7/slabtop.1
accepts keyboard commands from the user during use. The following are
supported. In the case of letters, both cases are accepted.
-@@ -94,7 +97,9 @@
+@@ -94,7 +97,9 @@ Refresh the screen.
Quit the program.
.SH FILES
-.IR /proc/slabinfo " \-\- slab information"
+.TP
-+.I /proc/slabinfo
++.I /proc/slabinfo
+slab information
.SH "SEE ALSO"
.BR free (1),
-@@ -104,7 +109,7 @@
+@@ -104,7 +109,7 @@ Quit the program.
.SH NOTES
Currently,
@@ -88,7 +92,7 @@ diff -urNad procps-3.2.7~/slabtop.1 procps-3.2.7/slabtop.1
requires a 2.4 or later kernel (specifically, a version 1.1 or later
.IR /proc/slabinfo ).
Kernel 2.2 should be supported in the future.
-@@ -116,7 +121,7 @@
+@@ -116,7 +121,7 @@ file is tracking information about used slab physical memory.
.SH AUTHORS
Written by Chris Rivera and Robert Love.
@@ -97,3 +101,6 @@ diff -urNad procps-3.2.7~/slabtop.1 procps-3.2.7/slabtop.1
was inspired by Martin Bligh's perl script,
.BR vmtop .
The procps package is maintained by Albert Cahalan <albert@users.sf.net>.
+--
+1.7.0
+
diff --git a/patches/procps-3.2.8/10_sysctl.8.dpatch b/patches/procps-3.2.8/0009-sysctl.8.patch
index 7d9ec3e6f..73322e48a 100644
--- a/patches/procps-3.2.8/10_sysctl.8.dpatch
+++ b/patches/procps-3.2.8/0009-sysctl.8.patch
@@ -1,14 +1,19 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 10_sysctl_8.dpatch by <csmall@debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: -p flag has OPTIONAL filename (#297144)
-## DP: cleanup ssysctl man page #282168
+From 9dc2b36cc4ac6e49f0eeb2cc701376a7ce33fa13 Mon Sep 17 00:00:00 2001
+From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
+Date: Fri, 19 Mar 2010 21:58:45 +0100
+Subject: [PATCH 09/70] sysctl.8
-@DPATCH@
-diff -urNad procps-3.2.7~/sysctl.8 procps-3.2.7/sysctl.8
---- procps-3.2.7~/sysctl.8 2006-06-26 09:44:20.000000000 +1000
-+++ procps-3.2.7/sysctl.8 2006-06-26 12:42:08.000000000 +1000
+cleanup sysctl man page
+Bug-Debian: http://bugs.debian.org/297144
+Bug-Debian: http://bugs.debian.org/282168
+---
+ sysctl.8 | 90 ++++++++++++++++++++++++++++++++++++++++++--------------------
+ 1 files changed, 61 insertions(+), 29 deletions(-)
+
+diff --git a/sysctl.8 b/sysctl.8
+index e26c4fb..3bb46d7 100644
+--- a/sysctl.8
++++ b/sysctl.8
@@ -10,76 +10,108 @@
.SH NAME
sysctl \- configure kernel parameters at runtime
@@ -130,7 +135,7 @@ diff -urNad procps-3.2.7~/sysctl.8 procps-3.2.7/sysctl.8
+.br
+/sbin/sysctl \-w kernel.domainname="example.com"
+.br
-+/sbin/sysctl \-p /etc/sysctl.conf
++/sbin/sysctl \-p /etc/sysctl.conf
.SH FILES
.I /proc/sys
+.br
@@ -139,11 +144,14 @@ diff -urNad procps-3.2.7~/sysctl.8 procps-3.2.7/sysctl.8
.BR sysctl.conf (5)
.SH BUGS
-The -A parameter behaves just as -a does.
-+The
++The
+.B \-A
-+parameter behaves just as
++parameter behaves just as
+.B \-a
+does.
.SH AUTHOR
George Staikos, <staikos@0wned.org>
+--
+1.7.0
+
diff --git a/patches/procps-3.2.8/10_sysctl_options.dpatch b/patches/procps-3.2.8/0010-sysctl_options.patch
index 1616bdb7c..ae896cee2 100644
--- a/patches/procps-3.2.8/10_sysctl_options.dpatch
+++ b/patches/procps-3.2.8/0010-sysctl_options.patch
@@ -1,14 +1,18 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 10_sysctl_options.dpatch by <csmall@debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Fix up some option processing
+From 70cba9b7a33e2ce32045324b3fbe8fa901cfe9d2 Mon Sep 17 00:00:00 2001
+From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
+Date: Fri, 19 Mar 2010 21:58:45 +0100
+Subject: [PATCH 10/70] sysctl_options
-@DPATCH@
-diff -urNad procps-3.2.7~/sysctl.c procps-3.2.7/sysctl.c
---- procps-3.2.7~/sysctl.c 2008-08-10 10:57:23.000000000 +1000
-+++ procps-3.2.7/sysctl.c 2008-08-10 10:59:11.000000000 +1000
-@@ -421,6 +421,7 @@
+===================================================================
+---
+ sysctl.c | 12 ++++++++++--
+ 1 files changed, 10 insertions(+), 2 deletions(-)
+
+diff --git a/sysctl.c b/sysctl.c
+index 1470df9..4024f71 100644
+--- a/sysctl.c
++++ b/sysctl.c
+@@ -421,6 +421,7 @@ int main(int argc, char *argv[]) {
const char *me = (const char *)basename(argv[0]);
bool SwitchesAllowed = true;
bool WriteMode = false;
@@ -16,7 +20,7 @@ diff -urNad procps-3.2.7~/sysctl.c procps-3.2.7/sysctl.c
int ReturnCode = 0;
const char *preloadfile = DEFAULT_PRELOAD;
-@@ -486,8 +487,8 @@
+@@ -486,8 +487,8 @@ int main(int argc, char *argv[]) {
case 'a': // string and integer values (for Linux, all of them)
case 'A': // same as -a -o
case 'X': // same as -a -x
@@ -27,7 +31,7 @@ diff -urNad procps-3.2.7~/sysctl.c procps-3.2.7/sysctl.c
case 'V':
fprintf(stdout, "sysctl (%s)\n",procps_version);
exit(0);
-@@ -502,6 +503,8 @@
+@@ -502,6 +503,8 @@ int main(int argc, char *argv[]) {
} else {
if (NameOnly && Quiet) // nonsense
return Usage(me);
@@ -36,7 +40,7 @@ diff -urNad procps-3.2.7~/sysctl.c procps-3.2.7/sysctl.c
SwitchesAllowed = false;
if (WriteMode || index(*argv, '='))
ReturnCode = WriteSetting(*argv);
-@@ -509,6 +512,11 @@
+@@ -509,6 +512,11 @@ int main(int argc, char *argv[]) {
ReturnCode = ReadSetting(*argv);
}
}
@@ -48,3 +52,6 @@ diff -urNad procps-3.2.7~/sysctl.c procps-3.2.7/sysctl.c
return ReturnCode;
}
+--
+1.7.0
+
diff --git a/patches/procps-3.2.8/0011-tload.1.patch b/patches/procps-3.2.8/0011-tload.1.patch
new file mode 100644
index 000000000..abee2e8cb
--- /dev/null
+++ b/patches/procps-3.2.8/0011-tload.1.patch
@@ -0,0 +1,26 @@
+From 151b90caee59a7e1d4d5cf3cd6c38515e0cdac21 Mon Sep 17 00:00:00 2001
+From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
+Date: Fri, 19 Mar 2010 21:58:45 +0100
+Subject: [PATCH 11/70] tload.1
+
+===================================================================
+---
+ tload.1 | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/tload.1 b/tload.1
+index ef82b01..8ec8c43 100644
+--- a/tload.1
++++ b/tload.1
+@@ -39,7 +39,7 @@ The
+ .BI "\-d" " delay"
+ option sets the time argument for an
+ .BR alarm (2);
+-if -d 0 is specified, the alarm is set to 0, which will never send the
++if \-d 0 is specified, the alarm is set to 0, which will never send the
+ .B SIGALRM
+ and update the display.
+
+--
+1.7.0
+
diff --git a/patches/procps-3.2.8/10_top_irix.dpatch b/patches/procps-3.2.8/0012-top_irix.patch
index 0d3f49950..334798ee0 100644
--- a/patches/procps-3.2.8/10_top_irix.dpatch
+++ b/patches/procps-3.2.8/0012-top_irix.patch
@@ -1,24 +1,28 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 10_top_irix.dpatch by <csmall@debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Change formal of IRix mode when showing threads #459890
+From 8d8c23f4cae6eb9de188d7261a23adff0b14954c Mon Sep 17 00:00:00 2001
+From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
+Date: Fri, 19 Mar 2010 21:58:45 +0100
+Subject: [PATCH 12/70] top_irix
-@DPATCH@
-diff -urNad procps-3.2.7~/top.c procps-3.2.7/top.c
---- procps-3.2.7~/top.c 2008-04-07 08:43:08.000000000 +1000
-+++ procps-3.2.7/top.c 2008-04-07 08:45:23.000000000 +1000
-@@ -1774,7 +1774,8 @@
+===================================================================
+---
+ top.c | 15 +++++++++++++--
+ 1 files changed, 13 insertions(+), 2 deletions(-)
+
+diff --git a/top.c b/top.c
+index 6d4a7cc..c7e7553 100644
+--- a/top.c
++++ b/top.c
+@@ -1783,7 +1783,8 @@ static void configs_read (void)
confighlp(Winstk[i].rc.fieldscur);
}
- if(Rc.mode_irixps && smp_num_cpus>1){
-+ if(Rc.mode_irixps && smp_num_cpus>1 &&
++ if(Rc.mode_irixps && smp_num_cpus>1 &&
+ !(CHKw(Curwin, Show_THREADS))) {
// good for 100 CPUs per process
pcpu_max_value = 9999.0;
Fieldstab[P_CPU].fmts = " %4.0f";
-@@ -2561,6 +2562,15 @@
+@@ -2570,6 +2571,15 @@ static void do_key (unsigned c)
case 'H':
if (VIZCHKc) {
TOGw(Curwin, Show_THREADS);
@@ -34,7 +38,7 @@ diff -urNad procps-3.2.7~/top.c procps-3.2.7/top.c
show_msg(fmtmk("Show threads %s"
, CHKw(Curwin, Show_THREADS) ? "On" : "Off"));
}
-@@ -2617,7 +2627,8 @@
+@@ -2626,7 +2636,8 @@ static void do_key (unsigned c)
Rc.mode_irixps = !Rc.mode_irixps;
show_msg(fmtmk("Irix mode %s", Rc.mode_irixps ? "On" : "Off"));
#endif
@@ -44,3 +48,6 @@ diff -urNad procps-3.2.7~/top.c procps-3.2.7/top.c
// good for 100 CPUs per process
pcpu_max_value = 9999.0;
Fieldstab[P_CPU].fmts = " %4.0f";
+--
+1.7.0
+
diff --git a/patches/procps-3.2.8/0013-top_no_openproc.patch b/patches/procps-3.2.8/0013-top_no_openproc.patch
new file mode 100644
index 000000000..4b953ed9e
--- /dev/null
+++ b/patches/procps-3.2.8/0013-top_no_openproc.patch
@@ -0,0 +1,30 @@
+From 9b25ed7c35e2c33e585b893052bcf6d8283b5eca Mon Sep 17 00:00:00 2001
+From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
+Date: Fri, 19 Mar 2010 21:58:45 +0100
+Subject: [PATCH 13/70] top_no_openproc
+
+===================================================================
+---
+ top.c | 6 ++++++
+ 1 files changed, 6 insertions(+), 0 deletions(-)
+
+diff --git a/top.c b/top.c
+index c7e7553..72056a1 100644
+--- a/top.c
++++ b/top.c
+@@ -1106,6 +1106,12 @@ static proc_t **procs_refresh (proc_t **table, int flags)
+ else
+ PT = openproc(flags);
+
++ if (PT==NULL) {
++ std_err(strerror(errno));
++ exit(1);
++ }
++
++
+ // i) Allocated Chunks: *Existing* table; refresh + reuse
+ if (!(CHKw(Curwin, Show_THREADS))) {
+ while (curmax < savmax) {
+--
+1.7.0
+
diff --git a/patches/procps-3.2.8/10_top_stdineof.dpatch b/patches/procps-3.2.8/0014-top_stdin_eof.patch
index 2eb50b06e..e09a1e46e 100644
--- a/patches/procps-3.2.8/10_top_stdineof.dpatch
+++ b/patches/procps-3.2.8/0014-top_stdin_eof.patch
@@ -1,14 +1,18 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 10_top_stdineof.dpatch by <csmall@debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Check for stdin eof if term closes #458986
+From 694d025649a5536d0d30ed6e91d0a87ec85dc7aa Mon Sep 17 00:00:00 2001
+From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
+Date: Fri, 19 Mar 2010 21:58:45 +0100
+Subject: [PATCH 14/70] top_stdin_eof
-@DPATCH@
-diff -urNad procps-3.2.7~/top.c procps-3.2.7/top.c
---- procps-3.2.7~/top.c 2008-08-10 00:24:40.000000000 +1000
-+++ procps-3.2.7/top.c 2008-08-10 10:09:49.000000000 +1000
-@@ -3382,9 +3382,8 @@
+===================================================================
+---
+ top.c | 5 ++---
+ 1 files changed, 2 insertions(+), 3 deletions(-)
+
+diff --git a/top.c b/top.c
+index 72056a1..beaca0a 100644
+--- a/top.c
++++ b/top.c
+@@ -3408,9 +3408,8 @@ int main (int dont_care_argc, char *argv[])
// check 1st, in case tv zeroed (by sig handler) before it got set
rc = chin(0, &c, 1);
if (rc <= 0) {
@@ -20,3 +24,6 @@ diff -urNad procps-3.2.7~/top.c procps-3.2.7/top.c
fcntl(STDIN_FILENO, F_SETFL, file_flags);
select(1, &fs, NULL, NULL, &tv);
fcntl(STDIN_FILENO, F_SETFL, O_NONBLOCK|file_flags);
+--
+1.7.0
+
diff --git a/patches/procps-3.2.8/10_top_uid_length.dpatch b/patches/procps-3.2.8/0015-top_uid_length.patch
index 77befc5e2..de5a0ff23 100644
--- a/patches/procps-3.2.8/10_top_uid_length.dpatch
+++ b/patches/procps-3.2.8/0015-top_uid_length.patch
@@ -1,14 +1,18 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 10_top_uid_length.dpatch by <csmall@debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Make the uid length 5 not 4 #426782
+From 2bd08f4ab9b3e6b5dcd1a0d7d7dfd25a5355bc92 Mon Sep 17 00:00:00 2001
+From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
+Date: Fri, 19 Mar 2010 21:58:45 +0100
+Subject: [PATCH 15/70] top_uid_length
-@DPATCH@
-diff -urNad procps-3.2.7~/top.c procps-3.2.7/top.c
---- procps-3.2.7~/top.c 2009-01-08 10:22:37.000000000 +1100
-+++ procps-3.2.7/top.c 2009-01-08 10:23:07.000000000 +1100
-@@ -1222,7 +1222,7 @@
+===================================================================
+---
+ top.c | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/top.c b/top.c
+index beaca0a..53cab05 100644
+--- a/top.c
++++ b/top.c
+@@ -1237,7 +1237,7 @@ static FLD_t Fieldstab[] = {
{ "AaAa", " PID", " %5u", -1, -1, SF(PID), "Process Id", L_NONE },
{ "BbBb", " PPID", " %5u", -1, -1, SF(PPD), "Parent Process Pid", L_EITHER },
{ "CcQq", " RUSER ", " %-8.8s", -1, -1, SF(URR), "Real user name", L_RUSER },
@@ -17,3 +21,6 @@ diff -urNad procps-3.2.7~/top.c procps-3.2.7/top.c
{ "EeDd", " USER ", " %-8.8s", -1, -1, SF(URE), "User Name", L_EUSER },
{ "FfNn", " GROUP ", " %-8.8s", -1, -1, SF(GRP), "Group Name", L_GROUP },
{ "GgGg", " TTY ", " %-8.8s", 8, -1, SF(TTY), "Controlling Tty", L_stat },
+--
+1.7.0
+
diff --git a/patches/procps-3.2.8/10_uptime.1.dpatch b/patches/procps-3.2.8/0016-uptime.1.patch
index e9ae0064e..9c2da06dc 100644
--- a/patches/procps-3.2.8/10_uptime.1.dpatch
+++ b/patches/procps-3.2.8/0016-uptime.1.patch
@@ -1,14 +1,18 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 10_uptime.1.dpatch by <csmall@debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Cleanup uptime man page #282168
+From b79e4c42592ff040817fd722c6083b2ebe40c289 Mon Sep 17 00:00:00 2001
+From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
+Date: Fri, 19 Mar 2010 21:58:45 +0100
+Subject: [PATCH 16/70] uptime.1
-@DPATCH@
-diff -urNad procps-3.2.7~/uptime.1 procps-3.2.7/uptime.1
---- procps-3.2.7~/uptime.1 2006-06-26 09:37:50.000000000 +1000
-+++ procps-3.2.7/uptime.1 2006-06-26 12:45:06.000000000 +1000
-@@ -6,7 +6,8 @@
+===================================================================
+---
+ uptime.1 | 23 ++++++++++++++++++-----
+ 1 files changed, 18 insertions(+), 5 deletions(-)
+
+diff --git a/uptime.1 b/uptime.1
+index 3aae739..a3da7c7 100644
+--- a/uptime.1
++++ b/uptime.1
+@@ -6,7 +6,8 @@ uptime \- Tell how long the system has been running.
.SH SYNOPSIS
.B uptime
.br
@@ -18,7 +22,7 @@ diff -urNad procps-3.2.7~/uptime.1 procps-3.2.7/uptime.1
.SH DESCRIPTION
.B uptime
gives a one line display of the following information.
-@@ -14,13 +15,25 @@
+@@ -14,13 +15,25 @@ The current time,
how long the system has been running,
how many users are currently logged on,
and the system load averages for the past 1, 5, and 15 minutes.
@@ -27,7 +31,7 @@ diff -urNad procps-3.2.7~/uptime.1 procps-3.2.7/uptime.1
This is the same information contained in the header line displayed by
.BR w (1).
+.sp
-+System load averages is the average number of processes that are either
++System load averages is the average number of processes that are either
+in a runnable or uninterruptable state. A process in a runnable state is
+either using the CPU or waiting to use the CPU. A process in
+uninterruptable state is waiting for some I/O access, eg waiting for
@@ -43,8 +47,11 @@ diff -urNad procps-3.2.7~/uptime.1 procps-3.2.7/uptime.1
+.I /var/run/utmp
+information about who is currently logged on
+.TP
-+.I /proc
++.I /proc
+process information
.SH AUTHORS
.B uptime
was written by Larry Greenfield <greenfie@gauss.rutgers.edu> and
+--
+1.7.0
+
diff --git a/patches/procps-3.2.8/10_vmstat.8.dpatch b/patches/procps-3.2.8/0017-vmstat.8.patch
index f3cca9627..af404a7db 100644
--- a/patches/procps-3.2.8/10_vmstat.8.dpatch
+++ b/patches/procps-3.2.8/0017-vmstat.8.patch
@@ -1,14 +1,17 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 10_vmstat.8.dpatch by <csmall@debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Fixes groff problems
-## DP: Removes pslab as it doesnt appear
+From e0d2fe1828af05117a04e167cf77a26f7dcf1209 Mon Sep 17 00:00:00 2001
+From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
+Date: Fri, 19 Mar 2010 21:58:45 +0100
+Subject: [PATCH 17/70] vmstat.8
-@DPATCH@
-diff -urNad procps-3.2.7~/vmstat.8 procps-3.2.7/vmstat.8
---- procps-3.2.7~/vmstat.8 2009-01-08 10:26:34.000000000 +1100
-+++ procps-3.2.7/vmstat.8 2009-01-09 12:23:21.000000000 +1100
+Removes pslab as it doesnt appear
+---
+ vmstat.8 | 37 ++++++++++++++++++++-----------------
+ 1 files changed, 20 insertions(+), 17 deletions(-)
+
+diff --git a/vmstat.8 b/vmstat.8
+index c059ec0..c97826f 100644
+--- a/vmstat.8
++++ b/vmstat.8
@@ -1,6 +1,6 @@
.\" This page Copyright (C) 1994 Henry Ware <al172@yfn.ysu.edu>
.\" Distributed under the GPL, Copyleft 1994.
@@ -17,7 +20,7 @@ diff -urNad procps-3.2.7~/vmstat.8 procps-3.2.7/vmstat.8
.SH NAME
vmstat \- Report virtual memory statistics
.SH SYNOPSIS
-@@ -22,32 +22,35 @@
+@@ -22,32 +22,35 @@ vmstat \- Report virtual memory statistics
.RB [ "\-d"]
.br
.B vmstat
@@ -59,27 +62,27 @@ diff -urNad procps-3.2.7~/vmstat.8 procps-3.2.7/vmstat.8
and memory statistics. This display does not repeat.
.PP
.I delay
-@@ -58,13 +61,15 @@
+@@ -58,13 +61,15 @@ only one report is printed with the average values since boot.
is the number of updates. If no count is specified and delay is
defined, \fIcount\fP defaults to infinity.
.PP
-The \fB-d\fP reports disk statistics (2.5.70 or above required)
-+The \fB\-d\fP reports disk statistics (2.5.70 or above required)
++The \fB\-d\fP reports disk statistics (2.5.70 or above required)
++.PP
++The \fB-D\fP reports some summary statistics about disk activity.
.PP
-The \fB-p\fP followed by some partition name for detailed statistics (2.5.70 or above required)
-+The \fB-D\fP reports some summary statistics about disk activity.
++The \fB\-p\fP followed by some partition name for detailed statistics (2.5.70 or above required)
.PP
-The \fB-S\fP followed by k or K or m or M switches outputs between 1000, 1024, 1000000, or 1048576 bytes
-+The \fB\-p\fP followed by some partition name for detailed statistics (2.5.70 or above required)
++The \fB\-S\fP followed by k or K or m or M switches outputs between 1000, 1024, 1000000, or 1048576 bytes
.PP
-The \fB-V\fP switch results in displaying version information.
-+The \fB\-S\fP followed by k or K or m or M switches outputs between 1000, 1024, 1000000, or 1048576 bytes
-+.PP
+The \fB\-V\fP switch results in displaying version information.
.PP
.SH FIELD DESCRIPTION FOR VM MODE
.SS
-@@ -81,8 +86,8 @@
+@@ -81,8 +86,8 @@ swpd: the amount of virtual memory used.
free: the amount of idle memory.
buff: the amount of memory used as buffers.
cache: the amount of memory used as cache.
@@ -90,7 +93,7 @@ diff -urNad procps-3.2.7~/vmstat.8 procps-3.2.7/vmstat.8
.fi
.PP
.SS
-@@ -110,9 +115,9 @@
+@@ -110,9 +115,9 @@ cs: The number of context switches per second.
.B "CPU "
These are percentages of total CPU time.
.nf
@@ -102,7 +105,7 @@ diff -urNad procps-3.2.7~/vmstat.8 procps-3.2.7/vmstat.8
wa: Time spent waiting for IO. Prior to Linux 2.5.41, included in idle.
st: Time stolen from a virtual machine. Prior to Linux 2.6.11, unknown.
-@@ -161,8 +166,6 @@
+@@ -161,8 +166,6 @@ num: Number of currently active objects
total: Total number of available objects
size: Size of each object
pages: Number of pages with at least one active object
@@ -111,3 +114,6 @@ diff -urNad procps-3.2.7~/vmstat.8 procps-3.2.7/vmstat.8
.fi
.SH NOTES
+--
+1.7.0
+
diff --git a/patches/procps-3.2.8/10_watch.1.dpatch b/patches/procps-3.2.8/0018-watch.1.patch
index d0666a7b5..43a790193 100644
--- a/patches/procps-3.2.8/10_watch.1.dpatch
+++ b/patches/procps-3.2.8/0018-watch.1.patch
@@ -1,14 +1,17 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 10_watch.1.dpatch by <csmall@debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Cleanup of manual page
-## DP: cumulative is a parameter not option #527193
+From 61e92daf921b7a85ac8693341f8890658c61f047 Mon Sep 17 00:00:00 2001
+From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
+Date: Fri, 19 Mar 2010 21:58:45 +0100
+Subject: [PATCH 18/70] watch.1
-@DPATCH@
-diff -urNad procps-3.2.8~/watch.1 procps-3.2.8/watch.1
---- procps-3.2.8~/watch.1 2009-05-11 22:40:13.000000000 +1000
-+++ procps-3.2.8/watch.1 2009-05-11 22:46:33.000000000 +1000
+===================================================================
+---
+ watch.1 | 47 ++++++++++++++++++++++++++++-------------------
+ 1 files changed, 28 insertions(+), 19 deletions(-)
+
+diff --git a/watch.1 b/watch.1
+index 41323f4..1616794 100644
+--- a/watch.1
++++ b/watch.1
@@ -1,45 +1,54 @@
-.TH WATCH 1 "1999 Apr 3" " " "Linux User's Manual"
+.TH WATCH 1 "2009 May 11" " " "Linux User's Manual"
@@ -79,7 +82,7 @@ diff -urNad procps-3.2.8~/watch.1 procps-3.2.8/watch.1
.I command
don't get interpreted by
.BR watch
-@@ -61,20 +70,20 @@
+@@ -61,20 +70,20 @@ watch \-d 'ls \-l | fgrep joe'
To see the effects of quoting, try these out
.IP
watch echo $$
@@ -104,3 +107,6 @@ diff -urNad procps-3.2.8~/watch.1 procps-3.2.8/watch.1
highlighting is lost on that update as well.
.PP
Non-printing characters are stripped from program output. Use "cat -v" as
+--
+1.7.0
+
diff --git a/patches/procps-3.2.8/0019-w_time.patch b/patches/procps-3.2.8/0019-w_time.patch
new file mode 100644
index 000000000..1320cbe19
--- /dev/null
+++ b/patches/procps-3.2.8/0019-w_time.patch
@@ -0,0 +1,26 @@
+From 57506edfb12bcb7b14d8614d9e79872beeca05a9 Mon Sep 17 00:00:00 2001
+From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
+Date: Fri, 19 Mar 2010 21:58:45 +0100
+Subject: [PATCH 19/70] w_time
+
+===================================================================
+---
+ w.c | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/w.c b/w.c
+index 1b2a0fc..a6b1b25 100644
+--- a/w.c
++++ b/w.c
+@@ -83,7 +83,7 @@ static void print_time_ival7(time_t t, int centi_sec, FILE* fout) {
+ else if (t > 60) /* > 1 minute */
+ fprintf(fout, " %2lu:%02u ", t/60, (unsigned) t%60);
+ else
+- fprintf(fout, " %2lu.%02us", t, centi_sec);
++ fprintf(fout, " %2lu.%02us", t, centi_sec);
+ }
+
+ /**** stat the device file to get an idle time */
+--
+1.7.0
+
diff --git a/patches/procps-3.2.8/20_kill.1.dpatch b/patches/procps-3.2.8/0020-kill.1.patch
index 25727d7e2..217a5499a 100644
--- a/patches/procps-3.2.8/20_kill.1.dpatch
+++ b/patches/procps-3.2.8/0020-kill.1.patch
@@ -1,31 +1,18 @@
-#! /bin/sh -e
-## 20_kill.1.dpatch by Craig Small <csmall@debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Fix kill.1 manual page
-## DP: Changed may to cannot or might #375739
+From 05403f8eb1a2fb4d0c03034633e8626fffb33687 Mon Sep 17 00:00:00 2001
+From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
+Date: Fri, 19 Mar 2010 21:58:46 +0100
+Subject: [PATCH 20/70] kill.1
-[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
-patch_opts="${patch_opts:--f --no-backup-if-mismatch}"
+Changed may to cannot or might
+Bug-Debian: http://bugs.debian.org/375739
+---
+ kill.1 | 86 +++++++++++++++++++++++++++------------------------------------
+ 1 files changed, 37 insertions(+), 49 deletions(-)
-if [ $# -ne 1 ]; then
- echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
- exit 1
-fi
-case "$1" in
- -patch) patch $patch_opts -p1 < $0;;
- -unpatch) patch $patch_opts -p1 -R < $0;;
- *)
- echo >&2 "`basename $0`: script expects -patch|-unpatch as argum
-ent"
- exit 1;;
-esac
-
-exit 0
-@DPATCH@
-diff -urNad procps-3.2.7~/kill.1 procps-3.2.7/kill.1
---- procps-3.2.7~/kill.1 2009-01-09 17:04:24.000000000 +1100
-+++ procps-3.2.7/kill.1 2009-01-09 17:11:37.000000000 +1100
+diff --git a/kill.1 b/kill.1
+index aef9dbf..df1bdd7 100644
+--- a/kill.1
++++ b/kill.1
@@ -10,23 +10,18 @@
kill \- send a signal to a process
@@ -58,7 +45,7 @@ diff -urNad procps-3.2.7~/kill.1 procps-3.2.7/kill.1
all processes except the kill process itself and init.
.SH SIGNALS
-@@ -37,12 +32,11 @@
+@@ -37,12 +32,11 @@ When known constant, numbers and default behavior are shown.
lB rB lB lB
lfCW r l l.
Name Num Action Description
@@ -72,7 +59,7 @@ diff -urNad procps-3.2.7~/kill.1 procps-3.2.7/kill.1
PIPE 13 exit
POLL exit
PROF exit
-@@ -50,15 +44,15 @@
+@@ -50,15 +44,15 @@ TERM 15 exit
USR1 exit
USR2 exit
VTALRM exit
@@ -94,7 +81,7 @@ diff -urNad procps-3.2.7~/kill.1 procps-3.2.7/kill.1
CONT restart continue if stopped, otherwise ignore
ABRT 6 core
FPE 8 core
-@@ -66,11 +60,11 @@
+@@ -66,11 +60,11 @@ ILL 4 core
QUIT 3 core
SEGV 11 core
TRAP 5 core
@@ -111,7 +98,7 @@ diff -urNad procps-3.2.7~/kill.1 procps-3.2.7/kill.1
.TE
.SH NOTES
-@@ -79,36 +73,30 @@
+@@ -79,36 +73,30 @@ You may need to run the command described here as /bin/kill to solve
the conflict.
.SH EXAMPLES
@@ -165,3 +152,6 @@ diff -urNad procps-3.2.7~/kill.1 procps-3.2.7/kill.1
.SH AUTHOR
Albert Cahalan <albert@users.sf.net> wrote kill in 1999 to replace a
+--
+1.7.0
+
diff --git a/patches/procps-3.2.8/20_kill_warncr.dpatch b/patches/procps-3.2.8/0021-kill_warncr.patch
index 9efeff1e2..f48ba80d1 100644
--- a/patches/procps-3.2.8/20_kill_warncr.dpatch
+++ b/patches/procps-3.2.8/0021-kill_warncr.patch
@@ -1,14 +1,18 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 20_kill_warncr.dpatch by <csmall@debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Add CR to warning line #331419
+From 07d93d1f2f5a299d4279a0fe3b69efeb943509dd Mon Sep 17 00:00:00 2001
+From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
+Date: Fri, 19 Mar 2010 21:58:46 +0100
+Subject: [PATCH 21/70] kill_warncr
-@DPATCH@
-diff -urNad procps-3.2.7~/skill.c procps-3.2.7/skill.c
---- procps-3.2.7~/skill.c 2004-09-09 23:49:38.000000000 +1000
-+++ procps-3.2.7/skill.c 2006-06-26 22:40:17.000000000 +1000
-@@ -128,7 +128,7 @@
+===================================================================
+---
+ skill.c | 4 ++--
+ 1 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/skill.c b/skill.c
+index 54d4c48..c8af9fd 100644
+--- a/skill.c
++++ b/skill.c
+@@ -128,7 +128,7 @@ static void check_proc(int pid){
sprintf(buf, "/proc/%d/stat", pid); /* pid (cmd) state ppid pgrp session tty */
fd = open(buf,O_RDONLY);
if(fd==-1){ /* process exited maybe */
@@ -17,7 +21,7 @@ diff -urNad procps-3.2.7~/skill.c procps-3.2.7/skill.c
return;
}
fstat(fd, &statbuf);
-@@ -333,7 +333,7 @@
+@@ -342,7 +342,7 @@ static void skillsnice_usage(void){
}else{
fprintf(stderr,
"Usage: snice [new priority] [options] process selection criteria\n"
@@ -26,3 +30,6 @@ diff -urNad procps-3.2.7~/skill.c procps-3.2.7/skill.c
"\n"
"The default priority is +4. (snice +4 ...)\n"
"Priority numbers range from +20 (slowest) to -20 (fastest).\n"
+--
+1.7.0
+
diff --git a/patches/procps-3.2.8/0022-module_mk_shared.patch b/patches/procps-3.2.8/0022-module_mk_shared.patch
new file mode 100644
index 000000000..975e29104
--- /dev/null
+++ b/patches/procps-3.2.8/0022-module_mk_shared.patch
@@ -0,0 +1,26 @@
+From 20aef92ce98efb9afc8da15135a11dc84e311d54 Mon Sep 17 00:00:00 2001
+From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
+Date: Fri, 19 Mar 2010 21:58:46 +0100
+Subject: [PATCH 22/70] module_mk_shared
+
+===================================================================
+---
+ proc/module.mk | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/proc/module.mk b/proc/module.mk
+index af20334..c4e85b4 100644
+--- a/proc/module.mk
++++ b/proc/module.mk
+@@ -17,7 +17,7 @@
+ # numbers for future use, the ELF soname can be set equal to the
+ # file name until some future date when a stable ABI is declared.
+
+-SHARED := 1
++SHARED ?= 1
+
+ # for lib$(NAME).so and /usr/include/($NAME) and such
+ NAME := proc
+--
+1.7.0
+
diff --git a/patches/procps-3.2.8/0023-sysinfo_elfnote.patch b/patches/procps-3.2.8/0023-sysinfo_elfnote.patch
new file mode 100644
index 000000000..ec03cd49d
--- /dev/null
+++ b/patches/procps-3.2.8/0023-sysinfo_elfnote.patch
@@ -0,0 +1,32 @@
+From 8df7dcb845f80d7ebb46a5942a684164577b5bee Mon Sep 17 00:00:00 2001
+From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
+Date: Fri, 19 Mar 2010 21:58:46 +0100
+Subject: [PATCH 23/70] sysinfo_elfnote
+
+===================================================================
+---
+ proc/sysinfo.c | 3 ++-
+ 1 files changed, 2 insertions(+), 1 deletions(-)
+
+diff --git a/proc/sysinfo.c b/proc/sysinfo.c
+index cd59534..473634f 100644
+--- a/proc/sysinfo.c
++++ b/proc/sysinfo.c
+@@ -221,12 +221,13 @@ static void init_libproc(void){
+ // _SC_NPROCESSORS_ONLN returns 1, which should work OK
+ smp_num_cpus = sysconf(_SC_NPROCESSORS_ONLN);
+ if(smp_num_cpus<1) smp_num_cpus=1; /* SPARC glibc is buggy */
+-
++#ifdef __linux__
+ if(linux_version_code > LINUX_VERSION(2, 4, 0)){
+ Hertz = find_elf_note(AT_CLKTCK);
+ if(Hertz!=NOTE_NOT_FOUND) return;
+ fputs("2.4+ kernel w/o ELF notes? -- report this\n", stderr);
+ }
++#endif
+ old_Hertz_hack();
+ }
+
+--
+1.7.0
+
diff --git a/patches/procps-3.2.8/20_top_manpage.dpatch b/patches/procps-3.2.8/0024-top.1.patch
index 901f580f2..b636ff49f 100644
--- a/patches/procps-3.2.8/20_top_manpage.dpatch
+++ b/patches/procps-3.2.8/0024-top.1.patch
@@ -1,32 +1,18 @@
-#! /bin/sh -e
-## 20_top_manpage by Randy Hron
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Fix bold in top manual page
-## DP: Fix page fault description because storage may not be disk
-## DP{ Used NE and not ME as a defined as it clashes wirh something
+From 12fb3382a3002090ab811a779556522560f2669d Mon Sep 17 00:00:00 2001
+From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
+Date: Fri, 19 Mar 2010 21:58:46 +0100
+Subject: [PATCH 24/70] top.1
-[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
-patch_opts="${patch_opts:--f --no-backup-if-mismatch}"
+Fix page fault description because storage may not be disk
+Author: Craig Small <csmall@debian.org>
+---
+ top.1 | 110 ++++++++++++++++++++++++++++++++---------------------------------
+ 1 files changed, 54 insertions(+), 56 deletions(-)
-if [ $# -ne 1 ]; then
- echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
- exit 1
-fi
-case "$1" in
- -patch) patch $patch_opts -p1 < $0;;
- -unpatch) patch $patch_opts -p1 -R < $0;;
- *)
- echo >&2 "`basename $0`: script expects -patch|-unpatch as argum
-ent"
- exit 1;;
-esac
-
-exit 0
-@DPATCH@
-diff -urNad procps-3.2.7~/top.1 procps-3.2.7/top.1
---- procps-3.2.7~/top.1 2009-01-09 17:45:51.000000000 +1100
-+++ procps-3.2.7/top.1 2009-01-09 18:07:32.000000000 +1100
+diff --git a/top.1 b/top.1
+index aeee3c9..b0cec2d 100644
+--- a/top.1
++++ b/top.1
@@ -42,7 +42,7 @@
.ds EM \ \fB\-\-\ \fR
\# - these two are for chuckles, makes great grammar
@@ -36,7 +22,7 @@ diff -urNad procps-3.2.7~/top.1 procps-3.2.7/top.1
\# - other misc strings for consistent usage/emphasis
.ds F \fIOff\fR
.ds O \fIOn\fR
-@@ -85,7 +85,7 @@
+@@ -85,7 +85,7 @@ top \- display Linux tasks
.\" ----------------------------------------------------------------------
.SH SYNOPSIS
.\" ----------------------------------------------------------------------
@@ -45,7 +31,7 @@ diff -urNad procps-3.2.7~/top.1 procps-3.2.7/top.1
iterations\fR \-\fBp\fI pid\fR [,\fI pid\fR ...]
The traditional switches '-' and whitespace are optional.
-@@ -94,7 +94,7 @@
+@@ -94,7 +94,7 @@ The traditional switches '-' and whitespace are optional.
.\" ----------------------------------------------------------------------
.SH DESCRIPTION
.\" ----------------------------------------------------------------------
@@ -54,7 +40,7 @@ diff -urNad procps-3.2.7~/top.1 procps-3.2.7/top.1
It can display\fB system\fR summary information as well as a list of\fB
tasks\fR currently being managed by the Linux kernel.
The types of system summary information shown and the types, order and
-@@ -104,7 +104,7 @@
+@@ -104,7 +104,7 @@ that configuration can be made persistent across restarts.
The program provides a limited interactive interface for process
manipulation as well as a much more extensive interface for personal
configuration \*(EM encompassing every aspect of its operation.
@@ -63,7 +49,7 @@ diff -urNad procps-3.2.7~/top.1 procps-3.2.7/top.1
to name the program anything you wish.
That new name, possibly an alias, will then be reflected on \*(Me's display
and used when reading and writing a \*(CF.
-@@ -190,7 +190,7 @@
+@@ -190,7 +190,7 @@ command-line.
'I' - Irix mode On\ \ (no, 'solaris' smp)
* 'p' - PID monitoring Off
* 's' - Secure mode Off (unsecured)
@@ -72,7 +58,7 @@ diff -urNad procps-3.2.7~/top.1 procps-3.2.7/top.1
\fISummary_Area_defaults\fR
'l' - Load Avg/Uptime On\ \ (thus program name)
't' - Task/Cpu states On\ \ (1+1 lines, see '1')
-@@ -413,16 +413,14 @@
+@@ -413,16 +413,14 @@ The swapped out portion of a task's total \*(MV image.
q:\fB RES\fR \*(EM Resident size (kb)
The non-swapped \*(MP a task has used.
@@ -91,7 +77,7 @@ diff -urNad procps-3.2.7~/top.1 procps-3.2.7/top.1
the 'data resident set' size or DRS.
.TP 3
-@@ -436,8 +434,8 @@
+@@ -436,8 +434,8 @@ u:\fB nFLT\fR \*(EM Page Fault count
The number of\fB major\fR page faults that have occurred for a task.
A page fault occurs when a process attempts to read from or write to a virtual
page that is not currently present in its address space.
@@ -102,7 +88,7 @@ diff -urNad procps-3.2.7~/top.1 procps-3.2.7/top.1
.TP 3
v:\fB nDRT\fR \*(EM Dirty Pages count
-@@ -504,7 +502,7 @@
+@@ -504,7 +502,7 @@ and 'Order fields' screens.
.\" ......................................................................
.SS 2b. SELECTING and ORDERING Columns
.\" ----------------------------------------------------------------------
@@ -111,7 +97,7 @@ diff -urNad procps-3.2.7~/top.1 procps-3.2.7/top.1
be shown a screen containing the current \fBfields string\fR followed by names
and descriptions for all fields.
-@@ -580,7 +578,7 @@
+@@ -580,7 +578,7 @@ Use either of these keys if you have a large delay interval and wish to
see current status,
.TP 7
@@ -120,7 +106,7 @@ diff -urNad procps-3.2.7~/top.1 procps-3.2.7/top.1
There are two help levels available.
The first will provide a reminder of all the basic \*(CIs.
If \*(Me is\fI secured\fR, that screen will be abbreviated.
-@@ -589,7 +587,7 @@
+@@ -589,7 +587,7 @@ Typing 'h' or '?' on that help screen will take you to help for those \*(CIs
applicable to \*(AM.
.TP 7
@@ -129,7 +115,7 @@ diff -urNad procps-3.2.7~/top.1 procps-3.2.7/top.1
Removes restrictions on which tasks are shown.
This command will reverse any 'i' (idle tasks) and 'n' (max tasks) commands
that might be active.
-@@ -599,13 +597,13 @@
+@@ -599,13 +597,13 @@ See the '-p' \*(CO for a discussion of PID monitoring.
When operating in \*(AM this command has a slightly broader meaning.
.TP 7
@@ -147,7 +133,7 @@ diff -urNad procps-3.2.7~/top.1 procps-3.2.7/top.1
This command will influence use of the 'bold' terminfo capability and
alters\fB both\fR the \*(SA and \*(TA for the \*(CW.
While it is intended primarily for use with dumb terminals, it can be
-@@ -617,7 +615,7 @@
+@@ -617,7 +615,7 @@ Thus, unless the 'x' and/or 'y' toggles are using reverse for emphasis,
there will be no visual confirmation that they are even on.
.TP 7
@@ -156,7 +142,7 @@ diff -urNad procps-3.2.7~/top.1 procps-3.2.7/top.1
You will be prompted to enter the delay time, in seconds, between
display updates.
-@@ -631,32 +629,32 @@
+@@ -631,32 +629,32 @@ If at any time you wish to know the current delay time, simply ask for help
and view the system summary on the second line.
.TP 7
@@ -194,7 +180,7 @@ diff -urNad procps-3.2.7~/top.1 procps-3.2.7/top.1
You will be prompted for a PID and then the signal to send.
The default signal, as reflected in the prompt, is SIGTERM.
However, you can send any signal, via number or name.
-@@ -667,24 +665,24 @@
+@@ -667,24 +665,24 @@ depending on your progress:
2) at the signal prompt, type 0
.TP 7
@@ -223,7 +209,7 @@ diff -urNad procps-3.2.7~/top.1 procps-3.2.7/top.1
This key will take you to a separate screen where you can change the
colors for the \*(CW, or for all windows.
For details regarding this \*(CI \*(Xt 3d. COLOR Mapping.
-@@ -700,25 +698,25 @@
+@@ -700,25 +698,25 @@ They affect the beginning lines of your display and will determine the position
of messages and prompts.
These commands always impact just the \*(CW/field group.
@@ -255,7 +241,7 @@ diff -urNad procps-3.2.7~/top.1 procps-3.2.7/top.1
This command affects how the 't' command's Cpu States portion is shown.
Although this toggle exists primarily to serve massively-parallel SMP machines,
it is not restricted to solely SMP environments.
-@@ -750,12 +748,12 @@
+@@ -750,12 +748,12 @@ global 'B' (bold disable) toggle.
.in
.TP 7
@@ -270,7 +256,7 @@ diff -urNad procps-3.2.7~/top.1 procps-3.2.7/top.1
Changes highlighting for the current sort field.
You probably don't need a constant visual reminder of the sort field and
\*(Me hopes that you always run with 'column highlight' \*F, due to the cost
-@@ -765,7 +763,7 @@
+@@ -765,7 +763,7 @@ If you forget which field is being sorted this command can serve as a quick
visual reminder.
.TP 7
@@ -279,7 +265,7 @@ diff -urNad procps-3.2.7~/top.1 procps-3.2.7/top.1
Changes highlighting for "running" tasks.
For additional insight into this task state, \*(Xt 2a. DESCRIPTIONS of Fields,
Process Status.
-@@ -774,7 +772,7 @@
+@@ -774,7 +772,7 @@ Use of this provision provides important insight into your system's health.
The only costs will be a few additional tty escape sequences.
.TP 7
@@ -288,7 +274,7 @@ diff -urNad procps-3.2.7~/top.1 procps-3.2.7/top.1
Switches the \*(CW between your last used color scheme and the older form
of black-on-white or white-on-black.
This command will alter\fB both\fR the \*(SA and \*(TA but does not affect the
-@@ -785,20 +783,20 @@
+@@ -785,20 +783,20 @@ state of the 'x', 'y' or 'b' toggles.
.B CONTENT\fR of \*(TW
.PD 0
.TP 7
@@ -312,7 +298,7 @@ diff -urNad procps-3.2.7~/top.1 procps-3.2.7/top.1
When this toggle is \*O, all individual threads will be displayed. Otherwise, \*(Me displays a summation of all threads in a process.
.TP 7
-@@ -818,7 +816,7 @@
+@@ -818,7 +816,7 @@ If you wish to know in advance whether or not 'Cumulative mode' is in
effect, simply ask for help and view the window summary on the second line.
.TP 7
@@ -321,7 +307,7 @@ diff -urNad procps-3.2.7~/top.1 procps-3.2.7/top.1
You will be prompted to enter the name of the user to display.
Thereafter, in that \*(TW only matching User ID's will be shown, or possibly
no tasks will be shown.
-@@ -831,7 +829,7 @@
+@@ -831,7 +829,7 @@ just press <Enter> at the prompt, without providing a name.
.B SIZE\fR of \*(TW
.PD 0
.TP 7
@@ -330,7 +316,7 @@ diff -urNad procps-3.2.7~/top.1 procps-3.2.7/top.1
Displays all tasks or just active tasks.
When this toggle is \*F, idled or zombied processes will not be displayed.
-@@ -839,7 +837,7 @@
+@@ -839,7 +837,7 @@ If this command is applied to the last \*(TD when in \*(AM, then it will not
affect the window's size, as all prior \*(TDs will have already been painted.
.TP 7
@@ -339,7 +325,7 @@ diff -urNad procps-3.2.7~/top.1 procps-3.2.7/top.1
You will be prompted to enter the number of tasks to display.
The lessor of your number and available screen rows will be used.
-@@ -878,12 +876,12 @@
+@@ -878,12 +876,12 @@ The sort field might\fI not\fR be visible because:
.in
.TP 7
@@ -354,7 +340,7 @@ diff -urNad procps-3.2.7~/top.1 procps-3.2.7/top.1
Moves the sort column to the right unless the current sort field is
the last field being displayed.
-@@ -894,7 +892,7 @@
+@@ -894,7 +892,7 @@ the current sort field is visible.
.in
.TP 7
@@ -363,7 +349,7 @@ diff -urNad procps-3.2.7~/top.1 procps-3.2.7/top.1
These keys display a separate screen where you can change which field
is used as the sort column.
-@@ -907,7 +905,7 @@
+@@ -907,7 +905,7 @@ This \*(CI can be a convenient way to simply verify the current sort field,
when running \*(Me with column highlighting turned \*F.
.TP 7
@@ -372,7 +358,7 @@ diff -urNad procps-3.2.7~/top.1 procps-3.2.7/top.1
Using this \*(CI you can alternate between high-to-low and low-to-high sorts.
.PP
-@@ -984,7 +982,7 @@
+@@ -984,7 +982,7 @@ know what window is the \*(CW.
.\" ......................................................................
.SS 4b. COMMANDS for Windows
.TP 7
@@ -381,7 +367,7 @@ diff -urNad procps-3.2.7~/top.1 procps-3.2.7/top.1
The '-' key turns the \*(CW's \*(TD \*O and \*F.
When \*O, that \*(TA will show a minimum of the columns header you've
established with the 'f' and 'o' commands.
-@@ -998,7 +996,7 @@
+@@ -998,7 +996,7 @@ If all 4 \*(TDs are currently visible, this \*(CI will leave the \*(SA
as the only display element.
.TP 7
@@ -390,7 +376,7 @@ diff -urNad procps-3.2.7~/top.1 procps-3.2.7/top.1
The '=' key forces the \*(CW's \*(TD to be visible.
It also reverses any 'i' (idle tasks) and 'n' (max tasks) commands that might
be active.
-@@ -1009,7 +1007,7 @@
+@@ -1009,7 +1007,7 @@ They will also have retained any customizations you had previously applied,
except for the 'i' (idle tasks) and 'n' (max tasks) commands.
.TP 7
@@ -399,7 +385,7 @@ diff -urNad procps-3.2.7~/top.1 procps-3.2.7/top.1
This command will switch between \*(FM and \*(AM.
The first time you issue this command, all four \*(TDs will be shown.
-@@ -1017,7 +1015,7 @@
+@@ -1017,7 +1015,7 @@ Thereafter when you switch modes, you will see only the \*(TD(s) you've
chosen to make visible.
.TP 7
@@ -408,7 +394,7 @@ diff -urNad procps-3.2.7~/top.1 procps-3.2.7/top.1
This will change the \*(CW, which in turn changes the window to which
commands are directed.
These keys act in a circular fashion so you can reach any desired \*(CW
-@@ -1028,7 +1026,7 @@
+@@ -1028,7 +1026,7 @@ whenever the \*(CW name loses its emphasis/color, that's a reminder
the \*(TD is \*F and many commands will be restricted.
.TP 7
@@ -417,7 +403,7 @@ diff -urNad procps-3.2.7~/top.1 procps-3.2.7/top.1
You will be prompted to enter a number between 1 and 4 designating the
window/field group which should be made the \*(CW.
-@@ -1037,15 +1035,15 @@
+@@ -1037,15 +1035,15 @@ In \*(AM, it is simply a less convenient alternative to the 'a' and 'w'
commands.
.TP 7
@@ -436,3 +422,6 @@ diff -urNad procps-3.2.7~/top.1 procps-3.2.7/top.1
.\" ----------------------------------------------------------------------
+--
+1.7.0
+
diff --git a/patches/procps-3.2.8/20_top_c_resize.dpatch b/patches/procps-3.2.8/0025-top_c_resize.patch
index 4cc9c6c51..38a58df16 100644
--- a/patches/procps-3.2.8/20_top_c_resize.dpatch
+++ b/patches/procps-3.2.8/0025-top_c_resize.patch
@@ -1,13 +1,19 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 20top_resize_terminal.dpatch by <hesso@pool.math.tu-berlin.de>
-##
-## DP: Prevent top from segfaulting when the display is shrinked to only
-## DP: a few (read: 3 or less) lines.
+From 6a2fce1a2b052f033f8f8c36c76aa4530b2887b1 Mon Sep 17 00:00:00 2001
+From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
+Date: Fri, 19 Mar 2010 21:58:46 +0100
+Subject: [PATCH 25/70] top_c_resize
-@DPATCH@
---- procps-3.2.7.orig/top.c 2006-06-25 08:41:48.000000000 +0200
-+++ procps-3.2.7/top.c 2007-08-06 03:27:28.000000000 +0200
-@@ -140,7 +140,7 @@
+a few (read: 3 or less) lines.
+---
+ top.c | 9 ++++++---
+ top.h | 13 +++++++++++--
+ 2 files changed, 17 insertions(+), 5 deletions(-)
+
+diff --git a/top.c b/top.c
+index 53cab05..6cc1a93 100644
+--- a/top.c
++++ b/top.c
+@@ -140,7 +140,7 @@ static int Cap_can_goto = 0;
are exploited in a macro and represent 90% of our optimization.
The Stdout_buf is transparent to our code and regardless of whose
buffer is used, stdout is flushed at frame end or if interactive. */
@@ -16,7 +22,7 @@
static int Pseudo_row, Pseudo_cols, Pseudo_size;
#ifndef STDOUT_IOLBF
// less than stdout's normal buffer but with luck mostly '\n' anyway
-@@ -2415,7 +2415,10 @@
+@@ -2431,7 +2431,10 @@ static void wins_resize (void)
Pseudo_cols = Screen_cols + CLRBUFSIZ + 1;
if (Batch) Pseudo_size = ROWBUFSIZ + 1;
else Pseudo_size = Pseudo_cols * Screen_rows;
@@ -28,7 +34,7 @@
// force rebuild of column headers AND libproc/readproc requirements
Frames_libflags = 0;
-@@ -3289,7 +3292,7 @@
+@@ -3315,7 +3318,7 @@ static void frame_make (void)
// reframewins(), who also builds each window's column headers
if (!Frames_libflags) {
reframewins();
@@ -37,9 +43,11 @@
}
Pseudo_row = Msg_row = scrlins = 0;
ppt = summary_show();
---- procps-3.2.7.orig/top.h 2006-06-25 08:41:48.000000000 +0200
-+++ procps-3.2.7/top.h 2007-08-06 03:27:28.000000000 +0200
-@@ -135,7 +135,7 @@
+diff --git a/top.h b/top.h
+index b4ac079..8cf8538 100644
+--- a/top.h
++++ b/top.h
+@@ -135,7 +135,7 @@ do { \
int _len = 1 + snprintf(_str, sizeof(_str), fmt, ## arg); \
putp ( Batch ? _str : \
({ \
@@ -48,7 +56,7 @@
memcmp(_pse, _str, _len) ? memcpy(_pse, _str, _len) : "\n"; \
}) \
); \
-@@ -149,7 +149,11 @@
+@@ -149,7 +149,11 @@ do { \
int _len = 1 + snprintf(_str, sizeof(_str), fmt, ## arg); \
if (Batch) _ptr = _str; \
else { \
@@ -61,7 +69,7 @@
if (memcmp(_ptr, _str, _len)) { \
memcpy(_ptr, _str, _len); \
} else { \
-@@ -237,6 +241,11 @@
+@@ -237,6 +241,11 @@ typedef struct RCF_t { // the complete rcfile (new style)
RCW_t win [4]; // a 'WIN_t.rc' for each of the 4 windows
} RCF_t;
@@ -73,3 +81,6 @@
// The scaling 'type' used with scale_num() -- this is how
// the passed number is interpreted should scaling be necessary
enum scale_num {
+--
+1.7.0
+
diff --git a/patches/procps-3.2.8/20_w-bassman.dpatch b/patches/procps-3.2.8/0026-w-bassman.patch
index cc68ab72a..f82be150e 100644
--- a/patches/procps-3.2.8/20_w-bassman.dpatch
+++ b/patches/procps-3.2.8/0026-w-bassman.patch
@@ -1,14 +1,18 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 20_w-bassman.dpatch by <csmall@debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: w-bassman emulation with -o flag
-## DP: Was from #45947, corrected for #414906
+From 651c5b2622859ce190a6bee53dc6abfd491fa380 Mon Sep 17 00:00:00 2001
+From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
+Date: Fri, 19 Mar 2010 21:58:46 +0100
+Subject: [PATCH 26/70] w-bassman
-@DPATCH@
-diff -urNad procps-3.2.7~/w.1 procps-3.2.7/w.1
---- procps-3.2.7~/w.1 2009-01-09 16:24:17.000000000 +1100
-+++ procps-3.2.7/w.1 2009-01-09 16:24:55.000000000 +1100
+===================================================================
+---
+ w.1 | 5 ++++-
+ w.c | 16 +++++++++++++++-
+ 2 files changed, 19 insertions(+), 2 deletions(-)
+
+diff --git a/w.1 b/w.1
+index d57a9b5..84786e6 100644
+--- a/w.1
++++ b/w.1
@@ -5,7 +5,7 @@
w \- Show who is logged on and what they are doing.
.SH SYNOPSIS
@@ -18,7 +22,7 @@ diff -urNad procps-3.2.7~/w.1 procps-3.2.7/w.1
.RI [ user ]
.SH DESCRIPTION
.B "w "
-@@ -55,6 +55,9 @@
+@@ -55,6 +55,9 @@ field is shown by default.
.B "\-V "
Display version information.
.TP 0.5i
@@ -28,9 +32,10 @@ diff -urNad procps-3.2.7~/w.1 procps-3.2.7/w.1
.B "user "
Show information about the specified user only.
-diff -urNad procps-3.2.7~/w.c procps-3.2.7/w.c
---- procps-3.2.7~/w.c 2009-01-09 16:24:54.000000000 +1100
-+++ procps-3.2.7/w.c 2009-01-09 16:25:39.000000000 +1100
+diff --git a/w.c b/w.c
+index a6b1b25..91fe8b1 100644
+--- a/w.c
++++ b/w.c
@@ -30,6 +30,7 @@
#include <termios.h>
@@ -39,7 +44,7 @@ diff -urNad procps-3.2.7~/w.c procps-3.2.7/w.c
static proc_t **procs; /* our snapshot of the process table */
typedef struct utmp utmp_t;
-@@ -76,6 +77,16 @@
+@@ -76,6 +77,16 @@ static void print_time_ival7(time_t t, int centi_sec, FILE* fout) {
printf(" ? ");
return;
}
@@ -56,7 +61,7 @@ diff -urNad procps-3.2.7~/w.c procps-3.2.7/w.c
if (t >= 48*60*60) /* > 2 days */
fprintf(fout, " %2ludays", t/(24*60*60));
else if (t >= 60*60) /* > 1 hour */
-@@ -84,6 +95,7 @@
+@@ -84,6 +95,7 @@ static void print_time_ival7(time_t t, int centi_sec, FILE* fout) {
fprintf(fout, " %2lu:%02u ", t/60, (unsigned) t%60);
else
fprintf(fout, " %2lu.%02us", t, centi_sec);
@@ -64,7 +69,7 @@ diff -urNad procps-3.2.7~/w.c procps-3.2.7/w.c
}
/**** stat the device file to get an idle time */
-@@ -239,7 +251,7 @@
+@@ -239,7 +251,7 @@ int main(int argc, char **argv) {
#endif
setlocale(LC_ALL, "");
@@ -73,7 +78,7 @@ diff -urNad procps-3.2.7~/w.c procps-3.2.7/w.c
switch (ch) {
case 'h': header = 0; break;
case 'l': longform = 1; break;
-@@ -247,6 +259,7 @@
+@@ -247,6 +259,7 @@ int main(int argc, char **argv) {
case 'f': from = !from; break;
case 'V': display_version(); exit(0);
case 'u': ignoreuser = 1; break;
@@ -81,7 +86,7 @@ diff -urNad procps-3.2.7~/w.c procps-3.2.7/w.c
default:
printf("usage: w -hlsufV [user]\n"
" -h skip header\n"
-@@ -254,6 +267,7 @@
+@@ -254,6 +267,7 @@ int main(int argc, char **argv) {
" -s short listing\n"
" -u ignore uid of processes\n"
" -f toggle FROM field (default %s)\n"
@@ -89,3 +94,6 @@ diff -urNad procps-3.2.7~/w.c procps-3.2.7/w.c
" -V display version\n", FROM_STRING);
exit(1);
}
+--
+1.7.0
+
diff --git a/patches/procps-3.2.8/30_top.1_cpustate.dpatch b/patches/procps-3.2.8/0027-top.1_cpustates.patch
index 24f603ac8..ce3374e20 100644
--- a/patches/procps-3.2.8/30_top.1_cpustate.dpatch
+++ b/patches/procps-3.2.8/0027-top.1_cpustates.patch
@@ -1,21 +1,25 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 30_top.1_cpustate.dpatch by <csmall@localhost.localdomain>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: top CPU state descriptions
+From e7c71a7a9f743f102e01f2e1104ab0e5417f8f34 Mon Sep 17 00:00:00 2001
+From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
+Date: Fri, 19 Mar 2010 21:58:46 +0100
+Subject: [PATCH 27/70] top.1_cpustates
-@DPATCH@
-diff -urNad procps-3.2.7~/top.1 procps-3.2.7/top.1
---- procps-3.2.7~/top.1 2007-10-04 22:35:09.000000000 +1000
-+++ procps-3.2.7/top.1 2007-10-04 22:36:45.000000000 +1000
-@@ -539,6 +539,42 @@
+===================================================================
+---
+ top.1 | 36 ++++++++++++++++++++++++++++++++++++
+ 1 files changed, 36 insertions(+), 0 deletions(-)
+
+diff --git a/top.1 b/top.1
+index b0cec2d..0ce1c62 100644
+--- a/top.1
++++ b/top.1
+@@ -537,6 +537,42 @@ You\fI move\fR a field to the\fB left\fR by pressing the corresponding\fB
upper case\fR letter and to the\fB right\fR with the\fB lower case\fR
letter.
+.\" ......................................................................
+.SS 2c. CPU States
+.\" ----------------------------------------------------------------------
-+The CPU states are shown in the Summary Area. They are always shown as a
++The CPU states are shown in the Summary Area. They are always shown as a
+percentage and are for the time between now and the last refresh.
+
+.TP 3
@@ -51,3 +55,6 @@ diff -urNad procps-3.2.7~/top.1 procps-3.2.7/top.1
.\" ----------------------------------------------------------------------
.SH 3. INTERACTIVE Commands
+--
+1.7.0
+
diff --git a/patches/procps-3.2.8/0028-watch_8bitchar.patch b/patches/procps-3.2.8/0028-watch_8bitchar.patch
new file mode 100644
index 000000000..2b3c47356
--- /dev/null
+++ b/patches/procps-3.2.8/0028-watch_8bitchar.patch
@@ -0,0 +1,26 @@
+From a91e6470c2f1f6bbe481988fbf2a6af6bb87fd6c Mon Sep 17 00:00:00 2001
+From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
+Date: Fri, 19 Mar 2010 21:58:46 +0100
+Subject: [PATCH 28/70] watch_8bitchar
+
+===================================================================
+---
+ watch.c | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/watch.c b/watch.c
+index 5841168..eb5ce92 100644
+--- a/watch.c
++++ b/watch.c
+@@ -297,7 +297,7 @@ main(int argc, char *argv[])
+ move(y, x);
+ if (option_differences) {
+ chtype oldch = inch();
+- char oldc = oldch & A_CHARTEXT;
++ unsigned char oldc = oldch & A_CHARTEXT;
+ attr = !first_screen
+ && ((char)c != oldc
+ ||
+--
+1.7.0
+
diff --git a/patches/procps-3.2.8/0029-library_map_freeproc.patch b/patches/procps-3.2.8/0029-library_map_freeproc.patch
new file mode 100644
index 000000000..a949d44b5
--- /dev/null
+++ b/patches/procps-3.2.8/0029-library_map_freeproc.patch
@@ -0,0 +1,26 @@
+From 9dc737cb6dfc072605c3c4e0afb02fa85d2b0b14 Mon Sep 17 00:00:00 2001
+From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
+Date: Fri, 19 Mar 2010 21:58:46 +0100
+Subject: [PATCH 29/70] library_map_freeproc
+
+===================================================================
+---
+ proc/library.map | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/proc/library.map b/proc/library.map
+index a38627b..154061b 100644
+--- a/proc/library.map
++++ b/proc/library.map
+@@ -7,7 +7,7 @@ global:
+
+ readproc; readtask; readproctab; readproctab2; look_up_our_self; escape_command;
+ escape_str; escape_strlist;
+- openproc; closeproc;
++ openproc; closeproc; freeproc;
+ tty_to_dev; dev_to_tty; open_psdb_message; open_psdb; lookup_wchan;
+ display_version; procps_version; linux_version_code;
+ Hertz; smp_num_cpus; have_privs;
+--
+1.7.0
+
diff --git a/patches/procps-3.2.8/0030-pgrep_start_time.patch b/patches/procps-3.2.8/0030-pgrep_start_time.patch
new file mode 100644
index 000000000..d97c0768e
--- /dev/null
+++ b/patches/procps-3.2.8/0030-pgrep_start_time.patch
@@ -0,0 +1,27 @@
+From 5206f75b80699216ad3677f500a93e3d2323b623 Mon Sep 17 00:00:00 2001
+From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
+Date: Fri, 19 Mar 2010 21:58:46 +0100
+Subject: [PATCH 30/70] pgrep_start_time
+
+===================================================================
+---
+ pgrep.c | 3 ++-
+ 1 files changed, 2 insertions(+), 1 deletions(-)
+
+diff --git a/pgrep.c b/pgrep.c
+index bbb7cd1..609cabd 100644
+--- a/pgrep.c
++++ b/pgrep.c
+@@ -430,7 +430,8 @@ static union el * select_procs (int *num)
+ preg = do_regcomp();
+
+ if (opt_newest) saved_start_time = 0ULL;
+- if (opt_oldest) saved_start_time = ~0ULL;
++ else
++ saved_start_time = ~0ULL;
+ if (opt_newest) saved_pid = 0;
+ if (opt_oldest) saved_pid = INT_MAX;
+
+--
+1.7.0
+
diff --git a/patches/procps-3.2.8/0031-readproc_c.patch b/patches/procps-3.2.8/0031-readproc_c.patch
new file mode 100644
index 000000000..89c945516
--- /dev/null
+++ b/patches/procps-3.2.8/0031-readproc_c.patch
@@ -0,0 +1,35 @@
+From 49aba46c22ec4af297566165dda611fe6c3c792b Mon Sep 17 00:00:00 2001
+From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
+Date: Fri, 19 Mar 2010 21:58:46 +0100
+Subject: [PATCH 31/70] readproc_c
+
+return if unable to open /proc
+---
+ proc/readproc.c | 4 +++-
+ 1 files changed, 3 insertions(+), 1 deletions(-)
+
+diff --git a/proc/readproc.c b/proc/readproc.c
+index 4fad11d..0386a63 100644
+--- a/proc/readproc.c
++++ b/proc/readproc.c
+@@ -173,7 +173,7 @@ ENTER(0x220);
+ // examine a field name (hash and compare)
+ base:
+ if(unlikely(!*S)) break;
+- entry = table[63 & (asso[S[3]] + asso[S[2]] + asso[S[0]])];
++ entry = table[63 & (asso[(int)S[3]] + asso[(int)S[2]] + asso[(int)S[0]])];
+ colon = strchr(S, ':');
+ if(unlikely(!colon)) break;
+ if(unlikely(colon[1]!='\t')) break;
+@@ -942,6 +942,8 @@ proc_t** readproctab(int flags, ...) {
+ else
+ PT = openproc(flags);
+ va_end(ap);
++ if (!PT)
++ return 0;
+ do { /* read table: */
+ tab = xrealloc(tab, (n+1)*sizeof(proc_t*));/* realloc as we go, using */
+ tab[n] = readproc_direct(PT, NULL); /* final null to terminate */
+--
+1.7.0
+
diff --git a/patches/procps-3.2.8/30_sysinfo_7numbers.dpatch b/patches/procps-3.2.8/0032-sysinfo_7_numbers.patch
index b3c95fb16..9d7da0e28 100644
--- a/patches/procps-3.2.8/30_sysinfo_7numbers.dpatch
+++ b/patches/procps-3.2.8/0032-sysinfo_7_numbers.patch
@@ -1,14 +1,18 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 30_sysctl_7numbers.dpatch by <csmall@debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Adds up 7 cpu numbers not 4; #460331
+From 6f469982d7c74ca22b7345f5bc8b956f583a9783 Mon Sep 17 00:00:00 2001
+From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
+Date: Fri, 19 Mar 2010 21:58:46 +0100
+Subject: [PATCH 32/70] sysinfo_7_numbers
-@DPATCH@
-diff -urNad procps-3.2.7~/proc/sysinfo.c procps-3.2.7/proc/sysinfo.c
---- procps-3.2.7~/proc/sysinfo.c 2008-08-10 10:13:50.000000000 +1000
-+++ procps-3.2.7/proc/sysinfo.c 2008-08-10 10:13:50.000000000 +1000
-@@ -122,24 +122,25 @@
+===================================================================
+---
+ proc/sysinfo.c | 7 ++++---
+ 1 files changed, 4 insertions(+), 3 deletions(-)
+
+diff --git a/proc/sysinfo.c b/proc/sysinfo.c
+index 473634f..8dbabdf 100644
+--- a/proc/sysinfo.c
++++ b/proc/sysinfo.c
+@@ -124,24 +124,25 @@ int uptime(double *restrict uptime_secs, double *restrict idle_secs) {
unsigned long long Hertz;
static void old_Hertz_hack(void){
@@ -37,3 +41,6 @@ diff -urNad procps-3.2.7~/proc/sysinfo.c procps-3.2.7/proc/sysinfo.c
seconds = (up_1 + up_2) / 2;
h = (unsigned)( (double)jiffies/seconds/smp_num_cpus );
/* actual values used by 2.4 kernels: 32 64 100 128 1000 1024 1200 */
+--
+1.7.0
+
diff --git a/patches/procps-3.2.8/0033-tload_no_optargs.patch b/patches/procps-3.2.8/0033-tload_no_optargs.patch
new file mode 100644
index 000000000..4f8283df0
--- /dev/null
+++ b/patches/procps-3.2.8/0033-tload_no_optargs.patch
@@ -0,0 +1,27 @@
+From baaed0489bc1273633e918e085ff28b85e41a3c6 Mon Sep 17 00:00:00 2001
+From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
+Date: Fri, 19 Mar 2010 21:58:46 +0100
+Subject: [PATCH 33/70] tload_no_optargs
+
+===================================================================
+---
+ tload.c | 3 ---
+ 1 files changed, 0 insertions(+), 3 deletions(-)
+
+diff --git a/tload.c b/tload.c
+index 1d346bb..cece48c 100644
+--- a/tload.c
++++ b/tload.c
+@@ -30,9 +30,6 @@ static int fd=1;
+ static int dly=5;
+ static jmp_buf jb;
+
+-extern int optind;
+-extern char *optarg;
+-
+ static void alrm(int signo)
+ {
+ (void)signo;
+--
+1.7.0
+
diff --git a/patches/procps-3.2.8/30_w.1.dpatch b/patches/procps-3.2.8/0034-w.1.patch
index f92b89ea4..6d9aa0330 100644
--- a/patches/procps-3.2.8/30_w.1.dpatch
+++ b/patches/procps-3.2.8/0034-w.1.patch
@@ -1,14 +1,18 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 30_w.1.dpatch by <csmall@debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Cleaned up the w man page
-## DP: Make note of the time formats #414906
+From ee43ea4717fd1629956fa6b7968f134ef1fdf236 Mon Sep 17 00:00:00 2001
+From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
+Date: Fri, 19 Mar 2010 21:58:46 +0100
+Subject: [PATCH 34/70] w.1
-@DPATCH@
-diff -urNad procps-3.2.7~/w.1 procps-3.2.7/w.1
---- procps-3.2.7~/w.1 2009-01-09 16:26:36.000000000 +1100
-+++ procps-3.2.7/w.1 2009-01-09 16:33:16.000000000 +1100
+Make note of the time formats
+Bug-Debian: http://bugs.debian.org/414906
+---
+ w.1 | 27 ++++++++++++++++++++-------
+ 1 files changed, 20 insertions(+), 7 deletions(-)
+
+diff --git a/w.1 b/w.1
+index 84786e6..a13cc81 100644
+--- a/w.1
++++ b/w.1
@@ -4,26 +4,26 @@
.SH NAME
w \- Show who is logged on and what they are doing.
@@ -42,7 +46,7 @@ diff -urNad procps-3.2.7~/w.1 procps-3.2.7/w.1
The PCPU time is the time used by the current process, named in the "what"
field.
-@@ -35,7 +35,7 @@
+@@ -35,7 +35,7 @@ Don't print the header.
.TP 0.5i
.B "\-u "
Ignores the username while figuring out the current process and cpu
@@ -51,17 +55,17 @@ diff -urNad procps-3.2.7~/w.1 procps-3.2.7/w.1
.TP 0.5i
.B "\-s "
Use the short format.
-@@ -70,6 +70,19 @@
+@@ -70,6 +70,19 @@ information about who is currently logged on
process information
.PP
+.SH NOTES
+The output for Idle, JCPU and PCPU times vaires depending on if you use
-+the \-o (old style) option or not. These formats can be confusing if you
++the \-o (old style) option or not. These formats can be confusing if you
+switch between the old style and standard. In the following paragraphs
+days are DD, hours HH, minutes MM, seconds SS and 100ths of seconds CC.
+
-+The standard format is DDdays, HH:MMm, MM:SS or SS.CC if the times are
++The standard format is DDdays, HH:MMm, MM:SS or SS.CC if the times are
+greater than 2 days, 1hour, or 1 minute respectively.
+
+For the \-o option, the output will be either DDdays, HH:MM, MM:SSm or
@@ -71,3 +75,6 @@ diff -urNad procps-3.2.7~/w.1 procps-3.2.7/w.1
.SH "SEE ALSO"
.BR free (1),
.BR ps (1),
+--
+1.7.0
+
diff --git a/patches/procps-3.2.8/0035-w_columns.patch b/patches/procps-3.2.8/0035-w_columns.patch
new file mode 100644
index 000000000..1ad19bdcb
--- /dev/null
+++ b/patches/procps-3.2.8/0035-w_columns.patch
@@ -0,0 +1,41 @@
+From 6b8ebd31ac38cd8465f9d9a4c5a335b1d76e04bf Mon Sep 17 00:00:00 2001
+From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
+Date: Fri, 19 Mar 2010 21:58:46 +0100
+Subject: [PATCH 35/70] w_columns
+
+===================================================================
+---
+ w.c | 8 ++++++--
+ 1 files changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/w.c b/w.c
+index 91fe8b1..2077338 100644
+--- a/w.c
++++ b/w.c
+@@ -241,10 +241,10 @@ static void showinfo(utmp_t *u, int formtype, int maxcmd, int from) {
+
+ /***** main */
+ int main(int argc, char **argv) {
+- char *user = NULL;
++ char *user = NULL, *p;
+ utmp_t *u;
+ struct winsize win;
+- int header=1, longform=1, from=1, args, maxcmd=80, ch;
++ int header=1, longform=1, from=1, args, maxcmd, ch;
+
+ #ifndef W_SHOWFROM
+ from = 0;
+@@ -277,6 +277,10 @@ int main(int argc, char **argv) {
+
+ if (ioctl(1, TIOCGWINSZ, &win) != -1 && win.ws_col > 0)
+ maxcmd = win.ws_col;
++ else if (p = getenv("COLUMNS"))
++ maxcmd = atoi(p);
++ else
++ maxcmd = 80;
+ if (maxcmd < 71) {
+ fprintf(stderr, "%d column window is too narrow\n", maxcmd);
+ exit(1);
+--
+1.7.0
+
diff --git a/patches/procps-3.2.8/30_watch_exec_beep.dpatch b/patches/procps-3.2.8/0036-watch_exec_beep.patch
index 481445a99..8099e4ae9 100644
--- a/patches/procps-3.2.8/30_watch_exec_beep.dpatch
+++ b/patches/procps-3.2.8/0036-watch_exec_beep.patch
@@ -1,15 +1,23 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 30_watch_exec_beep.dpatch by <csmall@debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Adds -exec and -beep flags and has better quoting #410967
-## DP: Adds -errexit flag now too #183346
+From 42dd0d6fabd0e3bb134afaddc07a1c02905ecc36 Mon Sep 17 00:00:00 2001
+From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
+Date: Fri, 19 Mar 2010 21:58:46 +0100
+Subject: [PATCH 36/70] watch_exec_beep
-@DPATCH@
-diff -urNad procps-3.2.8~/watch.1 procps-3.2.8/watch.1
---- procps-3.2.8~/watch.1 2009-05-28 17:27:41.000000000 +1000
-+++ procps-3.2.8/watch.1 2009-05-28 17:28:28.000000000 +1000
-@@ -4,10 +4,13 @@
+Adds -errexit flag now too #183346
+Author: Mordechai T. Abzug <morty@frakir.org>
+Bug-Debian: http://bugs.debian.org/410967
+Bug-Debian: http://bugs.debian.org/183346
+Reviewed-by: Craig Small <csmall@debian.org>
+---
+ watch.1 | 33 +++++++++++++++++++---
+ watch.c | 93 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---
+ 2 files changed, 116 insertions(+), 10 deletions(-)
+
+diff --git a/watch.1 b/watch.1
+index 1616794..802ab84 100644
+--- a/watch.1
++++ b/watch.1
+@@ -4,10 +4,13 @@ watch \- execute a program periodically, showing output fullscreen
.SH SYNOPSIS
.na
.B watch
@@ -24,24 +32,24 @@ diff -urNad procps-3.2.8~/watch.1 procps-3.2.8/watch.1
.RB [ \-\-help ]
.RB [ \-\-interval=\fIseconds\fP]
.RB [ \-\-no\-title ]
-@@ -17,7 +20,8 @@
+@@ -17,7 +20,8 @@ watch \- execute a program periodically, showing output fullscreen
.B watch
runs
.I command
-repeatedly, displaying its output (the first screenfull). This allows you to
-+repeatedly, displaying its output and errors (the first screenfull). This
++repeatedly, displaying its output and errors (the first screenfull). This
+allows you to
watch the program output change over time. By default, the program is run
every 2 seconds; use
.B \-n
-@@ -37,15 +41,33 @@
+@@ -37,15 +41,33 @@ positions that have ever changed. The
or
.B \-\-no\-title
option turns off the header showing the interval, command, and current
-time at the top of the display, as well as the following blank line.
+time at the top of the display, as well as the following blank line. The
+.I \-b
-+or
++or
+.I \-\-beep
+option causes the command to beep if it has a non-zero exit.
.PP
@@ -53,7 +61,7 @@ diff -urNad procps-3.2.8~/watch.1 procps-3.2.8/watch.1
+.I \-e
+or
+.I \-\-errexit
-+options, which will cause
++options, which will cause
+.B watch
+to exit if the return value from the program is non-zero.
+
@@ -62,24 +70,25 @@ diff -urNad procps-3.2.8~/watch.1 procps-3.2.8/watch.1
.I command
is given to "sh \-c"
which means that you may need to use extra quoting to get the desired effect.
-+You can disable this with the
++You can disable this with the
+.I -x
-+or
++or
+.I --exec
+option, which passes the command to exec(2) instead.
.PP
Note that POSIX option processing is used (i.e., option processing stops at
the first non\-option argument). This means that flags after
-@@ -93,4 +115,5 @@
+@@ -93,4 +115,5 @@ The original
.B watch
was written by Tony Rems <rembo@unisoft.com> in 1991, with mods and
corrections by Francois Pinard. It was reworked and new features added by
-Mike Coleman <mkc@acm.org> in 1999.
-+Mike Coleman <mkc@acm.org> in 1999. The beep, exec, and error handling
++Mike Coleman <mkc@acm.org> in 1999. The beep, exec, and error handling
+features were added by Morty Abzug <morty@frakir.org> in 2008.
-diff -urNad procps-3.2.8~/watch.c procps-3.2.8/watch.c
---- procps-3.2.8~/watch.c 2009-05-28 17:27:41.000000000 +1000
-+++ procps-3.2.8/watch.c 2009-05-28 17:27:42.000000000 +1000
+diff --git a/watch.c b/watch.c
+index eb5ce92..acb152f 100644
+--- a/watch.c
++++ b/watch.c
@@ -8,6 +8,7 @@
* Mike Coleman <mkc@acm.org>.
*
@@ -88,7 +97,7 @@ diff -urNad procps-3.2.8~/watch.c procps-3.2.8/watch.c
*/
#define VERSION "0.2.0"
-@@ -35,13 +36,16 @@
+@@ -35,13 +36,16 @@ static struct option longopts[] = {
{"differences", optional_argument, 0, 'd'},
{"help", no_argument, 0, 'h'},
{"interval", required_argument, 0, 'n'},
@@ -106,7 +115,7 @@ diff -urNad procps-3.2.8~/watch.c procps-3.2.8/watch.c
static char *progname;
-@@ -140,28 +144,44 @@
+@@ -140,28 +144,44 @@ main(int argc, char *argv[])
int optc;
int option_differences = 0,
option_differences_cumulative = 0,
@@ -152,7 +161,7 @@ diff -urNad procps-3.2.8~/watch.c procps-3.2.8/watch.c
case 'n':
{
char *str;
-@@ -191,18 +211,23 @@
+@@ -191,18 +211,23 @@ main(int argc, char *argv[])
if (option_help) {
fprintf(stderr, usage, progname);
@@ -176,7 +185,7 @@ diff -urNad procps-3.2.8~/watch.c procps-3.2.8/watch.c
command = strdup(argv[optind++]);
command_length = strlen(command);
for (; optind < argc; optind++) {
-@@ -261,11 +286,57 @@
+@@ -261,11 +286,57 @@ main(int argc, char *argv[])
free(header);
}
@@ -236,7 +245,7 @@ diff -urNad procps-3.2.8~/watch.c procps-3.2.8/watch.c
for (y = show_title; y < height; y++) {
int eolseen = 0, tabpending = 0;
for (x = 0; x < width; x++) {
-@@ -313,7 +384,19 @@
+@@ -313,7 +384,19 @@ main(int argc, char *argv[])
oldeolseen = eolseen;
}
@@ -257,3 +266,6 @@ diff -urNad procps-3.2.8~/watch.c procps-3.2.8/watch.c
first_screen = 0;
refresh();
+--
+1.7.0
+
diff --git a/patches/procps-3.2.8/35_path_max.dpatch b/patches/procps-3.2.8/0037-path_max.patch
index 9ab50a012..986846c90 100644
--- a/patches/procps-3.2.8/35_path_max.dpatch
+++ b/patches/procps-3.2.8/0037-path_max.patch
@@ -1,14 +1,19 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 35_path_max.dpatch by Madhusudan.C.S <madhusudancs@gmail.com>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Uses alloc instead of fixed PATH_MAX value #496274
+From 3bf20a04ddbdf435e20a190dc45cabb5d02c7b68 Mon Sep 17 00:00:00 2001
+From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
+Date: Fri, 19 Mar 2010 21:58:46 +0100
+Subject: [PATCH 37/70] path_max
-@DPATCH@
-diff -urNad procps-3.2.7~/proc/readproc.c procps-3.2.7/proc/readproc.c
---- procps-3.2.7~/proc/readproc.c 2008-09-09 15:01:09.000000000 +1000
-+++ procps-3.2.7/proc/readproc.c 2008-09-09 15:01:36.000000000 +1000
-@@ -1034,7 +1034,7 @@
+===================================================================
+---
+ proc/readproc.c | 2 +-
+ pwdx.c | 20 ++++++++++++++++----
+ 2 files changed, 17 insertions(+), 5 deletions(-)
+
+diff --git a/proc/readproc.c b/proc/readproc.c
+index 0386a63..d3e85a3 100644
+--- a/proc/readproc.c
++++ b/proc/readproc.c
+@@ -1036,7 +1036,7 @@ proc_data_t *readproctab2(int(*want_proc)(proc_t *buf), int(*want_task)(proc_t *
* and filled out proc_t structure.
*/
proc_t * get_proc_stats(pid_t pid, proc_t *p) {
@@ -17,10 +22,11 @@ diff -urNad procps-3.2.7~/proc/readproc.c procps-3.2.7/proc/readproc.c
struct stat statbuf;
sprintf(path, "/proc/%d", pid);
-diff -urNad procps-3.2.7~/pwdx.c procps-3.2.7/pwdx.c
---- procps-3.2.7~/pwdx.c 2006-06-17 19:29:06.000000000 +1000
-+++ procps-3.2.7/pwdx.c 2009-03-11 19:56:58.466099226 +0100
-@@ -35,7 +35,6 @@
+diff --git a/pwdx.c b/pwdx.c
+index cb96a52..3e88f3c 100644
+--- a/pwdx.c
++++ b/pwdx.c
+@@ -35,7 +35,6 @@ static void version(void)
int main(int argc, char* argv[])
{
@@ -28,7 +34,7 @@ diff -urNad procps-3.2.7~/pwdx.c procps-3.2.7/pwdx.c
regex_t re;
int i;
-@@ -59,6 +58,7 @@
+@@ -59,6 +58,7 @@ int main(int argc, char* argv[])
for (i = 1; i < argc; i++) {
if (regexec(&re, argv[i], 0, NULL, 0) != 0) {
@@ -36,7 +42,7 @@ diff -urNad procps-3.2.7~/pwdx.c procps-3.2.7/pwdx.c
snprintf(buf, sizeof buf, "pwdx: invalid process id: %s\n", argv[i]);
die(buf);
}
-@@ -68,9 +68,13 @@
+@@ -68,9 +68,13 @@ int main(int argc, char* argv[])
regfree(&re);
@@ -51,7 +57,8 @@ diff -urNad procps-3.2.7~/pwdx.c procps-3.2.7/pwdx.c
// At this point, all arguments are in the form /proc/nnnn
// or nnnn, so a simple check based on the first char is
-@@ -83,13 +87,21 @@
+@@ -82,14 +86,22 @@ int main(int argc, char* argv[])
+
// buf contains /proc/nnnn/cwd symlink name on entry, the
// target of that symlink on return
- if ((len = readlink(buf, buf, PATH_MAX)) < 0) {
@@ -67,11 +74,14 @@ diff -urNad procps-3.2.7~/pwdx.c procps-3.2.7/pwdx.c
+ pathbuf[len] = 0;
+ s = pathbuf;
}
-
+
printf("%s: %s\n", argv[i], s);
}
-
+
+ free(pathbuf);
+
return 0;
}
+--
+1.7.0
+
diff --git a/patches/procps-3.2.8/0038-w_envlength.patch b/patches/procps-3.2.8/0038-w_envlength.patch
new file mode 100644
index 000000000..501e86a69
--- /dev/null
+++ b/patches/procps-3.2.8/0038-w_envlength.patch
@@ -0,0 +1,183 @@
+From fcc63581dff12b8d5603c0787091af1a1f1d7c89 Mon Sep 17 00:00:00 2001
+From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
+Date: Fri, 19 Mar 2010 21:58:46 +0100
+Subject: [PATCH 38/70] w_envlength
+
+===================================================================
+---
+ w.1 | 10 +++++++++-
+ w.c | 53 ++++++++++++++++++++++++++++++++++++-----------------
+ 2 files changed, 45 insertions(+), 18 deletions(-)
+
+diff --git a/w.1 b/w.1
+index a13cc81..d51e490 100644
+--- a/w.1
++++ b/w.1
+@@ -1,6 +1,6 @@
+ .\" -*-Nroff-*-
+ .\"
+-.TH W 1 "8 Dec 1993 " " " "Linux User's Manual"
++.TH W 1 "5 October 2009 " " " "Linux User's Manual"
+ .SH NAME
+ w \- Show who is logged on and what they are doing.
+ .SH SYNOPSIS
+@@ -61,6 +61,14 @@ Old style output. Prints blank space for idle times less than one minute.
+ .B "user "
+ Show information about the specified user only.
+
++.SH ENVIRONMENT
++.TP
++PROCPS_USERLEN
++Override the default width of the username column. Defaults to 8.
++.TP
++PROCPS_FROMLEN
++Override the default width of the from column. Defaults to 16.
++
+ .SH FILES
+ .TP
+ .I /var/run/utmp
+diff --git a/w.c b/w.c
+index 2077338..48a02be 100644
+--- a/w.c
++++ b/w.c
+@@ -44,20 +44,19 @@ typedef struct utmp utmp_t;
+ /* Uh... same thing as UT_NAMESIZE */
+ #define USERSZ (sizeof u->ut_user)
+
++/* Arbitary setting, not too big for the screen, max host size */
++#define HOSTSZ 40
++
+
+ /* This routine is careful since some programs leave utmp strings
+- * unprintable. Always outputs at least 16 chars padded with spaces
++ * unprintable. Always outputs at least fromlen chars padded with spaces
+ * on the right if necessary.
+ */
+-static void print_host(const char *restrict host, int len) {
++static void print_host(const char *restrict host, int len, const int fromlen) {
+ const char *last;
+ int width = 0;
+
+- /* FIXME: there should really be a way to configure this... */
+- /* for now, we'll just limit it to the 16 that the libc5 version
+- * of utmp uses.
+- */
+- if (len > 16) len = 16;
++ if (len > fromlen) len = fromlen;
+ last = host + len;
+ for ( ; host < last ; host++){
+ if (isprint(*host) && *host != ' ') {
+@@ -68,7 +67,8 @@ static void print_host(const char *restrict host, int len) {
+ }
+ }
+ // space-fill, and a '-' too if needed to ensure the column exists
+- if(width < 16) fputs("- "+width, stdout);
++ while(width++ < fromlen)
++ fputc(' ',stdout);
+ }
+
+ /***** compact 7 char format for time intervals (belongs in libproc?) */
+@@ -180,7 +180,7 @@ static const proc_t *getproc(const utmp_t *restrict const u, const char *restric
+
+
+ /***** showinfo */
+-static void showinfo(utmp_t *u, int formtype, int maxcmd, int from) {
++static void showinfo(utmp_t *u, int formtype, int maxcmd, int from, const int userlen, const int fromlen) {
+ unsigned long long jcpu;
+ int ut_pid_found;
+ unsigned i;
+@@ -205,9 +205,9 @@ static void showinfo(utmp_t *u, int formtype, int maxcmd, int from) {
+
+ strncpy(uname, u->ut_user, USERSZ); /* force NUL term for printf */
+ if (formtype) {
+- printf("%-9.8s%-9.8s", uname, u->ut_line);
++ printf("%-*.*s%-9.8s", userlen+1, userlen, uname, u->ut_line);
+ if (from)
+- print_host(u->ut_host, sizeof u->ut_host);
++ print_host(u->ut_host, sizeof u->ut_host, fromlen);
+ print_logintime(u->ut_time, stdout);
+ if (*u->ut_line == ':') /* idle unknown for xdm logins */
+ printf(" ?xdm? ");
+@@ -220,9 +220,9 @@ static void showinfo(utmp_t *u, int formtype, int maxcmd, int from) {
+ } else
+ printf(" ? ");
+ } else {
+- printf("%-9.8s%-9.8s", u->ut_user, u->ut_line);
++ printf("%-*.*s%-9.8s", userlen+1, userlen, u->ut_user, u->ut_line);
+ if (from)
+- print_host(u->ut_host, sizeof u->ut_host);
++ print_host(u->ut_host, sizeof u->ut_host, fromlen);
+ if (*u->ut_line == ':') /* idle unknown for xdm logins */
+ printf(" ?xdm? ");
+ else
+@@ -245,6 +245,9 @@ int main(int argc, char **argv) {
+ utmp_t *u;
+ struct winsize win;
+ int header=1, longform=1, from=1, args, maxcmd, ch;
++ int userlen = 8;
++ int fromlen = 16;
++ char *env_var;
+
+ #ifndef W_SHOWFROM
+ from = 0;
+@@ -275,6 +278,22 @@ int main(int argc, char **argv) {
+ if ((argv[optind]))
+ user = (argv[optind]);
+
++ /* Get user field length from environment */
++ if ( (env_var = getenv("PROCPS_USERLEN")) != NULL) {
++ userlen = atoi(env_var);
++ if (userlen < 8 || userlen > USERSZ) {
++ fprintf(stderr, "User length environment PROCPS_USERLEN must be between 8 and %d, ignoring.\n", USERSZ);
++ userlen=8;
++ }
++ }
++ /* Get from field length from environment */
++ if ( (env_var = getenv("PROCPS_FROMLEN")) != NULL) {
++ fromlen = atoi(env_var);
++ if (fromlen < 8 || fromlen > HOSTSZ) {
++ fprintf(stderr, "From length environment PROCPS_FROMLEN must be between 8 and %d, ignoring.\n", HOSTSZ);
++ fromlen=16;
++ }
++ }
+ if (ioctl(1, TIOCGWINSZ, &win) != -1 && win.ws_col > 0)
+ maxcmd = win.ws_col;
+ else if (p = getenv("COLUMNS"))
+@@ -285,7 +304,7 @@ int main(int argc, char **argv) {
+ fprintf(stderr, "%d column window is too narrow\n", maxcmd);
+ exit(1);
+ }
+- maxcmd -= 29 + (from ? 16 : 0) + (longform ? 20 : 0);
++ maxcmd -= 21 + userlen + (from ? fromlen : 0) + (longform ? 20 : 0);
+ if (maxcmd < 3)
+ fprintf(stderr, "warning: screen width %d suboptimal.\n", win.ws_col);
+
+@@ -293,7 +312,7 @@ int main(int argc, char **argv) {
+
+ if (header) { /* print uptime and headers */
+ print_uptime();
+- printf("USER TTY ");
++ printf("%-*s TTY ",userlen,"USER");
+ if (from)
+ printf("FROM ");
+ if (longform)
+@@ -309,14 +328,14 @@ int main(int argc, char **argv) {
+ u = getutent();
+ if (unlikely(!u)) break;
+ if (u->ut_type != USER_PROCESS) continue;
+- if (!strncmp(u->ut_user, user, USERSZ)) showinfo(u, longform, maxcmd, from);
++ if (!strncmp(u->ut_user, user, USERSZ)) showinfo(u, longform, maxcmd, from, userlen, fromlen);
+ }
+ } else {
+ for (;;) {
+ u = getutent();
+ if (unlikely(!u)) break;
+ if (u->ut_type != USER_PROCESS) continue;
+- if (*u->ut_user) showinfo(u, longform, maxcmd, from);
++ if (*u->ut_user) showinfo(u, longform, maxcmd, from, userlen, fromlen);
+ }
+ }
+ endutent();
+--
+1.7.0
+
diff --git a/patches/procps-3.2.8/40_gnu-kbsd-version.dpatch b/patches/procps-3.2.8/0039-gnu-kbsd-version.patch
index 79c3ff991..01f0417c8 100644
--- a/patches/procps-3.2.8/40_gnu-kbsd-version.dpatch
+++ b/patches/procps-3.2.8/0039-gnu-kbsd-version.patch
@@ -1,14 +1,18 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 40_gnu-kbsd-version.dpatch by <csmall@debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Rework version parsing so its ok with other OSes
+From 9f1caa3ae8d638b24356f4d4e12b3c88aa2451a9 Mon Sep 17 00:00:00 2001
+From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
+Date: Fri, 19 Mar 2010 21:58:46 +0100
+Subject: [PATCH 39/70] gnu-kbsd-version
-@DPATCH@
-diff -urNad procps-3.2.7~/proc/version.c procps-3.2.7/proc/version.c
---- procps-3.2.7~/proc/version.c 2006-06-27 08:55:32.000000000 +1000
-+++ procps-3.2.7/proc/version.c 2006-06-27 09:02:25.000000000 +1000
-@@ -35,15 +35,23 @@
+===================================================================
+---
+ proc/version.c | 20 ++++++++++++++------
+ 1 files changed, 14 insertions(+), 6 deletions(-)
+
+diff --git a/proc/version.c b/proc/version.c
+index 69bae4f..96ffb7f 100644
+--- a/proc/version.c
++++ b/proc/version.c
+@@ -35,15 +35,23 @@ int linux_version_code;
static void init_Linux_version(void) __attribute__((constructor));
static void init_Linux_version(void) {
@@ -38,3 +42,6 @@ diff -urNad procps-3.2.7~/proc/version.c procps-3.2.7/proc/version.c
+ x, y, z, LINUX_VERSION(x,y,z));
linux_version_code = LINUX_VERSION(x, y, z);
}
+--
+1.7.0
+
diff --git a/patches/procps-3.2.8/40_pgrep_coption.dpatch b/patches/procps-3.2.8/0040-pgrep_c_option.patch
index 2a3be153a..76f2bb601 100644
--- a/patches/procps-3.2.8/40_pgrep_coption.dpatch
+++ b/patches/procps-3.2.8/0040-pgrep_c_option.patch
@@ -1,13 +1,18 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 40_pgrep-coption.dpatch by <csmall@localhost.localdomain>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: c option for pgrep for counting number of matched proceesses
+From 1eddc716164481ece7fd1c00850e9891b4d55269 Mon Sep 17 00:00:00 2001
+From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
+Date: Fri, 19 Mar 2010 21:58:46 +0100
+Subject: [PATCH 40/70] pgrep_c_option
-@DPATCH@
-diff -urNad procps-3.2.8~/pgrep.1 procps-3.2.8/pgrep.1
---- procps-3.2.8~/pgrep.1 2009-05-11 22:23:42.000000000 +1000
-+++ procps-3.2.8/pgrep.1 2009-05-11 22:24:14.000000000 +1000
+===================================================================
+---
+ pgrep.1 | 5 ++++-
+ pgrep.c | 20 ++++++++++++++------
+ 2 files changed, 18 insertions(+), 7 deletions(-)
+
+diff --git a/pgrep.1 b/pgrep.1
+index ae2edc2..9152799 100644
+--- a/pgrep.1
++++ b/pgrep.1
@@ -7,7 +7,7 @@
pgrep, pkill \- look up or signal processes based on name and other attributes
@@ -17,7 +22,7 @@ diff -urNad procps-3.2.8~/pgrep.1 procps-3.2.8/pgrep.1
.br
[\-s \fIsid\fP,...] [\-u \fIeuid\fP,...] [\-U \fIuid\fP,...] [\-G \fIgid\fP,...]
.br
-@@ -38,6 +38,9 @@
+@@ -38,6 +38,9 @@ to each process instead of listing them on stdout.
.SH OPTIONS
.TP
@@ -27,10 +32,11 @@ diff -urNad procps-3.2.8~/pgrep.1 procps-3.2.8/pgrep.1
\-d \fIdelimiter\fP
Sets the string used to delimit each process ID in the output (by
default a newline). (\fBpgrep\fP only.)
-diff -urNad procps-3.2.8~/pgrep.c procps-3.2.8/pgrep.c
---- procps-3.2.8~/pgrep.c 2009-05-11 22:24:14.000000000 +1000
-+++ procps-3.2.8/pgrep.c 2009-05-11 22:25:40.000000000 +1000
-@@ -54,6 +54,7 @@
+diff --git a/pgrep.c b/pgrep.c
+index 609cabd..33cbed8 100644
+--- a/pgrep.c
++++ b/pgrep.c
+@@ -54,6 +54,7 @@ static int opt_oldest = 0;
static int opt_newest = 0;
static int opt_negate = 0;
static int opt_exact = 0;
@@ -38,7 +44,7 @@ diff -urNad procps-3.2.8~/pgrep.c procps-3.2.8/pgrep.c
static int opt_signal = SIGTERM;
static int opt_lock = 0;
static int opt_case = 0;
-@@ -79,7 +80,7 @@
+@@ -79,7 +80,7 @@ static int usage (int opt)
if (i_am_pkill)
fprintf (fp, "Usage: pkill [-SIGNAL] [-fvx] ");
else
@@ -47,7 +53,7 @@ diff -urNad procps-3.2.8~/pgrep.c procps-3.2.8/pgrep.c
fprintf (fp, "[-n|-o] [-P PPIDLIST] [-g PGRPLIST] [-s SIDLIST]\n"
"\t[-u EUIDLIST] [-U UIDLIST] [-G GIDLIST] [-t TERMLIST] "
"[PATTERN]\n");
-@@ -565,7 +566,7 @@
+@@ -565,7 +566,7 @@ static void parse_opts (int argc, char **argv)
strcat (opts, "ld:");
}
@@ -56,7 +62,7 @@ diff -urNad procps-3.2.8~/pgrep.c procps-3.2.8/pgrep.c
while ((opt = getopt (argc, argv, opts)) != -1) {
switch (opt) {
-@@ -613,6 +614,9 @@
+@@ -613,6 +614,9 @@ static void parse_opts (int argc, char **argv)
exit(EXIT_SUCCESS);
// case 'c': // Solaris: match by contract ID
// break;
@@ -66,7 +72,7 @@ diff -urNad procps-3.2.8~/pgrep.c procps-3.2.8/pgrep.c
case 'd': // Solaris: change the delimiter
opt_delim = strdup (optarg);
break;
-@@ -724,10 +728,14 @@
+@@ -724,10 +728,14 @@ int main (int argc, char *argv[])
procs[i].num, strerror (errno));
}
} else {
@@ -85,3 +91,6 @@ diff -urNad procps-3.2.8~/pgrep.c procps-3.2.8/pgrep.c
}
return !num; // exit(EXIT_SUCCESS) if match, otherwise exit(EXIT_FAILURE)
}
+--
+1.7.0
+
diff --git a/patches/procps-3.2.8/40_ps_cgroup_display.dpatch b/patches/procps-3.2.8/0041-ps_cgroup_display.patch
index 93f4a8767..3e1a34677 100644
--- a/patches/procps-3.2.8/40_ps_cgroup_display.dpatch
+++ b/patches/procps-3.2.8/0041-ps_cgroup_display.patch
@@ -1,14 +1,21 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 40_ps_cgroup_display.dpatch by <csmall@debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: ps displays cgroup #469669
+From e4eb468ea41f912a0d76c194c06549449e21ea8c Mon Sep 17 00:00:00 2001
+From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
+Date: Fri, 19 Mar 2010 21:58:46 +0100
+Subject: [PATCH 41/70] ps_cgroup_display
-@DPATCH@
-diff -urNad procps-3.2.7~/proc/readproc.c procps-3.2.7/proc/readproc.c
---- procps-3.2.7~/proc/readproc.c 2009-01-07 18:20:19.000000000 +1100
-+++ procps-3.2.7/proc/readproc.c 2009-01-07 18:24:51.000000000 +1100
-@@ -598,6 +598,17 @@
+===================================================================
+---
+ proc/readproc.c | 15 ++++++++++++++-
+ proc/readproc.h | 3 +++
+ ps/display.c | 11 +++++++----
+ ps/output.c | 23 ++++++++++++++++++++++-
+ 4 files changed, 46 insertions(+), 6 deletions(-)
+
+diff --git a/proc/readproc.c b/proc/readproc.c
+index d3e85a3..19d99b2 100644
+--- a/proc/readproc.c
++++ b/proc/readproc.c
+@@ -598,6 +598,17 @@ static proc_t* simple_readproc(PROCTAB *restrict const PT, proc_t *restrict cons
p->environ = file2strvec(path, "environ");
else
p->environ = NULL;
@@ -26,7 +33,7 @@ diff -urNad procps-3.2.7~/proc/readproc.c procps-3.2.7/proc/readproc.c
return p;
next_proc:
-@@ -686,7 +697,7 @@
+@@ -686,7 +697,7 @@ static proc_t* simple_readtask(PROCTAB *restrict const PT, const proc_t *restric
t->cmdline = p->cmdline; // better not free these until done with all threads!
t->environ = p->environ;
#endif
@@ -35,7 +42,7 @@ diff -urNad procps-3.2.7~/proc/readproc.c procps-3.2.7/proc/readproc.c
t->ppid = p->ppid; // ought to put the per-task ppid somewhere
return t;
-@@ -896,6 +907,8 @@
+@@ -896,6 +907,8 @@ void freeproc(proc_t* p) {
free((void*)*p->cmdline);
if (p->environ)
free((void*)*p->environ);
@@ -44,10 +51,11 @@ diff -urNad procps-3.2.7~/proc/readproc.c procps-3.2.7/proc/readproc.c
free(p);
}
-diff -urNad procps-3.2.7~/proc/readproc.h procps-3.2.7/proc/readproc.h
---- procps-3.2.7~/proc/readproc.h 2006-06-16 18:01:21.000000000 +1000
-+++ procps-3.2.7/proc/readproc.h 2009-01-07 18:24:56.000000000 +1100
-@@ -139,6 +139,7 @@
+diff --git a/proc/readproc.h b/proc/readproc.h
+index a953b29..3a9aecf 100644
+--- a/proc/readproc.h
++++ b/proc/readproc.h
+@@ -139,6 +139,7 @@ typedef struct proc_t {
tpgid, // stat terminal process group id
exit_signal, // stat might not be SIGCHLD
processor; // stat current (or most recent?) CPU
@@ -55,7 +63,7 @@ diff -urNad procps-3.2.7~/proc/readproc.h procps-3.2.7/proc/readproc.h
} proc_t;
// PROCTAB: data structure holding the persistent information readproc needs
-@@ -239,6 +240,8 @@
+@@ -239,6 +240,8 @@ extern proc_t * get_proc_stats(pid_t pid, proc_t *p);
#define PROC_LOOSE_TASKS 0x0200 // threat threads as if they were processes
@@ -64,10 +72,11 @@ diff -urNad procps-3.2.7~/proc/readproc.h procps-3.2.7/proc/readproc.h
// Obsolete, consider only processes with one of the passed:
#define PROC_PID 0x1000 // process id numbers ( 0 terminated)
#define PROC_UID 0x4000 // user id numbers ( length needed )
-diff -urNad procps-3.2.7~/ps/display.c procps-3.2.7/ps/display.c
---- procps-3.2.7~/ps/display.c 2005-01-06 10:44:37.000000000 +1100
-+++ procps-3.2.7/ps/display.c 2009-01-07 18:24:32.000000000 +1100
-@@ -223,8 +223,7 @@
+diff --git a/ps/display.c b/ps/display.c
+index 4574b9c..3d6bbde 100644
+--- a/ps/display.c
++++ b/ps/display.c
+@@ -223,8 +223,7 @@ static unsigned task_format_needs;
#define needs_for_format (proc_format_needs|task_format_needs)
@@ -77,7 +86,7 @@ diff -urNad procps-3.2.7~/ps/display.c procps-3.2.7/ps/display.c
/***** munge lists and determine openproc() flags */
static void lists_and_needs(void){
check_headers();
-@@ -342,6 +341,7 @@
+@@ -342,6 +341,7 @@ static void simple_spew(void){
}
if(buf.cmdline) free((void*)*buf.cmdline); // ought to reuse
if(buf.environ) free((void*)*buf.environ); // ought to reuse
@@ -85,7 +94,7 @@ diff -urNad procps-3.2.7~/ps/display.c procps-3.2.7/ps/display.c
}
break;
case TF_show_proc|TF_loose_tasks: // H option
-@@ -354,6 +354,7 @@
+@@ -354,6 +354,7 @@ static void simple_spew(void){
}
if(buf.cmdline) free((void*)*buf.cmdline); // ought to reuse
if(buf.environ) free((void*)*buf.environ); // ought to reuse
@@ -93,7 +102,7 @@ diff -urNad procps-3.2.7~/ps/display.c procps-3.2.7/ps/display.c
}
break;
case TF_show_proc|TF_show_task: // m and -m options
-@@ -366,7 +367,8 @@
+@@ -366,7 +367,8 @@ static void simple_spew(void){
}
if(buf.cmdline) free((void*)*buf.cmdline); // ought to reuse
if(buf.environ) free((void*)*buf.environ); // ought to reuse
@@ -103,7 +112,7 @@ diff -urNad procps-3.2.7~/ps/display.c procps-3.2.7/ps/display.c
break;
case TF_show_task: // -L and -T options
while(readproc(ptp,&buf)){
-@@ -377,7 +379,8 @@
+@@ -377,7 +379,8 @@ static void simple_spew(void){
}
if(buf.cmdline) free((void*)*buf.cmdline); // ought to reuse
if(buf.environ) free((void*)*buf.environ); // ought to reuse
@@ -113,17 +122,18 @@ diff -urNad procps-3.2.7~/ps/display.c procps-3.2.7/ps/display.c
break;
}
closeproc(ptp);
-diff -urNad procps-3.2.7~/ps/output.c procps-3.2.7/ps/output.c
---- procps-3.2.7~/ps/output.c 2006-06-19 09:27:02.000000000 +1000
-+++ procps-3.2.7/ps/output.c 2009-01-07 18:24:43.000000000 +1100
-@@ -359,6 +359,26 @@
+diff --git a/ps/output.c b/ps/output.c
+index b4fb3df..a165ed5 100644
+--- a/ps/output.c
++++ b/ps/output.c
+@@ -376,6 +376,26 @@ static int pr_args(char *restrict const outbuf, const proc_t *restrict const pp)
return max_rightward-rightward;
}
+static int pr_cgroup(char *restrict const outbuf,const proc_t *restrict const pp) {
+ if(pp->cgroup && *pp->cgroup) {
+ char *endp = outbuf;
-+ int rightward=max_rightward;
++ int rightward=max_rightward;
+ if(forest_prefix){
+ int fh = forest_helper(outbuf);
+ endp += fh;
@@ -135,7 +145,7 @@ diff -urNad procps-3.2.7~/ps/output.c procps-3.2.7/ps/output.c
+ endp += escape_str(endp, *pp->cgroup, OUTBUF_SIZE, &rightward);
+ }
+ return max_rightward-rightward;
-+ }
++ }
+ else
+ return pr_nop(outbuf,pp);
+}
@@ -143,7 +153,7 @@ diff -urNad procps-3.2.7~/ps/output.c procps-3.2.7/ps/output.c
/* "ucomm" is the same thing: short unless -f */
static int pr_comm(char *restrict const outbuf, const proc_t *restrict const pp){
char *endp = outbuf;
-@@ -1248,7 +1268,7 @@
+@@ -1274,7 +1294,7 @@ static int pr_t_left2(char *restrict const outbuf, const proc_t *restrict const
#define GRP PROC_FILLGRP /* gid_t -> group names */
#define WCH PROC_FILLWCHAN /* do WCHAN lookup */
@@ -152,7 +162,7 @@ diff -urNad procps-3.2.7~/ps/output.c procps-3.2.7/ps/output.c
/* TODO
* pull out annoying BSD aliases into another table (to macro table?)
* add sorting functions here (to unify names)
-@@ -1284,6 +1304,7 @@
+@@ -1310,6 +1330,7 @@ static const format_struct format_array[] = {
{"bsdtime", "TIME", pr_bsdtime, sr_nop, 6, 0, LNX, ET|RIGHT},
{"c", "C", pr_c, sr_pcpu, 2, 0, SUN, ET|RIGHT},
{"caught", "CAUGHT", pr_sigcatch, sr_nop, 9, 0, BSD, TO|SIGNAL}, /*sigcatch*/
@@ -160,3 +170,6 @@ diff -urNad procps-3.2.7~/ps/output.c procps-3.2.7/ps/output.c
{"class", "CLS", pr_class, sr_sched, 3, 0, XXX, TO|LEFT},
{"cls", "CLS", pr_class, sr_sched, 3, 0, HPU, TO|RIGHT}, /*says HPUX or RT*/
{"cmaj_flt", "-", pr_nop, sr_cmaj_flt, 1, 0, LNX, AN|RIGHT},
+--
+1.7.0
+
diff --git a/patches/procps-3.2.8/40_watch_precision_time.dpatch b/patches/procps-3.2.8/0042-watch_precision_time.patch
index 16f885673..a5c047dc8 100644
--- a/patches/procps-3.2.8/40_watch_precision_time.dpatch
+++ b/patches/procps-3.2.8/0042-watch_precision_time.patch
@@ -1,14 +1,19 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 40_watch_precision_time.dpatch by <csmall@debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Add precision wait time option -p #183486
+From 6c6919c283c78b453320c344889de5892449b11c Mon Sep 17 00:00:00 2001
+From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
+Date: Fri, 19 Mar 2010 21:58:46 +0100
+Subject: [PATCH 42/70] watch_precision_time
-@DPATCH@
-diff -urNad procps-3.2.7~/watch.1 procps-3.2.7/watch.1
---- procps-3.2.7~/watch.1 2009-01-11 12:27:23.000000000 +1100
-+++ procps-3.2.7/watch.1 2009-01-11 12:28:49.000000000 +1100
-@@ -4,7 +4,7 @@
+===================================================================
+---
+ watch.1 | 54 +++++++++++++++++++++++++++++++++++++++++++++++++++---
+ watch.c | 31 +++++++++++++++++++++++++++++--
+ 2 files changed, 80 insertions(+), 5 deletions(-)
+
+diff --git a/watch.1 b/watch.1
+index 802ab84..40e6c8e 100644
+--- a/watch.1
++++ b/watch.1
+@@ -4,7 +4,7 @@ watch \- execute a program periodically, showing output fullscreen
.SH SYNOPSIS
.na
.B watch
@@ -17,7 +22,7 @@ diff -urNad procps-3.2.7~/watch.1 procps-3.2.7/watch.1
.RB [ \-n
.IR seconds ]
.RB [ \-\-beep ]
-@@ -14,6 +14,7 @@
+@@ -14,6 +14,7 @@ watch \- execute a program periodically, showing output fullscreen
.RB [ \-\-help ]
.RB [ \-\-interval=\fIseconds\fP]
.RB [ \-\-no\-title ]
@@ -25,7 +30,7 @@ diff -urNad procps-3.2.7~/watch.1 procps-3.2.7/watch.1
.RB [ \-\-version ]
.I command
.SH DESCRIPTION
-@@ -27,7 +28,24 @@
+@@ -27,7 +28,24 @@ every 2 seconds; use
.B \-n
or
.B \-\-interval
@@ -51,11 +56,11 @@ diff -urNad procps-3.2.7~/watch.1 procps-3.2.7/watch.1
.PP
The
.B \-d
-@@ -97,11 +115,21 @@
+@@ -97,11 +115,21 @@ watch echo '$$'
.br
watch echo "'"'$$'"'"
.PP
-+To see the effect of precision time keeping, try adding
++To see the effect of precision time keeping, try adding
+.I \-p
+to
+.IP
@@ -74,7 +79,7 @@ diff -urNad procps-3.2.7~/watch.1 procps-3.2.7/watch.1
.SH BUGS
Upon terminal resize, the screen will not be correctly repainted until the
next scheduled update. All
-@@ -110,6 +138,22 @@
+@@ -110,6 +138,22 @@ highlighting is lost on that update as well.
.PP
Non-printing characters are stripped from program output. Use "cat -v" as
part of the command pipeline if you want to see them.
@@ -97,17 +102,18 @@ diff -urNad procps-3.2.7~/watch.1 procps-3.2.7/watch.1
.SH AUTHORS
The original
.B watch
-@@ -117,3 +161,7 @@
+@@ -117,3 +161,7 @@ was written by Tony Rems <rembo@unisoft.com> in 1991, with mods and
corrections by Francois Pinard. It was reworked and new features added by
- Mike Coleman <mkc@acm.org> in 1999. The beep, exec, and error handling
+ Mike Coleman <mkc@acm.org> in 1999. The beep, exec, and error handling
features were added by Morty Abzug <morty@frakir.org> in 2008.
+On a not so dark and stormy morning
+in March of 2003, Anthony DeRobertis <asd@suespammers.org> got sick of
+his watches that should update every minute eventually updating many
+seconds after the minute started, and added microsecond precision.
-diff -urNad procps-3.2.7~/watch.c procps-3.2.7/watch.c
---- procps-3.2.7~/watch.c 2009-01-11 12:27:23.000000000 +1100
-+++ procps-3.2.7/watch.c 2009-01-11 12:28:37.000000000 +1100
+diff --git a/watch.c b/watch.c
+index acb152f..c7369b6 100644
+--- a/watch.c
++++ b/watch.c
@@ -21,6 +21,7 @@
#include <stdlib.h>
#include <string.h>
@@ -116,7 +122,7 @@ diff -urNad procps-3.2.7~/watch.c procps-3.2.7/watch.c
#include <time.h>
#include <unistd.h>
#include <termios.h>
-@@ -39,13 +40,14 @@
+@@ -39,13 +40,14 @@ static struct option longopts[] = {
{"beep", no_argument, 0, 'b'},
{"errexit", no_argument, 0, 'e'},
{"exec", no_argument, 0, 'x'},
@@ -132,7 +138,7 @@ diff -urNad procps-3.2.7~/watch.c procps-3.2.7/watch.c
static char *progname;
-@@ -54,6 +56,7 @@
+@@ -54,6 +56,7 @@ static int height = 24, width = 80;
static int screen_size_changed = 0;
static int first_screen = 1;
static int show_title = 2; // number of lines used, 2 or 0
@@ -140,7 +146,7 @@ diff -urNad procps-3.2.7~/watch.c procps-3.2.7/watch.c
#define min(x,y) ((x) > (y) ? (y) : (x))
-@@ -138,6 +141,15 @@
+@@ -138,6 +141,15 @@ get_terminal_size(void)
}
}
@@ -156,7 +162,7 @@ diff -urNad procps-3.2.7~/watch.c procps-3.2.7/watch.c
int
main(int argc, char *argv[])
{
-@@ -152,6 +164,8 @@
+@@ -152,6 +164,8 @@ main(int argc, char *argv[])
char *command;
char **command_argv;
int command_length = 0; /* not including final \0 */
@@ -165,7 +171,7 @@ diff -urNad procps-3.2.7~/watch.c procps-3.2.7/watch.c
int pipefd[2];
int status;
pid_t child;
-@@ -159,7 +173,7 @@
+@@ -159,7 +173,7 @@ main(int argc, char *argv[])
setlocale(LC_ALL, "");
progname = argv[0];
@@ -174,7 +180,7 @@ diff -urNad procps-3.2.7~/watch.c procps-3.2.7/watch.c
!= EOF) {
switch (optc) {
case 'b':
-@@ -194,6 +208,9 @@
+@@ -194,6 +208,9 @@ main(int argc, char *argv[])
interval = ~0u/1000000;
}
break;
@@ -184,7 +190,7 @@ diff -urNad procps-3.2.7~/watch.c procps-3.2.7/watch.c
case 'v':
option_version = 1;
break;
-@@ -217,6 +234,7 @@
+@@ -217,6 +234,7 @@ main(int argc, char *argv[])
fputs(" -e, --errexit\t\t\t\texit watch if the command has a non-zero exit\n", stderr);
fputs(" -h, --help\t\t\t\tprint a summary of the options\n", stderr);
fputs(" -n, --interval=<seconds>\t\tseconds to wait between updates\n", stderr);
@@ -192,7 +198,7 @@ diff -urNad procps-3.2.7~/watch.c procps-3.2.7/watch.c
fputs(" -v, --version\t\t\t\tprint the version number\n", stderr);
fputs(" -t, --no-title\t\t\tturns off showing the header\n", stderr);
fputs(" -x, --exec\t\t\t\tpass command to exec instead of sh\n", stderr);
-@@ -256,6 +274,9 @@
+@@ -256,6 +274,9 @@ main(int argc, char *argv[])
noecho();
cbreak();
@@ -202,7 +208,7 @@ diff -urNad procps-3.2.7~/watch.c procps-3.2.7/watch.c
for (;;) {
time_t t = time(NULL);
char *ts = ctime(&t);
-@@ -400,6 +421,12 @@
+@@ -400,6 +421,12 @@ main(int argc, char *argv[])
first_screen = 0;
refresh();
@@ -215,3 +221,6 @@ diff -urNad procps-3.2.7~/watch.c procps-3.2.7/watch.c
usleep(interval * 1000000);
}
+--
+1.7.0
+
diff --git a/patches/procps-3.2.8/0043-watch_unicode.patch b/patches/procps-3.2.8/0043-watch_unicode.patch
new file mode 100644
index 000000000..734eba6e6
--- /dev/null
+++ b/patches/procps-3.2.8/0043-watch_unicode.patch
@@ -0,0 +1,311 @@
+From 82851661382a9411a8b288ffb374488ab4a13649 Mon Sep 17 00:00:00 2001
+From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
+Date: Fri, 19 Mar 2010 21:58:46 +0100
+Subject: [PATCH 43/70] watch_unicode
+
+---
+ AUTHORS | 1 +
+ Makefile | 5 +-
+ watch.1 | 12 +++++
+ watch.c | 142 ++++++++++++++++++++++++++++++++++++++++++++++++++++----------
+ 4 files changed, 135 insertions(+), 25 deletions(-)
+
+diff --git a/AUTHORS b/AUTHORS
+index 0860b24..d861b4b 100644
+--- a/AUTHORS
++++ b/AUTHORS
+@@ -47,4 +47,5 @@ Charles Blake
+ watch:
+ Tony Rems <rembo@unisoft.com>
+ Mike Coleman <mkc@acm.org>
++Jarrod Lowe <procps@rrod.net>
+
+diff --git a/Makefile b/Makefile
+index 09fb3ed..06728fc 100644
+--- a/Makefile
++++ b/Makefile
+@@ -68,6 +68,7 @@ TARFILES := AUTHORS BUGS NEWS README TODO COPYING COPYING.LIB \
+ _TARFILES := Makefile
+
+ CURSES := -lncurses
++CURSESW := -lncursesw
+
+ # This seems about right for the dynamic library stuff.
+ # Something like this is probably needed to make the SE Linux
+@@ -119,7 +120,7 @@ ifneq ($(MAKECMDGOALS),beta)
+ # Unlike the kernel one, this check_gcc goes all the way to
+ # producing an executable. There might be a -m64 that works
+ # until you go looking for a 64-bit curses library.
+-check_gcc = $(shell if $(CC) $(ALL_CPPFLAGS) $(ALL_CFLAGS) dummy.c $(ALL_LDFLAGS) $(1) -o /dev/null $(CURSES) > /dev/null 2>&1; then echo "$(1)"; else echo "$(2)"; fi ;)
++check_gcc = $(shell if $(CC) $(ALL_CPPFLAGS) $(ALL_CFLAGS) dummy.c $(ALL_LDFLAGS) $(1) -o /dev/null $(CURSES) $(CURSESW) > /dev/null 2>&1; then echo "$(1)"; else echo "$(2)"; fi ;)
+
+ # Be 64-bit if at all possible. In a cross-compiling situation, one may
+ # do "make m64=-m32 lib64=lib" to produce 32-bit executables. DO NOT
+@@ -250,7 +251,7 @@ slabtop top: % : %.o $(LIBPROC)
+ $(CC) $(ALL_CFLAGS) $^ $(ALL_LDFLAGS) -o $@ $(CURSES)
+
+ watch: % : %.o
+- $(CC) $(ALL_CFLAGS) $^ $(ALL_LDFLAGS) -o $@ $(CURSES)
++ $(CC) $(ALL_CFLAGS) $^ $(ALL_LDFLAGS) -o $@ $(CURSESW)
+
+ ############ progX --> progY
+
+diff --git a/watch.1 b/watch.1
+index 40e6c8e..c5f17c4 100644
+--- a/watch.1
++++ b/watch.1
+@@ -139,6 +139,17 @@ highlighting is lost on that update as well.
+ Non-printing characters are stripped from program output. Use "cat -v" as
+ part of the command pipeline if you want to see them.
+ .PP
++Combining Characters that are supposed to display on the character at the
++last column on the screen may display one column early, or they may not
++display at all.
++.PP
++Combining Characters never count as different in
++.I \-\-differences
++mode. Only the base character counts.
++.PP
++Blank lines directly after a line which ends in the last column do not
++display.
++.PP
+ .I \-\-precise
+ mode doesn't yet have advanced temporal distortion technology to
+ compensate for a
+@@ -165,3 +176,4 @@ On a not so dark and stormy morning
+ in March of 2003, Anthony DeRobertis <asd@suespammers.org> got sick of
+ his watches that should update every minute eventually updating many
+ seconds after the minute started, and added microsecond precision.
++Unicode support was added in 2009 by Jarrod Lowe <procps@rrod.net>.
+diff --git a/watch.c b/watch.c
+index c7369b6..7ab57ab 100644
+--- a/watch.c
++++ b/watch.c
+@@ -9,14 +9,16 @@
+ *
+ * Changes by Albert Cahalan, 2002-2003.
+ * stderr handling, exec, and beep option added by Morty Abzug, 2008
++ * Unicode Support added by Jarrod Lowe <procps@rrod.net> in 2009.
+ */
+
+-#define VERSION "0.2.0"
++#define VERSION "0.3.0"
+
++#include <wchar.h>
+ #include <ctype.h>
+ #include <getopt.h>
+ #include <signal.h>
+-#include <ncurses.h>
++#include <ncursesw/ncurses.h>
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
+@@ -27,6 +29,7 @@
+ #include <termios.h>
+ #include <locale.h>
+ #include "proc/procps.h"
++#include <errno.h>
+
+ #ifdef FORCE_8BIT
+ #undef isprint
+@@ -150,6 +153,32 @@ watch_usec_t get_time_usec() {
+ return USECS_PER_SEC*now.tv_sec + now.tv_usec;
+ }
+
++// read a wide character from a popen'd stream
++#define MAX_ENC_BYTES 16
++wint_t my_getwc(FILE *s);
++wint_t my_getwc(FILE *s) {
++ char i[MAX_ENC_BYTES]; //assuming no encoding ever consumes more than 16 bytes
++ int byte = 0;
++ int convert;
++ int x;
++ wchar_t rval;
++ while(1) {
++ i[byte] = getc(s);
++ if (i[byte]==EOF) { return WEOF; }
++ byte++;
++ errno = 0;
++ mbtowc(NULL, NULL, 0);
++ convert = mbtowc(&rval, i, byte);
++ x = errno;
++ if(convert > 0) { return rval; } //legal conversion
++ if(byte == MAX_ENC_BYTES) {
++ while(byte > 1) { ungetc(i[--byte], s); } //at least *try* to fix up
++ errno = -EILSEQ;
++ return WEOF;
++ }
++ }
++}
++
+ int
+ main(int argc, char *argv[])
+ {
+@@ -162,8 +191,11 @@ main(int argc, char *argv[])
+ option_help = 0, option_version = 0;
+ double interval = 2;
+ char *command;
++ wchar_t *wcommand = NULL;
+ char **command_argv;
+ int command_length = 0; /* not including final \0 */
++ int wcommand_columns = 0; /* not including final \0 */
++ int wcommand_characters = 0; /* not including final \0 */
+ watch_usec_t next_loop; /* next loop time in us, used for precise time
+ keeping only */
+ int pipefd[2];
+@@ -259,6 +291,23 @@ main(int argc, char *argv[])
+ command[command_length] = '\0';
+ }
+
++ // convert to wide for printing purposes
++ //mbstowcs(NULL, NULL, 0);
++ wcommand_characters = mbstowcs(NULL, command, 0);
++ if(wcommand_characters < 0) {
++ fprintf(stderr, "Unicode Handling Error\n");
++ exit(1);
++ }
++ wcommand = (wchar_t*)malloc((wcommand_characters+1) * sizeof(wcommand));
++ if(wcommand == NULL) {
++ fprintf(stderr, "Unicode Handling Error (malloc)\n");
++ exit(1);
++ }
++ mbstowcs(wcommand, command, wcommand_characters+1);
++ wcommand_columns = wcswidth(wcommand, -1);
++
++
++
+ get_terminal_size();
+
+ /* Catch keyboard interrupts so we can put tty back in a sane state. */
+@@ -298,12 +347,44 @@ main(int argc, char *argv[])
+ if (show_title) {
+ // left justify interval and command,
+ // right justify time, clipping all to fit window width
+- asprintf(&header, "Every %.1fs: %.*s",
+- interval, min(width - 1, command_length), command);
+- mvaddstr(0, 0, header);
+- if (strlen(header) > (size_t) (width - tsl - 1))
+- mvaddstr(0, width - tsl - 4, "... ");
+- mvaddstr(0, width - tsl + 1, ts);
++
++ int hlen = asprintf(&header, "Every %.1fs: ", interval);
++
++ // the rules:
++ // width < tsl : print nothing
++ // width < tsl + hlen + 1: print ts
++ // width = tsl + hlen + 1: print header, ts
++ // width < tsl + hlen + 4: print header, ..., ts
++ // width < tsl + hlen + wcommand_columns: print header, truncated wcommand, ..., ts
++ // width > "": print header, wcomand, ts
++ // this is slightly different from how it used to be
++ if(width >= tsl) {
++ if(width >= tsl + hlen + 1) {
++ mvaddstr(0, 0, header);
++ if(width >= tsl + hlen + 2) {
++ if(width < tsl + hlen + 4) {
++ mvaddstr(0, width - tsl - 4, "... ");
++ }else{
++ if(width < tsl + hlen + wcommand_columns) {
++ // print truncated
++ int avail_columns = width - tsl - hlen;
++ int using_columns = wcommand_columns;
++ int using_characters = wcommand_characters;
++ while(using_columns > avail_columns - 4) {
++ using_characters--;
++ using_columns = wcswidth(wcommand, using_characters);
++ }
++ mvaddnwstr(0, hlen, wcommand, using_characters);
++ mvaddstr(0, width - tsl - 4, "... ");
++ }else{
++ mvaddwstr(0, hlen, wcommand);
++ }
++ }
++ }
++ }
++ mvaddstr(0, width - tsl + 1, ts);
++ }
++
+ free(header);
+ }
+
+@@ -360,47 +441,62 @@ main(int argc, char *argv[])
+
+ for (y = show_title; y < height; y++) {
+ int eolseen = 0, tabpending = 0;
++ wint_t carry = WEOF;
+ for (x = 0; x < width; x++) {
+- int c = ' ';
++ wint_t c = L' ';
+ int attr = 0;
+
+ if (!eolseen) {
+ /* if there is a tab pending, just spit spaces until the
+ next stop instead of reading characters */
+ if (!tabpending)
+- do
+- c = getc(p);
+- while (c != EOF && !isprint(c)
+- && c != '\n'
+- && c != '\t');
+- if (c == '\n')
++ do {
++ if(carry == WEOF) {
++ c = my_getwc(p);
++ }else{
++ c = carry;
++ carry = WEOF;
++ }
++ }while (c != WEOF && !isprint(c) && c<128
++ && wcwidth(c) == 0
++ && c != L'\n'
++ && c != L'\t');
++ if (c == L'\n')
+ if (!oldeolseen && x == 0) {
+ x = -1;
+ continue;
+ } else
+ eolseen = 1;
+- else if (c == '\t')
++ else if (c == L'\t')
+ tabpending = 1;
+- if (c == EOF || c == '\n' || c == '\t')
+- c = ' ';
++ if (x==width-1 && wcwidth(c)==2) {
++ y++;
++ x = -1; //process this double-width
++ carry = c; //character on the next line
++ continue; //because it won't fit here
++ }
++ if (c == WEOF || c == L'\n' || c == L'\t')
++ c = L' ';
+ if (tabpending && (((x + 1) % 8) == 0))
+ tabpending = 0;
+ }
+ move(y, x);
+ if (option_differences) {
+- chtype oldch = inch();
+- unsigned char oldc = oldch & A_CHARTEXT;
++ cchar_t oldc;
++ in_wch(&oldc);
+ attr = !first_screen
+- && ((char)c != oldc
++ && ((wchar_t)c != oldc.chars[0]
+ ||
+ (option_differences_cumulative
+- && (oldch & A_ATTRIBUTES)));
++ && (oldc.attr & A_ATTRIBUTES)));
+ }
+ if (attr)
+ standout();
+- addch(c);
++ addnwstr((wchar_t*)&c,1);
+ if (attr)
+ standend();
++ if(wcwidth(c) == 0) { x--; }
++ if(wcwidth(c) == 2) { x++; }
+ }
+ oldeolseen = eolseen;
+ }
+--
+1.7.0
+
diff --git a/patches/procps-3.2.8/0044-complain_unmounted_proc.patch b/patches/procps-3.2.8/0044-complain_unmounted_proc.patch
new file mode 100644
index 000000000..113a10375
--- /dev/null
+++ b/patches/procps-3.2.8/0044-complain_unmounted_proc.patch
@@ -0,0 +1,29 @@
+From daae1481360c99edbabcf87a544eedd0dda14cc6 Mon Sep 17 00:00:00 2001
+From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
+Date: Fri, 19 Mar 2010 21:58:46 +0100
+Subject: [PATCH 44/70] complain_unmounted_proc
+
+exiting silently.
+---
+ proc/version.c | 4 +++-
+ 1 files changed, 3 insertions(+), 1 deletions(-)
+
+diff --git a/proc/version.c b/proc/version.c
+index 96ffb7f..7930367 100644
+--- a/proc/version.c
++++ b/proc/version.c
+@@ -39,8 +39,10 @@ static void init_Linux_version(void) {
+ FILE *fp;
+ char buf[256];
+
+- if ( (fp=fopen("/proc/version","r")) == NULL) /* failure implies impending death */
++ if ( (fp=fopen("/proc/version","r")) == NULL) {
++ fprintf(stderr, "Cannot find /proc/version - is /proc mounted?\n");
+ exit(1);
++ }
+ if (fgets(buf, 256, fp) == NULL) {
+ fprintf(stderr, "Cannot read kernel version from /proc/version\n");
+ fclose(fp);
+--
+1.7.0
+
diff --git a/patches/procps-3.2.8/0045-ps_supgid_display.patch b/patches/procps-3.2.8/0045-ps_supgid_display.patch
new file mode 100644
index 000000000..749ed5347
--- /dev/null
+++ b/patches/procps-3.2.8/0045-ps_supgid_display.patch
@@ -0,0 +1,475 @@
+From 3fb4f51883525e888571d72d30929dd2b912154d Mon Sep 17 00:00:00 2001
+From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
+Date: Fri, 19 Mar 2010 21:58:46 +0100
+Subject: [PATCH 45/70] ps_supgid_display
+
+===================================================================
+---
+ proc/library.map | 2 +-
+ proc/readproc.c | 135 ++++++++++++++++++++++++++++++++++++++----------------
+ proc/readproc.h | 12 ++++-
+ ps/display.c | 34 ++++++++++++--
+ ps/output.c | 47 +++++++++++++++++++
+ ps/ps.1 | 10 ++++
+ 6 files changed, 195 insertions(+), 45 deletions(-)
+
+diff --git a/proc/library.map b/proc/library.map
+index 154061b..8d69cd5 100644
+--- a/proc/library.map
++++ b/proc/library.map
+@@ -7,7 +7,7 @@ global:
+
+ readproc; readtask; readproctab; readproctab2; look_up_our_self; escape_command;
+ escape_str; escape_strlist;
+- openproc; closeproc; freeproc;
++ openproc; closeproc; freeproc; allocsupgrp; freesupgrp;
+ tty_to_dev; dev_to_tty; open_psdb_message; open_psdb; lookup_wchan;
+ display_version; procps_version; linux_version_code;
+ Hertz; smp_num_cpus; have_privs;
+diff --git a/proc/readproc.c b/proc/readproc.c
+index 19d99b2..9660799 100644
+--- a/proc/readproc.c
++++ b/proc/readproc.c
+@@ -20,6 +20,7 @@
+ #include <errno.h>
+ #include <stdarg.h>
+ #include <string.h>
++#include <limits.h>
+ #include <unistd.h>
+ #include <signal.h>
+ #include <fcntl.h>
+@@ -85,63 +86,68 @@ static void status2proc(char *S, proc_t *restrict P, int is_proc){
+ long Threads = 0;
+ long Tgid = 0;
+ long Pid = 0;
++ int hash = 0;
++ int isupgid = 0;
+
+- static const unsigned char asso[] =
++ static const unsigned char asso[] =
+ {
+- 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
+- 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
+- 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
+- 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
+- 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
+- 61, 61, 61, 61, 61, 61, 61, 61, 15, 61,
+- 61, 61, 61, 61, 61, 61, 30, 3, 5, 5,
+- 61, 5, 61, 8, 61, 61, 3, 61, 10, 61,
+- 6, 61, 13, 0, 30, 25, 0, 61, 61, 61,
+- 61, 61, 61, 61, 61, 61, 61, 3, 61, 13,
+- 0, 0, 61, 30, 61, 25, 61, 61, 61, 0,
+- 61, 61, 61, 61, 5, 61, 0, 61, 61, 61,
+- 0, 61, 61, 61, 61, 61, 61, 61
++ 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
++ 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
++ 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
++ 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
++ 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
++ 66, 66, 66, 66, 66, 66, 66, 66, 0, 66,
++ 66, 66, 66, 66, 66, 66, 3, 30, 20, 30,
++ 66, 25, 66, 20, 66, 66, 30, 66, 25, 66,
++ 0, 66, 8, 10, 3, 18, 5, 66, 66, 66,
++ 66, 66, 66, 66, 66, 66, 66, 3, 66, 10,
++ 0, 0, 66, 25, 66, 5, 66, 66, 66, 25,
++ 66, 5, 66, 66, 0, 66, 0, 0, 66, 66,
++ 25, 66, 66, 66, 66, 66, 66, 66
+ };
+
+ static const status_table_struct table[] = {
+- F(VmStk)
++ F(Pid)
+ NUL NUL
+- F(State)
++ F(Threads)
++ NUL
++ F(PPid)
++ NUL NUL
++ F(Tgid)
+ NUL
+- F(VmExe)
+ F(ShdPnd)
++ NUL NUL
++ F(State)
+ NUL
+- F(VmData)
++ F(VmStk)
++ NUL NUL
++ F(Uid)
+ NUL
+- F(Name)
++ F(VmSize)
+ NUL NUL
+ F(VmRSS)
+- NUL NUL
+- F(VmLck)
+- NUL NUL NUL
++ NUL
+ F(Gid)
+- F(Pid)
+- NUL NUL NUL
+- F(VmSize)
+ NUL NUL
+- F(VmLib)
+- NUL NUL
+- F(PPid)
+- NUL
+- F(SigCgt)
++ F(VmData)
+ NUL
+- F(Threads)
++ F(Groups)
++ NUL NUL NUL NUL
+ F(SigPnd)
++ NUL NUL
++ F(SigBlk)
+ NUL
++ F(VmLib)
++ NUL NUL NUL NUL
++ F(VmLck)
++ NUL NUL NUL NUL
++ F(Name)
++ NUL NUL NUL NUL
+ F(SigIgn)
+- NUL
+- F(Uid)
+- NUL NUL NUL NUL NUL NUL NUL NUL NUL
+- NUL NUL NUL NUL NUL
+- F(Tgid)
+ NUL NUL NUL NUL
+- F(SigBlk)
+- NUL NUL NUL
++ F(VmExe)
++ NUL NUL NUL NUL
++ F(SigCgt)
+ };
+
+ #undef F
+@@ -157,6 +163,9 @@ ENTER(0x220);
+ P->vm_exe = 0;
+ P->vm_lib = 0;
+ P->nlwp = 0;
++ P->nsupgid = 0;
++ P->supgid = NULL;
++ P->supgrp = NULL;
+ P->signal[0] = '\0'; // so we can detect it as missing for very old kernels
+
+ goto base;
+@@ -173,7 +182,9 @@ ENTER(0x220);
+ // examine a field name (hash and compare)
+ base:
+ if(unlikely(!*S)) break;
+- entry = table[63 & (asso[(int)S[3]] + asso[(int)S[2]] + asso[(int)S[0]])];
++ hash = asso[S[3]] + asso[S[2]] + asso[S[0]];
++ if (hash > 65) continue;
++ entry = table[hash];
+ colon = strchr(S, ':');
+ if(unlikely(!colon)) break;
+ if(unlikely(colon[1]!='\t')) break;
+@@ -271,6 +282,21 @@ ENTER(0x220);
+ P->sgid = strtol(S,&S,10);
+ P->fgid = strtol(S,&S,10);
+ continue;
++ case_Groups:
++ isupgid = 0;
++ if (*S != '\n'){ // Is there any supplementary group ?
++ P->supgid = (int *) xmalloc(0x0004 * sizeof(int));
++ int vctsize = 0x0004;
++ while (S[1] != '\n' && isupgid<INT_MAX){ // There is one blank before '\n'
++ if (isupgid == vctsize){
++ vctsize *= 2;
++ P->supgid = (int *)xrealloc(P->supgid,vctsize * sizeof(int));
++ }
++ P->supgid[isupgid++] = strtol(S,&S,10);
++ P->nsupgid++;
++ }
++ }
++ continue;
+ case_VmData:
+ P->vm_data = strtol(S,&S,10);
+ continue;
+@@ -589,6 +615,13 @@ static proc_t* simple_readproc(PROCTAB *restrict const PT, proc_t *restrict cons
+ }
+ }
+
++ if (flags & PROC_FILLSUPGRP && p->nsupgid > 0){
++ allocsupgrp(p);
++ int i;
++ for (i=0; i < p->nsupgid; i++)
++ memcpy(p->supgrp[i], group_from_gid(p->supgid[i]), P_G_SZ);
++ }
++
+ if ((flags & PROC_FILLCOM) || (flags & PROC_FILLARG)) /* read+parse /proc/#/cmdline */
+ p->cmdline = file2strvec(path, "cmdline");
+ else
+@@ -683,6 +716,13 @@ static proc_t* simple_readtask(PROCTAB *restrict const PT, const proc_t *restric
+ }
+ }
+
++ if (flags & PROC_FILLSUPGRP && t->nsupgid > 0){
++ allocsupgrp(t);
++ int i;
++ for (i=0; i < t->nsupgid; i++)
++ memcpy(t->supgrp[i], group_from_gid(t->supgid[i]), P_G_SZ);
++ }
++
+ #if 0
+ if ((flags & PROC_FILLCOM) || (flags & PROC_FILLARG)) /* read+parse /proc/#/cmdline */
+ t->cmdline = file2strvec(path, "cmdline");
+@@ -897,6 +937,23 @@ void closeproc(PROCTAB* PT) {
+ }
+ }
+
++// allocate memory for supgrp
++void allocsupgrp(proc_t *p) {
++ if (!p || p->nsupgid == 0) return;
++ p->supgrp = (char**)xmalloc(p->nsupgid * sizeof(char*));
++ int i;
++ for (i=0; i<p->nsupgid; i++)
++ p->supgrp[i] = (char*)xmalloc(P_G_SZ * sizeof(char));
++}
++
++// free memory allocated for supgrp
++void freesupgrp(proc_t *p) {
++ int i;
++ for (i=0; i<p->nsupgid; i++)
++ if (p->supgrp[i]) free(p->supgrp[i]);
++ free(p->supgrp);
++}
++
+ // deallocate the space allocated by readproc if the passed rbuf was NULL
+ void freeproc(proc_t* p) {
+ if (!p) /* in case p is NULL */
+diff --git a/proc/readproc.h b/proc/readproc.h
+index 3a9aecf..ac166ca 100644
+--- a/proc/readproc.h
++++ b/proc/readproc.h
+@@ -122,6 +122,7 @@ typedef struct proc_t {
+ egroup[P_G_SZ], // status effective group name
+ sgroup[P_G_SZ], // status saved group name
+ fgroup[P_G_SZ], // status filesystem group name
++ **supgrp, // status supplementary groups
+ cmd[16]; // stat,status basename of executable file in call to exec(2)
+ struct proc_t
+ *ring, // n/a thread group ring
+@@ -137,6 +138,8 @@ typedef struct proc_t {
+ suid, sgid, // status saved
+ fuid, fgid, // status fs (used for file access only)
+ tpgid, // stat terminal process group id
++ nsupgid, // status number of supplementary groups
++ *supgid, // status supplementary gid's
+ exit_signal, // stat might not be SIGCHLD
+ processor; // stat current (or most recent?) CPU
+ char **cgroup; // cgroup current cgroup, looks like a classic filepath
+@@ -198,6 +201,12 @@ extern proc_t** readproctab(int flags, ... /* same as openproc */ );
+ // clean-up open files, etc from the openproc()
+ extern void closeproc(PROCTAB* PT);
+
++// allocate memory for supgrp
++extern void allocsupgrp(proc_t *p);
++
++// free memory allocated for supgrp
++extern void freesupgrp(proc_t *p);
++
+ // retrieve the next process matching the criteria set by the openproc()
+ extern proc_t* readproc(PROCTAB *restrict const PT, proc_t *restrict p);
+ extern proc_t* readtask(PROCTAB *restrict const PT, const proc_t *restrict const p, proc_t *restrict t);
+@@ -237,8 +246,9 @@ extern proc_t * get_proc_stats(pid_t pid, proc_t *p);
+ #define PROC_FILLSTAT 0x0040 // read stat -- currently unconditional
+ #define PROC_FILLWCHAN 0x0080 // look up WCHAN name
+ #define PROC_FILLARG 0x0100 // alloc and fill in `cmdline'
++#define PROC_FILLSUPGRP 0x0200 // resolve supplementary group id number -> group name
+
+-#define PROC_LOOSE_TASKS 0x0200 // threat threads as if they were processes
++#define PROC_LOOSE_TASKS 0x0400 // threat threads as if they were processes
+
+ #define PROC_FILLCGROUP 0x0400 // alloc and fill in `cgroup`
+
+diff --git a/ps/display.c b/ps/display.c
+index 3d6bbde..6ef5d58 100644
+--- a/ps/display.c
++++ b/ps/display.c
+@@ -342,6 +342,8 @@ static void simple_spew(void){
+ if(buf.cmdline) free((void*)*buf.cmdline); // ought to reuse
+ if(buf.environ) free((void*)*buf.environ); // ought to reuse
+ if(buf.cgroup) free((void*)*buf.cgroup);
++ if(buf.nsupgid > 0 && buf.supgid) free(buf.supgid);
++ if((ptp->flags & PROC_FILLSUPGRP) && buf.nsupgid>0 && buf.supgrp) freesupgrp(&buf);
+ }
+ break;
+ case TF_show_proc|TF_loose_tasks: // H option
+@@ -349,12 +351,16 @@ static void simple_spew(void){
+ proc_t buf2;
+ // must still have the process allocated
+ while(readtask(ptp,&buf,&buf2)){
+- if(!want_this_proc(&buf)) continue;
+- show_one_proc(&buf2, task_format_list);
++ if(want_this_proc(&buf)) show_one_proc(&buf2, task_format_list);
++ if(buf2.nsupgid > 0 && buf2.supgid && buf.supgid!=buf2.supgid) free(buf2.supgid);
++ if((ptp->flags & PROC_FILLSUPGRP) && buf2.nsupgid>0 && buf2.supgrp && buf.supgrp!=buf2.supgrp)
++ freesupgrp(&buf2);
+ }
+ if(buf.cmdline) free((void*)*buf.cmdline); // ought to reuse
+ if(buf.environ) free((void*)*buf.environ); // ought to reuse
+ if(buf.cgroup) free((void*)*buf.cgroup);
++ if(buf.nsupgid > 0 && buf.supgid) free(buf.supgid);
++ if((ptp->flags & PROC_FILLSUPGRP) && buf.nsupgid>0 && buf.supgrp) freesupgrp(&buf);
+ }
+ break;
+ case TF_show_proc|TF_show_task: // m and -m options
+@@ -363,11 +369,18 @@ static void simple_spew(void){
+ proc_t buf2;
+ show_one_proc(&buf, proc_format_list);
+ // must still have the process allocated
+- while(readtask(ptp,&buf,&buf2)) show_one_proc(&buf2, task_format_list);
++ while(readtask(ptp,&buf,&buf2)){
++ show_one_proc(&buf2, task_format_list);
++ if(buf2.nsupgid > 0 && buf2.supgid && buf.supgid!=buf2.supgid) free(buf2.supgid);
++ if(ptp->flags & PROC_FILLSUPGRP && buf2.nsupgid>0 && buf2.supgrp && buf.supgrp!=buf2.supgrp)
++ freesupgrp(&buf2);
++ }
+ }
+ if(buf.cmdline) free((void*)*buf.cmdline); // ought to reuse
+ if(buf.environ) free((void*)*buf.environ); // ought to reuse
+ if(buf.cgroup) free((void*)*buf.cgroup);
++ if(buf.nsupgid > 0 && buf.supgid) free(buf.supgid);
++ if((ptp->flags & PROC_FILLSUPGRP) && buf.nsupgid>0 && buf.supgrp) freesupgrp(&buf);
+ }
+ break;
+ case TF_show_task: // -L and -T options
+@@ -375,11 +388,18 @@ static void simple_spew(void){
+ if(want_this_proc(&buf)){
+ proc_t buf2;
+ // must still have the process allocated
+- while(readtask(ptp,&buf,&buf2)) show_one_proc(&buf2, task_format_list);
++ while(readtask(ptp,&buf,&buf2)){
++ show_one_proc(&buf2, task_format_list);
++ if(buf2.nsupgid > 0 && buf2.supgid && buf.supgid!=buf2.supgid) free(buf2.supgid);
++ if(ptp->flags & PROC_FILLSUPGRP && buf2.nsupgid>0 && buf2.supgrp && buf.supgrp!=buf2.supgrp)
++ freesupgrp(&buf2);
++ }
+ }
+ if(buf.cmdline) free((void*)*buf.cmdline); // ought to reuse
+ if(buf.environ) free((void*)*buf.environ); // ought to reuse
+ if(buf.cgroup) free((void*)*buf.cgroup);
++ if(buf.nsupgid > 0 && buf.supgid) free(buf.supgid);
++ if((ptp->flags & PROC_FILLSUPGRP) && buf.nsupgid>0 && buf.supgrp) freesupgrp(&buf);
+ }
+ break;
+ }
+@@ -542,6 +562,12 @@ static void fancy_spew(void){
+ qsort(processes, n, sizeof(proc_t*), compare_two_procs);
+ if(forest_type) show_forest(n);
+ else show_proc_array(ptp,n);
++ int i;
++ for (i=0; i<n; i++)
++ if (processes[i]->nsupgid>0 && processes[i]->supgid) free(processes[i]->supgid);
++ if (ptp->flags & PROC_FILLSUPGRP)
++ for (i=0; i<n; i++)
++ if (processes[i]->nsupgid>0 && processes[i]->supgrp) freesupgrp(processes[i]);
+ closeproc(ptp);
+ }
+
+diff --git a/ps/output.c b/ps/output.c
+index a165ed5..1a196ff 100644
+--- a/ps/output.c
++++ b/ps/output.c
+@@ -211,6 +211,32 @@ static int sr_swapable(const proc_t* P, const proc_t* Q) {
+ return 0;
+ }
+
++static int sr_supgid(const proc_t* P, const proc_t* Q){
++ int i;
++ for (i = 0; i < INT_MAX; i++){
++ if (P->nsupgid == i){
++ if (Q->nsupgid == i) return 0;
++ else return -1;
++ }
++ if (Q->nsupgid == i) return 1;
++ if (P->supgid[i] != Q->supgid[i]) return P->supgid[i] - Q->supgid[i];
++ }
++ return 0;
++}
++
++static int sr_supgrp(const proc_t* P, const proc_t* Q){
++ int i;
++ for (i = 0; i < INT_MAX; i++){
++ if (P->nsupgid == i){
++ if (Q->nsupgid == i) return 0;
++ else return -1;
++ }
++ if (Q->nsupgid == i) return 1;
++ int cmp = strncmp(P->supgrp[i],Q->supgrp[i],P_G_SZ);
++ if (cmp != 0) return cmp;
++ }
++ return 0;
++}
+
+ /***************************************************************************/
+ /************ Lots of format functions, starting with the NOP **************/
+@@ -1062,6 +1088,24 @@ static int pr_fuid(char *restrict const outbuf, const proc_t *restrict const pp)
+ return snprintf(outbuf, COLWID, "%d", pp->fuid);
+ }
+
++static int pr_supgid(char *restrict const outbuf, const proc_t *restrict const pp){
++ if (pp->nsupgid == 0) return snprintf(outbuf,2,"-");
++ int rest = COLWID;
++ int i = 0;
++ for (i = 0; i < pp->nsupgid && rest > 5; i++)
++ rest-= snprintf(outbuf+COLWID-rest, rest, "%d ", pp->supgid[i]);
++ return COLWID-rest;
++}
++
++static int pr_supgrp(char *restrict const outbuf, const proc_t *restrict const pp){
++ if (pp->nsupgid == 0) return snprintf(outbuf,2,"-");
++ int rest = COLWID;
++ int i = 0;
++ for (i = 0; i < pp->nsupgid && rest > sizeof( pp->supgrp[i] ) + 1; i++)
++ rest-= snprintf(outbuf+COLWID-rest, rest, "%s ", pp->supgrp[i]);
++ return COLWID-rest;
++}
++
+ // The Open Group Base Specifications Issue 6 (IEEE Std 1003.1, 2004 Edition)
+ // requires that user and group names print as decimal numbers if there is
+ // not enough room in the column, so tough luck if you don't like it.
+@@ -1293,6 +1337,7 @@ static int pr_t_left2(char *restrict const outbuf, const proc_t *restrict const
+ #define USR PROC_FILLUSR /* uid_t -> user names */
+ #define GRP PROC_FILLGRP /* gid_t -> group names */
+ #define WCH PROC_FILLWCHAN /* do WCHAN lookup */
++#define SUPGRP PROC_FILLSUPGRP /* supgid -> supplementary group names */
+
+ #define CGRP PROC_FILLCGROUP /* read cgroup */
+ /* TODO
+@@ -1490,6 +1535,8 @@ static const format_struct format_array[] = {
+ {"status", "STATUS", pr_nop, sr_nop, 6, 0, DEC, AN|RIGHT},
+ {"stime", "STIME", pr_stime, sr_stime, 5, 0, XXX, ET|RIGHT}, /* was 6 wide */
+ {"suid", "SUID", pr_suid, sr_suid, 5, 0, LNx, ET|RIGHT},
++{"supgid", "SUPGID", pr_supgid, sr_supgid, 27, 0, LNX, PO|UNLIMITED},
++{"supgrp", "SUPGRP", pr_supgrp, sr_supgrp, 27, SUPGRP, LNX, PO|UNLIMITED},
+ {"suser", "SUSER", pr_suser, sr_suser, 8, USR, LNx, ET|USER},
+ {"svgid", "SVGID", pr_sgid, sr_sgid, 5, 0, XXX, ET|RIGHT},
+ {"svgroup", "SVGROUP", pr_sgroup, sr_sgroup, 8, GRP, LNX, ET|USER},
+diff --git a/ps/ps.1 b/ps/ps.1
+index 0f896bf..90fabbc 100644
+--- a/ps/ps.1
++++ b/ps/ps.1
+@@ -1303,6 +1303,16 @@ suid SUID T{
+ saved user\ ID. (alias\ \fBsvuid\fR).
+ T}
+
++supgid SUPGID T{
++gid of supplementary groups, see
++.BR getgroups (2).
++T}
++
++supgrp SUPGRP T{
++names of supplementary groups, see
++.BR getgroups (2).
++T}
++
+ suser SUSER T{
+ saved user name. This will be the textual user\ ID,
+ if\ it can be obtained and the field width permits,
+--
+1.7.0
+
diff --git a/patches/procps-3.2.8/0046-makefile_dev_null.patch b/patches/procps-3.2.8/0046-makefile_dev_null.patch
new file mode 100644
index 000000000..4d8e92cac
--- /dev/null
+++ b/patches/procps-3.2.8/0046-makefile_dev_null.patch
@@ -0,0 +1,25 @@
+From 817acf1db736315bcc89082fe12fe41a4a9492d2 Mon Sep 17 00:00:00 2001
+From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
+Date: Fri, 19 Mar 2010 21:58:46 +0100
+Subject: [PATCH 46/70] makefile_dev_null
+
+---
+ Makefile | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 06728fc..abddb6e 100644
+--- a/Makefile
++++ b/Makefile
+@@ -120,7 +120,7 @@ ifneq ($(MAKECMDGOALS),beta)
+ # Unlike the kernel one, this check_gcc goes all the way to
+ # producing an executable. There might be a -m64 that works
+ # until you go looking for a 64-bit curses library.
+-check_gcc = $(shell if $(CC) $(ALL_CPPFLAGS) $(ALL_CFLAGS) dummy.c $(ALL_LDFLAGS) $(1) -o /dev/null $(CURSES) $(CURSESW) > /dev/null 2>&1; then echo "$(1)"; else echo "$(2)"; fi ;)
++check_gcc = $(shell if $(CC) $(ALL_CPPFLAGS) $(ALL_CFLAGS) dummy.c $(ALL_LDFLAGS) $(1) -o will_this_file_really_exist.tmp $(CURSES) $(CURSESW) > /dev/null 2>&1; then echo "$(1)"; else echo "$(2)"; fi ; rm -f will_this_file_really_exist.tmp)
+
+ # Be 64-bit if at all possible. In a cross-compiling situation, one may
+ # do "make m64=-m32 lib64=lib" to produce 32-bit executables. DO NOT
+--
+1.7.0
+
diff --git a/patches/procps-3.2.8/50_pgrep.1.dpatch b/patches/procps-3.2.8/0047-pgrep.1.patch
index 33c9e2ac4..7df5d6980 100644
--- a/patches/procps-3.2.8/50_pgrep.1.dpatch
+++ b/patches/procps-3.2.8/0047-pgrep.1.patch
@@ -1,14 +1,17 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 50_pgrep.1.dpatch by <csmall@debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Cleanup pgrep manual page #282168
-## DP: Uses .BR for see also section #437678
+From c55f0fd0d7758cc170ef72fce0d4a66d3200906f Mon Sep 17 00:00:00 2001
+From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
+Date: Fri, 19 Mar 2010 21:58:46 +0100
+Subject: [PATCH 47/70] pgrep.1
-@DPATCH@
-diff -urNad procps-3.2.7~/pgrep.1 procps-3.2.7/pgrep.1
---- procps-3.2.7~/pgrep.1 2008-04-07 11:22:03.000000000 +1000
-+++ procps-3.2.7/pgrep.1 2008-04-07 11:22:16.000000000 +1000
+Uses .BR for see also section #437678
+---
+ pgrep.1 | 98 +++++++++++++++++++++++++++++++++++++-------------------------
+ 1 files changed, 58 insertions(+), 40 deletions(-)
+
+diff --git a/pgrep.1 b/pgrep.1
+index 9152799..257a6ce 100644
+--- a/pgrep.1
++++ b/pgrep.1
@@ -2,35 +2,39 @@
.\" Licensed under version 2 of the GNU General Public License.
.\" Copyright 2000 Kjetil Torgrim Homme
@@ -24,17 +27,18 @@ diff -urNad procps-3.2.7~/pgrep.1 procps-3.2.7/pgrep.1
- [\-s \fIsid\fP,...] [\-u \fIeuid\fP,...] [\-U \fIuid\fP,...] [\-G \fIgid\fP,...]
-.br
- [\-t \fIterm\fP,...] [\fIpattern\fP]
-+.na
-+\fBpgrep\fR [\fB\-cflvx\fR] [\fB\-d\ \fIdelimiter\fR] [\fB\-n\fR|\fB\-o\fR] \
-+[\fB\-P\ \fIppid\fR,...] [\fB\-g\ \fIpgrp\fR,...] [\fB\-s\ \fIsid\fR,...] \
-+[\fB\-u\ \fIeuid\fR,...] [\fB\-U\ \fIuid\fR,...] [\fB\-G\ \fIgid\fR,...] \
-+[\fB\-t\ \fIterm\fR,...] [\fIpattern\fR]
-
+-
-pkill [\-\fIsignal\fP] [\-fvx] [\-n|\-o] [\-P \fIppid\fP,...] [\-g \fIpgrp\fP,...]
-.br
- [\-s \fIsid\fP,...] [\-u \fIeuid\fP,...] [\-U \fIuid\fP,...] [\-G \fIgid\fP,...]
-.br
- [\-t \fIterm\fP,...] [\fIpattern\fP]
++.na
++\fBpgrep\fR [\fB\-cflvx\fR] [\fB\-d\ \fIdelimiter\fR] [\fB\-n\fR|\fB\-o\fR] \
++[\fB\-P\ \fIppid\fR,...] [\fB\-g\ \fIpgrp\fR,...] [\fB\-s\ \fIsid\fR,...] \
++[\fB\-u\ \fIeuid\fR,...] [\fB\-U\ \fIuid\fR,...] [\fB\-G\ \fIgid\fR,...] \
++[\fB\-t\ \fIterm\fR,...] [\fIpattern\fR]
++
+.HP
+\fBpkill\fR [\fB\-\fIsignal\fR] [\fB\-fvx\fR] [\fB\-n\fR|\fB\-o\fR] \
+[\fB\-P\ \fIppid\fR,...] [\fB\-g\ \fIpgrp\fR,...] [\fB\-s\ \fIsid\fR,...] \
@@ -62,7 +66,7 @@ diff -urNad procps-3.2.7~/pgrep.1 procps-3.2.7/pgrep.1
will list the processes owned by \fBroot\fP OR \fBdaemon\fP.
\fBpkill\fP will send the specified signal (by default \fBSIGTERM\fP)
-@@ -38,18 +42,18 @@
+@@ -38,18 +42,18 @@ to each process instead of listing them on stdout.
.SH OPTIONS
.TP
@@ -86,7 +90,7 @@ diff -urNad procps-3.2.7~/pgrep.1 procps-3.2.7/pgrep.1
Only match processes in the process group IDs listed. Process group 0
is translated into \fBpgrep\fP's or \fBpkill\fP's own process group.
.TP
-@@ -57,40 +61,40 @@
+@@ -57,40 +61,40 @@ is translated into \fBpgrep\fP's or \fBpkill\fP's own process group.
Only match processes whose real group ID is listed. Either the
numerical or symbolical value may be used.
.TP
@@ -137,7 +141,7 @@ diff -urNad procps-3.2.7~/pgrep.1 procps-3.2.7/pgrep.1
Only match processes whose name (or command line if \-f is specified)
\fBexactly\fP match the \fIpattern\fP.
.TP
-@@ -107,32 +111,40 @@
+@@ -107,32 +111,40 @@ process names or command lines.
.SH EXAMPLES
Example 1: Find the process ID of the \fBnamed\fP daemon:
@@ -186,13 +190,13 @@ diff -urNad procps-3.2.7~/pgrep.1 procps-3.2.7/pgrep.1
Fatal error: out of memory etc.
.SH NOTES
-@@ -144,13 +156,19 @@
+@@ -144,13 +156,19 @@ The running \fBpgrep\fP or \fBpkill\fP process will never report
itself as a match.
.SH BUGS
-The options \-n and \-o and \-v can not be combined. Let me know if
-you need to do this.
-+The options \fB\-n\fP and \fB\-o\fP and \fB\-v\fP can not be combined.
++The options \fB\-n\fP and \fB\-o\fP and \fB\-v\fP can not be combined.
+Let me know if you need to do this.
Defunct processes are reported.
@@ -209,3 +213,6 @@ diff -urNad procps-3.2.7~/pgrep.1 procps-3.2.7/pgrep.1
.SH STANDARDS
\fBpkill\fP and \fBpgrep\fP were introduced in Sun's Solaris 7. This
+--
+1.7.0
+
diff --git a/patches/procps-3.2.8/0048-ps_size_sz.patch b/patches/procps-3.2.8/0048-ps_size_sz.patch
new file mode 100644
index 000000000..e75c732ed
--- /dev/null
+++ b/patches/procps-3.2.8/0048-ps_size_sz.patch
@@ -0,0 +1,40 @@
+From 941c8bea2133a9155df6fddb3666d528cab2034e Mon Sep 17 00:00:00 2001
+From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
+Date: Fri, 19 Mar 2010 21:58:46 +0100
+Subject: [PATCH 48/70] ps_size_sz
+
+===================================================================
+---
+ ps/output.c | 2 +-
+ ps/ps.1 | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/ps/output.c b/ps/output.c
+index 1a196ff..f9a29ce 100644
+--- a/ps/output.c
++++ b/ps/output.c
+@@ -1522,7 +1522,7 @@ static const format_struct format_array[] = {
+ {"sigcatch", "CAUGHT", pr_sigcatch, sr_nop, 9, 0, XXX, TO|SIGNAL}, /*caught*/
+ {"sigignore", "IGNORED", pr_sigignore,sr_nop, 9, 0, XXX, TO|SIGNAL}, /*ignored*/
+ {"sigmask", "BLOCKED", pr_sigmask, sr_nop, 9, 0, XXX, TO|SIGNAL}, /*blocked*/
+-{"size", "SZ", pr_swapable, sr_swapable, 5, 0, SCO, PO|RIGHT},
++{"size", "SIZE", pr_swapable, sr_swapable, 5, 0, SCO, PO|RIGHT},
+ {"sl", "SL", pr_nop, sr_nop, 3, 0, XXX, AN|RIGHT},
+ {"spid", "SPID", pr_thread, sr_tid, 5, 0, SGI, TO|PIDMAX|RIGHT},
+ {"stackp", "STACKP", pr_stackp, sr_start_stack, 8, 0, LNX, PO|RIGHT}, /*start_stack*/
+diff --git a/ps/ps.1 b/ps/ps.1
+index 90fabbc..ad347ad 100644
+--- a/ps/ps.1
++++ b/ps/ps.1
+@@ -1254,7 +1254,7 @@ sigmask BLOCKED T{
+ see\ \fBblocked\fR. (alias\ \fBblocked\fR,\ \fBsig_block\fR).
+ T}
+
+-size SZ T{
++size SIZE T{
+ approximate amount of swap space that would be required
+ if the process were to dirty all writable pages and then
+ be swapped out.
+--
+1.7.0
+
diff --git a/patches/procps-3.2.8/0049-top_mintime.patch b/patches/procps-3.2.8/0049-top_mintime.patch
new file mode 100644
index 000000000..9909d3b4d
--- /dev/null
+++ b/patches/procps-3.2.8/0049-top_mintime.patch
@@ -0,0 +1,27 @@
+From cf99e9bb004f6c6eb649d34bea8221bc7501d106 Mon Sep 17 00:00:00 2001
+From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
+Date: Fri, 19 Mar 2010 21:58:46 +0100
+Subject: [PATCH 49/70] top_mintime
+
+===================================================================
+---
+ top.c | 3 ++-
+ 1 files changed, 2 insertions(+), 1 deletions(-)
+
+diff --git a/top.c b/top.c
+index 6cc1a93..f6880b5 100644
+--- a/top.c
++++ b/top.c
+@@ -2552,7 +2552,8 @@ static void do_key (unsigned c)
+ else {
+ float tmp =
+ get_float(fmtmk("Change delay from %.1f to", Rc.delay_time));
+- if (tmp > -1) Rc.delay_time = tmp;
++ if (tmp == 0.0) show_msg("\aNot valid");
++ else if (tmp > 0) Rc.delay_time = tmp;
+ }
+ break;
+
+--
+1.7.0
+
diff --git a/patches/procps-3.2.8/50_vmstat_headers.dpatch b/patches/procps-3.2.8/0050-vmstat_headers.patch
index 13fa4bf61..8434d2468 100644
--- a/patches/procps-3.2.8/50_vmstat_headers.dpatch
+++ b/patches/procps-3.2.8/0050-vmstat_headers.patch
@@ -1,14 +1,21 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 50_vmstat_headers.dpatch by <csmall@debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Headers for disk and slab info Debian bug #436805
-## DP: getopt replacement #408088
+From a45013a749f144819a9a10cb5b5bb2455ca04703 Mon Sep 17 00:00:00 2001
+From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
+Date: Fri, 19 Mar 2010 21:58:46 +0100
+Subject: [PATCH 50/70] vmstat_headers
-@DPATCH@
-diff -urNad procps-3.2.7~/vmstat.c procps-3.2.7/vmstat.c
---- procps-3.2.7~/vmstat.c 2007-10-04 22:26:49.000000000 +1000
-+++ procps-3.2.7/vmstat.c 2007-10-04 22:27:07.000000000 +1000
+getopt replacement
+Author: Liu Xing <liuxing@cn.fujitsu.com>
+Author: Michael Tokarev <mjt@corpit.ru>
+Bug-Debian: http://bugs.debian.org/436805
+Bug-Debian: http://bugs.debian.org/408088
+---
+ vmstat.c | 80 ++++++++++++++++++++++++++-----------------------------------
+ 1 files changed, 34 insertions(+), 46 deletions(-)
+
+diff --git a/vmstat.c b/vmstat.c
+index f022928..e0d3c23 100644
+--- a/vmstat.c
++++ b/vmstat.c
@@ -29,14 +29,15 @@
#include "proc/sysinfo.h"
#include "proc/version.h"
@@ -27,7 +34,7 @@ diff -urNad procps-3.2.7~/vmstat.c procps-3.2.7/vmstat.c
#define VMSTAT 0
#define DISKSTAT 0x00000001
#define VMSUMSTAT 0x00000002
-@@ -354,6 +355,7 @@
+@@ -354,6 +355,7 @@ static void diskformat(void){
if ((fDiskstat=fopen("/proc/diskstats", "rb"))){
fclose(fDiskstat);
ndisks=getdiskstat(&disks,&partitions);
@@ -35,7 +42,7 @@ diff -urNad procps-3.2.7~/vmstat.c procps-3.2.7/vmstat.c
for(k=0; k<ndisks; k++){
if (moreheaders && ((k%height)==0)) diskheader();
printf(format,
-@@ -424,6 +426,7 @@
+@@ -424,6 +426,7 @@ static void slabformat (void){
return;
}
@@ -43,7 +50,7 @@ diff -urNad procps-3.2.7~/vmstat.c procps-3.2.7/vmstat.c
nSlab = getslabinfo(&slabs);
for(k=0; k<nSlab; k++){
if (moreheaders && ((k%height)==0)) slabheader();
-@@ -582,12 +585,10 @@
+@@ -582,12 +585,10 @@ static int winhi(void) {
////////////////////////////////////////////////////////////////////////////
int main(int argc, char *argv[]) {
@@ -60,7 +67,7 @@ diff -urNad procps-3.2.7~/vmstat.c procps-3.2.7/vmstat.c
case 'V':
display_version();
exit(0);
-@@ -603,7 +604,7 @@
+@@ -603,7 +604,7 @@ int main(int argc, char *argv[]) {
fork_format();
exit(0);
case 'm':
@@ -69,7 +76,7 @@ diff -urNad procps-3.2.7~/vmstat.c procps-3.2.7/vmstat.c
break;
case 'D':
statMode |= DISKSUMSTAT;
-@@ -614,53 +615,40 @@
+@@ -614,53 +615,40 @@ int main(int argc, char *argv[]) {
break;
case 'p':
statMode |= PARTITIONSTAT;
@@ -147,3 +154,6 @@ diff -urNad procps-3.2.7~/vmstat.c procps-3.2.7/vmstat.c
if (moreheaders) {
int tmp=winhi()-3;
height=((tmp>0)?tmp:22);
+--
+1.7.0
+
diff --git a/patches/procps-3.2.8/0051-pgrep_usage_exitcode.patch b/patches/procps-3.2.8/0051-pgrep_usage_exitcode.patch
new file mode 100644
index 000000000..19e6aae83
--- /dev/null
+++ b/patches/procps-3.2.8/0051-pgrep_usage_exitcode.patch
@@ -0,0 +1,26 @@
+From a8346dc7b4d1da04928b2885a5a9564234eb025e Mon Sep 17 00:00:00 2001
+From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
+Date: Fri, 19 Mar 2010 21:58:46 +0100
+Subject: [PATCH 51/70] pgrep_usage_exitcode
+
+===================================================================
+---
+ pgrep.c | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/pgrep.c b/pgrep.c
+index 33cbed8..36eccb6 100644
+--- a/pgrep.c
++++ b/pgrep.c
+@@ -681,7 +681,7 @@ static void parse_opts (int argc, char **argv)
+ // case 'z': // Solaris: match by zone ID
+ // break;
+ case '?':
+- usage (opt);
++ usage (optopt?optopt:opt);
+ break;
+ }
+ }
+--
+1.7.0
+
diff --git a/patches/procps-3.2.8/0052-ps_1_options.patch b/patches/procps-3.2.8/0052-ps_1_options.patch
new file mode 100644
index 000000000..2ebd0c07a
--- /dev/null
+++ b/patches/procps-3.2.8/0052-ps_1_options.patch
@@ -0,0 +1,557 @@
+From 19b2d182a4b75edaeb9c8ee163d7abb30a5cd0e9 Mon Sep 17 00:00:00 2001
+From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
+Date: Fri, 19 Mar 2010 21:58:46 +0100
+Subject: [PATCH 52/70] ps_1_options
+
+===================================================================
+---
+ ps/ps.1 | 335 ++++++++++++++++++++++++++++++++-------------------------------
+ 1 files changed, 169 insertions(+), 166 deletions(-)
+
+diff --git a/ps/ps.1 b/ps/ps.1
+index ad347ad..6ba31dc 100644
+--- a/ps/ps.1
++++ b/ps/ps.1
+@@ -158,20 +158,6 @@ Print only the name of PID 42:
+ .PP
+ .\" """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+ .SH "SIMPLE PROCESS SELECTION"
+-.opt \-A
+-Select all processes. Identical to \fB\-e\fR.
+-
+-.opt \-N
+-Select all processes except those that fulfill the specified conditions.
+-(negates the selection) Identical to \fB\-\-deselect\fR.
+-
+-.opt T
+-Select all processes associated with this terminal. Identical to the
+-\fBt\fR option without any argument.
+-
+-.opt \-a
+-Select all processes except both session leaders (see \fIgetsid\fR(2)) and
+-processes not associated with a terminal.
+
+ .opt a
+ Lift the BSD\-style "only yourself" restriction, which is imposed upon
+@@ -183,9 +169,20 @@ An alternate description is that this option causes \fBps\fR to
+ list all processes with a terminal (tty),
+ or to list all processes when used together with the \fBx\fR option.
+
++.opt \-A
++Select all processes. Identical to \fB\-e\fR.
++
++.opt \-a
++Select all processes except both session leaders (see \fIgetsid\fR(2)) and
++processes not associated with a terminal.
++
+ .opt \-d
+ Select all processes except session leaders.
+
++.opt \-\-deselect
++Select all processes except those that fulfill the specified conditions.
++(negates the selection) Identical to \fB\-N\fR.
++
+ .opt \-e
+ Select all processes. Identical to \fB\-A\fR.
+
+@@ -194,11 +191,20 @@ Select all processes. Identical to \fB\-A\fR.
+ .\" add in the group leaders -- at least according to the SunOS 4
+ .\" man page on the FreeBSD site. Uh oh. I think I had tested SunOS
+ .\" though, so maybe the code is correct.
++
+ .opt g
+ Really all, even session leaders. This flag is obsolete and may be
+ discontinued in a future release. It is normally implied by the \fBa\fR flag,
+ and is only useful when operating in the sunos4 personality.
+
++.opt \-N
++Select all processes except those that fulfill the specified conditions.
++(negates the selection) Identical to \fB\-\-deselect\fR.
++
++.opt T
++Select all processes associated with this terminal. Identical to the
++\fBt\fR option without any argument.
++
+ .opt r
+ Restrict the selection to only running processes.
+
+@@ -212,10 +218,6 @@ An alternate description is that this option causes \fBps\fR to
+ list all processes owned by you (same EUID as \fBps\fR),
+ or to list all processes when used together with the \fBa\fR option.
+
+-.opt \-\-deselect
+-Select all processes except those that fulfill the specified conditions.
+-(negates the selection) Identical to \fB\-N\fR.
+-
+ .\" """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+ .PD
+ .PP
+@@ -224,6 +226,13 @@ These options accept a single argument in the form of a blank\-separated
+ or comma\-separated list. They can be used multiple times.
+ For\ example:\ \fBps\ \-p\ "1\ 2"\ \-p\ 3,4\fR
+ .P
++
++.opt \-\fI123\fR
++Identical to \fB\-\-sid\ \fI123\fR.
++
++.opt \fI123\fR
++Identical to \fB\-\-pid\ \fI123\fR.
++
+ .opt \-C \ cmdlist
+ Select by command name.
+ .br
+@@ -237,24 +246,6 @@ This selects the processes whose real group name or ID is in the
+ \fIgrplist\fR list. The real group ID identifies the group of the user
+ who created the process, see \fIgetgid\fR(2).
+
+-.opt U \ userlist
+-Select by effective user ID (EUID) or name.
+-.br
+-This selects the processes whose effective user name
+-or ID is in \fIuserlist\fR.
+-The effective user\ ID describes the user whose file
+-access permissions are used by the process
+-(see\ \fIgeteuid\fR(2)).
+-Identical to \fB\-u\fR and\ \fB\-\-user\fR.
+-
+-.opt \-U \ userlist
+-select by real user ID (RUID) or name.
+-.br
+-It selects the processes whose real user name or ID is in the
+-\fIuserlist\fR list.
+-The real user ID identifies the user who created the process,
+-see\ \fIgetuid\fR(2).
+-
+ .opt \-g \ grplist
+ Select by session OR by effective group name.
+ .br
+@@ -266,6 +257,17 @@ is completely numeric (as\ sessions\ are).
+ Group ID numbers will work only when some group names are also specified.
+ See the \fB\-s\fR and \fB\-\-group\fR options.
+
++.opt \-\-Group \ grplist
++Select by real group ID (RGID) or name. Identical to \fB\-G\fR.
++
++.opt \-\-group \ grplist
++Select by effective group ID (EGID) or name.
++.br
++This selects the processes whose effective group name or ID is in
++\fIgrouplist\fR. The effective group ID describes the group whose file
++access permissions are used by the process (see\ \fIgeteuid\fR(2)).
++The \fB\-g\fR option is often an alternative to\ \fB\-\-group\fR.
++
+ .opt p \ pidlist
+ Select by process ID. Identical to \fB\-p\fR and\ \fB\-\-pid\fR.
+
+@@ -275,12 +277,25 @@ Select by PID.
+ This selects the processes whose process ID numbers appear in
+ \fIpidlist\fR. Identical to \fBp\fR and\ \fB\-\-pid\fR.
+
++.opt \-\-pid \ pidlist
++Select by process\ ID. Identical to \fB\-p\fR\ and\ \fBp\fR.
++
++.opt \-\-ppid \ pidlist
++Select by parent process\ ID.
++This selects the processes
++with a parent\ process\ ID in \fRpidlist\fR.
++That\ is, it selects processes that are children
++of those listed in \fRpidlist\fR.
++
+ .opt \-s \ sesslist
+ Select by session ID.
+ .br
+ This selects the processes
+ with a session ID specified in\ \fIsesslist\fR.
+
++.opt \-\-sid \ sesslist
++Select by session\ ID. Identical to\ \fB\-s\fR.
++
+ .opt t \ ttylist
+ Select by tty. Nearly identical to \fB\-t\fR and \fB\-\-tty\fR,
+ but can also be used with an empty \fIttylist\fR to indicate
+@@ -297,6 +312,27 @@ Terminals (ttys, or screens for text output) can be specified in several
+ forms: /dev/ttyS1, ttyS1, S1.
+ A\ plain "\-" may be used to select processes not attached to any terminal.
+
++.opt \-\-tty \ ttylist
++Select by terminal. Identical to \fB\-t\fR and\ \fBt\fR.
++
++.opt U \ userlist
++Select by effective user ID (EUID) or name.
++.br
++This selects the processes whose effective user name
++or ID is in \fIuserlist\fR.
++The effective user\ ID describes the user whose file
++access permissions are used by the process
++(see\ \fIgeteuid\fR(2)).
++Identical to \fB\-u\fR and\ \fB\-\-user\fR.
++
++.opt \-U \ userlist
++select by real user ID (RUID) or name.
++.br
++It selects the processes whose real user name or ID is in the
++\fIuserlist\fR list.
++The real user ID identifies the user who created the process,
++see\ \fIgetuid\fR(2).
++
+ .opt \-u \ userlist
+ Select by effective user ID (EUID) or name.
+ .br
+@@ -305,46 +341,13 @@ This selects the processes whose effective user name or ID is in
+ access permissions are used by the process (see\ \fIgeteuid\fR(2)).
+ Identical to \fBU\fR and \fB\-\-user\fR.
+
+-.opt \-\-Group \ grplist
+-Select by real group ID (RGID) or name. Identical to \fB\-G\fR.
+-
+ .opt \-\-User \ userlist
+ Select by real user ID (RUID) or name. Identical to \fB\-U\fR.
+
+-.opt \-\-group \ grplist
+-Select by effective group ID (EGID) or name.
+-.br
+-This selects the processes whose effective group name or ID is in
+-\fIgrouplist\fR. The effective group ID describes the group whose file
+-access permissions are used by the process (see\ \fIgeteuid\fR(2)).
+-The \fB\-g\fR option is often an alternative to\ \fB\-\-group\fR.
+-
+-.opt \-\-pid \ pidlist
+-Select by process\ ID. Identical to \fB\-p\fR\ and\ \fBp\fR.
+-
+-.opt \-\-ppid \ pidlist
+-Select by parent process\ ID.
+-This selects the processes
+-with a parent\ process\ ID in \fRpidlist\fR.
+-That\ is, it selects processes that are children
+-of those listed in \fRpidlist\fR.
+-
+-.opt \-\-sid \ sesslist
+-Select by session\ ID. Identical to\ \fB\-s\fR.
+-
+-.opt \-\-tty \ ttylist
+-Select by terminal. Identical to \fB\-t\fR and\ \fBt\fR.
+-
+ .opt \-\-user \ userlist
+ Select by effective user ID (EUID) or name.
+ Identical to \fB\-u\fR and\ \fBU\fR.
+
+-.opt \-\fI123\fR
+-Identical to \fB\-\-sid\ \fI123\fR.
+-
+-.opt \fI123\fR
+-Identical to \fB\-\-pid\ \fI123\fR.
+-
+ .\" """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+ .PD
+ .PP
+@@ -353,38 +356,12 @@ These options are used to choose the information displayed by \fBps\fR.
+ The output may differ by personality.
+ .PP
+
+-.opt \-F
+-extra full format. See the \fB\-f\fR option, which \fB\-F\fR implies.
+-
+-.opt \-O \ format
+-is like \fB\-o\fR, but preloaded with some default columns.
+-Identical to \fB\-o\ pid,\fIformat\fB,state,tname,time,command\fR
+-or \fB\-o\ pid,\fIformat\fB,tname,time,cmd\fR, see\ \fB\-o\fR\ below.
+-
+-.opt O \ format
+-is preloaded \fBo\fR (overloaded).
+-.br
+-The BSD \fBO\fR option can act like \fB\-O\fR (user\-defined output
+-format with some common fields predefined) or can be used to specify
+-sort order. Heuristics are used to determine the behavior of this
+-option. To ensure that the desired behavior is obtained (sorting or
+-formatting), specify the option in some other way
+-(e.g. with \fB\-O\fR or \fB\-\-sort\fR).
+-When used as a formatting option, it is identical to \fB\-O\fR, with the
+-BSD\ personality.
+-
+-.opt \-M
+-Add a column of security data. Identical to \fBZ\fR. (for\ SE\ Linux)
+-
+-.opt X
+-Register format.
+-
+-.opt Z
+-Add a column of security data. Identical to \fB\-M\fR. (for\ SE\ Linux)
+-
+ .opt \-c
+ Show different scheduler information for the \fB\-l\fR option.
+
++.opt \-\-context
++Display security context format. (for\ SE\ Linux)
++
+ .opt \-f
+ does full\-format listing. This option can be combined with many
+ other UNIX\-style options to add additional columns. It also causes
+@@ -393,6 +370,12 @@ NLWP (number of threads) and LWP (thread ID) columns will be added.
+ See the \fBc\fR option, the format keyword \fBargs\fR, and the
+ format keyword \fBcomm\fR.
+
++.opt \-F
++extra full format. See the \fB\-f\fR option, which \fB\-F\fR implies.
++
++.opt \-\-format \ format
++user\-defined format. Identical to \fB\-o\fR and \fBo\fR.
++
+ .opt j
+ BSD job control format.
+
+@@ -405,6 +388,26 @@ display BSD long format.
+ .opt \-l
+ long format. The \fB\-y\fR option is often useful with this.
+
++.opt \-M
++Add a column of security data. Identical to \fBZ\fR. (for\ SE\ Linux)
++
++.opt O \ format
++is preloaded \fBo\fR (overloaded).
++.br
++The BSD \fBO\fR option can act like \fB\-O\fR (user\-defined output
++format with some common fields predefined) or can be used to specify
++sort order. Heuristics are used to determine the behavior of this
++option. To ensure that the desired behavior is obtained (sorting or
++formatting), specify the option in some other way
++(e.g. with \fB\-O\fR or \fB\-\-sort\fR).
++When used as a formatting option, it is identical to \fB\-O\fR, with the
++BSD\ personality.
++
++.opt \-O \ format
++is like \fB\-o\fR, but preloaded with some default columns.
++Identical to \fB\-o\ pid,\fIformat\fB,state,tname,time,command\fR
++or \fB\-o\ pid,\fIformat\fB,tname,time,cmd\fR, see\ \fB\-o\fR\ below.
++
+ .opt o \ format
+ specify user\-defined format. Identical to \fB\-o\fR and
+ \fB\-\-format\fR.
+@@ -440,15 +443,15 @@ display user\-oriented format
+ .opt v
+ display virtual memory format
+
++.opt X
++Register format.
++
+ .opt \-y
+ Do not show flags; show rss in place of addr.
+ This option can only be used with \fB\-l\fR.
+
+-.opt \-\-format \ format
+-user\-defined format. Identical to \fB\-o\fR and \fBo\fR.
+-
+-.opt \-\-context
+-Display security context format. (for\ SE\ Linux)
++.opt Z
++Add a column of security data. Identical to \fB\-M\fR. (for\ SE\ Linux)
+
+ .\" """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+ .PD
+@@ -459,37 +462,6 @@ Display security context format. (for\ SE\ Linux)
+ .\" .B C
+ .\" use raw CPU time for %CPU instead of decaying average
+
+-.opt \-H
+-show process hierarchy (forest)
+-
+-.opt N \ namelist
+-Specify namelist file. Identical to \fB\-n\fR, see \fB\-n\fR above.
+-
+-.opt O \ order
+-Sorting order. (overloaded)
+-.br
+-The BSD \fBO\fR option can act like \fB\-O\fR (user\-defined output
+-format with some common fields predefined) or can be used to specify
+-sort order. Heuristics are used to determine the behavior of this
+-option. To ensure that the desired behavior is obtained (sorting or
+-formatting), specify the option in some other way (e.g. with \fB\-O\fR
+-or \fB\-\-sort\fR).
+-
+-For sorting, obsolete BSD \fBO\fR option syntax is
+-\fBO\fR[\fB+\fR|\fB\-\fR]\fIk1\fR[,[\fB+\fR|\fB\-\fR]\fIk2\fR[,...]].
+-It orders the processes listing according to the multilevel sort specified by
+-the sequence of one\-letter short keys \fIk1\fR, \fIk2\fR, ... described
+-in the \fBOBSOLETE SORT KEYS\fR section below.
+-The\ "+" is currently optional,
+-merely re\-iterating the default direction on a key,
+-but may help to distinguish an \fBO\fR sort from an \fBO\fR format.
+-The\ "\-" reverses direction only on the key it precedes.
+-
+-.opt S
+-Sum up some information, such as CPU usage, from dead child processes
+-into their parent. This is useful for examining a system where a
+-parent process repeatedly forks off short\-lived children to do work.
+-
+ .opt c
+ Show the true command name. This is derived from the name of the
+ executable file, rather than from the argv value. Command arguments
+@@ -502,12 +474,24 @@ display the command arguments.
+ See the \fB\-f\fR option, the format keyword \fBargs\fR, and the
+ format keyword \fBcomm\fR.
+
++.opt \-\-cols \ n
++set screen width
++
++.opt \-\-columns \ n
++set screen width
++
++.opt \-\-cumulative
++include some dead child process data (as a sum with the parent)
++
+ .opt e
+ Show the environment after the command.
+
+ .opt f
+ ASCII\-art process hierarchy (forest)
+
++.opt \-\-forest
++ASCII art process tree
++
+ .opt h
+ No header. (or, one header per screen in the BSD personality)
+ .br
+@@ -521,6 +505,12 @@ current personality, you can use the long options \fB\-\-headers\fR
+ and \fB\-\-no\-headers\fR to enable printing headers each page or
+ disable headers entirely, respectively.
+
++.opt \-H
++show process hierarchy (forest)
++
++.opt \-\-headers
++repeat header lines, one per page of output
++
+ .opt k \ spec
+ specify sorting order. Sorting syntax is
+ [\fB+\fR|\fB\-\fR]\fIkey\fR[,[\fB+\fR|\fB\-\fR]\fIkey\fR[,...]]
+@@ -557,40 +547,47 @@ Without this option, the default search path for the namelist is:
+ .br
+ /System.map
+
++.opt \-\-lines \ n
++set screen height
++
+ .opt n
+ Numeric output for WCHAN and USER. (including all types of UID and GID)
+
+-.opt \-w
+-Wide output. Use this option twice for unlimited width.
+-
+-.opt w
+-Wide output. Use this option twice for unlimited width.
+-
+-.opt \-\-cols \ n
+-set screen width
+-
+-.opt \-\-columns \ n
+-set screen width
+-
+-.opt \-\-cumulative
+-include some dead child process data (as a sum with the parent)
++.opt N \ namelist
++Specify namelist file. Identical to \fB\-n\fR, see \fB\-n\fR above.
+
+-.opt \-\-forest
+-ASCII art process tree
++.opt O \ order
++Sorting order. (overloaded)
++.br
++The BSD \fBO\fR option can act like \fB\-O\fR (user\-defined output
++format with some common fields predefined) or can be used to specify
++sort order. Heuristics are used to determine the behavior of this
++option. To ensure that the desired behavior is obtained (sorting or
++formatting), specify the option in some other way (e.g. with \fB\-O\fR
++or \fB\-\-sort\fR).
+
+-.opt \-\-headers
+-repeat header lines, one per page of output
++For sorting, obsolete BSD \fBO\fR option syntax is
++\fBO\fR[\fB+\fR|\fB\-\fR]\fIk1\fR[,[\fB+\fR|\fB\-\fR]\fIk2\fR[,...]].
++It orders the processes listing according to the multilevel sort specified by
++the sequence of one\-letter short keys \fIk1\fR, \fIk2\fR, ... described
++in the \fBOBSOLETE SORT KEYS\fR section below.
++The\ "+" is currently optional,
++merely re\-iterating the default direction on a key,
++but may help to distinguish an \fBO\fR sort from an \fBO\fR format.
++The\ "\-" reverses direction only on the key it precedes.
+
+ .opt \-\-no\-headers
+ print no header line at all. \-\-no\-heading is an alias for this
+ option.
+
+-.opt \-\-lines \ n
+-set screen height
+-
+ .opt \-\-rows \ n
+ set screen height
+
++.opt S
++Sum up some information, such as CPU usage, from dead child processes
++into their parent. This is useful for examining a system where a
++parent process repeatedly forks off short\-lived children to do work.
++
+ .opt \-\-sort \ spec
+ specify sorting order. Sorting syntax is
+ [\fB+\fR|\fB\-\fR]\fIkey\fR[,[\fB+\fR|\fB\-\fR]\fIkey\fR[,...]]
+@@ -599,6 +596,12 @@ The\ "+" is optional since default direction is increasing numerical or
+ lexicographic order. Identical to\ \fBk\fR.
+ For example: \fBps\ jax\ \-\-sort=uid,\-ppid,+pid\fR
+
++.opt w
++Wide output. Use this option twice for unlimited width.
++
++.opt \-w
++Wide output. Use this option twice for unlimited width.
++
+ .opt \-\-width \ n
+ set screen width
+
+@@ -614,35 +617,35 @@ Show threads as if they were processes
+ .opt \-L
+ Show threads, possibly with LWP and NLWP columns
+
+-.opt \-T
+-Show threads, possibly with SPID column
+-
+ .opt m
+ Show threads after processes
+
+ .opt \-m
+ Show threads after processes
+
++.opt \-T
++Show threads, possibly with SPID column
++
+ .\" """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+ .PD
+ .PP
+ .SH "OTHER INFORMATION"
+ .PD 0
+
++.opt \-\-help
++Print a help message.
++
++.opt \-\-info
++Print debugging info.
++
+ .opt L
+ List all format specifiers.
+
+-.opt \-V
+-Print the procps version.
+-
+ .opt V
+ Print the procps version.
+
+-.opt \-\-help
+-Print a help message.
+-
+-.opt \-\-info
+-Print debugging info.
++.opt \-V
++Print the procps version.
+
+ .opt \-\-version
+ Print the procps version.
+--
+1.7.0
+
diff --git a/patches/procps-3.2.8/55_top_highlight.dpatch b/patches/procps-3.2.8/0053-top_highlight.patch
index df53c1399..2621f1715 100644
--- a/patches/procps-3.2.8/55_top_highlight.dpatch
+++ b/patches/procps-3.2.8/0053-top_highlight.patch
@@ -1,14 +1,18 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 55_top_highlight.dpatch by <csmall@debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Fix highlighting problem Closes: #351065
+From 8408efa4ad9bf469b957b3e84c13593499d9ed64 Mon Sep 17 00:00:00 2001
+From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
+Date: Fri, 19 Mar 2010 21:58:46 +0100
+Subject: [PATCH 53/70] top_highlight
-@DPATCH@
-diff -urNad procps-3.2.7~/top.c procps-3.2.7/top.c
---- procps-3.2.7~/top.c 2008-01-08 20:13:02.000000000 +1100
-+++ procps-3.2.7/top.c 2008-01-08 20:13:47.000000000 +1100
-@@ -3027,9 +3027,10 @@
+===================================================================
+---
+ top.c | 3 ++-
+ 1 files changed, 2 insertions(+), 1 deletions(-)
+
+diff --git a/top.c b/top.c
+index f6880b5..d86a311 100644
+--- a/top.c
++++ b/top.c
+@@ -3054,9 +3054,10 @@ static proc_t **summary_show (void)
snprintf(_z, sizeof(_z), f, ## va); \
snprintf(cbuf, sizeof(cbuf), "%s%s%s", \
q->capclr_rowhigh, \
@@ -20,3 +24,6 @@ diff -urNad procps-3.2.7~/top.c procps-3.2.7/top.c
pad += q->len_rowhigh; \
if (!(CHKw(q, Show_HIROWS) && 'R' == p->state)) pad += q->len_rownorm; \
} \
+--
+1.7.0
+
diff --git a/patches/procps-3.2.8/0054-top_nohz.patch b/patches/procps-3.2.8/0054-top_nohz.patch
new file mode 100644
index 000000000..2b6ec5a4e
--- /dev/null
+++ b/patches/procps-3.2.8/0054-top_nohz.patch
@@ -0,0 +1,25 @@
+From c09814258383e1c032c6df12ae96d5e56386daef Mon Sep 17 00:00:00 2001
+From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
+Date: Fri, 19 Mar 2010 21:58:46 +0100
+Subject: [PATCH 54/70] top_nohz
+
+===================================================================
+---
+ top.c | 1 +
+ 1 files changed, 1 insertions(+), 0 deletions(-)
+
+diff --git a/top.c b/top.c
+index d86a311..ea33989 100644
+--- a/top.c
++++ b/top.c
+@@ -2916,6 +2916,7 @@ static void summaryhlp (CPU_t *cpu, const char *pfx)
+ s_frme = cpu->s - cpu->s_sav;
+ n_frme = cpu->n - cpu->n_sav;
+ i_frme = TRIMz(cpu->i - cpu->i_sav);
++ if ((u_frme == 0) && (i_frme == 0)) i_frme = 100.0;
+ w_frme = cpu->w - cpu->w_sav;
+ x_frme = cpu->x - cpu->x_sav;
+ y_frme = cpu->y - cpu->y_sav;
+--
+1.7.0
+
diff --git a/patches/procps-3.2.8/65_fix_partition_format.dpatch b/patches/procps-3.2.8/0055-vmstat_part_format.patch
index d60f98627..3146ac808 100644
--- a/patches/procps-3.2.8/65_fix_partition_format.dpatch
+++ b/patches/procps-3.2.8/0055-vmstat_part_format.patch
@@ -1,15 +1,19 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 65_fix_partition_format.dpatch by Daniel Novotny (see
-## https://bugzilla.redhat.com/show_bug.cgi?id=485243 )
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: The contents of /proc/diskstats have changed since 2.6.25
+From f619f8629a5915c900f984c1caf44241ff077f32 Mon Sep 17 00:00:00 2001
+From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
+Date: Fri, 19 Mar 2010 21:58:46 +0100
+Subject: [PATCH 55/70] vmstat_part_format
-@DPATCH@
-diff -urNad procps-3.2.7~/proc/sysinfo.c procps-3.2.7/proc/sysinfo.c
---- procps-3.2.7~/proc/sysinfo.c 2009-05-27 18:33:13.443866133 +0000
-+++ procps-3.2.7/proc/sysinfo.c 2009-05-27 18:33:13.735867382 +0000
-@@ -780,6 +780,18 @@
+---
+ proc/sysinfo.c | 22 +++++++++++++++++++---
+ proc/sysinfo.h | 2 +-
+ vmstat.c | 2 +-
+ 3 files changed, 21 insertions(+), 5 deletions(-)
+
+diff --git a/proc/sysinfo.c b/proc/sysinfo.c
+index 8dbabdf..444ee5b 100644
+--- a/proc/sysinfo.c
++++ b/proc/sysinfo.c
+@@ -796,6 +796,18 @@ unsigned int getpartitions_num(struct disk_stat *disks, int ndisks){
}
/////////////////////////////////////////////////////////////////////////////
@@ -28,7 +32,7 @@ diff -urNad procps-3.2.7~/proc/sysinfo.c procps-3.2.7/proc/sysinfo.c
unsigned int getdiskstat(struct disk_stat **disks, struct partition_stat **partitions){
FILE* fd;
-@@ -787,6 +799,7 @@
+@@ -803,6 +815,7 @@ unsigned int getdiskstat(struct disk_stat **disks, struct partition_stat **parti
int cPartition = 0;
int fields;
unsigned dummy;
@@ -36,7 +40,7 @@ diff -urNad procps-3.2.7~/proc/sysinfo.c procps-3.2.7/proc/sysinfo.c
*disks = NULL;
*partitions = NULL;
-@@ -799,8 +812,9 @@
+@@ -815,8 +828,9 @@ unsigned int getdiskstat(struct disk_stat **disks, struct partition_stat **parti
fclose(fd);
break;
}
@@ -48,7 +52,7 @@ diff -urNad procps-3.2.7~/proc/sysinfo.c procps-3.2.7/proc/sysinfo.c
(*disks) = realloc(*disks, (cDisk+1)*sizeof(struct disk_stat));
sscanf(buff, " %*d %*d %15s %u %u %llu %u %u %u %llu %u %u %u %u",
//&disk_major,
-@@ -823,7 +837,9 @@
+@@ -839,7 +853,9 @@ unsigned int getdiskstat(struct disk_stat **disks, struct partition_stat **parti
}else{
(*partitions) = realloc(*partitions, (cPartition+1)*sizeof(struct partition_stat));
fflush(stdout);
@@ -59,10 +63,11 @@ diff -urNad procps-3.2.7~/proc/sysinfo.c procps-3.2.7/proc/sysinfo.c
//&part_major,
//&part_minor,
(*partitions)[cPartition].partition_name,
-diff -urNad procps-3.2.7~/proc/sysinfo.h procps-3.2.7/proc/sysinfo.h
---- procps-3.2.7~/proc/sysinfo.h 2009-05-27 18:32:49.000000000 +0000
-+++ procps-3.2.7/proc/sysinfo.h 2009-05-27 18:33:13.735867382 +0000
-@@ -113,7 +113,7 @@
+diff --git a/proc/sysinfo.h b/proc/sysinfo.h
+index e30a38b..494c4b3 100644
+--- a/proc/sysinfo.h
++++ b/proc/sysinfo.h
+@@ -113,7 +113,7 @@ typedef struct partition_stat{
unsigned parent_disk; // index into a struct disk_stat array
unsigned reads;
unsigned writes;
@@ -71,10 +76,11 @@ diff -urNad procps-3.2.7~/proc/sysinfo.h procps-3.2.7/proc/sysinfo.h
}partition_stat;
extern unsigned int getpartitions_num(struct disk_stat *disks, int ndisks);
-diff -urNad procps-3.2.7~/vmstat.c procps-3.2.7/vmstat.c
---- procps-3.2.7~/vmstat.c 2009-05-27 18:33:13.603867748 +0000
-+++ procps-3.2.7/vmstat.c 2009-05-27 18:33:13.735867382 +0000
-@@ -286,7 +286,7 @@
+diff --git a/vmstat.c b/vmstat.c
+index e0d3c23..e81a4ac 100644
+--- a/vmstat.c
++++ b/vmstat.c
+@@ -286,7 +286,7 @@ static int diskpartition_format(const char* partition_name){
struct disk_stat *disks;
struct partition_stat *partitions, *current_partition=NULL;
unsigned long ndisks, j, k, npartitions;
@@ -83,3 +89,6 @@ diff -urNad procps-3.2.7~/vmstat.c procps-3.2.7/vmstat.c
fDiskstat=fopen("/proc/diskstats","rb");
if(!fDiskstat){
+--
+1.7.0
+
diff --git a/patches/procps-3.2.8/0056-readproc_double_free.patch b/patches/procps-3.2.8/0056-readproc_double_free.patch
new file mode 100644
index 000000000..8a3084b2b
--- /dev/null
+++ b/patches/procps-3.2.8/0056-readproc_double_free.patch
@@ -0,0 +1,32 @@
+From 0a7cff0b81b32033591436d2bbc65f5c54e8fa3a Mon Sep 17 00:00:00 2001
+From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
+Date: Fri, 19 Mar 2010 21:58:46 +0100
+Subject: [PATCH 56/70] readproc_double_free
+
+---
+ proc/readproc.c | 2 ++
+ 1 files changed, 2 insertions(+), 0 deletions(-)
+
+diff --git a/proc/readproc.c b/proc/readproc.c
+index 9660799..4203071 100644
+--- a/proc/readproc.c
++++ b/proc/readproc.c
+@@ -828,6 +828,7 @@ proc_t* readproc(PROCTAB *restrict const PT, proc_t *restrict p) {
+
+ saved_p = p;
+ if(!p) p = xcalloc(p, sizeof *p); /* passed buf or alloced mem */
++ else memset(p, 0, sizeof *p);
+
+ for(;;){
+ // fills in the path, plus p->tid and p->tgid
+@@ -856,6 +857,7 @@ proc_t* readtask(PROCTAB *restrict const PT, const proc_t *restrict const p, pro
+
+ saved_t = t;
+ if(!t) t = xcalloc(t, sizeof *t); /* passed buf or alloced mem */
++ else memset(t, 0, sizeof *t);
+
+ // 1. got to fake a thread for old kernels
+ // 2. for single-threaded processes, this is faster (but must patch up stuff that differs!)
+--
+1.7.0
+
diff --git a/patches/procps-3.2.8/0057-vmstat_units.patch b/patches/procps-3.2.8/0057-vmstat_units.patch
new file mode 100644
index 000000000..ef2bb3e32
--- /dev/null
+++ b/patches/procps-3.2.8/0057-vmstat_units.patch
@@ -0,0 +1,70 @@
+From cc3d82aca91e1910e5dacb56f2b50e23eab66d73 Mon Sep 17 00:00:00 2001
+From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
+Date: Fri, 19 Mar 2010 21:58:46 +0100
+Subject: [PATCH 57/70] vmstat_units
+
+to stop some overflows of some kernel variables
+Bug-Debian: http://bugs.debian.org/558134
+Bug-Debian: http://bugs.debian.org/558361
+---
+ proc/sysinfo.c | 2 +-
+ vmstat.8 | 3 ++-
+ vmstat.c | 8 ++++----
+ 3 files changed, 7 insertions(+), 6 deletions(-)
+
+diff --git a/proc/sysinfo.c b/proc/sysinfo.c
+index 444ee5b..382c8dc 100644
+--- a/proc/sysinfo.c
++++ b/proc/sysinfo.c
+@@ -606,7 +606,7 @@ void meminfo(void){
+ );
+ head = tail+1;
+ if(!found) goto nextline;
+- *(found->slot) = strtoul(head,&tail,10);
++ *(found->slot) = (unsigned long)strtoull(head,&tail,10);
+ nextline:
+ tail = strchr(head, '\n');
+ if(!tail) break;
+diff --git a/vmstat.8 b/vmstat.8
+index c97826f..486224b 100644
+--- a/vmstat.8
++++ b/vmstat.8
+@@ -67,7 +67,8 @@ The \fB-D\fP reports some summary statistics about disk activity.
+ .PP
+ The \fB\-p\fP followed by some partition name for detailed statistics (2.5.70 or above required)
+ .PP
+-The \fB\-S\fP followed by k or K or m or M switches outputs between 1000, 1024, 1000000, or 1048576 bytes
++The \fB\-S\fP followed by k or K or m or M switches changes the units of
++ouput from bytes to outputs between 1000, 1024, 1000000, or 1048576 bytes. Note this does not change the swap (si/so) or block (bi/bo) fields.
+ .PP
+ The \fB\-V\fP switch results in displaying version information.
+ .PP
+diff --git a/vmstat.c b/vmstat.c
+index e81a4ac..cbbb094 100644
+--- a/vmstat.c
++++ b/vmstat.c
+@@ -209,8 +209,8 @@ static void new_format(void) {
+ unitConvert(kb_swap_used), unitConvert(kb_main_free),
+ unitConvert(a_option?kb_inactive:kb_main_buffers),
+ unitConvert(a_option?kb_active:kb_main_cached),
+- (unsigned)( (*pswpin * unitConvert(kb_per_page) * hz + divo2) / Div ),
+- (unsigned)( (*pswpout * unitConvert(kb_per_page) * hz + divo2) / Div ),
++ (unsigned)( (*pswpin * kb_per_page * hz + divo2) / Div ),
++ (unsigned)( (*pswpout * kb_per_page * hz + divo2) / Div ),
+ (unsigned)( (*pgpgin * hz + divo2) / Div ),
+ (unsigned)( (*pgpgout * hz + divo2) / Div ),
+ (unsigned)( (*intr * hz + divo2) / Div ),
+@@ -258,8 +258,8 @@ static void new_format(void) {
+ unitConvert(kb_swap_used),unitConvert(kb_main_free),
+ unitConvert(a_option?kb_inactive:kb_main_buffers),
+ unitConvert(a_option?kb_active:kb_main_cached),
+- (unsigned)( ( (pswpin [tog] - pswpin [!tog])*unitConvert(kb_per_page)+sleep_half )/sleep_time ), /*si*/
+- (unsigned)( ( (pswpout[tog] - pswpout[!tog])*unitConvert(kb_per_page)+sleep_half )/sleep_time ), /*so*/
++ (unsigned)( ( (pswpin [tog] - pswpin [!tog])*kb_per_page+sleep_half )/sleep_time ), /*si*/
++ (unsigned)( ( (pswpout[tog] - pswpout[!tog])*kb_per_page+sleep_half )/sleep_time ), /*so*/
+ (unsigned)( ( pgpgin [tog] - pgpgin [!tog] +sleep_half )/sleep_time ), /*bi*/
+ (unsigned)( ( pgpgout[tog] - pgpgout[!tog] +sleep_half )/sleep_time ), /*bo*/
+ (unsigned)( ( intr [tog] - intr [!tog] +sleep_half )/sleep_time ), /*in*/
+--
+1.7.0
+
diff --git a/patches/procps-3.2.8/0058-skill_null_argv.patch b/patches/procps-3.2.8/0058-skill_null_argv.patch
new file mode 100644
index 000000000..69b00298b
--- /dev/null
+++ b/patches/procps-3.2.8/0058-skill_null_argv.patch
@@ -0,0 +1,25 @@
+From 52ec990a0823501e28015c2e9607dc6cfc7542ba Mon Sep 17 00:00:00 2001
+From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
+Date: Fri, 19 Mar 2010 21:58:46 +0100
+Subject: [PATCH 58/70] skill_null_argv
+
+---
+ skill.c | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/skill.c b/skill.c
+index c8af9fd..d9a1af9 100644
+--- a/skill.c
++++ b/skill.c
+@@ -307,7 +307,7 @@ no_more_args:
+ long pid;
+ char *endp;
+ pid = strtol(argv[argc],&endp,10);
+- if(!*endp){
++ if(!*endp && (endp != argv[argc])){
+ if(!kill((pid_t)pid,signo)) continue;
+ // The UNIX standard contradicts itself. If at least one process
+ // is matched for each PID (as if processes could share PID!) and
+--
+1.7.0
+
diff --git a/patches/procps-3.2.8/0059-skill_multiarg.patch b/patches/procps-3.2.8/0059-skill_multiarg.patch
new file mode 100644
index 000000000..32a3ada9f
--- /dev/null
+++ b/patches/procps-3.2.8/0059-skill_multiarg.patch
@@ -0,0 +1,25 @@
+From 26cd8eee99742fd69b006b4b8467aefc230ae61d Mon Sep 17 00:00:00 2001
+From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
+Date: Fri, 19 Mar 2010 21:58:46 +0100
+Subject: [PATCH 59/70] skill_multiarg
+
+---
+ skill.c | 2 ++
+ 1 files changed, 2 insertions(+), 0 deletions(-)
+
+diff --git a/skill.c b/skill.c
+index d9a1af9..2d90ad0 100644
+--- a/skill.c
++++ b/skill.c
+@@ -464,6 +464,8 @@ selection_collection:
+ switch(force){ /* fall through each data type */
+ default: skillsnice_usage();
+ case 0: /* not forced */
++ if (argptr && argptr[0] == '-') /* its the next argument not a parameter */
++ continue;
+ case 't':
+ if(argc){
+ struct stat sbuf;
+--
+1.7.0
+
diff --git a/patches/procps-3.2.8/0060-proc_version_constructor.patch b/patches/procps-3.2.8/0060-proc_version_constructor.patch
new file mode 100644
index 000000000..5a4d27182
--- /dev/null
+++ b/patches/procps-3.2.8/0060-proc_version_constructor.patch
@@ -0,0 +1,52 @@
+From 5b7bf25c0b54723789abfd5f46779ae6ae49e2c3 Mon Sep 17 00:00:00 2001
+From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
+Date: Fri, 19 Mar 2010 21:58:46 +0100
+Subject: [PATCH 60/70] proc_version_constructor
+
+---
+ proc/sysinfo.c | 1 +
+ proc/version.c | 3 +--
+ proc/version.h | 1 +
+ 3 files changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/proc/sysinfo.c b/proc/sysinfo.c
+index 382c8dc..c804f49 100644
+--- a/proc/sysinfo.c
++++ b/proc/sysinfo.c
+@@ -213,6 +213,7 @@ static int check_for_privs(void){
+ static void init_libproc(void) __attribute__((constructor));
+ static void init_libproc(void){
+ have_privs = check_for_privs();
++ init_Linux_version(); /* Must be called before we check code */
+ // ought to count CPUs in /proc/stat instead of relying
+ // on glibc, which foolishly tries to parse /proc/cpuinfo
+ //
+diff --git a/proc/version.c b/proc/version.c
+index 7930367..cc215bc 100644
+--- a/proc/version.c
++++ b/proc/version.c
+@@ -33,8 +33,7 @@ void display_version(void) {
+
+ int linux_version_code;
+
+-static void init_Linux_version(void) __attribute__((constructor));
+-static void init_Linux_version(void) {
++void init_Linux_version(void) {
+ int x = 0, y = 0, z = 0; /* cleared in case sscanf() < 3 */
+ FILE *fp;
+ char buf[256];
+diff --git a/proc/version.h b/proc/version.h
+index 3769b84..04a75e9 100644
+--- a/proc/version.h
++++ b/proc/version.h
+@@ -14,6 +14,7 @@
+
+ EXTERN_C_BEGIN
+
++void init_Linux_version(void); /* Get Linux version */
+ extern void display_version(void); /* display suite version */
+ extern const char procps_version[]; /* global buf for suite version */
+
+--
+1.7.0
+
diff --git a/patches/procps-3.2.8/0061-pmaps_smaps.patch b/patches/procps-3.2.8/0061-pmaps_smaps.patch
new file mode 100644
index 000000000..fde235825
--- /dev/null
+++ b/patches/procps-3.2.8/0061-pmaps_smaps.patch
@@ -0,0 +1,150 @@
+From 37502350f47277ad647ed77ad75e345b76e313c5 Mon Sep 17 00:00:00 2001
+From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
+Date: Fri, 19 Mar 2010 21:58:46 +0100
+Subject: [PATCH 61/70] pmaps_smaps
+
+---
+ pmap.c | 86 ++++++++++++++++++++++++++++++++++++++++++++++++++-------------
+ 1 files changed, 68 insertions(+), 18 deletions(-)
+
+diff --git a/pmap.c b/pmap.c
+index 6b865fc..3dcb81e 100644
+--- a/pmap.c
++++ b/pmap.c
+@@ -126,24 +126,37 @@ static int one_proc(proc_t *p){
+ char buf[32];
+ char mapbuf[9600];
+ char cmdbuf[512];
++ FILE *fp;
+ unsigned long total_shared = 0ul;
+ unsigned long total_private_readonly = 0ul;
+ unsigned long total_private_writeable = 0ul;
+
++ char *cp2=NULL;
++ unsigned long long rss = 0ull;
++ unsigned long long private_dirty = 0ull;
++ unsigned long long shared_dirty = 0ull;
++ unsigned long long total_rss = 0ull;
++ unsigned long long total_private_dirty = 0ull;
++ unsigned long long total_shared_dirty = 0ull;
++
+ // Overkill, but who knows what is proper? The "w" prog
+ // uses the tty width to determine this.
+ int maxcmd = 0xfffff;
+
+ sprintf(buf,"/proc/%u/maps",p->tgid);
+- if(!freopen(buf, "r", stdin)) return 1;
++ if ( (fp = fopen(buf, "r")) == NULL) return 1;
++ if (x_option) {
++ sprintf(buf,"/proc/%u/smaps",p->tgid);
++ if ( (fp = freopen(buf, "r", fp)) == NULL) return 1;
++ }
+
+ escape_command(cmdbuf, p, sizeof cmdbuf, &maxcmd, ESC_ARGS|ESC_BRACKETS);
+ printf("%u: %s\n", p->tgid, cmdbuf);
+
+ if(!q_option && (x_option|d_option)){
+ if(x_option){
+- if(sizeof(KLONG)==4) printf("Address Kbytes RSS Anon Locked Mode Mapping\n");
+- else printf("Address Kbytes RSS Anon Locked Mode Mapping\n");
++ if(sizeof(KLONG)==4) printf("Address Kbytes RSS Dirty Mode Mapping\n");
++ else printf("Address Kbytes RSS Dirty Mode Mapping\n");
+ }
+ if(d_option){
+ if(sizeof(KLONG)==4) printf("Address Kbytes Mode Offset Device Mapping\n");
+@@ -151,12 +164,54 @@ static int one_proc(proc_t *p){
+ }
+ }
+
+- while(fgets(mapbuf,sizeof mapbuf,stdin)){
++ while(fgets(mapbuf,sizeof mapbuf,fp)){
+ char flags[32];
+ char *tmp; // to clean up unprintables
+- unsigned KLONG start, end, diff;
++ unsigned KLONG start, end, diff=0;
+ unsigned long long file_offset, inode;
+ unsigned dev_major, dev_minor;
++ unsigned long long smap_value;
++ char smap_key[20];
++
++ /* hex values are lower case or numeric, keys are upper */
++ if (mapbuf[0] >= 'A' && mapbuf[0] <= 'Z') {
++ /* Its a key */
++ if (sscanf(mapbuf,"%20[^:]: %llu", smap_key, &smap_value) == 2) {
++ if (strncmp("Rss", smap_key, 3) == 0) {
++ rss = smap_value;
++ total_rss += smap_value;
++ continue;
++ }
++ if (strncmp("Shared_Dirty", smap_key, 12) == 0) {
++ shared_dirty = smap_value;
++ total_shared_dirty += smap_value;
++ continue;
++ }
++ if (strncmp("Private_Dirty", smap_key, 13) == 0) {
++ private_dirty = smap_value;
++ total_private_dirty += smap_value;
++ continue;
++ }
++ if (strncmp("Swap", smap_key, 4) == 0) { /*doesnt matter as long as last*/
++ printf(
++ (sizeof(KLONG)==8)
++ ? "%016"KLF"x %7lu %7llu %7llu %s %s\n"
++ : "%08lx %7lu %7llu %7llu %s %s\n",
++ start,
++ (unsigned long)(diff>>10),
++ rss,
++ (private_dirty + shared_dirty),
++ flags,
++ cp2
++ );
++ /* reset some counters */
++ rss = shared_dirty = private_dirty = 0ull;
++ continue;
++ }
++ /* Other keys */
++ continue;
++ }
++ }
+ sscanf(mapbuf,"%"KLF"x-%"KLF"x %31s %Lx %x:%x %Lu", &start, &end, flags, &file_offset, &dev_major, &dev_minor, &inode);
+
+ if(start > range_high)
+@@ -186,16 +241,9 @@ static int one_proc(proc_t *p){
+ flags[5] = '\0';
+
+ if(x_option){
+- const char *cp = mapping_name(p, start, diff, mapbuf, 0, dev_major, dev_minor, inode);
+- printf(
+- (sizeof(KLONG)==8)
+- ? "%016"KLF"x %7lu - - - %s %s\n"
+- : "%08lx %7lu - - - %s %s\n",
+- start,
+- (unsigned long)(diff>>10),
+- flags,
+- cp
+- );
++ cp2 = mapping_name(p, start, diff, mapbuf, 0, dev_major, dev_minor, inode);
++ /* printed with the keys */
++ continue;
+ }
+ if(d_option){
+ const char *cp = mapping_name(p, start, diff, mapbuf, 0, dev_major, dev_minor, inode);
+@@ -232,10 +280,12 @@ static int one_proc(proc_t *p){
+ if(!q_option){
+ if(x_option){
+ if(sizeof(KLONG)==8){
+- printf("---------------- ------ ------ ------ ------\n");
++ printf("---------------- ------ ------ ------\n");
+ printf(
+- "total kB %15ld - - -\n",
+- (total_shared + total_private_writeable + total_private_readonly) >> 10
++ "total kB %15ld %7llu %7llu\n",
++ (total_shared + total_private_writeable + total_private_readonly) >> 10,
++ total_rss, (total_shared_dirty+total_private_dirty)
++
+ );
+ }else{
+ printf("-------- ------- ------- ------- -------\n");
+--
+1.7.0
+
diff --git a/patches/procps-3.2.8/0062-top_numeric_args.patch b/patches/procps-3.2.8/0062-top_numeric_args.patch
new file mode 100644
index 000000000..d1487741e
--- /dev/null
+++ b/patches/procps-3.2.8/0062-top_numeric_args.patch
@@ -0,0 +1,109 @@
+From 3742765f0bf30142c8f7d1510a86b0babe80e6e6 Mon Sep 17 00:00:00 2001
+From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
+Date: Fri, 19 Mar 2010 21:58:46 +0100
+Subject: [PATCH 62/70] top_numeric_args
+
+---
+ top.c | 48 ++++++++++++++++++++++++++++++++++++------------
+ 1 files changed, 36 insertions(+), 12 deletions(-)
+
+diff --git a/top.c b/top.c
+index ea33989..e194244 100644
+--- a/top.c
++++ b/top.c
+@@ -32,6 +32,7 @@
+ #include <stdarg.h>
+ #include <stdio.h>
+ #include <stdlib.h>
++#include <math.h>
+ #include <string.h>
+
+ // Foul POS defines all sorts of stuff...
+@@ -1825,8 +1826,12 @@ static void parse_args (char **args)
+
+ while (*args) {
+ const char *cp = *(args++);
++ if (*cp!='-') {
++ std_err(fmtmk("unknown argument '%c'\nusage:\t%s%s" , *cp, Myname, usage));
++ }
+
+- while (*cp) {
++ for(++cp; *cp; cp++) {
++ char *end;
+ switch (*cp) {
+ case '\0':
+ case '-':
+@@ -1842,8 +1847,15 @@ static void parse_args (char **args)
+ else if (*args) cp = *args++;
+ else std_err("-d requires argument");
+ /* a negative delay will be dealt with shortly... */
+- if (sscanf(cp, "%f", &tmp_delay) != 1)
+- std_err(fmtmk("bad delay '%s'", cp));
++ errno=0;
++ if (( (fabs(tmp_delay=strtod(cp, &end))==HUGE_VAL &&
++ errno==ERANGE) ||
++ (tmp_delay==0 && errno!=0) ||
++ end==cp ||
++ end!=cp+strlen(cp))) {
++ std_err(fmtmk("bad delay '%s'", cp));
++ }
++ cp=-1+end;
+ break;
+ case 'H':
+ TOGw(Curwin, Show_THREADS);
+@@ -1859,8 +1871,15 @@ static void parse_args (char **args)
+ if (cp[1]) cp++;
+ else if (*args) cp = *args++;
+ else std_err("-n requires argument");
+- if (sscanf(cp, "%d", &Loops) != 1 || Loops < 1)
+- std_err(fmtmk("bad iterations arg '%s'", cp));
++ errno=0;
++ if ((((Loops=strtol(cp, &end, 0))==LONG_MIN ||
++ Loops==LONG_MAX) &&
++ errno==ERANGE) ||
++ end==cp ||
++ end!=cp+strlen(cp) || Loops<1) {
++ std_err(fmtmk("bad iterations arg '%s'", cp));
++ }
++ cp=-1+end;
+ break;
+ case 'p':
+ do {
+@@ -1868,11 +1887,19 @@ static void parse_args (char **args)
+ selection_type = 'p';
+ if (cp[1]) cp++;
+ else if (*args) cp = *args++;
+- else std_err("-p argument missing");
++ else std_err("-p requires argument");
+ if (Monpidsidx >= MONPIDMAX)
+ std_err(fmtmk("pid limit (%d) exceeded", MONPIDMAX));
+- if (sscanf(cp, "%d", &Monpids[Monpidsidx]) != 1 || Monpids[Monpidsidx] < 0)
+- std_err(fmtmk("bad pid '%s'", cp));
++ errno=0;
++ if ((((Monpids[Monpidsidx]=strtol(cp, &end, 0))==LONG_MIN ||
++ Monpids[Monpidsidx]==LONG_MAX) &&
++ errno==ERANGE) ||
++ end==cp ||
++ Monpids[Monpidsidx]<1) {
++ std_err(fmtmk("bad pid '%s'", cp));
++ }
++ cp=-1+end;
++
+ if (!Monpids[Monpidsidx])
+ Monpids[Monpidsidx] = getpid();
+ Monpidsidx++;
+@@ -1918,10 +1945,7 @@ static void parse_args (char **args)
+ , *cp, Myname, usage));
+
+ } /* end: switch (*cp) */
+-
+- /* advance cp and jump over any numerical args used above */
+- if (*cp) cp += strspn(&cp[1], "- ,.1234567890") + 1;
+- } /* end: while (*cp) */
++ } /* end: for (; *cp) */
+ } /* end: while (*args) */
+
+ /* fixup delay time, maybe... */
+--
+1.7.0
+
diff --git a/patches/procps-3.2.8/0063-top_1_swap.patch b/patches/procps-3.2.8/0063-top_1_swap.patch
new file mode 100644
index 000000000..e488385e4
--- /dev/null
+++ b/patches/procps-3.2.8/0063-top_1_swap.patch
@@ -0,0 +1,34 @@
+From 6a4504ffe207c72f1f4646f46db4d4076e154c89 Mon Sep 17 00:00:00 2001
+From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
+Date: Fri, 19 Mar 2010 21:58:46 +0100
+Subject: [PATCH 63/70] top_1_swap
+
+---
+ top.1 | 8 ++++----
+ 1 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/top.1 b/top.1
+index 0ce1c62..5b44828 100644
+--- a/top.1
++++ b/top.1
+@@ -401,13 +401,13 @@ A task's currently used share of available \*(MP.
+ o:\fB VIRT\fR \*(EM Virtual Image (kb)
+ The total amount of \*(MV used by the task.
+ It includes all code, data and shared libraries plus pages that have been
+-swapped out.
+-
+-VIRT = SWAP + RES.
++swapped out and pages that have been mapped but not used.
+
+ .TP 3
+ p:\fB SWAP\fR \*(EM Swapped size (kb)
+-The swapped out portion of a task's total \*(MV image.
++Memory that is not resident but is present in a task. This is memory that
++has been swapped out but could include additional non-resident memory.
++This column is calculated by subtracting \*(MP from \*(MV.
+
+ .TP 3
+ q:\fB RES\fR \*(EM Resident size (kb)
+--
+1.7.0
+
diff --git a/patches/procps-3.2.8/0064-w_userproc.patch b/patches/procps-3.2.8/0064-w_userproc.patch
new file mode 100644
index 000000000..d16462f5b
--- /dev/null
+++ b/patches/procps-3.2.8/0064-w_userproc.patch
@@ -0,0 +1,25 @@
+From 3350dba35edadb332e7e86baaa514c19c8067223 Mon Sep 17 00:00:00 2001
+From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
+Date: Fri, 19 Mar 2010 21:58:46 +0100
+Subject: [PATCH 64/70] w_userproc
+
+---
+ w.c | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/w.c b/w.c
+index 48a02be..107b9fc 100644
+--- a/w.c
++++ b/w.c
+@@ -171,7 +171,7 @@ static const proc_t *getproc(const utmp_t *restrict const u, const char *restric
+ secondbest = tmp;
+ }
+ if(!ignoreuser && uid != tmp->euid && uid != tmp->ruid) continue;
+- if(tmp->tgid != tmp->tpgid) continue;
++ if(tmp->pgrp != tmp->tpgid) continue;
+ if(best && tmp->start_time <= best->start_time) continue;
+ best = tmp;
+ }
+--
+1.7.0
+
diff --git a/patches/procps-3.2.8/0065-sysinfo_kfreebsd_hertz.patch b/patches/procps-3.2.8/0065-sysinfo_kfreebsd_hertz.patch
new file mode 100644
index 000000000..7b792889d
--- /dev/null
+++ b/patches/procps-3.2.8/0065-sysinfo_kfreebsd_hertz.patch
@@ -0,0 +1,31 @@
+From df11ed5cbcac1bcf18799bf5c4df7b0c6a26b639 Mon Sep 17 00:00:00 2001
+From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
+Date: Fri, 19 Mar 2010 21:58:46 +0100
+Subject: [PATCH 65/70] sysinfo_kfreebsd_hertz
+
+---
+ proc/sysinfo.c | 8 ++++++++
+ 1 files changed, 8 insertions(+), 0 deletions(-)
+
+diff --git a/proc/sysinfo.c b/proc/sysinfo.c
+index c804f49..65d94d7 100644
+--- a/proc/sysinfo.c
++++ b/proc/sysinfo.c
+@@ -230,6 +230,14 @@ static void init_libproc(void){
+ fputs("2.4+ kernel w/o ELF notes? -- report this\n", stderr);
+ }
+ #endif
++#if defined(__FreeBSD_kernel__) || defined(__FreeBSD__)
++ /* On FreeBSD the Hertz hack is unrelaible, there is no ELF note and
++ * Hertz isn't defined in asm/params.h
++ * See Debian Bug #460331
++ */
++ Hertz = 100;
++ return;
++#endif
+ old_Hertz_hack();
+ }
+
+--
+1.7.0
+
diff --git a/patches/procps-3.2.8/0066-ps_1_flt_output.patch b/patches/procps-3.2.8/0066-ps_1_flt_output.patch
new file mode 100644
index 000000000..a8e9e6039
--- /dev/null
+++ b/patches/procps-3.2.8/0066-ps_1_flt_output.patch
@@ -0,0 +1,40 @@
+From bb71519ca889076afa450fcfd15229c49ba44442 Mon Sep 17 00:00:00 2001
+From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
+Date: Fri, 19 Mar 2010 21:58:47 +0100
+Subject: [PATCH 66/70] ps_1_flt_output
+
+---
+ ps/ps.1 | 10 +++++++++-
+ 1 files changed, 9 insertions(+), 1 deletions(-)
+
+diff --git a/ps/ps.1 b/ps/ps.1
+index 6ba31dc..f07dc82 100644
+--- a/ps/ps.1
++++ b/ps/ps.1
+@@ -4,7 +4,7 @@
+ .\" Quick hack conversion by Albert Cahalan, 1998.
+ .\" Licensed under version 2 of the Gnu General Public License.
+ .\"
+-.TH PS 1 "July 28, 2004" "Linux" "Linux User's Manual"
++.TH PS 1 "February 25, 2010" "Linux" "Linux User's Manual"
+ .\"
+ .\" To render this page:
+ .\" groff -t -b -man -X -P-resolution -P100 -Tps ps.1 &
+@@ -1084,6 +1084,14 @@ lwp (light weight process, or thread) ID of the lwp being reported.
+ (alias\ \fBspid\fR,\ \fBtid\fR).
+ T}
+
++maj_flt MAJFLT T{
++The number of major page faults that have occured with this process.
++T}
++
++min_flt MINFLT T{
++The number of minor page faults that have occured with this process.
++T}
++
+ ni NI T{
+ nice value. This ranges from 19 (nicest) to \-20 (not\ nice to\ others),
+ see\ \fInice\fR(1). (alias\ \fBnice\fR).
+--
+1.7.0
+
diff --git a/patches/procps-3.2.8/0067-watch_ansi_colour.patch b/patches/procps-3.2.8/0067-watch_ansi_colour.patch
new file mode 100644
index 000000000..3d0b01fb9
--- /dev/null
+++ b/patches/procps-3.2.8/0067-watch_ansi_colour.patch
@@ -0,0 +1,193 @@
+From cda40ddb76fa6619d86bf675ae0cc816f16f26c9 Mon Sep 17 00:00:00 2001
+From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
+Date: Fri, 19 Mar 2010 21:58:47 +0100
+Subject: [PATCH 67/70] watch_ansi_colour
+
+---
+ watch.1 | 7 ++++-
+ watch.c | 93 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
+ 2 files changed, 96 insertions(+), 4 deletions(-)
+
+diff --git a/watch.1 b/watch.1
+index c5f17c4..aecbfeb 100644
+--- a/watch.1
++++ b/watch.1
+@@ -1,4 +1,4 @@
+-.TH WATCH 1 "2009 May 11" " " "Linux User's Manual"
++.TH WATCH 1 "2010 Mar 01" " " "Linux User's Manual"
+ .SH NAME
+ watch \- execute a program periodically, showing output fullscreen
+ .SH SYNOPSIS
+@@ -8,6 +8,7 @@ watch \- execute a program periodically, showing output fullscreen
+ .RB [ \-n
+ .IR seconds ]
+ .RB [ \-\-beep ]
++.RB [ \-\-color ]
+ .RB [ \-\-differences[=\fIcumulative\fP]]
+ .RB [ \-\-errexit ]
+ .RB [ \-\-exec ]
+@@ -75,6 +76,10 @@ or
+ options, which will cause
+ .B watch
+ to exit if the return value from the program is non-zero.
++.PP
++By default \fBwatch\fR will normally not pass escape characters, however
++if you use the \fI\-\-c\fR or \fI\-\-color\fR option, then
++\fBwatch\fR will interpret ANSI color sequences for the foreground.
+
+ .SH NOTE
+ Note that
+diff --git a/watch.c b/watch.c
+index 7ab57ab..af7229e 100644
+--- a/watch.c
++++ b/watch.c
+@@ -37,6 +37,7 @@
+ #endif
+
+ static struct option longopts[] = {
++ {"color", no_argument, 0, 'c' },
+ {"differences", optional_argument, 0, 'd'},
+ {"help", no_argument, 0, 'h'},
+ {"interval", required_argument, 0, 'n'},
+@@ -50,7 +51,7 @@ static struct option longopts[] = {
+ };
+
+ static char usage[] =
+- "Usage: %s [-bdhnptvx] [--beep] [--differences[=cumulative]] [--exec] [--help] [--interval=<n>] [--no-title] [--version] <command>\n";
++ "Usage: %s [-bcdhnptvx] [--beep] [--color] [--differences[=cumulative]] [--exec] [--help] [--interval=<n>] [--no-title] [--version] <command>\n";
+
+ static char *progname;
+
+@@ -62,6 +63,74 @@ static int show_title = 2; // number of lines used, 2 or 0
+ static int precise_timekeeping = 0;
+
+ #define min(x,y) ((x) > (y) ? (y) : (x))
++#define MAX_ANSIBUF 10
++
++static void init_ansi_colors(void)
++{
++ int i;
++ short ncurses_colors[] = {
++ COLOR_BLACK, COLOR_RED, COLOR_GREEN, COLOR_YELLOW, COLOR_BLUE,
++ COLOR_MAGENTA, COLOR_CYAN, COLOR_WHITE };
++
++ for (i=0; i< 8; i++)
++ init_pair(i+1, ncurses_colors[i], -1);
++}
++
++static void set_ansi_attribute(const int attrib)
++{
++ switch (attrib)
++ {
++ case -1:
++ return;
++ case 0:
++ standend();
++ return;
++ case 1:
++ attrset(A_BOLD);
++ return;
++ }
++ if (attrib >= 30 && attrib <= 37) {
++ color_set(attrib-29,NULL);
++ return;
++ }
++}
++
++static void process_ansi(FILE *fp)
++{
++ int i,c, num1, num2;
++ char buf[MAX_ANSIBUF];
++ char *nextnum;
++
++
++ c= getc(fp);
++ if (c != '[') {
++ ungetc(c, fp);
++ return;
++ }
++ for(i=0; i<MAX_ANSIBUF; i++)
++ {
++ c = getc(fp);
++ if (c == 'm') //COLOUR SEQUENCE ENDS in 'm'
++ {
++ buf[i] = '\0';
++ break;
++ }
++ if (c < '0' && c > '9' && c != ';')
++ {
++ while(--i >= 0)
++ ungetc(buf[i],fp);
++ return;
++ }
++ buf[i] = (char)c;
++ }
++ num1 = strtol(buf, &nextnum, 10);
++ if (nextnum != buf && nextnum[0] != '\0')
++ num2 = strtol(nextnum+1, NULL, 10);
++ else
++ num2 = -1;
++ set_ansi_attribute(num1);
++ set_ansi_attribute(num2);
++}
+
+ static void do_usage(void) NORETURN;
+ static void do_usage(void)
+@@ -187,6 +256,7 @@ main(int argc, char *argv[])
+ option_differences_cumulative = 0,
+ option_exec = 0,
+ option_beep = 0,
++ option_color = 0,
+ option_errexit = 0,
+ option_help = 0, option_version = 0;
+ double interval = 2;
+@@ -205,12 +275,15 @@ main(int argc, char *argv[])
+ setlocale(LC_ALL, "");
+ progname = argv[0];
+
+- while ((optc = getopt_long(argc, argv, "+bed::hn:pvtx", longopts, (int *) 0))
++ while ((optc = getopt_long(argc, argv, "+bced::hn:pvtx", longopts, (int *) 0))
+ != EOF) {
+ switch (optc) {
+ case 'b':
+ option_beep = 1;
+ break;
++ case 'c':
++ option_color = 1;
++ break;
+ case 'd':
+ option_differences = 1;
+ if (optarg)
+@@ -319,6 +392,14 @@ main(int argc, char *argv[])
+ /* Set up tty for curses use. */
+ curses_started = 1;
+ initscr();
++ if (option_color) {
++ if (has_colors()) {
++ start_color();
++ use_default_colors();
++ init_ansi_colors();
++ } else
++ option_color = 0;
++ }
+ nonl();
+ noecho();
+ cbreak();
+@@ -460,7 +541,13 @@ main(int argc, char *argv[])
+ }while (c != WEOF && !isprint(c) && c<128
+ && wcwidth(c) == 0
+ && c != L'\n'
+- && c != L'\t');
++ && c != L'\t'
++ && (c != L'\033' || option_color != 1));
++ if (c == L'\033' && option_color == 1) {
++ x--;
++ process_ansi(p);
++ continue;
++ }
+ if (c == L'\n')
+ if (!oldeolseen && x == 0) {
+ x = -1;
+--
+1.7.0
+
diff --git a/patches/procps-3.2.8/0068-top_username_parse.patch b/patches/procps-3.2.8/0068-top_username_parse.patch
new file mode 100644
index 000000000..0ebcf6156
--- /dev/null
+++ b/patches/procps-3.2.8/0068-top_username_parse.patch
@@ -0,0 +1,25 @@
+From 9c1f9f99a5826be5069fc0ef66a8d3ada4e488b2 Mon Sep 17 00:00:00 2001
+From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
+Date: Fri, 19 Mar 2010 21:58:47 +0100
+Subject: [PATCH 68/70] top_username_parse
+
+---
+ top.c | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/top.c b/top.c
+index e194244..62f4077 100644
+--- a/top.c
++++ b/top.c
+@@ -1924,7 +1924,7 @@ static void parse_args (char **args)
+ errmsg = parse_uid(cp, &selection_uid);
+ if (errmsg) std_err(errmsg);
+ selection_type = 'u';
+- cp += snprintf(Curwin->colusrnam, USRNAMSIZ-1, "%s", cp); // FIXME: junk
++ cp += snprintf(Curwin->colusrnam, USRNAMSIZ-1, "%s", cp)-1; // FIXME: junk
+ } while(0);
+ break;
+ case 'U':
+--
+1.7.0
+
diff --git a/patches/procps-3.2.8/fix-install.diff b/patches/procps-3.2.8/0069-don-t-install-stuff-that-was-not-built.patch
index 42f12c9a5..b7f3a8380 100644
--- a/patches/procps-3.2.8/fix-install.diff
+++ b/patches/procps-3.2.8/0069-don-t-install-stuff-that-was-not-built.patch
@@ -1,5 +1,7 @@
+From 97bc8fbfedfc3d823891ec6497c187cb8e1ace06 Mon Sep 17 00:00:00 2001
From: Michael Olbrich <m.olbrich@pengutronix.de>
-Subject: don't install stuff that was not built
+Date: Fri, 19 Mar 2010 21:59:28 +0100
+Subject: [PATCH 69/70] don't install stuff that was not built
We don't built everything in ptxdist. This Patch makes sure that
'make install' won't fail if 'skill' or 'pgrep' is not there.
@@ -7,13 +9,13 @@ We don't built everything in ptxdist. This Patch makes sure that
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
---
Makefile | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
+ 1 files changed, 2 insertions(+), 2 deletions(-)
-Index: b/Makefile
-===================================================================
+diff --git a/Makefile b/Makefile
+index abddb6e..5efabb3 100644
--- a/Makefile
+++ b/Makefile
-@@ -228,8 +228,8 @@ $(MANFILES) : all
+@@ -229,8 +229,8 @@ $(MANFILES) : all
$(install) --mode a=r $(notdir $@) $@
install: $(filter-out $(SKIP) $(addprefix $(DESTDIR),$(SKIP)),$(INSTALL))
@@ -24,3 +26,6 @@ Index: b/Makefile
############ prog.c --> prog.o
+--
+1.7.0
+
diff --git a/patches/procps-3.2.8/0070-remove-frename-registers-option-due-to-ICE-on-gcc-4..patch b/patches/procps-3.2.8/0070-remove-frename-registers-option-due-to-ICE-on-gcc-4..patch
new file mode 100644
index 000000000..fa5f509c3
--- /dev/null
+++ b/patches/procps-3.2.8/0070-remove-frename-registers-option-due-to-ICE-on-gcc-4..patch
@@ -0,0 +1,25 @@
+From 88fe43f463b9a2ad6ae5ac4be85de66af7b142ef Mon Sep 17 00:00:00 2001
+From: Marc Kleine-Budde <mkl@pengutronix.de>
+Date: Fri, 19 Mar 2010 22:03:13 +0100
+Subject: [PATCH 70/70] remove -frename-registers option, due to ICE on gcc-4.3.1
+
+Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
+---
+ Makefile | 1 -
+ 1 files changed, 0 insertions(+), 1 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 5efabb3..a83df5e 100644
+--- a/Makefile
++++ b/Makefile
+@@ -142,7 +142,6 @@ ALL_CFLAGS += $(call check_gcc,-Wstrict-aliasing,)
+ # if not debugging, enable things that could confuse gdb
+ ifeq (,$(findstring -g,$(filter -g%,$(CFLAGS))))
+ ALL_CFLAGS += $(call check_gcc,-fweb,)
+-ALL_CFLAGS += $(call check_gcc,-frename-registers,)
+ ALL_CFLAGS += $(call check_gcc,-fomit-frame-pointer,)
+ endif
+
+--
+1.7.0
+
diff --git a/patches/procps-3.2.8/10_free.1.dpatch b/patches/procps-3.2.8/10_free.1.dpatch
deleted file mode 100644
index 75eb73846..000000000
--- a/patches/procps-3.2.8/10_free.1.dpatch
+++ /dev/null
@@ -1,66 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 10_free.1.dpatch by <csmall@debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: -g flag documented #286900
-## DP: hypen escaped #282168
-
-@DPATCH@
-diff -urNad procps-3.2.7~/free.1 procps-3.2.7/free.1
---- procps-3.2.7~/free.1 2004-02-24 08:35:55.000000000 +1100
-+++ procps-3.2.7/free.1 2007-10-04 22:32:20.000000000 +1000
-@@ -5,7 +5,7 @@
- .SH NAME
- free \- Display amount of free and used memory in the system
- .SH SYNOPSIS
--.BR "free " [ "\-b" " | " "\-k" " | " "\-m" "] [" "\-o" "] [" "\-s"
-+.BR "free " [ "\-b" " | " "\-k" " | " "\-m" " | " "\-g" "] [" "\-o" "] [" "\-s"
- .I delay
- .RB "] [" "\-t" "] [" "\-V" ]
- .SH DESCRIPTION
-@@ -13,32 +13,34 @@
- memory in the system, as well as the buffers used by the kernel.
- The shared memory column should be ignored; it is obsolete.
- .SS Options
--The \fB-b\fP switch displays the amount of memory in bytes; the
--\fB-k\fP switch (set by default) displays it in kilobytes; the \fB-m\fP
--switch displays it in megabytes.
-+The \fB\-b\fP switch displays the amount of memory in bytes; the
-+\fB\-k\fP switch (set by default) displays it in kilobytes; the \fB\-m\fP
-+switch displays it in megabytes; the \fB\-g\fP switch displays it in
-+gigabytes.
- .PP
--The \fB-t\fP switch displays a line containing the totals.
-+The \fB\-t\fP switch displays a line containing the totals.
- .PP
--The \fB-o\fP switch disables the display of a "buffer adjusted" line.
--If the -o option is not specified, \fBfree\fP subtracts buffer memory
-+The \fB\-o\fP switch disables the display of a "buffer adjusted" line.
-+If the \-o option is not specified, \fBfree\fP subtracts buffer memory
- from the used memory and adds it to the free memory reported.
- .PP
--The \fB-s\fP switch activates continuous polling \fIdelay\fP seconds apart. You
-+The \fB\-s\fP switch activates continuous polling \fIdelay\fP seconds apart. You
- may actually specify any floating point number for \fIdelay\fP,
- .BR usleep (3)
- is used for microsecond resolution delay times.
- .PP
- The \fB\-V\fP displays version information.
- .SH FILES
--.ta
--.IR /proc/meminfo "\-\- memory information"
--.fi
-+.TP
-+.I /proc/meminfo
-+memory information
-+
-
- .SH "SEE ALSO"
- .BR ps (1),
- .BR slabtop (1),
- .BR vmstat (8),
--.BR top(1)
-+.BR top (1)
-
- .SH AUTHORS
- Written by Brian Edmonds.
diff --git a/patches/procps-3.2.8/10_skill_perror.dpatch b/patches/procps-3.2.8/10_skill_perror.dpatch
deleted file mode 100644
index a2dbb6c27..000000000
--- a/patches/procps-3.2.8/10_skill_perror.dpatch
+++ /dev/null
@@ -1,18 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 10_skill_perror.dpatch by <csmall@debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: kill prints perror #468363
-
-@DPATCH@
-diff -urNad procps-3.2.8~/skill.c procps-3.2.8/skill.c
---- procps-3.2.8~/skill.c 2009-05-11 22:10:28.000000000 +1000
-+++ procps-3.2.8/skill.c 2009-05-11 22:15:13.000000000 +1000
-@@ -317,6 +317,7 @@
- // The standard says we return non-zero if an error occurs. Thus if
- // killing two processes gives 0 for one and EPERM for the other,
- // we are required to return both zero and non-zero. Quantum kill???
-+ perror("kill");
- exitvalue = 1;
- continue;
- }
diff --git a/patches/procps-3.2.8/10_tload.1.dpatch b/patches/procps-3.2.8/10_tload.1.dpatch
deleted file mode 100644
index ce660d621..000000000
--- a/patches/procps-3.2.8/10_tload.1.dpatch
+++ /dev/null
@@ -1,19 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 10_tload.1.dpatch by <csmall@debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Reword tload.1 man page for the alarm
-
-@DPATCH@
-diff -urNad procps-3.2.7~/tload.1 procps-3.2.7/tload.1
---- procps-3.2.7~/tload.1 2002-10-07 07:26:12.000000000 +1000
-+++ procps-3.2.7/tload.1 2006-06-26 12:44:39.000000000 +1000
-@@ -39,7 +39,7 @@
- .BI "\-d" " delay"
- option sets the time argument for an
- .BR alarm (2);
--if -d 0 is specified, the alarm is set to 0, which will never send the
-+if \-d 0 is specified, the alarm is set to 0, which will never send the
- .B SIGALRM
- and update the display.
-
diff --git a/patches/procps-3.2.8/10_top_no_openproc.dpatch b/patches/procps-3.2.8/10_top_no_openproc.dpatch
deleted file mode 100644
index 46d708798..000000000
--- a/patches/procps-3.2.8/10_top_no_openproc.dpatch
+++ /dev/null
@@ -1,23 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 10_top_no_openproc.dpatch by <csmall@debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Exit top if cannot openproc #378695
-
-@DPATCH@
-diff -urNad procps-3.2.7~/top.c procps-3.2.7/top.c
---- procps-3.2.7~/top.c 2009-01-09 17:04:25.000000000 +1100
-+++ procps-3.2.7/top.c 2009-01-09 17:43:06.000000000 +1100
-@@ -1097,6 +1097,12 @@
- else
- PT = openproc(flags);
-
-+ if (PT==NULL) {
-+ std_err(strerror(errno));
-+ exit(1);
-+ }
-+
-+
- // i) Allocated Chunks: *Existing* table; refresh + reuse
- if (!(CHKw(Curwin, Show_THREADS))) {
- while (curmax < savmax) {
diff --git a/patches/procps-3.2.8/10_w_time.dpatch b/patches/procps-3.2.8/10_w_time.dpatch
deleted file mode 100644
index c820441ef..000000000
--- a/patches/procps-3.2.8/10_w_time.dpatch
+++ /dev/null
@@ -1,19 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 30_w_time.dpatch by <csmall@debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Let fprintf print locale-friendly seconds #252575
-
-@DPATCH@
-diff -urNad procps-3.2.7~/w.c procps-3.2.7/w.c
---- procps-3.2.7~/w.c 2009-01-09 15:56:04.000000000 +1100
-+++ procps-3.2.7/w.c 2009-01-09 16:14:56.000000000 +1100
-@@ -83,7 +83,7 @@
- else if (t > 60) /* > 1 minute */
- fprintf(fout, " %2lu:%02u ", t/60, (unsigned) t%60);
- else
-- fprintf(fout, " %2lu.%02us", t, centi_sec);
-+ fprintf(fout, " %2lu.%02us", t, centi_sec);
- }
-
- /**** stat the device file to get an idle time */
diff --git a/patches/procps-3.2.8/20_Makefile_lib64.dpatch b/patches/procps-3.2.8/20_Makefile_lib64.dpatch
deleted file mode 100644
index 09225ac30..000000000
--- a/patches/procps-3.2.8/20_Makefile_lib64.dpatch
+++ /dev/null
@@ -1,53 +0,0 @@
-#! /bin/sh -e
-## 20_Makefile_lib64.dpatch by Craig Small <csmall@debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Removed entry about /lib64 as it breaks the sparc
-
-[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
-patch_opts="${patch_opts:--f --no-backup-if-mismatch}"
-
-if [ $# -ne 1 ]; then
- echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
- exit 1
-fi
-case "$1" in
- -patch) patch $patch_opts -p1 < $0;;
- -unpatch) patch $patch_opts -p1 -R < $0;;
- *)
- echo >&2 "`basename $0`: script expects -patch|-unpatch as argum
-ent"
- exit 1;;
-esac
-
-exit 0
-@DPATCH@
-
-[mkl: ported to procps-3.2.8]
-Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
----
- Makefile | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-Index: procps-3.2.8/Makefile
-===================================================================
---- procps-3.2.8.orig/Makefile
-+++ procps-3.2.8/Makefile
-@@ -30,7 +30,7 @@ ln_sf := ln -sf
- install := install -D --owner 0 --group 0
-
- # Lame x86-64 /lib64 and /usr/lib64 abomination:
--lib64 := lib$(shell [ -d /lib64 ] && echo 64)
-+lib64 := lib
-
- usr/bin := $(DESTDIR)/usr/bin/
- bin := $(DESTDIR)/bin/
-@@ -127,7 +127,7 @@ check_gcc = $(shell if $(CC) $(ALL_CPPFL
- # produce separate executables for ppc and ppc64, s390 and s390x,
- # i386 and x86-64, mips and mips64, sparc and sparc64, and so on.
- # Failure to do so will cause data corruption.
--m64 := $(call check_gcc,-m64,$(call check_gcc,-mabi=64,))
-+#m64 := $(call check_gcc,-m64,$(call check_gcc,-mabi=64,))
- ALL_CFLAGS += $(m64)
-
- ALL_CFLAGS += $(call check_gcc,-Wdeclaration-after-statement,)
diff --git a/patches/procps-3.2.8/20_module_mk_shared.dpatch b/patches/procps-3.2.8/20_module_mk_shared.dpatch
deleted file mode 100644
index 7b3cd678c..000000000
--- a/patches/procps-3.2.8/20_module_mk_shared.dpatch
+++ /dev/null
@@ -1,36 +0,0 @@
-#! /bin/sh -e
-## 20_module_mk_shared.dpatch by Craig Small <csmall@debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Made SHARED variable overwritable
-
-[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
-patch_opts="${patch_opts:--f --no-backup-if-mismatch}"
-
-if [ $# -ne 1 ]; then
- echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
- exit 1
-fi
-case "$1" in
- -patch) patch $patch_opts -p1 < $0;;
- -unpatch) patch $patch_opts -p1 -R < $0;;
- *)
- echo >&2 "`basename $0`: script expects -patch|-unpatch as argum
-ent"
- exit 1;;
-esac
-
-exit 0
-@DPATCH@
-diff -urNad procps-3.2.7~/proc/module.mk procps-3.2.7/proc/module.mk
---- procps-3.2.7~/proc/module.mk 2006-06-27 08:24:51.000000000 +1000
-+++ procps-3.2.7/proc/module.mk 2006-06-27 08:25:43.000000000 +1000
-@@ -17,7 +17,7 @@
- # numbers for future use, the ELF soname can be set equal to the
- # file name until some future date when a stable ABI is declared.
-
--SHARED := 1
-+SHARED ?= 1
-
- # for lib$(NAME).so and /usr/include/($NAME) and such
- NAME := proc
diff --git a/patches/procps-3.2.8/20_sysinfo_c.dpatch b/patches/procps-3.2.8/20_sysinfo_c.dpatch
deleted file mode 100644
index 96e176947..000000000
--- a/patches/procps-3.2.8/20_sysinfo_c.dpatch
+++ /dev/null
@@ -1,25 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 20_sysinfo_c.dpatch by <csmall@debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Dont find elf note for non-linux Bug #378157
-
-@DPATCH@
-diff -urNad procps-3.2.7~/proc/sysinfo.c procps-3.2.7/proc/sysinfo.c
---- procps-3.2.7~/proc/sysinfo.c 2006-06-25 16:41:48.000000000 +1000
-+++ procps-3.2.7/proc/sysinfo.c 2007-10-04 22:07:48.000000000 +1000
-@@ -218,12 +218,13 @@
- // _SC_NPROCESSORS_ONLN returns 1, which should work OK
- smp_num_cpus = sysconf(_SC_NPROCESSORS_ONLN);
- if(smp_num_cpus<1) smp_num_cpus=1; /* SPARC glibc is buggy */
--
-+#ifdef __linux__
- if(linux_version_code > LINUX_VERSION(2, 4, 0)){
- Hertz = find_elf_note(AT_CLKTCK);
- if(Hertz!=NOTE_NOT_FOUND) return;
- fputs("2.4+ kernel w/o ELF notes? -- report this\n", stderr);
- }
-+#endif
- old_Hertz_hack();
- }
-
diff --git a/patches/procps-3.2.8/20_watch_8bitchar.dpatch b/patches/procps-3.2.8/20_watch_8bitchar.dpatch
deleted file mode 100644
index 1be95ddda..000000000
--- a/patches/procps-3.2.8/20_watch_8bitchar.dpatch
+++ /dev/null
@@ -1,19 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 20_watch_8bitchar.dpatch by <csmall@debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Make char unsigned
-
-@DPATCH@
-diff -urNad procps-3.2.8~/watch.c procps-3.2.8/watch.c
---- procps-3.2.8~/watch.c 2009-05-11 22:20:14.000000000 +1000
-+++ procps-3.2.8/watch.c 2009-05-11 22:22:52.000000000 +1000
-@@ -297,7 +297,7 @@
- move(y, x);
- if (option_differences) {
- chtype oldch = inch();
-- char oldc = oldch & A_CHARTEXT;
-+ unsigned char oldc = oldch & A_CHARTEXT;
- attr = !first_screen
- && ((char)c != oldc
- ||
diff --git a/patches/procps-3.2.8/30_library_map_freeproc.dpatch b/patches/procps-3.2.8/30_library_map_freeproc.dpatch
deleted file mode 100644
index 2842c89b6..000000000
--- a/patches/procps-3.2.8/30_library_map_freeproc.dpatch
+++ /dev/null
@@ -1,35 +0,0 @@
-#! /bin/sh -e
-## 30_library_map_freeproc.dpatch by Craig Small <csmall@debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Added freeproc to library.map
-
-[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
-patch_opts="${patch_opts:--f --no-backup-if-mismatch}"
-
-if [ $# -ne 1 ]; then
- echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
- exit 1
-fi
-case "$1" in
- -patch) patch $patch_opts -p1 < $0;;
- -unpatch) patch $patch_opts -p1 -R < $0;;
- *)
- echo >&2 "`basename $0`: script expects -patch|-unpatch as argum
-ent"
- exit 1;;
-esac
-
-exit 0
-@DPATCH@
---- procps-3.2.0.orig/proc/library.map
-+++ procps-3.2.0/proc/library.map
-@@ -7,7 +7,7 @@
-
- readproc; readtask; readproctab; readproctab2; look_up_our_self; escape_command;
- escape_str; escape_strlist;
-- openproc; closeproc;
-+ openproc; closeproc; freeproc;
- tty_to_dev; dev_to_tty; open_psdb_message; open_psdb; lookup_wchan;
- display_version; procps_version; linux_version_code;
- Hertz; smp_num_cpus;
diff --git a/patches/procps-3.2.8/30_pgrep_start_time.dpatch b/patches/procps-3.2.8/30_pgrep_start_time.dpatch
deleted file mode 100644
index f68fd569e..000000000
--- a/patches/procps-3.2.8/30_pgrep_start_time.dpatch
+++ /dev/null
@@ -1,36 +0,0 @@
-#! /bin/sh -e
-## 30_pgrep_start_time.dpatch by Craig Small <csmall@debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: pgrep.c saved_start_time was missed
-
-[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
-patch_opts="${patch_opts:--f --no-backup-if-mismatch}"
-
-if [ $# -ne 1 ]; then
- echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
- exit 1
-fi
-case "$1" in
- -patch) patch $patch_opts -p1 < $0;;
- -unpatch) patch $patch_opts -p1 -R < $0;;
- *)
- echo >&2 "`basename $0`: script expects -patch|-unpatch as argum
-ent"
- exit 1;;
-esac
-
-exit 0
-@DPATCH@
---- procps-3.2.0.orig/pgrep.c
-+++ procps-3.2.0/pgrep.c
-@@ -367,7 +367,8 @@
- preg = do_regcomp ();
-
- if (opt_newest) saved_start_time = 0ULL;
-- if (opt_oldest) saved_start_time = ~0ULL;
-+ else
-+ saved_start_time = ~0ULL;
- if (opt_newest) saved_pid = 0;
- if (opt_oldest) saved_pid = INT_MAX;
-
diff --git a/patches/procps-3.2.8/30_readproc_c.dpatch b/patches/procps-3.2.8/30_readproc_c.dpatch
deleted file mode 100644
index 8c83e8810..000000000
--- a/patches/procps-3.2.8/30_readproc_c.dpatch
+++ /dev/null
@@ -1,45 +0,0 @@
-#! /bin/sh -e
-## 30_readproc_c.dpatch by Craig Small <csmall@debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: readproc.c some type conversion help
-## DP: return if unable to open /proc
-
-[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
-patch_opts="${patch_opts:--f --no-backup-if-mismatch}"
-
-if [ $# -ne 1 ]; then
- echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
- exit 1
-fi
-case "$1" in
- -patch) patch $patch_opts -p1 < $0;;
- -unpatch) patch $patch_opts -p1 -R < $0;;
- *)
- echo >&2 "`basename $0`: script expects -patch|-unpatch as argum
-ent"
- exit 1;;
-esac
-
-exit 0
-@DPATCH@
---- procps-3.2.0.orig/proc/readproc.c
-+++ procps-3.2.0/proc/readproc.c
-@@ -162,7 +162,7 @@
- // examine a field name (hash and compare)
- base:
- if(unlikely(!*S)) break;
-- entry = table[63 & (asso[S[3]] + asso[S[2]] + asso[S[0]])];
-+ entry = table[63 & (asso[(int)S[3]] + asso[(int)S[2]] + asso[(int)S[0]])];
- colon = strchr(S, ':');
- if(unlikely(!colon)) break;
- if(unlikely(colon[1]!='\t')) break;
-@@ -888,6 +888,8 @@
- else
- PT = openproc(flags);
- va_end(ap);
-+ if (!PT)
-+ return 0;
- do { /* read table: */
- tab = xrealloc(tab, (n+1)*sizeof(proc_t*));/* realloc as we go, using */
- tab[n] = readproc_direct(PT, NULL); /* final null to terminate */
diff --git a/patches/procps-3.2.8/30_tload_no_optargs.dpatch b/patches/procps-3.2.8/30_tload_no_optargs.dpatch
deleted file mode 100644
index 02f23cb2f..000000000
--- a/patches/procps-3.2.8/30_tload_no_optargs.dpatch
+++ /dev/null
@@ -1,36 +0,0 @@
-#! /bin/sh -e
-## 30_tload_no_optargs.dpatch by Craig Small <csmall@debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Removed unneeded optarg and optind variables form tload.c
-
-[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
-patch_opts="${patch_opts:--f --no-backup-if-mismatch}"
-
-if [ $# -ne 1 ]; then
- echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
- exit 1
-fi
-case "$1" in
- -patch) patch $patch_opts -p1 < $0;;
- -unpatch) patch $patch_opts -p1 -R < $0;;
- *)
- echo >&2 "`basename $0`: script expects -patch|-unpatch as argum
-ent"
- exit 1;;
-esac
-
-exit 0
-@DPATCH@
---- procps-3.2.0.orig/tload.c
-+++ procps-3.2.0/tload.c
-@@ -30,9 +30,6 @@
- static int dly=5;
- static jmp_buf jb;
-
--extern int optind;
--extern char *optarg;
--
- static void alrm(int signo)
- {
- (void)signo;
diff --git a/patches/procps-3.2.8/30_w-columns.dpatch b/patches/procps-3.2.8/30_w-columns.dpatch
deleted file mode 100644
index 57c94aeda..000000000
--- a/patches/procps-3.2.8/30_w-columns.dpatch
+++ /dev/null
@@ -1,34 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 30_w-columns.dpatch by <csmall@localhost.localdomain>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: use COLUMNS environment if TIOCGWINSZ fails
-
-@DPATCH@
-diff -urNad --exclude=CVS --exclude=.svn ./w.c /tmp/dpep-work.0retPU/procps-3.2.6/w.c
---- ./w.c 2005-10-31 12:41:33.000000000 +1100
-+++ /tmp/dpep-work.0retPU/procps-3.2.6/w.c 2005-10-31 12:41:55.000000000 +1100
-@@ -231,10 +231,10 @@
-
- /***** main */
- int main(int argc, char **argv) {
-- char *user = NULL;
-+ char *user = NULL, *p;
- utmp_t *u;
- struct winsize win;
-- int header=1, longform=1, from=1, args, maxcmd=80, ch;
-+ int header=1, longform=1, from=1, args, maxcmd, ch;
-
- #ifndef W_SHOWFROM
- from = 0;
-@@ -267,6 +267,10 @@
-
- if (ioctl(1, TIOCGWINSZ, &win) != -1 && win.ws_col > 0)
- maxcmd = win.ws_col;
-+ else if (p = getenv("COLUMNS"))
-+ maxcmd = atoi(p);
-+ else
-+ maxcmd = 80;
- if (maxcmd < 71) {
- fprintf(stderr, "%d column window is too narrow\n", maxcmd);
- exit(1);
diff --git a/patches/procps-3.2.8/45_proc_complain_unmounted_proc.dpatch b/patches/procps-3.2.8/45_proc_complain_unmounted_proc.dpatch
deleted file mode 100644
index c34e618b4..000000000
--- a/patches/procps-3.2.8/45_proc_complain_unmounted_proc.dpatch
+++ /dev/null
@@ -1,21 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 45_proc_complain_unmounted_proc.dpatch by <hesso@hesso.pool.math.tu-berlin.de>
-##
-## DP: Complain when /proc/version cannot be found instead of
-## DP: exiting silently.
-
-@DPATCH@
---- procps-3.2.7/proc/version.cO 2007-08-06 16:18:41.000000000 +0200
-+++ procps-3.2.7/proc/version.c 2007-08-06 16:19:28.000000000 +0200
-@@ -39,8 +39,10 @@
- FILE *fp;
- char buf[256];
-
-- if ( (fp=fopen("/proc/version","r")) == NULL) /* failure implies impending death */
-+ if ( (fp=fopen("/proc/version","r")) == NULL) {
-+ fprintf(stderr, "Cannot find /proc/version - is /proc mounted?\n");
- exit(1);
-+ }
- if (fgets(buf, 256, fp) == NULL) {
- fprintf(stderr, "Cannot read kernel version from /proc/version\n");
- fclose(fp);
diff --git a/patches/procps-3.2.8/50_dev_null_makefile_fix.dpatch b/patches/procps-3.2.8/50_dev_null_makefile_fix.dpatch
deleted file mode 100644
index 7132b0f88..000000000
--- a/patches/procps-3.2.8/50_dev_null_makefile_fix.dpatch
+++ /dev/null
@@ -1,19 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## dev_null_makefile_fix.dpatch by <xaiki@gonzo>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Make sure Makefile doesnt zot random files while checking GCC
-
-@DPATCH@
-diff -urNad procps-3.2.6~/Makefile procps-3.2.6/Makefile
---- procps-3.2.6~/Makefile 2005-10-30 07:27:04.000000000 +0100
-+++ procps-3.2.6/Makefile 2005-12-20 02:57:41.000000000 +0100
-@@ -119,7 +119,7 @@
- # Unlike the kernel one, this check_gcc goes all the way to
- # producing an executable. There might be a -m64 that works
- # until you go looking for a 64-bit curses library.
--check_gcc = $(shell if $(CC) $(ALL_CPPFLAGS) $(ALL_CFLAGS) dummy.c $(ALL_LDFLAGS) $(1) -o /dev/null $(CURSES) > /dev/null 2>&1; then echo "$(1)"; else echo "$(2)"; fi ;)
-+check_gcc = $(shell if $(CC) $(ALL_CPPFLAGS) $(ALL_CFLAGS) dummy.c $(ALL_LDFLAGS) $(1) -o will_this_file_really_exist.tmp $(CURSES) > /dev/null 2>&1; then echo "$(1)"; else echo "$(2)"; fi ; rm -f will_this_file_really_exist.tmp)
-
- # Be 64-bit if at all possible. In a cross-compiling situation, one may
- # do "make m64=-m32 lib64=lib" to produce 32-bit executables. DO NOT
diff --git a/patches/procps-3.2.8/50_top_mintime.dpatch b/patches/procps-3.2.8/50_top_mintime.dpatch
deleted file mode 100644
index c38f889b8..000000000
--- a/patches/procps-3.2.8/50_top_mintime.dpatch
+++ /dev/null
@@ -1,20 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 50_top_mintime.dpatch by <csmall@debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Checks minimum time is valid
-
-@DPATCH@
-diff -urNad procps-3.2.7~/top.c procps-3.2.7/top.c
---- procps-3.2.7~/top.c 2007-10-04 21:58:56.000000000 +1000
-+++ procps-3.2.7/top.c 2007-10-04 21:59:24.000000000 +1000
-@@ -2535,7 +2535,8 @@
- else {
- float tmp =
- get_float(fmtmk("Change delay from %.1f to", Rc.delay_time));
-- if (tmp > -1) Rc.delay_time = tmp;
-+ if (tmp == 0.0) show_msg("\aNot valid");
-+ else if (tmp > 0) Rc.delay_time = tmp;
- }
- break;
-
diff --git a/patches/procps-3.2.8/55_pgrep_usage_exitcode.dpatch b/patches/procps-3.2.8/55_pgrep_usage_exitcode.dpatch
deleted file mode 100644
index c6dabb5d7..000000000
--- a/patches/procps-3.2.8/55_pgrep_usage_exitcode.dpatch
+++ /dev/null
@@ -1,17 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 55_pgrep_usage_exitcode.dpatch by <hesso@pool.math.tu-berlin.de>
-##
-## DP: Distinguish between invalid commandline parameters and '-?'.
-
-@DPATCH@
---- procps-3.2.7.orig/pgrep.c 2007-08-06 16:35:30.000000000 +0200
-+++ procps-3.2.7/pgrep.c 2007-08-06 16:35:06.000000000 +0200
-@@ -678,7 +678,7 @@
- // case 'z': // Solaris: match by zone ID
- // break;
- case '?':
-- usage (opt);
-+ usage (optopt?optopt:opt);
- break;
- }
- }
diff --git a/patches/procps-3.2.8/60_top_nohz.dpatch b/patches/procps-3.2.8/60_top_nohz.dpatch
deleted file mode 100644
index 6b7390fdd..000000000
--- a/patches/procps-3.2.8/60_top_nohz.dpatch
+++ /dev/null
@@ -1,18 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 60_top_nohz.dpatch by <fabbione@sunfire.int.fabbione.net>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Handle idle time calculations correctly when running with NOHZ.
-
-@DPATCH@
-diff -urNad procps-3.2.7~/top.c procps-3.2.7/top.c
---- procps-3.2.7~/top.c 2006-06-25 08:41:48.000000000 +0200
-+++ procps-3.2.7/top.c 2007-07-20 12:50:00.000000000 +0200
-@@ -2886,6 +2886,7 @@
- s_frme = cpu->s - cpu->s_sav;
- n_frme = cpu->n - cpu->n_sav;
- i_frme = TRIMz(cpu->i - cpu->i_sav);
-+ if ((u_frme == 0) && (i_frme == 0)) i_frme = 100.0;
- w_frme = cpu->w - cpu->w_sav;
- x_frme = cpu->x - cpu->x_sav;
- y_frme = cpu->y - cpu->y_sav;
diff --git a/patches/procps-3.2.8/README b/patches/procps-3.2.8/README
deleted file mode 100644
index e2de56465..000000000
--- a/patches/procps-3.2.8/README
+++ /dev/null
@@ -1,8 +0,0 @@
-From: Marc Kleine-Budde <mkl@pengutronix.de>
-Subject: import patches from debian's procps
-
-this is basially the patches from:
-http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-1.diff.gz
-taken dpatch squeezed into quilt :)
-
-Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
diff --git a/patches/procps-3.2.8/fix-unknown-HZ-arm-diff b/patches/procps-3.2.8/fix-unknown-HZ-arm-diff
deleted file mode 100644
index 197fcea44..000000000
--- a/patches/procps-3.2.8/fix-unknown-HZ-arm-diff
+++ /dev/null
@@ -1,38 +0,0 @@
-From: Marc Kleine-Budde <mkl@pengutronix.de>
-Subject: fix "Unknown HZ value! (94) Assume 100." on arm systems
-
-For more info, see:
-http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=460331
-
-Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
----
- proc/sysinfo.c | 2 +-
- proc/version.c | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-Index: procps-3.2.8/proc/sysinfo.c
-===================================================================
---- procps-3.2.8.orig/proc/sysinfo.c
-+++ procps-3.2.8/proc/sysinfo.c
-@@ -210,7 +210,7 @@ static int check_for_privs(void){
- return !!rc;
- }
-
--static void init_libproc(void) __attribute__((constructor));
-+static void init_libproc(void) __attribute__((constructor (40)));
- static void init_libproc(void){
- have_privs = check_for_privs();
- // ought to count CPUs in /proc/stat instead of relying
-Index: procps-3.2.8/proc/version.c
-===================================================================
---- procps-3.2.8.orig/proc/version.c
-+++ procps-3.2.8/proc/version.c
-@@ -33,7 +33,7 @@ void display_version(void) {
-
- int linux_version_code;
-
--static void init_Linux_version(void) __attribute__((constructor));
-+static void init_Linux_version(void) __attribute__((constructor (20)));
- static void init_Linux_version(void) {
- int x = 0, y = 0, z = 0; /* cleared in case sscanf() < 3 */
- FILE *fp;
diff --git a/patches/procps-3.2.8/remove-rename-registers.diff b/patches/procps-3.2.8/remove-rename-registers.diff
deleted file mode 100644
index a6c6e65a1..000000000
--- a/patches/procps-3.2.8/remove-rename-registers.diff
+++ /dev/null
@@ -1,23 +0,0 @@
-From: Marc Kleine-Budde <mkl@pengutronix.de>
-Subject: remove -frename-registers option, due to ICE on gcc-4.3.1
-
-remove the -frename-registers options, because they ICE on gcc-4.3.1
-
-Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
----
- Makefile | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-Index: procps-3.2.7/Makefile
-===================================================================
---- procps-3.2.7.orig/Makefile
-+++ procps-3.2.7/Makefile
-@@ -141,7 +141,7 @@ ALL_CFLAGS += $(call check_gcc,-Wstrict-
- # if not debugging, enable things that could confuse gdb
- ifeq (,$(findstring -g,$(filter -g%,$(CFLAGS))))
- ALL_CFLAGS += $(call check_gcc,-fweb,)
--ALL_CFLAGS += $(call check_gcc,-frename-registers,)
-+#ALL_CFLAGS += $(call check_gcc,-frename-registers,)
- ALL_CFLAGS += $(call check_gcc,-fomit-frame-pointer,)
- endif
-
diff --git a/patches/procps-3.2.8/series b/patches/procps-3.2.8/series
index 62485c51b..1a4bde253 100644
--- a/patches/procps-3.2.8/series
+++ b/patches/procps-3.2.8/series
@@ -1,52 +1,70 @@
-10_free.1.dpatch
-10_output_sort_time.dpatch
-10_pmap.1.dpatch
-10_ps.1.dpatch
-10_skill.1.dpatch
-10_skill_perror.dpatch
-10_slabtop.dpatch
-10_sysctl.8.dpatch
-10_sysctl_options.dpatch
-10_tload.1.dpatch
-10_top_irix.dpatch
-10_top_no_openproc.dpatch
-10_top_stdineof.dpatch
-10_top_uid_length.dpatch
-10_uptime.1.dpatch
-10_vmstat.8.dpatch
-10_watch.1.dpatch
-10_w_time.dpatch
-20_kill.1.dpatch
-20_kill_warncr.dpatch
-20_Makefile_lib64.dpatch
-20_module_mk_shared.dpatch
-20_sysinfo_c.dpatch
-20_top_c_resize.dpatch
-20_top_manpage.dpatch
-20_watch_8bitchar.dpatch
-20_w-bassman.dpatch
-30_library_map_freeproc.dpatch
-30_pgrep_start_time.dpatch
-30_readproc_c.dpatch
-30_sysinfo_7numbers.dpatch
-30_tload_no_optargs.dpatch
-30_top.1_cpustate.dpatch
-30_w.1.dpatch
-30_watch_exec_beep.dpatch
-30_w-columns.dpatch
-35_path_max.dpatch
-40_gnu-kbsd-version.dpatch
-40_pgrep_coption.dpatch
-40_ps_cgroup_display.dpatch
-40_watch_precision_time.dpatch
-45_proc_complain_unmounted_proc.dpatch
-50_dev_null_makefile_fix.dpatch
-50_pgrep.1.dpatch
-50_top_mintime.dpatch
-50_vmstat_headers.dpatch
-55_pgrep_usage_exitcode.dpatch
-55_top_highlight.dpatch
-60_top_nohz.dpatch
-65_fix_partition_format.dpatch
-fix-unknown-HZ-arm-diff
-fix-install.diff
+0001-slabtop_once.patch
+0002-free.1.patch
+0003-output_sort_time.patch
+0004-pmap.1.patch
+0005-10_ps.1.patch
+0006-skill.1.patch
+0007-skill_perror.patch
+0008-slabtop_1.patch
+0009-sysctl.8.patch
+0010-sysctl_options.patch
+0011-tload.1.patch
+0012-top_irix.patch
+0013-top_no_openproc.patch
+0014-top_stdin_eof.patch
+0015-top_uid_length.patch
+0016-uptime.1.patch
+0017-vmstat.8.patch
+0018-watch.1.patch
+0019-w_time.patch
+0020-kill.1.patch
+0021-kill_warncr.patch
+0022-module_mk_shared.patch
+0023-sysinfo_elfnote.patch
+0024-top.1.patch
+0025-top_c_resize.patch
+0026-w-bassman.patch
+0027-top.1_cpustates.patch
+0028-watch_8bitchar.patch
+0029-library_map_freeproc.patch
+0030-pgrep_start_time.patch
+0031-readproc_c.patch
+0032-sysinfo_7_numbers.patch
+0033-tload_no_optargs.patch
+0034-w.1.patch
+0035-w_columns.patch
+0036-watch_exec_beep.patch
+0037-path_max.patch
+0038-w_envlength.patch
+0039-gnu-kbsd-version.patch
+0040-pgrep_c_option.patch
+0041-ps_cgroup_display.patch
+0042-watch_precision_time.patch
+0043-watch_unicode.patch
+0044-complain_unmounted_proc.patch
+0045-ps_supgid_display.patch
+0046-makefile_dev_null.patch
+0047-pgrep.1.patch
+0048-ps_size_sz.patch
+0049-top_mintime.patch
+0050-vmstat_headers.patch
+0051-pgrep_usage_exitcode.patch
+0052-ps_1_options.patch
+0053-top_highlight.patch
+0054-top_nohz.patch
+0055-vmstat_part_format.patch
+0056-readproc_double_free.patch
+0057-vmstat_units.patch
+0058-skill_null_argv.patch
+0059-skill_multiarg.patch
+0060-proc_version_constructor.patch
+0061-pmaps_smaps.patch
+0062-top_numeric_args.patch
+0063-top_1_swap.patch
+0064-w_userproc.patch
+0065-sysinfo_kfreebsd_hertz.patch
+0066-ps_1_flt_output.patch
+0067-watch_ansi_colour.patch
+0068-top_username_parse.patch
+0069-don-t-install-stuff-that-was-not-built.patch
+0070-remove-frename-registers-option-due-to-ICE-on-gcc-4..patch
diff --git a/patches/qt-embedded-linux-opensource-src-4.5.3/fix-host-zlib.diff b/patches/qt-embedded-linux-opensource-src-4.5.3/fix-host-zlib.diff
new file mode 100644
index 000000000..eec941ed5
--- /dev/null
+++ b/patches/qt-embedded-linux-opensource-src-4.5.3/fix-host-zlib.diff
@@ -0,0 +1,35 @@
+From: Marc Kleine-Budde <mkl@pengutronix.de>
+Subject: fix bootstrap during cross compilation if host lacks zlib
+
+Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
+---
+ src/tools/bootstrap/bootstrap.pri | 2 +-
+ src/tools/bootstrap/bootstrap.pro | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+Index: b/src/tools/bootstrap/bootstrap.pro
+===================================================================
+--- a/src/tools/bootstrap/bootstrap.pro
++++ b/src/tools/bootstrap/bootstrap.pro
+@@ -95,7 +95,7 @@ macx: {
+ LIBS += -framework CoreServices
+ }
+
+-contains(QT_CONFIG, zlib) {
++contains(QT_CONFIG, zlib)|cross_compile {
+ INCLUDEPATH += ../../3rdparty/zlib
+ SOURCES+= \
+ ../3rdparty/zlib/adler32.c \
+Index: b/src/tools/bootstrap/bootstrap.pri
+===================================================================
+--- a/src/tools/bootstrap/bootstrap.pri
++++ b/src/tools/bootstrap/bootstrap.pri
+@@ -51,7 +51,7 @@ hpux-acc*|hpuxi-acc* {
+ }
+ LIBS += -lbootstrap
+ }
+-!contains(QT_CONFIG, zlib):!contains(QT_CONFIG, no-zlib) {
++!contains(QT_CONFIG, zlib):!contains(QT_CONFIG, no-zlib):!cross_compile {
+ unix:LIBS += -lz
+ # win32:LIBS += libz.lib
+ }
diff --git a/patches/qt-embedded-linux-opensource-src-4.5.3/series b/patches/qt-embedded-linux-opensource-src-4.5.3/series
index c1ae829cd..007d1090e 100644
--- a/patches/qt-embedded-linux-opensource-src-4.5.3/series
+++ b/patches/qt-embedded-linux-opensource-src-4.5.3/series
@@ -9,3 +9,4 @@ hide-cursor-at-startup.diff
# dependency with ptxdist.
#script-qtdbus.diff
#designer-script.diff
+fix-host-zlib.diff
diff --git a/patches/squashfs3.4/series b/patches/squashfs3.4/series
new file mode 100644
index 000000000..de458cdb8
--- /dev/null
+++ b/patches/squashfs3.4/series
@@ -0,0 +1 @@
+squashfs_libs.diff
diff --git a/patches/squashfs3.4/squashfs_libs.diff b/patches/squashfs3.4/squashfs_libs.diff
new file mode 100644
index 000000000..962c8ef1f
--- /dev/null
+++ b/patches/squashfs3.4/squashfs_libs.diff
@@ -0,0 +1,34 @@
+Subject: Add way to change linker settings
+From: Erwin Rol <erwin@erwinrol.com>
+
+When cross compiling the linker can not find libz, this patch
+adds a LIBS variable that makes it possible to pass the right
+linker flags.
+
+Signed-off-by: Erwin Rol <erwin@erwinrol.com>
+
+--- squashfs3.4/squashfs-tools/Makefile.orig 2010-02-27 00:01:56.000000000 +0100
++++ squashfs3.4/squashfs-tools/Makefile 2010-02-27 00:02:46.000000000 +0100
+@@ -4,10 +4,12 @@
+
+ CFLAGS := -I$(INCLUDEDIR) -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -O2
+
++LIBS := -lz -lpthread -lm
++
+ all: mksquashfs unsquashfs
+
+ mksquashfs: mksquashfs.o read_fs.o sort.o
+- $(CC) mksquashfs.o read_fs.o sort.o -lz -lpthread -lm -o $@
++ $(CC) mksquashfs.o read_fs.o sort.o $(LIBS) $(LDFLAGS)-o $@
+
+ mksquashfs.o: mksquashfs.c squashfs_fs.h mksquashfs.h global.h sort.h
+
+@@ -16,7 +18,7 @@
+ sort.o: sort.c squashfs_fs.h global.h sort.h
+
+ unsquashfs: unsquashfs.o
+- $(CC) unsquashfs.o -lz -lpthread -lm -o $@
++ $(CC) unsquashfs.o $(LIBS) $(LDFLAGS)-o $@
+
+ unsquashfs.o: unsquashfs.c squashfs_fs.h read_fs.h global.h
+
diff --git a/patches/squashfs4.0/series b/patches/squashfs4.0/series
new file mode 100644
index 000000000..de458cdb8
--- /dev/null
+++ b/patches/squashfs4.0/series
@@ -0,0 +1 @@
+squashfs_libs.diff
diff --git a/patches/squashfs4.0/squashfs_libs.diff b/patches/squashfs4.0/squashfs_libs.diff
new file mode 100644
index 000000000..541d49d77
--- /dev/null
+++ b/patches/squashfs4.0/squashfs_libs.diff
@@ -0,0 +1,34 @@
+Subject: Add way to change linker settings
+From: Erwin Rol <erwin@erwinrol.com>
+
+When cross compiling the linker can not find libz, this patch
+adds a LIBS variable that makes it possible to pass the right
+linker flags.
+
+Signed-off-by: Erwin Rol <erwin@erwinrol.com>
+
+--- squashfs4.0/squashfs-tools/Makefile.orig 2010-02-26 13:25:30.000000000 +0100
++++ squashfs4.0/squashfs-tools/Makefile 2010-02-26 13:26:31.000000000 +0100
+@@ -4,10 +4,12 @@
+
+ CFLAGS := -I$(INCLUDEDIR) -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -O2
+
++LIBS := -lz -lpthread -lm
++
+ all: mksquashfs unsquashfs
+
+ mksquashfs: mksquashfs.o read_fs.o sort.o swap.o pseudo.o
+- $(CC) mksquashfs.o read_fs.o sort.o swap.o pseudo.o -lz -lpthread -lm -o $@
++ $(CC) mksquashfs.o read_fs.o sort.o swap.o pseudo.o $(LIBS) $(LDFLAGS) -o $@
+
+ mksquashfs.o: mksquashfs.c squashfs_fs.h mksquashfs.h global.h sort.h squashfs_swap.h Makefile
+
+@@ -20,7 +22,7 @@
+ pseudo.o: pseudo.c pseudo.h Makefile
+
+ unsquashfs: unsquashfs.o unsquash-1.o unsquash-2.o unsquash-3.o unsquash-4.o swap.o
+- $(CC) unsquashfs.o unsquash-1.o unsquash-2.o unsquash-3.o unsquash-4.o swap.o -lz -lpthread -lm -o $@
++ $(CC) unsquashfs.o unsquash-1.o unsquash-2.o unsquash-3.o unsquash-4.o swap.o $(LIBS) $(LDFLAGS) -o $@
+
+ unsquashfs.o: unsquashfs.h unsquashfs.c squashfs_fs.h squashfs_swap.h squashfs_compat.h global.h Makefile
+
diff --git a/patches/tcp_wrappers_7.6/series b/patches/tcp_wrappers_7.6/series
new file mode 100644
index 000000000..a1196b028
--- /dev/null
+++ b/patches/tcp_wrappers_7.6/series
@@ -0,0 +1,2 @@
+tcp_wrappers_7.6-ptx1.diff
+tcp_wrappers-7.6-gcc34-1.patch
diff --git a/patches/udev-150/0001-Use-utimensat-instead-of-utimes-and-lutimes.patch b/patches/udev-150/0001-Use-utimensat-instead-of-utimes-and-lutimes.patch
new file mode 100644
index 000000000..8c5ad23e2
--- /dev/null
+++ b/patches/udev-150/0001-Use-utimensat-instead-of-utimes-and-lutimes.patch
@@ -0,0 +1,35 @@
+From 0f76fd4a8f57c474c4fbac0d9d725ec135f4b0ac Mon Sep 17 00:00:00 2001
+From: Jon Ringle <jon@ringle.org>
+Date: Wed, 10 Mar 2010 10:15:20 -0500
+Subject: [PATCH] Use utimensat instead of utimes and lutimes
+
+Signed-off-by: Jon Ringle <jon@ringle.org>
+---
+ udev/udev-node.c | 4 ++--
+ 1 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/udev/udev-node.c b/udev/udev-node.c
+index c80a74c..f38a8f8 100644
+--- a/udev/udev-node.c
++++ b/udev/udev-node.c
+@@ -57,7 +57,7 @@ int udev_node_mknod(struct udev_device *dev, const char *file, dev_t devnum, mod
+ preserve = 1;
+ udev_selinux_lsetfilecon(udev, file, mode);
+ /* update time stamp when we re-use the node, like on media change events */
+- utimes(file, NULL);
++ utimensat(AT_FDCWD, file, NULL, 0);
+ } else {
+ char file_tmp[UTIL_PATH_SIZE + sizeof(TMP_FILE_EXT)];
+
+@@ -178,7 +178,7 @@ static int node_symlink(struct udev *udev, const char *node, const char *slink)
+ info(udev, "preserve already existing symlink '%s' to '%s'\n",
+ slink, target);
+ udev_selinux_lsetfilecon(udev, slink, S_IFLNK);
+- lutimes(slink, NULL);
++ utimensat(AT_FDCWD, slink, NULL, AT_SYMLINK_NOFOLLOW);
+ goto exit;
+ }
+ }
+--
+1.7.0.2.182.ge007
+
diff --git a/patches/udev-150/series b/patches/udev-150/series
index aea07abe0..fa53e88ff 100644
--- a/patches/udev-150/series
+++ b/patches/udev-150/series
@@ -4,3 +4,4 @@ udev-150-revert-bsg_h-removal.diff
udev-150-remove-le16toh.diff
udev-150-fix-ppc-build.diff
udev-150-kernel-headers-dir.diff
+0001-Use-utimensat-instead-of-utimes-and-lutimes.patch
diff --git a/patches/udev-150/udev-150-split-extras.diff b/patches/udev-150/udev-150-split-extras.diff
index de1dff0ae..abc162d21 100644
--- a/patches/udev-150/udev-150-split-extras.diff
+++ b/patches/udev-150/udev-150-split-extras.diff
@@ -17,9 +17,9 @@ as configure options
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
---
- Makefile.am | 25 +++++++++++++++++++++----
- configure.ac | 59 ++++++++++++++++++++++++++++++++++++++++++++++++-----------
- 2 files changed, 69 insertions(+), 15 deletions(-)
+ Makefile.am | 25 +++++++++++++++++----
+ configure.ac | 69 ++++++++++++++++++++++++++++++++++++++++++++++++-----------
+ 2 files changed, 78 insertions(+), 16 deletions(-)
Index: b/Makefile.am
===================================================================
@@ -131,7 +131,7 @@ Index: b/configure.ac
===================================================================
--- a/configure.ac
+++ b/configure.ac
-@@ -46,32 +46,70 @@ if test "x$enable_logging" = "xyes"; the
+@@ -46,32 +46,72 @@ if test "x$enable_logging" = "xyes"; the
AC_DEFINE(ENABLE_LOGGING, [1], [System logging.])
fi
@@ -198,6 +198,8 @@ Index: b/configure.ac
+if test "x$enable_usbdb" = xyes; then
PKG_CHECK_MODULES(USBUTILS, usbutils >= 0.82)
AC_SUBST([USB_DATABASE], [$($PKG_CONFIG --variable=usbids usbutils)])
++else
++ USB_DATABASE=no
+fi
- AC_CHECK_FILES([/usr/share/pci.ids], [pciids=/usr/share/pci.ids])
@@ -212,11 +214,27 @@ Index: b/configure.ac
AC_ARG_WITH(pci-ids-path,
AS_HELP_STRING([--pci-ids-path=DIR], [Path to pci.ids file]),
[PCI_DATABASE=${withval}],
-@@ -82,7 +120,6 @@ if test "x$enable_extras" = xyes; then
+@@ -81,8 +121,9 @@ if test "x$enable_extras" = xyes; then
+ AC_MSG_ERROR([pci.ids not found, try --with-pci-ids-path=])
fi])
AC_SUBST(PCI_DATABASE)
++else
++ PCI_DATABASE=no
fi
-AM_CONDITIONAL([ENABLE_EXTRAS], [test "x$enable_extras" = xyes])
AC_ARG_ENABLE([introspection],
AS_HELP_STRING([--disable-introspection], [disable GObject introspection]),
+@@ -134,7 +175,11 @@ AC_MSG_RESULT([
+ cflags: ${CFLAGS}
+ ldflags: ${LDFLAGS}
+
+- extras: ${enable_extras}
++ gudev: ${enable_gudev}
++ bluetooth: ${enable_bluetooth}
++ keymap: ${enable_keymap}
++ acl: ${enable_acl}
++ modem-modeswitch: ${enable_modem_modeswitch}
+ gintrospection: ${enable_introspection}
+
+ usb.ids: ${USB_DATABASE}
diff --git a/patches/util-linux-ng-2.17.2/0001-replace-bzero-with-memset.patch b/patches/util-linux-ng-2.17.2/0001-replace-bzero-with-memset.patch
new file mode 100644
index 000000000..6951ae632
--- /dev/null
+++ b/patches/util-linux-ng-2.17.2/0001-replace-bzero-with-memset.patch
@@ -0,0 +1,38 @@
+From 06fe890db9b7798363b814269f2a6cc2ec594e8f Mon Sep 17 00:00:00 2001
+From: Jon Ringle <jon@ringle.org>
+Date: Thu, 25 Mar 2010 22:38:53 -0400
+Subject: [PATCH] replace bzero with memset
+
+Work on this was done in commit c0f19ccff73aa0ec5e9f3b61b932ea4a8bf4e6ed,
+however a couple of bzero call sites were missed
+
+Signed-off-by: Jon Ringle <jon@ringle.org>
+---
+ fdisk/fdiskbsdlabel.c | 4 ++--
+ 1 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/fdisk/fdiskbsdlabel.c b/fdisk/fdiskbsdlabel.c
+index 2f41561..9c09252 100644
+--- a/fdisk/fdiskbsdlabel.c
++++ b/fdisk/fdiskbsdlabel.c
+@@ -540,7 +540,7 @@ xbsd_write_bootstrap (void)
+ memmove (&dl, d, sizeof (struct xbsd_disklabel));
+
+ /* The disklabel will be overwritten by 0's from bootxx anyway */
+- bzero (d, sizeof (struct xbsd_disklabel));
++ memset (d, 0, sizeof (struct xbsd_disklabel));
+
+ snprintf (path, sizeof(path), "%s/boot%s", bootdir, dkbasename);
+ if (!xbsd_get_bootstrap (path, &disklabelbuffer[xbsd_dlabel.d_secsize],
+@@ -656,7 +656,7 @@ xbsd_initlabel (struct partition *p, struct xbsd_disklabel *d, int pindex) {
+ struct geom g;
+
+ get_geometry (fd, &g);
+- bzero (d, sizeof (struct xbsd_disklabel));
++ memset (d, 0, sizeof (struct xbsd_disklabel));
+
+ d -> d_magic = BSD_DISKMAGIC;
+
+--
+1.7.0.2.182.ge007
+
diff --git a/patches/util-linux-ng-2.17.2/series b/patches/util-linux-ng-2.17.2/series
new file mode 100644
index 000000000..80f9ac96a
--- /dev/null
+++ b/patches/util-linux-ng-2.17.2/series
@@ -0,0 +1 @@
+0001-replace-bzero-with-memset.patch
diff --git a/patches/watchdog-5.7/0001-Fix-compile-with-USE_SYSLOG-disabled.patch b/patches/watchdog-5.7/0001-Fix-compile-with-USE_SYSLOG-disabled.patch
new file mode 100644
index 000000000..479afa139
--- /dev/null
+++ b/patches/watchdog-5.7/0001-Fix-compile-with-USE_SYSLOG-disabled.patch
@@ -0,0 +1,30 @@
+From 10bc35db707c552a2dcf002eccd6dbc644a33bcd Mon Sep 17 00:00:00 2001
+From: Jon Ringle <jon@ringle.org>
+Date: Tue, 2 Mar 2010 20:49:26 -0500
+Subject: [PATCH 1/2] Fix compile with USE_SYSLOG disabled
+
+Signed-off-by: Jon Ringle <jon@ringle.org>
+---
+ src/shutdown.c | 3 ++-
+ 1 files changed, 2 insertions(+), 1 deletions(-)
+
+diff --git a/src/shutdown.c b/src/shutdown.c
+index c743d8e..7490906 100644
+--- a/src/shutdown.c
++++ b/src/shutdown.c
+@@ -354,10 +354,11 @@ void do_shutdown(int errorcode)
+ * We cannot let the shell check, because a non-existant or
+ * non-executable sendmail binary means that the pipe is closed faster
+ * than we can write to it. */
+- if ((stat(PATH_SENDMAIL, &buf) != 0) || ((buf.st_mode&S_IXUSR) == 0))
++ if ((stat(PATH_SENDMAIL, &buf) != 0) || ((buf.st_mode&S_IXUSR) == 0)) {
+ #if USE_SYSLOG
+ syslog(LOG_ERR, "%s does not exist or is not executable (errno = %d)", PATH_SENDMAIL, errno);
+ #endif /* USE_SYSLOG */
++ }
+ else
+ {
+ sprintf(exe, "%s -i %s", PATH_SENDMAIL, admin);
+--
+1.7.0.rc2
+
diff --git a/patches/watchdog-5.7/0002-Replace-index-with-strchr.patch b/patches/watchdog-5.7/0002-Replace-index-with-strchr.patch
new file mode 100644
index 000000000..c1e31866e
--- /dev/null
+++ b/patches/watchdog-5.7/0002-Replace-index-with-strchr.patch
@@ -0,0 +1,52 @@
+From cbb4eb9d35a809c328dc0a5d6651ec504ce4435c Mon Sep 17 00:00:00 2001
+From: Jon Ringle <jon@ringle.org>
+Date: Wed, 3 Mar 2010 19:21:24 -0500
+Subject: [PATCH 2/2] Replace index() with strchr()
+
+uclibc does not have index(), but strchr() is equivalent
+to index() according to the index man page
+
+Signed-off-by: Jon Ringle <jon@ringle.org>
+---
+ src/mntent.c | 4 ++--
+ src/umount.c | 2 +-
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/src/mntent.c b/src/mntent.c
+index 4d103c3..a4aeed0 100644
+--- a/src/mntent.c
++++ b/src/mntent.c
+@@ -8,7 +8,7 @@
+ #endif
+
+ #include <stdio.h>
+-#include <string.h> /* for index */
++#include <string.h> /* for strchr */
+ #include <ctype.h> /* for isdigit */
+ #include "wd_mntent.h"
+ #include "sundries.h" /* for xmalloc */
+@@ -157,7 +157,7 @@ my_getmntent (mntFILE *mfp) {
+ if (fgets (buf, sizeof(buf), mfp->mntent_fp) == NULL)
+ return NULL;
+
+- s = index (buf, '\n');
++ s = strchr (buf, '\n');
+ if (s == NULL) {
+ /* extremely long line - assume file was corrupted */
+ mfp->mntent_errs = 1;
+diff --git a/src/umount.c b/src/umount.c
+index 8c9f08c..d5fbd0b 100644
+--- a/src/umount.c
++++ b/src/umount.c
+@@ -212,7 +212,7 @@ umount_one (const char *spec, const char *node, const char *type,
+ if (res < 0)
+ umnt_err2 = errno;
+ /* Do not complain about remote NFS mount points */
+- if (errno == ENOENT && index(spec, ':'))
++ if (errno == ENOENT && strchr(spec, ':'))
+ umnt_err2 = 0;
+ }
+ }
+--
+1.7.0.rc2
+
diff --git a/patches/watchdog-5.7/series b/patches/watchdog-5.7/series
new file mode 100644
index 000000000..6aab8b78f
--- /dev/null
+++ b/patches/watchdog-5.7/series
@@ -0,0 +1,2 @@
+0001-Fix-compile-with-USE_SYSLOG-disabled.patch
+0002-Replace-index-with-strchr.patch
diff --git a/patches/xf86-video-fbdev-0.4.1/series b/patches/xf86-video-fbdev-0.4.1/series
new file mode 100644
index 000000000..243b43acb
--- /dev/null
+++ b/patches/xf86-video-fbdev-0.4.1/series
@@ -0,0 +1 @@
+ignore-timing-option.diff
diff --git a/platforms/hosttools.in b/platforms/hosttools.in
index c8a1fb16d..bb259aac2 100644
--- a/platforms/hosttools.in
+++ b/platforms/hosttools.in
@@ -12,6 +12,7 @@ source "rules/host-libbz2.in"
source "rules/host-libcap.in"
source "rules/host-liblzo.in"
source "rules/host-libuuid.in"
+source "rules/host-lzop.in"
source "rules/host-mkelfImage.in"
source "rules/host-mtd-utils.in"
source "rules/host-squashfs-tools.in"
diff --git a/platforms/image_cpio.in b/platforms/image_cpio.in
index 7984a8c29..afe8a431a 100644
--- a/platforms/image_cpio.in
+++ b/platforms/image_cpio.in
@@ -2,7 +2,15 @@
config IMAGE_CPIO
bool
- prompt "Generate images/initrd.gz"
+ prompt "Generate images/root.cpio"
+ help
+ Build the traditionally initrd RAM disk to be used
+ as initramfs by the kernel.
+
+config IMAGE_CPIO_GZ
+ bool
+ prompt "Generate images/root.cpio.gz"
+ select IMAGE_CPIO
help
Build the traditionally initrd RAM disk to be used
as initramfs by the kernel.
diff --git a/platforms/image_iso.in b/platforms/image_iso.in
index 3611e8819..e8fe260ee 100644
--- a/platforms/image_iso.in
+++ b/platforms/image_iso.in
@@ -4,7 +4,7 @@ menuconfig IMAGE_ISO
bool
select SYSLINUX
select HOST_CDRKIT
- select IMAGE_CPIO
+ select IMAGE_CPIO_GZ
depends on ARCH_X86
prompt "Generate images/bootcd.iso "
help
diff --git a/platforms/image_jffs2.in b/platforms/image_jffs2.in
index 47ad1ee11..5a7118c73 100644
--- a/platforms/image_jffs2.in
+++ b/platforms/image_jffs2.in
@@ -16,12 +16,14 @@ if IMAGE_JFFS2
config IMAGE_JFFS2_BLOCKSIZE
hex
default 0x10000
- prompt "Erase Block Size"
+ prompt "Erase Block Size (bytes in HEX)"
help
Enter here the size of each (sector) block in target's flash device.
The image must use the same blocksize as the real JFFS2 filesystem
running on the target.
+comment "*** add '-n' here for NAND flash ***"
+
config IMAGE_JFFS2_EXTRA_ARGS
string
default ""
@@ -30,7 +32,7 @@ config IMAGE_JFFS2_EXTRA_ARGS
If needed you can add extra arguments for mkfs.jffs2 here
(e.g. --devtable=${PTXDIST_WORKSPACE}/device_table.txt,
-b to create a big endian filesystem on a little endian host or
- -c if targeting NAND flash)
+ -n if targeting NAND flash)
config IMAGE_JFFS2_SUM
bool
diff --git a/platforms/image_kernel.in b/platforms/image_kernel.in
new file mode 100644
index 000000000..dceabc4e8
--- /dev/null
+++ b/platforms/image_kernel.in
@@ -0,0 +1,37 @@
+## SECTION=image
+
+menuconfig IMAGE_KERNEL
+ bool
+ prompt "Generate images/linuximage "
+ depends on KERNEL
+ help
+ Install the kernel to "platform-FOO/images/linuximage"
+
+if IMAGE_KERNEL
+
+comment "'rootfs in kernel image' is incompatible with 'install kernel into /boot'"
+ depends on KERNEL_INSTALL
+
+config IMAGE_KERNEL_INITRAMFS
+ bool
+ select IMAGE_CPIO
+ depends on !KERNEL_INSTALL
+ select IMAGE_KERNEL_INSTALL_LATE
+ prompt "include root filesystem as initramfs in kernel image"
+ help
+ In order to boot into the initrd use these kernel parameters:
+ "root=/dev/ram0 rdinit=/sbin/init"
+
+config IMAGE_KERNEL_INSTALL_EARLY
+ bool
+ default !IMAGE_KERNEL_INSTALL_LATE
+ help
+ If activated the kernel is installed during the kernel's
+ "targetinstall" stage.
+
+config IMAGE_KERNEL_INSTALL_LATE
+ bool
+ help
+ Install kernel image during "images".
+
+endif
diff --git a/platforms/kernel.in b/platforms/kernel.in
index 5e20a675b..476bddeb3 100644
--- a/platforms/kernel.in
+++ b/platforms/kernel.in
@@ -1,8 +1,10 @@
menuconfig KERNEL
bool
default y
+ select IMAGE_KERNEL
select HOST_UMKIMAGE if KERNEL_IMAGE_U
select HOST_XZ if KERNEL_XZ
+ select HOST_LZOP if KERNEL_LZOP
select CROSS_MODULE_INIT_TOOLS if KERNEL_MODULES
prompt "Linux kernel "
@@ -140,8 +142,38 @@ choice
help
This is the target to get the kernel image as an raw uncompressed
binary file.
+ config KERNEL_IMAGE_SIMPLE
+ bool
+ prompt "simpleImage"
+ help
+ Create a simple Image with embedded DTB
endchoice
+if KERNEL_IMAGE_SIMPLE
+
+config KERNEL_IMAGE_SIMPLE_TARGET
+ prompt "name of simple image"
+ string
+ default "virtex405-xup"
+ help
+ Name of created simple kernel image e.g.
+ the "virtex405-xup" of "simpleImage.virtex405-xup.elf"
+
+config KERNEL_IMAGE_SIMPLE_DTS
+ prompt "path to DTS file"
+ string
+ default "${PTXDIST_PLATFORMCONFIGDIR}/simpleImage.dts"
+ help
+ This specifies the "dts" file used to create your simple
+ image.
+
+ The default is "${PTXDIST_PLATFORMCONFIGDIR}/simpleImage.dts"
+
+ The path "${PTXDIST_PLATFORMCONFIGDIR}" is the directory
+ where your platformconfig file is located.
+
+endif
+
config KERNEL_IMAGE
string
default "bzImage" if KERNEL_IMAGE_BZ
@@ -150,7 +182,7 @@ config KERNEL_IMAGE
default "vmImage" if KERNEL_IMAGE_VM
default "vmlinux" if KERNEL_IMAGE_VMLINUX
default "Image" if KERNEL_IMAGE_RAW
-
+ default "simpleImage.${PTXCONF_KERNEL_IMAGE_SIMPLE_TARGET}.elf" if KERNEL_IMAGE_SIMPLE
config KERNEL_XZ
prompt "build xz-utils hosttool"
@@ -163,13 +195,24 @@ config KERNEL_XZ
Select this if you're unsure, as it won't hurt. It just
increases the build time.
+config KERNEL_LZOP
+ prompt "build lzop hosttool"
+ bool
+ help
+ Select this if you're going to build your kernel compressed
+ with lzo and your host system is lacking the proper tools.
+ (the "lzop" package)
+
+ Select this if you're unsure, as it won't hurt. It just
+ increases the build time.
+
menu "patching & configuration "
config KERNEL_SERIES
prompt "patch series file"
string
- default "series${PTXDIST_PLATFORMSUFFIX}"
+ default "series"
help
This entry specifies a patch series file which has to live in
the kernel patches directory:
@@ -196,7 +239,7 @@ config KERNEL_EXTRA_MAKEVARS
help
Specify extra parameters for the kernel build system here. Useful
options include:
-
+
* CONFIG_DEBUG_SECTION_MISMATCH=y
Enable this feature if you want kernel's builsystem to check for
section mismatches (__devinit/__devexit, __init/__exit). This
@@ -204,10 +247,10 @@ config KERNEL_EXTRA_MAKEVARS
do this check automatically. Enabling this feature is recommended
for kernel development.
Changing this entry will rebuild the whole kernel.
-
+
* C=1
Run sparse when compiling
-
+
* V=1
Increase verbosity when compiling
@@ -217,12 +260,12 @@ config KERNEL_LOCAL_FLAG
help
Do not download a kernel archieve, but use a local kernel tree
(most probably a working tree from a git repository). Its path
- is concatenated from SETUP_KERNELDIR_PREFIX defined in setup
+ is concatenated from SETUP_KERNELDIR_PREFIX defined in setup
and KERNEL_VERSION from above.
-
+
This function is mostly needed by developers who want to test their
patches against a git-tree.
-
+
config KERNEL_SYMLINK_IN_PROJECTDIR
prompt "Symlink to kernel tree"
bool
@@ -230,7 +273,7 @@ config KERNEL_SYMLINK_IN_PROJECTDIR
Create a symlink named '.kernel' in the workspace directory pointing to
the currently selected kernel. This is a shortcut for developers often
working with kernel sources. It can also prevent to accidently work on
- an unselected kernel. Note that the link may be invalid unless you have
+ an unselected kernel. Note that the link may be invalid unless you have
extracted the specified kernel version.
endif # KERNEL
diff --git a/platforms/toolchain.in b/platforms/toolchain.in
index 097b5eb5f..90d62ad6e 100644
--- a/platforms/toolchain.in
+++ b/platforms/toolchain.in
@@ -26,6 +26,24 @@ config CROSSCHAIN_CHECK
to avoid compilation with the wrong compiler version
when you use your own external toolchain.
+choice
+ prompt "c library "
+ default LIBC_GLIBC
+
+ config LIBC_GLIBC
+ bool
+ prompt "glibc "
+ help
+ This menu entry lets you select components from the
+ standard C library called glibc. It depends on the
+ system what components are required.
+
+ config LIBC_UCLIBC
+ bool
+ prompt "uClibc "
+endchoice
+
+if LIBC_GLIBC
config GLIBC_VERSION
string
prompt "check for specific glibc version"
@@ -34,6 +52,18 @@ config GLIBC_VERSION
Specify the glibc version this BSP shall be built with. This information
is used to guess the toolchain path if you use "ptxdist toolchain"
without an argument.
+endif
+
+if LIBC_UCLIBC
+config UCLIBC_VERSION
+ string
+ prompt "check for specific uClibc version"
+ default "0.9.30.2"
+ help
+ Specify the uClibc version this BSP shall be built with. This information
+ is used to guess the toolchain path if you use "ptxdist toolchain"
+ without an argument.
+endif
config GNU_TARGET
string
diff --git a/platforms/u-boot.in b/platforms/u-boot.in
index 591f2b164..64d4d03a4 100644
--- a/platforms/u-boot.in
+++ b/platforms/u-boot.in
@@ -26,7 +26,7 @@ config U_BOOT_PROMPT
config U_BOOT_SERIES
prompt "patch series file"
string
- default "series${PTXDIST_PLATFORMSUFFIX}"
+ default "series"
help
This entry specifies a patch series file which has to live in
the kernel patches directory:
diff --git a/rules/argtable2.make b/rules/argtable2.make
index 54747ceff..157c8ed7c 100644
--- a/rules/argtable2.make
+++ b/rules/argtable2.make
@@ -1,7 +1,7 @@
# -*-makefile-*-
#
# Copyright (C) 2007 by Michael Olbrich <m.olbrich@pengutronix.de>
-# 2009 by Marc Kleine-Budde <mkl@pengutronix.de>
+# 2009, 2010 by Marc Kleine-Budde <mkl@pengutronix.de>
#
# See CREDITS for details about who has contributed to this project.
#
@@ -17,7 +17,7 @@ PACKAGES-$(PTXCONF_ARGTABLE2) += argtable2
#
# Paths and names
#
-ARGTABLE2_VERSION := 11
+ARGTABLE2_VERSION := 12
ARGTABLE2 := argtable2-$(ARGTABLE2_VERSION)
ARGTABLE2_SUFFIX := tar.gz
ARGTABLE2_URL := $(PTXCONF_SETUP_SFMIRROR)/argtable/$(ARGTABLE2).$(ARGTABLE2_SUFFIX)
@@ -63,9 +63,9 @@ $(STATEDIR)/argtable2.targetinstall:
@$(call install_fixup, argtable2,DESCRIPTION,missing)
@$(call install_copy, argtable2, 0, 0, 0644, -, \
- /usr/lib/libargtable2.so.0.1.6)
- @$(call install_link, argtable2, libargtable2.so.0.1.6, /usr/lib/libargtable2.so.0)
- @$(call install_link, argtable2, libargtable2.so.0.1.6, /usr/lib/libargtable2.so)
+ /usr/lib/libargtable2.so.0.1.7)
+ @$(call install_link, argtable2, libargtable2.so.0.1.7, /usr/lib/libargtable2.so.0)
+ @$(call install_link, argtable2, libargtable2.so.0.1.7, /usr/lib/libargtable2.so)
@$(call install_finish, argtable2)
diff --git a/rules/atop.in b/rules/atop.in
index 65aecdcce..3bdeb47b9 100644
--- a/rules/atop.in
+++ b/rules/atop.in
@@ -1,10 +1,13 @@
## SECTION=shell_and_console
+
config ATOP
tristate "atop"
select ZLIB
select NCURSES
select LIBC_M
help
+ Monitor for system resources and process activity
+
Atop is an ASCII full-screen performance monitor that is capable of
reporting the activity of all processes (even if processes have
finished during the interval), daily logging of system and process
@@ -15,5 +18,5 @@ config ATOP
CPU utilization, the memory growth, priority, username, state,
and exit code.
- http://www.atcomputing.nl/Tools/atop
+ http://www.atoptool.nl/
diff --git a/rules/atop.make b/rules/atop.make
index 14c5d20c9..9fb433ecd 100644
--- a/rules/atop.make
+++ b/rules/atop.make
@@ -1,6 +1,7 @@
# -*-makefile-*-
#
# Copyright (C) 2008 by Remy Bohmer, Netherlands
+# 2010 by Marc Kleine-Budde <mkl@pengutronix.de>
#
# See CREDITS for details about who has contributed to this project.
#
@@ -16,9 +17,9 @@ PACKAGES-$(PTXCONF_ATOP) += atop
#
# Paths and names
#
-ATOP_VERSION := 1.23
+ATOP_VERSION := 1.24
ATOP := atop-$(ATOP_VERSION)
-ATOP_URL := http://www.atcomputing.nl/Tools/atop/packages/$(ATOP).tar.gz
+ATOP_URL := http://www.atoptool.nl/download/$(ATOP).tar.gz
ATOP_SOURCE := $(SRCDIR)/$(ATOP).tar.gz
ATOP_DIR := $(BUILDDIR)/$(ATOP)
@@ -35,7 +36,6 @@ $(ATOP_SOURCE):
# Prepare
# ----------------------------------------------------------------------------
-ATOP_PATH := PATH=$(CROSS_PATH)
ATOP_COMPILE_ENV := $(CROSS_ENV)
$(STATEDIR)/atop.prepare:
diff --git a/rules/avahi.make b/rules/avahi.make
index 51d95133f..5d9a88b7f 100644
--- a/rules/avahi.make
+++ b/rules/avahi.make
@@ -79,7 +79,7 @@ AVAHI_AUTOCONF := \
ifdef PTXCONF_AVAHI_DAEMON
AVAHI_AUTOCONF += \
--with-avahi-user=$(PTXCONF_AVAHI_USER) \
- --with-avahi-group=$(PTXCONF_AVAHI_USER)
+ --with-avahi-group=$(PTXCONF_AVAHI_GROUP)
endif
ifdef PTXCONF_AVAHI_AUTOIP
@@ -182,14 +182,14 @@ ifdef PTXCONF_AVAHI_DAEMON
@$(call install_link, avahi, ../init.d/avahi-daemon, /etc/rc.d/S35avahi-daemon)
endif
-ifdef AVAHI_SERVICES
+ifdef PTXCONF_AVAHI_SERVICES
# avahi service descriptions
# depends on avahi-daemon
@$(call install_copy, avahi, 0, 0, 0644, -, /etc/avahi/services/sftp-ssh.service)
@$(call install_copy, avahi, 0, 0, 0644, -, /etc/avahi/services/ssh.service)
endif
-ifdef AVAHI_DNSCONFD
+ifdef PTXCONF_AVAHI_DNSCONFD
# avahi dnsconfd (Unicast DNS server from mDNS/DNS-SD configuration daemon)
# depends on avahi-daemon
@$(call install_copy, avahi, 0, 0, 0755, -, /usr/sbin/avahi-dnsconfd)
diff --git a/rules/binutils.make b/rules/binutils.make
index 6c303a8c5..7aedb3f33 100644
--- a/rules/binutils.make
+++ b/rules/binutils.make
@@ -28,7 +28,6 @@ BINUTILS_URL := $(PTXCONF_SETUP_GNUMIRROR)/binutils/$(BINUTILS).$(BINUTILS_SUFF
BINUTILS_SOURCE := $(SRCDIR)/$(BINUTILS).$(BINUTILS_SUFFIX)
BINUTILS_DIR := $(BUILDDIR)/$(BINUTILS)
-
# ----------------------------------------------------------------------------
# Get
# ----------------------------------------------------------------------------
@@ -41,13 +40,11 @@ $(BINUTILS_SOURCE):
# Prepare
# ----------------------------------------------------------------------------
-BINUTILS_PATH := PATH=$(CROSS_PATH)
-BINUTILS_ENV := $(CROSS_ENV)
-
#
# autoconf
#
-BINUTILS_AUTOCONF := $(CROSS_AUTOCONF_USR) \
+BINUTILS_AUTOCONF := \
+ $(CROSS_AUTOCONF_USR) \
--target=$(PTXCONF_GNU_TARGET) \
--enable-targets=$(PTXCONF_GNU_TARGET) \
--disable-nls \
@@ -74,17 +71,14 @@ $(STATEDIR)/binutils.targetinstall:
ifdef PTXCONF_BINUTILS_READELF
@$(call install_copy, binutils, 0, 0, 0755, -, \
- /usr/bin/readelf \
- )
+ /usr/bin/readelf)
endif
ifdef PTXCONF_BINUTILS_OBJDUMP
@$(call install_copy, binutils, 0, 0, 0755, -, \
- /usr/bin/objdump \
- )
+ /usr/bin/objdump)
endif
@$(call install_finish, binutils)
-
@$(call touch)
# vim: syntax=make
diff --git a/rules/bzip2.make b/rules/bzip2.make
index 63d45e82f..a6ac4c356 100644
--- a/rules/bzip2.make
+++ b/rules/bzip2.make
@@ -1,6 +1,7 @@
# -*-makefile-*-
#
# Copyright (C) 2009 by Luotao Fu <l.fu@pengutronix.de>
+# 2010 by Marc Kleine-Budde <mkl@pengutronix.de>
#
# See CREDITS for details about who has contributed to this project.
#
@@ -55,7 +56,7 @@ $(STATEDIR)/bzip2.targetinstall:
@$(call install_fixup, bzip2,DESCRIPTION,missing)
ifdef PTXCONF_BZIP2_LIBBZ2
- @$(call install_copy, bzip2, 0, 0, 0755, -, /usr/lib/libbz2.so.1.0.4)
+ @$(call install_copy, bzip2, 0, 0, 0644, -, /usr/lib/libbz2.so.1.0.4)
@$(call install_link, bzip2, libbz2.so.1.0.4, /usr/lib/libbz2.so.1.0)
endif
diff --git a/rules/canutils.in b/rules/canutils.in
index 9b82004d9..e8963f2cf 100644
--- a/rules/canutils.in
+++ b/rules/canutils.in
@@ -14,7 +14,7 @@ if CANUTILS
config CANUTILS_VERSION
prompt "Version"
string
- default "4.0.9"
+ default "4.0.5"
config CANUTILS_4
bool "canutils version >= 4.0"
diff --git a/rules/consolekit.in b/rules/consolekit.in
index 27df5d4e2..b0aefc60d 100644
--- a/rules/consolekit.in
+++ b/rules/consolekit.in
@@ -3,5 +3,18 @@
config CONSOLEKIT
tristate
prompt "ConsoleKit"
+ select DBUS_GLIB
+ select GLIB
+ select ZLIB
+ select POLKIT
help
- FIXME
+ framework for defining and tracking users, sessions and seats
+
+ ConsoleKit is a system daemon for tracking what users are
+ logged into the system and how they interact with the
+ computer (e.g. which keyboard and mouse they use).
+
+ It provides asynchronous notification via the system message
+ bus.
+
+ Homepage: http://www.freedesktop.org/wiki/Software/ConsoleKit
diff --git a/rules/consolekit.make b/rules/consolekit.make
index e591e238e..2c83eceb4 100644
--- a/rules/consolekit.make
+++ b/rules/consolekit.make
@@ -91,7 +91,7 @@ $(STATEDIR)/consolekit.targetinstall:
@$(call install_copy, consolekit, 0, 0, 0755, -, \
/usr/lib/ConsoleKit/scripts/ck-system-stop)
- @$(call install_copy, consolekit, 0, 0, 0755, -, \
+ @$(call install_copy, consolekit, 0, 0, 0644, -, \
/usr/lib/libck-connector.so.0.0.0)
@$(call install_link, consolekit, libck-connector.so.0.0.0, \
/usr/lib/libck-connector.so.0)
diff --git a/rules/dash.in b/rules/dash.in
index fb30c9c4e..88ea87942 100644
--- a/rules/dash.in
+++ b/rules/dash.in
@@ -1,10 +1,21 @@
## SECTION=shell_and_console
-config DASH
+
+menuconfig DASH
tristate
- prompt "dash"
+ prompt "dash "
help
DASH is a POSIX-compliant implementation of /bin/sh that aims
to be as small as possible. It does this without sacrificing speed where
possible. In fact, it is significantly faster than bash (the GNU
Bourne-Again SHell) for most tasks.
+if DASH
+
+config DASH_LINK_SH
+ bool
+ prompt "link to /bin/sh"
+ help
+ Create a link "/bin/sh" that points to "/bin/dash". Select
+ this if dash should be you default shell
+
+endif
diff --git a/rules/dash.make b/rules/dash.make
index 04c2f14bf..407fbf90a 100644
--- a/rules/dash.make
+++ b/rules/dash.make
@@ -64,6 +64,10 @@ $(STATEDIR)/dash.targetinstall:
@$(call install_copy, dash, 0, 0, 0755, -, /bin/dash)
+ifdef PTXCONF_DASH_LINK_SH
+ @$(call install_link, dash, dash, /bin/sh)
+endif
+
@$(call install_finish, dash)
@$(call touch)
diff --git a/rules/directfb.in b/rules/directfb.in
index 9a9fde6c7..2fee80f89 100644
--- a/rules/directfb.in
+++ b/rules/directfb.in
@@ -6,12 +6,12 @@ menuconfig DIRECTFB
select HOST_DIRECTFB
select MENU_XORG_FONTS
- select LIBPNG if DIRECTFB_IMAGE_PNG
- select LIBJPEG if DIRECTFB_IMAGE_JPEG
- select FREETYPE if DIRECTFB_FONT_FREETYPE
- select TSLIB if DIRECTFB_INPUT_TSLIB
- select XORG_LIB_X11 if DIRECTFB_X11
- select MESALIB if DIRECTFB_GFX_GL
+ select LIBPNG if DIRECTFB_IMAGE_PNG
+ select LIBJPEG if DIRECTFB_IMAGE_JPEG
+ select FREETYPE if DIRECTFB_FONT_FREETYPE
+ select TSLIB if DIRECTFB_INPUT_TSLIB
+ select XORG_LIB_X11 if DIRECTFB_X11
+ select MESALIB if DIRECTFB_GFX_GL
help
DirectFB is a thin library that provides hardware
graphics acceleration, input device handling and
diff --git a/rules/eggdbus.make b/rules/eggdbus.make
index 090e5cf51..fc89044a5 100644
--- a/rules/eggdbus.make
+++ b/rules/eggdbus.make
@@ -36,10 +36,7 @@ $(EGGDBUS_SOURCE):
# Prepare
# ----------------------------------------------------------------------------
-#
-# autoconf
-#
-EGGDBUS_AUTOCONF = \
+EGGDBUS_AUTOCONF := \
$(CROSS_AUTOCONF_USR) \
--enable-largefile \
--disable-ansi \
@@ -68,9 +65,6 @@ $(STATEDIR)/eggdbus.targetinstall:
@$(call install_link, eggdbus, libeggdbus-1.so.0.0.0, /usr/lib/libeggdbus-1.so.0)
@$(call install_link, eggdbus, libeggdbus-1.so.0.0.0, /usr/lib/libeggdbus-1.so)
- #/usr/bin/eggdbus-glib-genmarshal
- #/usr/bin/eggdbus-binding-tool
-
@$(call install_finish, eggdbus)
@$(call touch)
diff --git a/rules/gdb-menu.in b/rules/gdb-menu.in
index 8733b85b8..4aaf78f27 100644
--- a/rules/gdb-menu.in
+++ b/rules/gdb-menu.in
@@ -6,7 +6,7 @@ menu "gdb "
config GDB_VERSION
string "gdb version"
- default "6.8"
+ default "7.0.1"
depends on GDB || GDBSERVER
source "generated/debug_tools_gdb.in"
diff --git a/rules/grub.make b/rules/grub.make
index 3b34a924b..256e826e0 100644
--- a/rules/grub.make
+++ b/rules/grub.make
@@ -406,6 +406,8 @@ endif
_tmp := $(subst -, ,$(PTXCONF_GNU_TARGET))
GRUB_STAGE_DIR := $(GRUB_PKGDIR)/usr/lib/grub/$(patsubst i%86,i386,$(word 1,$(_tmp)))-$(word 2,$(_tmp))
+GRUB_MENU_LST := $(call remove_quotes, $(PTXCONF_GRUB_MENU_LST))
+
$(STATEDIR)/grub.targetinstall:
@$(call targetinfo)
@@ -425,25 +427,29 @@ $(STATEDIR)/grub.targetinstall:
$(GRUB_STAGE_DIR)/stage2, \
/boot/grub/stage2, n)
- @if [ -n $(PTXCONF_GRUB_MENU_LST) ]; then \
- if [ -f $(PTXDIST_BOARDSETUP) ]; then \
- export ROOTDIR="$(ROOTDIR)"; \
- echo "sourcing boardsetup..."; \
- . $(PTXDIST_BOARDSETUP); \
- fi; \
- tmpfile=`mktemp`; \
- cp $(PTXCONF_GRUB_MENU_LST) $$tmpfile; \
- sed -i -e "s/@IPADDR@/$${PTXCONF_BOARDSETUP_TARGETIP}/g" $$tmpfile; \
- sed -i -e "s/@SERVERIP@/$${PTXCONF_BOARDSETUP_SERVERIP}/g" $$tmpfile; \
- sed -i -e "s/@NETMASK@/$${PTXCONF_BOARDSETUP_NETMASK}/g" $$tmpfile; \
- sed -i -e "s/@GATEWAY@/$${PTXCONF_BOARDSETUP_GATEWAY}/g" $$tmpfile; \
- sed -i -e "s/@ROOTFS@/$${PTXCONF_BOARDSETUP_ROOTFS}/g" $$tmpfile; \
- sed -i -e "s,@TFTP_PATH@,$${PTXCONF_BOARDSETUP_TFTP_PATH},g" $$tmpfile; \
- sed -i -e "s,@NFSROOT_PATH@,$${PTXCONF_BOARDSETUP_NFSROOT_PATH},g" $$tmpfile; \
- sed -i -e "s,@ROOTDEV@,${PTXCONF_GRUB_ROOTFS_DEVICE},g" $$tmpfile; \
- $(call install_copy, grub, 0, 0, 0644, $$tmpfile, /boot/grub/menu.lst, n); \
- rm $$tmpfile; \
- fi
+ifdef GRUB_MENU_LST
+ @if [ -f $(PTXDIST_BOARDSETUP) ]; then \
+ export ROOTDIR="$(ROOTDIR)"; \
+ echo "sourcing boardsetup..."; \
+ . $(PTXDIST_BOARDSETUP); \
+ fi; \
+ $(call install_copy, grub, 0, 0, 0644, $(GRUB_MENU_LST), \
+ /boot/grub/menu.lst); \
+ $(call install_replace, grub, /boot/grub/menu.lst, \
+ @IPADDR@, $${PTXCONF_BOARDSETUP_TARGETIP}); \
+ $(call install_replace, grub, /boot/grub/menu.lst, \
+ @SERVERIP@, $${PTXCONF_BOARDSETUP_SERVERIP}); \
+ $(call install_replace, grub, /boot/grub/menu.lst, \
+ @NETMASK@, $${PTXCONF_BOARDSETUP_NETMASK}); \
+ $(call install_replace, grub, /boot/grub/menu.lst, \
+ @GATEWAY@, $${PTXCONF_BOARDSETUP_GATEWAY}); \
+ $(call install_replace, grub, /boot/grub/menu.lst, \
+ @TFTP_PATH@, $${PTXCONF_BOARDSETUP_TFTP_PATH}); \
+ $(call install_replace, grub, /boot/grub/menu.lst, \
+ @NFSROOT_PATH@, $${PTXCONF_BOARDSETUP_NFSROOT_PATH}); \
+ $(call install_replace, grub, /boot/grub/menu.lst, \
+ @ROOTDEV@, $(PTXCONF_GRUB_ROOTFS_DEVICE));
+endif
ifdef PTXCONF_GRUB_ISO9660
@$(call install_copy, grub, 0, 0, 0644, \
diff --git a/rules/gstreamer.in b/rules/gstreamer.in
index 0760846c2..d99a41896 100644
--- a/rules/gstreamer.in
+++ b/rules/gstreamer.in
@@ -9,6 +9,7 @@ menuconfig GSTREAMER
# now nobody did it.
select LIBXML2
select LIBXML2_READER
+ select HOST_FLEX
help
GStreamer is a streaming media framework, based on graphs of
filters which operate on media data. Applications using this
diff --git a/rules/haserl.make b/rules/haserl.make
index f85dac25c..ad02526ce 100644
--- a/rules/haserl.make
+++ b/rules/haserl.make
@@ -17,7 +17,7 @@ PACKAGES-$(PTXCONF_HASERL) += haserl
#
# Paths and names
#
-HASERL_VERSION := 0.9.21
+HASERL_VERSION := 0.9.26
HASERL := haserl-$(HASERL_VERSION)
HASERL_SUFFIX := tar.gz
HASERL_URL := $(PTXCONF_SETUP_SFMIRROR)/haserl/$(HASERL).$(HASERL_SUFFIX)
diff --git a/rules/hdparm.make b/rules/hdparm.make
index ee6ed3ab6..6f35676aa 100644
--- a/rules/hdparm.make
+++ b/rules/hdparm.make
@@ -17,7 +17,7 @@ PACKAGES-$(PTXCONF_HDPARM) += hdparm
#
# Paths and names
#
-HDPARM_VERSION := 9.10
+HDPARM_VERSION := 9.28
HDPARM := hdparm-$(HDPARM_VERSION)
HDPARM_SUFFIX := tar.gz
HDPARM_URL := $(PTXCONF_SETUP_SFMIRROR)/hdparm/$(HDPARM).$(HDPARM_SUFFIX)
@@ -37,8 +37,8 @@ $(HDPARM_SOURCE):
# Compile
# ----------------------------------------------------------------------------
-HDPARM_PATH := PATH=$(CROSS_PATH)
-HDPARM_MAKE_ENV := $(CROSS_ENV)
+HDPARM_CONF_TOOL := NO
+HDPARM_MAKE_ENV := $(CROSS_ENV)
# ----------------------------------------------------------------------------
# Target-Install
diff --git a/rules/host-eggdbus.make b/rules/host-eggdbus.make
index 8e6551350..6a13734fd 100644
--- a/rules/host-eggdbus.make
+++ b/rules/host-eggdbus.make
@@ -18,9 +18,11 @@ HOST_PACKAGES-$(PTXCONF_HOST_EGGDBUS) += host-eggdbus
# Prepare
# ----------------------------------------------------------------------------
-#
-# autoconf
-#
-HOST_EGGDBUS_CONF_TOOL := autoconf
+HOST_EGGDBUS_AUTOCONF := \
+ $(HOST_AUTOCONF) \
+ --disable-man-pages \
+ --disable-gtk-doc \
+ --disable-gtk-doc-html \
+ --disable-gtk-doc-pdf
# vim: syntax=make
diff --git a/rules/host-elfkickers.in b/rules/host-elfkickers.in
new file mode 100644
index 000000000..bf481d3de
--- /dev/null
+++ b/rules/host-elfkickers.in
@@ -0,0 +1,6 @@
+## SECTION=hosttools
+
+config HOST_ELFKICKERS
+ tristate
+ help
+ collection of programs dealing with the ELF file format
diff --git a/rules/host-elfkickers.make b/rules/host-elfkickers.make
new file mode 100644
index 000000000..50345e7e9
--- /dev/null
+++ b/rules/host-elfkickers.make
@@ -0,0 +1,51 @@
+# -*-makefile-*-
+#
+# Copyright (C) 2010 by Marc Kleine-Budde <mkl@pengutronix.de>
+#
+# See CREDITS for details about who has contributed to this project.
+#
+# For further information about the PTXdist project and license conditions
+# see the README file.
+#
+
+#
+# We provide this package
+#
+HOST_PACKAGES-$(PTXCONF_HOST_ELFKICKERS) += host-elfkickers
+
+#
+# Paths and names
+#
+HOST_ELFKICKERS_VERSION := 2.0a
+HOST_ELFKICKERS_SUFFIX := tar.gz
+HOST_ELFKICKERS := elfkickers-$(HOST_ELFKICKERS_VERSION).orig
+HOST_ELFKICKERS_TARBALL := elfkickers_$(HOST_ELFKICKERS_VERSION).orig.$(HOST_ELFKICKERS_SUFFIX)
+HOST_ELFKICKERS_URL := http://archive.ubuntu.com/ubuntu/pool/universe/e/elfkickers/$(HOST_ELFKICKERS_TARBALL)
+HOST_ELFKICKERS_SOURCE := $(SRCDIR)/$(HOST_ELFKICKERS_TARBALL)
+HOST_ELFKICKERS_DIR := $(HOST_BUILDDIR)/$(HOST_ELFKICKERS)
+
+# ----------------------------------------------------------------------------
+# Get
+# ----------------------------------------------------------------------------
+
+$(HOST_ELFKICKERS_SOURCE):
+ @$(call targetinfo)
+ @$(call get, HOST_ELFKICKERS)
+
+# ----------------------------------------------------------------------------
+# Prepare
+# ----------------------------------------------------------------------------
+
+HOST_ELFKICKERS_MAKE_ENV := $(HOST_ENV_CC)
+HOST_ELFKICKERS_CONF_TOOL := NO
+
+# ----------------------------------------------------------------------------
+# Install
+# ----------------------------------------------------------------------------
+
+$(STATEDIR)/host-elfkickers.install:
+ @$(call targetinfo)
+ cp "$(HOST_ELFKICKERS_DIR)/sstrip/sstrip" "$(PTXDIST_SYSROOT_HOST)/bin"
+ @$(call touch)
+
+# vim: syntax=make
diff --git a/rules/host-flex.in b/rules/host-flex.in
new file mode 100644
index 000000000..413384a8d
--- /dev/null
+++ b/rules/host-flex.in
@@ -0,0 +1,7 @@
+## SECTION=hosttools_noprompt
+
+config HOST_FLEX
+ tristate
+ help
+ Flex, the fast lexical analyser generator.
+
diff --git a/rules/host-flex.make b/rules/host-flex.make
new file mode 100644
index 000000000..399c42a17
--- /dev/null
+++ b/rules/host-flex.make
@@ -0,0 +1,21 @@
+# -*-makefile-*-
+#
+# Copyright (C) 2010 by Erwin Rol <erwin@erwinrol.com>
+#
+# See CREDITS for details about who has contributed to this project.
+#
+# For further information about the PTXdist project and license conditions
+# see the README file.
+#
+
+#
+# We provide this package
+#
+HOST_PACKAGES-$(PTXCONF_HOST_FLEX) += host-flex
+
+#
+# Paths and names
+#
+HOST_FLEX_DIR = $(HOST_BUILDDIR)/$(FLEX)
+
+# vim: syntax=make
diff --git a/rules/host-ipkg-utils.make b/rules/host-ipkg-utils.make
index 63eb4e20e..44eb209b1 100644
--- a/rules/host-ipkg-utils.make
+++ b/rules/host-ipkg-utils.make
@@ -1,6 +1,7 @@
# -*-makefile-*-
#
# Copyright (C) 2005 by Robert Schwebel
+# 2010 by Marc Kleine-Budde <mkl@pengutronix.de>
#
# See CREDITS for details about who has contributed to this project.
#
@@ -35,12 +36,8 @@ $(HOST_IPKG_UTILS_SOURCE):
# Prepare
# ----------------------------------------------------------------------------
-HOST_IPKG_UTILS_PATH := PATH=$(HOST_PATH)
-HOST_IPKG_UTILS_ENV := $(HOST_ENV)
-HOST_IPKG_UTILS_MAKEVARS := PREFIX=$(PTXCONF_SYSROOT_HOST)
-
-$(STATEDIR)/host-ipkg-utils.prepare:
- @$(call targetinfo)
- @$(call touch)
+HOST_IPKG_UTILS_CONF_TOOL := NO
+HOST_IPKG_UTILS_MAKE_OPT := PREFIX=$(PTXCONF_SYSROOT_HOST) $(HOST_ENV_CC)
+HOST_IPKG_UTILS_INSTALL_OPT := $(HOST_IPKG_UTILS_MAKE_OPT) install
# vim: syntax=make
diff --git a/rules/host-lzop.in b/rules/host-lzop.in
new file mode 100644
index 000000000..cab61ec84
--- /dev/null
+++ b/rules/host-lzop.in
@@ -0,0 +1,18 @@
+## SECTION=hosttools_noprompt
+
+config HOST_LZOP
+ tristate
+ select HOST_LIBLZO
+ help
+ fast compression program
+
+ lzop is a compressor similar to gzip. Its main advantages
+ over gzip are much higher compression and decompression
+ speed. lzop was designed with the following goals in mind:
+
+ 1) reliability
+ 2) speed (both compression and decompression)
+ 3) reasonable drop-in compatibility with gzip
+ 4) portability
+
+ Homepage: http://www.lzop.org/
diff --git a/rules/host-lzop.make b/rules/host-lzop.make
new file mode 100644
index 000000000..fc27a64c9
--- /dev/null
+++ b/rules/host-lzop.make
@@ -0,0 +1,40 @@
+# -*-makefile-*-
+#
+# Copyright (C) 2010 by Marc Kleine-Budde <mkl@pengutronix.de>
+#
+# See CREDITS for details about who has contributed to this project.
+#
+# For further information about the PTXdist project and license conditions
+# see the README file.
+#
+
+#
+# We provide this package
+#
+HOST_PACKAGES-$(PTXCONF_HOST_LZOP) += host-lzop
+
+#
+# Paths and names
+#
+HOST_LZOP_VERSION := 1.02rc1
+HOST_LZOP := lzop-$(HOST_LZOP_VERSION)
+HOST_LZOP_SUFFIX := tar.gz
+HOST_LZOP_URL := http://www.lzop.org/download/$(HOST_LZOP).$(HOST_LZOP_SUFFIX)
+HOST_LZOP_SOURCE := $(SRCDIR)/$(HOST_LZOP).$(HOST_LZOP_SUFFIX)
+HOST_LZOP_DIR := $(HOST_BUILDDIR)/$(HOST_LZOP)
+
+# ----------------------------------------------------------------------------
+# Get
+# ----------------------------------------------------------------------------
+
+$(HOST_LZOP_SOURCE):
+ @$(call targetinfo)
+ @$(call get, HOST_LZOP)
+
+# ----------------------------------------------------------------------------
+# Prepare
+# ----------------------------------------------------------------------------
+
+HOST_LZOP_CONF_TOOL := autoconf
+
+# vim: syntax=make
diff --git a/rules/host-squashfs-tools.make b/rules/host-squashfs-tools.make
index 504365fb4..f5ce4768e 100644
--- a/rules/host-squashfs-tools.make
+++ b/rules/host-squashfs-tools.make
@@ -16,23 +16,10 @@ HOST_PACKAGES-$(PTXCONF_HOST_SQUASHFS_TOOLS) += host-squashfs-tools
#
# Paths and names
#
-HOST_SQUASHFS_TOOLS_VERSION := $(call ptx/ifdef, PTXCONF_HOST_SQUASHFS_TOOLS_V3X, 3.4, 4.0)
-HOST_SQUASHFS_TOOLS := squashfs$(HOST_SQUASHFS_TOOLS_VERSION)
-HOST_SQUASHFS_TOOLS_SUFFIX := tar.gz
-HOST_SQUASHFS_TOOLS_URL := $(PTXCONF_SETUP_SFMIRROR)/squashfs/$(HOST_SQUASHFS_TOOLS).$(HOST_SQUASHFS_TOOLS_SUFFIX)
-HOST_SQUASHFS_TOOLS_SOURCE := $(SRCDIR)/$(HOST_SQUASHFS_TOOLS).$(HOST_SQUASHFS_TOOLS_SUFFIX)
-HOST_SQUASHFS_TOOLS_DIR := $(HOST_BUILDDIR)/$(HOST_SQUASHFS_TOOLS)
+HOST_SQUASHFS_TOOLS_DIR = $(HOST_BUILDDIR)/$(SQUASHFS_TOOLS)
HOST_SQUASHFS_TOOLS_SUBDIR := squashfs-tools
# ----------------------------------------------------------------------------
-# Get
-# ----------------------------------------------------------------------------
-
-$(HOST_SQUASHFS_TOOLS_SOURCE):
- @$(call targetinfo)
- @$(call get, HOST_SQUASHFS_TOOLS)
-
-# ----------------------------------------------------------------------------
# Compile
# ----------------------------------------------------------------------------
diff --git a/rules/htop.make b/rules/htop.make
index 887b10742..3554056c9 100644
--- a/rules/htop.make
+++ b/rules/htop.make
@@ -1,6 +1,7 @@
# -*-makefile-*-
#
# Copyright (C) 2007 by Robert Schwebel
+# 2010 by Marc Kleine-Budde <mkl@pengutronix.de>
#
# See CREDITS for details about who has contributed to this project.
#
@@ -16,7 +17,7 @@ PACKAGES-$(PTXCONF_HTOP) += htop
#
# Paths and names
#
-HTOP_VERSION := 0.8.1
+HTOP_VERSION := 0.8.3
HTOP := htop-$(HTOP_VERSION)
HTOP_SUFFIX := tar.gz
HTOP_URL := $(PTXCONF_SETUP_SFMIRROR)/htop/$(HTOP).$(HTOP_SUFFIX)
diff --git a/rules/initmethod.in b/rules/initmethod.in
index bdb8265bb..6864e6bdc 100644
--- a/rules/initmethod.in
+++ b/rules/initmethod.in
@@ -27,6 +27,10 @@ choice
depends on BROKEN
prompt "init ng "
+ config INITMETHOD_INITRAMFS
+ bool
+ prompt "initramfs init "
+
endchoice
source "generated/initmethod.in"
diff --git a/rules/initramfs-busybox.in b/rules/initramfs-busybox.in
deleted file mode 100644
index 890682cf4..000000000
--- a/rules/initramfs-busybox.in
+++ /dev/null
@@ -1,19 +0,0 @@
-## SECTION=initramfs
-
-menuconfig INITRAMFS_BUSYBOX
- bool
- prompt "initramfs-busybox "
- select KLIBC
- select INITRAMFS_BUSYBOX_STATIC
- help
- BusyBox is the Swiss Army Knife of embedded Linux. It is a
- multi call program which hosts nearly all important unix
- tools in one small executable.
-
- For more information see http://www.busybox.net
-
-if INITRAMFS_BUSYBOX
-
-source "config/initramfs-busybox/Config.in"
-
-endif
diff --git a/rules/initramfs-busybox.make b/rules/initramfs-busybox.make
deleted file mode 100644
index 539fd80dd..000000000
--- a/rules/initramfs-busybox.make
+++ /dev/null
@@ -1,151 +0,0 @@
-# -*-makefile-*-
-#
-# Copyright (C) 2003-2009 by Robert Schwebel <r.schwebel@pengutronix.de>
-#
-# See CREDITS for details about who has contributed to this project.
-#
-# For further information about the PTXdist project and license conditions
-# see the README file.
-#
-
-#
-# We provide this package
-#
-PACKAGES-$(PTXCONF_INITRAMFS_BUSYBOX) += initramfs-busybox
-
-#
-# Paths and names
-#
-INITRAMFS_BUSYBOX := initramfs-$(BUSYBOX)
-INITRAMFS_BUSYBOX_DIR := $(KLIBC_BUILDDIR)/$(BUSYBOX)
-INITRAMFS_BUSYBOX_KCONFIG := $(INITRAMFS_BUSYBOX_DIR)/Config.in
-
-ifdef PTXCONF_INITRAMFS_BUSYBOX
-$(STATEDIR)/klibc.targetinstall.post: $(STATEDIR)/initramfs-busybox.targetinstall
-endif
-
-# ----------------------------------------------------------------------------
-# Get
-# ----------------------------------------------------------------------------
-
-$(STATEDIR)/initramfs-busybox.get: $(STATEDIR)/busybox.get
- @$(call targetinfo)
- @$(call touch)
-
-# ----------------------------------------------------------------------------
-# Extract
-# ----------------------------------------------------------------------------
-
-$(STATEDIR)/initramfs-busybox.extract:
- @$(call targetinfo)
- @$(call clean, $(INITRAMFS_BUSYBOX_DIR))
- @$(call extract, BUSYBOX, $(KLIBC_BUILDDIR))
- @$(call patchin, INITRAMFS_BUSYBOX, $(INITRAMFS_BUSYBOX_DIR))
- @$(call touch)
-
-# ----------------------------------------------------------------------------
-# Prepare
-# ----------------------------------------------------------------------------
-
-INITRAMFS_BUSYBOX_PATH := PATH=$(CROSS_PATH)
-INITRAMFS_BUSYBOX_ENV := $(CROSS_ENV)
-
-INITRAMFS_BUSYBOX_MAKEVARS := \
- ARCH=$(PTXCONF_ARCH_STRING) \
- CROSS_COMPILE=$(COMPILER_PREFIX) \
- HOSTCC=$(HOSTCC)
-
-$(STATEDIR)/initramfs-busybox.prepare:
- @$(call targetinfo)
-
- cd $(INITRAMFS_BUSYBOX_DIR) && \
- $(INITRAMFS_BUSYBOX_PATH) $(INITRAMFS_BUSYBOX_ENV) \
- $(MAKE) distclean $(INITRAMFS_BUSYBOX_MAKEVARS)
- grep -e PTXCONF_INITRAMFS_BUSYBOX_ $(PTXDIST_PTXCONFIG) | \
- sed -e 's/PTXCONF_INITRAMFS_BUSYBOX_/CONFIG_/g' > $(INITRAMFS_BUSYBOX_DIR)/.config
-
- $(call ptx/oldconfig, INITRAMFS_BUSYBOX)
-
- @$(call touch)
-
-# ----------------------------------------------------------------------------
-# Install
-# ----------------------------------------------------------------------------
-
-$(STATEDIR)/initramfs-busybox.install:
- @$(call targetinfo)
- cd $(INITRAMFS_BUSYBOX_DIR) && $(INITRAMFS_BUSYBOX_PATH) $(MAKE) \
- $(INITRAMFS_BUSYBOX_MAKEVARS) CONFIG_PREFIX=$(SYSROOT)/usr/lib/klibc install
- cd $(INITRAMFS_BUSYBOX_DIR) && $(INITRAMFS_BUSYBOX_PATH) $(MAKE) \
- $(INITRAMFS_BUSYBOX_MAKEVARS) CONFIG_PREFIX=$(INITRAMFS_BUSYBOX_PKGDIR) install
- @$(call touch)
-
-# ----------------------------------------------------------------------------
-# Target-Install
-# ----------------------------------------------------------------------------
-
-$(STATEDIR)/initramfs-busybox.targetinstall:
- @$(call targetinfo)
-
-ifdef PTXCONF_INITRAMFS_BUSYBOX_FEATURE_SUID
- @$(call install_initramfs, initramfs-busybox, 0, 0, 4755, $(INITRAMFS_BUSYBOX_DIR)/busybox, /bin/busybox);
-else
- @$(call install_initramfs, initramfs-busybox, 0, 0, 755, $(INITRAMFS_BUSYBOX_DIR)/busybox, /bin/busybox);
-endif
- @cat $(INITRAMFS_BUSYBOX_DIR)/busybox.links | while read link; do \
- case "$${link}" in \
- (/*/*/*) to="../../bin/busybox" ;; \
- (/bin/*) to="busybox" ;; \
- (/*/*) to="../bin/busybox" ;; \
- (/*) to="bin/busybox" ;; \
- esac; \
- $(call install_initramfs_link, busybox, "$${to}", "$${link}"); \
- done
-
-ifdef PTXCONF_INITRAMFS_BUSYBOX_TELNETD_INETD
- @$(call install_initramfs_alt, initramfs-busybox, 0, 0, 0644, /etc/inetd.conf.d/telnetd);
-endif
-
-# #
-# # bb init: start scripts
-# #
-
-ifdef PTXCONF_INITMETHOD_BBINIT
-ifdef PTXCONF_INITRAMFS_BUSYBOX_INETD_STARTSCRIPT
- @$(call install_initramfs_alt, initramfs-busybox, 0, 0, 0755, /etc/init.d/inetd);
-endif
-
-ifdef PTXCONF_INITRAMFS_BUSYBOX_TELNETD_STARTSCRIPT
- @$(call install_initramfs_alt, initramfs-busybox, 0, 0, 0755, /etc/init.d/telnetd);
-endif
-
-ifdef PTXCONF_INITRAMFS_BUSYBOX_SYSLOGD_STARTSCRIPT
- @$(call install_initramfs_alt, initramfs-busybox, 0, 0, 0755, /etc/init.d/syslogd);
-endif
-
-ifdef PTXCONF_INITRAMFS_BUSYBOX_CROND_STARTSCRIPT
- @$(call install_initramfs_alt, initramfs-busybox, 0, 0, 0755, /etc/init.d/crond);
-endif
-
-ifdef PTXCONF_INITRAMFS_BUSYBOX_HWCLOCK_STARTSCRIPT
- @$(call install_initramfs_alt, initramfs-busybox, 0, 0, 0755, /etc/init.d/hwclock);
-endif
-endif # PTXCONF_INITMETHOD_BBINIT
-
-# #
-# # config files
-# #
-
-ifdef PTXCONF_INITRAMFS_BUSYBOX_APP_UDHCPC
- @$(call install_initramfs_alt, initramfs-busybox, 0, 0, 0754, /etc/udhcpc.script);
- @$(call install_initramfs_link, initramfs-busybox, ../../../etc/udhcpc.script, /usr/share/udhcpc/default.script);
-endif
-
-ifdef PTXCONF_INITRAMFS_BUSYBOX_CROND
- @$(call install_initramfs, initramfs-busybox, 0, 0, 0755, /etc/cron);
- @$(call install_initramfs, initramfs-busybox, 0, 0, 0755, /var/spool/cron/crontabs/);
-endif
-
- @$(call touch)
-
-# vim: syntax=make
diff --git a/rules/initramfs-tools.in b/rules/initramfs-tools.in
index 9e6ca53ff..47c6378a0 100644
--- a/rules/initramfs-tools.in
+++ b/rules/initramfs-tools.in
@@ -1,18 +1,16 @@
-## SECTION=initramfs
+## SECTION=initmethod
+
+if INITMETHOD_INITRAMFS
menuconfig INITRAMFS_TOOLS
bool
- select KLIBC
- select KLIBC_MODULE_INIT_TOOLS
- select KLIBC_MODULE_INIT_TOOLS_DEPMOD
- select KLIBC_MODULE_INIT_TOOLS_MODPROBE
prompt "initramfs-tools "
help
Install initramfs skeleton framework
if INITRAMFS_TOOLS
-config INITRAMFS_USER_SPEC
+config INITRAMFS_SPEC
bool
prompt "parse project specific initramfs_spec"
help
@@ -25,6 +23,32 @@ config INITRAMFS_USER_SPEC
Files described in this file can either have an absolute or
a relative path (relative to ${PTXDIST_WORKSPACE}).
+if INITRAMFS_SPEC
+
+config INITRAMFS_SPEC_FILE
+ string "initramfs spec filename"
+ default "${PTXDIST_WORKSPACE}/initramfs_spec"
+ help
+ install using a spec file. Format is similar to what
+ is described in the kernel source in
+ Documentation/filesystems/ramfs-rootfs-initramfs.txt
+
+ file <name> <location> <mode> <uid> <gid>
+ dir <name> <mode> <uid> <gid>
+ nod <name> <mode> <uid> <gid> <dev_type> <maj> <min>
+ slink <name> <target> <mode> <uid> <gid>
+
+ file <location> can either have an absolute path or
+ a relative path relative to any of the following paths:
+ ${PTXDIST_WORKSPACE}/projectroot${PTXDIST_PLATFORMSUFFIX}/<location>
+ ${PTXDIST_WORKSPACE}/projectroot/<location>${PTXDIST_PLATFORMSUFFIX}
+ ${PTXDIST_WORKSPACE}/projectroot/<location>
+ ${PTXDIST_TOPDIR}/generic/<location>
+ ${pkg_pkg_dir}/<location>
+ ${pkg_dir}/<location>
+
+endif
+
config INITRAMFS_TOOLS_SCRIPTS_INIT
bool "install /scripts/init "
help
@@ -42,3 +66,4 @@ config INITRAMFS_TOOLS_SCRIPTS_NFS
endif
+endif
diff --git a/rules/initramfs-tools.make b/rules/initramfs-tools.make
index 48c1c06fa..2bccee685 100644
--- a/rules/initramfs-tools.make
+++ b/rules/initramfs-tools.make
@@ -22,11 +22,7 @@ INITRAMFS_TOOLS := initramfs-tools
INITRAMFS_TOOLS_TARBALL := $(INITRAMFS_TOOLS)_$(INITRAMFS_TOOLS_VERSION).$(INITRAMFS_TOOLS_SUFFIX)
INITRAMFS_TOOLS_URL := $(PTXCONF_SETUP_DEBMIRROR)/pool/main/i/initramfs-tools/$(INITRAMFS_TOOLS_TARBALL)
INITRAMFS_TOOLS_SOURCE := $(SRCDIR)/$(INITRAMFS_TOOLS_TARBALL)
-INITRAMFS_TOOLS_DIR := $(KLIBC_BUILDDIR)/$(INITRAMFS_TOOLS)
-
-ifdef PTXCONF_INITRAMFS_TOOLS
-$(STATEDIR)/klibc.targetinstall.post: $(STATEDIR)/initramfs-tools.targetinstall
-endif
+INITRAMFS_TOOLS_DIR := $(BUILDDIR)/$(INITRAMFS_TOOLS)
# ----------------------------------------------------------------------------
# Get
@@ -69,42 +65,57 @@ $(STATEDIR)/initramfs-tools.install:
$(STATEDIR)/initramfs-tools.targetinstall:
@$(call targetinfo)
- @$(call install_initramfs, initramfs-tools, 0, 0, 0755, /conf);
- @$(call install_initramfs, initramfs-tools, 0, 0, 0755, /conf/conf.d);
- @$(call install_initramfs_alt, initramfs-tools, 0, 0, 0755, /init);
- @$(call install_initramfs_alt, initramfs-tools, 0, 0, 0755, /conf/initramfs.conf);
- @$(call install_initramfs_alt, initramfs-tools, 0, 0, 0755, /conf/arch.conf);
-
- @$(call install_initramfs, initramfs-tools, 0, 0, 0755, /scripts);
- @$(call install_initramfs, initramfs-tools, 0, 0, 0755, /scripts/init-top);
- @$(call install_initramfs, initramfs-tools, 0, 0, 0755, /scripts/init-premount);
- @$(call install_initramfs, initramfs-tools, 0, 0, 0755, /scripts/init-bottom);
- @$(call install_initramfs_alt, initramfs-tools, 0, 0, 0755, /scripts/functions);
+ @$(call install_init, initramfs-tools)
+ @$(call install_fixup, initramfs-tools,PACKAGE,initramfs-tools)
+ @$(call install_fixup, initramfs-tools,PRIORITY,optional)
+ @$(call install_fixup, initramfs-tools,VERSION,$(INITRAMFS_TOOLS_VERSION))
+ @$(call install_fixup, initramfs-tools,SECTION,base)
+ @$(call install_fixup, initramfs-tools,AUTHOR,"Jon Ringle <jon@ringle.org>")
+ @$(call install_fixup, initramfs-tools,DEPENDS,)
+ @$(call install_fixup, initramfs-tools,DESCRIPTION,missing)
+
+ @$(call install_copy, initramfs-tools, 0, 0, 0755, /conf);
+ @$(call install_copy, initramfs-tools, 0, 0, 0755, /conf/conf.d);
+ @$(call install_alternative, initramfs-tools, 0, 0, 0755, /init);
+ @$(call install_alternative, initramfs-tools, 0, 0, 0755, /conf/initramfs.conf);
+ @$(call install_alternative, initramfs-tools, 0, 0, 0755, /conf/arch.conf);
+
+ @$(call install_copy, initramfs-tools, 0, 0, 0755, /scripts);
+ @$(call install_copy, initramfs-tools, 0, 0, 0755, /scripts/init-top);
+ @$(call install_copy, initramfs-tools, 0, 0, 0755, /scripts/init-premount);
+ @$(call install_copy, initramfs-tools, 0, 0, 0755, /scripts/init-bottom);
+ @$(call install_alternative, initramfs-tools, 0, 0, 0755, /scripts/functions);
ifdef PTXCONF_INITRAMFS_TOOLS_SCRIPTS_INIT
@cd $(INITRAMFS_TOOLS_DIR) && \
find scripts/init-* -type f | while read file; do \
- $(call install_initramfs_alt, initramfs-tools, 0, 0, 0755, /$${file}); \
+ $(call install_alternative, initramfs-tools, 0, 0, 0755, /$${file}); \
done
endif
ifdef PTXCONF_INITRAMFS_TOOLS_SCRIPTS_LOCAL
- @$(call install_initramfs, initramfs-tools, 0, 0, 0755, /scripts/local-top);
- @$(call install_initramfs, initramfs-tools, 0, 0, 0755, /scripts/local-premount);
- @$(call install_initramfs, initramfs-tools, 0, 0, 0755, /scripts/local-bottom);
- @$(call install_initramfs_alt, initramfs-tools, 0, 0, 0755, /scripts/local);
+ @$(call install_copy, initramfs-tools, 0, 0, 0755, /scripts/local-top);
+ @$(call install_copy, initramfs-tools, 0, 0, 0755, /scripts/local-premount);
+ @$(call install_copy, initramfs-tools, 0, 0, 0755, /scripts/local-bottom);
+ @$(call install_alternative, initramfs-tools, 0, 0, 0755, /scripts/local);
@cd $(INITRAMFS_TOOLS_DIR) && \
find scripts/local-* -type f | while read file; do \
- $(call install_initramfs_alt, initramfs-tools, 0, 0, 0755, /$${file}); \
+ $(call install_alternative, initramfs-tools, 0, 0, 0755, /$${file}); \
done
endif
ifdef PTXCONF_INITRAMFS_TOOLS_SCRIPTS_NFS
- @$(call install_initramfs, initramfs-tools, 0, 0, 0755, /scripts/nfs-top);
- @$(call install_initramfs, initramfs-tools, 0, 0, 0755, /scripts/nfs-premount);
- @$(call install_initramfs, initramfs-tools, 0, 0, 0755, /scripts/nfs-bottom);
- @$(call install_initramfs_alt, initramfs-tools, 0, 0, 0755, /scripts/nfs);
+ @$(call install_copy, initramfs-tools, 0, 0, 0755, /scripts/nfs-top);
+ @$(call install_copy, initramfs-tools, 0, 0, 0755, /scripts/nfs-premount);
+ @$(call install_copy, initramfs-tools, 0, 0, 0755, /scripts/nfs-bottom);
+ @$(call install_alternative, initramfs-tools, 0, 0, 0755, /scripts/nfs);
endif
+
+ifdef PTXCONF_INITRAMFS_SPEC
+ @$(call install_spec, initramfs-tools, $(PTXCONF_INITRAMFS_SPEC_FILE));
+endif
+
+ @$(call install_finish, initramfs-tools)
@$(call touch)
# vim: syntax=make
diff --git a/rules/kernel.make b/rules/kernel.make
index 6c1be8a22..9477502ae 100644
--- a/rules/kernel.make
+++ b/rules/kernel.make
@@ -45,16 +45,6 @@ KERNEL_URL := \
KERNEL_SOURCE := $(SRCDIR)/$(KERNEL).$(KERNEL_SUFFIX)
endif
-#
-# support the different kernel image formats
-#
-KERNEL_IMAGE_PATH-$(PTXCONF_KERNEL_IMAGE_BZ) += $(KERNEL_DIR)/arch/$(PTXCONF_KERNEL_ARCH_STRING)/boot/bzImage
-KERNEL_IMAGE_PATH-$(PTXCONF_KERNEL_IMAGE_U) += $(KERNEL_DIR)/arch/$(PTXCONF_KERNEL_ARCH_STRING)/boot/uImage
-KERNEL_IMAGE_PATH-$(PTXCONF_KERNEL_IMAGE_VM) += $(KERNEL_DIR)/arch/$(PTXCONF_KERNEL_ARCH_STRING)/boot/vmImage
-KERNEL_IMAGE_PATH-$(PTXCONF_KERNEL_IMAGE_Z) += $(KERNEL_DIR)/arch/$(PTXCONF_KERNEL_ARCH_STRING)/boot/zImage
-KERNEL_IMAGE_PATH-$(PTXCONF_KERNEL_IMAGE_VMLINUX) += $(KERNEL_DIR)/vmlinux
-KERNEL_IMAGE_PATH-$(PTXCONF_KERNEL_IMAGE_RAW) += $(KERNEL_DIR)/arch/$(PTXCONF_KERNEL_ARCH_STRING)/boot/Image
-
# ----------------------------------------------------------------------------
# Get
# ----------------------------------------------------------------------------
@@ -84,7 +74,18 @@ KERNEL_MAKEVARS += \
DEPMOD=$(PTXCONF_SYSROOT_CROSS)/sbin/$(PTXCONF_GNU_TARGET)-depmod
endif
-KERNEL_IMAGE := $(PTXCONF_KERNEL_IMAGE)
+
+#
+# support the different kernel image formats
+#
+KERNEL_IMAGE := $(call remove_quotes, $(PTXCONF_KERNEL_IMAGE))
+
+# these are sane default
+KERNEL_IMAGE_PATH_y := $(KERNEL_DIR)/arch/$(PTXCONF_KERNEL_ARCH_STRING)/boot/$(KERNEL_IMAGE)
+
+# vmlinux is special
+KERNEL_IMAGE_PATH_$(PTXCONF_KERNEL_IMAGE_VMLINUX) := $(KERNEL_DIR)/vmlinux
+
ifndef PTXCONF_PROJECT_USE_PRODUCTION
@@ -99,26 +100,41 @@ $(KERNEL_CONFIG):
@exit 1
endif
+
+#
+# when compiling the rootfs into the kernel, we just include an empty
+# file for now. the rootfs isn't build yet.
+#
+KERNEL_INITRAMFS_SOURCE_$(PTXCONF_IMAGE_KERNEL_INITRAMFS) += $(STATEDIR)/empty.cpio
+KERNEL_INITRAMFS_SOURCE_$(PTXCONF_KLIBC) += $(INITRAMFS_CONTROL)
+
$(STATEDIR)/kernel.prepare: $(KERNEL_CONFIG)
@$(call targetinfo)
@echo "Using kernel config file: $(<)"
@install -m 644 "$(<)" "$(KERNEL_DIR)/.config"
+ifdef PTXCONF_KERNEL_IMAGE_SIMPLE
+ cp $(PTXCONF_KERNEL_IMAGE_SIMPLE_DTS) \
+ $(KERNEL_DIR)/arch/$(PTXCONF_KERNEL_ARCH_STRING)/boot/dts/$(PTXCONF_KERNEL_IMAGE_SIMPLE_TARGET).dts
+endif
-ifdef PTXCONF_KLIBC
-# tell the kernel where our spec file for initramfs is
- @sed -i -e 's,^CONFIG_INITRAMFS_SOURCE.*$$,CONFIG_INITRAMFS_SOURCE=\"$(INITRAMFS_CONTROL)\",g' \
- $(KERNEL_DIR)/.config
+ifdef KERNEL_INITRAMFS_SOURCE_y
+ @touch "$(KERNEL_INITRAMFS_SOURCE_y)"
+ @sed -i -e 's,^CONFIG_INITRAMFS_SOURCE.*$$,CONFIG_INITRAMFS_SOURCE=\"$(KERNEL_INITRAMFS_SOURCE_y)\",g' \
+ "$(KERNEL_DIR)/.config"
endif
@$(call ptx/oldconfig, KERNEL)
@cp "$(KERNEL_DIR)/.config" "$(<)"
-ifdef PTXCONF_KLIBC
-# Don't keep expanded $(INITRAMFS_CONTROL) in $(KERNEL_CONFIG) because
-# it contains local workdir path that is not relevant to other developers.
- @sed -i -e 's,^CONFIG_INITRAMFS_SOURCE.*$$,CONFIG_INITRAMFS_SOURCE=\"#<Automatically set by PTXDist>\",g' \
- $(KERNEL_CONFIG)
+#
+# Don't keep the expanded path to INITRAMS_SOURCE in $(KERNEL_CONFIG),
+# because it contains local workdir path which is not relevant to
+# other developers.
+#
+ifdef KERNEL_INITRAMFS_SOURCE_y
+ @sed -i -e 's,^CONFIG_INITRAMFS_SOURCE.*$$,CONFIG_INITRAMFS_SOURCE=\"# Automatically set by PTXDist\",g' \
+ "$(<)"
endif
@$(call touch)
@@ -176,17 +192,8 @@ $(STATEDIR)/kernel.install:
$(STATEDIR)/kernel.targetinstall:
@$(call targetinfo)
-# # we _always_ need the kernel in the image dir
- @for i in $(KERNEL_IMAGE_PATH-y); do \
- if [ -f $$i ]; then \
- install -m 644 $$i $(IMAGEDIR)/linuximage; \
- fi; \
- done
-
- @if test \! -e $(IMAGEDIR)/linuximage; then \
- echo "$(PTXCONF_KERNEL_IMAGE) not found, maybe bzImage on ARM"; \
- exit 1; \
- fi
+# delete the kernel image, it might be out-of-date
+ @rm -f $(IMAGEDIR)/linuximage
ifneq ($(PTXCONF_KERNEL_INSTALL)$(PTXCONF_KERNEL_VMLINUX),)
@$(call install_init, kernel)
@@ -200,18 +207,10 @@ ifneq ($(PTXCONF_KERNEL_INSTALL)$(PTXCONF_KERNEL_VMLINUX),)
@$(call install_copy, kernel, 0, 0, 0755, /boot);
ifdef PTXCONF_KERNEL_INSTALL
- @for i in $(KERNEL_IMAGE_PATH-y); do \
- if [ -f $$i ]; then \
- $(call install_copy, kernel, 0, 0, 0644, $$i, /boot/$(KERNEL_IMAGE), n); \
- fi; \
- done
+ $(call install_copy, kernel, 0, 0, 0644, $(KERNEL_IMAGE_PATH_y), /boot/$(KERNEL_IMAGE), n)
endif
-
-#
# install the ELF kernel image for debugging purpose
-# e.g. oprofile
-#
ifdef PTXCONF_KERNEL_VMLINUX
@$(call install_copy, kernel, 0, 0, 0644, $(KERNEL_DIR)/vmlinux, /boot/vmlinux, n)
endif
@@ -219,7 +218,6 @@ endif
@$(call install_finish, kernel)
endif
-
ifdef PTXCONF_KERNEL_MODULES_INSTALL
@rm -rf $(KERNEL_PKGDIR)
@cd $(KERNEL_DIR) && $(KERNEL_PATH) $(KERNEL_ENV) $(MAKE) \
@@ -233,6 +231,10 @@ endif
# Target-Install-post
# ----------------------------------------------------------------------------
+ifdef PTXCONF_IMAGE_KERNEL_INSTALL_EARLY
+$(STATEDIR)/kernel.targetinstall.post: $(IMAGEDIR)/linuximage
+endif
+
$(STATEDIR)/kernel.targetinstall.post:
@$(call targetinfo)
@@ -248,7 +250,7 @@ ifdef PTXCONF_KERNEL_MODULES_INSTALL
@cd $(KERNEL_PKGDIR) && \
find lib -type f | while read file; do \
- $(call install_copy, kernel-modules, 0, 0, 0644, -, /$${file}, n) \
+ $(call install_copy, kernel-modules, 0, 0, 0644, -, /$${file}, k) \
done
@$(call install_finish, kernel-modules)
diff --git a/rules/klibc-module-init-tools.in b/rules/klibc-module-init-tools.in
deleted file mode 100644
index e7f8db028..000000000
--- a/rules/klibc-module-init-tools.in
+++ /dev/null
@@ -1,52 +0,0 @@
-## SECTION=initramfs
-# klibc-module-init-tools configuration
-
-menuconfig KLIBC_MODULE_INIT_TOOLS
- bool
- select KLIBC
- prompt "klibc-module-init-tools "
- help
- This package contains a set of programs for loading, inserting
- and removing kernel modules for Linux (versions 2.5.48 and
- above). The programs here are linked against klibc and will
- be a part of the initramfs image in the Linux kernel.
-
-if KLIBC_MODULE_INIT_TOOLS
-
-config KLIBC_MODULE_INIT_TOOLS_INSMOD
- bool
- prompt "Install insmod in initramfs image"
- help
- simple program to insert a module into the Linux Kernel
-
-config KLIBC_MODULE_INIT_TOOLS_RMMOD
- bool
- prompt "Install rmmod in initramfs image"
- help
- simple program to remove a module from the Linux Kernel
-
-config KLIBC_MODULE_INIT_TOOLS_LSMOD
- bool
- prompt "Install lsmod in initramfs image"
- help
- program to show the status of modules in the Linux Kernel
-
-config KLIBC_MODULE_INIT_TOOLS_MODINFO
- bool
- prompt "Install modinfo in initramfs image"
- help
- program to show information about a Linux Kernel module
-
-config KLIBC_MODULE_INIT_TOOLS_MODPROBE
- bool
- prompt "Install modprobe in initramfs image"
- help
- program to add and remove modules from the Linux Kernel
-
-config KLIBC_MODULE_INIT_TOOLS_DEPMOD
- bool
- prompt "Install depmod in initramfs image"
- help
- program to generate modules.dep and map files
-
-endif
diff --git a/rules/klibc-module-init-tools.make b/rules/klibc-module-init-tools.make
deleted file mode 100644
index 594ec4dc5..000000000
--- a/rules/klibc-module-init-tools.make
+++ /dev/null
@@ -1,67 +0,0 @@
-# -*-makefile-*-
-#
-# Copyright (C) 2009 by Jon Ringle <jon@ringle.org>
-#
-# See CREDITS for details about who has contributed to this project.
-#
-# For further information about the PTXdist project and license conditions
-# see the README file.
-#
-
-#
-# We provide this package
-#
-PACKAGES-$(PTXCONF_KLIBC_MODULE_INIT_TOOLS) += klibc-module-init-tools
-
-#
-# Paths and names
-#
-KLIBC_MODULE_INIT_TOOLS = klibc-$(MODULE_INIT_TOOLS)
-KLIBC_MODULE_INIT_TOOLS_SOURCE = $(MODULE_INIT_TOOLS_SOURCE)
-KLIBC_MODULE_INIT_TOOLS_DIR = $(KLIBC_BUILDDIR)/$(MODULE_INIT_TOOLS)
-
-ifdef PTXCONF_KLIBC_MODULE_INIT_TOOLS
-$(STATEDIR)/klibc.targetinstall.post: $(STATEDIR)/klibc-module-init-tools.targetinstall
-endif
-
-# ----------------------------------------------------------------------------
-# Prepare
-# ----------------------------------------------------------------------------
-
-KLIBC_MODULE_INIT_TOOLS_PATH := PATH=$(CROSS_PATH)
-KLIBC_MODULE_INIT_TOOLS_ENV := $(KLIBC_ENV)
-KLIBC_MODULE_INIT_TOOLS_MAKEVARS := MAN5="" MAN8=""
-
-#
-# autoconf
-#
-KLIBC_MODULE_INIT_TOOLS_AUTOCONF := $(KLIBC_AUTOCONF)
-
-# ----------------------------------------------------------------------------
-# Target-Install
-# ----------------------------------------------------------------------------
-
-$(STATEDIR)/klibc-module-init-tools.targetinstall:
- @$(call targetinfo)
-
-ifdef PTXCONF_KLIBC_MODULE_INIT_TOOLS_INSMOD
- @$(call install_initramfs, klibc-module-init-tools, 0, 0, 0755, -, /sbin/insmod);
-endif
-ifdef PTXCONF_KLIBC_MODULE_INIT_TOOLS_RMMOD
- @$(call install_initramfs, klibc-module-init-tools, 0, 0, 0755, -, /sbin/rmmod);
-endif
-ifdef PTXCONF_KLIBC_MODULE_INIT_TOOLS_LSMOD
- @$(call install_initramfs, klibc-module-init-tools, 0, 0, 0755, -, /bin/lsmod);
-endif
-ifdef PTXCONF_KLIBC_MODULE_INIT_TOOLS_MODINFO
- @$(call install_initramfs, klibc-module-init-tools, 0, 0, 0755, -, /sbin/modinfo);
-endif
-ifdef PTXCONF_KLIBC_MODULE_INIT_TOOLS_MODPROBE
- @$(call install_initramfs, klibc-module-init-tools, 0, 0, 0755, -, /sbin/modprobe);
-endif
-ifdef PTXCONF_KLIBC_MODULE_INIT_TOOLS_DEPMOD
- @$(call install_initramfs, klibc-module-init-tools, 0, 0, 0755, -, /sbin/depmod);
-endif
- @$(call touch)
-
-# vim: syntax=make
diff --git a/rules/klibc-udev.in b/rules/klibc-udev.in
deleted file mode 100644
index bcae05007..000000000
--- a/rules/klibc-udev.in
+++ /dev/null
@@ -1,176 +0,0 @@
-## SECTION=initramfs
-
-menuconfig KLIBC_UDEV
- bool
- prompt "klibc-udev "
- select KLIBC
- help
- udev provides a dynamic device directory containing only the files for
- actually present devices. It creates or removes device node files in the
- /dev directory, or it renames network interfaces.
-
- Usually udev runs as udevd(8) and receives uevents directly from the
- kernel if a device is added or removed from the system.
-
- If udev receives a device event, it matches its configured rules against
- the available device attributes provided in sysfs to identify the
- device. Rules that match, may provide additional device information or
- specify a device node name and multiple symlink names and instruct udev
- to run additional programs as part of the device event handling.
-
- Ensure: This udev implementation requires at least kernel 2.6.15 and
- must have sysfs, unix domain sockets and networking enabled.
-
-if KLIBC_UDEV
-
-menu "build options "
-
-config KLIBC_UDEV_DEBUG
- bool
- prompt "enable debug messages"
- help
- If enabled, very verbose debugging messages will be compiled
- into the udev binaries. The actual level of debugging is specified
- in the udev config file (refer entry "udev_log")
-
-config KLIBC_UDEV_SELINUX
- bool
- # not supported yet
- # prompt "enable selinux support"
-
-config KLIBC_UDEV_SYSLOG
- bool
- prompt "syslog support"
- help
- If enabled, udev is able to pass errors or debug information
- to syslog. This is very useful to see what udev is doing or not doing.
- Note: To use this feature the syslog daemon must start before udev
-
-endmenu
-
-menu "extras "
-
-config KLIBC_UDEV_EXTRA_ATA_ID
- bool
- prompt "ata_id"
- help
- udev callout to read product/serial number from ATA drives
-
-config KLIBC_UDEV_EXTRA_CDROM_ID
- bool
-# prompt "cdrom_id"
- help
- udev callout to determine the capabilities of optical drives and media
-
-config KLIBC_UDEV_EXTRA_COLLECT
- bool
-# prompt "collect"
- help
- Collect variables across events
-
-config KLIBC_UDEV_EXTRA_EDD_ID
- bool
- prompt "edd_id"
- help
- FIXME
-
-config KLIBC_UDEV_EXTRA_FIRMWARE
- bool
- prompt "firmware"
- help
- This is a small helper script to load some kind of firmware on demand
-
-config KLIBC_UDEV_EXTRA_FLOPPY
- bool
- prompt "floppy"
- help
- FIXME
-
-config KLIBC_UDEV_EXTRA_FSTAB_IMPORT
- bool
-# prompt "fstab_import"
- help
- Find matching entry in fstab and export it
-
-config KLIBC_UDEV_EXTRA_PATH_ID
- bool
- prompt "path_id"
- help
- udev callout to create a device path based unique name for a device to
- implement the Linux Persistent Device Naming scheme
-
-config KLIBC_UDEV_EXTRA_RULE_GENERATOR
- bool
- prompt "rule_generator"
- help
- FIXME
-
-config KLIBC_UDEV_EXTRA_SCSI_ID
- bool
-# prompt "scsi_id"
- help
- Used to build unique IDs for an SCSI media to identify it again
-
-config KLIBC_UDEV_EXTRA_USB_ID
- bool
- prompt "usb_id"
- help
- This is a helper to generate unique information about some kind of
- USB device. This is required to ensure the same hotplugged device to
- appear always at the same device node (via link)
-
-config KLIBC_UDEV_EXTRA_VOLUME_ID
- bool
-# prompt "volume_id"
- help
- FIXME
-
-endmenu
-
-menu "install options "
-
-config KLIBC_UDEV_INSTALL_TEST_UDEV
- bool
- prompt "install test-udev"
- help
- FIXME
-
-config KLIBC_UDEV_ETC_CONF
- bool
- default y
- prompt "install udev.conf"
- help
- Installs /etc/udev/udev.conf. If you don't wish to install the
- generic udev.conf, just put a copy of your own udev.conf file into
- your own projectroot/etc/udev/
-
-config KLIBC_UDEV_DEFAULT_RULES
- bool
- prompt "install default udev rules"
- help
- This will install the generic udev rules files from the udev package
- under /lib/udev/rules.d/
-
-config KLIBC_UDEV_COMMON_RULES
- bool
- prompt "install common udev rules"
- help
- This will install some of the common rules shipped by udev, including
- rules for sound, isdn, md and device mapper.
-
-config KLIBC_UDEV_CUST_RULES
- bool
- prompt "install customized udev rules"
- help
- This will install the customized udev rules files from
- projectroot/lib/udev/rules.d into /lib/udev/rules.d
-
-config KLIBC_UDEV_LIBUDEV
- bool
-# prompt "install libudev"
- help
- Install libudev.so on the target.
-
-endmenu
-
-endif
diff --git a/rules/klibc-udev.make b/rules/klibc-udev.make
deleted file mode 100644
index 2a2c7e3d9..000000000
--- a/rules/klibc-udev.make
+++ /dev/null
@@ -1,217 +0,0 @@
-# -*-makefile-*-
-#
-# Copyright (C) 2009 by Jon Ringle <jon@ringle.org>
-#
-# See CREDITS for details about who has contributed to this project.
-#
-# For further information about the PTXdist project and license conditions
-# see the README file.
-#
-
-#
-# We provide this package
-#
-PACKAGES-$(PTXCONF_KLIBC_UDEV) += klibc-udev
-
-#
-# Paths and names
-#
-KLIBC_UDEV_VERSION := 140
-KLIBC_UDEV := klibc-udev-$(KLIBC_UDEV_VERSION)
-KLIBC_UDEV_SUFFIX := tar.bz2
-KLIBC_UDEV_SOURCE := $(SRCDIR)/udev-$(KLIBC_UDEV_VERSION).$(KLIBC_UDEV_SUFFIX)
-KLIBC_UDEV_DIR := $(KLIBC_BUILDDIR)/udev-$(KLIBC_UDEV_VERSION)
-KLIBC_UDEV_URL := \
- http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev-$(KLIBC_UDEV_VERSION).$(KLIBC_UDEV_SUFFIX)
-
-ifdef PTXCONF_KLIBC_UDEV
-$(STATEDIR)/klibc.targetinstall.post: $(STATEDIR)/klibc-udev.targetinstall
-endif
-
-# ----------------------------------------------------------------------------
-# Get
-# ----------------------------------------------------------------------------
-
-$(KLIBC_UDEV_SOURCE):
- @$(call targetinfo)
- @$(call get, KLIBC_UDEV)
-
-# ----------------------------------------------------------------------------
-# Prepare
-# ----------------------------------------------------------------------------
-
-KLIBC_UDEV_PATH := PATH=$(KLIBC_PATH)
-KLIBC_UDEV_ENV := \
- $(KLIBC_ENV) \
- ac_cv_lib_c_inotify_init=yes
-
-#
-# autoconf
-#
-KLIBC_UDEV_AUTOCONF := \
- $(KLIBC_AUTOCONF) \
- --disable-dependency-tracking \
- --enable-shared
-
-ifdef PTXCONF_KLIBC_UDEV_DEBUG
-KLIBC_UDEV_AUTOCONF += --enable-debug
-else
-KLIBC_UDEV_AUTOCONF += --disable-debug
-endif
-
-ifdef PTXCONF_KLIBC_UDEV_SELINUX
-KLIBC_UDEV_AUTOCONF += --with-selinux
-else
-KLIBC_UDEV_AUTOCONF += --without-selinux
-endif
-
-ifdef PTXCONF_KLIBC_UDEV_SYSLOG
-KLIBC_UDEV_AUTOCONF += --enable-logging
-else
-KLIBC_UDEV_AUTOCONF += --disable-logging
-endif
-
-# ----------------------------------------------------------------------------
-# Target-Install
-# ----------------------------------------------------------------------------
-
-$(STATEDIR)/klibc-udev.targetinstall:
- @$(call targetinfo)
-
-# #
-# # binaries
-# #
- @$(call install_initramfs, klibc-udev, 0, 0, 0755, -, /sbin/udevd);
- @$(call install_initramfs, klibc-udev, 0, 0, 0755, -, /sbin/udevadm);
- @$(call install_initramfs, klibc-udev, 0, 0, 0755, /etc/udev);
- @$(call install_initramfs, klibc-udev, 0, 0, 0755, /lib/udev);
- @$(call install_initramfs, klibc-udev, 0, 0, 0755, /lib/udev/rules.d);
-ifdef PTXCONF_KLIBC_UDEV_INSTALL_TEST_UDEV
- @$(call install_initramfs, klibc-udev, 0, 0, 0755, $(KLIBC_UDEV_DIR)/udev/test-udev, \
- /sbin/test-udev);
-endif
-
-# #
-# # default rules
-# #
-# install everything apart of drivers rule.
-ifdef PTXCONF_KLIBC_UDEV_DEFAULT_RULES
- @cd $(KLIBC_UDEV_DIR)/rules/rules.d; \
- for file in `find . -type f ! -name "*drivers*"`; do \
- $(call install_initramfs, klibc-udev, 0, 0, 0644, \
- $(KLIBC_UDEV_DIR)/rules/rules.d/$$file, \
- /lib/udev/rules.d/$$file); \
- done
-endif
-
-ifdef PTXCONF_KLIBC_UDEV_COMMON_RULES
-#
-# these rules are not installed by default
-#
- @$(call install_initramfs, klibc-udev, 0, 0, 0644, \
- $(KLIBC_UDEV_DIR)/rules/packages/40-alsa.rules, \
- /lib/udev/rules.d/40-alsa.rules);
- @$(call install_initramfs, klibc-udev, 0, 0, 0644, \
- $(KLIBC_UDEV_DIR)/rules/packages/40-isdn.rules, \
- /lib/udev/rules.d/40-isdn.rules);
- @$(call install_initramfs, klibc-udev, 0, 0, 0644, \
- $(KLIBC_UDEV_DIR)/rules/packages/64-device-mapper.rules, \
- /lib/udev/rules.d/64-device-mapper.rules);
- @$(call install_initramfs, klibc-udev, 0, 0, 0644, \
- $(KLIBC_UDEV_DIR)/rules/packages/64-md-raid.rules, \
- /lib/udev/rules.d/64-md-raid.rules);
-endif
-
-ifdef PTXCONF_KLIBC_UDEV_CUST_RULES
- @if [ -d $(PTXDIST_WORKSPACE)/initramfs/lib/udev/rules.d/ ]; then \
- cd $(PTXDIST_WORKSPACE)/initramfs/lib/udev/rules.d/; \
- for file in `find . -type f`; do \
- $(call install_initramfs, klibc-udev, 0, 0, 0644, \
- $(PTXDIST_WORKSPACE)/initramfs/lib/udev/rules.d/$$file, \
- /lib/udev/rules.d/$$file); \
- done; \
- else \
- echo "KLIBC_UDEV_CUST_RULES is enabled but Directory containing" \
- "customized udev rules is missing!"; \
- exit 1; \
- fi
-endif
-
-# #
-# # Install a configuration on demand only
-# #
-ifdef PTXCONF_KLIBC_UDEV_ETC_CONF
- @$(call install_initramfs_alt, klibc-udev, 0, 0, 0644, /etc/udev/udev.conf);
-endif
-
-# #
-# # utilities from extra/
-# #
-ifdef PTXCONF_KLIBC_UDEV_EXTRA_ATA_ID
- @$(call install_initramfs, klibc-udev, 0, 0, 0755, -, /lib/udev/ata_id);
-endif
-
-ifdef PTXCONF_KLIBC_UDEV_EXTRA_CDROM_ID
- @$(call install_initramfs, klibc-udev, 0, 0, 0755, -, /lib/udev/cdrom_id);
-endif
-
-ifdef PTXCONF_KLIBC_UDEV_EXTRA_COLLECT
- @$(call install_initramfs, klibc-udev, 0, 0, 0755, -, /lib/udev/collect);
-endif
-
-ifdef PTXCONF_KLIBC_UDEV_EXTRA_EDD_ID
- @$(call install_initramfs, klibc-udev, 0, 0, 0755, -, /lib/udev/edd_id);
-endif
-
-ifdef PTXCONF_KLIBC_UDEV_EXTRA_FIRMWARE
- @$(call install_initramfs, klibc-udev, 0, 0, 0755, -, /lib/udev/firmware.sh);
- @$(call install_initramfs, klibc-udev, 0, 0, 0644, -, \
- /lib/udev/rules.d/50-firmware.rules,n);
-endif
-
-ifdef PTXCONF_KLIBC_UDEV_EXTRA_FLOPPY
- @$(call install_initramfs, klibc-udev, 0, 0, 0755, -, \
- /lib/udev/create_floppy_devices);
-endif
-
-ifdef PTXCONF_KLIBC_UDEV_EXTRA_FSTAB_IMPORT
- @$(call install_initramfs, klibc-udev, 0, 0, 0755, -, /lib/udev/fstab_import);
- @$(call install_initramfs, klibc-udev, 0, 0, 0644, -, \
- /lib/udev/rules.d/79-fstab_import.rules);
-endif
-
-ifdef PTXCONF_KLIBC_UDEV_EXTRA_PATH_ID
- @$(call install_initramfs, klibc-udev, 0, 0, 0755, -, /lib/udev/path_id);
-endif
-
-ifdef PTXCONF_KLIBC_UDEV_EXTRA_RULE_GENERATOR
- @$(call install_initramfs, klibc-udev, 0, 0, 0755, -, \
- /lib/udev/rule_generator.functions);
-endif
-
-ifdef PTXCONF_KLIBC_UDEV_EXTRA_SCSI_ID
- @$(call install_initramfs, klibc-udev, 0, 0, 0644, -, /etc/scsi_id.config);
- @$(call install_initramfs, klibc-udev, 0, 0, 0755, -, /lib/udev/scsi_id);
-endif
-
-ifdef PTXCONF_KLIBC_UDEV_EXTRA_USB_ID
- @$(call install_initramfs, klibc-udev, 0, 0, 0755, -, /lib/udev/usb_id);
-endif
-
-ifdef PTXCONF_KLIBC_UDEV_EXTRA_VOLUME_ID
- @$(call install_initramfs, klibc-udev, 0, 0, 0755, -, /lib/udev/vol_id);
-
- @$(call install_initramfs, klibc-udev, 0, 0, 0644, -, /lib/libvolume_id.so.1.1.0);
- @$(call install_initramfs_link, klibc-udev, libvolume_id.so.1.1.0, /lib/libvolume_id.so.1);
- @$(call install_initramfs_link, klibc-udev, libvolume_id.so.1.1.0, /lib/libvolume_id.so);
-endif
-
-ifdef PTXCONF_KLIBC_UDEV_LIBUDEV
- @$(call install_initramfs, klibc-udev, 0, 0, 0644, -, /lib/libudev.so.0.1.0);
- @$(call install_initramfs_link, klibc-udev, libudev.so.0.1.0, /lib/libudev.so.0);
- @$(call install_initramfs_link, klibc-udev, libudev.so.0.1.0, /lib/libudev.so);
-endif
-
- @$(call touch)
-
-# vim: syntax=make
diff --git a/rules/libc.in b/rules/libc.in
index d72c57c4e..6860beeea 100644
--- a/rules/libc.in
+++ b/rules/libc.in
@@ -11,7 +11,7 @@ if LIBC
choice
prompt "c library "
- default GLIBC
+ default LIBC_GLIBC
config LIBC_GLIBC
bool
diff --git a/rules/libcroco.make b/rules/libcroco.make
index 4da760b3e..69a96db35 100644
--- a/rules/libcroco.make
+++ b/rules/libcroco.make
@@ -1,6 +1,7 @@
# -*-makefile-*-
#
# Copyright (C) 2009 by Erwin Rol
+# 2010 by Marc Kleine-Budde <mkl@pengutronix.de>
#
# See CREDITS for details about who has contributed to this project.
#
@@ -35,9 +36,6 @@ $(LIBCROCO_SOURCE):
# Prepare
# ----------------------------------------------------------------------------
-LIBCROCO_PATH := PATH=$(CROSS_PATH)
-LIBCROCO_ENV := $(CROSS_ENV)
-
#
# autoconf
#
@@ -67,7 +65,7 @@ $(STATEDIR)/libcroco.targetinstall:
@$(call install_fixup, libcroco,DEPENDS,)
@$(call install_fixup, libcroco,DESCRIPTION,missing)
- @$(call install_copy, libcroco, 0, 0, 0755, -, \
+ @$(call install_copy, libcroco, 0, 0, 0644, -, \
/usr/lib/libcroco-0.6.so.3.0.1)
@$(call install_link, libcroco, libcroco-0.6.so.3.0.1, \
/usr/lib/libcroco-0.6.so.3)
diff --git a/rules/libdrm.make b/rules/libdrm.make
index 0480ad53b..22cd411d3 100644
--- a/rules/libdrm.make
+++ b/rules/libdrm.make
@@ -65,15 +65,14 @@ $(STATEDIR)/libdrm.targetinstall:
@$(call install_fixup, libdrm,DEPENDS,)
@$(call install_fixup, libdrm,DESCRIPTION,missing)
- @$(call install_copy, libdrm, 0, 0, 0755, -, \
+ @$(call install_copy, libdrm, 0, 0, 0644, -, \
/usr/lib/libdrm.so.2.4.0)
-
@$(call install_link, libdrm, libdrm.so.2.4.0, /usr/lib/libdrm.so.2)
@$(call install_link, libdrm, libdrm.so.2.4.0, /usr/lib/libdrm.so)
ifndef PTXCONF_ARCH_ARM
ifdef PTXCONF_LIBDRM_INTEL
- @$(call install_copy, libdrm, 0, 0, 0755, -, \
+ @$(call install_copy, libdrm, 0, 0, 0644, -, \
/usr/lib/libdrm_intel.so.1.0.0)
@$(call install_link, libdrm, libdrm_intel.so.1.0.0, /usr/lib/libdrm_intel.so.1)
diff --git a/rules/libezv24.make b/rules/libezv24.make
index bdb7b5438..4090d901d 100644
--- a/rules/libezv24.make
+++ b/rules/libezv24.make
@@ -37,13 +37,7 @@ $(LIBEZV24_SOURCE):
# Prepare
# ----------------------------------------------------------------------------
-LIBEZV24_PATH := PATH=$(CROSS_PATH)
-LIBEZV24_ENV := $(CROSS_ENV)
-
-#
-# autoconf
-#
-LIBEZV24_AUTOCONF := $(CROSS_AUTOCONF_USR)
+LIBEZV24_CONF_TOOL := autoconf
# ----------------------------------------------------------------------------
# Target-Install
@@ -61,7 +55,7 @@ $(STATEDIR)/libezv24.targetinstall:
@$(call install_fixup,libezv24,DEPENDS,)
@$(call install_fixup,libezv24,DESCRIPTION,missing)
- @$(call install_copy, libezv24, 0, 0, 0755, -, \
+ @$(call install_copy, libezv24, 0, 0, 0644, -, \
/usr/lib/libezV24.so.0.0.0)
@$(call install_link, libezv24, \
diff --git a/rules/libjpeg.make b/rules/libjpeg.make
index 5c02e7dce..d26c14da6 100644
--- a/rules/libjpeg.make
+++ b/rules/libjpeg.make
@@ -17,7 +17,7 @@ PACKAGES-$(PTXCONF_LIBJPEG) += libjpeg
#
# Paths and names
#
-LIBJPEG_VERSION := 8
+LIBJPEG_VERSION := 8a
LIBJPEG_SUFFIX := tar.gz
LIBJPEG := jpeg-$(LIBJPEG_VERSION)
LIBJPEG_TARBALL := jpegsrc.v$(LIBJPEG_VERSION).$(LIBJPEG_SUFFIX)
@@ -38,13 +38,7 @@ $(LIBJPEG_SOURCE):
# Prepare
# ----------------------------------------------------------------------------
-LIBJPEG_PATH := PATH=$(CROSS_PATH)
-LIBJPEG_ENV := $(CROSS_ENV)
-
-#
-# autoconf
-#
-LIBJPEG_AUTOCONF := $(CROSS_AUTOCONF_USR)
+LIBJPEG_CONF_TOOL := autoconf
# ----------------------------------------------------------------------------
# Target-Install
@@ -63,9 +57,9 @@ $(STATEDIR)/libjpeg.targetinstall:
@$(call install_fixup, libjpeg,DESCRIPTION,missing)
@$(call install_copy, libjpeg, 0, 0, 0644, -, \
- /usr/lib/libjpeg.so.8.0.0)
- @$(call install_link, libjpeg, libjpeg.so.8.0.0, /usr/lib/libjpeg.so.8)
- @$(call install_link, libjpeg, libjpeg.so.8.0.0, /usr/lib/libjpeg.so)
+ /usr/lib/libjpeg.so.8.0.1)
+ @$(call install_link, libjpeg, libjpeg.so.8.0.1, /usr/lib/libjpeg.so.8)
+ @$(call install_link, libjpeg, libjpeg.so.8.0.1, /usr/lib/libjpeg.so)
@$(call install_finish, libjpeg)
diff --git a/rules/librsvg.make b/rules/librsvg.make
index 02efb9f15..a29fb00b6 100644
--- a/rules/librsvg.make
+++ b/rules/librsvg.make
@@ -1,6 +1,7 @@
# -*-makefile-*-
#
# Copyright (C) 2009 by Erwin Rol
+# 2010 by Marc Kleine-Budde <mkl@pengutronix.de>
#
# See CREDITS for details about who has contributed to this project.
#
@@ -82,7 +83,7 @@ $(STATEDIR)/librsvg.targetinstall:
@$(call install_fixup, librsvg,DEPENDS,)
@$(call install_fixup, librsvg,DESCRIPTION,missing)
- @$(call install_copy, librsvg, 0, 0, 0755, -, \
+ @$(call install_copy, librsvg, 0, 0, 0644, -, \
/usr/lib/librsvg-2.so.2.26.0)
@$(call install_link, librsvg, librsvg-2.so.2.26.0, \
/usr/lib/librsvg-2.so.2)
diff --git a/rules/lite.make b/rules/lite.make
index d91184eb1..c7558da84 100644
--- a/rules/lite.make
+++ b/rules/lite.make
@@ -1,6 +1,7 @@
# -*-makefile-*-
#
# Copyright (C) 2007 by Denis Oliver Kropp
+# 2010 by Marc Kleine-Budde <mkl@penugtronix.de>
#
# See CREDITS for details about who has contributed to this project.
#
@@ -35,13 +36,7 @@ $(LITE_SOURCE):
# Prepare
# ----------------------------------------------------------------------------
-LITE_PATH := PATH=$(CROSS_PATH)
-LITE_ENV := $(CROSS_ENV)
-
-#
-# autoconf
-#
-LITE_AUTOCONF := $(CROSS_AUTOCONF_USR)
+LITE_CONF_TOOL := autoconf
# ----------------------------------------------------------------------------
# Target-Install
@@ -59,14 +54,12 @@ $(STATEDIR)/lite.targetinstall:
@$(call install_fixup, lite,DEPENDS,)
@$(call install_fixup, lite,DESCRIPTION,missing)
- @$(call install_copy, lite, 0, 0, 0755, -, \
+ @$(call install_copy, lite, 0, 0, 0644, -, \
/usr/lib/liblite.so.3.0.5)
-
@$(call install_link, lite, liblite.so.3.0.5, /usr/lib/liblite.so.3)
- @$(call install_copy, lite, 0, 0, 0755, -, \
+ @$(call install_copy, lite, 0, 0, 0644, -, \
/usr/lib/libleck.so.3.0.5)
-
@$(call install_link, lite, libleck.so.3.0.5, /usr/lib/libleck.so.3)
@$(call install_copy, lite, 0, 0, 0644, -, \
diff --git a/rules/options-strip.in b/rules/options-strip.in
new file mode 100644
index 000000000..3b45b2f88
--- /dev/null
+++ b/rules/options-strip.in
@@ -0,0 +1,21 @@
+## SECTION=ptxdist_options
+
+config STRIP_USE_SSTRIP
+ bool "strip with elfkickers sstrip"
+ select HOST_ELFKICKERS
+ help
+
+ Enabling this opton causes the executables and libs to be
+ stripped with elfickers[1] sstrip instead of the standard
+ binutils strip command.
+
+ It should be noted that the resulting file cannot be used
+ with gdb, objdump, or any other program based upon the bfd
+ library, at all. In fact, the program will not even
+ recognize the file as a valid executable.
+
+ _Note_: enabling this options will cause your whole root
+ file system to be recompiled.
+
+ [1]
+ http://www.muppetlabs.com/~breadbox/software/elfkickers.html
diff --git a/rules/post/image_cpio.make b/rules/post/image_cpio.make
new file mode 100644
index 000000000..9173e4ab4
--- /dev/null
+++ b/rules/post/image_cpio.make
@@ -0,0 +1,30 @@
+# -*-makefile-*-
+#
+# Copyright (C) 2003-2010 by the ptxdist project <ptxdist@pengutronix.de>
+#
+# See CREDITS for details about who has contributed to this project.
+#
+# For further information about the PTXdist project and license conditions
+# see the README file.
+#
+
+SEL_ROOTFS-$(PTXCONF_IMAGE_CPIO) += $(IMAGEDIR)/root.cpio
+
+$(IMAGEDIR)/root.cpio: $(STATEDIR)/image_working_dir
+ @echo -n "Creating '$(notdir $(@))' from working dir..."
+ @cd $(WORKDIR) && \
+ ( \
+ awk -F: $(DOPERMISSIONS) $(IMAGEDIR)/permissions && \
+ echo "find . | cpio --quiet -H newc -o > '$(@)'" \
+ ) | $(FAKEROOT) --
+ @echo "done."
+
+
+SEL_ROOTFS-$(PTXCONF_IMAGE_CPIO_GZ) += $(IMAGEDIR)/root.cpio.gz
+
+$(IMAGEDIR)/root.cpio.gz: $(IMAGEDIR)/root.cpio
+ @echo -n "Creating '$(notdir $(@))' from '$(notdir $(^))'..."
+ @cat "$(^)" | gzip -n --best > "$(@)"
+ @echo "done."
+
+# vim: syntax=make
diff --git a/rules/post/image_initrd.make b/rules/post/image_initrd.make
deleted file mode 100644
index a18f9b018..000000000
--- a/rules/post/image_initrd.make
+++ /dev/null
@@ -1,28 +0,0 @@
-# -*-makefile-*-
-#
-# Copyright (C) 2003-2010 by the ptxdist project <ptxdist@pengutronix.de>
-#
-# See CREDITS for details about who has contributed to this project.
-#
-# For further information about the PTXdist project and license conditions
-# see the README file.
-#
-
-SEL_ROOTFS-$(PTXCONF_IMAGE_CPIO) += $(IMAGEDIR)/initrd.gz
-
-#
-# create traditional initrd.gz, to be used
-# as initramfs (-> "-H newc")
-#
-$(IMAGEDIR)/initrd.gz: $(STATEDIR)/image_working_dir
- @echo -n "Creating initrd.gz from working dir..."
- @cd $(WORKDIR); \
- (awk -F: $(DOPERMISSIONS) $(IMAGEDIR)/permissions && \
- ( \
- echo "find . | "; \
- echo "cpio --quiet -H newc -o | "; \
- echo "gzip -9 -n > $@" ) \
- ) | $(FAKEROOT) --
- @echo "done."
-
-# vim: syntax=make
diff --git a/rules/post/image_iso.make b/rules/post/image_iso.make
index 4fd387aa1..8fce40a2c 100644
--- a/rules/post/image_iso.make
+++ b/rules/post/image_iso.make
@@ -10,13 +10,15 @@
SEL_ROOTFS-$(PTXCONF_IMAGE_ISO) += $(IMAGEDIR)/bootcd.iso
-image_iso/workdir := $(IMAGEDIR)/bootcd-workdir
+image_iso/workdir := $(IMAGEDIR)/image_iso-workdir
+image_iso/isolinux_bin := $(PTXDIST_SYSROOT_TARGET)/usr/share/syslinux/isolinux.bin
-$(IMAGEDIR)/bootcd.iso: $(PTXDIST_SYSROOT_TARGET)/usr/share/syslinux/isolinux.bin $(IMAGEDIR)/initrd.gz $(IMAGEDIR)/linuximage
- @echo -n "generating $(notdor $(@)) from initrd.gz..."
+$(IMAGEDIR)/bootcd.iso: $(IMAGEDIR)/root.cpio.gz $(IMAGEDIR)/linuximage $(image_iso/isolinux_bin)
+ @echo -n "Creating '$(notdir $(@))' from '$(notdir $(<))'..."
@rm -rf "$(image_iso/workdir)"
@mkdir -p "$(image_iso/workdir)"
- @cp "$(^)" "$(image_iso/workdir)"
+ @cp $(^) "$(image_iso/workdir)"
+ @mv "$(image_iso/workdir)/root.cpio.gz" "$(image_iso/workdir)/initrd.gz"
@mv "$(image_iso/workdir)/linuximage" "$(image_iso/workdir)/kernel"
@tar -C $(PTXCONF_IMAGE_ISO_ADDON_DIR) -cf - \
--exclude .git \
@@ -32,13 +34,13 @@ $(IMAGEDIR)/bootcd.iso: $(PTXDIST_SYSROOT_TARGET)/usr/share/syslinux/isolinux.bi
-R \
-V "$(call remove_quotes, $(PTXCONF_PROJECT)$(PTXCONF_PROJECT_VERSION))" \
-o $(@) \
- -b "$(notdir $(<))" \
+ -b "$(notdir $(image_iso/isolinux_bin))" \
-c boot.cat \
-no-emul-boot \
-boot-load-size 4 \
-boot-info-table \
"$(image_iso/workdir)" >/dev/null 2>&1
@rm -rf "$(image_iso/workdir)"
- @echo "done"
+ @echo "done."
# vim: syntax=make
diff --git a/rules/post/image_kernel.make b/rules/post/image_kernel.make
new file mode 100644
index 000000000..287f397bd
--- /dev/null
+++ b/rules/post/image_kernel.make
@@ -0,0 +1,34 @@
+# -*-makefile-*-
+#
+# Copyright (C) 2010 by Marc Kleine-Budde <mkl@pengutronix.de>
+#
+# See CREDITS for details about who has contributed to this project.
+#
+# For further information about the PTXdist project and license conditions
+# see the README file.
+#
+
+SEL_ROOTFS-$(PTXCONF_IMAGE_KERNEL) += $(IMAGEDIR)/linuximage
+
+
+ifdef PTXCONF_IMAGE_KERNEL_INITRAMFS
+$(IMAGEDIR)/linuximage: $(STATEDIR)/image_kernel.compile
+endif
+
+$(STATEDIR)/image_kernel.compile: $(IMAGEDIR)/root.cpio
+ @echo -n "Creating '$(KERNEL_IMAGE)' including '$(notdir $(<))'..."
+ @sed -i -e 's,^CONFIG_INITRAMFS_SOURCE.*$$,CONFIG_INITRAMFS_SOURCE=\"$(<)\",g' \
+ $(KERNEL_DIR)/.config
+ @rm -f \
+ $(KERNEL_DIR)/usr/*initramfs_data.cpio.* \
+ $(KERNEL_DIR)/usr/.initramfs_data.cpio.d
+ @cd $(KERNEL_DIR) && $(KERNEL_PATH) $(KERNEL_ENV) $(MAKE) \
+ $(KERNEL_MAKEVARS) $(KERNEL_IMAGE)
+ @echo "done."
+
+$(IMAGEDIR)/linuximage: $(KERNEL_IMAGE_PATH_y) $(STATEDIR)/kernel.targetinstall
+ @echo -n "Creating '$(notdir $(@))' from '$(notdir $(<))'..."
+ @install -m 644 "$(<)" "$(@)"
+ @echo "done."
+
+# vim: syntax=make
diff --git a/rules/post/install.make b/rules/post/install.make
index ca1ea4c69..acdf9aa5b 100644
--- a/rules/post/install.make
+++ b/rules/post/install.make
@@ -9,6 +9,17 @@
# see the README file.
#
+install_check = \
+ CMD="$(strip $(1))"; \
+ if [ ! -f "$(STATEDIR)/$$PACKET.cmds" ]; then \
+ echo; \
+ echo "Error: install_init was not called for package '$$PACKET'!"; \
+ echo "This is probably caused by a typo in the package name of:"; \
+ echo "\$$(call $$CMD, $$PACKET, ...)"; \
+ echo; \
+ exit 1; \
+ fi
+
#
# install_copy
#
@@ -40,91 +51,11 @@ install_copy = \
SRC="$(strip $(5))"; \
DST="$(strip $(6))"; \
STRIP="$(strip $(7))"; \
- PKG_PKGDIR="$(PKGDIR)/$($(PTX_MAP_TO_PACKAGE_$(notdir $(basename $(basename $@)))))"; \
- \
- if [ "$$SRC" = "-" ]; then \
- SRC=$${PKG_PKGDIR}/$$DST; \
- fi; \
- \
- PER_NFS=$$(printf "0%o" $$(( 0$${PER} & ~06000 )) ); \
- PER_NFS_WRITABLE=$$(printf "0%o" $$(( 0$${PER} & ~06000 | 00200 )) ); \
- \
+ $(call install_check, install_copy); \
if [ -z "$(6)" ]; then \
- echo "install_copy:"; \
- echo " dir=$$SRC"; \
- echo " owner=$$OWN"; \
- echo " group=$$GRP"; \
- echo " permissions=$$PER"; \
- $(INSTALL) -d "$(PKGDIR)/$$PACKET.tmp/ipkg/$$SRC"; \
- if [ $$? -ne 0 ]; then \
- echo "Error: install_copy failed!"; \
- exit 1; \
- fi; \
- $(INSTALL) -m $$PER_NFS -d "$(ROOTDIR)/$$SRC"; \
- if [ $$? -ne 0 ]; then \
- echo "Error: install_copy failed!"; \
- exit 1; \
- fi; \
- $(INSTALL) -m $$PER_NFS -d "$(ROOTDIR_DEBUG)/$$SRC"; \
- if [ $$? -ne 0 ]; then \
- echo "Error: install_copy failed!"; \
- exit 1; \
- fi; \
- mkdir -p "$(PKGDIR)/$$PACKET.tmp"; \
- echo "f:$$SRC:$$OWN:$$GRP:$$PER" >> "$(STATEDIR)/$$PACKET.perms"; \
+ echo "ptxd_install_dir '$$SRC' '$$OWN' '$$GRP' '$$PER'" >> "$(STATEDIR)/$$PACKET.cmds";\
else \
- if [ -e "$${SRC}$(PTXDIST_PLATFORMSUFFIX)" ]; then \
- SRC="$${SRC}$(PTXDIST_PLATFORMSUFFIX)"; \
- fi; \
- echo "install_copy:"; \
- echo " src=$$SRC"; \
- echo " dst=$$DST"; \
- echo " owner=$$OWN"; \
- echo " group=$$GRP"; \
- echo " permissions=$$PER"; \
- rm -fr "$(PKGDIR)/$$PACKET.tmp/ipkg/$$DST"; \
- $(INSTALL) -D "$$SRC" "$(PKGDIR)/$$PACKET.tmp/ipkg/$$DST"; \
- if [ $$? -ne 0 ]; then \
- echo "Error: install_copy failed!"; \
- exit 1; \
- fi; \
- $(INSTALL) -m $$PER_NFS_WRITABLE -D "$$SRC" "$(ROOTDIR)$$DST"; \
- if [ $$? -ne 0 ]; then \
- echo "Error: install_copy failed!"; \
- exit 1; \
- fi; \
- $(INSTALL) -m $$PER_NFS_WRITABLE -D "$$SRC" "$(ROOTDIR_DEBUG)$$DST"; \
- if [ $$? -ne 0 ]; then \
- echo "Error: install_copy failed!"; \
- exit 1; \
- fi; \
- case "$$STRIP" in \
- (0 | n | no) \
- ;; \
- (*) \
- file "$(PKGDIR)/$$PACKET.tmp/ipkg/$$DST" | egrep -q ":.*(executable|shared object).*stripped"; \
- case "$$?" in \
- (0) \
- $(CROSS_STRIP) -R .note -R .comment "$(PKGDIR)/$$PACKET.tmp/ipkg/$$DST";\
- if [ $$? -ne 0 ]; then \
- echo "Error: install_copy failed!"; \
- exit 1; \
- fi; \
- $(CROSS_STRIP) -R .note -R .comment "$(ROOTDIR)$$DST"; \
- if [ $$? -ne 0 ]; then \
- echo "Error: install_copy failed!"; \
- exit 1; \
- fi; \
- ;; \
- (1) \
- ;; \
- esac; \
- ;; \
- esac; \
- chmod $$PER_NFS "$(ROOTDIR)$$DST"; \
- chmod $$PER_NFS "$(ROOTDIR_DEBUG)$$DST"; \
- mkdir -p "$(PKGDIR)/$$PACKET.tmp"; \
- echo "f:$$DST:$$OWN:$$GRP:$$PER" >> "$(STATEDIR)/$$PACKET.perms"; \
+ echo "ptxd_install_file '$$SRC' '$$DST' '$$OWN' '$$GRP' '$$PER' '$$STRIP'" >> "$(STATEDIR)/$$PACKET.cmds";\
fi
#
@@ -141,6 +72,8 @@ install_copy = \
# $3: GID
# $4: permissions (octal)
# $5: source file
+# $6: (strip, obsolete)
+# $7: destination (optional)
#
install_alternative = \
PACKET=$(strip $(1)); \
@@ -148,36 +81,108 @@ install_alternative = \
GRP=$(strip $(3)); \
PER=$(strip $(4)); \
FILE=$(strip $(5)); \
- if [ -f $(PTXDIST_WORKSPACE)/projectroot$$FILE$(PTXDIST_PLATFORMSUFFIX) ]; then \
- SRC=$(PTXDIST_WORKSPACE)/projectroot$$FILE$(PTXDIST_PLATFORMSUFFIX); \
- elif [ -f $(PTXDIST_WORKSPACE)/projectroot$$FILE ]; then \
- SRC=$(PTXDIST_WORKSPACE)/projectroot$$FILE; \
- else \
- SRC=$(PTXDIST_TOPDIR)/generic$$FILE; \
- fi; \
- echo "install_alternative:"; \
- echo " installing $$FILE from $$SRC"; \
- echo " owner=$$OWN"; \
- echo " group=$$GRP"; \
- echo " permissions=$$PER"; \
- rm -fr $(PKGDIR)/$$PACKET.tmp/ipkg/$$FILE; \
- $(INSTALL) -D $$SRC $(PKGDIR)/$$PACKET.tmp/ipkg/$$FILE; \
- if [ $$? -ne 0 ]; then \
- echo "Error: install_alternative failed!"; \
- exit 1; \
- fi; \
- $(INSTALL) -m $$PER -D $$SRC $(ROOTDIR)$$FILE; \
- if [ $$? -ne 0 ]; then \
- echo "Error: install_alternative failed!"; \
- exit 1; \
- fi; \
- $(INSTALL) -m $$PER -D $$SRC $(ROOTDIR_DEBUG)$$FILE; \
- if [ $$? -ne 0 ]; then \
- echo "Error: install_alternative failed!"; \
- exit 1; \
- fi; \
- mkdir -p $(PKGDIR)/$$PACKET.tmp; \
- echo "f:$$FILE:$$OWN:$$GRP:$$PER" >> $(STATEDIR)/$$PACKET.perms
+ STRIP=$(strip $(6)); \
+ DST=$(strip $(7)); \
+ $(call install_check, install_alternative); \
+ echo "ptxd_install_alternative '$$FILE' '$$DST' '$$OWN' '$$GRP' '$$PER' '$$STRIP'" >> "$(STATEDIR)/$$PACKET.cmds"
+
+#
+# install_tree
+#
+# Installs all files and subdirectories with user/group ownership and
+# permissions via fakeroot.
+#
+#
+# $1: packet label
+# $2: OWN, use '-' to use the real UID of each file/directory
+# $3: GID, use '-' to use the real GID of each file/directory
+# $4: the toplevel directory.
+# $5: the target directory.
+#
+install_tree = \
+ PACKET=$(strip $(1)); \
+ OWN=$(strip $(2)); \
+ GRP=$(strip $(3)); \
+ DIR=$(strip $(4)); \
+ DST=$(strip $(5)); \
+ $(call install_check, install_tree); \
+ echo "ptxd_install_tree '$$DIR' '$$DST' '$$OWN' '$$GRP'" >> "$(STATEDIR)/$$PACKET.cmds"
+
+#
+# install_archive
+#
+# Installs all files and directories in an archive with user/group ownership and
+# permissions via fakeroot.
+#
+#
+# $1: packet label
+# $2: OWN, use '-' to use the real UID of each file/directory
+# $3: GID, use '-' to use the real GID of each file/directory
+# $4: the toplevel directory
+# $5: the target directory.
+#
+install_archive = \
+ PACKET=$(strip $(1)); \
+ OWN=$(strip $(2)); \
+ GRP=$(strip $(3)); \
+ DIR=$(strip $(4)); \
+ DST=$(strip $(5)); \
+ $(call install_check, install_archive); \
+ echo "ptxd_install_archive '$$DIR' '$$DST' '$$OWN' '$$GRP'" >> "$(STATEDIR)/$$PACKET.cmds"
+
+#
+# install_spec
+#
+# Installs files specified by a spec file
+# format as defined in linux/Documentation/filesystems/ramfs-rootfs-initramfs.txt
+# file <name> <location> <mode> <uid> <gid>
+# dir <name> <mode> <uid> <gid>
+# nod <name> <mode> <uid> <gid> <dev_type> <maj> <min>
+# slink <name> <target> <mode> <uid> <gid>
+#
+# $1: packet label
+# $2: spec file to parse
+#
+install_spec = \
+ PACKET=$(strip $(1)); \
+ SPECFILE=$(strip $(2)); \
+ $(call install_check, install_spec); \
+ echo "ptxd_install_spec '$$SPECFILE'" >> "$(STATEDIR)/$$PACKET.cmds"
+
+#
+# install_package
+#
+# Installs usefull files and directories in an archive with user/group ownership and
+# permissions via fakeroot.
+# Usefull means binaries, libs + links, etc.
+#
+#
+# $1: packet label
+# $2: the toplevel directory
+#
+install_package = \
+ PACKET=$(strip $(1)); \
+ $(call install_check, install_package); \
+ echo "ptxd_install_package" >> "$(STATEDIR)/$$PACKET.cmds"
+
+#
+# install_lib
+#
+# Installs a library + links in an archive with root/root ownership and
+# 0644 permissions via fakeroot.
+#
+#
+# $1: packet label
+# $2: library name without suffix.
+#
+install_lib = \
+ PACKET=$(strip $(1)); \
+ OWN="$(strip $(2))"; \
+ GRP="$(strip $(3))"; \
+ PER="$(strip $(4))"; \
+ LIB=$(strip $(5)); \
+ $(call install_check, install_lib); \
+ echo "ptxd_install_lib '$$LIB' '$$OWN' '$$GRP' '$$PER'" >> "$(STATEDIR)/$$PACKET.cmds"
#
# install_replace
@@ -195,27 +200,8 @@ install_replace = \
FILE=$(strip $(2)); \
PLACEHOLDER=$(strip $(3)); \
VALUE=$(strip $(4)); \
- if [ ! -f "$(PKGDIR)/$$PACKET.tmp/ipkg/$$FILE" ]; then \
- echo; \
- echo "install_replace: error: file not found: $(PKGDIR)/$$PACKET.tmp/ipkg/$$FILE";\
- echo; \
- exit 1; \
- fi; \
- if [ ! -f "$(ROOTDIR)/$$FILE" ]; then \
- echo \
- echo "install_replace: error: file not found: $(ROOTDIR)/$$FILE"; \
- echo; \
- exit 1; \
- fi; \
- if [ ! -f "$(ROOTDIR_DEBUG)/$$FILE" ]; then \
- echo \
- echo "install_replace: error: file not found: $(ROOTDIR_DEBUG)/$$FILE"; \
- echo; \
- exit 1; \
- fi; \
- sed -i -e "s,$$PLACEHOLDER,$$VALUE,g" $(PKGDIR)/$$PACKET.tmp/ipkg/$$FILE; \
- sed -i -e "s,$$PLACEHOLDER,$$VALUE,g" $(ROOTDIR)/$$FILE; \
- sed -i -e "s,$$PLACEHOLDER,$$VALUE,g" $(ROOTDIR_DEBUG)/$$FILE
+ $(call install_check, install_replace); \
+ echo "ptxd_install_replace '$$FILE' '$$PLACEHOLDER' '$$VALUE'" >> "$(STATEDIR)/$$PACKET.cmds"
#
# install_copy_toolchain_lib
@@ -231,6 +217,7 @@ install_copy_toolchain_lib = \
DST="$(strip $3)"; \
STRIP="$(strip $4)"; \
test "$${DST}" != "" && DST="-d $${DST}"; \
+ $(call install_check, install_copy_toolchain_lib); \
${CROSS_ENV_CC} $(CROSS_ENV_STRIP) PKGDIR="$(PKGDIR)" \
$(SCRIPTSDIR)/install_copy_toolchain.sh -p "$${PACKET}" -l "$${LIB}" $${DST} -s "$${STRIP}"
@@ -246,6 +233,7 @@ install_copy_toolchain_dl = \
DST="$(strip $2)"; \
STRIP="$(strip $3)"; \
test "$${DST}" != "" && DST="-d $${DST}"; \
+ $(call install_check, install_copy_toolchain_dl); \
${CROSS_ENV_CC} $(CROSS_ENV_STRIP) PKGDIR="$(PKGDIR)" \
$(SCRIPTSDIR)/install_copy_toolchain.sh -p "$${PACKET}" -l LINKER $${DST} -s "$${STRIP}"
@@ -263,6 +251,7 @@ install_copy_toolchain_usr = \
DST="$(strip $3)"; \
STRIP="$(strip $4)"; \
test "$${DST}" != "" && DST="-d $${DST}"; \
+ $(call install_check, install_copy_toolchain_other); \
${CROSS_ENV_CC} $(CROSS_ENV_STRIP) PKGDIR="$(PKGDIR)" \
$(SCRIPTSDIR)/install_copy_toolchain.sh -p "$${PACKET}" -u "$${LIB}" $${DST} -s "$${STRIP}"
@@ -279,22 +268,8 @@ install_link = \
PACKET=$(strip $(1)); \
SRC=$(strip $(2)); \
DST=$(strip $(3)); \
- rm -fr $(ROOTDIR)$$DST; \
- rm -fr $(ROOTDIR_DEBUG)$$DST; \
- echo "install_link: src=$$SRC dst=$$DST "; \
- case "$${SRC}" in \
- (/*) \
- echo "Error: absolute link detected, please fix!"; \
- exit 1; \
- (*) \
- ;; \
- esac; \
- install -d `dirname $(ROOTDIR)$$DST`; \
- install -d `dirname $(ROOTDIR_DEBUG)$$DST`; \
- ln -sf $$SRC $(ROOTDIR)$$DST; \
- ln -sf $$SRC $(ROOTDIR_DEBUG)$$DST; \
- install -d `dirname $(PKGDIR)/$$PACKET.tmp/ipkg$$DST`; \
- ln -sf $$SRC $(PKGDIR)/$$PACKET.tmp/ipkg/$$DST
+ $(call install_check, install_link); \
+ echo "ptxd_install_link '$$SRC' '$$DST'" >> "$(STATEDIR)/$$PACKET.cmds"
#
# install_node
@@ -319,16 +294,8 @@ install_node = \
MAJ=$(strip $(6)); \
MIN=$(strip $(7)); \
DEV=$(strip $(8)); \
- echo "install_node:"; \
- echo " owner=$$OWN"; \
- echo " group=$$GRP"; \
- echo " permissions=$$PER"; \
- echo " type=$$TYP"; \
- echo " major=$$MAJ"; \
- echo " minor=$$MIN"; \
- echo " name=$$DEV"; \
- mkdir -p $(PKGDIR)/$$PACKET.tmp;\
- echo "n:$$DEV:$$OWN:$$GRP:$$PER:$$TYP:$$MAJ:$$MIN" >> $(STATEDIR)/$$PACKET.perms
+ $(call install_check, install_node); \
+ echo "ptxd_install_node '$$DEV' '$$OWN' '$$GRP' '$$PER' '$$TYP' '$$MAJ' '$$MIN'" >> "$(STATEDIR)/$$PACKET.cmds"
#
@@ -339,6 +306,7 @@ install_node = \
# $1: packet label
#
install_init = \
+ $(call xpkg/env, $(1)) \
ptxd_make_install_init \
-p '$(strip $(1))' \
-t '$(@)'
@@ -354,6 +322,7 @@ install_init = \
# $3: replacement
#
install_fixup = \
+ $(call xpkg/env, $(1)) \
PTXCONF_PROJECT_BUILD="$(PTXCONF_PROJECT_BUILD)" \
ptxd_make_install_fixup \
-p '$(strip $(1))' \
diff --git a/rules/post/ptxd_make_world_extract.make b/rules/post/ptxd_make_world_extract.make
index 33a106ced..a0b942f0c 100644
--- a/rules/post/ptxd_make_world_extract.make
+++ b/rules/post/ptxd_make_world_extract.make
@@ -38,16 +38,6 @@ $(STATEDIR)/klibc-%.extract:
@$(call touch)
-### --- for INITRAMFS packages only ---
-
-$(STATEDIR)/initramfs-%.extract:
- @$(call targetinfo)
- @$(call clean, $($(PTX_MAP_TO_PACKAGE_initramfs-$(*))_DIR))
- @$(call extract, $(PTX_MAP_TO_PACKAGE_initramfs-$(*)), $(KLIBC_BUILDDIR))
- @$(call patchin, $(PTX_MAP_TO_PACKAGE_initramfs-$(*)), $($(PTX_MAP_TO_PACKAGE_initramfs-$(*))_DIR))
- @$(call touch)
-
-
### --- for TARGET packages only ---
$(STATEDIR)/%.extract:
diff --git a/rules/post/ptxd_make_xpkg_common.make b/rules/post/ptxd_make_xpkg_common.make
index d5a85006d..412cb51be 100644
--- a/rules/post/ptxd_make_xpkg_common.make
+++ b/rules/post/ptxd_make_xpkg_common.make
@@ -13,9 +13,13 @@
# $2: PKG, uppercase pkg name
#
xpkg/env/impl = \
- $(call world/env, $(2)) \
- pkg_xpkg="$(call ptx/escape,$(1))" \
- pkg_ipkg_extra_args=$(PTXCONF_IMAGE_IPKG_EXTRA_ARGS) \
+ $(call world/env, $(2)) \
+ CROSS_STRIP="$(call ptx/escape,$(CROSS_STRIP))" \
+ ptx_use_sstrip="$(call ptx/escape,$(PTXCONF_STRIP_USE_SSTRIP))" \
+ ptx_nfsroot="$(call ptx/escape,$(ROOTDIR))" \
+ ptx_nfsroot_dbg="$(call ptx/escape,$(ROOTDIR_DEBUG))" \
+ pkg_xpkg="$(call ptx/escape,$(1))" \
+ pkg_ipkg_extra_args=$(PTXCONF_IMAGE_IPKG_EXTRA_ARGS) \
pkg_xpkg_type="ipkg"
#
diff --git a/rules/post/virtual.make b/rules/post/virtual.make
index a1ada03ff..f17ee7502 100644
--- a/rules/post/virtual.make
+++ b/rules/post/virtual.make
@@ -12,6 +12,10 @@ ifdef PTXCONF_CROSS_DUMMY_STRIP
$(STATEDIR)/virtual-cross-tools.install: $(STATEDIR)/cross-dummy-strip.install.post
endif
+ifdef PTXCONF_HOST_ELFKICKERS
+$(STATEDIR)/virtual-cross-tools.install: $(STATEDIR)/host-elfkickers.install.post
+endif
+
ifdef PTXCONF_HOST_FAKEROOT
$(STATEDIR)/virtual-cross-tools.install: $(STATEDIR)/host-fakeroot.install.post
endif
diff --git a/rules/prelink.in b/rules/prelink.in
index 027f2491d..d85994be7 100644
--- a/rules/prelink.in
+++ b/rules/prelink.in
@@ -1,9 +1,9 @@
## SECTION=debug_tools
-config PRELINK
+menuconfig PRELINK
tristate
select LIBELF
- prompt "prelink"
+ prompt "prelink "
help
ELF prelinking utility to speed up dynamic linking. The
prelink package contains a utility which modifies ELF shared
@@ -22,4 +22,3 @@ config PRELINK_RC_ONCE
prelink all programs and libraries.
endif
-
diff --git a/rules/rawrec.in b/rules/rawrec.in
index 7552567f0..11b8e2fd5 100644
--- a/rules/rawrec.in
+++ b/rules/rawrec.in
@@ -1,6 +1,6 @@
## SECTION=multimedia_sound
-menuconfig RAWREC
+config RAWREC
tristate
prompt "rawrec/rawplay"
help
diff --git a/rules/readline.make b/rules/readline.make
index 7c92253f8..1eeb5f527 100644
--- a/rules/readline.make
+++ b/rules/readline.make
@@ -36,12 +36,6 @@ $(READLINE_SOURCE):
# Prepare
# ----------------------------------------------------------------------------
-READLINE_PATH := PATH=$(CROSS_PATH)
-READLINE_ENV := $(CROSS_ENV)
-
-#
-# autoconf
-#
READLINE_AUTOCONF := \
$(CROSS_AUTOCONF_ROOT) \
--enable-shared \
diff --git a/rules/sdl_mixer.in b/rules/sdl_mixer.in
index e4f18faf7..c3c3f37fa 100644
--- a/rules/sdl_mixer.in
+++ b/rules/sdl_mixer.in
@@ -2,7 +2,7 @@
menuconfig SDL_MIXER
tristate
- prompt "SDL mixer"
+ prompt "SDL mixer "
select SDL
select LIBVORBIS if SDL_MIXER_OGG
select LIBMAD if SDL_MIXER_MP3
diff --git a/rules/sdl_mixer.make b/rules/sdl_mixer.make
index dd3342ade..5cb6ca860 100644
--- a/rules/sdl_mixer.make
+++ b/rules/sdl_mixer.make
@@ -46,8 +46,7 @@ SDL_MIXER_ENV := $(CROSS_ENV)
SDL_MIXER_AUTOCONF := \
$(CROSS_AUTOCONF_USR) \
--with-sdl-prefix=$(SYSROOT)/usr \
- --disable-music-mp3 \
-
+ --disable-music-mp3
ifdef PTXCONF_SDL_MIXER_WAVE
SDL_MIXER_AUTOCONF += --enable-music-wave
diff --git a/rules/squashfs-tools.in b/rules/squashfs-tools.in
new file mode 100644
index 000000000..8e174021f
--- /dev/null
+++ b/rules/squashfs-tools.in
@@ -0,0 +1,24 @@
+## SECTION=disk_and_file
+
+menuconfig SQUASHFS_TOOLS
+ tristate
+ select ZLIB
+ prompt "squashfs-tools"
+ help
+ Squashfs is a highly compressed read-only filesystem for Linux.
+ It uses zlib compression to compress both files, inodes and directories.
+ Inodes in the system are very small and all blocks are packed to minimise
+ data overhead. Block sizes greater than 4K are supported up to a maximum
+ of 1Mbytes (default block size 128K).
+
+if SQUASHFS_TOOLS
+
+config SQUASHFS_TOOLS_MKSQUASHFS
+ bool
+ prompt "Install mksquashfs"
+
+config SQUASHFS_TOOLS_UNSQUASHFS
+ bool
+ prompt "Install unsquashfs"
+
+endif
diff --git a/rules/squashfs-tools.make b/rules/squashfs-tools.make
new file mode 100644
index 000000000..ef25b6c2a
--- /dev/null
+++ b/rules/squashfs-tools.make
@@ -0,0 +1,76 @@
+# -*-makefile-*-
+#
+# Copyright (C) 2010 by Erwin Rol
+#
+# See CREDITS for details about who has contributed to this project.
+#
+# For further information about the PTXdist project and license conditions
+# see the README file.
+#
+
+#
+# We provide this package
+#
+PACKAGES-$(PTXCONF_SQUASHFS_TOOLS) += squashfs-tools
+
+#
+# Paths and names
+#
+SQUASHFS_TOOLS_VERSION := $(call ptx/ifdef, PTXCONF_HOST_SQUASHFS_TOOLS_V3X, 3.4, 4.0)
+SQUASHFS_TOOLS := squashfs$(SQUASHFS_TOOLS_VERSION)
+SQUASHFS_TOOLS_SUFFIX := tar.gz
+SQUASHFS_TOOLS_URL := $(PTXCONF_SETUP_SFMIRROR)/squashfs/$(SQUASHFS_TOOLS).$(SQUASHFS_TOOLS_SUFFIX)
+SQUASHFS_TOOLS_SOURCE := $(SRCDIR)/$(SQUASHFS_TOOLS).$(SQUASHFS_TOOLS_SUFFIX)
+SQUASHFS_TOOLS_DIR := $(BUILDDIR)/$(SQUASHFS_TOOLS)
+SQUASHFS_TOOLS_SUBDIR := squashfs-tools
+SQUASHFS_TOOLS_LICENSE := unknown
+
+# ----------------------------------------------------------------------------
+# Get
+# ----------------------------------------------------------------------------
+
+$(SQUASHFS_TOOLS_SOURCE):
+ @$(call targetinfo)
+ @$(call get, SQUASHFS_TOOLS)
+
+# ----------------------------------------------------------------------------
+# Prepare
+# ----------------------------------------------------------------------------
+
+SQUASHFS_TOOLS_MAKE_PAR := NO
+SQUASHFS_TOOLS_MAKE_OPT := \
+ $(CROSS_ENV)
+
+SQUASHFS_TOOLS_INSTALL_OPT := \
+ INSTALL_DIR="$(SQUASHFS_TOOLS_PKGDIR)/usr/sbin" \
+ install
+
+# ----------------------------------------------------------------------------
+# Target-Install
+# ----------------------------------------------------------------------------
+
+$(STATEDIR)/squashfs-tools.targetinstall:
+ @$(call targetinfo)
+
+ @$(call install_init, squashfs-tools)
+ @$(call install_fixup, squashfs-tools,PACKAGE,squashfs-tools)
+ @$(call install_fixup, squashfs-tools,PRIORITY,optional)
+ @$(call install_fixup, squashfs-tools,VERSION,$(SQUASHFS_TOOLS_VERSION))
+ @$(call install_fixup, squashfs-tools,SECTION,base)
+ @$(call install_fixup, squashfs-tools,AUTHOR,"Erwin Rol")
+ @$(call install_fixup, squashfs-tools,DEPENDS,)
+ @$(call install_fixup, squashfs-tools,DESCRIPTION,missing)
+
+
+ifdef PTXCONF_SQUASHFS_TOOLS_MKSQUASHFS
+ @$(call install_copy, squashfs-tools, 0, 0, 0755, -, /usr/sbin/mksquashfs)
+endif
+ifdef PTXCONF_SQUASHFS_TOOLS_UNSQUASHFS
+ @$(call install_copy, squashfs-tools, 0, 0, 0755, -, /usr/sbin/unsquashfs)
+endif
+
+ @$(call install_finish, squashfs-tools)
+
+ @$(call touch)
+
+# vim: syntax=make
diff --git a/rules/util-linux-ng.make b/rules/util-linux-ng.make
index 173ea4567..d3c28904f 100644
--- a/rules/util-linux-ng.make
+++ b/rules/util-linux-ng.make
@@ -1,6 +1,7 @@
# -*-makefile-*-
#
# Copyright (C) 2008 by Robert Schwebel
+# 2010 by Marc Kleine-Budde <mkl@penutronix.de>
#
# See CREDITS for details about who has contributed to this project.
#
@@ -16,7 +17,7 @@ PACKAGES-$(PTXCONF_UTIL_LINUX_NG) += util-linux-ng
#
# Paths and names
#
-UTIL_LINUX_NG_VERSION := 2.17.1
+UTIL_LINUX_NG_VERSION := 2.17.2
UTIL_LINUX_NG := util-linux-ng-$(UTIL_LINUX_NG_VERSION)
UTIL_LINUX_NG_SUFFIX := tar.bz2
UTIL_LINUX_NG_URL := http://ftp.kernel.org/pub/linux/utils/util-linux-ng/v2.17/$(UTIL_LINUX_NG).$(UTIL_LINUX_NG_SUFFIX)
diff --git a/rules/watchdog.in b/rules/watchdog.in
new file mode 100644
index 000000000..4d148fcc3
--- /dev/null
+++ b/rules/watchdog.in
@@ -0,0 +1,15 @@
+## SECTION=shell_and_console
+
+config WATCHDOG
+ tristate
+ prompt "watchdog"
+ help
+ A software watchdog
+
+ The watchdog program writes to /dev/watchdog every ten
+ seconds. If the device is opened but not written to within
+ a minute, the machine will reboot. This feature is available
+ when the kernel is built with 'software watchdog' support.
+
+ The ability to reboot will depend on the state of the
+ machine and interrupts.
diff --git a/rules/watchdog.make b/rules/watchdog.make
new file mode 100644
index 000000000..23ceba825
--- /dev/null
+++ b/rules/watchdog.make
@@ -0,0 +1,64 @@
+# -*-makefile-*-
+#
+# Copyright (C) 2010 by Jon Ringle
+#
+# See CREDITS for details about who has contributed to this project.
+#
+# For further information about the PTXdist project and license conditions
+# see the README file.
+#
+
+#
+# We provide this package
+#
+PACKAGES-$(PTXCONF_WATCHDOG) += watchdog
+
+#
+# Paths and names
+#
+WATCHDOG_VERSION := 5.7
+WATCHDOG := watchdog-$(WATCHDOG_VERSION)
+WATCHDOG_SUFFIX := tar.gz
+WATCHDOG_URL := $(PTXCONF_SETUP_SFMIRROR)/watchdog/$(WATCHDOG).$(WATCHDOG_SUFFIX)
+WATCHDOG_SOURCE := $(SRCDIR)/$(WATCHDOG).$(WATCHDOG_SUFFIX)
+WATCHDOG_DIR := $(BUILDDIR)/$(WATCHDOG)
+WATCHDOG_LICENSE := GPLv2
+
+# ----------------------------------------------------------------------------
+# Get
+# ----------------------------------------------------------------------------
+
+$(WATCHDOG_SOURCE):
+ @$(call targetinfo)
+ @$(call get, WATCHDOG)
+
+# ----------------------------------------------------------------------------
+# Prepare
+# ----------------------------------------------------------------------------
+
+WATCHDOG_CONF_TOOL := autoconf
+
+# ----------------------------------------------------------------------------
+# Target-Install
+# ----------------------------------------------------------------------------
+
+$(STATEDIR)/watchdog.targetinstall:
+ @$(call targetinfo)
+
+ @$(call install_init, watchdog)
+ @$(call install_fixup, watchdog,PACKAGE,watchdog)
+ @$(call install_fixup, watchdog,PRIORITY,optional)
+ @$(call install_fixup, watchdog,VERSION,$(WATCHDOG_VERSION))
+ @$(call install_fixup, watchdog,SECTION,base)
+ @$(call install_fixup, watchdog,AUTHOR,"Jon Ringle")
+ @$(call install_fixup, watchdog,DEPENDS,)
+ @$(call install_fixup, watchdog,DESCRIPTION,missing)
+
+ @$(call install_alternative, watchdog, 0, 0, 0644, /etc/watchdog.conf)
+ @$(call install_copy, watchdog, 0, 0, 0755, -, /usr/sbin/watchdog)
+
+ @$(call install_finish, watchdog)
+
+ @$(call touch)
+
+# vim: syntax=make
diff --git a/rules/xorg-app-xdm.make b/rules/xorg-app-xdm.make
index fc2a918cf..70a611a60 100644
--- a/rules/xorg-app-xdm.make
+++ b/rules/xorg-app-xdm.make
@@ -78,6 +78,8 @@ $(STATEDIR)/xorg-app-xdm.targetinstall:
@$(call install_fixup, xorg-app-xdm,DEPENDS,)
@$(call install_fixup, xorg-app-xdm,DESCRIPTION,missing)
+ @$(call install_copy, xorg-app-xdm, 0, 0, 0755, -, /usr/bin/xdm)
+
@$(call install_finish, xorg-app-xdm)
@$(call touch)
diff --git a/rules/xorg-font-intl.make b/rules/xorg-font-intl.make
index 7b19afb96..a62a88883 100644
--- a/rules/xorg-font-intl.make
+++ b/rules/xorg-font-intl.make
@@ -72,7 +72,7 @@ endif
XORG_FONT_INTL_AUTOCONF := \
$(CROSS_AUTOCONF_USR) \
--enable-compress \
- --with-fontdir=$(XORG_FONT_INTL_PKGDIR) \
+ --with-fontdir=$(XORG_FONT_INTL_PKGDIR)$(XORG_FONTDIR)/misc \
--without-bdf
# ----------------------------------------------------------------------------
diff --git a/scripts/install_copy_toolchain.sh b/scripts/install_copy_toolchain.sh
index 84687181a..794598a60 100755
--- a/scripts/install_copy_toolchain.sh
+++ b/scripts/install_copy_toolchain.sh
@@ -149,15 +149,6 @@ ptxd_install_toolchain_lib() {
# if the user has given us a $dest use it
prefix="${dest:-${prefix}}"
- # remove existing libs
- for dir in \
- "${ROOTDIR}" \
- "${ROOTDIR_DEBUG}"; do
-
- tmp="${dir}${prefix}/${lib}"
- test -e "${tmp}" && rm -rf "${tmp}"
- done
-
# do sth. with that found lib, action depends on file type (link or regular)
if test -h "${lib_path}"; then # link
echo "link - ${lib_path}"
@@ -182,17 +173,8 @@ ptxd_install_toolchain_lib() {
lnk_prefix="$(ptxd_abs2rel "${prefix}" "${lnk_prefix}")"
lnk_prefix="${lnk_prefix}${lnk_prefix:+/}"
- # now install that link into the root and ipkg dirs
- for dir in \
- "${ROOTDIR}" \
- "${ROOTDIR_DEBUG}" \
- "${PKGDIR}/${packet}.tmp/ipkg"; do
-
- if test \! -d "${dir}${prefix}"; then
- install -d "${dir}${prefix}"
- fi
- ln -sf "${lnk_prefix}${lnk}" "${dir}${prefix}/${lib}"
- done
+ # now remember that link for later
+ echo "ptxd_install_link \"${lnk_prefix}${lnk}\" \"${prefix}/${lib}\"" >> "${STATEDIR}/${packet}.cmds"
lib_path="${lnk_path}"
continue
@@ -227,19 +209,7 @@ ptxd_install_toolchain_lib() {
perm="$(stat -c %a "${lib_path}")"
- for dir in \
- "${ROOTDIR}" \
- "${ROOTDIR_DEBUG}" \
- "${PKGDIR}/${packet}.tmp/ipkg"; do
-
- install -m ${perm} -D "${lib_path}" "${dir}${prefix}/${lib}"
- done
-
- if "${strip}"; then
- ${STRIP} "${ROOTDIR}${prefix}/${lib}"
- ${STRIP} "${PKGDIR}/${packet}.tmp/ipkg${prefix}/${lib}"
- fi
- echo "f:${prefix}/${lib}:0:0:${perm}" >> "${STATEDIR}/${packet}.perms"
+ echo "ptxd_install_file \"${lib_path}\" \"${prefix}/${lib}\" 0 0 \"${perm}\" \"${strip}\"" >> "${STATEDIR}/${packet}.cmds"
# now create some links to that lib
# e.g. libstdc++.so.6 -> libstdc++.so.6.6.6
@@ -253,15 +223,7 @@ ptxd_install_toolchain_lib() {
"${lib_v_major}" != "${lib}"; then
echo "extra link - ${prefix}/${lib_v_major}"
- for dir in \
- "${ROOTDIR}" \
- "${ROOTDIR_DEBUG}" \
- "${PKGDIR}/${packet}.tmp/ipkg"; do
-
- if test \! -e "${dir}${prefix}/${lib_v_major}"; then
- ln -sf "${lib}" "${dir}${prefix}/${lib_v_major}"
- fi
- done
+ echo "ptxd_install_link \"${lib}\" \"${prefix}/${lib_v_major}\"" >> "${STATEDIR}/${packet}.cmds"
fi
fi
else
@@ -344,19 +306,7 @@ ptxd_install_toolchain_usr() {
echo "usr - ${usr_dst}"
- for dir in \
- "${ROOTDIR}" \
- "${ROOTDIR_DEBUG}" \
- "${PKGDIR}/${packet}.tmp/ipkg"; do
-
- install -m "${usr_perm}" -D "${usr_src}" "${dir}${usr_dst}"
- done
-
- if "${strip}"; then
- ${STRIP} "${ROOTDIR}${usr_dst}"
- ${STRIP} "${PKGDIR}/${packet}.tmp/ipkg${usr_dst}"
- fi
- echo "f:${usr_dst}:0:0:${usr_perm}" >> "${STATEDIR}/${packet}.perms"
+ echo "ptxd_install_file \"${usr_src}\" \"${usr_dst}\" 0 0 \"${usr_perm}\" \"${strip}\"" >> "${STATEDIR}/${packet}.cmds"
done
}
@@ -381,10 +331,10 @@ ptxd_install_copy_toolchain() {
s)
case "${OPTARG}" in
y|yes|1|true|"")
- args="${args} strip=true"
+ args="${args} strip=y"
;;
*)
- args="${args} strip=false"
+ args="${args} strip=n"
;;
esac
;;
diff --git a/scripts/lib/ptxd_make_extract.sh b/scripts/lib/ptxd_make_extract.sh
index d38bbb34f..ae5e4977b 100644
--- a/scripts/lib/ptxd_make_extract.sh
+++ b/scripts/lib/ptxd_make_extract.sh
@@ -65,52 +65,8 @@ ptxd_make_extract() {
echo "extract: archive=${packet_source}"
echo "extract: dest=${dest}"
- local filter
-
- case "${packet_source}" in
- *gz)
- filter="--gzip"
- ;;
- *bz2)
- filter="--bzip2"
- ;;
- *lzma)
- filter="--lzma"
- ;;
- *xz)
- filter="--xz"
- ;;
- *lzop)
- filter="--lzop"
- ;;
- *tar)
- # none
- ;;
- *zip)
- echo "$(basename "${packet_source}")" >> "${STATEDIR}/packetlist"
- unzip -q "${packet_source}" -d "${dest}"
- return
- ;;
- *)
- echo
- echo "Unknown format, cannot extract!"
- echo
- return 1
- ;;
- esac
-
+ ptxd_make_extract_archive "${packet_source}" "${dest}" &&
echo "$(basename "${packet_source}")" >> "${STATEDIR}/packetlist"
- tar -C "${dest}" "${filter}" -x -f "${packet_source}" ||
- {
- cat >&2 <<EOF
-
-
-error: extracting '${packet_source}' failed
-
-
-EOF
- return 1
- }
}
export -f ptxd_make_extract
diff --git a/scripts/lib/ptxd_make_extract_archive.sh b/scripts/lib/ptxd_make_extract_archive.sh
new file mode 100644
index 000000000..f44f0c9f0
--- /dev/null
+++ b/scripts/lib/ptxd_make_extract_archive.sh
@@ -0,0 +1,51 @@
+#!/bin/bash
+
+ptxd_make_extract_archive() {
+ local archive="$1"
+ local dest="$2"
+ local filter
+
+ case "${archive}" in
+ *gz)
+ filter="--gzip"
+ ;;
+ *bz2)
+ filter="--bzip2"
+ ;;
+ *lzma)
+ filter="--lzma"
+ ;;
+ *xz)
+ filter="--xz"
+ ;;
+ *lzop)
+ filter="--lzop"
+ ;;
+ *tar|*tar.*)
+ # no filter or autodetect
+ ;;
+ *zip)
+ unzip -q "${archive}" -d "${dest}"
+ return
+ ;;
+ *)
+ cat >&2 <<EOF
+
+Unknown format, cannot extract!
+
+EOF
+ return 1
+ ;;
+ esac
+
+ tar -C "${dest}" "${filter}" -x -f "${archive}" || {
+ cat >&2 <<EOF
+
+error: extracting '${archive}' failed
+
+EOF
+ return 1
+ }
+}
+export -f ptxd_make_extract_archive
+
diff --git a/scripts/lib/ptxd_make_install.sh b/scripts/lib/ptxd_make_install.sh
index 71c452a4f..539a67a21 100644
--- a/scripts/lib/ptxd_make_install.sh
+++ b/scripts/lib/ptxd_make_install.sh
@@ -15,6 +15,8 @@
ptxd_make_install_init() {
. ${PTXDIST_TOPDIR}/scripts/ptxdist_vars.sh || return
+ ptxd_make_xpkg_init || return
+
local opt
while getopts "p:t:" opt; do
case "${opt}" in
@@ -39,19 +41,20 @@ ptxd_make_install_init() {
fi
echo "install_init: preparing for image creation..."
- local dst="${PKGDIR}/${packet}.tmp"
rm -fr -- \
- "${PKGDIR}/${packet}.tmp" \
- "${STATEDIR}/${packet}.perms"
- mkdir -p -- "${dst}/ipkg/CONTROL" || return
+ "${pkg_xpkg_tmp}" \
+ "${pkg_xpkg_cmds}" \
+ "${pkg_xpkg_perms}" &&
+ mkdir -p -- "${pkg_ipkg_control_dir}" &&
+ touch "${pkg_xpkg_cmds}" || return
local replace_from="ARCH"
local replace_to="${PTXDIST_IPKG_ARCH_STRING}"
echo -n "install_init: @${replace_from}@ -> ${replace_to} ... "
sed -e "s,@${replace_from}@,${replace_to},g" "${RULESDIR}/default.ipkg" > \
- "${dst}/ipkg/CONTROL/control" || return
+ "${pkg_ipkg_control}" || return
echo "done"
local script rd found
@@ -69,7 +72,7 @@ ptxd_make_install_init() {
if [ -f "${abs_script}" ]; then
install -m 0755 \
-D "${abs_script}" \
- "${dst}/ipkg/CONTROL/${script}" || return
+ "${pkg_ipkg_control_dir}/${script}" || return
echo "packaging: '${abs_script}'"
@@ -98,6 +101,8 @@ export -f ptxd_make_install_init
ptxd_make_install_fixup() {
. ${PTXDIST_TOPDIR}/scripts/ptxdist_vars.sh || return
+ ptxd_make_xpkg_init || return
+
local opt
while getopts "p:f:t:s:" opt; do
case "${opt}" in
@@ -137,23 +142,22 @@ ptxd_make_install_fixup() {
#
# track "pkg name" to "xpkg filename"
#
- local xpkg_map="${STATEDIR}/${target}.xpkg.map"
- if [ -e "${xpkg_map}" ]; then
- sed -i -e "/^${replace_to}$/d" "${xpkg_map}" &&
+ if [ -e "${pkg_xpkg_map}" ]; then
+ sed -i -e "/^${replace_to}$/d" "${pkg_xpkg_map}" &&
- if [ -s "${xpkg_map}" ]; then
+ if [ -s "${pkg_xpkg_map}" ]; then
cat >&2 <<EOF
${PREFIX}warning: more than one ipkg per PTXdist package detected:
pkg: '${target}'
-ipkg: '${replace_to}' and '$(cat "${xpkg_map}")'
+ipkg: '${replace_to}' and '$(cat "${pkg_xpkg_map}")'
EOF
fi
fi &&
- echo "${replace_to}" >> "${xpkg_map}" || return
+ echo "${replace_to}" >> "${pkg_xpkg_map}" || return
;;
@@ -166,7 +170,7 @@ EOF
esac
echo -n "install_fixup: @${replace_from}@ -> ${replace_to} ... "
- sed -i -e "s,@$replace_from@,$replace_to,g" "${PKGDIR}/$packet.tmp/ipkg/CONTROL/control" || return
+ sed -i -e "s,@$replace_from@,$replace_to,g" "${pkg_ipkg_control}" || return
echo "done."
}
diff --git a/scripts/lib/ptxd_make_ipkg_finish.sh b/scripts/lib/ptxd_make_ipkg_finish.sh
index eefa0e7d9..8f91916c3 100644
--- a/scripts/lib/ptxd_make_ipkg_finish.sh
+++ b/scripts/lib/ptxd_make_ipkg_finish.sh
@@ -9,6 +9,16 @@
# see the README file.
#
+#
+# the actual ipkg package creation, will run in fakeroot
+#
+ptxd_make_ipkg_finish_impl() {
+ chown -R 0:0 "${pkg_xpkg_tmp}" &&
+ ptxd_make_xpkg_pkg "${pkg_ipkg_tmp}" "${pkg_xpkg_cmds}" "${pkg_xpkg_perms}" &&
+ ipkg-build ${pkg_ipkg_extra_args} "${pkg_ipkg_tmp}" "${ptx_pkg_dir}"
+}
+export -f ptxd_make_ipkg_finish_impl
+
#
# create an ipkg package
@@ -22,12 +32,13 @@ ptxd_make_ipkg_finish() {
sed -i -e "s:@DEPENDS@:${dep}:g" "${pkg_ipkg_control}" || return
- {
- echo "pushd '${pkg_ipkg_tmp}' >/dev/null &&" &&
- ptxd_dopermissions "${pkg_xpkg_perms}" &&
- echo "popd >/dev/null &&" &&
- echo "ipkg-build ${pkg_ipkg_extra_args} '${pkg_ipkg_tmp}' '${ptx_pkg_dir}' >/dev/null"
- } | fakeroot -- &&
- check_pipe_status
+ local -a fake_args
+ if [ -f "${pkg_fake_env}" ]; then
+ fake_args=( "-i" "${pkg_fake_env}" )
+ fi
+ fake_args[${#fake_args[@]}]="-u"
+
+ export ${!pkg_*} ${!ptx_*}
+ fakeroot "${fake_args[@]}" -- ptxd_make_ipkg_finish_impl
}
export -f ptxd_make_ipkg_finish
diff --git a/scripts/lib/ptxd_make_world_clean.sh b/scripts/lib/ptxd_make_world_clean.sh
index f173ac1db..87b7ab994 100644
--- a/scripts/lib/ptxd_make_world_clean.sh
+++ b/scripts/lib/ptxd_make_world_clean.sh
@@ -13,9 +13,9 @@
ptxd_make_world_clean() {
ptxd_make_world_init &&
- if [ -f "${ptx_state_dir}/${pkg_label}.xpkg.map" ]; then
+ if [ -f "${pkg_xpkg_map}" ]; then
echo "Deleting ipks:"
- for name in $(cat "${ptx_state_dir}/${pkg_label}.xpkg.map" 2>/dev/null); do
+ for name in $(cat "${pkg_xpkg_map}" 2>/dev/null); do
ls "${ptx_pkg_dir}/${name}"_*.ipk
rm -f "${ptx_pkg_dir}/${name}"_*.ipk
done
diff --git a/scripts/lib/ptxd_make_world_common.sh b/scripts/lib/ptxd_make_world_common.sh
index 452320586..f2a2e1045 100644
--- a/scripts/lib/ptxd_make_world_common.sh
+++ b/scripts/lib/ptxd_make_world_common.sh
@@ -149,7 +149,7 @@ ptxd_make_world_init_compat() {
# pkg_sysroot_dir
#
case "${pkg_stamp}" in
- initramfs-*|klibc-*) pkg_sysroot_dir="${PTXDIST_SYSROOT_TARGET}/usr/lib/klibc" ;;
+ klibc-*) pkg_sysroot_dir="${PTXDIST_SYSROOT_TARGET}/usr/lib/klibc" ;;
host-*) pkg_sysroot_dir="${PTXDIST_SYSROOT_HOST}" ;;
cross-*) pkg_sysroot_dir="${PTXDIST_SYSROOT_CROSS}" ;;
*) pkg_sysroot_dir="${PTXDIST_SYSROOT_TARGET}" ;;
@@ -222,6 +222,12 @@ ptxd_make_world_init() {
ptxd_make_world_init_compat || return
#
+ # xpkg mapping
+ #
+ pkg_xpkg_map="${ptx_state_dir}/${pkg_label}.xpkg.map"
+ pkg_fake_env="${ptx_state_dir}/${pkg_label}.fakeroot"
+
+ #
# path
#
local path_ptr="ptx_path_${pkg_type}"
@@ -304,7 +310,7 @@ ptxd_make_world_init() {
# parallelmake
#
case "${pkg_make_par}" in
- "YES"|"") pkg_make_par="${PTXDIST_PARALLELMFLAGS_INTERN}" ;;
+ "YES"|"") pkg_make_par="${PTXDIST_PARALLELMFLAGS_INTERN} ${PTXDIST_LOADMFLAGS_INTERN}" ;;
"NO") pkg_make_par=-j1 ;;
*) ptxd_bailout "<PKG>_MAKE_PAR: please set to YES or NO" ;;
esac
diff --git a/scripts/lib/ptxd_make_world_install.sh b/scripts/lib/ptxd_make_world_install.sh
index a88fb9729..8b1a74e78 100644
--- a/scripts/lib/ptxd_make_world_install.sh
+++ b/scripts/lib/ptxd_make_world_install.sh
@@ -15,6 +15,11 @@
# FIXME: kick ${pkg_install_env}
#
ptxd_make_world_install_pkg() {
+ local -a fakeargs
+# if [ -z "${fakeroot}" ]; then
+# fakeargs=( "-s" "${pkg_fake_env}" )
+# fi
+
"${echo:-echo}" \
"${pkg_path}" \
"${pkg_env}" \
@@ -24,7 +29,7 @@ ptxd_make_world_install_pkg() {
-C "${pkg_build_dir}" \
"${pkg_install_opt}" \
-j1 \
- | "${fakeroot:-fakeroot}" --
+ | "${fakeroot:-fakeroot}" "${fakeargs[@]}" --
check_pipe_status
}
export -f ptxd_make_world_install_pkg
diff --git a/scripts/lib/ptxd_make_xpkg_common.sh b/scripts/lib/ptxd_make_xpkg_common.sh
index 2d3426593..89cde2c81 100644
--- a/scripts/lib/ptxd_make_xpkg_common.sh
+++ b/scripts/lib/ptxd_make_xpkg_common.sh
@@ -32,6 +32,8 @@ ptxd_make_xpkg_init() {
ptxd_bailout "'pkg_xpkg' or 'pkg_xpkg_type' undefined"
fi
+ ptxd_make_world_init || return
+
# license
pkg_license="${pkg_license:-unknown}"
pkg_xpkg_license="${pkg_xpkg_license:-${pkg_license}}"
@@ -39,6 +41,7 @@ ptxd_make_xpkg_init() {
# packaging stuff
pkg_xpkg_perms="${ptx_state_dir}/${pkg_xpkg}.perms"
+ pkg_xpkg_cmds="${ptx_state_dir}/${pkg_xpkg}.cmds"
pkg_xpkg_tmp="${ptx_pkg_dir}/${pkg_xpkg}.tmp"
"ptxd_make_${pkg_xpkg_type}_init"
diff --git a/scripts/lib/ptxd_make_xpkg_finish.sh b/scripts/lib/ptxd_make_xpkg_finish.sh
index 6c4790492..719b07598 100644
--- a/scripts/lib/ptxd_make_xpkg_finish.sh
+++ b/scripts/lib/ptxd_make_xpkg_finish.sh
@@ -1,7 +1,7 @@
#!/bin/bash
#
# Copyright (C) 2005, 2006, 2007 Robert Schwebel <r.schwebel@pengutronix.de>
-# 2008, 2009 by Marc Kleine-Budde <mkl@pengutronix.de>
+# 2008, 2009, 2010 by Marc Kleine-Budde <mkl@pengutronix.de>
#
# See CREDITS for details about who has contributed to this project.
#
@@ -57,16 +57,17 @@ ptxd_make_xpkg_finish() {
#
# no perm file -> no files to package -> exit
#
- if [ \! -f "${pkg_xpkg_perms}" ]; then
- ptxd_warning "Packet '${pkg_xpkg}' is empty. not generating"
- rm -rf -- "${pkg_xpkg_tmp}"
+ if [ \! -s "${pkg_xpkg_cmds}" ]; then
+ ptxd_pedantic "Packet '${pkg_xpkg}' is empty. not generating" &&
+ rm -rf -- "${pkg_xpkg_tmp}" &&
- local xpkg_map="${STATEDIR}/${pkg_xpkg}.xpkg.map"
- sed -i -e "/^${pkg_xpkg}$/d" "${xpkg_map}" #FIXME: we rely in 1-to-1 mapping here
+ #FIXME: we rely in 1-to-1 mapping here
+ sed -i -e "/^${pkg_xpkg}$/d" "${pkg_xpkg_map}" &&
- if [ \! -s "${xpkg_map}" ]; then
- rm -f -- "${xpkg_map}"
+ if [ \! -s "${pkg_xpkg_map}" ]; then
+ rm -f -- "${pkg_xpkg_map}"
fi
+
return
fi
@@ -82,20 +83,18 @@ ptxd_make_xpkg_finish() {
#
# create pkg
#
- local ret=0
+ ptxd_make_xpkg_deps &&
- ptxd_make_xpkg_deps || return
+ echo "xpkg_finish: creating ${pkg_xpkg_type} package ... " &&
+ "ptxd_make_${pkg_xpkg_type}_finish" &&
+ rm -rf "${pkg_xpkg_tmp}" || {
+ local ret=$?
+ echo "failed"
+ return ${ret}
+ }
- echo -n "xpkg_finish: creating ${pkg_xpkg_type} package ... " &&
- "ptxd_make_${pkg_xpkg_type}_finish" || ret=$?
- rm -rf "${pkg_xpkg_tmp}"
+ echo "done."
- if [ $? -ne 0 -o ${ret} -ne 0 ]; then
- echo "failed."
- return 1
- else
- echo "done."
- fi
#
# post install
diff --git a/scripts/lib/ptxd_make_xpkg_pkg.sh b/scripts/lib/ptxd_make_xpkg_pkg.sh
new file mode 100644
index 000000000..058bdf650
--- /dev/null
+++ b/scripts/lib/ptxd_make_xpkg_pkg.sh
@@ -0,0 +1,539 @@
+#!/bin/bash
+#
+# Copyright (C) 2010 by Michael Olbrich <m.olbrich@pengutronix.de>
+#
+# See CREDITS for details about who has contributed to this project.
+#
+# For further information about the PTXdist project and license conditions
+# see the README file.
+#
+
+ptxd_exist() {
+ for file in "${@}"; do
+ if [ ! -e "${file}" ]; then
+ echo -e "\nError: file not found: ${file}\n"
+ return 1
+ fi
+ done
+}
+export -f ptxd_exist
+
+ptxd_install_error() {
+ echo Error: "$@"
+ exit 1
+}
+export -f ptxd_install_error
+
+ptxd_install_setup() {
+ # all dirs
+ dirs=("${ptx_nfsroot}" "${ptx_nfsroot_dbg}" "${pkg_xpkg_tmp}")
+
+ # nfs root dirs
+ # no setuid/setguid bit here
+ ndirs=("${ptx_nfsroot}" "${ptx_nfsroot_dbg}")
+
+ # package dirs
+ # this goes into the ipkg, thus full file modes here
+ pdirs=("${pkg_xpkg_tmp}")
+
+ # strip dirs
+ sdirs=("${ptx_nfsroot}" "${pkg_xpkg_tmp}")
+
+ mod_nfs="$(printf "0%o" $(( 0${mod} & ~06000 )))"
+ mod_rw="$(printf "0%o" $(( 0${mod} | 0200 )))"
+
+}
+export -f ptxd_install_setup
+
+ptxd_install_setup_src() {
+ ptxd_install_setup
+
+ if [ "${src}" = "-" -a -n "${dst}" ]; then
+ src="${pkg_pkg_dir}${dst}"
+ fi
+
+ local -a list
+
+ if [ "${cmd}" = "alternative" ]; then
+ list=( \
+ "${PTXDIST_WORKSPACE}/projectroot${PTXDIST_PLATFORMSUFFIX}${src}" \
+ "${PTXDIST_WORKSPACE}/projectroot${src}${PTXDIST_PLATFORMSUFFIX}" \
+ "${PTXDIST_WORKSPACE}/projectroot${src}" \
+ "${PTXDIST_TOPDIR}/generic${src}" \
+ "${pkg_pkg_dir}${src}" \
+ "${pkg_dir}${src}" \
+ )
+ else
+ list=( \
+ "${src}${PTXDIST_PLATFORMSUFFIX}" \
+ "${src}" \
+ )
+ fi
+
+ for src in "${list[@]}"; do
+ if [ -e "${src}" ]; then
+ return
+ fi
+ done
+
+ echo -e "\nNo suitable file '${dst}' could be found in any of these locations:"
+ local orig_IFS="${IFS}"
+ local IFS="
+"
+ echo -e "${list[*]}\n"
+ IFS="${orig_IFS}"
+
+}
+export -f ptxd_install_setup_src
+
+ptxd_install_dir() {
+ local dir="$1"
+ local usr="$2"
+ local grp="$3"
+ local mod="$4"
+ local -a dirs ndirs pdirs sdirs
+ local mod_nfs mod_rw
+
+ cat << EOF
+install directory:
+ dir=${dir}
+ owner=${usr}
+ group=${grp}
+ permissions=${mod}
+EOF
+
+ ptxd_install_setup &&
+
+ install -m "${mod_nfs}" -d "${ndirs[@]/%/${dir}}" &&
+ install -m "${mod}" -o "${usr}" -g "${grp}" -d "${pdirs[@]/%/${dir}}" &&
+
+ echo "f:${dir}:${usr}:${grp}:${mod}" >> "${pkg_xpkg_perms}"
+}
+export -f ptxd_install_dir
+
+
+#
+# $@: files to strip
+#
+# $strip: k for kernel modules
+# y for normal executables and libraries
+#
+# $ptx_use_sstrip: "y" use sstrip, 'n' use binutils strip
+#
+#
+ptxd_install_file_strip() {
+ local -a strip_cmd
+
+ case "${strip:-y}${ptx_use_sstrip:-n}" in
+ k*) strip_cmd=( "${CROSS_STRIP}" --strip-debug ) ;;
+ yn) strip_cmd=( "${CROSS_STRIP}" -R .note -R .comment ) ;;
+ yy) strip_cmd=( sstrip ) ;;
+ *) ptxd_bailout "${FUNCNAME}: invalid values for strip='${strip}' or ptx_use_sstrip='${ptx_use_sstrip}'" ;;
+ esac
+
+ #
+ # create hardlink so that inode stays the same during strip
+ # (fixes 64 bit fakeroot <-> 32 bit strip issue)
+ #
+ local tmp="strip"
+ local file
+ for file in "${@}"; do
+ ln -f "${file}" "${file}.${tmp}" || return
+ done &&
+
+ "${strip_cmd[@]}" "${@}" &&
+ rm -f "${@/%/.${tmp}}"
+}
+export -f ptxd_install_file_strip
+
+
+ptxd_install_file_impl() {
+ local src="$1"
+ local dst="$2"
+ local usr="$3"
+ local grp="$4"
+ local mod="$5"
+ local strip="$6"
+ local -a dirs ndirs pdirs sdirs
+ local mod_nfs mod_rw
+
+ ptxd_install_setup_src &&
+ cat << EOF
+install ${cmd}:
+ src=${src}
+ dst=${dst}
+ owner=${usr}
+ group=${grp}
+ permissions=${mod}
+EOF
+
+ ptxd_exist "${src}" &&
+ rm -f "${dirs[@]/%/${dst}}" &&
+
+ # check if src is a link
+ if [ -L "${src}" ]; then
+ ptxd_pedantic "file '${src}' is a link" &&
+ src="$(readlink -f "${src}")" &&
+ echo "using '${src}' instead"
+ fi &&
+
+ # just install with r/w permissions for now
+ for d in "${dirs[@]/%/${dst}}"; do
+ install -m "${mod_rw}" -D "${src}" "${d}" || return
+ done &&
+
+ if file "${src}" | egrep -q ":.*(executable|shared object|ELF.*relocatable).*stripped"; then
+ case "${strip}" in
+ 0|n|no|N|NO) ;;
+ *) ptxd_install_file_strip "${sdirs[@]/%/${dst}}" ;;
+ esac
+ fi &&
+
+ # now change to requested permissions
+ chmod "${mod_nfs}" "${ndirs[@]/%/${dst}}" &&
+ chmod "${mod}" "${pdirs[@]/%/${dst}}" &&
+
+ # now change to requested user and group
+ chown "${usr}:${grp}" "${pdirs[@]/%/${dst}}" &&
+
+ echo "f:${dst}:${usr}:${grp}:${mod}" >> "${pkg_xpkg_perms}"
+}
+export -f ptxd_install_file_impl
+
+ptxd_install_ln() {
+ local src="$1"
+ local dst="$2"
+ local usr="${3:-0}"
+ local grp="${4:-0}"
+ local -a dirs ndirs pdirs sdirs
+ local mod_nfs mod_rw
+
+ cat << EOF
+install link:
+ src=${src}
+ dst=${dst}
+EOF
+
+ ptxd_install_setup &&
+
+ case "${src}" in
+ /*) echo "Error: absolute link detected, please fix!"
+ return 1
+ ;;
+ *) ;;
+ esac &&
+
+ rm -f "${dirs[@]/%/${dst}}" &&
+ install -d "${dirs[@]/%/$(dirname "${dst}")}" &&
+ for d in "${dirs[@]/%/${dst}}"; do
+ ln -s "${src}" "${d}" || return
+ done &&
+
+ chown --no-dereference "${usr}:${grp}" "${dirs[@]/%/${dst}}"
+}
+export -f ptxd_install_ln
+
+ptxd_install_mknod() {
+ local dst="$1"
+ local usr="$2"
+ local grp="$3"
+ local mod="$4"
+ local type="$5"
+ local major="$6"
+ local minor="$7"
+ local -a dirs ndirs pdirs sdirs
+ local mod_nfs mod_rw
+
+ cat << EOF
+install device node:
+ owner=${usr}
+ group=${grp}
+ permissions=${mod}
+ type=${type}
+ major=${major}
+ minor=${minor}
+ name=${dst}
+EOF
+
+ ptxd_install_setup &&
+
+ rm -f "${pdirs[@]/%/${dst}}" &&
+ for d in "${pdirs[@]/%/${dst}}"; do
+ mknod -m "${mod}" "${d}" "${type}" "${major}" "${minor}" || return
+ done &&
+ chown "${usr}:${grp}" "${pdirs[@]/%/${dst}}" &&
+
+ echo "n:${dst}:${usr}:${grp}:${mod}:${type}:${major}:${minor}" >> "${pkg_xpkg_perms}"
+}
+export -f ptxd_install_mknod
+
+ptxd_install_alternative() {
+ local cmd="alternative"
+ local src="${1}"
+ local dst="${2}"
+ shift 2
+ ptxd_install_file_impl "${src}" "${dst:-${src}}" "${@}" ||
+ ptxd_install_error "install_alternative failed!"
+}
+export -f ptxd_install_alternative
+
+ptxd_install_file() {
+ local cmd="file"
+ ptxd_install_file_impl "$@" ||
+ ptxd_install_error "install_file failed!"
+}
+export -f ptxd_install_file
+
+ptxd_install_link() {
+ ptxd_install_ln "$@" ||
+ ptxd_install_error "install_link failed!"
+}
+export -f ptxd_install_link
+
+ptxd_install_node() {
+ ptxd_install_mknod "$@" ||
+ ptxd_install_error "install_node failed!"
+}
+export -f ptxd_install_node
+
+ptxd_install_replace() {
+ local dst="$1"
+ local placeholder="$2"
+ local value="$3"
+ local -a dirs ndirs pdirs sdirs
+ local mod_nfs mod_rw
+
+ cat << EOF
+EOF
+
+ ptxd_install_setup &&
+
+ ptxd_exist "${dirs[@]/%/${dst}}" &&
+ sed -i -e "s,${placeholder},${value},g" "${dirs[@]/%/${dst}}" ||
+
+ ptxd_install_error "install_replace failed!"
+}
+export -f ptxd_install_replace
+
+ptxd_install_generic() {
+ local file="$1"
+ local dst="$2"
+ local usr="$3"
+ local grp="$4"
+
+ local -a stat
+ stat=( $(stat -c "%u %g %a %t %T" "${file}") ) &&
+ local usr="${usr:-${stat[0]}}" &&
+ local grp="${grp:-${stat[1]}}" &&
+ local mod="${stat[2]}" &&
+ local major="${stat[3]}" &&
+ local minor="${stat[4]}" &&
+ local type="$(stat -c "%F" "${file}")" &&
+
+ case "${type}" in
+ "directory")
+ ptxd_install_dir "${dst}" "${usr}" "${grp}" "${mod}"
+ ;;
+ "character special file")
+ ptxd_install_mknod "${dst}" "${usr}" "${grp}" "${mod}" c "${major}" "${minor}"
+ ;;
+ "block special file")
+ ptxd_install_mknod "${dst}" "${usr}" "${grp}" "${mod}" b "${major}" "${minor}"
+ ;;
+ "symbolic link")
+ local src="$(readlink "${file}")" &&
+ ptxd_install_ln "${src}" "${dst}" "${usr}" "${grp}"
+ ;;
+ "regular file"|"regular empty file")
+ ptxd_install_file "${file}" "${dst}" "${usr}" "${grp}" "${mod}"
+ ;;
+ *)
+ echo "Error: File type '${type}' unkown!"
+ return 1
+ ;;
+ esac
+}
+export -f ptxd_install_generic
+
+ptxd_install_find() {
+ local dir="${1%/}"
+ local dstdir="${2%/}"
+ local usr="${3#-}"
+ local grp="${4#-}"
+
+ test -d "${dir}" &&
+
+ find "${dir}" -path "*/.svn" -prune -o -path "*/.git" -prune -o \
+ -path "*/.pc" -prune -o -path "*/CVS" -prune -o \
+ ! -path "${dir}" -print | while read file; do
+ local dst="${dstdir}${file#${dir}}"
+ ptxd_install_generic "${file}" "${dst}" "${usr}" "${grp}" || return
+ done
+}
+export -f ptxd_install_find
+
+ptxd_install_tree() {
+ ptxd_install_find "$@" ||
+ ptxd_install_error "install_tree failed!"
+}
+export -f ptxd_install_tree
+
+ptxd_install_archive() {
+ local archive="$1"
+ shift
+
+ local dir="$(mktemp -d "${PTXDIST_TEMPDIR}/install_archive.XXXXXX")" &&
+
+ ptxd_make_extract_archive "${archive}" "${dir}" &&
+ ptxd_install_find "${dir}" "$@" &&
+
+ rm -rf "${dir}" ||
+
+ ptxd_install_error "install_archive failed!"
+}
+export -f ptxd_install_archive
+
+#
+# $1: path to spec file
+#
+# From linux/Documentation/filesystems/ramfs-rootfs-initramfs.txt:
+#
+# file <name> <location> <mode> <uid> <gid> [<hard links>]
+# dir <name> <mode> <uid> <gid>
+# nod <name> <mode> <uid> <gid> <dev_type> <maj> <min>
+# slink <name> <target> <mode> <uid> <gid>
+# pipe <name> <mode> <uid> <gid>
+# sock <name> <mode> <uid> <gid>
+#
+ptxd_install_spec() {
+ local specfile="${1}"
+ local type args
+ local orig_IFS="${IFS}"
+
+ ptxd_exist "${specfile}"
+
+ while read type args; do
+ set -- ${args}
+ case "${type}" in
+ "file")
+ local name="$1"
+ local location="$2"
+ local mode="$3"
+ local uid="$4"
+ local gid="$5"
+
+ case "${location}" in
+ /*)
+ ptxd_install_file "${location}" "${name}" "${uid}" "${gid}" "${mode}"
+ ;;
+ *)
+ ptxd_install_alternative "/${location}" "${name}" "${uid}" "${gid}" "${mode}"
+ ;;
+ esac
+ ;;
+
+ "dir")
+ local name="$1"
+ local mode="$2"
+ local uid="$3"
+ local gid="$4"
+
+ ptxd_install_dir "${name}" "${uid}" "${gid}" "${mode}"
+ ;;
+
+ "nod")
+ local name="$1"
+ local mode="$2"
+ local uid="$3"
+ local gid="$4"
+ local dev_type="$5"
+ local maj="$6"
+ local min="$7"
+
+ ptxd_install_node "${name}" "${uid}" "${gid}" "${mode}" "${dev_type}" "${maj}" "${min}"
+ ;;
+
+ "slink")
+ local name="$1"
+ local target="$2"
+ local mode="$3"
+ local uid="$4"
+ local gid="$5"
+
+ ptxd_install_link "${name}" "${target}" "${uid}" "${gid}"
+ ;;
+
+ "pipe"|"sock")
+ ptxd_install_error "${type} not supported: ${type} ${args}"
+ ;;
+
+ \#*|"")
+ ;;
+ *)
+ ptxd_install_error "Unknown type ${type}"
+ ;;
+ esac
+ done < "${specfile}"
+}
+export -f ptxd_install_spec
+
+ptxd_install_package() {
+ for dir in "${pkg_pkg_dir}/"{,usr/}{bin,sbin,libexec}; do
+ find "${dir}" \( -type f -o -type l \) \
+ -executable 2>/dev/null | while read file; do
+ ptxd_install_generic - "${file#${pkg_pkg_dir}}" ||
+ ptxd_install_error "install_package failed!"
+ done
+ done
+
+ for dir in "${pkg_pkg_dir}/"{,usr/}lib; do
+ find "${dir}" \( -type f -o -type l \) \
+ -a -name "*.so*" 2>/dev/null | while read file; do
+ ptxd_install_generic - "${file#${pkg_pkg_dir}}" ||
+ ptxd_install_error "install_package failed!"
+ done
+ done
+}
+export -f ptxd_install_package
+
+ptxd_install_shared() {
+ local src="$1"
+ local dst="$2"
+ local usr="$3"
+ local grp="$4"
+ local mod="$5"
+ local filename="$(basename "${src}")"
+
+ ptxd_install_file "${src}" "${dst}/${filename}" "${usr}" "${grp}" "${mod}" &&
+
+ find "$(dirname "${src}")" -type l | while read file; do
+ if [ "$(readlink "${file}")" = "${filename}" ]; then
+ local link="${dst}/$(basename "${file}")"
+ ptxd_install_ln "${filename}" "${link}" "${usr}" "${grp}" || return
+ fi
+ done
+}
+export -f ptxd_install_shared
+
+ptxd_install_lib() {
+ local lib="$1"
+ shift
+
+ local file="$(for dir in "${pkg_pkg_dir}/"{,usr/}lib; do
+ find "${dir}" -type f -name "${lib}.so*"; done 2>/dev/null)"
+ [ -f "${file}" ] &&
+
+ local dst="$(dirname "${file#${pkg_pkg_dir}}")" &&
+ ptxd_install_shared "${file}" "${dst}" "${@}" ||
+ ptxd_install_error "ptxd_install_lib failed!"
+}
+export -f ptxd_install_lib
+
+ptxd_make_xpkg_pkg() {
+ local pkg_xpkg_tmp="$1"
+ local pkg_xpkg_cmds="$2"
+ local pkg_xpkg_perms="$3"
+
+ . "${pkg_xpkg_cmds}"
+}
+export -f ptxd_make_xpkg_pkg
diff --git a/scripts/libptxdist.sh b/scripts/libptxdist.sh
index 7c3ccd804..1f9a13699 100644
--- a/scripts/libptxdist.sh
+++ b/scripts/libptxdist.sh
@@ -248,7 +248,7 @@ ptxd_kconfig() {
;;
*)
echo
- echo "${PROMPT}error: invalid use of '${FUNCNAME} ${@}'"
+ echo "${PTXDIST_LOG_PROMPT}error: invalid use of '${FUNCNAME} ${@}'"
echo
exit 1
;;
@@ -309,7 +309,7 @@ ptxd_kconfig() {
;;
*)
echo
- echo "${PROMPT}error: invalid use of '${FUNCNAME} ${@}'"
+ echo "${PTXDIST_LOG_PROMPT}error: invalid use of '${FUNCNAME} ${@}'"
echo
exit 1
;;
@@ -515,23 +515,41 @@ ptxd_debug "Debugging is enabled - Turn off with PTX_DEBUG=false"
# $1: error message
# $2: optional exit value (1 is default)
#
-# ${PREFIX}: to be printed before message
+# ${PTXDIST_LOG_PROMPT}: to be printed before message
#
ptxd_bailout() {
- echo "${PREFIX}error: $1" >&2
+ echo "${PTXDIST_LOG_PROMPT}error: $1" >&2
exit ${2:-1}
}
export -f ptxd_bailout
#
+# print out error message
+# if PTXDIST_PEDANTIC is true exit with status 1
+#
+# $1: error message
+# $2: optional exit value (1 is default)
+#
+# ${PTXDIST_LOG_PROMPT}: to be printed before message
+#
+ptxd_pedantic() {
+ echo "${PTXDIST_LOG_PROMPT}error: $1" >&2
+ if [ "$PTXDIST_PEDANTIC" = "true" ]; then
+ exit ${2:-1}
+ fi
+}
+export -f ptxd_pedantic
+
+
+#
# print out warning message
#
# $1: warning message
-# ${PREFIX}: to be printed before message
+# ${PTXDIST_LOG_PROMPT}: to be printed before message
#
ptxd_warning() {
- echo "${PREFIX}warning: $1" >&2
+ echo "${PTXDIST_LOG_PROMPT}warning: $1" >&2
}
export -f ptxd_warning
@@ -630,98 +648,3 @@ ptxd_ipkg_rev_smaller() {
ptxd_error "packets $1 and $2 have the same revision"
}
-
-
-
-#
-# create generic option parser
-# <stdin> --> Option List:
-# SYMBOL NAME HELPTEXT
-#
-# proof of concept / test implementation
-# FIXME: This should be read and written
-# without tmpfiles and it is nasty anyway ;-)
-#
-# Use at your own risk
-
-ptxd_generic_option_parser(){
-TMPDIR=`mktemp -d /tmp/ptxdist.XXXXXX` || exit 1
-INFILE=$TMPDIR/infile
-OUTFILE=$TMPDIR/outfile
-while read line ; do
- echo $line >> $INFILE
-done
-cat << EOF > $OUTFILE
-
-check_argument(){
-case "\$1" in
- --*|"")
- ptxd_debug "missing argument"
- return 1
- ;;
- [[:alnum:]/]*)
- return 0
- ;;
-esac
-}
-
-usage() {
- echo
- [ -n "\$1" ] && echo -e "\${PREFIX} error: \$1\n"
- echo "$PROGRAM_DESCRIPTION"
- echo
- echo "usage: \`basename \$0\` <args>"
- echo
- echo " Arguments:"
- echo
-EOF
-while read SYMBOL OPTION DESCRIPTION ; do
-cat << EOF >> $OUTFILE
- echo -e " --$OPTION\\t $DESCRIPTION"
-EOF
-done < $INFILE
-cat << EOF >> $OUTFILE
- echo
- echo " \`basename \$0\` returns with an exit status != 0 if something failed."
- echo
- exit 0
-}
-
-#
-# Option parser
-#
-# FIXME: rsc wants to reimplement this with getopt
-#
-invoke_parser(){
-while [ \$# -gt 0 ]; do
- case "\$1" in
-
- --help) usage ;;
-EOF
-while read SYMBOL OPTION DESCRIPTION ; do
-cat << EOF >> $OUTFILE
- --$OPTION)
- check_argument \$2
- if [ "\$?" = "0" ] ; then
- $SYMBOL="\$2";
- shift 2 ;
- else
- ptxd_debug "skipping option \$1";
- shift 1 ;
- fi
- ;;
-EOF
-done < $INFILE
-cat << EOF >> $OUTFILE
- *)
- usage "unknown option \$1"
- ;;
- esac
-done
-}
-# cleanup
-rm -f $INFILE $OUTFILE || exit 1
-rmdir $TMPDIR || exit 1
-EOF
-echo "$OUTFILE"
-}
diff --git a/scripts/make_archive.sh b/scripts/make_archive.sh
deleted file mode 100755
index dde33b195..000000000
--- a/scripts/make_archive.sh
+++ /dev/null
@@ -1,179 +0,0 @@
-#!/bin/bash
-# b.buerger@pengutronix.de, Wed Feb 1 07:44:35 UTC 2006
-PROGRAM_DESCRIPTION="Create Release Archives / Tarballs"
-
-# Source generic ptxdist shell functions:
-[ -e "$(dirname $0)/libptxdist.sh" ] && . $(dirname $0)/libptxdist.sh
-#
-# DEFAULTS:
-#
-TOPDIR=$(pwd)
-BASE="$(cd $TOPDIR ; cd .. ; pwd)"
-ARCHPATH="$TOPDIR/.."
-PROJECTSPATH="$TOPDIR/local_projects"
-ACTION=create
-RELEASE="undefined"
-TAR="tar"
-
-#
-# Parser (fuzzy testimplementation, proof of concept)
-#
-# <SYMBOL> <LONGOPTION> <HELPTEXT>
-source $(cat << EOF | ptxd_generic_option_parser
-ACTION action create | check -> Action (Default: create)
-TOPDIR topdir <dir> -> PTXDIST TOPDIR (Default: $TOPDIR)
-RELEASE release <string> -> PTXDIST Release Name (Default: from Makefile)
-ARCHPATH archpath <path> -> Where to put the Archives (Default: $ARCHPATH)
-PROJECTSPATH projects <path> -> Path to local_projects (Default: $PROJECTS)
-EOF
-)
-invoke_parser $@
-
-#
-# Variable Defonitions
-#
-BASE=$TOPDIR/../
-LOCKFILE="$BASE/.make_archive.lock"
-
-#
-# sanity checks
-#
-
-[ -e "$LOCKFILE" ] && ptxd_exit "Topdir is locked ($(cat $LOCKFILE))" 1
-[ -d "$TOPDIR" ] || ptxd_exit "invalid --topdir ($TOPDIR)" 1
-[ -d "$BASE" ] || ptxd_exit "invalid base directory ($BASE)" 1
-[ -d "$ARCHPATH" ] || ptxd_exit "invalid --arch-path ($ARCHPATH)" 1
-[ -d "$PROJECTSPATH/" ] && PROJECTSPATH=$(cd $PROJECTSPATH; pwd)
-
-ARCHPATH="$(cd $ARCHPATH ; pwd)"
-TOPDIR="$(cd $TOPDIR ; pwd)"
-BASE="$(cd $TOPDIR ; cd .. ; pwd)"
-
-if [ "$RELEASE" == "undefined" ] ; then
-[ -e "$TOPDIR/Makefile" ] || ptxd_exit "could not determine release tag" 1
-RELEASE=$(export $(egrep \
- "^PROJECT[[:blank:]]|^VERSION[[:blank:]]|^PATCHLEVEL[[:blank:]]|^SUBLEVEL[[:blank:]]|^EXTRAVERSION[[:blank:]]" \
- $TOPDIR/Makefile | sed s/'[\t ]*:=[\t ]*'/'='/g); \
- echo "$PROJECT-$VERSION.$PATCHLEVEL.$SUBLEVEL$EXTRAVERSION" \
- )
-fi
-[ -z "$RELEASE" ] && ptxd_exit "RELEASE Version is empty" 1
-
-ARCHIVE_DIST=$ARCHPATH/$RELEASE.tgz
-ARCHIVE_PATCHES=$ARCHPATH/$RELEASE-patches.tgz
-
-#
-# functions
-#
-
-#
-info(){
-echo "RELEASE Version ............. $RELEASE"
-echo "TOPDIR ..................... $TOPDIR"
-echo "BASE ........................ $BASE"
-echo "ARCHPATH .................... $ARCHPATH"
-echo "PROJECTSPATH ................ $PROJECTSPATH"
-echo "Please be patient ..."
-}
-
-goodbye(){
-echo
-echo "Your Package Archives:"
-ls -la $ARCHPATH/$RELEASE*.tgz
-echo
-echo "Have a nice day :-)"
-}
-
-before_package(){
-ptxd_debug "-- Remove old Archives --"
-[ -e "$ARCHIVE_DIST" ] && rm -vf $ARCHIVE_DIST
-[ -e "$ARCHIVE_PATCHES" ] && rm -vf $ARCHIVE_PATCHES
-ptxd_debug "-- Prepare Packaging --"
-date > $LOCKFILE
-TMPDIR=`mktemp -d /tmp/ptxdist.XXXXXX` || exit 1
-cd $BASE || ptxd_exit "Could not enter $BASE" 1
-
-ptxd_debug "copy content to release directory $TMPDIR"
-ptxd_debug "$(mkdir $TMPDIR/$RELEASE 2>&1 || ptxd_exit "Could not create temporary RELEASE directory" 1)"
-$TAR -C $TOPDIR -cf - \
- --exclude .svn \
- --exclude local_projects \
- --exclude state \
- . | $TAR -C $TMPDIR/$RELEASE/ -xf -
-if [ -d "$PROJECTSPATH" ] ; then
- ptxd_debug "$(mkdir -v $TMPDIR/$RELEASE/local_projects 2>&1 || ptxd_exit "Could not create temporary local_projects dir" 1)"
- $TAR -C $PROJECTSPATH -cf - --exclude .svn . | $TAR -C $TMPDIR/$RELEASE/local_projects/ -xf -
-fi
-}
-
-package(){
-ptxd_debug "-- Create Patch Archive from $TMPDIR/$RELEASE/patches/ --"
-echo "packaging $ARCHIVE_PATCHES"
-tar -C $TMPDIR -zcvf $ARCHIVE_PATCHES \
- --exclude .svn \
- $RELEASE/patches/ \
- 2>&1 > $ARCHPATH/logfile.patches_package
-
-ptxd_debug "-- Create Main Source Archive from $TMPDIR/$RELEASE/ --"
-echo "packaging $ARCHIVE_DIST"
-tar -C $TMPDIR -zcvf $ARCHIVE_DIST \
- --exclude .svn \
- --exclude $RELEASE/patches \
- --exclude $RELEASE/local_projects \
- $RELEASE/ \
- 2>&1 > $ARCHPATH/logfile.release_package
-
-ptxd_debug "-- Create Projects Source Archives from $TMPDIR/$RELEASE/local_projects/ --"
-for file in $TMPDIR/$RELEASE/local_projects/*/*.ptxconfig; do
- if [ -e "$file" ]; then
- PROJECT_NAME=$(egrep "^PTXCONF_PROJECT=" $file | sed -e s/.*=//g -e s/\"//g )
- ptxd_debug "PROJECT_NAME is $PROJECT_NAME"
- PROJECT_VERSION=$(egrep "^PTXCONF_PROJECT_VERSION=" $file | sed -e s/.*=//g -e s/\"//g )
- ptxd_debug "PROJECT_VERSION is $PROJECT_VERSION"
- PROJECT_DIR=$(basename $(dirname $file))
- ptxd_debug "PROJECT_DIR is $PROJECT_DIR"
- ARCHIVE_PROJECT="$ARCHPATH/$RELEASE-${PROJECT_NAME}${PROJECT_VERSION}.tgz"
- [ -e "$ARCHIVE_PROJECT" ] && rm -vf $ARCHIVE_PROJECT
- echo "packaging local project $ARCHIVE_PROJECT"
- tar -C $TMPDIR -zcvf $ARCHIVE_PROJECT \
- --exclude .svn \
- $RELEASE/local_projects/$PROJECT_DIR/ \
- 2>&1 > $ARCHPATH/logfile.${PROJECT_NAME}${PROJECT_VERSION}_package
- else
- echo "skipping local projects - none found"
- echo "You might consider the --projects=<path of the local_projects directory> switch"
- [ -d "$TOPDIR/local_projects/" ] && echo "e.g. $0 $@ --projects $TOPDIR/local_projects"
- fi
-done
-}
-
-after_package(){
-cd $BASE || ptxd_exit "Could not enter $BASE" 1
-ptxd_debug "-- Cleaning up after Packaging --"
-ptxd_debug "$(rm -rvf $TMPDIR)"
-ptxd_debug "$(rm -vf $LOCKFILE)"
-}
-
-info
-
-#
-# argument handling
-#
-case $ACTION in
- create)
- before_package
- package
- after_package
- ;;
- check)
- echo "Not yet implemented"
- ;;
- *)
- ptxd_exit "Sorry, unknown --action specified: $ACTION" 1
- ;;
-esac
-
-goodbye
-
-# vim: syntax=sh
-# vim: tabstop=4