Project import
diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..625c317 --- /dev/null +++ b/Makefile
@@ -0,0 +1,127 @@ +# +# Copyright (c) 2010-2011 Nest, Inc. +# All rights reserved. +# +# This document is the property of Nest. It is considered +# confidential and proprietary information. +# +# This document may not be reproduced or transmitted in any form, +# in whole or in part, without the express written permission of +# Nest. +# +# Description: +# This file is for the Linux process utilities, procps. These +# utilities provide both command line and full-screen information +# about the Linux process table and the processes within it. +# + + +include pre.mak + +PackageName := procps + +PackageExtension := tar.gz +PackageSeparator := - + +PackagePatchArgs := -p1 + +PackageArchive := $(PackageName).$(PackageExtension) +PackageSourceDir := $(PackageName)$(PackageSeparator)$(PackageVersion) + +PackageBuildMakefile = $(call GenerateBuildPaths,Makefile) + +LicenseSourceFiles := COPYING COPYING.LIB +LicenseSourcePaths := $(addprefix $(PackageSourceDir)/,$(LicenseSourceFiles)) + +CleanPaths += $(PackageLicenseFile) + +SOURCEDIRS = $(PackageSourceDir) +$(PackageSourceDir)_RULE_TARGET = $(BuildDirectory)/configure + +all: $(PackageDefaultGoal) + +# Generate the package license contents. + +$(LicenseSourcePaths): $(BuildDirectory)/source + +$(PackageLicenseFile): $(LicenseSourcePaths) + $(Verbose)for file in $(LicenseSourcePaths); do \ + echo "Concatenating \"$${file}\"..."; \ + cat $${file} >> $@; \ + done + $(Verbose)touch $@ + +# Extract the source from the archive and apply patches, if any. + +$(PackageSourceDir): $(PackageArchive) $(PackagePatchPaths) + $(expand-and-patch-package) + +# Prepare the sources. + +$(BuildDirectory)/source: | $(PackageSourceDir) + $(Verbose)touch $@ + +# Patch the sources, if necessary. + +$(BuildDirectory)/patch: $(BuildDirectory)/source + $(Verbose)touch $@ + +# Generate the package build makefile. +# Configure the source for building. + +$(BuildDirectory)/configure: $(BuildDirectory)/source | $(PackageSourceDir) $(BuildDirectory) + $(call create-links,$(CURDIR)/$(PackageSourceDir),$(BuildDirectory)) + $(Verbose)touch $@ + +# Build the source. +# +# We have to unset MAKEFLAGS since they confuse the package build otherwise. + +$(BuildDirectory)/build: $(BuildDirectory)/configure | $(BuildDirectory) + $(Verbose)unset MAKEFLAGS && \ + $(MAKE) $(JOBSFLAG) -C $(BuildDirectory) \ + CC="$(CC) $(CPPOPTFLAGS)" CXX="$(CXX) $(CPPOPTFLAGS)" AR=$(AR) NM=$(NM) RANLIB=$(RANLIB) STRIP=$(STRIP) \ + CPPFLAGS="$(call ToolGenerateIncludeArgument,$(LinuxIncludePath)) \ + $(call ToolGenerateIncludeArgument,$(NCursesIncludePath))" \ + LDFLAGS="$(call GenerateLibraryPathArgument,$(NCursesLibraryPath))" \ + all + $(Verbose)touch $@ + +# Stage the build to a temporary installation area. +# +# We have to unset MAKEFLAGS since they confuse the package build otherwise. +# +# Also, override both install and ldconfig. We aren't running install +# for a native host and we aren't running as super user, so the +# default actions for those won't otherwise work. + +.PHONY: stage +stage: $(BuildDirectory)/stage-default $(BuildDirectory)/stage-headers + +$(BuildDirectory)/stage-default: $(BuildDirectory)/build | $(ResultDirectory) + $(Verbose)unset MAKEFLAGS && \ + $(MAKE) $(JOBSFLAG) -C $(BuildDirectory) \ + DESTDIR=$(ResultDirectory) \ + install="$(shell which install) -D" \ + ldconfig="$(shell which true)" \ + m64=-m32 \ + lib64=lib \ + install + $(Verbose)touch $@ + +ResultHeaderDir = $(ResultDirectory)/usr/include/proc +SourceHeaderPaths = $(wildcard $(BuildDirectory)/proc/*.h) + +$(ResultHeaderDir): + $(create-directory) + +$(BuildDirectory)/stage-headers: $(BuildDirectory)/build | $(ResultHeaderDir) + install --mode=0664 $(SourceHeaderPaths) $(ResultHeaderDir) + $(Verbose)touch $@ + +clean: + $(Verbose)$(RM) $(RMFLAGS) -r $(PackageSourceDir) + $(Verbose)$(RM) $(RMFLAGS) -r $(BuildDirectory) + $(Verbose)$(RM) $(RMFLAGS) -r $(ResultDirectory) + +include post.mak
diff --git a/procps.patches/procps-50.description b/procps.patches/procps-50.description new file mode 100644 index 0000000..4438692 --- /dev/null +++ b/procps.patches/procps-50.description
@@ -0,0 +1,2 @@ +This patch ensures that installed binaries are user-writable so that +they may be stripped.
diff --git a/procps.patches/procps-50.patch b/procps.patches/procps-50.patch new file mode 100644 index 0000000..e00b5a9 --- /dev/null +++ b/procps.patches/procps-50.patch
@@ -0,0 +1,36 @@ +diff -aruN a/Makefile b/Makefile +--- a/Makefile 2009-05-10 11:50:48.000000000 -0700 ++++ b/Makefile 2011-03-01 09:08:47.354663539 -0800 +@@ -222,7 +222,7 @@ + ###### install + + $(BINFILES) : all +- $(install) --mode a=rx $(notdir $@) $@ ++ $(install) --mode 775 $(notdir $@) $@ + + $(MANFILES) : all + $(install) --mode a=r $(notdir $@) $@ +diff -aruN a/proc/module.mk b/proc/module.mk +--- a/proc/module.mk 2004-09-23 06:10:42.000000000 -0700 ++++ b/proc/module.mk 2011-03-01 09:06:01.843034588 -0800 +@@ -96,7 +96,7 @@ + #################### install rules ########################### + + $(lib)$(SOFILE) : proc/$(SONAME) +- $(install) --mode a=rx $< $@ ++ $(install) --mode 775 $< $@ + + ifneq ($(SOLINK),$(SOFILE)) + .PHONY: $(lib)$(SOLINK) +diff -aruN a/ps/module.mk b/ps/module.mk +--- a/ps/module.mk 2005-10-29 20:19:46.000000000 -0700 ++++ b/ps/module.mk 2011-03-01 09:06:15.074510652 -0800 +@@ -33,7 +33,7 @@ + + + $(bin)ps: ps/ps +- $(install) --mode a=rx $< $@ ++ $(install) --mode 775 $< $@ + + $(man1)ps.1 : ps/ps.1 + $(install) --mode a=r $< $@
diff --git a/procps.patches/procps-51.description b/procps.patches/procps-51.description new file mode 100644 index 0000000..b2efd7f --- /dev/null +++ b/procps.patches/procps-51.description
@@ -0,0 +1 @@ +This patch fixes the stdlib name conflicts issue that happens for libc6-dev versions beyond 2.17.93, which was patched by https://gitorious.org/procps/procps/commit/24f1fbd9d051353dd8ebde048f1903d68834af74.patch . We couldn't apply that patch to our source directly, so it has been adapted.
diff --git a/procps.patches/procps-51.patch b/procps.patches/procps-51.patch new file mode 100644 index 0000000..f6b5cc5 --- /dev/null +++ b/procps.patches/procps-51.patch
@@ -0,0 +1,415 @@ +diff -Naur a/top.c b/top.c +--- a/top.c 2007-05-28 09:04:00.000000000 -0700 ++++ b/top.c 2014-09-04 13:24:59.862877761 -0700 +@@ -184,19 +184,19 @@ + * 2 columns each. + */ + +-SCB_NUMx(P_PID, XXXID) +-SCB_NUMx(P_PPD, ppid) +-SCB_STRx(P_URR, ruser) +-SCB_NUMx(P_UID, euid) +-SCB_STRx(P_URE, euser) +-SCB_STRx(P_GRP, egroup) +-SCB_NUMx(P_TTY, tty) +-SCB_NUMx(P_PRI, priority) +-SCB_NUMx(P_NCE, nice) +-SCB_NUMx(P_CPN, processor) +-SCB_NUM1(P_CPU, pcpu) +- // also serves P_TM2 ! +-static int sort_P_TME (const proc_t **P, const proc_t **Q) ++SCB_NUMx(EU_PID, XXXID) ++SCB_NUMx(EU_PPD, ppid) ++SCB_STRx(EU_URR, ruser) ++SCB_NUMx(EU_UID, euid) ++SCB_STRx(EU_URE, euser) ++SCB_STRx(EU_GRP, egroup) ++SCB_NUMx(EU_TTY, tty) ++SCB_NUMx(EU_PRI, priority) ++SCB_NUMx(EU_NCE, nice) ++SCB_NUMx(EU_CPN, processor) ++SCB_NUM1(EU_CPU, pcpu) ++ // also serves EU_TM2 ! ++static int sort_EU_TME (const proc_t **P, const proc_t **Q) + { + if (Frame_ctimes) { + if ( ((*P)->cutime + (*P)->cstime + (*P)->utime + (*P)->stime) +@@ -214,17 +214,17 @@ + return SORT_eq; + } + +-SCB_NUM1(P_VRT, size) +-SCB_NUM2(P_SWP, size, resident) +-SCB_NUM1(P_RES, resident) // also serves P_MEM ! +-SCB_NUM1(P_COD, trs) +-SCB_NUM1(P_DAT, drs) +-SCB_NUM1(P_SHR, share) +-SCB_NUM1(P_FLT, maj_flt) +-SCB_NUM1(P_DRT, dt) +-SCB_NUMx(P_STA, state) ++SCB_NUM1(EU_VRT, size) ++SCB_NUM2(EU_SWP, size, resident) ++SCB_NUM1(EU_RES, resident) // also serves EU_MEM ! ++SCB_NUM1(EU_COD, trs) ++SCB_NUM1(EU_DAT, drs) ++SCB_NUM1(EU_SHR, share) ++SCB_NUM1(EU_FLT, maj_flt) ++SCB_NUM1(EU_DRT, dt) ++SCB_NUMx(EU_STA, state) + +-static int sort_P_CMD (const proc_t **P, const proc_t **Q) ++static int sort_EU_CMD (const proc_t **P, const proc_t **Q) + { + /* if a process doesn't have a cmdline, we'll consider it a kernel thread + -- since displayed tasks are given special treatment, we must too */ +@@ -238,8 +238,8 @@ + return Frame_srtflg * strcmp((*Q)->cmd, (*P)->cmd); + } + +-SCB_NUM1(P_WCH, wchan) +-SCB_NUM1(P_FLG, flags) ++SCB_NUM1(EU_WCH, wchan) ++SCB_NUM1(EU_FLG, flags) + + /* ///////////////////////////////// special sort for prochlp() ! */ + static int sort_HST_t (const HST_t *P, const HST_t *Q) +@@ -562,7 +562,7 @@ + + // Show an error, but not right now. + // Due to the postponed opening of ksym, using open_psdb_message, +-// if P_WCH had been selected and the program is restarted, the ++// if EU_WCH had been selected and the program is restarted, the + // message would otherwise be displayed prematurely. + static void msg_save (const char *fmts, ...) __attribute__((format(printf,1,2))); + static void msg_save (const char *fmts, ...) +@@ -1213,7 +1213,7 @@ + #define L_DEFAULT PROC_FILLSTAT + + // a temporary macro, soon to be undef'd... +-#define SF(f) (QFP_t)sort_P_ ## f ++#define SF(f) (QFP_t)sort_EU_ ## f + + /* These are our gosh darn 'Fields' ! + They MUST be kept in sync with pflags !! +@@ -1222,9 +1222,9 @@ + a cast when/if displayed provides minimal width protection. */ + static FLD_t Fieldstab[] = { + /* .lflg anomolies: +- P_UID, L_NONE - natural outgrowth of 'stat()' in readproc (euid) +- P_CPU, L_stat - never filled by libproc, but requires times (pcpu) +- P_CMD, L_stat - may yet require L_CMDLINE in reframewins (cmd/cmdline) ++ EU_UID, L_NONE - natural outgrowth of 'stat()' in readproc (euid) ++ EU_CPU, L_stat - never filled by libproc, but requires times (pcpu) ++ EU_CMD, L_stat - may yet require L_CMDLINE in reframewins (cmd/cmdline) + L_EITHER - must L_status, else 64-bit math, __udivdi3 on 32-bit ! + keys head fmts width scale sort desc lflg + ------ ----------- ------- ------ ----- ----- ---------------------- -------- */ +@@ -1514,23 +1514,23 @@ + + case 'M': + c = 0; // for scoreboard +- rc->win[0].sortindx = P_MEM; ++ rc->win[0].sortindx = EU_MEM; + break; + case 'P': + c = 0; // for scoreboard +- rc->win[0].sortindx = P_CPU; ++ rc->win[0].sortindx = EU_CPU; + break; + case 'A': // supposed to be start_time + c = 0; // for scoreboard +- rc->win[0].sortindx = P_PID; ++ rc->win[0].sortindx = EU_PID; + break; + case 'T': + c = 0; // for scoreboard +- rc->win[0].sortindx = P_TM2; ++ rc->win[0].sortindx = EU_TM2; + break; + case 'N': + c = 0; // for scoreboard +- rc->win[0].sortindx = P_PID; ++ rc->win[0].sortindx = EU_PID; + break; + + default: +@@ -1626,19 +1626,19 @@ + + pcpu_max_value = 99.9; + +- Fieldstab[P_CPN].head = " P"; +- Fieldstab[P_CPN].fmts = " %1u"; ++ Fieldstab[EU_CPN].head = " P"; ++ Fieldstab[EU_CPN].fmts = " %1u"; + if(smp_num_cpus>9){ +- Fieldstab[P_CPN].head = " P"; +- Fieldstab[P_CPN].fmts = " %2u"; ++ Fieldstab[EU_CPN].head = " P"; ++ Fieldstab[EU_CPN].fmts = " %2u"; + } + if(smp_num_cpus>99){ +- Fieldstab[P_CPN].head = " P"; +- Fieldstab[P_CPN].fmts = " %3u"; ++ Fieldstab[EU_CPN].head = " P"; ++ Fieldstab[EU_CPN].fmts = " %3u"; + } + if(smp_num_cpus>999){ +- Fieldstab[P_CPN].head = " P"; +- Fieldstab[P_CPN].fmts = " %4u"; ++ Fieldstab[EU_CPN].head = " P"; ++ Fieldstab[EU_CPN].fmts = " %4u"; + } + + { +@@ -1646,10 +1646,10 @@ + unsigned pid_digits = get_pid_digits(); + if(pid_digits<4) pid_digits=4; + snprintf(pid_fmt, sizeof pid_fmt, " %%%uu", pid_digits); +- Fieldstab[P_PID].fmts = pid_fmt; +- Fieldstab[P_PID].head = " PID" + 10 - pid_digits; +- Fieldstab[P_PPD].fmts = pid_fmt; +- Fieldstab[P_PPD].head = " PPID" + 10 - pid_digits; ++ Fieldstab[EU_PID].fmts = pid_fmt; ++ Fieldstab[EU_PID].head = " PID" + 10 - pid_digits; ++ Fieldstab[EU_PPD].fmts = pid_fmt; ++ Fieldstab[EU_PPD].head = " PPID" + 10 - pid_digits; + } + } + +@@ -1786,7 +1786,7 @@ + if(Rc.mode_irixps && smp_num_cpus>1){ + // good for 100 CPUs per process + pcpu_max_value = 9999.0; +- Fieldstab[P_CPU].fmts = " %4.0f"; ++ Fieldstab[EU_CPU].fmts = " %4.0f"; + } + + // lastly, establish the true runtime secure mode and delay time +@@ -2135,13 +2135,13 @@ + } + + // establish the final maxpflgs and prepare to grow the command column +- // heading via maxcmdln - it may be a fib if P_CMD wasn't encountered, ++ // heading via maxcmdln - it may be a fib if EU_CMD wasn't encountered, + // but that's ok because it won't be displayed anyway + w->maxpflgs = i; +- w->maxcmdln = Screen_cols - (strlen(w->columnhdr) - strlen(Fieldstab[P_CMD].head)); ++ w->maxcmdln = Screen_cols - (strlen(w->columnhdr) - strlen(Fieldstab[EU_CMD].head)); + + // finally, we can build the true run-time columns header, format the +- // command column heading, if P_CMD is really being displayed, and ++ // command column heading, if EU_CMD is really being displayed, and + // rebuild the all-important PROC_FILLxxx flags that will be used + // until/if we're we're called again + *(s = w->columnhdr) = '\0'; +@@ -2149,9 +2149,9 @@ + for (i = 0; i < w->maxpflgs; i++) { + int advance = (i==0) && !Rc.mode_altscr; + h = Fieldstab[w->procflags[i]].head; +- if (P_WCH == w->procflags[i]) needpsdb = 1; +- if (P_CMD == w->procflags[i]) { +- s = scat(s, fmtmk(Fieldstab[P_CMD].fmts+advance, w->maxcmdln, w->maxcmdln, "COMMAND"/*h*/ )); ++ if (EU_WCH == w->procflags[i]) needpsdb = 1; ++ if (EU_CMD == w->procflags[i]) { ++ s = scat(s, fmtmk(Fieldstab[EU_CMD].fmts+advance, w->maxcmdln, w->maxcmdln, "COMMAND"/*h*/ )); + if (CHKw(w, Show_CMDLIN)) { + Frames_libflags |= L_CMDLINE; + // if (w->maxcmdln > Frames_maxcmdln) Frames_maxcmdln = w->maxcmdln; +@@ -2629,10 +2629,10 @@ + if(Rc.mode_irixps && smp_num_cpus>1){ + // good for 100 CPUs per process + pcpu_max_value = 9999.0; +- Fieldstab[P_CPU].fmts = " %4.0f"; ++ Fieldstab[EU_CPU].fmts = " %4.0f"; + } else { + pcpu_max_value = 99.9; +- Fieldstab[P_CPU].fmts = " %#4.1f"; ++ Fieldstab[EU_CPU].fmts = " %#4.1f"; + } + break; + +@@ -2836,8 +2836,8 @@ + const unsigned xkey; + const FLG_t sort; + } xtab[] = { +- { "Memory", 'M', P_MEM, }, { "Numerical", 'N', P_PID, }, +- { "CPU", 'P', P_CPU, }, { "Time", 'T', P_TM2 }, }; ++ { "Memory", 'M', EU_MEM, }, { "Numerical", 'N', EU_PID, }, ++ { "CPU", 'P', EU_CPU, }, { "Time", 'T', EU_TM2 }, }; + int i; + for (i = 0; i < MAXTBL(xtab); ++i) + if (c == xtab[i].xkey) { +@@ -3063,7 +3063,7 @@ + int advance = (x==0) && !Rc.mode_altscr; + + switch (i) { +- case P_CMD: ++ case EU_CMD: + { char tmp[ROWBUFSIZ]; + unsigned flags; + int maxcmd = q->maxcmdln; +@@ -3073,25 +3073,25 @@ + MKCOL(q->maxcmdln, q->maxcmdln, tmp); + } + break; +- case P_COD: ++ case EU_COD: + MKCOL(scale_num(PAGES_TO_KB(p->trs), w, s)); + break; +- case P_CPN: ++ case EU_CPN: + MKCOL((unsigned)p->processor); + break; +- case P_CPU: ++ case EU_CPU: + { float u = (float)p->pcpu * Frame_tscale; + if (u > pcpu_max_value) u = pcpu_max_value; + MKCOL(u); + } + break; +- case P_DAT: ++ case EU_DAT: + MKCOL(scale_num(PAGES_TO_KB(p->drs), w, s)); + break; +- case P_DRT: ++ case EU_DRT: + MKCOL(scale_num((unsigned)p->dt, w, s)); + break; +- case P_FLG: ++ case EU_FLG: + { char tmp[TNYBUFSIZ]; + snprintf(tmp, sizeof(tmp), f, (long)p->flags); + for (j = 0; tmp[j]; j++) if ('0' == tmp[j]) tmp[j] = '.'; +@@ -3099,70 +3099,70 @@ + MKCOL(""); + } + break; +- case P_FLT: ++ case EU_FLT: + MKCOL(scale_num(p->maj_flt, w, s)); + break; +- case P_GRP: ++ case EU_GRP: + MKCOL(p->egroup); + break; +- case P_MEM: ++ case EU_MEM: + MKCOL((float)PAGES_TO_KB(p->resident) * 100 / kb_main_total); + break; +- case P_NCE: ++ case EU_NCE: + MKCOL((int)p->nice); + break; +- case P_PID: ++ case EU_PID: + MKCOL((unsigned)p->XXXID); + break; +- case P_PPD: ++ case EU_PPD: + MKCOL((unsigned)p->ppid); + break; +- case P_PRI: ++ case EU_PRI: + if (unlikely(-99 > p->priority) || unlikely(999 < p->priority)) { + f = " RT"; + MKCOL(""); + } else + MKCOL((int)p->priority); + break; +- case P_RES: ++ case EU_RES: + MKCOL(scale_num(PAGES_TO_KB(p->resident), w, s)); + break; +- case P_SHR: ++ case EU_SHR: + MKCOL(scale_num(PAGES_TO_KB(p->share), w, s)); + break; +- case P_STA: ++ case EU_STA: + MKCOL(p->state); + break; +- case P_SWP: ++ case EU_SWP: + MKCOL(scale_num(PAGES_TO_KB(p->size - p->resident), w, s)); + break; +- case P_TME: +- case P_TM2: ++ case EU_TME: ++ case EU_TM2: + { TIC_t t = p->utime + p->stime; + if (CHKw(q, Show_CTIMES)) + t += (p->cutime + p->cstime); + MKCOL(scale_tics(t, w)); + } + break; +- case P_TTY: ++ case EU_TTY: + { char tmp[TNYBUFSIZ]; + dev_to_tty(tmp, (int)w, p->tty, p->XXXID, ABBREV_DEV); + MKCOL(tmp); + } + break; +- case P_UID: ++ case EU_UID: + MKCOL((unsigned)p->euid); + break; +- case P_URE: ++ case EU_URE: + MKCOL(p->euser); + break; +- case P_URR: ++ case EU_URR: + MKCOL(p->ruser); + break; +- case P_VRT: ++ case EU_VRT: + MKCOL(scale_num(PAGES_TO_KB(p->size), w, s)); + break; +- case P_WCH: ++ case EU_WCH: + if (No_ksyms) { + f = " %08lx "; + MKCOL((long)p->wchan); +diff -Naur a/top.h b/top.h +--- a/top.h 2006-06-24 23:41:48.000000000 -0700 ++++ b/top.h 2014-09-04 13:14:40.124239420 -0700 +@@ -245,12 +245,12 @@ + + // Flags for each possible field + enum pflag { +- P_PID, P_PPD, P_URR, P_UID, P_URE, P_GRP, P_TTY, +- P_PRI, P_NCE, +- P_CPN, P_CPU, P_TME, P_TM2, +- P_MEM, P_VRT, P_SWP, P_RES, P_COD, P_DAT, P_SHR, +- P_FLT, P_DRT, +- P_STA, P_CMD, P_WCH, P_FLG ++ EU_PID, EU_PPD, EU_URR, EU_UID, EU_URE, EU_GRP, EU_TTY, ++ EU_PRI, EU_NCE, ++ EU_CPN, EU_CPU, EU_TME, EU_TM2, ++ EU_MEM, EU_VRT, EU_SWP, EU_RES, EU_COD, EU_DAT, EU_SHR, ++ EU_FLT, EU_DRT, ++ EU_STA, EU_CMD, EU_WCH, EU_FLG + }; + + +@@ -362,16 +362,16 @@ + // The default values for the local config file + #define DEF_RCFILE { \ + 0, 1, DEF_DELAY, 0, { \ +- { P_CPU, DEF_WINFLGS, 0, \ ++ { EU_CPU, DEF_WINFLGS, 0, \ + COLOR_RED, COLOR_RED, COLOR_YELLOW, COLOR_RED, \ + "Def", DEF_FIELDS }, \ +- { P_PID, DEF_WINFLGS, 0, \ ++ { EU_PID, DEF_WINFLGS, 0, \ + COLOR_CYAN, COLOR_CYAN, COLOR_WHITE, COLOR_CYAN, \ + "Job", JOB_FIELDS }, \ +- { P_MEM, DEF_WINFLGS, 0, \ ++ { EU_MEM, DEF_WINFLGS, 0, \ + COLOR_MAGENTA, COLOR_MAGENTA, COLOR_BLUE, COLOR_MAGENTA, \ + "Mem", MEM_FIELDS }, \ +- { P_URE, DEF_WINFLGS, 0, \ ++ { EU_URE, DEF_WINFLGS, 0, \ + COLOR_YELLOW, COLOR_YELLOW, COLOR_GREEN, COLOR_YELLOW, \ + "Usr", USR_FIELDS } \ + } }
diff --git a/procps.patches/procps-52.description b/procps.patches/procps-52.description new file mode 100644 index 0000000..309973e --- /dev/null +++ b/procps.patches/procps-52.description
@@ -0,0 +1 @@ +This patch suppress a warning which is caused by a software bug. We should try to fix the bug after F1 build.
diff --git a/procps.patches/procps-52.patch b/procps.patches/procps-52.patch new file mode 100644 index 0000000..98aa386 --- /dev/null +++ b/procps.patches/procps-52.patch
@@ -0,0 +1,14 @@ +diff -aruN a/proc/sysinfo.c b/proc/sysinfo.c +--- a/proc/sysinfo.c 2008-03-24 12:33:43.000000000 +0800 ++++ b/proc/sysinfo.c 2014-11-12 17:25:46.302687988 +0800 +@@ -169,7 +169,9 @@ + /* If 32-bit or big-endian (not Alpha or ia64), assume HZ is 100. */ + Hertz = (sizeof(long)==sizeof(int) || htons(999)==999) ? 100UL : 1024UL; + #endif +- fprintf(stderr, "Unknown HZ value! (%d) Assume %Ld.\n", h, Hertz); ++ // There's a bug that causes this warning. We just comment it out ++ // for F1 build. ++ //fprintf(stderr, "Unknown HZ value! (%d) Assume %Ld.\n", h, Hertz); + } + } +
diff --git a/procps.patches/procps-53.description b/procps.patches/procps-53.description new file mode 100644 index 0000000..684a38e --- /dev/null +++ b/procps.patches/procps-53.description
@@ -0,0 +1,2 @@ +Fix for build error when using make 4.1. +http://lists.gnu.org/archive/html/ltib/2011-06/msg00043.html
diff --git a/procps.patches/procps-53.patch b/procps.patches/procps-53.patch new file mode 100644 index 0000000..b2b743a --- /dev/null +++ b/procps.patches/procps-53.patch
@@ -0,0 +1,12 @@ +diff -Naur a/Makefile b/Makefile +--- a/Makefile 2015-03-07 10:58:01.112684003 -0800 ++++ b/Makefile 2015-03-07 10:59:07.093374104 -0800 +@@ -174,7 +174,7 @@ + # want this rule first, use := on ALL, and ALL not filled in yet + all: do_all + +--include */module.mk ++-include proc/module.mk ps/module.mk + + do_all: $(ALL) +
diff --git a/procps.tar.gz b/procps.tar.gz new file mode 100644 index 0000000..18db26d --- /dev/null +++ b/procps.tar.gz Binary files differ
diff --git a/procps.url b/procps.url new file mode 100644 index 0000000..080480f --- /dev/null +++ b/procps.url
@@ -0,0 +1 @@ +http://procps.sourceforge.net/procps-3.2.8.tar.gz
diff --git a/procps.version b/procps.version new file mode 100644 index 0000000..f092941 --- /dev/null +++ b/procps.version
@@ -0,0 +1 @@ +3.2.8