aboutsummaryrefslogtreecommitdiffstats
path: root/src/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'src/Makefile')
-rw-r--r--src/Makefile106
1 files changed, 32 insertions, 74 deletions
diff --git a/src/Makefile b/src/Makefile
index 031ffa9f..fae3f476 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -2,74 +2,48 @@
# Makefile for sos system support tools
#
-NAME = sos
+NAME = sos
VERSION = $(shell awk '/^%define version / { print $$3 }' sos.spec)
RELEASE = $(shell awk '/^%define release / { print $$3 }' sos.spec)
REPO = http://svn.fedorahosted.org/svn/sos
-SVNTAG = r$(subst .,-,$(VERSION))_$(RELEASE)
+SVNTAG = r$(subst .,-,$(VERSION))_$(RELEASE)
SRCDIR = $(PWD)
-TOPDIR = $(PWD)/build/rpm-$(NAME)-$(VERSION)
+# Needs to be changed to reflect
+# your rpm development tree.
+TOPDIR = $(HOME)/redhat/$(NAME)
+TMPDIR = /tmp/$(NAME)-$(VERSION)
+MANPAGE = $(PWD)/sosreport.1
+SOURCE1 = $(PWD)/sos.conf
+SOURCE2 = $(PWD)/sosreport.1.gz
+SOURCE3 = $(PWD)/gpgkeys/rhsupport.pub
all:
-.PHONY: tag-release tarball release install version clean
+.PHONY: tarball install clean rpm
-diff-tag:
- svn diff $(REPO)/trunk/src $(REPO)/tags/$(SVNTAG)
-
-tag:
- @if ( svn list $(REPO)/tags/$(SVNTAG)/Makefile &> /dev/null ); then \
- echo "The repository already contains a tag for version $(VERSION)"; \
- exit 1; \
- fi
- @svn copy $(REPO)/trunk/src $(REPO)/tags/$(SVNTAG) \
- -m "Tagging the $(SVNTAG) release of the sos project"
- @echo "Tagged as $(SVNTAG)"
-
-tag-force:
- @echo svn del $(REPO)/tags/$(SVNTAG)
- @echo make diff-tag
-
-tarball: clean
- @echo "Creating an archive from HEAD of development"
- @rm -rf /tmp/$(NAME)
- @svn export -q $(REPO)/trunk/src /tmp/$(NAME) \
- || echo GRRRrrrrr -- ignore [export aborted]
- @mv /tmp/$(NAME) /tmp/$(NAME)-$(VERSION)
- @cd /tmp; tar --bzip2 -cSpf $(NAME)-$(VERSION).tar.bz2 $(NAME)-$(VERSION)
- @rm -rf /tmp/$(NAME)-$(VERSION)
- @mv /tmp/$(NAME)-$(VERSION).tar.bz2 .
- @echo " "
- @echo "The final archive is ./$(NAME)-$(VERSION).tar.bz2."
-
-release: clean
- @if ( ! svn list $(REPO)/tags/$(SVNTAG)/Makefile &> /dev/null ); then \
- echo "There is no tag in the repository for this version, must be tagged before release"; \
- exit 1; \
- fi
- @echo "Creating an archive from tag $(SVNTAG)"
- @rm -rf /tmp/$(NAME)
- @svn export -q $(REPO)/tags/$(SVNTAG) /tmp/$(NAME) \
- || echo GRRRrrrrr -- ignore [export aborted]
- @mv /tmp/$(NAME) /tmp/$(NAME)-$(VERSION)
- @cd /tmp; tar --bzip2 -cSpf $(NAME)-$(VERSION).tar.bz2 $(NAME)-$(VERSION)
- @rm -rf /tmp/$(NAME)-$(VERSION)
- @cp /tmp/$(NAME)-$(VERSION).tar.bz2 .
- @rm -f /tmp/$(NAME)-$(VERSION).tar.bz2
+tarball: clean mo gpgkey
+ @echo "Build Archive"
+ @test -f $(SOURCE2) || gzip -c $(MANPAGE) > $(SOURCE2)
+ @mkdir $(TMPDIR)
+ @python setup.py sdist -d $(TMPDIR)
+ @cp {$(SOURCE1),$(SOURCE2),$(SOURCE3)} $(TMPDIR)
+ @mkdir $(PWD)/dist
+ @mv $(TMPDIR)/* $(PWD)/dist
@echo " "
- @echo "The final archive is ./$(NAME)-$(VERSION).tar.bz2."
+ @echo "The final archive is $(PWD)/dist/"
install:mo gpgkey
python setup.py install
@rm -rf build/lib
-version:
- @echo "The version is $(NAME)-$(VERSION)"
-
clean:
- @rm -fv *~ .*~ changenew ChangeLog.old $(NAME)-$(VERSION).tar.bz2 sosreport.1.gz gpgkeys/rhsupport.*
- @rm -rfv build/*
+ @rm -fv *~ .*~ changenew ChangeLog.old $(NAME)-$(VERSION).tar.gz
+ @rm -rfv {dist,build}
+ @rm -rf MANIFEST
+ @rm -rfv $(TMPDIR)
+ @rm -rf {$(SOURCE2),$(SOURCE3)}
+# TODO: This needs work
internal-rpm: gpgkey
@test -f sos-internal.spec
@mkdir -p $(TOPDIR)/SOURCES $(TOPDIR)/SRPMS $(TOPDIR)/RPMS $(TOPDIR)/BUILD $(SRCDIR)/dist
@@ -88,36 +62,20 @@ internal-rpm: gpgkey
@mv $(TOPDIR)/RPMS/noarch/$(NAME)-internal-*.rpm $(TOPDIR)/SRPMS/$(NAME)-internal-*.rpm dist/
cp gpgkeys/rhsupport.key dist/
-rpm: mo gpgkey
- @mkdir -p $(TOPDIR)/SOURCES $(TOPDIR)/SRPMS $(TOPDIR)/RPMS $(TOPDIR)/BUILD $(SRCDIR)/dist
-
- cp gpgkeys/rhsupport.pub $(TOPDIR)/SOURCES
-
+rpm: tarball
+ @test -d $(TOPDIR) || mkdir -p $(TOPDIR)
+ @mv dist/* $(TOPDIR)
@test -f sos.spec
-
-# this builds an RPM from the current working copy
- @cd $(TOPDIR)/BUILD ; \
- rm -rf $(NAME)-$(VERSION) ; \
- ln -s $(SRCDIR) $(NAME)-$(VERSION) ; \
- tar --gzip --exclude=.svn --exclude=svn-commit.tmp --exclude=$(NAME)-$(VERSION)/build --exclude=$(NAME)-$(VERSION)/dist \
- --exclude gpgkeys/rhsupport.pub --exclude gpgkeys/rhsupport.key \
- -chSpf $(TOPDIR)/SOURCES/$(NAME)-$(VERSION).tar.gz $(NAME)-$(VERSION) ; \
- rm -f $(NAME)-$(VERSION)
-
-# this builds an RPM from HEAD
-# @rm -rf $(TOPDIR)/BUILD/$(NAME)-$(VERSION)
-# @svn export -q $(REPO)/trunk/src $(TOPDIR)/BUILD/$(NAME)-$(VERSION)
-# @cd $(TOPDIR)/BUILD ; tar --gzip -cSpf $(TOPDIR)/SOURCES/$(NAME)-$(VERSION).tar.gz $(NAME)-$(VERSION); rm -rf $(NAME)-$(VERSION)
-
- rpmbuild -ba --define="_topdir $(TOPDIR)" sos.spec
- @mv $(TOPDIR)/RPMS/noarch/$(NAME)-$(VERSION)*.rpm $(TOPDIR)/SRPMS/$(NAME)-$(VERSION)*.rpm $(TOPDIR)/SOURCES/$(NAME)-$(VERSION).tar.gz dist/
+ rpmbuild -ba sos.spec
pot:
python tools/pygettext.py -o locale/sos.pot sosreport lib/sos/policyredhat.py
mo:
+ @echo "Generating mo files"
find locale/*/LC_MESSAGES -name sos.po -exec python tools/msgfmt.py {} \;
gpgkey:
+ @echo "Building gpg key"
@test -f gpgkeys/rhsupport.pub && echo "GPG key already exists." || \
gpg --batch --gen-key gpgkeys/gpg.template