1. Summary
  2. Files
  3. Support
  4. Report Spam
  5. Create account
  6. Log in

root/csw/mgar/pkg/cswclassutils/trunk/Makefile

Revision 17055, 4.3 KB (checked in by wahwah, 3 months ago)

migrateconf: preserve file attributes when copying

  • Property svn:keywords set to HeadURL
Line 
1# $HeadURL$
2
3NAME = cswclassutils
4VERSION = 1.47
5CATEGORIES = utils
6GARTYPE = v2
7
8# a few handy functions for defining 'generic' things dynamically
9set = $(eval $1 := $2)
10
11define cas_shortname
12$(subst csw,,$(1))
13endef
14
15define csw_pkgname
16CSWcas-$(call cas_shortname,$(1))
17endef
18
19define var_name
20$(1)_$(call csw_pkgname,$(2))
21endef
22
23define spkg_desc_val
24Class action script $(call cas_shortname,$(1))
25endef
26
27define pkgfiles_val
28/usr/sadm/install/scripts/.*$(1)
29endef
30
31define catname_val
32cas_$(call cas_shortname,$(1))
33endef
34
35define spkg_desc
36$(call set,$(call var_name,SPKG_DESC,$(1)),$(call spkg_desc_val,$(1)))
37endef
38
39define pkg_files
40$(call set,$(call var_name,PKGFILES,$(1)),$(call pkgfiles_val,$(1)))
41endef
42
43define catname
44$(call set,$(call var_name,CATALOGNAME,$(1)),$(call catname_val,$(1)))
45endef
46
47# checkpkg understands this relationship now, so no need to override it
48# any more.  keep it here in case it ever becomes useful for something else
49# define surplus_dep
50# $(eval CHECKPKG_OVERRIDES_CSWcswclassutils += surplus-dependency|$(call csw_pkgname,$(1)))
51# endef
52
53define bad_location
54$(eval CHECKPKG_OVERRIDES_CSWcas-$(1) += bad-location-of-file|file=/usr/sadm/install/scripts/$(2).csw$(1))
55endef
56
57# end of handy functions
58
59DESCRIPTION = CSW class action utilities
60
61MASTER_SITES =
62DISTFILES = COPYING CSWcas-initsmf.cswreleasenotes
63
64ARCHALL = 1
65
66CONFIGURE_SCRIPTS =
67BUILD_SCRIPTS =
68TEST_SCRIPTS =
69INSTALL_SCRIPTS = custom
70
71SPKG_SOURCEURL = http://www.opencsw.org
72
73FILEDIR = files
74
75CASFILES = $(wildcard $(FILEDIR)/CSW$(NAME).[ir].*)
76CASLIST = $(foreach F,$(CASFILES), $(subst $(FILEDIR)/CSW$(NAME).,,$(F)))
77CSWCLASSES = $(subst .,,$(sort $(suffix $(CASLIST))))
78
79DISTFILES += $(subst $(FILEDIR)/,,$(CASFILES))
80
81CASPACKAGES += $(foreach C,$(CSWCLASSES),CSWcas-$(call cas_shortname,$(C)))
82
83PACKAGES = CSWcswclassutils
84PACKAGES += $(CASPACKAGES)
85
86RUNTIME_DEP_PKGS_CSWcswclassutils = $(CASPACKAGES)
87
88PROTOTYPE_MODIFIERS = cas
89PROTOTYPE_FILES_cas = /usr/sadm/install/scripts/.*
90PROTOTYPE_USER_cas = bin
91PROTOTYPE_GROUP_cas = sys
92
93# set a unique description for each CAS
94$(foreach C,$(CSWCLASSES),$(call spkg_desc,$(C)))
95SPKG_DESC_CSWcswclassutils = $(DESCRIPTION)
96
97# and add the base set of files belonging to the CAS
98$(foreach C,$(CSWCLASSES),$(call pkg_files,$(C)))
99# and the catalog names
100$(foreach C,$(CSWCLASSES),$(call catname,$(C)))
101
102# tell checkpkg to ignore the surplus dep on the subpkgs
103#$(foreach C,$(CSWCLASSES),$(call surplus_dep,$(C)))
104
105# tell checkpkg to ignore the bad file location in the subpackages
106$(foreach C,$(CSWCLASSES),$(call bad_location,$(call cas_shortname,$(C)),i))
107$(foreach C,$(CSWCLASSES),$(call bad_location,$(call cas_shortname,$(C)),r))
108
109
110# Add non-auto changes to checkpkg overrides, pkg files, etc.
111
112PKGFILES_CSWcas-cptemplates += /opt/csw/etc/templates
113PKGFILES_CSWcas-initsmf += /opt/csw/etc/init.d/.*
114PKGFILES_CSWcas-initsmf += /etc/opt/csw/init.d.*
115PKGFILES_CSWcas-initsmf += /var/opt/csw/svc/.*
116
117# Mark these as _extra_ so they're applied after the excludes, which would
118# include files from the other packages and thus clash.
119PKGFILES_CSWcas-inetd_SHARED += /var/opt/csw/cswclassutils
120PKGFILES_CSWcas-pycompile_SHARED += /var/opt/csw/cswclassutils
121
122CHECKPKG_OVERRIDES_CSWcas-initsmf += init-file-missing-cswinitsmf-class
123CHECKPKG_OVERRIDES_CSWcas-initsmf += init-file-wrong-location
124CHECKPKG_OVERRIDES_CSWcas-initsmf += init-file-wrong-location|/opt/csw/etc/init.d/csw.smf.sample
125
126# the doctype string
127CHECKPKG_OVERRIDES_CSWcas-initsmf += file-with-bad-content|/usr/share|root/usr/sadm/install/scripts/i.cswinitsmf
128
129include gar/category.mk
130
131install-custom:
132        @echo " ==> Installing $(NAME) (custom)"
133        @rm -rf $(DESTDIR)
134        @ginstall -m 0755 -d $(DESTDIR)/opt/csw/etc/init.d
135        @ginstall -m 0755 -d $(DESTDIR)/etc/opt/csw/init.d
136        @ginstall -m 0755 -d $(DESTDIR)/opt/csw/etc/templates
137        @ginstall -m 0755 -d $(DESTDIR)$(docdir)/$(NAME)
138        @ginstall -m 0755 -d $(DESTDIR)/usr/sadm/install/scripts
139        @ginstall -m 0755 -d $(DESTDIR)/var/opt/csw/svc/manifest
140        @ginstall -m 0755 -d $(DESTDIR)/var/opt/csw/svc/method
141        @ginstall -m 0755 -d $(DESTDIR)/var/opt/csw/cswclassutils
142        @ginstall -m 0755 $(FILEDIR)/CSW$(NAME).csw.smf.sample $(DESTDIR)/opt/csw/etc/init.d/csw.smf.sample
143        @ginstall -m 0444 $(FILEDIR)/CSW$(NAME).README.CSW $(DESTDIR)$(docdir)/$(NAME)/README.CSW
144        @$(foreach CAS,$(CASLIST),ginstall -m 0555 $(FILEDIR)/CSW$(NAME).$(CAS) $(DESTDIR)/usr/sadm/install/scripts/$(CAS);)
145        @$(MAKECOOKIE)
Note: See TracBrowser for help on using the browser.