Bug 10854

Summary: Missing package in Quick Start Guide for debian
Product: [Documentation] Quick Start Reporter: brian avery <brian.avery>
Component: quick-startAssignee: Scott Rifenbark <srifenbark>
Status: VERIFIED FIXED QA Contact: oscar lopez arandas <oscarx.lopez.arandas>
Severity: normal    
Priority: Medium+ CC: bluelightning, jose.perez.carranza, poky.doc.watcher, poky.watcher, ross.burton, srifenbark
Version: 2.3   
Target Milestone: 2.3 M4   
Hardware: x86   
OS: Multiple   
Whiteboard: 29 March 2017: RESOLVED
OS type for building Yocto: --- Type of Regression: ---
Verified: Documentation change: Done (doc changes complete)

Description brian avery 2016-12-23 18:01:57 UTC
on debian:8
The Quick start apt-get line fails to install python3. so bitbake fails.
The Quick start apt-get line fails to install cpio so the esdk installer fails.
Comment 1 brian avery 2016-12-24 00:48:16 UTC
the bitbake sanity checker requires cpio as well, so it's not just the esdk installer who needs it.
Comment 2 Scott Rifenbark 2016-12-30 18:55:38 UTC
Brian, 

See http://www.yoctoproject.org/docs/2.3/ref-manual/ref-manual.html#ubuntu-packages and let me know what we are missing regarding packages that the host must have.  Note that the section for Ubuntu/Debian (as well as all the distros) is arranged by categories for various packages.  Look them them over and let me know if we are needing something else in "essential", etc.

Thanks, 
Scott
Comment 3 Scott Rifenbark 2017-01-06 15:16:22 UTC
Still need some clarification on this issue per distro.

Thanks, 
Scott
Comment 4 brian avery 2017-01-09 20:08:29 UTC
Missing:
essential:
cpio python python3

Typically the user will have python and python3 from somewhere else. When I started with a minimum system, however, I needed to add them explicitly. Since we still require both python2  and Python3, I think it also makes sense to include them both explicitly.
Comment 5 Scott Rifenbark 2017-01-18 21:45:32 UTC
Hi Brian, 

See http://www.yoctoproject.org/docs/2.3/ref-manual/ref-manual.html#ubuntu-packages for the updated essentials list for Debian and Ubuntu.  Note the change is also in the YP Quick Start.

Let me know if this good and I will mark the bug RESOLVED.

Thanks, 
Scott
Comment 6 brian avery 2017-02-17 00:26:53 UTC
apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib \
     build-essential chrpath socat cpio python python3 pip3 pexpect

needs to be 
apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib \
     build-essential chrpath socat cpio python python3 python3-pip python3-pexpect

---
basically pip3 should be python3-pip and pexpect should be python3-pexpect
Comment 7 Scott Rifenbark 2017-02-20 16:36:53 UTC
Hi Brian, 

I updated the Ubuntu/Debian Essentials grouping... see http://www.yoctoproject.org/docs/2.3/yocto-project-qs/yocto-project-qs.html#packages in the QS and http://www.yoctoproject.org/docs/2.3/ref-manual/ref-manual.html#ubuntu-packages in the ref-manual. 

I noticed that for the Fedora, OpenSUSE, and CentOS distributions, the same "pip3" and "pexpect" packages exist.  This bug was talking about Ubuntu/Debian.  Does this change apply to the other three distributions as well?

Scott
Comment 8 brian avery 2017-02-28 18:44:03 UTC
Yes, good catch! Sorry, for the delay, ELC intruded :/.
Fedora and OpenSuse should be
python3-pip python3-pexpect
Comment 9 Scott Rifenbark 2017-02-28 19:02:52 UTC
Hi Bryon, 

See http://www.yoctoproject.org/docs/2.3/ref-manual/ref-manual.html#required-packages-for-the-host-development-system for the ref-manual and see http://www.yoctoproject.org/docs/2.3/yocto-project-qs/yocto-project-qs.html#packages for the QS changes.  All distributions are accounted for.

If you are happy, you can let me know and I will reset the bug to RESOLVED and put the doc flag to "done."

