Re: [yocto] Removing busybox completely from the generated image

2018-02-19 Thread Iván Castell
I have tried breaking apart packagegroup-core-boot, making a copy in my
custom layer, removing the line referencing busybox:

## VIRTUAL-RUNTIME_login_manager ?= "busybox"

But now bitbake complains with an error message:

ERROR: Nothing RPROVIDES '${VIRTUAL-RUNTIME_login_manager}'

It seems "VIRTUAL-RUNTIME_login_manager" needs to be defined with a valid
option. I have tested with the option "tinylogin" but that options seems
not implemented in "rocko" branch, because I'm getting this error:

ERROR: Nothing RPROVIDES 'tinylogin'

Is there some valid alternative available? Where are these alternatives
defined?

In general, is it posible to build yocto images without using busybox at
all?


2018-02-16 16:56 GMT+01:00 Iván Castell :

> Hello forum!
>
> I'm trying to build a yocto image without busybox and without any busybox
> applet deployed.
>
> I have tried that configuring my distro.conf file in this way:
>
> DISTRO_FEATURES_remove = " busybox"
> VIRTUAL-RUNTIME_base-utils = ""
> PREFERRED_PROVIDER_virtual/base-utils = ""
>
> Nonetheless, busybox binary and two related applets (syslog and udhcpc)
> are installed in the generated image:
>
> $ rpm -qa | grep busybox
> busybox-syslog-1.24.1-r0.corei7_64
> busybox-1.24.1-r0.corei7_64
> busybox-udhcpc-1.24.1-r0.corei7_64
>
> I have tried disabling syslog applet appending to my distro.conf file:
>
> VIRTUAL-RUNTIME_syslog ?= ""
>
> But syslogd applet is still installed:
>
> # ls -l /sbin/syslogd
> lrwxrwxrwx 1 root root 19 Feb 15 14:03 /sbin/syslogd ->
> /bin/busybox.nosuid
>
> Is there some way to remove busybox completely from the generated image?
>
> Thank you in advance! :-)
>
-- 
___
yocto mailing list
yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/yocto


Re: [yocto] Removing busybox completely from the generated image

2018-02-19 Thread Khem Raj
On Mon, Feb 19, 2018 at 12:35 AM, Iván Castell
 wrote:
> I have tried breaking apart packagegroup-core-boot, making a copy in my
> custom layer, removing the line referencing busybox:
>
> ## VIRTUAL-RUNTIME_login_manager ?= "busybox"
>
> But now bitbake complains with an error message:
>
> ERROR: Nothing RPROVIDES '${VIRTUAL-RUNTIME_login_manager}'
>
> It seems "VIRTUAL-RUNTIME_login_manager" needs to be defined with a valid
> option. I have tested with the option "tinylogin" but that options seems not
> implemented in "rocko" branch, because I'm getting this error:
>
> ERROR: Nothing RPROVIDES 'tinylogin'
>
> Is there some valid alternative available? Where are these alternatives
> defined?
>

tinylogin has been removed few releases ago. So it wont work out of box.

> In general, is it posible to build yocto images without using busybox at
> all?
>



>
> 2018-02-16 16:56 GMT+01:00 Iván Castell :
>>
>> Hello forum!
>>
>> I'm trying to build a yocto image without busybox and without any busybox
>> applet deployed.
>>
>> I have tried that configuring my distro.conf file in this way:
>>
>> DISTRO_FEATURES_remove = " busybox"
>> VIRTUAL-RUNTIME_base-utils = ""
>> PREFERRED_PROVIDER_virtual/base-utils = ""
>>
>> Nonetheless, busybox binary and two related applets (syslog and udhcpc)
>> are installed in the generated image:
>>
>> $ rpm -qa | grep busybox
>> busybox-syslog-1.24.1-r0.corei7_64
>> busybox-1.24.1-r0.corei7_64
>> busybox-udhcpc-1.24.1-r0.corei7_64
>>
>> I have tried disabling syslog applet appending to my distro.conf file:
>>
>> VIRTUAL-RUNTIME_syslog ?= ""
>>
>> But syslogd applet is still installed:
>>
>> # ls -l /sbin/syslogd
>> lrwxrwxrwx 1 root root 19 Feb 15 14:03 /sbin/syslogd ->
>> /bin/busybox.nosuid
>>
>> Is there some way to remove busybox completely from the generated image?
>>
>> Thank you in advance! :-)
>
>
> --
> ___
> 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] Removing busybox completely from the generated image

