diff --git a/Makefile b/Makefile index 2ab90c2..7abf831 100644 --- a/Makefile +++ b/Makefile @@ -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) diff --git a/README.elfutils b/README.elfutils new file mode 100644 index 0000000..6008fa0 --- /dev/null +++ b/README.elfutils @@ -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 . diff --git a/systemtap-elfutils.repo b/systemtap-elfutils.repo new file mode 100644 index 0000000..96d326b --- /dev/null +++ b/systemtap-elfutils.repo @@ -0,0 +1,5 @@ +[systemtap-elfutils] +name=FOR SYSTEMTAP DEVELOPMENT ONLY +baseurl=ftp://sources.redhat.com/pub/systemtap/elfutils/ +enabled=1 +gpgcheck=0