thanks,
Scott
Comment 10 Scott Rifenbark 2017-02-28 19:05:57 UTC
Actually Brian - I noticed you excluded CentOS.  Was that on oversight?  I changed them all.
Comment 11 brian avery 2017-02-28 21:40:56 UTC
checking on centos. pls ping me 2moro.
Comment 12 brian avery 2017-03-03 20:48:52 UTC
For Centos, it turns out to be more complex. You need to:
sudo yum install -y epel-release
sudo yum makecache
sudo yum install gawk make wget tar bzip2 gzip python unzip perl patch \
     diffutils diffstat git cpp gcc gcc-c++ glibc-devel texinfo chrpath socat \
     perl-Data-Dumper perl-Text-ParseWords perl-Thread-Queue python34-pip  xz \
     which

---
python34-expect which is used by some of the tests is not available so some of the tests may not run on centos.
Comment 13 Scott Rifenbark 2017-03-20 16:51:59 UTC
Hi Brian, 

Couple questions before I fix the "Essential" section for the CentOS distribution.

 1. In Comment 12, is "python34-pip" correct? Or, was that fat-fingered and
    supposed to be "python3-pip"?

 2. Also, in Comment 12, what does the "-y" mean in 

      sudo yum install -y epel-release

    I assume that "epel-release" is another "Essential" package.  If so, why is 
    it installed separately from the rest of the laundry list shown?

 3. For "sudo yum makecache", this is a separate make operation that must be 
    done only once "epel-release" is installed on the host?

See http://www.yoctoproject.org/docs/2.3/ref-manual/ref-manual.html#centos-packages for the section in question that I will update once I get some clarification on these issues. 

Thanks, 
Scott
Comment 14 brian avery 2017-03-20 18:58:10 UTC
* python34-pip is correct, though with my typeing its good to check. my spelling too, apparently :)
* epel-release is : Extra Packages for Enterprise Linux (EPEL) is a collection of packages from Fedora built on RHEL/CentOS for easy installation of packages not included in enterprise linux by default. I installed it separately because there are other places they could pull this from if they are advanced centos users. Also, I think it provides metadata about additional packages.
* makecache - I think this consumes the additonal metadata from epel-release.
Comment 15 Ross Burton 2017-03-20 19:01:12 UTC
Brian: the only user of pip3 was the build applicance generation, which now builds its own.  Is this the only user that you know of?  If so we can remove that from the list.
Comment 16 brian avery 2017-03-20 20:17:26 UTC
toaster needs pip3.
Comment 17 brian avery 2017-03-23 15:21:20 UTC
answered, afaik.
Comment 18 Scott Rifenbark 2017-03-27 17:47:42 UTC
Brian, 

See http://www.yoctoproject.org/docs/2.3/ref-manual/ref-manual.html#centos-packages for the list of essential packages for CentOS.  Right now I still have "python3-pip python3-pexpect" both in there.  Do these go away with the introduction of the new stuff?

Also, see http://www.yoctoproject.org/docs/2.3/yocto-project-qs/yocto-project-qs.html#packages in the QS.

Let me know the final deal with this regarding "python3-pip and python3-pexpect" and I think we can wrap it up.

thanks, 
Scott
Comment 19 brian avery 2017-03-27 22:21:55 UTC
For centos:
python3-pip python3-expect

should be 
python34-pip 

-- centos does not seem to have a python expect module.

Also, 
all of the python3-pexpect has become a python3-expect. 
The correct term is

"python3-pexpect"
Comment 20 Scott Rifenbark 2017-03-28 14:00:06 UTC
Hi Brian, 

See http://www.yoctoproject.org/docs/2.3/ref-manual/ref-manual.html#centos-packages in the ref-manual for the change and http://www.yoctoproject.org/docs/2.3/yocto-project-qs/yocto-project-qs.html#packages in the QS.

I searched for "python3-pexpect" and found no occurrences in the YP doc set.  So we are good there. 

Let me know if all is well and I will RESOLVE the bug. 

Thanks,
Scott
Comment 21 brian avery 2017-03-28 16:39:24 UTC
looks good to me.
Comment 22 oscar lopez arandas 2017-04-12 19:06:47 UTC
 On Ubuntu and Debian:

    STEPS:
 $ sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib \
   build-essential chrpath socat cpio python python3 python3-pip python3-expect \
     xz which libsdl1.2-dev xterm

    EXPECTED OUTCOME:
install python3 and cpio so the esdk intaller successfully

    ACTUAL OUTCOME:
install python3 and cpio so the esdk intaller successfully
    
NOTES:

oscar@oscar-ThinkPad-T540p:~/10854/build$  sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib \
> build-essential chrpath socat cpio python python3 python3-pip python3-expect \
> xz which libsdl1.2-dev xterm
Reading package lists... Done
Building dependency tree       
Reading state information... Done