2018-02-19 Thread Alexander Kanavin

On 02/19/2018 10:35 AM, Iván Castell wrote:
I have tried breaking apart packagegroup-core-boot, making a copy in my 
custom layer, removing the line referencing busybox:


     ## VIRTUAL-RUNTIME_login_manager ?= "busybox"

But now bitbake complains with an error message:

     ERROR: Nothing RPROVIDES '${VIRTUAL-RUNTIME_login_manager}'


You need to remove the reference to VIRTUAL-RUNTIME_login_manager from 
the list of packages to be installed, not the definition that points to 
busybox. If the resulting image breaks, you get to keep the pieces. I'm 
not sure what function busyybox performs here, but oe-core does not have 
an alternative now - you are welcome to provide one.


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


Re: [yocto] Removing busybox completely from the generated image

2018-02-19 Thread Maxin B. John
Hi,

On Mon, Feb 19, 2018 at 02:17:38AM -0800, Khem Raj wrote:
> On Mon, Feb 19, 2018 at 12:35 AM, Iván Castell
>  wrote:
> > I have tried breaking apart packagegroup-core-boot, making a copy in my
> > custom layer, removing the line referencing busybox:
> >
> > ## VIRTUAL-RUNTIME_login_manager ?= "busybox"

Have you considered "toybox" ? It probably wouldn't work right-away. Still,
toybox was designed to provide a replacement for busybox. It is available
in "meta-oe"

http://cgit.openembedded.org/meta-openembedded/tree/meta-oe/recipes-core/toybox/toybox_0.7.5.bb

> > But now bitbake complains with an error message:
> >


Hope this helps,
Maxin
-- 
___
yocto mailing list
yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/yocto


Re: [yocto] Removing busybox completely from the generated image

2018-02-19 Thread Iván Castell
2018-02-19 16:18 GMT+01:00 Maxin B. John :

> Hi,
>
> On Mon, Feb 19, 2018 at 02:17:38AM -0800, Khem Raj wrote:
> > On Mon, Feb 19, 2018 at 12:35 AM, Iván Castell
> >  wrote:
> > > I have tried breaking apart packagegroup-core-boot, making a copy in my
> > > custom layer, removing the line referencing busybox:
> > >
> > > ## VIRTUAL-RUNTIME_login_manager ?= "busybox"
>
> Have you considered "toybox" ? It probably wouldn't work right-away. Still,
> toybox was designed to provide a replacement for busybox. It is available
> in "meta-oe"
>
> http://cgit.openembedded.org/meta-openembedded/tree/meta-
> oe/recipes-core/toybox/toybox_0.7.5.bb
>
>

Thank you for the information, I will take into account that tool for
future embedded projects. However, the focus of this issue was to remove
completely busybox from the image, not replacing it by another application
box.

I have created a bbappend with a fragment of the busybox configuration
disabling syslog and udhcpc applets. It works. However the busybox binary
and a lot of applets are still there (adduser, unzip, fbset, traceroute,
and more).

Disabling all different applets and installing native tools instead could
be the right way to procede. Not a nice solution, but at least it should
work...
-- 
___
yocto mailing list
yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/yocto


[yocto] [YOCTO] add a new partition during flash with mfgtools

2018-02-19 Thread Thibaut SARRAZIN


Hello everybody,


I don't find solution to add a new partition to my emmc directly during 
the flash. I don't know if I need to modify the u-boot-fslc recipe or if 
there is another solution.


board : mx6qroj


Thanks you all  for your help,

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


