Issue #184: Add sudo-fake to JuNest image

This commit is contained in:
Filippo Squillace 2017-04-24 09:21:40 +01:00
parent 35fce94c4e
commit 7ebdf628cf
3 changed files with 11 additions and 6 deletions

View file

@ -162,7 +162,7 @@ The following table shows the capabilities that each backend program is able to
| | QEMU | Root privileges required | Manage Official Packages | Manage AUR Packages | Portability | Support | User modes |
| --- | ---- | ------------------------ | ------------------------ | ------------------- | ----------- | ------- | ---------- |
| **Proot** | YES | NO | YES | YES | YES | Poor | Normal user and `fakeroot` |
| **Linux Namespaces** | NO | NO | YES | NO | Poor | YES | `fakeroot` only |
| **Linux Namespaces** | NO | NO | YES | YES | Poor | YES | `fakeroot` only |
| **Chroot** | NO | YES | YES | YES | YES | YES | `root` only |
Advanced usage
@ -176,7 +176,7 @@ The script will create a directory containing all the essentials
files in order to make JuNest working properly (such as pacman, yogurt and proot).
The option **-n** will skip the final validation tests if they are not needed.
Remember that the script to build the image must run in an Arch Linux OS with
arch-install-scripts, package-query, git and the base-devel packages installed.
arch-install-scripts, package-query and the base-devel packages installed.
To change the build directory just use the `JUNEST_TEMPDIR` (by default /tmp).
After creating the image junest-x86\_64.tar.gz you can install it by running:
@ -268,11 +268,16 @@ Troubleshooting
Cannot find the gzip binary required for compressing man and info pages.
> **A**: JuNest comes with a very basic number of packages.
> In order to install packages using yogurt you may need to install the package group **base-devel**
> that contains all the essential packages for compiling source code (such as gcc, make, patch, etc):
> In order to install AUR packages via yogurt you need to install the package group `base-devel` first
> that contains all the essential packages for compiling from source code (such as gcc, make, patch, etc):
#> pacman -S base-devel
> This command will fail as `base-devel` contains `sudo` command that conflicts with
> `sudo-fake` package. In order to install all packages in `base-devel` except `sudo`:
#> pacman -S $(pacman -Sg base-devel | cut -d ' ' -f 2 | grep -v sudo)
## No servers configured for repository ##
> **Q**: Why I cannot install packages?

View file

@ -37,7 +37,6 @@ function build_image_env(){
_check_package arch-install-scripts
_check_package gcc
_check_package package-query
_check_package git
local disable_validation=$1
@ -59,6 +58,7 @@ function build_image_env(){
info "Compiling and installing yaourt..."
_install_from_aur ${maindir} "package-query"
_install_from_aur ${maindir} "yaourt"
_install_from_aur ${maindir} "sudo-fake"
info "Install ${NAME} script..."
sudo pacman --noconfirm --root ${maindir}/root -S git

View file

@ -147,7 +147,7 @@ function delete_env(){
fi
# the CA directories are read only and can be deleted only by changing the mod
chmod -R +w ${JUNEST_HOME}/etc/ca-certificates
if rm_cmd -rf ${JUNEST_HOME}/*
if rm_cmd -rf ${JUNEST_HOME}
then
info "${NAME} deleted in ${JUNEST_HOME}"
else