Re: [yocto] bitbake is corrupting my files during unpacking

2018-07-27 Thread MOHAMMAD RASIM

Can you send the patch yourself since you already know how to do it ?


On 07/27/2018 12:34 PM, Burton, Ross wrote:

We don't take patches via pull requests (that repo is a mirror for
convenience and should have PRs disabled), but patches on the
openembedded-core mailing list.

https://www.openembedded.org/wiki/Commit_Patch_Message_Guidelines has
details as to the required patch formatting.  Summary:

Commit message should be of the form 'recipe: summary'.  The patch
you're adding also needs a summary explaining what it does, an
Upstream-Status value (Pending I guess, as upstream is dead we can't
submit it) and your Signed-off-by.

Ross

On 27 July 2018 at 10:27, MOHAMMAD RASIM  wrote:

Yes I made a pull request to the master branch
https://github.com/openembedded/openembedded-core/pull/34

note that this issue can be replicated by unzipping any linux-kernel (I
think), I tested that it exist in the zip file of torvalds tree
https://github.com/torvalds/linux/archive/master.zip

so it's easy to replicate and test

Also, to anyone how face the same issue and find this message, I solved the
issue without patching unzip by using tar.gz file instead of unzip file
(thanks to github for providing that) so instead of
https://github.com/torvalds/linux/archive/master.zip use
https://github.com/torvalds/linux/archive/master.tar.gz


Thanks



On 07/23/2018 09:51 PM, Burton, Ross wrote:

Yes, please do.  Mohammad, as you can replicate this on demand, would
you be able to fix the unzip recipe with the patch in that bug and
send a patch?

Ross

On 23 July 2018 at 19:42, Andre McCurdy  wrote:

On Sat, Jul 21, 2018 at 12:55 AM, MOHAMMAD RASIM
 wrote:

well apparently this is caused by the unzip binary that is compiled by
the
openembedded unzip recipe.
If I unzip the same zip file with the unzip binary that is shipped with
my
system(manjaro) then the files are not corrupted but when I use the
unzip
binary compiled by the openembedded recipe I get error and file
corruptions.
These are some of the errors I get when unzipping with the openembedded
unzip:
...
symlink error: File name too long

This error happens to multiple files where the file is symlinked to the
content of the file and not to a path !
Where should I report this bug ? openembedded ? unzip upstream ?

If you google the "symlink error" you should find multiple hits, which
all indicate a known bug in upstream unzip 6.0.

So, it should be reported upstream. However, given that the last unzip
release is now over 9 years old and there doesn't appear to be a
public upstream development branch, the chances of getting a timely
response don't look too good.

We should probably add the fix to the unzip recipe in oe-core:

https://bugzilla.redhat.com/show_bug.cgi?id=972427
--
___
yocto mailing list
yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/yocto




--
___
yocto mailing list
yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/yocto


Re: [yocto] bitbake is corrupting my files during unpacking

2018-07-27 Thread Burton, Ross
We don't take patches via pull requests (that repo is a mirror for
convenience and should have PRs disabled), but patches on the
openembedded-core mailing list.

https://www.openembedded.org/wiki/Commit_Patch_Message_Guidelines has
details as to the required patch formatting.  Summary:

Commit message should be of the form 'recipe: summary'.  The patch
you're adding also needs a summary explaining what it does, an
Upstream-Status value (Pending I guess, as upstream is dead we can't
submit it) and your Signed-off-by.

Ross