Re: [yocto] [meta][PATCH] ptest.bbclass: fix path for multilib

2018-02-19 Thread Kyle Russell
That's reasonable, but how would you propose that work?  An analogous fix
for ptest-runner is to use ${libdir} instead of /usr/lib (leaving the
bbclass intact), but that just flips the problem if you try to run
lib32-libfoo-ptest using a 64-bit ptest-runner with default arguments (not
specifying -d /usr/lib).  Alternatively, I suppose ptest-runner could look
in multiple directories by default (for example, ${libdir} and
${nonarch_libdir}, assuming they're different).  Although, it almost feels
like the run-ptest scripts should really be installed to ${libexecdir}.

I'll be glad to workup a different patch, but I want to make sure I
understand the desired design.

On Fri, Feb 16, 2018 at 6:12 PM, Burton, Ross  wrote:

> On 16 February 2018 at 21:41, Kyle Russell  wrote:
>
>> ptest-runner always looks at /usr/lib, so make this arch independent.
>>
>
> I'd say the bug here is in ptest-runner.  I'd expect to be able to install
> libfoo-ptest and lib32-libfoo-ptest in parallel.
>
> Ross
>
-- 
___
yocto mailing list
yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/yocto


Re: [yocto] Removing busybox completely from the generated image

2018-02-19 Thread Paul Eggleton
On Monday, 19 February 2018 11:21:20 PM NZDT Alexander Kanavin wrote:
> On 02/19/2018 10:35 AM, Iván Castell wrote:
> > I have tried breaking apart packagegroup-core-boot, making a copy in my 
> > custom layer, removing the line referencing busybox:
> > 
> >  ## VIRTUAL-RUNTIME_login_manager ?= "busybox"
> > 
> > But now bitbake complains with an error message:
> > 
> >  ERROR: Nothing RPROVIDES '${VIRTUAL-RUNTIME_login_manager}'
> 
> You need to remove the reference to VIRTUAL-RUNTIME_login_manager from 
> the list of packages to be installed, not the definition that points to 
> busybox. If the resulting image breaks, you get to keep the pieces. I'm 
> not sure what function busyybox performs here, but oe-core does not have 
> an alternative now - you are welcome to provide one.

I think the more full-featured alternative would be the "login" implementation 
provided by shadow, so you would set:

VIRTUAL-RUNTIME_login_manager = "shadow"

Cheers,
Paul

-- 

Paul Eggleton
Intel Open Source Technology Centre


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


[yocto] [layerindex-web][PATCH 1/6] update.py: fix Ctrl+C behaviour

2018-02-19 Thread Paul Eggleton
If the user hit Ctrl+C during the initial info gathering then it didn't
break out of the loop in update.py, so you had to hit Ctrl+C for as many
layers as were involved in the update. Look for exit code 254 from
update_layer.py and stop if it is returned since that indicates Ctrl+C
has been used.

Additionally, ensure we return exit code 254 and print a message from
the main update script when it is interrupted in this way.

Signed-off-by: Paul Eggleton 
---
 layerindex/update.py | 12 ++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/layerindex/update.py b/layerindex/update.py
index 5c83b00..f60b943 100755
--- a/layerindex/update.py
+++ b/layerindex/update.py
@@ -337,7 +337,11 @@ def main():
 logger.debug('Running layer update command: %s' % cmd)
 ret, output = run_command_interruptible(cmd)
 logger.debug('output: %s' % output)
-if ret != 0:
+if ret == 254:
+# Interrupted by user, break out of loop
+logger.info('Update interrupted, exiting')
+sys.exit(254)
+elif ret != 0:
 continue
 col = re.search("^BBFILE_COLLECTIONS = \"(.*)\"", output, 
re.M).group(1) or ''
 ver = re.search("^LAYERVERSION = \"(.*)\"", output, 
re.M).group(1) or ''
@@ -418,10 +422,14 @@ def main():
 
 if ret == 254:
 # Interrupted by user, break out of loop
-break
+logger.info('Update interrupted, exiting')
+sys.exit(254)
 finally:
 utils.unlock_file(lockfile)
 
+except KeyboardInterrupt:
+logger.info('Update interrupted, exiting')
+sys.exit(254)
 finally:
 update.log = ''.join(listhandler.read())
 update.finished = datetime.now()
-- 
2.14.3

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


[yocto] [layerindex-web][PATCH 2/6] Add statistics page

2018-02-19 Thread Paul Eggleton
Add a page with basic statistics for the index - number of layers,
recipes, classes, machines and distros on an overall basis (distinct
names) and per branch, since I've been asked a few times for this kind
of information. It's currently only linked from the Tools menu for
logged-in users, but the URL will work for anyone.

Signed-off-by: Paul Eggleton 
---
 layerindex/urls.py  |  6 -
 layerindex/views.py | 17 
 templates/base.html |  1 +
 templates/layerindex/stats.html | 60 +
 4 files changed, 83 insertions(+), 1 deletion(-)
 create mode 100644 templates/layerindex/stats.html

diff --git a/layerindex/urls.py b/layerindex/urls.py
index 7deaf23..d2f9eab 100644
--- a/layerindex/urls.py
+++ b/layerindex/urls.py
@@ -8,7 +8,7 @@ from django.conf.urls import *
 from django.views.generic import TemplateView, DetailView, ListView, 
RedirectView
 from django.views.defaults import page_not_found
 from django.core.urlresolvers import reverse_lazy
-from layerindex.views import LayerListView, LayerReviewListView, 
LayerReviewDetailView, RecipeSearchView, MachineSearchView, PlainTextListView, 
LayerDetailView, edit_layer_view, delete_layer_view, edit_layernote_view, 
delete_layernote_view, HistoryListView, EditProfileFormView, 
AdvancedRecipeSearchView, BulkChangeView, BulkChangeSearchView, 
bulk_change_edit_view, bulk_change_patch_view, BulkChangeDeleteView, 
RecipeDetailView, RedirectParamsView, ClassicRecipeSearchView, 
ClassicRecipeDetailView, ClassicRecipeStatsView, LayerUpdateDetailView, 
UpdateListView, UpdateDetailView
+from layerindex.views import LayerListView, LayerReviewListView, 
LayerReviewDetailView, RecipeSearchView, MachineSearchView, PlainTextListView, 
LayerDetailView, edit_layer_view, delete_layer_view, edit_layernote_view, 
delete_layernote_view, HistoryListView, EditProfileFormView, 
AdvancedRecipeSearchView, BulkChangeView, BulkChangeSearchView, 
bulk_change_edit_view, bulk_change_patch_view, BulkChangeDeleteView, 
RecipeDetailView, RedirectParamsView, ClassicRecipeSearchView, 
ClassicRecipeDetailView, ClassicRecipeStatsView, LayerUpdateDetailView, 
UpdateListView, UpdateDetailView, StatsView
 from layerindex.models import LayerItem, Recipe, RecipeChangeset
 from rest_framework import routers
 from . import restviews
@@ -127,6 +127,10 @@ urlpatterns = patterns('',
 TemplateView.as_view(
 template_name='layerindex/about.html'),
 name="about"),
+url(r'^stats/$',
+StatsView.as_view(
+template_name='layerindex/stats.html'),
+name='stats'),
 url(r'^oe-classic/$',
 RedirectView.as_view(url=reverse_lazy('classic_recipe_search'), 
permanent=False),
 name='classic'),
diff --git a/layerindex/views.py b/layerindex/views.py
index 4f6c2c9..95812ca 100644
--- a/layerindex/views.py
+++ b/layerindex/views.py
@@ -1007,3 +1007,20 @@ class ClassicRecipeStatsView(TemplateView):
 'jquery_on_ready': False,
 }
 return context
