Hacks for maintaining sourceware systemtap development distribution

directory
This commit is contained in:
roland 2005-08-10 07:15:24 +00:00
parent 511c104e18
commit 7d6f194468
3 changed files with 107 additions and 4 deletions

View File

@ -21,8 +21,43 @@ elfutils-portable.spec: elfutils.spec
(echo '%define _with_compat 1'; cat $<) > $@.new
mv -f $@.new $@
portable: elfutils-$(VERSION)-0.$(RELEASE).src.rpm
elfutils-$(VERSION)-0.$(RELEASE).src.rpm: elfutils-portable.spec \
elfutils-portability.patch \
sources
portable-vr = $(VERSION)-0.$(RELEASE)
portable.srpm = elfutils-$(portable-vr).src.rpm
$(portable.srpm): elfutils-portable.spec elfutils-portability.patch sources
$(RPM_WITH_DIRS) --nodeps -bs $<
portable-dist = 3.0E-scratch
portable-beehive = $(redhat)/dist/$(portable-dist)/elfutils/$(portable-vr)
ifeq (,$(wildcard /mnt/redhat/dist/.))
redhat = datadump.devel.redhat.com::redhat
rsync-to = devserv.devel.redhat.com:dist/elfutils/devel/systemtap-dist/
beehive-dep =
else
redhat = /mnt/redhat
$(portable-beehive): $(portable.srpm)
$(BHC_CLIENT) $(BHC_FLAGS) dist-$(portable-dist) $<
rsync-to = $(public)
beehive-dep = $(portable-beehive)
portable-build: $(portable-beehive)
endif
dist-files = README.elfutils systemtap-elfutils.repo \
elfutils-$(VERSION).tar.gz elfutils-portability.patch
rsync-files = --exclude=tests $(portable-beehive)/
public = sources.redhat.com:/sourceware/ftp/anonftp/pub/systemtap/elfutils/
RSYNC = RSYNC_RSH=ssh rsync
systemtap-dist: $(beehive-dep) $(dist-files)
@mkdir -p $@
$(RSYNC) -a --delete --progress $(rsync-files) systemtap-dist/
ln $(dist-files) systemtap-dist/
systemtap-dist-createrepo: systemtap-dist
ifneq ($(wildcard /usr/bin/createrepo),)
createrepo -q $<
endif
systemtap-sync: systemtap-dist-createrepo
$(RSYNC) -az --delete --progress systemtap-dist/ $(rsync-to)

63
README.elfutils Normal file
View File

@ -0,0 +1,63 @@
THIS IS HERE ONLY TO SUPPORT SYSTEMTAP DEVELOPMENT. IT IS NOT FOR GENERAL USE.
Building systemtap requires a recent development version of elfutils,
which provides libraries for making use of debugging information.
This is unfinished work in active development. This code is not intended
for general consumption in its present form. Development of these
libraries is simultaneous with Systemtap development. The Systemtap code
will require new versions as things evolve; the systemtap.spec.in file in
the systemtap source tree should always indicate the minimum version of
elfutils libraries that will suffice. We will make an effort to make a
compatible version available here, that you can use for compiling Systemtap.
Current elfutils can always be found in Fedora Core Development, AKA Rawhide.
If you are interested in the elfutils code in general or for any purpose
other than developing Systemtap, please see http://fedora.redhat.com/ about
getting involved with Fedora Core Development directly.
You can find the rawhide rpms updated daily on a variety of sites
(see http://fedora.redhat.com/download/mirrors.html) under core/development.
What's distributed in this directory is made trivially from those same sources.
The vanilla elfutils code, in elfutils-VERSION.tar.gz and what the rawhide
RPMs ordinarily build, can only be built using GCC 4 and a recent glibc.
Fedora Core 4 is the only released system meeting the requirements.
To rebuild the rawhide src.rpm on an older system, you can use:
rpmbuild --with compat --rebuild elfutils-VERSION-N.src.rpm
The SRPMS/elfutils-VERSION-0.N.src.rpm provided here is exactly the same as
the elfutils-VERSION-N.src.rpm from Rawhide except that it doesn't require
that you specify --with compat to build on an older system.
We have done this for you for a few architectures, and those RPMs are
available here. These were built on RHEL3, and so their requirements
should not be too demanding. We must remind you that this is unsupported,
pre-beta development code. Furthermore, these builds are completely
unofficial, unsupported, unsigned, unlikely to have been tested,
unequivocally not guaranteed not to ruin your whole day, and we really
cannot recommend that anyone install them on their system. Do so at your
own risk. All that said, here they is, and if you copy this file:
ftp://sources.redhat.com/pub/systemtap/elfutils/systemtap-elfutils.repo
into your /etc/yum.repos.d/ directory, then you can get them with:
yum install elfutils-libelf-devel
To compile elfutils from source by hand, simply use elfutils-VERSION.tar.gz
and follow the usual procedure for GNU configure conventions. The patch
available here has to be applied before you can compile on an older system:
tar xzf elfutils-VERSION.tar.gz
patch -p1 -d elfutils-VERSION < elfutils-portability.patch
cd elfutils-VERSION
./configure && make && make check && make install
(That of course installs things under /usr/local, unlike the RPMs.)
Caveat emptor. Carpe noctem. Reply to <systemtap@sources.redhat.com>.

5
systemtap-elfutils.repo Normal file
View File

@ -0,0 +1,5 @@
[systemtap-elfutils]
name=FOR SYSTEMTAP DEVELOPMENT ONLY
baseurl=ftp://sources.redhat.com/pub/systemtap/elfutils/
enabled=1
gpgcheck=0