Remove gcc, gcc-c++ and make from minimal build root

Vít Ondruch vondruch at redhat.com
Mon Jan 12 15:58:44 UTC 2015


Dne 12.1.2015 v 14:30 Marcin Juszkiewicz napsal(a):
> W dniu 12.01.2015 o 14:08, Vít Ondruch pisze:
>
>> I'd like to collect some feedback about the $SUBJECT, i.e. making 
>> minimal build root really minimal, explicitly specifying build 
>> dependencies, etc.
> Are you aware that this means changing build dependencies of most of
> packages? Altering them just to add gcc, make etc.
>
> Maybe also remove libc from minimal build root?

You may want to read my last comment in the FPC ticket, which tries to
address this a bit:

https://fedorahosted.org/fpc/ticket/490#comment:10

But some more info on this ...

If you want to have bash installed in the build root, these are the
packages which gets in:

Start: dnf install
Dependencies resolved.
================================================================================
 Package                  Arch       Version                  
Repository  Size
================================================================================
Installing:
 basesystem               noarch     10.0-10.fc21             
fedora     5.3 k
 bash                     x86_64     4.3.33-1.fc22            
fedora     1.6 M
 fedora-release           noarch     22-0.10                  
fedora      21 k
 fedora-repos             noarch     22-0.2                   
fedora      20 k
 fedora-repos-rawhide     noarch     22-0.2                   
fedora     9.0 k
 filesystem               x86_64     3.2-32.fc22              
fedora     1.1 M
 glibc                    x86_64     2.20.90-17.fc22          
fedora     3.5 M
 glibc-common             x86_64     2.20.90-17.fc22          
fedora      12 M
 libgcc                   x86_64     4.9.2-5.fc22             
fedora      87 k
 libselinux               x86_64     2.3-5.fc22               
fedora     149 k
 libsepol                 x86_64     2.3-4.fc22               
fedora     168 k
 libstdc++                x86_64     4.9.2-5.fc22             
fedora     297 k
 ncurses-base             noarch     5.9-17.20140906.fc22     
fedora      74 k
 ncurses-libs             x86_64     5.9-17.20140906.fc22     
fedora     314 k
 nss-softokn-freebl       x86_64     3.17.3-1.fc22            
fedora     207 k
 pcre                     x86_64     8.36-3.fc22              
fedora     483 k
 setup                    noarch     2.9.4-1.fc22             
fedora     171 k
 tzdata                   noarch     2014j-1.fc22             
fedora     420 k
 xz-libs                  x86_64     5.2.0-1.fc22             
fedora      89 k

Transaction Summary
================================================================================
Install  19 Packages

Total download size: 20 M
Installed size: 143 M


You see that glibc is there, so it will be probably always installed.
But mock cannot successfully prepare the build root:

Complete!
Finish: dnf install
ERROR: Could not find useradd in chroot, maybe the install failed?


Adding shadow-utils and hence useradd command, these are the package
you'll get installed:



Start: dnf install
Dependencies resolved.
================================================================================
 Package                Arch     Version                         Repository
                                                                          
Size
================================================================================
Installing:
 audit-libs             x86_64   2.4.1-1.fc22                   
fedora    93 k
 basesystem             noarch   10.0-10.fc21                   
fedora   5.3 k
 bash                   x86_64   4.3.33-1.fc22                  
fedora   1.6 M
 bzip2-libs             x86_64   1.0.6-14.fc22                  
fedora    44 k
 ca-certificates        noarch   2014.2.2-2.fc22                
fedora   427 k
 chkconfig              x86_64   1.3.63-1.fc22                  
fedora   176 k
 coreutils              x86_64   8.23-6.fc22                    
fedora   3.3 M
 crypto-policies        noarch   20141124-2.gitd4aa178.fc22     
fedora    25 k
 fedora-release         noarch   22-0.10                        
fedora    21 k
 fedora-repos           noarch   22-0.2                         
fedora    20 k
 fedora-repos-rawhide   noarch   22-0.2                         
fedora   9.0 k
 filesystem             x86_64   3.2-32.fc22                    
fedora   1.1 M
 gawk                   x86_64   4.1.1-6.fc22                   
fedora   1.0 M
 glibc                  x86_64   2.20.90-17.fc22                
fedora   3.5 M
 glibc-common           x86_64   2.20.90-17.fc22                
fedora    12 M
 gmp                    x86_64   1:6.0.0-8.fc22                 
fedora   282 k
 grep                   x86_64   2.21-2.fc22                    
fedora   364 k
 info                   x86_64   5.2-7.fc22                     
fedora   212 k
 keyutils-libs          x86_64   1.5.9-4.fc22                   
fedora    44 k
 krb5-libs              x86_64   1.13-4.fc22                    
fedora   838 k
 libacl                 x86_64   2.2.52-7.fc22                  
fedora    31 k
 libattr                x86_64   2.4.47-9.fc22                  
fedora    23 k
 libcap                 x86_64   2.24-7.fc22                    
fedora    51 k
 libcom_err             x86_64   1.42.12-1.fc22                 
fedora    44 k
 libffi                 x86_64   3.1-6.fc22                     
fedora    34 k
 libgcc                 x86_64   4.9.2-5.fc22                   
fedora    87 k
 libselinux             x86_64   2.3-5.fc22                     
fedora   149 k
 libsemanage            x86_64   2.3-6.fc22                     
fedora   138 k
 libsepol               x86_64   2.3-4.fc22                     
fedora   168 k
 libstdc++              x86_64   4.9.2-5.fc22                   
fedora   297 k
 libtasn1               x86_64   4.2-1.fc22                     
fedora   323 k
 libverto               x86_64   0.2.6-4.fc22                   
fedora    21 k
 ncurses                x86_64   5.9-17.20140906.fc22           
fedora   318 k
 ncurses-base           noarch   5.9-17.20140906.fc22           
fedora    74 k
 ncurses-libs           x86_64   5.9-17.20140906.fc22           
fedora   314 k
 nss-softokn-freebl     x86_64   3.17.3-1.fc22                  
fedora   207 k
 openssl-libs           x86_64   1:1.0.1k-1.fc22                
fedora   941 k
 p11-kit                x86_64   0.22.1-1.fc22                  
fedora   150 k
 p11-kit-trust          x86_64   0.22.1-1.fc22                  
fedora   128 k
 pcre                   x86_64   8.36-3.fc22                    
fedora   483 k
 popt                   x86_64   1.16-5.fc22                    
fedora    58 k
 sed                    x86_64   4.2.2-9.fc22                   
fedora   237 k
 setup                  noarch   2.9.4-1.fc22                   
fedora   171 k
 shadow-utils           x86_64   2:4.2.1-1.fc22                 
fedora   1.1 M
 tzdata                 noarch   2014j-1.fc22                   
fedora   420 k
 ustr                   x86_64   1.0.4-18.fc22                  
fedora    98 k
 xz-libs                x86_64   5.2.0-1.fc22                   
fedora    89 k
 zlib                   x86_64   1.2.8-7.fc22                   
fedora    95 k

Transaction Summary
================================================================================
Install  48 Packages

Total download size: 31 M
Installed size: 176 M



Now you can successfully shell into the root.


Vít



More information about the devel mailing list