* [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.