it's a bad idea to use MAILTO as a variable name as this is set in crontabs
[build.git] / Makefile
index c2d237b..5a52daf 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -439,8 +439,8 @@ endif
 ### this utility allows to extract various info from a spec file
 ### and to define them in makefiles
 # use the C code where it works as it's the original one, use the python code otherwise
-spec2make: spec2make.py
-       ln -s spec2make.py $@
+spec2make: spec2make.c
+       $(CC) -g -Wall $< -o $@ -lrpm -lrpmbuild -lrpmio -lpopt || ln -s spec2make.py $@
 
 ### run spec2make on the spec file and include the result
 # usage: spec2make package
@@ -482,7 +482,7 @@ all: envfrompreviousrun
 define stage2_variables
 ### devel dependencies
 $(1).rpmbuild = $(RPMBUILD) $($(1)-RPMFLAGS)
-$(1).all-devel-rpm-paths := $(foreach rpm,$($(1)-LOCAL-DEVEL-RPMS) $($(1)-LOCAL-DEVEL-RPMS-CRUCIAL),$($(rpm).rpm-path))
+$(1).all-local-devel-rpm-paths := $(foreach rpm,$($(1)-LOCAL-DEVEL-RPMS) $($(1)-LOCAL-DEVEL-RPMS-CRUCIAL),$($(rpm).rpm-path))
 $(1).depend-devel-packages := $(sort $(foreach rpm,$($(1)-LOCAL-DEVEL-RPMS),$($(rpm).package)))
 ALL-STOCK-DEVEL-RPMS += $($(1)-LOCAL-DEVEL-RPMS)
 endef
@@ -559,7 +559,7 @@ RPMYUM-UNINSTALL-STOCK := rpm -e
 ### these macro handles the LOCAL-DEVEL-RPMS and LOCAL-DEVEL-RPMS-CRUCIAL tags for a given package
 # before building : rpm-install LOCAL-DEVEL-RPMS 
 define rpmyum_install_local_rpms 
-       $(if $($(1).all-devel-rpm-paths), echo "Installing for $(1)-LOCAL-DEVEL-RPMS" ; $(RPMYUM-INSTALL-LOCAL) $($(1).all-devel-rpm-paths)) 
+       $(if $($(1).all-local-devel-rpm-paths), echo "Installing for $(1)-LOCAL-DEVEL-RPMS" ; $(RPMYUM-INSTALL-LOCAL) $($(1).all-local-devel-rpm-paths)) 
 endef
 
 # install stock rpms if defined
@@ -568,19 +568,25 @@ define rpmyum_install_stock_rpms
 endef
 
 define rpmyum_uninstall_stock_rpms
-       -$(if $($(1)-LOCAL-DEVEL-RPMS), echo "Unstalling for $(1)-LOCAL-DEVEL-RPMS" ; $(RPMYUM-UNINSTALL-STOCK) $($(1)-LOCAL-DEVEL-RPMS))
+       -$(if $($(1)-STOCK-DEVEL-RPMS), echo "Unstalling for $(1)-STOCK-DEVEL-RPMS" ; $(RPMYUM-UNINSTALL-STOCK) $($(1)-STOCK-DEVEL-RPMS))
 endef
 
-# similar for debian 
+# similar for debians
+# gdebi acts like yum localinstall; gdebi-core should be mentioned in develdeb.pkgs
+DPKGAPT-INSTALL-LOCAL := gdebi
 DPKGAPT-INSTALL-STOCK := apt-get -y install
 DPKGAPT-UNINSTALL-STOCK := echo WARNING uninstalling stock debs not implemented
 
+define dpkgapt_install_local_debs 
+       $(if $($(1)-LOCAL-DEVEL-DEBS), echo "Installing for $(1)-LOCAL-DEVEL-DEBS" ; $(foreach debname,$($(1)-LOCAL-DEVEL-DEBS),$(DPKGAPT-INSTALL-LOCAL) $(wildcard DEBIAN/$(debname)_*.deb);))
+endef
+
 define dpkgapt_install_stock_debs 
        $(if $($(1)-STOCK-DEVEL-DEBS), echo "Installing for $(1)-STOCK-DEVEL-DEBS" ; $(DPKGAPT-INSTALL-STOCK) $($(1)-STOCK-DEVEL-DEBS))
 endef
 
 define dpkgapt_uninstall_stock_debs
-       -$(if $($(1)-LOCAL-DEVEL-DEBS), echo "Unstalling for $(1)-LOCAL-DEVEL-DEBS" ; $(DPKGAPT-UNINSTALL-STOCK) $($(1)-LOCAL-DEVEL-DEBS))
+       -$(if $($(1)-STOCK-DEVEL-DEBS), echo "Unstalling for $(1)-STOCK-DEVEL-DEBS" ; $(DPKGAPT-UNINSTALL-STOCK) $($(1)-STOCK-DEVEL-DEBS))
 endef
 
 
@@ -706,6 +712,7 @@ $(foreach package,$(ALL),$(eval $(call target_depends,$(package))))
 # so I'm reverting to simplicity
 define target_debian
 $(1)-debian: $(1)-tarball
+       $(call dpkgapt_install_local_debs,$(1))
        $(call dpkgapt_install_stock_debs,$(1))
        mkdir -p DEBIAN/$(1)
        rsync -a MODULES/$(1)/ DEBIAN/$(1)/