+
+
+class StatsView(TemplateView):
+def get_context_data(self, **kwargs):
+context = super(StatsView, self).get_context_data(**kwargs)
+context['layercount'] = LayerItem.objects.count()
+context['recipe_count_distinct'] = 
Recipe.objects.values('pn').distinct().count()
+context['class_count_distinct'] = 
BBClass.objects.values('name').distinct().count()
+context['machine_count_distinct'] = 
Machine.objects.values('name').distinct().count()
+context['distro_count_distinct'] = 
Distro.objects.values('name').distinct().count()
+context['perbranch'] = 
Branch.objects.order_by('sort_priority').annotate(
+layer_count=Count('layerbranch', distinct=True),
+recipe_count=Count('layerbranch__recipe', distinct=True),
+class_count=Count('layerbranch__bbclass', distinct=True),
+machine_count=Count('layerbranch__machine', distinct=True),
+distro_count=Count('layerbranch__distro', distinct=True))
+return context
diff --git a/templates/base.html b/templates/base.html
index 8a3b8fe..a9d7c83 100644
--- a/templates/base.html
+++ b/templates/base.html
@@ -73,6 +73,7 @@
 Bulk 
Change
 Duplicates
 Updates
+Statistics
 
 
 {% endif %}
diff --git a/templates/layerindex/stats.html b/templates/layerindex/stats.html
new file mode 100644
index 000..3c4971b
--- /dev/null
+++ b/templates/layerindex/stats.html
@@ -0,0 +1,60 @@
+{% extends "base.html" %}
+{% load i18n %}
+{% load static %}
+
+{% comment %}
+
+  layerindex-web - statistics page template
+
+  Copyright (C) 2018 Intel Corporation
+  Licensed under the MIT license, see COPYING.MIT for details
+
+{% endcomment %}
+
+
+
+
+{% block conten

[yocto] [layerindex-web][PATCH 3/6] Show layer description with newlines in layer detail

2018-02-19 Thread Paul Eggleton
A lot of people enter line breaks in their layer descriptions hoping
that these will show up in the layer description, but of course since
they are being displayed as part of an HTML document, they don't by
default. Use a style in the description paragraph to ensure that they
do.

Signed-off-by: Paul Eggleton 
---
 templates/layerindex/detail.html | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/templates/layerindex/detail.html b/templates/layerindex/detail.html
index 0747421..3081ef3 100644
--- a/templates/layerindex/detail.html
+++ b/templates/layerindex/detail.html
@@ -76,9 +76,7 @@
 
 
 
-
-   {{ layeritem.description }}
-
+{{ layeritem.description }}
 
 {% if layeritem.usage_url %}
 
-- 
2.14.3

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


[yocto] [layerindex-web][PATCH 4/6] requirements.txt: add missing dependencies

2018-02-19 Thread Paul Eggleton
These are dependencies of items already listed in requirements.txt, so
nothing new.

Signed-off-by: Paul Eggleton 
---
 requirements.txt | 5 +
 1 file changed, 5 insertions(+)

diff --git a/requirements.txt b/requirements.txt
index 7cd741b..af6ab5a 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -1,3 +1,6 @@
+amqp==1.4.9
+anyjson==0.3.3
+billiard==3.3.0.23
 celery==3.1.25
 Django==1.8.17
 django-cors-headers==1.1.0
@@ -10,11 +13,13 @@ djangorestframework==3.2.5
 gitdb==0.6.4
 GitPython==2.0.5
 Jinja2==2.8
+kombu==3.0.37
 MarkupSafe==0.23
 mysqlclient==1.3.7
 Pillow==3.3.0
 python-nvd3==0.14.2
 python-slugify==1.1.4
+pytz==2018.3
 six==1.10.0
 smmap==0.9.0
 Unidecode==0.4.19
-- 
2.14.3

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


[yocto] [layerindex-web][PATCH 5/6] requirements.txt: update some dependency versions

2018-02-19 Thread Paul Eggleton
Use latest tested versions (though we pin djangorestframework at 3.6.4
since that is the last version that supports Django 1.8), and add new
resulting dependencies.

Signed-off-by: Paul Eggleton 
---
 requirements.txt | 34 +++---
 1 file changed, 19 insertions(+), 15 deletions(-)

diff --git a/requirements.txt b/requirements.txt
index af6ab5a..58100a9 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -1,25 +1,29 @@
-amqp==1.4.9
+amqp==2.2.2
 anyjson==0.3.3
-billiard==3.3.0.23
-celery==3.1.25
-Django==1.8.17
+billiard==3.5.0.3
+celery==4.1.0
+confusable-homoglyphs==2.0.2
+Django==1.8.18
 django-cors-headers==1.1.0
 django-nvd3==0.9.7
-django-registration==2.1
+django-ranged-response==0.2.0
+django-registration==2.4.1
 django-reversion==1.9.3
 django-reversion-compare==0.5.6
-django-simple-captcha==0.4.6
-djangorestframework==3.2.5
+django-simple-captcha==0.5.6
+djangorestframework==3.6.4
 gitdb==0.6.4
-GitPython==2.0.5
-Jinja2==2.8
-kombu==3.0.37
-MarkupSafe==0.23
-mysqlclient==1.3.7
-Pillow==3.3.0
+GitPython==2.1.8
+Jinja2==2.10
+kombu==4.1.0
+MarkupSafe==1.0
+mysqlclient==1.3.12
+Pillow==5.0.0
 python-nvd3==0.14.2
-python-slugify==1.1.4
+python-slugify==1.2.4
 pytz==2018.3
-six==1.10.0
+six==1.11.0
 smmap==0.9.0
+smmap2==2.0.3
 Unidecode==0.4.19
+vine==1.1.4
-- 
2.14.3

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


[yocto] [layerindex-web][PATCH 6/6] README: update dependency versions

2018-02-19 Thread Paul Eggleton
Update the minor version of Django, and replace the list of dependencies
with a pointer to requirements.txt since there's not much point
maintaining that in two places (and the README wasn't complete anyway).

Signed-off-by: Paul Eggleton 
---
 README | 13 -
 1 file changed, 4 insertions(+), 9 deletions(-)

diff --git a/README b/README
index c7f7409..970c267 100644
--- a/README
+++ b/README
@@ -12,7 +12,7 @@ Setup
 In order to make use of this application you will need:
 
 * Python 3.4+
-* Django 1.8.x - tested with 1.8.17; newer versions may work, but
+* Django 1.8.x - tested with 1.8.18; newer versions may work, but
   the application has not been tested with 1.9 or newer.
 * RabbitMQ 3.6.x - tested with 3.6.10.
 * For production usage, a web server set up to host Django applications
@@ -20,14 +20,9 @@ In order to make use of this application you will need:
 * A database supported by Django (SQLite, MySQL, etc.). Django takes
   care of creating the database itself, you just need to ensure that the
   database server (if not using SQLite) is configured and running.
-* The following third-party Django modules (tested versions listed):
-  * django-registration (2.1)
-  * django-reversion (1.9.3)
-  * django-reversion-compare (0.5.6)
-  * django-simple-captcha (0.4.6)
-  * django-nvd3 (0.14.2)
-  * djangorestframework (3.2.5)
-  * django-cors-headers (1.1.0)
+* Third-party Django/python modules as detailed by requirements.txt.
+  If you're using pip, you can install these by running:
+pip install -r requirements.txt
 * On the machine that will run the backend update script (which does not
   have to be the same machine as the web server, however it does still
   have to have Django installed, have the same or similar configuration
-- 
2.14.3

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


[yocto] Small documentation issue

2018-02-19 Thread Zoran Stojsavljevic
Hello,

Just to point to the documentation issue on YOCTO Projects wiki page:
https://wiki.yoctoproject.org/wiki/FAQ:How_do_I_set_or_change_the_root_password

This line:
inherit extrausers

Should be changed as:
INHERIT += "extrausers"

To be inline with bitbake syntax. It is somehow confusing.

Thank you,
Zoran
-- 
___
yocto mailing list
yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/yocto