From 4a357f29d3230cec668bdd39a5b03024856f5ad5604091d8fbaa91a1c4c9231d Mon Sep 17 00:00:00 2001 From: OBS User unknown Date: Mon, 15 Jan 2007 23:22:07 +0000 Subject: [PATCH] OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/libhugetlbfs?expand=0&rev=1 --- .gitattributes | 23 +++ .gitignore | 1 + get_release_number.sh | 2 + libhugetlbfs-1.0.1.tar.gz | 3 + libhugetlbfs.ABI-tag.patch | 118 ++++++++++++++ libhugetlbfs.LOGFILE.patch | 31 ++++ libhugetlbfs.changes | 67 ++++++++ libhugetlbfs.make_check.patch | 55 +++++++ libhugetlbfs.make_install.patch | 17 ++ libhugetlbfs.rchugetlbd | 270 ++++++++++++++++++++++++++++++++ libhugetlbfs.spec | 121 ++++++++++++++ libhugetlbfs.sysconfig.hugetlbd | 10 ++ ready | 0 13 files changed, 718 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 get_release_number.sh create mode 100644 libhugetlbfs-1.0.1.tar.gz create mode 100644 libhugetlbfs.ABI-tag.patch create mode 100644 libhugetlbfs.LOGFILE.patch create mode 100644 libhugetlbfs.changes create mode 100644 libhugetlbfs.make_check.patch create mode 100644 libhugetlbfs.make_install.patch create mode 100644 libhugetlbfs.rchugetlbd create mode 100644 libhugetlbfs.spec create mode 100644 libhugetlbfs.sysconfig.hugetlbd create mode 100644 ready diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/get_release_number.sh b/get_release_number.sh new file mode 100644 index 0000000..8181d08 --- /dev/null +++ b/get_release_number.sh @@ -0,0 +1,2 @@ +#! /bin/sh +env -i - TZ=GMT date +%Y%m%d%H%M diff --git a/libhugetlbfs-1.0.1.tar.gz b/libhugetlbfs-1.0.1.tar.gz new file mode 100644 index 0000000..525695e --- /dev/null +++ b/libhugetlbfs-1.0.1.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1f8465d930a751ce45cd5a0d4aa6db71e135276c144d360d68bddaae411fafb8 +size 63527 diff --git a/libhugetlbfs.ABI-tag.patch b/libhugetlbfs.ABI-tag.patch new file mode 100644 index 0000000..3b6264d --- /dev/null +++ b/libhugetlbfs.ABI-tag.patch @@ -0,0 +1,118 @@ + + ldscripts: Fix .note.SuSE and .note.ABI-tag sections + + Since we are explicitly placing things into output segments, we must include + placement information for .note.SuSE and .note.ABI-tag sections. Otherwise, + they can be incorrectly placed in the .interp segment, which makes an + un-runnable binary. + + tests: Fix zero_filesize_segment testcase + + This testcase is implemented as a linker script which can be "compiled" + like a program. As such, the caveats with .note.ABI-tag and .note.SuSE + in our other linker scripts apply here as well. Add explicit placement + of these sections so ld's implicit guessing doesn't get it wrong. + + Signed-off-by: Steve Fox + +--- + ldscripts/elf32ppclinux.xB | 2 +- + ldscripts/elf32ppclinux.xBDT | 2 +- + ldscripts/elf64ppc.xB | 2 +- + ldscripts/elf64ppc.xBDT | 2 +- + ldscripts/elf_x86_64.xB | 2 ++ + ldscripts/elf_x86_64.xBDT | 2 ++ + tests/zero_filesize_segment.ld | 2 ++ + 7 files changed, 10 insertions(+), 4 deletions(-) + +Index: libhugetlbfs-1.0.1/ldscripts/elf32ppclinux.xB +=================================================================== +--- libhugetlbfs-1.0.1.orig/ldscripts/elf32ppclinux.xB ++++ libhugetlbfs-1.0.1/ldscripts/elf32ppclinux.xB +@@ -21,7 +21,7 @@ SECTIONS + /* Read-only sections, merged into text segment: */ + __executable_start = 0x10000000; . = 0x10000000 + SIZEOF_HEADERS; + .interp : { *(.interp) } :text :interp +- .note.SuSE : { *(.note.ABI-tag) } :text :note ++ .note.SuSE : { *(.note.SuSE) } :text :note + .note.ABI-tag : { *(.note.ABI-tag) } :text :note + .hash : { *(.hash) } :text + .dynsym : { *(.dynsym) } :text +Index: libhugetlbfs-1.0.1/ldscripts/elf32ppclinux.xBDT +=================================================================== +--- libhugetlbfs-1.0.1.orig/ldscripts/elf32ppclinux.xBDT ++++ libhugetlbfs-1.0.1/ldscripts/elf32ppclinux.xBDT +@@ -20,7 +20,7 @@ SECTIONS + /* Read-only sections, merged into text segment: */ + __executable_start = 0x10000000; . = 0x10000000 + SIZEOF_HEADERS; + .interp : { *(.interp) } :htext :interp +- .note.SuSE : { *(.note.ABI-tag) } :htext :note ++ .note.SuSE : { *(.note.SuSE) } :htext :note + .note.ABI-tag : { *(.note.ABI-tag) } :htext :note + .hash : { *(.hash) } :htext + .dynsym : { *(.dynsym) } :htext +Index: libhugetlbfs-1.0.1/ldscripts/elf64ppc.xB +=================================================================== +--- libhugetlbfs-1.0.1.orig/ldscripts/elf64ppc.xB ++++ libhugetlbfs-1.0.1/ldscripts/elf64ppc.xB +@@ -20,7 +20,7 @@ SECTIONS + /* Read-only sections, merged into text segment: */ + __executable_start = 0x10000000; . = 0x10000000 + SIZEOF_HEADERS; + .interp : { *(.interp) } :text :interp +- .note.SuSE : { *(.note.ABI-tag) } :text :note ++ .note.SuSE : { *(.note.SuSE) } :text :note + .note.ABI-tag : { *(.note.ABI-tag) } :text :note + .hash : { *(.hash) } :text + .dynsym : { *(.dynsym) } +Index: libhugetlbfs-1.0.1/ldscripts/elf64ppc.xBDT +=================================================================== +--- libhugetlbfs-1.0.1.orig/ldscripts/elf64ppc.xBDT ++++ libhugetlbfs-1.0.1/ldscripts/elf64ppc.xBDT +@@ -19,7 +19,7 @@ SECTIONS + /* Read-only sections, merged into text segment: */ + __executable_start = 0x10000000; . = 0x10000000 + SIZEOF_HEADERS; + .interp : { *(.interp) } :interp :htext +- .note.SuSE : { *(.note.ABI-tag) } :htext :note ++ .note.SuSE : { *(.note.SuSE) } :htext :note + .note.ABI-tag : { *(.note.ABI-tag) } :htext :note + .hash : { *(.hash) } :htext + .dynsym : { *(.dynsym) } :htext +Index: libhugetlbfs-1.0.1/ldscripts/elf_x86_64.xB +=================================================================== +--- libhugetlbfs-1.0.1.orig/ldscripts/elf_x86_64.xB ++++ libhugetlbfs-1.0.1/ldscripts/elf_x86_64.xB +@@ -23,6 +23,8 @@ SECTIONS + /* Read-only sections, merged into text segment: */ + __executable_start = 0x400000; . = 0x400000 + SIZEOF_HEADERS; + .interp : { *(.interp) } :text :interp ++ .note.SuSE : { *(.note.SuSE) } :text :note ++ .note.ABI-tag : { *(.note.ABI-tag) } :text :note + .hash : { *(.hash) } :text + .dynsym : { *(.dynsym) } :text + .dynstr : { *(.dynstr) } :text +Index: libhugetlbfs-1.0.1/ldscripts/elf_x86_64.xBDT +=================================================================== +--- libhugetlbfs-1.0.1.orig/ldscripts/elf_x86_64.xBDT ++++ libhugetlbfs-1.0.1/ldscripts/elf_x86_64.xBDT +@@ -25,6 +25,8 @@ SECTIONS + __executable_start = 0x1000000; . = 0x1000000 + SIZEOF_HEADERS; + .interp : { *(.interp) } :interp :text + .hash : { *(.hash) } :text ++ .note.SuSE : { *(.note.SuSE) } :text :note ++ .note.ABI-tag : { *(.note.ABI-tag) } :text :note + .dynsym : { *(.dynsym) } :text + .dynstr : { *(.dynstr) } :text + .gnu.version : { *(.gnu.version) } :text +Index: libhugetlbfs-1.0.1/tests/zero_filesize_segment.ld +=================================================================== +--- libhugetlbfs-1.0.1.orig/tests/zero_filesize_segment.ld ++++ libhugetlbfs-1.0.1/tests/zero_filesize_segment.ld +@@ -12,6 +12,8 @@ PHDRS + SECTIONS + { + .interp : { } :interp :text ++ .note.ABI-tag : { *(.note.ABI-tag) } :text ++ .note.SuSE : { *(.note.SuSE) } :text + .hash : { } :text + .tdata : { } :data + .dynamic : { } :dynamic :data diff --git a/libhugetlbfs.LOGFILE.patch b/libhugetlbfs.LOGFILE.patch new file mode 100644 index 0000000..57a08fe --- /dev/null +++ b/libhugetlbfs.LOGFILE.patch @@ -0,0 +1,31 @@ +--- + HOWTO | 2 +- + hugetlbd.h | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +Index: libhugetlbfs-1.0.1/hugetlbd.h +=================================================================== +--- libhugetlbfs-1.0.1.orig/hugetlbd.h ++++ libhugetlbfs-1.0.1/hugetlbd.h +@@ -25,7 +25,7 @@ + #endif /* __LIBHUGETLBFS__ */ + + #define ID_KEY 0x56 +-#define LOGFILE "/tmp/hugetlbd.log" ++#define LOGFILE "/var/log/hugetlbd.log" + #define SOCKFILE "/var/run/libhugetlbfs-sock" + + /* +Index: libhugetlbfs-1.0.1/HOWTO +=================================================================== +--- libhugetlbfs-1.0.1.orig/HOWTO ++++ libhugetlbfs-1.0.1/HOWTO +@@ -332,7 +332,7 @@ First, a system-wide daemon must be star + (which will be installed into $PREFIX/sbin by make install) should be + run as root and will automatically spawn a child process to wait for + segment sharing into the background. The process will log any output +-requested to /tmp/hugetlbd.log. The complete usage for hugetlbd is: ++requested to /ver/log/hugetlbd.log. The complete usage for hugetlbd is: + + hugetlbd [-v] [-V verbosity] [-p timeout1] [-s timeout2] + -v: display this help and exit diff --git a/libhugetlbfs.changes b/libhugetlbfs.changes new file mode 100644 index 0000000..be5c390 --- /dev/null +++ b/libhugetlbfs.changes @@ -0,0 +1,67 @@ +------------------------------------------------------------------- +Sat Dec 9 09:08:53 CET 2006 - olh@suse.de + +- build with -g + make install should not depend on all + +------------------------------------------------------------------- +Fri Dec 8 16:20:25 CET 2006 - olh@suse.de + +- package testsuite, fix make check + +------------------------------------------------------------------- +Tue Dec 5 14:48:13 CET 2006 - olh@suse.de + +- add the hugetlbd (214426) + +------------------------------------------------------------------- +Sun Oct 29 10:02:15 CET 2006 - olh@suse.de + +- update to bugfix release 1.0.1 (214426) + * Always install linker scripts for all targets + * Error message updates + * Add documentation on HUGETLB_DEBUG + * Testcase updates + +------------------------------------------------------------------- +Thu Oct 5 13:40:17 CEST 2006 - olh@suse.de + +- update to final 1.0 + +------------------------------------------------------------------- +Tue Sep 19 12:57:06 CEST 2006 - olh@suse.de + +- update to 20060913 git state + docu updates + use library versioning + +------------------------------------------------------------------- +Wed Jul 19 18:01:55 CEST 2006 - olh@suse.de + +- update to 1.0-pre3 + +------------------------------------------------------------------- +Tue Apr 18 13:45:56 CEST 2006 - olh@suse.de + +- drop unneeded -packages from Buildrequires + +------------------------------------------------------------------- +Sat Apr 8 11:44:06 CEST 2006 - olh@suse.de + +- update to 1.0-pre2 (#142046 - LTC20562) + +------------------------------------------------------------------- +Tue Feb 21 21:09:06 CET 2006 - olh@suse.de + +- remove backup files + +------------------------------------------------------------------- +Tue Feb 21 18:34:41 CET 2006 - olh@suse.de + +- add linker scripts on ppc, ppc64, i386 and x86_64 + +------------------------------------------------------------------- +Thu Feb 9 13:33:32 CET 2006 - olh@suse.de + +- create package, version 1.0-pre1 (#142046 - LTC20562) + diff --git a/libhugetlbfs.make_check.patch b/libhugetlbfs.make_check.patch new file mode 100644 index 0000000..1b26653 --- /dev/null +++ b/libhugetlbfs.make_check.patch @@ -0,0 +1,55 @@ +--- + tests/Makefile | 4 ++++ + tests/run_tests.sh | 11 ++--------- + 2 files changed, 6 insertions(+), 9 deletions(-) + +Index: libhugetlbfs-1.0.1/tests/Makefile +=================================================================== +--- libhugetlbfs-1.0.1.orig/tests/Makefile ++++ libhugetlbfs-1.0.1/tests/Makefile +@@ -141,6 +141,7 @@ obj32/install: + $(INSTALL) -d $(DESTDIR)$(INST_TESTSDIR32)/obj32 + $(INSTALL) -m 755 $(TESTS:%=obj32/%) $(DESTDIR)$(INST_TESTSDIR32)/obj32 + $(INSTALL) -m 755 run_tests.sh $(DESTDIR)$(INST_TESTSDIR32) ++ sed -i -e 's@^#CD@cd $(INST_TESTSDIR32) ; pwd@' $(DESTDIR)$(INST_TESTSDIR32)/run_tests.sh + + obj64/install: + @$(VECHO) INSTALL64 $(INST_TESTSDIR64) +@@ -149,5 +150,8 @@ obj64/install: + $(INSTALL) -m 755 $(TESTS:%=obj64/%) $(DESTDIR)$(INST_TESTSDIR64)/obj64 + $(INSTALL) -m 755 $(TESTS_64:%=obj64/%) $(DESTDIR)$(INST_TESTSDIR64)/obj64 + $(INSTALL) -m 755 run_tests.sh $(DESTDIR)$(INST_TESTSDIR64) ++ sed -i -e 's@^#CD@cd $(INST_TESTSDIR64) ; pwd@' $(DESTDIR)$(INST_TESTSDIR64)/run_tests.sh + + install: $(OBJDIRS:%=%/install) ++ rm -fv $(DESTDIR)$(INST_TESTSDIR32)/obj32/zero_filesize_segment ++ rm -fv $(DESTDIR)$(INST_TESTSDIR64)/obj64/zero_filesize_segment +Index: libhugetlbfs-1.0.1/tests/run_tests.sh +=================================================================== +--- libhugetlbfs-1.0.1.orig/tests/run_tests.sh ++++ libhugetlbfs-1.0.1/tests/run_tests.sh +@@ -1,5 +1,7 @@ + #! /bin/sh + ++#CD ++ + export QUIET_TEST=1 + export HUGETLB_VERBOSE=2 + unset HUGETLB_ELF +@@ -129,16 +131,7 @@ functional_tests () { + elflink_test linkhuge + + # Sharing tests +- # stop all running instances for clean testing +- killall -INT hugetlbd +- # start the daemon in the bg +- PATH=../obj32:../obj64:$PATH hugetlbd +- # XXX: Wait for daemon to start +- sleep 5 + elfshare_test linkshare +- # stop our instance of the daemon +- killall -INT hugetlbd +- + # Accounting bug tests + # reset free hpages because sharing will have held some + # alternatively, use diff --git a/libhugetlbfs.make_install.patch b/libhugetlbfs.make_install.patch new file mode 100644 index 0000000..8b562bd --- /dev/null +++ b/libhugetlbfs.make_install.patch @@ -0,0 +1,17 @@ +--- + Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +Index: libhugetlbfs-1.0.1/Makefile +=================================================================== +--- libhugetlbfs-1.0.1.orig/Makefile ++++ libhugetlbfs-1.0.1/Makefile +@@ -213,7 +213,7 @@ objscript.%: % + @$(VECHO) OBJSCRIPT $* + sed "s!### SET DEFAULT LDSCRIPT PATH HERE ###!HUGETLB_LDSCRIPT_PATH=$(LDSCRIPTDIR)!" < $< > $@ + +-install: all $(OBJDIRS:%=%/install) $(INSTALL_OBJSCRIPT:%=objscript.%) ++install: $(OBJDIRS:%=%/install) $(INSTALL_OBJSCRIPT:%=objscript.%) + @$(VECHO) INSTALL + $(INSTALL) -d $(DESTDIR)$(LDSCRIPTDIR) + $(INSTALL) -m 644 $(INSTALL_LDSCRIPTS:%=ldscripts/%) $(DESTDIR)$(LDSCRIPTDIR) diff --git a/libhugetlbfs.rchugetlbd b/libhugetlbfs.rchugetlbd new file mode 100644 index 0000000..12e2461 --- /dev/null +++ b/libhugetlbfs.rchugetlbd @@ -0,0 +1,270 @@ +#!/bin/sh +# +# Template SUSE system startup script for example service/daemon hugetlbd +# Copyright (C) 1995--2005 Kurt Garloff, SUSE / Novell Inc. +# +# This library is free software; you can redistribute it and/or modify it +# under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation; either version 2.1 of the License, or (at +# your option) any later version. +# +# This library is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, +# USA. +# +# /etc/init.d/hugetlbd +# and its symbolic link +# /(usr/)sbin/rchugetlbd +# +# Template system startup script for some example service/daemon hugetlbd +# +# LSB compatible service control script; see http://www.linuxbase.org/spec/ +# +# Note: This template uses functions rc_XXX defined in /etc/rc.status on +# UnitedLinux/SUSE/Novell based Linux distributions. If you want to base your +# script on this template and ensure that it works on non UL based LSB +# compliant Linux distributions, you either have to provide the rc.status +# functions from UL or change the script to work without them. +# See skeleton.compat for a template that works with other distros as well. +# +### BEGIN INIT INFO +# Provides: hugetlbd +# Required-Start: +# Should-Start: $remote_fs +# Required-Stop: +# Should-Stop: +# Default-Start: 3 5 +# Default-Stop: +# Description: Start hugetlbd for applications that share hugepages +### END INIT INFO +# +# Any extensions to the keywords given above should be preceeded by +# X-VendorTag- (X-UnitedLinux- X-SuSE- for us) according to LSB. +# +# Notes on Required-Start/Should-Start: +# * There are two different issues that are solved by Required-Start +# and Should-Start +# (a) Hard dependencies: This is used by the runlevel editor to determine +# which services absolutely need to be started to make the start of +# this service make sense. Example: nfsserver should have +# Required-Start: $portmap +# Also, required services are started before the dependent ones. +# The runlevel editor will warn about such missing hard dependencies +# and suggest enabling. During system startup, you may expect an error, +# if the dependency is not fulfilled. +# (b) Specifying the init script ordering, not real (hard) dependencies. +# This is needed by insserv to determine which service should be +# started first (and at a later stage what services can be started +# in parallel). The tag Should-Start: is used for this. +# It tells, that if a service is available, it should be started +# before. If not, never mind. +# * When specifying hard dependencies or ordering requirements, you can +# use names of services (contents of their Provides: section) +# or pseudo names starting with a $. The following ones are available +# according to LSB (1.1): +# $local_fs all local file systems are mounted +# (most services should need this!) +# $remote_fs all remote file systems are mounted +# (note that /usr may be remote, so +# many services should Require this!) +# $syslog system logging facility up +# $network low level networking (eth card, ...) +# $named hostname resolution available +# $netdaemons all network daemons are running +# The $netdaemons pseudo service has been removed in LSB 1.2. +# For now, we still offer it for backward compatibility. +# These are new (LSB 1.2): +# $time the system time has been set correctly +# $portmap SunRPC portmapping service available +# UnitedLinux extensions: +# $ALL indicates that a script should be inserted +# at the end +# * The services specified in the stop tags +# (Required-Stop/Should-Stop) +# specify which services need to be still running when this service +# is shut down. Often the entries there are just copies or a subset +# from the respective start tag. +# * Should-Start/Stop are now part of LSB as of 2.0, +# formerly SUSE/Unitedlinux used X-UnitedLinux-Should-Start/-Stop. +# insserv does support both variants. +# * X-UnitedLinux-Default-Enabled: yes/no is used at installation time +# (%fillup_and_insserv macro in %post of many RPMs) to specify whether +# a startup script should default to be enabled after installation. +# It's not used by insserv. +# +# Note on runlevels: +# 0 - halt/poweroff 6 - reboot +# 1 - single user 2 - multiuser without network exported +# 3 - multiuser w/ network (text mode) 5 - multiuser w/ network and X11 (xdm) +# +# Note on script names: +# http://www.linuxbase.org/spec/refspecs/LSB_1.3.0/gLSB/gLSB/scrptnames.html +# A registry has been set up to manage the init script namespace. +# http://www.lanana.org/ +# Please use the names already registered or register one or use a +# vendor prefix. + + +# Check for missing binaries (stale symlinks should not happen) +# Note: Special treatment of stop for LSB conformance +HUGETLBD_BIN=/usr/sbin/hugetlbd +test -x $HUGETLBD_BIN || { echo "$HUGETLBD_BIN not installed"; + if [ "$1" = "stop" ]; then exit 0; + else exit 5; fi; } + +# Check for existence of needed config file and read it +HUGETLBD_CONFIG=/etc/sysconfig/hugetlbd +test -r $HUGETLBD_CONFIG || { echo "$HUGETLBD_CONFIG not existing"; + if [ "$1" = "stop" ]; then exit 0; + else exit 6; fi; } + +# Read config +. $HUGETLBD_CONFIG + +# Source LSB init functions +# providing start_daemon, killproc, pidofproc, +# log_success_msg, log_failure_msg and log_warning_msg. +# This is currently not used by UnitedLinux based distributions and +# not needed for init scripts for UnitedLinux only. If it is used, +# the functions from rc.status should not be sourced or used. +#. /lib/lsb/init-functions + +# Shell functions sourced from /etc/rc.status: +# rc_check check and set local and overall rc status +# rc_status check and set local and overall rc status +# rc_status -v be verbose in local rc status and clear it afterwards +# rc_status -v -r ditto and clear both the local and overall rc status +# rc_status -s display "skipped" and exit with status 3 +# rc_status -u display "unused" and exit with status 3 +# rc_failed set local and overall rc status to failed +# rc_failed set local and overall rc status to +# rc_reset clear both the local and overall rc status +# rc_exit exit appropriate to overall rc status +# rc_active checks whether a service is activated by symlinks +. /etc/rc.status + +# Reset status of this service +rc_reset + +# Return values acc. to LSB for all commands but status: +# 0 - success +# 1 - generic or unspecified error +# 2 - invalid or excess argument(s) +# 3 - unimplemented feature (e.g. "reload") +# 4 - user had insufficient privileges +# 5 - program is not installed +# 6 - program is not configured +# 7 - program is not running +# 8--199 - reserved (8--99 LSB, 100--149 distrib, 150--199 appl) +# +# Note that starting an already running service, stopping +# or restarting a not-running service as well as the restart +# with force-reload (in case signaling is not supported) are +# considered a success. + +case "$1" in + start) + echo -n "Starting hugetlbd " + ## Start daemon with startproc(8). If this fails + ## the return value is set appropriately by startproc. + /sbin/startproc $HUGETLBD_BIN $HUGETLBD_OPTIONS + + # Remember status and be verbose + rc_status -v + ;; + stop) + echo -n "Shutting down hugetlbd " + ## Stop daemon with killproc(8) and if this fails + ## killproc sets the return value according to LSB. + + /sbin/killproc -TERM $HUGETLBD_BIN + + # Remember status and be verbose + rc_status -v + ;; + try-restart|condrestart) + ## Do a restart only if the service was active before. + ## Note: try-restart is now part of LSB (as of 1.9). + ## RH has a similar command named condrestart. + if test "$1" = "condrestart"; then + echo "${attn} Use try-restart ${done}(LSB)${attn} rather than condrestart ${warn}(RH)${norm}" + fi + $0 status + if test $? = 0; then + $0 restart + else + rc_reset # Not running is not a failure. + fi + # Remember status and be quiet + rc_status + ;; + restart) + ## Stop the service and regardless of whether it was + ## running or not, start it again. + $0 stop + $0 start + + # Remember status and be quiet + rc_status + ;; + force-reload) + ## Signal the daemon to reload its config. Most daemons + ## do this on signal 1 (SIGHUP). + ## If it does not support it, restart the service if it + ## is running. + + echo -n "Reload service hugetlbd " + ## if it supports it: + /sbin/killproc -HUP $HUGETLBD_BIN + #touch /var/run/hugetlbd.pid + rc_status -v + + ## Otherwise: + #$0 try-restart + #rc_status + ;; + reload) + ## Like force-reload, but if daemon does not support + ## signaling, do nothing (!) + + # If it supports signaling: + echo -n "Reload service hugetlbd " + /sbin/killproc -HUP $HUGETLBD_BIN + #touch /var/run/hugetlbd.pid + rc_status -v + + ## Otherwise if it does not support reload: + #rc_failed 3 + #rc_status -v + ;; + status) + echo -n "Checking for service hugetlbd " + ## Check status with checkproc(8), if process is running + ## checkproc will return with exit status 0. + + # Return value is slightly different for the status command: + # 0 - service up and running + # 1 - service dead, but /var/run/ pid file exists + # 2 - service dead, but /var/lock/ lock file exists + # 3 - service not running (unused) + # 4 - service status unknown :-( + # 5--199 reserved (5--99 LSB, 100--149 distro, 150--199 appl.) + + # NOTE: checkproc returns LSB compliant status values. + /sbin/checkproc $HUGETLBD_BIN + # NOTE: rc_status knows that we called this init script with + # "status" option and adapts its messages accordingly. + rc_status -v + ;; + *) + echo "Usage: $0 {start|stop|status|try-restart|restart|force-reload|reload}" + exit 1 + ;; +esac +rc_exit diff --git a/libhugetlbfs.spec b/libhugetlbfs.spec new file mode 100644 index 0000000..09c66ff --- /dev/null +++ b/libhugetlbfs.spec @@ -0,0 +1,121 @@ +# +# spec file for package libhugetlbfs (Version 1.0.1) +# +# Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany. +# This file and all modifications and additions to the pristine +# package are under the same license as the package itself. +# +# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# + +# norootforbuild + +Name: libhugetlbfs +BuildRequires: doxygen +License: GNU Library General Public License v. 2.0 and 2.1 (LGPL) +Group: Development/Libraries/Other +Summary: hugetlbfs helper library +Version: 1.0.1 +Release: 9 +URL: http://libhugetlbfs.sourceforge.net/ +BuildRoot: %{_tmppath}/%{name}-%{version}-build +PreReq: %insserv_prereq %fillup_prereq +Source0: libhugetlbfs-%{version}.tar.gz +Source1: libhugetlbfs.sysconfig.hugetlbd +Source2: libhugetlbfs.rchugetlbd +Patch1: libhugetlbfs.LOGFILE.patch +Patch2: libhugetlbfs.ABI-tag.patch +Patch3: libhugetlbfs.make_check.patch +Patch4: libhugetlbfs.make_install.patch + +%description +libhugetlbfs interacts with the Linux hugetlbfs to make large pages +available to applications in a transparent manner. + + + +Authors: +-------- + David Gibson + Adam Litke + +%prep +%setup -q +%patch1 -p1 +%patch2 -p1 +%patch3 -p1 +%patch4 -p1 + +%build +%ifarch ppc ppc64 %ix86 x86_64 +tests=tests +%else +tests= +%endif +make V=1 CFLAGS="$RPM_OPT_FLAGS -g -fPIC" CC32=gcc CC64= PREFIX=/usr LIBDIR32=%{_libdir} libs sbin $tests + +%install +%ifarch ppc ppc64 %ix86 x86_64 +tests=install-tests +%else +tests= +%endif +make V=1 CFLAGS="$RPM_OPT_FLAGS -g -fPIC" CC32=gcc CC64= PREFIX=/usr LIBDIR32=%{_libdir} DESTDIR=$RPM_BUILD_ROOT install $tests +mkdir -p $RPM_BUILD_ROOT/etc/init.d +mkdir -p $RPM_BUILD_ROOT/usr/include +mkdir -p $RPM_BUILD_ROOT/var/adm/fillup-templates +cp -avL hugetlbfs.h $RPM_BUILD_ROOT/usr/include +cp -avL %{S:1} $RPM_BUILD_ROOT/var/adm/fillup-templates/sysconfig.hugetlbd +chmod 644 $RPM_BUILD_ROOT/var/adm/fillup-templates/* +cp -avL %{S:2} $RPM_BUILD_ROOT/etc/init.d/hugetlbd +ln -sfvbn ../../etc/init.d/hugetlbd $RPM_BUILD_ROOT/usr/sbin/rchugetlbd + +%clean +rm -rf $RPM_BUILD_ROOT + +%post +%{fillup_and_insserv -n hugetlbd} +echo "Do not forget to configure /proc/sys/vm/nr_hugepages" + +%files +%defattr(-, root, root) +%doc LGPL-2.1 HOWTO README NEWS +/usr/share/libhugetlbfs +/usr/include/* +%attr(755,root,root) /etc/init.d/hugetlbd +%attr(755,root,root) /usr/sbin/* +%{_libdir}/lib* +%attr(644,root,root) /var/adm/fillup-templates/sysconfig.hugetlbd + +%changelog -n libhugetlbfs +* Sat Dec 09 2006 - olh@suse.de +- build with -g + make install should not depend on all +* Fri Dec 08 2006 - olh@suse.de +- package testsuite, fix make check +* Tue Dec 05 2006 - olh@suse.de +- add the hugetlbd (214426) +* Sun Oct 29 2006 - olh@suse.de +- update to bugfix release 1.0.1 (214426) + * Always install linker scripts for all targets + * Error message updates + * Add documentation on HUGETLB_DEBUG + * Testcase updates +* Thu Oct 05 2006 - olh@suse.de +- update to final 1.0 +* Tue Sep 19 2006 - olh@suse.de +- update to 20060913 git state + docu updates + use library versioning +* Wed Jul 19 2006 - olh@suse.de +- update to 1.0-pre3 +* Tue Apr 18 2006 - olh@suse.de +- drop unneeded -packages from Buildrequires +* Sat Apr 08 2006 - olh@suse.de +- update to 1.0-pre2 (#142046 - LTC20562) +* Tue Feb 21 2006 - olh@suse.de +- remove backup files +* Tue Feb 21 2006 - olh@suse.de +- add linker scripts on ppc, ppc64, i386 and x86_64 +* Thu Feb 09 2006 - olh@suse.de +- create package, version 1.0-pre1 (#142046 - LTC20562) diff --git a/libhugetlbfs.sysconfig.hugetlbd b/libhugetlbfs.sysconfig.hugetlbd new file mode 100644 index 0000000..b39fb38 --- /dev/null +++ b/libhugetlbfs.sysconfig.hugetlbd @@ -0,0 +1,10 @@ +## Path: System/Kernel +## Description: Configuration for hugetlbd + +## Type: string +## Default: "" +# +# Additional options for hugetlbd +# +HUGETLBD_OPTIONS="" + diff --git a/ready b/ready new file mode 100644 index 0000000..473a0f4