mailarchive of the ptxdist mailing list
 help / color / mirror / Atom feed
From: Michael Olbrich <m.olbrich@pengutronix.de>
To: ptxdist@pengutronix.de
Subject: Re: [ptxdist] [PATCH] django: new package to provide Django 1.6.5
Date: Thu, 31 Jul 2014 10:14:14 +0200	[thread overview]
Message-ID: <20140731081414.GB29377@pengutronix.de> (raw)
In-Reply-To: <1406743955-30185-1-git-send-email-u.kleine-koenig@pengutronix.de>

On Wed, Jul 30, 2014 at 08:12:35PM +0200, Uwe Kleine-König wrote:
> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
> ---
>  rules/django.in   | 29 +++++++++++++++++
>  rules/django.make | 93 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
>  2 files changed, 122 insertions(+)
>  create mode 100644 rules/django.in
>  create mode 100644 rules/django.make
> 
> diff --git a/rules/django.in b/rules/django.in
> new file mode 100644
> index 000000000000..8b66702d4c67
> --- /dev/null
> +++ b/rules/django.in
> @@ -0,0 +1,29 @@
> +## SECTION=networking
> +
> +menuconfig DJANGO
> +	tristate
> +	select PYTHON
> +	select PYTHON_SQLITE
> +	select PYTHON_ZLIB
> +	prompt "Django                        "
> +	help
> +	  Django is a high-level Python Web framework that encourages rapid
> +	  development and clean, pragmatic design.
> +
> +if DJANGO
> +
> +menu "locales"

Hmmm, I think a string with a proper comment here is better. 'Space
separated list of locales, e.g. "de en"...'
No need to make it harder than necessary to add new locales.

> +
> +	config DJANGO_LOCALE_DE
> +		bool
> +		prompt "de"
> +
> +	config DJANGO_LOCALE_EN
> +		bool
> +		prompt "en"
> +
> +	# add more if needed
> +
> +endmenu
> +
> +endif
> diff --git a/rules/django.make b/rules/django.make
> new file mode 100644
> index 000000000000..256f7b8dab0a
> --- /dev/null
> +++ b/rules/django.make
> @@ -0,0 +1,93 @@
> +# -*-makefile-*-
> +#
> +# Copyright (C) 2014 by Uwe Kleine-Koenig <u.kleine-koenig@pengutronix.de>
> +#
> +# See CREDITS for details about who has contributed to this project.
> +#
> +# For further information about the PTXdist project and license conditions
> +# see the README file.
> +#
> +
> +#
> +# We provide this package
> +#
> +PACKAGES-$(PTXCONF_DJANGO) += django
> +
> +#
> +# Paths and names
> +#
> +DJANGO_VERSION	:= 1.6.5
> +DJANGO_MD5	:= e4c5b2d35ecb3807317713afa70a0c77
> +DJANGO		:= Django-$(DJANGO_VERSION)
> +DJANGO_SUFFIX	:= tar.gz
> +DJANGO_URL	:= https://www.djangoproject.com/download/$(DJANGO_VERSION)/tarball/
> +DJANGO_SOURCE	:= $(SRCDIR)/$(DJANGO).$(DJANGO_SUFFIX)
> +DJANGO_DIR	:= $(BUILDDIR)/$(DJANGO)
> +DJANGO_LICENSE	:= BSD
> +
> +# ----------------------------------------------------------------------------
> +# Prepare
> +# ----------------------------------------------------------------------------
> +
> +DJANGO_PATH		:= PATH=$(CROSS_PATH)
> +DJANGO_CONF_TOOL	:= NO
> +DJANGO_MAKE_ENV		:= $(CROSS_ENV)
> +
> +DJANGO_LOCALES-y :=
> +DJANGO_LOCALES-$(PTXCONF_DJANGO_LOCALE_DE) += de
> +DJANGO_LOCALES-$(PTXCONF_DJANGO_LOCALE_EN) += en
> +
> +# ----------------------------------------------------------------------------
> +# Compile
> +# ----------------------------------------------------------------------------
> +
> +$(STATEDIR)/django.compile:
> +	@$(call targetinfo)
> +	cd $(DJANGO_DIR) && \
> +		$(DJANGO_PATH) $(DJANGO_MAKE_ENV) \
> +		$(CROSS_PYTHON) setup.py build

I think the prefix should be added here as well, in case it's used in some
code generation etc.

> +	@$(call touch)
> +
> +# ----------------------------------------------------------------------------
> +# Install
> +# ----------------------------------------------------------------------------
> +
> +$(STATEDIR)/django.install:
> +	@$(call targetinfo)
> +	cd $(DJANGO_DIR) && \
> +		$(DJANGO_PATH) $(DJANGO_MAKE_ENV) \
> +		$(CROSS_PYTHON) setup.py install --root=$(DJANGO_PKGDIR) --prefix=/usr -O2

Why '-O2' here and not in the compile stage?

> +	@$(call touch)
> +
> +# ----------------------------------------------------------------------------
> +# Target-Install
> +# ----------------------------------------------------------------------------
> +
> +$(STATEDIR)/django.targetinstall:
> +	@$(call targetinfo)
> +
> +	@$(call install_init, django)
> +	@$(call install_fixup, django, PRIORITY, optional)
> +	@$(call install_fixup, django, SECTION, base)
> +	@$(call install_fixup, django, AUTHOR, "Robert Schwebel <r.schwebel@pengutronix.de>")
> +	@$(call install_fixup, django, DESCRIPTION, missing)
> +
> +	# everything but locales
> +	find "$(DJANGO_PKGDIR)" -type d -name locale -prune -o -type f -printf '/%P\n' | while read fn; do \
> +		$(call install_copy, django, 0, 0, 0644, -, $$fn); \
> +	done

I dislike just dumping everything in the package, e.g. the egg-info is not
needed. Install /usr/bin/django-admin.py explicitly and then use:

	@cd /usr/lib/python$(PYTHON_MAJORMINOR)/site-packages/django/ && find ...

This way it breaks in case something went wrong and the directory is
missing.

> +
> +	# locales
> +	find "$(DJANGO_PKGDIR)" -type d -name locale -printf '/%P\n' | while read localedir; do \
> +		for locale in $(DJANGO_LOCALES-y); do \
> +			find "$(DJANGO_PKGDIR)$$localedir/$$locale" -type f -printf "$$localedir/$$locale/%P\n" | while read fn; do \

Same here with 'cd' and I think the django.po files are not needed, just
the Python stuff and the compiled django.mo

Michael

> +				$(call install_copy, django, 0, 0, 0644, -, $$fn); \
> +			done; \
> +		done; \
> +	done
> +
> +	@$(call install_finish, django)
> +
> +	@$(call touch)
> +
> +# vim: syntax=make
> -- 
> 2.0.1
> 
> 
> -- 
> ptxdist mailing list
> ptxdist@pengutronix.de

-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

-- 
ptxdist mailing list
ptxdist@pengutronix.de

  reply	other threads:[~2014-07-31  8:14 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-07-30 18:12 Uwe Kleine-König
2014-07-31  8:14 ` Michael Olbrich [this message]
2014-07-31  8:44   ` Uwe Kleine-König
2014-07-31  9:08     ` Michael Olbrich
2014-07-31  9:17       ` Uwe Kleine-König
2014-07-31  9:59         ` Michael Olbrich
2014-07-31 19:34           ` [ptxdist] [PATCH v2] " Uwe Kleine-König

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20140731081414.GB29377@pengutronix.de \
    --to=m.olbrich@pengutronix.de \
    --cc=ptxdist@pengutronix.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox