All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/1] fetch2/__init__.py: remove broken sysmlink
@ 2014-08-19  9:07 Robert Yang
  2014-08-19  9:07 ` [PATCH 1/1] " Robert Yang
  0 siblings, 1 reply; 4+ messages in thread
From: Robert Yang @ 2014-08-19  9:07 UTC (permalink / raw)
  To: bitbake-devel

The following changes since commit 201af937a0a45dd0203b1a4a00cffa7a24a31c20:

  newbb.vim: remove PR (2014-08-18 17:30:25 -0700)

are available in the git repository at:

  git://git.pokylinux.org/poky-contrib rbt/dl
  http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=rbt/dl

Robert Yang (1):
  fetch2/__init__.py: remove broken sysmlink

 bitbake/lib/bb/fetch2/__init__.py |    5 +++++
 1 file changed, 5 insertions(+)

-- 
1.7.9.5



^ permalink raw reply	[flat|nested] 4+ messages in thread

* [PATCH 1/1] fetch2/__init__.py: remove broken sysmlink
  2014-08-19  9:07 [PATCH 0/1] fetch2/__init__.py: remove broken sysmlink Robert Yang
@ 2014-08-19  9:07 ` Robert Yang
  2014-08-19 10:15   ` Martin Jansa
  0 siblings, 1 reply; 4+ messages in thread
From: Robert Yang @ 2014-08-19  9:07 UTC (permalink / raw)
  To: bitbake-devel

Fixed:
(Simulate mirror the tarball from PREMIRRORS)
$ ln -sf /path/to/local/PREMIRROR/bzip2 bzip2-1.0.6.tar.gz
(Simulate the PREMIRRORS are gone)
$ rm -f /path/to/local/PREMIRROR/bzip2-1.0.6.tar.gz
$ bitbake bzip2 -ccleansstate && bitbake bzip2 -cfetch

Then the newly get bzip2-1.0.6.tar.gz will be saved to
/path/to/local/PREMIRROR/bzip2-1.0.6.tar.gz rather than then the DL_DIR,
or get error if we don't have the write permission on to the mirror.
This is because wget uses "lstat()" to follow the symlink for FTP (but
fstat() for HTTP, so http doesn't have this issue), and we can't fix
wget (this might be intended by wget) since it is one of
SANITY_REQUIRED_UTILITIES.

Remove the broken sysmlink in DL_DIR will fix the problem.

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
---
 bitbake/lib/bb/fetch2/__init__.py |    5 +++++
 1 file changed, 5 insertions(+)

diff --git a/bitbake/lib/bb/fetch2/__init__.py b/bitbake/lib/bb/fetch2/__init__.py
index df2f2b0..c95f177 100644
--- a/bitbake/lib/bb/fetch2/__init__.py
+++ b/bitbake/lib/bb/fetch2/__init__.py
@@ -1081,6 +1081,11 @@ class FetchData(object):
         self.donestamp = basepath + '.done'
         self.lockfile = basepath + '.lock'
 
+        # Remove the broken sysmlink
+        if self.localpath and not os.path.exists(self.localpath) and \
+                os.path.islink(self.localpath):
+            os.unlink(self.localpath)
+
     def setup_revisons(self, d):
         self.revisions = {}
         for name in self.names:
-- 
1.7.9.5



^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH 1/1] fetch2/__init__.py: remove broken sysmlink
  2014-08-19  9:07 ` [PATCH 1/1] " Robert Yang
@ 2014-08-19 10:15   ` Martin Jansa
  2014-08-19 10:34     ` Robert Yang
  0 siblings, 1 reply; 4+ messages in thread
From: Martin Jansa @ 2014-08-19 10:15 UTC (permalink / raw)
  To: Robert Yang; +Cc: bitbake-devel

[-- Attachment #1: Type: text/plain, Size: 2367 bytes --]

On Tue, Aug 19, 2014 at 02:07:41AM -0700, Robert Yang wrote:
> Fixed:
> (Simulate mirror the tarball from PREMIRRORS)
> $ ln -sf /path/to/local/PREMIRROR/bzip2 bzip2-1.0.6.tar.gz
> (Simulate the PREMIRRORS are gone)
> $ rm -f /path/to/local/PREMIRROR/bzip2-1.0.6.tar.gz
> $ bitbake bzip2 -ccleansstate && bitbake bzip2 -cfetch

Why does it need to re-fetch it when you haven't don't cleanall?

If it has different checksums, then fetcher should rename it, before
re-downloading it.

Shouldn't fetcher just use bzip2-1.0.6.tar.gz if there is
bzip2-1.0.6.tar.gz.done?

I'm not saying that your change isn't correct, but maybe it uncovers
worse issue with fetcher redownloading unnecessary.

> Then the newly get bzip2-1.0.6.tar.gz will be saved to
> /path/to/local/PREMIRROR/bzip2-1.0.6.tar.gz rather than then the DL_DIR,
> or get error if we don't have the write permission on to the mirror.
> This is because wget uses "lstat()" to follow the symlink for FTP (but
> fstat() for HTTP, so http doesn't have this issue), and we can't fix
> wget (this might be intended by wget) since it is one of
> SANITY_REQUIRED_UTILITIES.
> 
> Remove the broken sysmlink in DL_DIR will fix the problem.

type symlink

> 
> Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
> ---
>  bitbake/lib/bb/fetch2/__init__.py |    5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/bitbake/lib/bb/fetch2/__init__.py b/bitbake/lib/bb/fetch2/__init__.py
> index df2f2b0..c95f177 100644
> --- a/bitbake/lib/bb/fetch2/__init__.py
> +++ b/bitbake/lib/bb/fetch2/__init__.py
> @@ -1081,6 +1081,11 @@ class FetchData(object):
>          self.donestamp = basepath + '.done'
>          self.lockfile = basepath + '.lock'
>  
> +        # Remove the broken sysmlink

typo "symlink"

> +        if self.localpath and not os.path.exists(self.localpath) and \
> +                os.path.islink(self.localpath):
> +            os.unlink(self.localpath)
> +
>      def setup_revisons(self, d):
>          self.revisions = {}
>          for name in self.names:
> -- 
> 1.7.9.5
> 
> -- 
> _______________________________________________
> bitbake-devel mailing list
> bitbake-devel@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/bitbake-devel

-- 
Martin 'JaMa' Jansa     jabber: Martin.Jansa@gmail.com

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 188 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH 1/1] fetch2/__init__.py: remove broken sysmlink
  2014-08-19 10:15   ` Martin Jansa
@ 2014-08-19 10:34     ` Robert Yang
  0 siblings, 0 replies; 4+ messages in thread
From: Robert Yang @ 2014-08-19 10:34 UTC (permalink / raw)
  To: Martin Jansa; +Cc: bitbake-devel



On 08/19/2014 06:15 PM, Martin Jansa wrote:
> On Tue, Aug 19, 2014 at 02:07:41AM -0700, Robert Yang wrote:
>> Fixed:
>> (Simulate mirror the tarball from PREMIRRORS)
>> $ ln -sf /path/to/local/PREMIRROR/bzip2 bzip2-1.0.6.tar.gz
>> (Simulate the PREMIRRORS are gone)
>> $ rm -f /path/to/local/PREMIRROR/bzip2-1.0.6.tar.gz
>> $ bitbake bzip2 -ccleansstate && bitbake bzip2 -cfetch
>
> Why does it need to re-fetch it when you haven't don't cleanall?

I met this error when the local PREMIRROR is gone, I think that
it needs re-fetch is because the symlink is broken? (os.path.exits()
returns False ?)

>
> If it has different checksums, then fetcher should rename it, before
> re-downloading it.
>
> Shouldn't fetcher just use bzip2-1.0.6.tar.gz if there is
> bzip2-1.0.6.tar.gz.done?
>
> I'm not saying that your change isn't correct, but maybe it uncovers
> worse issue with fetcher redownloading unnecessary.
>
>> Then the newly get bzip2-1.0.6.tar.gz will be saved to
>> /path/to/local/PREMIRROR/bzip2-1.0.6.tar.gz rather than then the DL_DIR,
>> or get error if we don't have the write permission on to the mirror.
>> This is because wget uses "lstat()" to follow the symlink for FTP (but
>> fstat() for HTTP, so http doesn't have this issue), and we can't fix
>> wget (this might be intended by wget) since it is one of
>> SANITY_REQUIRED_UTILITIES.
>>
>> Remove the broken sysmlink in DL_DIR will fix the problem.
>
> type symlink

Thanks, fixed the typos in the repo.

// Robert

>
>>
>> Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
>> ---
>>   bitbake/lib/bb/fetch2/__init__.py |    5 +++++
>>   1 file changed, 5 insertions(+)
>>
>> diff --git a/bitbake/lib/bb/fetch2/__init__.py b/bitbake/lib/bb/fetch2/__init__.py
>> index df2f2b0..c95f177 100644
>> --- a/bitbake/lib/bb/fetch2/__init__.py
>> +++ b/bitbake/lib/bb/fetch2/__init__.py
>> @@ -1081,6 +1081,11 @@ class FetchData(object):
>>           self.donestamp = basepath + '.done'
>>           self.lockfile = basepath + '.lock'
>>
>> +        # Remove the broken sysmlink
>
> typo "symlink"
>
>> +        if self.localpath and not os.path.exists(self.localpath) and \
>> +                os.path.islink(self.localpath):
>> +            os.unlink(self.localpath)
>> +
>>       def setup_revisons(self, d):
>>           self.revisions = {}
>>           for name in self.names:
>> --
>> 1.7.9.5
>>
>> --
>> _______________________________________________
>> bitbake-devel mailing list
>> bitbake-devel@lists.openembedded.org
>> http://lists.openembedded.org/mailman/listinfo/bitbake-devel
>


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2014-08-19 10:34 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-08-19  9:07 [PATCH 0/1] fetch2/__init__.py: remove broken sysmlink Robert Yang
2014-08-19  9:07 ` [PATCH 1/1] " Robert Yang
2014-08-19 10:15   ` Martin Jansa
2014-08-19 10:34     ` Robert Yang

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.