From: Jon Ringle <jon@ringle.org>
To: ptxdist@pengutronix.de
Subject: Re: [ptxdist] [PATCHv4] ptxdist getdev: Download dev packages from ${PTXCONF_PROJECT_DEVMIRROR}
Date: Sat, 1 Feb 2014 15:37:26 -0500 [thread overview]
Message-ID: <CAMwGMjypOn7tQ1932tHBT23kAVYLAy7jXdrVU6E+xrj-V5Zbfg@mail.gmail.com> (raw)
In-Reply-To: <20140129142755.GB9989@pengutronix.de>
On Wed, Jan 29, 2014 at 9:27 AM, Michael Olbrich
<m.olbrich@pengutronix.de> wrote:
> On Fri, Jan 24, 2014 at 01:09:13PM -0500, Jon Ringle wrote:
>> On Fri, Jan 24, 2014 at 12:59 PM, <jon@ringle.org> wrote:
>> > From: Jon Ringle <jringle@gridpoint.com>
>> >
>> > This patch allows you to setup a dev package mirror to hold *-dev.tar.gz
>> > packages.
>> >
>> > Upload your *-dev.tar.gz packages to your mirror, then you can avoid
>> > rebuilding all your packages by doing:
>> >
>> > ptxdist getdev
>> >
>> > Signed-off-by: Jon Ringle <jringle@gridpoint.com>
>> > ---
>> > bin/ptxdist | 5 +++++
>> > rules/post/ptxd_make_world_get.make | 9 +++++++++
>> > rules/project-name.in | 9 +++++++++
>> > scripts/lib/ptxd_lib_dgen.awk | 7 +++++++
>> > scripts/lib/ptxd_make_get.sh | 15 ++++++++-------
>> > 5 files changed, 38 insertions(+), 7 deletions(-)
>> >
>> > diff --git a/bin/ptxdist b/bin/ptxdist
>> > index f9cbdec..663c41e 100755
>> > --- a/bin/ptxdist
>> > +++ b/bin/ptxdist
>> > @@ -1789,6 +1789,11 @@ EOF
>> > fi
>> > exit
>> > ;;
>> > + getdev)
>> > + check_premake &&
>> > + ptxd_make_log getdev
>> > + exit
>> > + ;;
>> > go|images)
>> > do_${cmd}
>> > exit
>> > diff --git a/rules/post/ptxd_make_world_get.make b/rules/post/ptxd_make_world_get.make
>> > index 152674c..b99102f 100644
>> > --- a/rules/post/ptxd_make_world_get.make
>> > +++ b/rules/post/ptxd_make_world_get.make
>> > @@ -26,6 +26,11 @@ $(SRCDIR)/%:
>> > @$(call targetinfo)
>> > @$(call get, $($@))
>> >
>> > +ifneq ($(call remove_quotes, $(PTXCONF_PROJECT_DEVPKGDIR)),)
>> > +$(call remove_quotes, $(PTXCONF_PROJECT_DEVPKGDIR))/%-dev.tar.gz:
>> > + @$(call targetinfo)
>> > + @$(call getdev, $@)
>> > +endif
>> >
>> > $(STATEDIR)/%.get:
>> > @$(call targetinfo)
>> > @@ -59,4 +64,8 @@ get = \
>> > check_src = \
>> > ptxd_make_check_src "$($(strip $(1))_SOURCE)" "$($(strip $(1))_MD5)"
>> >
>> > +getdev = \
>> > + ptxd_make_get_nofail=y \
>> > + ptxd_make_get "$(strip $(1))" "$(call remove_quotes, $(PTXCONF_PROJECT_DEVMIRROR))/$(notdir $(1))"
>> > +
>> > # vim: syntax=make
>> > diff --git a/rules/project-name.in b/rules/project-name.in
>> > index f546458..d1cd09a 100644
>> > --- a/rules/project-name.in
>> > +++ b/rules/project-name.in
>> > @@ -180,4 +180,13 @@ config PROJECT_DEVPKGDIR
>> > depends on PROJECT_USE_DEVPKGS
>> > default "/opt/OSELAS.BSP/${PTXCONF_PROJECT_VENDOR}/OSELAS.BSP-${PTXCONF_PROJECT_VENDOR}-${PTXCONF_PROJECT}${PTXCONF_PROJECT_VERSION}"
>> >
>> > +config PROJECT_DEVMIRROR
>> > + string
>> > + prompt "Mirror for pre-build archives"
>> > + depends on PROJECT_USE_DEVPKGS
>> > + help
>> > + Enter a URL where *-dev.tar.gz packages can be downloaded
>> > + Use: ptxdist getdev
>> > +
>> > +
>> > endmenu
>> > diff --git a/scripts/lib/ptxd_lib_dgen.awk b/scripts/lib/ptxd_lib_dgen.awk
>> > index 7f790c9..6cd60e2 100644
>> > --- a/scripts/lib/ptxd_lib_dgen.awk
>> > +++ b/scripts/lib/ptxd_lib_dgen.awk
>> > @@ -241,6 +241,13 @@ function write_deps_pkg_all(this_PKG, this_pkg) {
>> > # .get rule
>> > #
>> > print "$(STATEDIR)/" this_pkg ".get: $(" this_PKG "_SOURCES)" > DGEN_DEPS_POST;
>> > + print "ifneq ($(call remove_quotes, $(PTXCONF_PROJECT_DEVMIRROR)),)" > DGEN_DEPS_POST;
>> > + print "ifneq ($($(" this_PKG "_DEVPKG)),NO)" > DGEN_DEPS_POST;
>> > + print "ifneq ($(" this_PKG "_CFGHASH),)" > DGEN_DEPS_POST;
>> > + print "getdev: $(call remove_quotes, $(PTXCONF_PROJECT_DEVPKGDIR))/$(" this_PKG "_DEVPKG)" > DGEN_DEPS_POST;
>> > + print "endif" > DGEN_DEPS_POST;
>> > + print "endif" > DGEN_DEPS_POST;
>> > + print "endif" > DGEN_DEPS_POST;
>> > }
>> >
>> > function write_deps_pkg_active(this_PKG, this_pkg, prefix) {
>> > diff --git a/scripts/lib/ptxd_make_get.sh b/scripts/lib/ptxd_make_get.sh
>> > index f4d7922..1ce913f 100644
>> > --- a/scripts/lib/ptxd_make_get.sh
>> > +++ b/scripts/lib/ptxd_make_get.sh
>> > @@ -285,7 +285,7 @@ ptxd_make_get() {
>> > argv[${#argv[@]}]="${url}"
>> > mrd=true
>> > ;;
>> > - ${PTXCONF_SETUP_PTXMIRROR}/*)
>> > + ${PTXCONF_SETUP_PTXMIRROR}/*|${PTXCONF_PROJECT_DEVMIRROR}/*)
>>
>> I moved this to where you asked me to, but now since mrd is
>> conditionally set, it is always replacing PTXCONF_SETUP_PTXMIRROR for
>> the DEVMIRROR. When I had it on the previous case in the switch, it
>> would not do that. This brings me back to the other issue I'm having
>> http://article.gmane.org/gmane.comp.embedded.ptxdist.devel/10980
>
> I've reworked the URL handling and applied your patch with a small change
> in ptxd_make_world_get.make. And I've implemented the whitelist.
> Can you please test if it works as expexted now?
Yes, the whitelist is working as expected. Thanks!
--
ptxdist mailing list
ptxdist@pengutronix.de
prev parent reply other threads:[~2014-02-01 20:37 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-01-24 17:59 jon
2014-01-24 18:09 ` Jon Ringle
2014-01-29 14:27 ` Michael Olbrich
2014-02-01 20:37 ` Jon Ringle [this message]
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=CAMwGMjypOn7tQ1932tHBT23kAVYLAy7jXdrVU6E+xrj-V5Zbfg@mail.gmail.com \
--to=jon@ringle.org \
--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