Hi , I'm attaching the framework as a patch as per Frank's suggestion in the call. Hope this makes it easier to review. If there are no comments/objections i would like to commit this early next week. Thanks, Regards, Anithra On 03/23/2010 02:17 AM, Anithra P Janakiraman wrote: > Hi, > > I've attached a modified framework that contains the following changes > (as per comments received on IRC): > 1. Config options need not be specified in a separate config file. All > options are passed through the command line. > 2. The stap-buildpkg script does not parse the kernel release/additional > tapset directories options. Instead all 'additional' options are > directly passed to the stap command. > 3. The package now contains only 1 template file and README apart from > the stap-buildpkg script itself. > > The framework was tested on RHEL5.4(x86,x86_64,ppc64), > SLES10(ppc64),F12(x86). > > Please comment. > > Regards, > Anithra. > > > On 02/02/2010 10:12 PM, Anithra P Janakiraman wrote: >> Hi, >> >> I've attached a modified framework. The names of the template/config >> files have been changed(no change in functionality). I've attempted to >> keeps the names compatible with other scripts in the SystemTap package. >> We would like to keep the framework in a seperate directory (similar to >> the initscript dir) for the sake of simplicity. (called >> distribution-framework or distribution-fw?) >> >> The directory would contain the following >> template.specfile >> template.install >> template.binextractor >> config.rpmoptions >> systemtap-rpm-generator (This is the executable script) >> README >> >> >> Let me know if any changes are needed (names of files/directory or >> contents). If there is any naming convention that i should adhere to >> please let me know. If there are no concerns, or suggestions i would >> like to go ahead and commit the framework. >> >> Thanks. >> >> Regards, >> Anithra >> >> >> >> On 12/09/2009 11:11 PM, Anithra P Janakiraman wrote: >>> Hi all, >>> >>> We've been looking at a simplified distribution framework for SystemTap >>> scripts that : >>> 1. packages a set of systemtap scripts and dependent >>> tapsets in a form that circumvents , as much as possible the need for >>> external dependencies(like kernel-debuginfo) >>> 2. installs, runs the script, post processes the output and uninstalls >>> out of the box >>> >>> We feel this would be especially useful in scenarios where support >>> admins wish to run a particular set of script(s) on a machine for debug >>> or monitoring purposes. I'm attaching an rpm-based framework that does >>> the following: >>> 1. Compiles a set of scripts into a set of kernel modules >>> on another machine of identical architecture that has SystemTap >>> installed and running >>> 2. Creates an rpm on the fly that would consist of >>> i) kernel modules ii) staprun & stapio taken from the systemtap-runtime >>> package in the machine that has SystemTap installed, iii) post >>> processing script to process the output(optional) >>> 3. Bundles the above >>> rpm with an install script that has options to i) install the rpm ii) >>> run / stop iii) uninstall iv) all of the above. >>> 4 . The rpm and the >>> install script are packaged into a self-extracting binary that would >>> extract itself and execute 1 of the four steps above. >>> >>> The framework would mainly consist of >>> 1. rpm-generating script >>> (rpm-generator.sh) that does all of the above >>> 2. spec file template that >>> will be modified by the rpm-generator on the fly and used to build the >>> rpm >>> 3. install script template that will be modified by the >>> rpm-generator and bundled with the rpm >>> 4. Configuration file - that >>> would specify the location of the scripts/tapsets >>> >>> The rpm is packaged as a self extracting binary for ease of use. When >>> the binary is executed it extracts the rpm package and based on the >>> parameters provided either installs/runs/uninstalls the rpm. Help >>> detailing the available options are also provided >>> >>> USAGE: [options] [parameters] >>> >>> Options: >>> * --install -i Install the tapset rpm. >>> * --run -r Runs the scripts >>> for n minutes where n can be passed as a parameter. o The default value >>> is 10 minutes. Post processing is performed after the script completes. >>> * --start -s Invokes the script as a background process. >>> * --stop -x Stops the script and performs post processing. >>> * --uninstall -u Stops the script if running and uninstalls the rpm. >>> * --all Installs the rpm, runs the scrip, processes the output and >>> uninstalls the rpm. >>> * --help Displays this usage text. >>> >>> Parameters: >>> >>> * time=[x] x is in minutes. Runs the script for x minutes. valid for >>> --run(-r) o --start(-s) or --all(-a) options only >>> >>> >>> >>> One disadvantage of the above framework is that the end binary that is >>> created is tied to a particular kernel version/architecture. However the >>> users now need not install systemtap, debuginfo and need not even be >>> familiar with SystemTap. This should help users and admins who wish to >>> run a set of scripts to solve a specific problem(maybe on a customer's >>> machine). >>> >>> Please comment, >>> >>> Regards, >>> Anithra. >>> >>> >>> >>> >> >