#!/usr/bin/make -f # resolve DEB_UPSTREAM_VERSION include /usr/share/dpkg/pkg-info.mk # These need to be declared/run before CDBS includes pkg-jarabe = python3-jarabe pkg-session = sugar-session DEB_BUILDDIR = build DEB_PYTHON3_MODULE_PACKAGES = $(pkg-jarabe) $(pkg-session) include /usr/share/cdbs/1/class/python-autotools.mk include /usr/share/cdbs/1/rules/autoreconf.mk include /usr/share/cdbs/1/rules/debhelper.mk comma = , pkg-sucrose = sucrose # Core activities # https://wiki.sugarlabs.org/go/Development_Team/Release/Modules#Fructose fructose = chat browse read calculate log write terminal pippy etoys fructose += imageviewer jukebox turtleart # Core activities not in Debian main fructose-relax = etoys turtleart pkg-fructose = $(patsubst %,$(comma) sugar-%-activity,\ $(filter-out $(fructose-relax),$(fructose))) pkg-fructose-relaxed = $(patsubst %,$(comma) sugar-%-activity,\ $(fructose-relax)) # Needed (always/often/sometimes) at runtime # * Glucose (at least current branch) # * network-manager (NM_SERVICE) used in extensions and jarabe # + modemmanager (NM_DEVICE_TYPE_MODEM) used in extensions and jarabe # + avahi-autoipd (NM_802_11_MODE_ADHOC) used in jarabe # * dbus-session-bus (bus.get_object) used in bin/sugar-launch, bin/sugar-erase-bundle, exensions and jarabe # + python3-carquinyol (org.laptop.sugar.DataStore) used in jarabe # + upower (org.freedesktop.UPower) used in extensions # + consolekit (org.freedesktop.ConsoleKit) # or systemd (org.freedesktop.login1) used in jarabe # + telepathy-mission-control-5 (ACCOUNT_MANAGER_SERVICE) used in jarabe # + ohmd (org.freedesktop.ohm) used in extensions jarabe # * metacity used in jarabe # * lsb-release (lsb_release) used in extensions # * tzdata (/usr/share/zoneinfo) used in extensions # * ethtool used in extensions # * openssh-client (ssh-keygen) used in jarabe # * olpc-powerd (/etc/powerd/flags) needed in extensions # * gdb used in bin/sugar-launch # * gvfs needed for GIO removable media support # * xdg-user-dirs (xdg-user-dir) used in jarabe # * fonts-dejavu-core (Sans Serif) used in data/sugar.schemas # * mobile-broadband-provider-info used in extensions # * pkexec used in jarabe.model.brightness python-depends-session = sugar3 jarabe dbus cairo gir-depends-session = glib-2.0 gtk-3.0 pango-1.0 xkl-1.0 gir-depends-session += gudev-1.0 upowerglib-1.0 nm-1.0 depends-session = $(patsubst %,$(comma) python3-%,$(python-depends-session)) depends-session +=, $(patsubst %,$(comma) gir1.2-%,$(gir-depends-session)) depends-session +=, sugar-themes (>= $(DEB_UPSTREAM_VERSION)) python-depends-jarabe = sugar3 gwebsockets cairo dbus xapian gir-depends-jarabe = gdkpixbuf-2.0 glib-2.0 gtk-3.0 gtksource-3.0 gir-depends-jarabe += gstreamer-1.0 wnck-3.0 sugarext-1.0 pango-1.0 gir-depends-jarabe += xkl-1.0 webkit2-4.1 telepathyglib-0.12 depends-jarabe = $(patsubst %,$(comma) python3-%,$(python-depends-jarabe)) depends-jarabe +=, $(patsubst %,$(comma) gir1.2-%,$(gir-depends-jarabe)) depends-jarabe +=, metacity, pkexec recommends-session = lsb-release, network-manager, modemmanager, ethtool recommends-session +=, upower, gvfs, tzdata, fonts-dejavu-core recommends-session +=, default-dbus-session-bus | dbus-session-bus recommends-session +=, mobile-broadband-provider-info, telepathy-gabble, telepathy-salut recommends-session +=, $(pkg-fructose) recommends-jarabe = python3-carquinyol recommends-jarabe +=, default-dbus-session-bus | dbus-session-bus recommends-jarabe +=, network-manager, modemmanager recommends-jarabe +=, avahi-autoipd, openssh-client, xdg-user-dirs recommends-jarabe +=, libpam-systemd | consolekit suggests-session = gdb-minimal | gdb, olpc-powerd suggests-toolkit = git, ipython3, fonts-dejavu-extra suggests-activities = python3-elements, csound, gstreamer1.0-plugins-bad suggests-activities +=, gstreamer1.0-plugins-ugly, gstreamer1.0-libav suggests-session-only = $(pkg-sucrose) suggests-session-only +=, $(pkg-fructose-relaxed) suggests-jarabe-only = $(pkg-session) # Tighten relations in Sucrose metapackage: # * Depend on Glucose (at least current branch) # * Depend on Fructose # * Recommend non-Sugar helper parts # * Suggest deprecated Glucose parts # * Re-suggest weak parts (contrib/non-free/missing) depends-sucrose = $(pkg-session) depends-sucrose +=, python3-carquinyol depends-sucrose +=, $(pkg-fructose) recommends-sucrose = $(suggests-session), $(suggests-toolkit) recommends-sucrose +=, $(suggests-activities) suggests-sucrose +=, $(pkg-fructose-relaxed) suggests-sucrose +=, python3-sugar CDBS_DEPENDS_$(pkg-session) = $(depends-session) CDBS_DEPENDS_$(pkg-jarabe) = $(depends-jarabe) CDBS_DEPENDS_$(pkg-sucrose) = $(depends-sucrose) CDBS_RECOMMENDS_$(pkg-session) = $(recommends-session) CDBS_RECOMMENDS_$(pkg-jarabe) = $(recommends-jarabe) CDBS_RECOMMENDS_$(pkg-sucrose) = $(recommends-sucrose) CDBS_SUGGESTS_$(pkg-session) = $(suggests-session) CDBS_SUGGESTS_$(pkg-session) +=, $(suggests-session-only) CDBS_SUGGESTS_$(pkg-jarabe) = $(suggests-jarabe-only) CDBS_SUGGESTS_$(pkg-sucrose) = $(suggests-sucrose) # Provide virtual sugar package to ease install # Provide virtual x-session-manager package to avoid pulling in gnome-session CDBS_PROVIDES_$(pkg-session) +=, sugar, x-session-manager # Provide virtual notification-daemon package CDBS_PROVIDES_$(pkg-jarabe) +=, notification-daemon # avoid libsoup2.4 and libsoup3 in same process (see bug#1061531) CDBS_BREAKS_$(pkg-session) +=, sugar-browse-activity (<< 207-3~) DEB_PYTHON3_PRIVATE_MODULES_DIRS = /usr/share/sugar # Fix favor ISO 639-1 when differing from ISO 639-2 # avoid shipping Python cache files binary-post-install/$(pkg-session):: mv debian/$(cdbs_curpkg)/usr/share/locale/ibo \ debian/$(cdbs_curpkg)/usr/share/locale/ig find debian/$(cdbs_curpkg)/usr -type f -name '*.pyc' -delete find debian/$(cdbs_curpkg)/usr -type d -empty -delete # Ensure optimal hash-bang + dependency for scripts (see Python Policy) CDBS_DEPENDS_$(pkg-session) +=, python3 binary-fixup/$(pkg-session):: egrep -r -l -Z '^#! ?/usr/bin/(env )?python[[:print:]]*$$' \ debian/$(cdbs_curpkg)/usr/bin/* \ | xargs -r -0 perl -pi -e 's,^#! ?/usr/bin/(env )?python[[:print:]]*$$,#!/usr/bin/$(strip $(cdbs_curpythonruntime)),'