oops
[build.git] / Makefile
index 499b3a2..6743529 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -330,6 +330,15 @@ $(foreach package, $(ALL), $(eval $(call package_hasdate,$(package))))
 
 ### the common header for generated specfiles
 # useful when trying new specfiles manually
+###
+# note for fedora23 (and onwards, probably)
+# many rpms wouldn't build as-is and issue an weird error
+##
+# Processing files: pl_sshd-debuginfo-1.0-11.lxc.x86_64
+# error: Empty %files file /longbuildroot/BUILD/pl_sshd-1.0/debugfiles.list
+##
+# so to work around that we define debug_package as being nil
+# only for f23 for now, let's see what this gives us..
 header.spec:
        (echo -n "# Generated by planetlab build on " ; date) > $@
        echo "%define distro $(DISTRO)" >> $@
@@ -342,6 +351,9 @@ header.spec:
        echo "%global _source_filedigest_algorithm 1" >> $@
        echo "%global _source_payload       w9.gzdio" >> $@
        echo "%global _binary_payload       w9.gzdio" >> $@
+ifeq "$(DISTRONAME)""$(filter $(DISTRONAME),f23)"
+       echo "%define debug_package %{nil}" >> $@
+endif
 
 ### make up spec file - extract module first
 define target_spec
@@ -426,6 +438,10 @@ export HOME := $(FAKEROOT)
 else
 export HOME := $(PWD)
 endif
+
+# rpm macros
+# build.common (getrpmmacros.sh) defines some utilities we want in place on our images
+# in addition to these we set a few others for the build
 .rpmmacros:
 ifeq "$(shell pwd)" "/build"
        rm -f $(FAKEROOT) ; ln -s $(REALROOT) $(FAKEROOT)
@@ -461,7 +477,7 @@ STATIC_VARS=PLDISTRO PLDISTROTAGS build-GITPATH PERSONALITY MAILTO BASE WEBPATH
 define assigned_varname
 $(if $(findstring =,$(1)),$(firstword $(subst =, ,$(1))) )
 endef
-ASSIGNED=$(foreach flag,$(MAKEFLAGS),$(call assigned_varname,$(flag)))
+ASSIGNED=$(filter-out stage1 stage1iter,$(foreach flag,$(MAKEFLAGS),$(call assigned_varname,$(flag))))
 SAVED_VARS=$(sort $(STATIC_VARS) $(ASSIGNED))
 envfrompreviousrun.mk:
        @echo "# do not edit" > $@
@@ -565,11 +581,11 @@ endef
 
 # install stock rpms if defined
 define rpmyum_install_stock_rpms 
-       $(if $($(1)-STOCK-DEVEL-RPMS), echo "Installing for $(1)-STOCK-DEVEL-RPMS" ; $(RPMYUM-INSTALL-STOCK) $($(1)-STOCK-DEVEL-RPMS))
+       $(if $($(1)-STOCK-DEVEL-RPMS), echo "Installing for $(1)-STOCK-DEVEL-RPMS" ; $(RPMYUM-INSTALL-STOCK) $($(1)-STOCK-DEVEL-RPMS) || true)
 endef
 
 define rpmyum_uninstall_stock_rpms
-       -$(if $($(1)-STOCK-DEVEL-RPMS), echo "Unstalling for $(1)-STOCK-DEVEL-RPMS" ; $(RPMYUM-UNINSTALL-STOCK) $($(1)-STOCK-DEVEL-RPMS))
+       -$(if $($(1)-STOCK-DEVEL-RPMS), echo "Unstalling for $(1)-STOCK-DEVEL-RPMS" ; $(RPMYUM-UNINSTALL-STOCK) $($(1)-STOCK-DEVEL-RPMS) || true)
 endef
 
 # similar for debians
@@ -583,11 +599,11 @@ define dpkgapt_install_local_debs
 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))
+       $(if $($(1)-STOCK-DEVEL-DEBS), echo "Installing for $(1)-STOCK-DEVEL-DEBS" ; $(DPKGAPT-INSTALL-STOCK) $($(1)-STOCK-DEVEL-DEBS) || true)
 endef
 
 define dpkgapt_uninstall_stock_debs
-       -$(if $($(1)-STOCK-DEVEL-DEBS), echo "Unstalling for $(1)-STOCK-DEVEL-DEBS" ; $(DPKGAPT-UNINSTALL-STOCK) $($(1)-STOCK-DEVEL-DEBS))
+       -$(if $($(1)-STOCK-DEVEL-DEBS), echo "Unstalling for $(1)-STOCK-DEVEL-DEBS" ; $(DPKGAPT-UNINSTALL-STOCK) $($(1)-STOCK-DEVEL-DEBS) || true)
 endef
 
 
@@ -704,6 +720,11 @@ endef
 
 $(foreach package,$(ALL),$(eval $(call target_depends,$(package))))
 
+####################
+# debian meta-target
+ALL-DEBIAN := $(foreach target,$(ALL),$(target)-debian)
+debian: $(ALL-DEBIAN)
+
 ####################
 # very rough for now (one module per package), targets only sfa for now
 # the general idea here is, changing the specfile (for version number and all) is enough, and this
@@ -716,7 +737,7 @@ $(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)/
+       rsync -a MODULES/$($(1).module)/ DEBIAN/$(1)/
        make -C DEBIAN/$(1) "RPMTARBALL=$(HOME)/$($(1).tarballs)" "RPMVERSION=$($(1).rpm-version)" "RPMRELEASE=$($(1).rpm-release)" "RPMNAME=$($(1).rpm-name)" debian
        $(call dpkgapt_uninstall_stock_debs,$(1))
 endef
@@ -783,7 +804,7 @@ clean-help:
 distclean1:
        rm -rf envfrompreviousrun.mk .rpmmacros spec2make header.spec SPECS MAKE $(DISTCLEANS)
 distclean2:
-       rm -rf MODULES SOURCES BUILD BUILDROOT RPMS SRPMS tmp
+       rm -rf MODULES SOURCES BUILD BUILDROOT RPMS SRPMS DEBIAN tmp
 distclean: distclean1 distclean2
 .PHONY: distclean1 distclean2 distclean