[csw-devel] SF.net SVN: gar:[8520] csw/mgar/gar/v2
dmichelsen at users.sourceforge.net
dmichelsen at users.sourceforge.net
Fri Feb 12 14:18:20 CET 2010
Revision: 8520
http://gar.svn.sourceforge.net/gar/?rev=8520&view=rev
Author: dmichelsen
Date: 2010-02-12 13:18:19 +0000 (Fri, 12 Feb 2010)
Log Message:
-----------
mGAR v2: Support for cswalternatives
Modified Paths:
--------------
csw/mgar/gar/v2/gar.mk
csw/mgar/gar/v2/gar.pkg.mk
Modified: csw/mgar/gar/v2/gar.mk
===================================================================
--- csw/mgar/gar/v2/gar.mk 2010-02-12 12:34:04 UTC (rev 8519)
+++ csw/mgar/gar/v2/gar.mk 2010-02-12 13:18:19 UTC (rev 8520)
@@ -712,7 +712,7 @@
# The basic merge merges the compiles for all ISAs on the current architecture
-merge: checksum pre-merge merge-do merge-license merge-classutils merge-checkpkgoverrides $(if $(COMPILE_ELISP),compile-elisp) $(if $(NOSOURCEPACKAGE),,merge-src) post-merge
+merge: checksum pre-merge merge-do merge-license merge-classutils merge-checkpkgoverrides merge-alternatives $(if $(COMPILE_ELISP),compile-elisp) $(if $(NOSOURCEPACKAGE),,merge-src) post-merge
@$(DONADA)
merge-do: $(if $(PARALLELMODULATIONS),merge-parallel,merge-sequential)
@@ -788,7 +788,7 @@
.PHONY: remerge reset-merge reset-merge-modulated
remerge: reset-merge merge
-reset-merge: reset-package $(addprefix reset-merge-,$(MODULATIONS)) reset-merge-license reset-merge-classutils reset-merge-checkpkgoverrides reset-merge-src
+reset-merge: reset-package $(addprefix reset-merge-,$(MODULATIONS)) reset-merge-license reset-merge-classutils reset-merge-checkpkgoverrides reset-merge-alternatives reset-merge-src
@rm -f $(COOKIEDIR)/pre-merge $(foreach M,$(MODULATIONS),$(COOKIEDIR)/merge-$M) $(COOKIEDIR)/merge $(COOKIEDIR)/post-merge
@rm -rf $(PKGROOT)
@$(DONADA)
Modified: csw/mgar/gar/v2/gar.pkg.mk
===================================================================
--- csw/mgar/gar/v2/gar.pkg.mk 2010-02-12 12:34:04 UTC (rev 8519)
+++ csw/mgar/gar/v2/gar.pkg.mk 2010-02-12 13:18:19 UTC (rev 8520)
@@ -361,6 +361,7 @@
$(if $(PROTOTYPE_FILES_$M),})\
)\
$(foreach F,$(POSTMSG),$$F[1] = "cswpostmsg" if( $$F[2] eq "$F" );)\
+ $$F[1] = "cswalternatives" if( $$F[2] =~ m,^/opt/csw/share/alternatives/[^/]+$$, );\
print join(" ", at F),"\n";'
@@ -392,7 +393,8 @@
-n "$(ISAEXEC_FILES_$*)" -o \
-n "$(ISAEXEC_FILES)" ]; then \
(pathfilter $(if $(or $(_PKGFILES_EXCLUDE),$(_PKGFILES_INCLUDE)),-I $(call licensedir,$*)/license -I /etc/opt/csw/pkg/$*/cswmigrateconf) \
- $(foreach S,$(filter-out $*,$(SPKG_SPECS)),-X $(call licensedir,$S)/license -X /etc/opt/csw/pkg/$S/cswmigrateconf) \
+ $(if $(or $(ALTERNATIVES_$*),$(ALTERNATIVES)),-I /opt/csw/share/alternatives/$(call catalogname,$*)) \
+ $(foreach S,$(filter-out $*,$(SPKG_SPECS)),-X $(call licensedir,$S)/license -X /etc/opt/csw/pkg/$S/cswmigrateconf -X /opt/csw/share/alternatives/$(call catalogname,$S)) \
$(foreach I,$(EXTRA_PKGFILES_INCLUDED) $(EXTRA_PKGFILES_INCLUDED_$*),-i '$I') \
$(foreach X,$(EXTRA_PKGFILES_EXCLUDED) $(EXTRA_PKGFILES_EXCLUDED_$*),-x '$X') \
$(foreach FILE,$(_PKGFILES_INCLUDE),-i '$(FILE)') \
@@ -431,6 +433,7 @@
# The dependencies to CSWcswclassutils and CSWtexinfo are only added if there are files
# actually matching the _TEXINFO_FILTER. This is done at the prototype-level.
$(WORKDIR)/%.depend: $(WORKDIR)/$*.prototype
+$(WORKDIR)/%.depend: _EXTRA_GAR_PKGS += $(if $(strip $(shell cat $(WORKDIR)/$*.prototype | perl -ane 'print "yes" if( $$F[1] eq "cswalternatives")')),CSWalternatives)
$(WORKDIR)/%.depend: _EXTRA_GAR_PKGS += $(if $(strip $(shell cat $(WORKDIR)/$*.prototype | perl -ane '$(foreach C,$(_CSWCLASSES),print "$C\n" if( $$F[1] eq "$C");)')),CSWcswclassutils)
$(WORKDIR)/%.depend: $(WORKDIR)
@@ -536,6 +539,7 @@
# The texinfo filter has been taken out of the normal filters as TEXINFO has a default.
$(WORKDIR)/%.pkginfo: $(WORKDIR)/%.prototype
+$(WORKDIR)/%.pkginfo: SPKG_CLASSES += $(if $(strip $(shell cat $(WORKDIR)/$*.prototype | perl -ane 'print "yes" if( $$F[1] eq "cswalternatives")')),cswalternatives)
$(WORKDIR)/%.pkginfo: SPKG_CLASSES += $(shell cat $(WORKDIR)/$*.prototype | perl -e 'while(<>){@F=split;$$c{$$F[1]}++};$(foreach C,$(_CSWCLASSES),print "$C\n" if( $$c{$C});)')
$(WORKDIR)/%.pkginfo: $(WORKDIR)
@@ -672,6 +676,18 @@
reset-merge-checkpkgoverrides:
@rm -f $(COOKIEDIR)/merge-checkpkgoverrides $(foreach SPEC,$(_PKG_SPECS),$(COOKIEDIR)/merge-checkpkgoverrides-$(SPEC))
+merge-alternatives-%:
+ @echo "[ Generating alternatives for package $* ]"
+ $(_DBG)ginstall -d $(PKGROOT)/opt/csw/share/alternatives
+ $(_DBG)($(foreach A,$(or $(ALTERNATIVES_$*),$(ALTERNATIVES)),echo "$(ALTERNATIVE_$A)";)) \
+ > $(PKGROOT)/opt/csw/share/alternatives/$(call catalogname,$*)
+ @$(MAKECOOKIE)
+
+merge-alternatives: $(foreach S,$(SPKG_SPECS),$(if $(or $(ALTERNATIVES_$S),$(ALTERNATIVES)),merge-alternatives-$S))
+
+reset-merge-alternatives:
+ @rm -f $(COOKIEDIR)/merge-alternatives $(foreach SPEC,$(_PKG_SPECS),$(COOKIEDIR)/merge-alternatives-$(SPEC))
+
merge-src: _SRCDIR=$(PKGROOT)$(sourcedir)/$(call catalogname,$(SRCPACKAGE_BASE))
merge-src: fetch
$(_DBG)mkdir -p $(_SRCDIR)/files
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the devel
mailing list