Codebase list sugar-pippy-activity / b105770
Support multiple activity packages from one source in python-sugar.mk. Jonas Smedegaard 16 years ago
2 changed file(s) with 39 addition(s) and 37 deletion(s). Raw diff Collapse all Expand all
2929 include $(_cdbs_rules_path)/debhelper.mk$(_cdbs_makefile_suffix)
3030
3131 # Declare Build-Deps for packages using this file
32 CDBS_BUILD_DEPENDS := $(CDBS_BUILD_DEPENDS), python-sugar, python-sugar-toolkit (>= 0.79.6-2), unzip
32 CDBS_BUILD_DEPENDS := $(CDBS_BUILD_DEPENDS), python-sugar, python-sugar-toolkit (>= 0.79.6-2~), unzip
3333 # FIXME: Resolve DEB_PYTHON_PACKAGES in build targets only
3434 ifeq (,$(cdbs_python_pkg_check)$(DEB_PYTHON_ARCH_PACKAGES))
3535 ifneq (, $(cdbs_python_compile_version))
4646 CDBS_BUILD_DEPENDS := $(CDBS_BUILD_DEPENDS), python-central (>= 0.5.6)
4747 endif
4848
49 DEB_PYTHON_SUGAR_PACKAGES = $(filter sugar-%-activity, $(DEB_PACKAGES))
50
4951 # Files or `find -name`-compatible search patterns to add to temp MANIFEST
5052 #DEB_PYTHON_SUGAR_MANIFEST = *.py *.po *.pot *.svg
5153
5254 DEB_PYTHON_SUGAR_MANIFEST_REGEX =
5355 DEB_PYTHON_SUGAR_MANIFEST_IGNORE_REGEX = ^debian/.*
5456
57 # TODO: Move this to buildvars.mk
58 cdbs_pkgsrcdir = $(if $(DEB_PKGSRCDIR_$(cdbs_curpkg)),$(DEB_PKGSRCDIR_$(cdbs_curpkg)),$(DEB_SRCDIR))
59
5560 cdbs_python_sugar_manifest_files_tmp = $(patsubst %,-or -name '%',$(DEB_PYTHON_SUGAR_MANIFEST))
5661 cdbs_python_sugar_manifest_files = $(wordlist 2, $(words $(cdbs_python_sugar_manifest_files_tmp)), $(cdbs_python_sugar_manifest_files_tmp))
57 cdbs_python_sugar_manifest_files = $(if $(DEB_PYTHON_SUGAR_MANIFEST),$(DEB_SRCDIR)/MANIFEST)
5862
59 # Preserve upstream MANIFEST files if overridden
63 cdbs_python_sugar_automanifest = $(if $(DEB_PYTHON_SUGAR_MANIFEST_$(cdbs_curpkg)),$(DEB_PYTHON_SUGAR_MANIFEST_$(cdbs_curpkg)),$(DEB_PYTHON_SUGAR_MANIFEST))
64
6065 pre-build::
61 for i in $(cdbs_python_sugar_manifest_files); do \
62 if [ -e "$$i" ] && [ ! -e "$$i.cdbs-orig" ]; then \
63 mv "$$i" "$$i.cdbs-orig"; \
64 fi; \
66 mkdir -p debian/stamps-configure
67
68 # FIXME: make these targets *not* run twice but respect stamps!
69 $(patsubst %,configure/%,$(DEB_PYTHON_SUGAR_PACKAGES)) :: configure/%: debian/stamps-configure/%
70 $(patsubst %,debian/stamps-configure/%,$(DEB_PYTHON_SUGAR_PACKAGES)) :: debian/stamps-configure/%:
71 $(if $(cdbs_python_sugar_automanifest),i="$(cdbs_pkgsrcdir)/MANIFEST"; if [ -e "$$i" ] && [ ! -e "$$i.cdbs-orig" ]; then mv "$$i" "$$i.cdbs-orig"; fi)
72 $(if $(cdbs_python_sugar_automanifest),cd "$(cdbs_pkgsrcdir)" && find * -type f $(if $(cdbs_python_sugar_manifest_files)$(DEB_PYTHON_SUGAR_MANIFEST_REGEX),'(' $(cdbs_python_sugar_manifest_files) $(if $(DEB_PYTHON_SUGAR_MANIFEST_REGEX),$(if $(cdbs_python_sugar_manifest_files),-or )-regex '$(DEB_PYTHON_SUGAR_MANIFEST_REGEX)') ')') $(if $(DEB_PYTHON_SUGAR_MANIFEST_IGNORE_REGEX),-not -regex '$(DEB_PYTHON_SUGAR_MANIFEST_IGNORE_REGEX))' > "$(cdbs_pkgsrcdir)/MANIFEST")
73 touch $@
74
75 $(patsubst %,build/%,$(DEB_PYTHON_SUGAR_PACKAGES)) :: build/%:
76 for pythonver in $(cdbs_python_build_versions); do \
77 /usr/bin/python$$ver $(cdbs_pkgsrcdir)/setup.py dist; \
6578 done
6679
67 # Generate MANIFEST files
68 common-configure-arch common-configure-indep:: $(cdbs_python_sugar_manifest_files)
69 $(cdbs_python_sugar_manifest_files):
70 cd "$(dirname $@)" && find * -type f $(if $(cdbs_python_sugar_manifest_files)$(DEB_PYTHON_SUGAR_MANIFEST_REGEX),'(' $(cdbs_python_sugar_manifest_files) $(if $(DEB_PYTHON_SUGAR_MANIFEST_REGEX),$(if $(cdbs_python_sugar_manifest_files),-or )-regex '$(DEB_PYTHON_SUGAR_MANIFEST_REGEX)') ')') $(if $(DEB_PYTHON_SUGAR_MANIFEST_IGNORE_REGEX),-not -regex '$(DEB_PYTHON_SUGAR_MANIFEST_IGNORE_REGEX))' > "$@"
71
72 $(patsubst %,build/%,$(DEB_PACKAGES)) :: build/%:
80 $(patsubst %,install/%,$(DEB_PYTHON_SUGAR_PACKAGES)) :: install/%:
81 mkdir -p $(DEB_DESTDIR)usr/share/activities
7382 for pythonver in $(cdbs_python_build_versions); do \
74 /usr/bin/python$$ver setup.py dist; \
83 /usr/bin/python$$ver $(cdbs_pkgsrcdir)/setup.py install $(DEB_DESTDIR)usr/share/activities; \
7584 done
7685
77 $(patsubst %,install/%,$(DEB_PACKAGES)) :: install/%:
78 mkdir -p $(DEB_DESTDIR)usr/share/activities
79 for pythonver in $(cdbs_python_build_versions); do \
80 /usr/bin/python$$ver setup.py install $(DEB_DESTDIR)usr/share/activities; \
81 done
82
83 $(patsubst %,binary-install/%,$(DEB_PACKAGES)) :: binary-install/%:
86 $(patsubst %,binary-install/%,$(DEB_PYTHON_SUGAR_PACKAGES)) :: binary-install/%:
8487 ifeq (pysupport, $(DEB_PYTHON_SYSTEM))
8588 dh_pysupport -p$(cdbs_curpkg) $(DEB_PYTHON_PRIVATE_MODULES_DIRS) $(DEB_PYTHON_PRIVATE_MODULES_DIRS_$(cdbs_curpkg))
8689 else
8790 dh_pycentral -p$(cdbs_curpkg)
8891 endif
8992
90 clean::
93 clean:: $(patsubst %,cleanpythonsugar/%,$(DEB_PYTHON_SUGAR_PACKAGES))
94 ifeq (, $(cdbs_selected_pycompat))
95 echo "$(cdbs_pycompat)" >debian/pycompat
96 endif # use pycompat
97 rm -rf debian/stamps-configure
98
99 $(patsubst %,cleanpythonsugar/%,$(DEB_PYTHON_SUGAR_PACKAGES)) :: cleanpythonsugar/% :
91100 for pythonver in $(cdbs_python_build_versions); do \
92 /usr/bin/python$$ver setup.py clean; \
101 /usr/bin/python$$ver $(cdbs_pkgsrcdir)/setup.py clean; \
93102 done
94 find "$(DEB_SRCDIR)" -maxdepth 1 -type f -name '*.xo' -exec rm -f '{}' ';'
95 -IFS="`printf '\n'`" find "$(DEB_SRCDIR)/locale" -type f \( -name '*.mo' -or -name 'activity.linfo' \) | while read path; do \
103 find "$(cdbs_pkgsrcdir)" -maxdepth 1 -type f -name '*.xo' -exec rm -f '{}' ';'
104 -IFS="`printf '\n'`" find "$(cdbs_pkgsrcdir)/locale" -type f \( -name '*.mo' -or -name 'activity.linfo' \) | while read path; do \
96105 rm -f "$$path"; \
97106 rmdir --ignore-fail-on-non-empty "`dirname "$$path"`"; \
98107 done
99 -rmdir --ignore-fail-on-non-empty "$(DEB_SRCDIR)/locale"
100 for i in $(cdbs_python_sugar_manifest_files); do \
101 if test -e "$$i.cdbs-orig"; then \
102 mv -f "$$i.cdbs-orig" "$$i"; \
103 fi; \
104 done
105 ifeq (, $(cdbs_selected_pycompat))
106 echo "$(cdbs_pycompat)" >debian/pycompat
107 endif # use pycompat
108 -rmdir --ignore-fail-on-non-empty "$(cdbs_pkgsrcdir)/locale"
109 $(if $(cdbs_python_sugar_automanifest),i="$(cdbs_pkgsrcdir)/MANIFEST"; if test -e "$$i.cdbs-orig"; then mv -f "$$i.cdbs-orig" "$$i"; fi)
108110
109111 ## TODO: Drop this when DEB_PYTHON_PACKAGES is only resolved in build targets
110112 pre-build clean::
22 * Update cdbs tweaks:
33 + Clean *.xo and locale in python-sugar.mk (based on initial work by
44 Santiago Ruano Rincón).
5 + Fix preserving upstream MANIFEST files only once (and prepare for
6 supporting multiple activity packages from one source) in
5 + Fix preserve upstream MANIFEST files only once in python-sugar.mk.
6 + Support multiple activity packages from one source in
77 python-sugar.mk.
88 + Update copyright-check cdbs snippet to store newline-delimited
99 hints and strip any non-printable characters. Update
2121 * Semi-auto-update debian/control to update build-dependencies:
2222 DEB_AUTO_UPDATE_DEBIAN_CONTROL=yes fakeroot debian/rules clean
2323
24 -- Jonas Smedegaard <dr@jones.dk> Fri, 25 Apr 2008 17:21:23 +0200
24 -- Jonas Smedegaard <dr@jones.dk> Sat, 26 Apr 2008 19:16:49 +0200
2525
2626 sugar-pippy-activity (20~git.20080321-2) unstable; urgency=low
2727