On 27 July 2018 at 10:27, MOHAMMAD RASIM  wrote:
> Yes I made a pull request to the master branch
> https://github.com/openembedded/openembedded-core/pull/34
>
> note that this issue can be replicated by unzipping any linux-kernel (I
> think), I tested that it exist in the zip file of torvalds tree
> https://github.com/torvalds/linux/archive/master.zip
>
> so it's easy to replicate and test
>
> Also, to anyone how face the same issue and find this message, I solved the
> issue without patching unzip by using tar.gz file instead of unzip file
> (thanks to github for providing that) so instead of
> https://github.com/torvalds/linux/archive/master.zip use
> https://github.com/torvalds/linux/archive/master.tar.gz
>
>
> Thanks
>
>
>
> On 07/23/2018 09:51 PM, Burton, Ross wrote:
>>
>> Yes, please do.  Mohammad, as you can replicate this on demand, would
>> you be able to fix the unzip recipe with the patch in that bug and
>> send a patch?
>>
>> Ross
>>
>> On 23 July 2018 at 19:42, Andre McCurdy  wrote:
>>>
>>> On Sat, Jul 21, 2018 at 12:55 AM, MOHAMMAD RASIM
>>>  wrote:

 well apparently this is caused by the unzip binary that is compiled by
 the
 openembedded unzip recipe.
 If I unzip the same zip file with the unzip binary that is shipped with
 my
 system(manjaro) then the files are not corrupted but when I use the
 unzip
 binary compiled by the openembedded recipe I get error and file
 corruptions.
 These are some of the errors I get when unzipping with the openembedded
 unzip:
 ...
 symlink error: File name too long

 This error happens to multiple files where the file is symlinked to the
 content of the file and not to a path !
 Where should I report this bug ? openembedded ? unzip upstream ?
>>>
>>> If you google the "symlink error" you should find multiple hits, which
>>> all indicate a known bug in upstream unzip 6.0.
>>>
>>> So, it should be reported upstream. However, given that the last unzip
>>> release is now over 9 years old and there doesn't appear to be a
>>> public upstream development branch, the chances of getting a timely
>>> response don't look too good.
>>>
>>> We should probably add the fix to the unzip recipe in oe-core:
>>>
>>>https://bugzilla.redhat.com/show_bug.cgi?id=972427
>>> --
>>> ___
>>> yocto mailing list
>>> yocto@yoctoproject.org
>>> https://lists.yoctoproject.org/listinfo/yocto
>
>
-- 
___
yocto mailing list
yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/yocto


Re: [yocto] bitbake is corrupting my files during unpacking

2018-07-27 Thread MOHAMMAD RASIM
Yes I made a pull request to the master branch 
https://github.com/openembedded/openembedded-core/pull/34


note that this issue can be replicated by unzipping any linux-kernel (I 
think), I tested that it exist in the zip file of torvalds tree 
https://github.com/torvalds/linux/archive/master.zip


so it's easy to replicate and test

Also, to anyone how face the same issue and find this message, I solved 
the issue without patching unzip by using tar.gz file instead of unzip 
file (thanks to github for providing that) so instead of 
https://github.com/torvalds/linux/archive/master.zip use 
https://github.com/torvalds/linux/archive/master.tar.gz



Thanks


On 07/23/2018 09:51 PM, Burton, Ross wrote:

Yes, please do.  Mohammad, as you can replicate this on demand, would
you be able to fix the unzip recipe with the patch in that bug and
send a patch?

Ross

On 23 July 2018 at 19:42, Andre McCurdy  wrote:

On Sat, Jul 21, 2018 at 12:55 AM, MOHAMMAD RASIM
 wrote:

well apparently this is caused by the unzip binary that is compiled by the
openembedded unzip recipe.
If I unzip the same zip file with the unzip binary that is shipped with my
system(manjaro) then the files are not corrupted but when I use the unzip
binary compiled by the openembedded recipe I get error and file corruptions.
These are some of the errors I get when unzipping with the openembedded
unzip:
...
symlink error: File name too long

This error happens to multiple files where the file is symlinked to the
content of the file and not to a path !
Where should I report this bug ? openembedded ? unzip upstream ?

If you google the "symlink error" you should find multiple hits, which
all indicate a known bug in upstream unzip 6.0.

