diff options
Diffstat (limited to 'build')
-rw-r--r-- | build/rpm/Makefile | 25 | ||||
-rw-r--r-- | build/rpm/attr.spec.in | 31 |
2 files changed, 28 insertions, 28 deletions
diff --git a/build/rpm/Makefile b/build/rpm/Makefile index 17eceb5..4576215 100644 --- a/build/rpm/Makefile +++ b/build/rpm/Makefile @@ -1,5 +1,5 @@ # -# Copyright (c) 2000-2002 Silicon Graphics, Inc. All Rights Reserved. +# Copyright (c) 2000-2003 Silicon Graphics, Inc. All Rights Reserved. # # This program is free software; you can redistribute it and/or modify it # under the terms of version 2 of the GNU General Public License as @@ -35,7 +35,7 @@ TREEROOT = $(shell cd ${TOPDIR}; pwd) include $(TOPDIR)/include/builddefs SPECF = $(PKG_NAME).spec -LDIRT = *.rpm $(SPECF) rpmmacros rpm-*.rc $(TOPDIR)/files*.rpm +LDIRT = *.rpm $(SPECF) rpmmacros rpmfiles* rpm-*.rc LSRCFILES = macros.template $(SPECF).in rpm-2.rc.template @@ -43,7 +43,7 @@ default install install-dev install-lib: include $(BUILDRULES) -# generate a binary rpm file +# Generate a binary rpm file dist : default $(SPECF) rpm-$(RPM_VERSION).rc $(RPMBUILD) -ba --rcfile ./rpm-$(RPM_VERSION).rc $(SPECF) @@ -60,6 +60,25 @@ rpm-2.rc: rpm-2.rc.template @sed -e 's|%topdir%|$(TOPDIR)|g' < $< > $@ endif +# Generate the rpm specfile format file list from the install-sh manifest +rpmfiles rpmfiles-dev rpmfiles-lib: + sort -u $$DIST_MANIFEST | $(AWK) > $@ '\ +$$1 == "d" { printf ("%%%%dir %%%%attr(%s,%s,%s) %s\n", $$2, $$3, $$4, $$5); } \ +$$1 == "f" { if (match ($$6, "$(PKG_MAN_DIR)") || \ + match ($$6, "$(PKG_DOC_DIR)")) \ + printf ("%%%%doc "); \ + if (match ($$6, "$(PKG_MAN_DIR)")) \ + printf ("%%%%attr(%s,%s,%s) %s*\n", $$2, $$3, $$4, $$6); \ + else \ + printf ("%%%%attr(%s,%s,%s) %s\n", $$2, $$3, $$4, $$6); } \ +$$1 == "l" { if (match ($$3, "$(PKG_MAN_DIR)") || \ + match ($$3, "$(PKG_DOC_DIR)")) \ + printf ("%%%%doc "); \ + if (match ($$3, "$(PKG_MAN_DIR)")) \ + printf ("%%%%attr(0777,root,root) %s*\n", $$3); \ + else \ + printf ("%%%%attr(0777,root,root) %s\n", $$3); }' + .PHONY: $(SPECF) ${SPECF} : ${SPECF}.in sed -e's|@pkg_name@|$(PKG_NAME)|g' \ diff --git a/build/rpm/attr.spec.in b/build/rpm/attr.spec.in index 2a035de..bd39896 100644 --- a/build/rpm/attr.spec.in +++ b/build/rpm/attr.spec.in @@ -68,30 +68,11 @@ DIST_INSTALL_DEV=`pwd`/install-dev.manifest DIST_INSTALL_LIB=`pwd`/install-lib.manifest export DIST_ROOT DIST_INSTALL DIST_INSTALL_DEV DIST_INSTALL_LIB @make@ install DIST_MANIFEST="$DIST_INSTALL" +@make@ -C build/rpm rpmfiles DIST_MANIFEST="$DIST_INSTALL" @make@ install-dev DIST_MANIFEST="$DIST_INSTALL_DEV" +@make@ -C build/rpm rpmfiles-dev DIST_MANIFEST="$DIST_INSTALL_DEV" @make@ install-lib DIST_MANIFEST="$DIST_INSTALL_LIB" -files() -{ - sort | uniq | awk ' -$1 == "d" { printf ("%%%%dir %%%%attr(%s,%s,%s) %s\n", $2, $3, $4, $5); } -$1 == "f" { if (match ($6, "@pkg_man_dir@") || match ($6, "@pkg_doc_dir@")) - printf ("%%%%doc "); - if (match ($6, "@pkg_man_dir@")) - printf ("%%%%attr(%s,%s,%s) %s*\n", $2, $3, $4, $6); - else - printf ("%%%%attr(%s,%s,%s) %s\n", $2, $3, $4, $6); } -$1 == "l" { if (match ($3, "@pkg_man_dir@") || match ($3, "@pkg_doc_dir@")) - printf ("%%%%doc "); - if (match ($3, "@pkg_man_dir@")) - printf ("%attr(0777,root,root) %s*\n", $3); - else - printf ("%attr(0777,root,root) %s\n", $3); }' -} -set +x -files < "$DIST_INSTALL" > files.rpm -files < "$DIST_INSTALL_DEV" > filesdevel.rpm -files < "$DIST_INSTALL_LIB" > fileslib.rpm -set -x +@make@ -C build/rpm rpmfiles-lib DIST_MANIFEST="$DIST_INSTALL_LIB" %clean rm -rf $RPM_BUILD_ROOT @@ -100,8 +81,8 @@ rm -rf $RPM_BUILD_ROOT %postun -n libattr -p /sbin/ldconfig -%files -f files.rpm +%files -f build/rpm/rpmfiles -%files -n libattr-devel -f filesdevel.rpm +%files -n libattr-devel -f build/rpm/rpmfiles-dev -%files -n libattr -f fileslib.rpm +%files -n libattr -f build/rpm/rpmfiles-lib |