So, it should be reported upstream. However, given that the last unzip
release is now over 9 years old and there doesn't appear to be a
public upstream development branch, the chances of getting a timely
response don't look too good.

We should probably add the fix to the unzip recipe in oe-core:

   https://bugzilla.redhat.com/show_bug.cgi?id=972427
--
___
yocto mailing list
yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/yocto


--
___
yocto mailing list
yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/yocto


Re: [yocto] bitbake is corrupting my files during unpacking

2018-07-23 Thread Burton, Ross
Yes, please do.  Mohammad, as you can replicate this on demand, would
you be able to fix the unzip recipe with the patch in that bug and
send a patch?

Ross

On 23 July 2018 at 19:42, Andre McCurdy  wrote:
> On Sat, Jul 21, 2018 at 12:55 AM, MOHAMMAD RASIM
>  wrote:
>> well apparently this is caused by the unzip binary that is compiled by the
>> openembedded unzip recipe.
>> If I unzip the same zip file with the unzip binary that is shipped with my
>> system(manjaro) then the files are not corrupted but when I use the unzip
>> binary compiled by the openembedded recipe I get error and file corruptions.
>> These are some of the errors I get when unzipping with the openembedded
>> unzip:
>> ...
>> symlink error: File name too long
>>
>> This error happens to multiple files where the file is symlinked to the
>> content of the file and not to a path !
>> Where should I report this bug ? openembedded ? unzip upstream ?
>
> If you google the "symlink error" you should find multiple hits, which
> all indicate a known bug in upstream unzip 6.0.
>
> So, it should be reported upstream. However, given that the last unzip
> release is now over 9 years old and there doesn't appear to be a
> public upstream development branch, the chances of getting a timely
> response don't look too good.
>
> We should probably add the fix to the unzip recipe in oe-core:
>
>   https://bugzilla.redhat.com/show_bug.cgi?id=972427
> --
> ___
> yocto mailing list
> yocto@yoctoproject.org
> https://lists.yoctoproject.org/listinfo/yocto
-- 
___
yocto mailing list
yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/yocto


Re: [yocto] bitbake is corrupting my files during unpacking

2018-07-23 Thread Andre McCurdy
On Sat, Jul 21, 2018 at 12:55 AM, MOHAMMAD RASIM
 wrote:
> well apparently this is caused by the unzip binary that is compiled by the
> openembedded unzip recipe.
> If I unzip the same zip file with the unzip binary that is shipped with my
> system(manjaro) then the files are not corrupted but when I use the unzip
> binary compiled by the openembedded recipe I get error and file corruptions.
> These are some of the errors I get when unzipping with the openembedded
> unzip:
> ...
> symlink error: File name too long
>
> This error happens to multiple files where the file is symlinked to the
> content of the file and not to a path !
> Where should I report this bug ? openembedded ? unzip upstream ?

If you google the "symlink error" you should find multiple hits, which
all indicate a known bug in upstream unzip 6.0.

So, it should be reported upstream. However, given that the last unzip
release is now over 9 years old and there doesn't appear to be a
public upstream development branch, the chances of getting a timely
response don't look too good.

We should probably add the fix to the unzip recipe in oe-core:

  https://bugzilla.redhat.com/show_bug.cgi?id=972427
-- 
___
yocto mailing list
yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/yocto


Re: [yocto] bitbake is corrupting my files during unpacking

2018-07-21 Thread MOHAMMAD RASIM
well apparently this is caused by the unzip binary that is compiled by 
the openembedded unzip recipe.
If I unzip the same zip file with the unzip binary that is shipped with 
my system(manjaro) then the files are not corrupted but when I use the 
unzip binary compiled by the openembedded recipe I get error and file 
corruptions.
These are some of the errors I get when unzipping with the openembedded 
unzip:

lchmod (file attributes) error: Function not implemented
linux-amlogic-amlogic-3.14-nougat/security/keys/request_key_auth.c -> /* 
Request key authorisation token key definition.^J *^J * Copyright (C) 
2005 Red Hat, Inc. All Rights Reserved.^J * Written by David Howells 
(dhowe...@redhat.com)^J *^J * This program is free software; you can 
redistribute it and/or^J * modify it under the terms of the GNU General 
Public License^J * as published by the Free Software Foundation; either 
version^J * 2 of the License, or (at your option) any later version.^J 
*^J * See Documentation/security/keys-request-key.txt^J */^J^J#include 
^J#include ^J#include 
^J#include ^J#include 
^J#include ^J#include 
"internal.h"^J#include ^J^Jstatic int 
request_key_auth_instantiate(struct key *,^J^I^I^I^I^Istruct 
key_preparsed_payload *);^Jstatic void request_key_auth_describe(const 
struct key *, struct seq_file *);^Jstatic void 
request_key_auth_revoke(struct key *);^Jstatic void 
request_key_auth_destroy(struct key *);^Jstatic long 
request_key_auth_read(const struct key *, char __user *, 
size_t);^J^J/*^J * The request-key authorisation key type definition.^J 
*/^Jstruct key_type key_type_request_key_auth = {^J^I.name^I^I= 
".request_key_auth",^J^I.def_datalen^I= sizeof(struct 
request_key_auth),^J^I.instantiate^I= 
request_key_auth_instantiate,^J^I.describe^I= 
request_key_auth_describe,^J^I.revoke^I^I= 
request_key_auth_revoke,^J^I.destroy^I= 
request_key_auth_destroy,^J^I.read^I^I= 
request_key_auth_read,^J};^J^J/*^J * Instantiate a request-key 
authorisation key.^J */^Jstatic int request_key_auth_instantiate(struct 
key *key,^J^I^I^I^I^Istruct key_preparsed_payload 
*prep)^J{^J^Ikey->payload.data = (struct request_key_auth 
*)prep->data;^J^Ireturn 0;^J}^J^J/*^J * Describe an authorisation 
token.^J */^Jstatic void request_key_auth_describe(const struct key 
*key,^J^I^I^I^I struct seq_file *m)^J{^J^Istruct request_key_auth *rka = 
key->payload.data;^J^J^Iseq_puts(m, "key:");^J^Iseq_puts(m, 
key->description);^J^Iif (key_is_instantiated(key))^J^I^Iseq_printf(m, " 
pid:%d ci:%zu", rka->pid, rka->callout_len);^J}^J^J/*^J * Read the 
callout_info data (retrieves the callout information).^J * - the key's 
semaphore is read-locked^J */^Jstatic long request_key_auth_read(const 
struct key *key,^J^I^I^I^I  char __user *buffer, size_t 
buflen)^J{^J^Istruct request_key_auth *rka = 
key->payload.data;^J^Isize_t datalen;^J^Ilong ret;^J^J^Idatalen = 
rka->callout_len;^J^Iret = datalen;^J^J^I/* we can return the data as is 
*/^J^Iif (buffer && buflen > 0) {^J^I^Iif (buflen > 
datalen)^J^I^I^Ibuflen = datalen;^J^J^I^Iif (copy_to_user(buffer, 
rka->callout_info, buflen) != 0)^J^I^I^Iret = -EFAULT;^J^I}^J^J^Ireturn 
ret;^J}^J^J/*^J * Handle revocation of an authorisation token key.^J *^J 
* Called with the key sem write-locked.^J */^Jstatic void 
request_key_auth_revoke(struct key *key)^J{^J^Istruct request_key_auth 
*rka = key->payload.data;^J^J^Ikenter("{%d}", key->serial);^J^J^Iif 
(rka->cred) {^J^I^Iput_cred(rka->cred);^J^I^Irka->cred = 
NULL;^J^I}^J}^J^J/*^J * Destroy an instantiation authorisation token 
key.^J */^Jstatic void request_key_auth_destroy(struct key 
*key)^J{^J^Istruct request_key_auth *rka = 
key->payload.data;^J^J^Ikenter("{%d}", key->serial);^J^J^Iif (rka->cred) 
{^J^I^Iput_cred(rka->cred);^J^I^Irka->cred = 
NULL;^J^I}^J^J^Ikey_put(rka->target_key);^J^Ikey_put(rka->dest_keyring);^J^Ikfree(rka->callout_info);^J^Ikfree(rka);^J}^J^J/*^J 
* Create an authorisation token for /sbin/request-key or whoever to 
gain^J * access to the caller's security data.^J */^Jstruct key 
*request_key_auth_new(struct key *target, const void 
*callout_info,^J^I^I^I^I size_t callout_len, struct key 
*dest_keyring)^J{^J^Istruct request_key_auth *rka, *irka;^J^Iconst 
struct cred *cred = current->cred;^J^Istruct key *authkey = 
NULL;^J^Ichar desc[20];^J^Iint ret;^J^J^Ikenter("%d,", 
target->serial);^J^J^I/* allocate a auth record */^J^Irka = 
kmalloc(sizeof(*rka), GFP_KERNEL);^J^Iif (!rka) {^J^I^Ikleave(" = 
-ENOMEM");^J^I^Ireturn ERR_PTR(-ENOMEM);^J^I}^J^Irka->callout_info = 
kmalloc(callout_len, GFP_KERNEL);^J^Iif (!rka->callout_info) 
{^J^I^Ikleave(" = -ENOMEM");^J^I^Ikfree(rka);^J^I^Ireturn 
ERR_PTR(-ENOMEM);^J^I}^J^J^I/* see if the calling process is already 
servicing the key request of^J^I * another process */^J^Iif 
(cred->request_key_auth) {^J^I^I/* it is - use that instantiation 
context here too 
*/^J^I^Idown_read(&cred->request_key_auth->sem);^J^J^I^I/* if the auth 
key has been revoked, then the key we're^J^I^I * servicing is

[yocto] bitbake is corrupting my files during unpacking

2018-07-20 Thread MOHAMMAD RASIM

Hi,

I'm new to openembedded and yocto. I'm using the openpli meta layers to 
build openembedded https://github.com/OpenPLi/openpli-oe-core


Now I'm trying to build a recipe for the kernel but I encountered a 
strange issue, bitbake is corrupting my source files when unpacking from 
zip file (http link of zip file) but not when using git to get the 
source the files are fine and not corrupted, the downloaded zip file 
itself is not corrupted and If I unzip it from the sources 
directory(outside bitbake environment) then the resulting files are not 
corrupted


The zip file I'm downloading 
https://github.com/PLi-metas/linux-amlogic/archive/amlogic-3.14-nougat.zip


examples of corruption I saw :

1- /drivers/w1/slaves/Kconfig (this file is converted to a broken 
symlink not to a path but to the content of the file itself, see:


file 
build/tmp/work-shared/k2pro_s905/kernel-source/drivers/w1/slaves/Kconfig
build/tmp/work-shared/k2pro_s905/kernel-source/drivers/w1/slaves/Kconfig: 
broken symbolic link to #\012# 1-wire slaves 
configuration\012#\012\012menu "1-wire Slaves"\012\012config 
W1_SLAVE_THERM\012\011tristate "Thermal family 
implementation"\012\011help\012\011  Say Y here if you want to connect 
1-wire thermal sensors to your\012\011 wire.\012\012config 
W1_SLAVE_SMEM\012\011tristate "Simple 64bit memory family 
implementation"\012\011help\012\011  Say Y here if you want to connect 
1-wire\012\011  simple 64bit memory rom(ds2401/ds2411/ds1990*) to your 
wire.\012\012config W1_SLAVE_DS2408\012\011tristate "8-Channel 
Addressable Switch (IO Expander) 0x29 family support 
(DS2408)"\012\011help\012\011 Say Y here if you want to use a 
1-wire\012\011  DS2408 8-Channel Addressable Switch device 
support\012\012config W1_SLAVE_DS2408_READBACK\012\011bool "Read-back 
values written to DS2408's output register"\012\011depends on 
W1_SLAVE_DS2408\012\011default y\012\011help\012\011  Enabling this will 
cause the driver to read back the values written\012\011  to the chip's 
output register in order to detect errors.\012\012\011  This is slower 
but useful when debugging chips and/or busses.\012\012config 
W1_SLAVE_DS2413\012\011tristate "Dual Channel Addressable Switch 0x3a 
family support (DS2413)"\012\011help\012\011  Say Y here if you want to 
use a 1-wire\012\011  DS2413 Dual Channel Addressable Switch device 
support\012\012config W1_SLAVE_DS2423\012\011tristate "Counter 1-wire 
device (DS2423)"\012\011select CRC16\012\011help\012\011  If you enable 
this you can read the counter values available\012\011  in the DS2423 
chipset from the w1_slave file under the\012\011  sys file 
system.\012\012\011  Say Y here if you want to use a 1-wire\012\011  
counter family device (DS2423).\012\012config 
W1_SLAVE_DS2431\012\011tristate "1kb EEPROM family support 
(DS2431)"\012\011help\012\011  Say Y here if you want to use a 
1-wire\012\011  1kb EEPROM family device (DS2431)\012\012config 
W1_SLAVE_DS2433\012\011tristate "4kb EEPROM family support 
(DS2433)"\012\011help\012\011  Say Y here if you want to use a 
1-wire\012\011  4kb EEPROM family device (DS2433).\012\012config 
W1_SLAVE_DS2433_CRC\012\011bool "Protect DS2433 data with a 
CRC16"\012\011depends on W1_SLAVE_DS2433\012\011select 
CRC16\012\011help\012\011  Say Y here to protect DS2433 data with a 
CRC16.\012\011  Each block has 30 bytes of data and a two byte 
CRC16.\012\011  Full block writes are only allowed if the CRC is 
valid.\012\012config W1_SLAVE_DS2760\012\011tristate "Dallas 2760 
battery monitor chip (HP iPAQ & others)"\012\011depends on 
W1\012\011help\012\011  If you enable this you will have the DS2760 
battery monitor\012\011  chip support.\012\012\011  The battery monitor 
chip is used in many batteries/devices\012\011  as the one who is 
responsible for charging/discharging/monitoring\012\011  Li+ 
batteries.\012\012\011  If you are unsure, say N.\012\012config 
W1_SLAVE_DS2780\012\011tristate "Dallas 2780 battery monitor 
chip"\012\011depends on W1\012\011help\012\011  If you enable this you 
will have the DS2780 battery monitor\012\011  chip support.\012\012\011  
The battery monitor chip is used in many batteries/devices\012\011  as 
the one who is responsible for charging/discharging/monitoring\012\011  
Li+ batteries.\012\012\011  If you are unsure, say N.\012\012config 
W1_SLAVE_DS2781\012\011tristate "Dallas 2781 battery monitor 
chip"\012\011depends on W1\012\011help\012\011  If you enable this you 
will have the DS2781 battery monitor\012\011  chip support.\012\012\011  
The battery monitor chip is used in many batteries/devices\012\011  as 
the one who is responsible for charging/discharging/monitoring\012\011  
Li+ batteries.\012\012\011  If you are unsure, say N.\012\012config 
W1_SLAVE_DS28E04\012\011tristate "4096-Bit Addressable 1-Wire EEPROM 
with PIO (DS28E04-100)"\012\011depends on W1\012\011select 
CRC16\012\011help\012\011  If you enable this you will have the 
DS28E04-100\012\011  chip support.\012\012\011  Say Y