From 60d52da4fe8ddf5e947f9c3ff20091f80c80c1ee832f7b7d4054b79f367fb093 Mon Sep 17 00:00:00 2001 From: Dario Faggioli Date: Thu, 15 Sep 2022 05:50:35 +0000 Subject: [PATCH] Accepting request 1003683 from home:dfaggioli:microos-desktop - Update to latest version (1.4.0) - Patches removed: 0001-enter-fix-automatic-container-creation-when-r-is-use.patch 0002-distrobox-handle-situations-with-weird-manpages-setu.patch 0002-opensuse-check-for-the-config-file-in-usr-etc-too.patch 0003-distrobox-if-no-command-is-specified-default-to-ente.patch 0004-opensuse-check-for-the-config-file-in-usr-etc-too.patch - Patches added: 0001-distrobox-if-no-command-is-specified-default-to-ente.patch - Changes in 1.4.0: * New distrobox upgrade command, to update all the containers at once * New distrobox generate-entry command, to add your distrobox to the app list note that from 1.4.0 onwards this will be the default behaviour for all the new containers created * New distrobox ephemeral command, to quickly spawn, use and delete a container. All-in-one. * New install-podman script to install Podman in $HOME. Handy for @ValveSoftware SteamDeck users * Distrobox-host-exec now uses exclusively the host-spawn command from @1player * Better support for AD/LDap and Kerberos usernames * Better support for Nix/Guix hosts * Plenty of bug fixes and CI/Test improvements smile OBS-URL: https://build.opensuse.org/request/show/1003683 OBS-URL: https://build.opensuse.org/package/show/Virtualization:containers/distrobox?expand=0&rev=17 --- ...command-is-specified-default-to-ente.patch | 47 +++++----- ...tic-container-creation-when-r-is-use.patch | 44 --------- ...-situations-with-weird-manpages-setu.patch | 75 ---------------- ...k-for-the-config-file-in-usr-etc-too.patch | 90 ------------------- distrobox-1.3.1.tar.gz | 3 - distrobox-1.4.0.tar.gz | 3 + distrobox.changes | 28 +++++- distrobox.spec | 41 +++++---- 8 files changed, 77 insertions(+), 254 deletions(-) rename 0003-distrobox-if-no-command-is-specified-default-to-ente.patch => 0001-distrobox-if-no-command-is-specified-default-to-ente.patch (57%) delete mode 100644 0001-enter-fix-automatic-container-creation-when-r-is-use.patch delete mode 100644 0002-distrobox-handle-situations-with-weird-manpages-setu.patch delete mode 100644 0004-opensuse-check-for-the-config-file-in-usr-etc-too.patch delete mode 100644 distrobox-1.3.1.tar.gz create mode 100644 distrobox-1.4.0.tar.gz diff --git a/0003-distrobox-if-no-command-is-specified-default-to-ente.patch b/0001-distrobox-if-no-command-is-specified-default-to-ente.patch similarity index 57% rename from 0003-distrobox-if-no-command-is-specified-default-to-ente.patch rename to 0001-distrobox-if-no-command-is-specified-default-to-ente.patch index c85cbb6..739e00b 100644 --- a/0003-distrobox-if-no-command-is-specified-default-to-ente.patch +++ b/0001-distrobox-if-no-command-is-specified-default-to-ente.patch @@ -1,22 +1,22 @@ -From 0f1a928d310ea35465f892ff0bda563d110a4ce7 Mon Sep 17 00:00:00 2001 +From a4f0fd0560c39d58472ef09e4228948e88012d33 Mon Sep 17 00:00:00 2001 From: Dario Faggioli Date: Thu, 28 Jul 2022 10:10:28 +0200 -Subject: [PATCH 3/4] distrobox: if no command is specified, default to enter +Subject: [PATCH] distrobox: if no command is specified, default to enter If just `distrobox` is invoked, without any command, assume `distrobox enter`. Signed-off-by: Dario Faggioli --- - distrobox | 19 ++++++++++++------- + distrobox | 18 ++++++++++++------ docs/README.md | 1 + - 2 files changed, 13 insertions(+), 7 deletions(-) + 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/distrobox b/distrobox -index 4e37031..ce0469c 100755 +index 0f83b54..9b53547 100755 --- a/distrobox +++ b/distrobox -@@ -19,6 +19,11 @@ +@@ -19,6 +19,12 @@ # along with distrobox; if not, see . # POSIX @@ -25,42 +25,37 @@ index 4e37031..ce0469c 100755 + +default_command="enter" +[ -n "${DBX_DEFAULT_COMMAND}" ] && default_command="${DBX_DEFAULT_COMMAND}" ++ + set -o errexit + set -o nounset - trap '[ "$?" -ne 0 ] && printf "\nAn error occurred\n"' EXIT - -@@ -43,11 +48,6 @@ Choose one of the available commands: +@@ -48,15 +54,15 @@ Choose one of the available commands: EOF } --if [ $# -eq 0 ]; then ++distrobox_path="$(dirname "${0}")" + if [ $# -eq 0 ]; then - show_help - exit --fi -- - # Handle 'help' here, before setting 'errexit', so we have a chance - # to show our help if the man command is there but fails. - if [ "$1" = "help" ] || [ "$1" = "--help" ] || [ "$1" = "-h" ]; then -@@ -62,8 +62,13 @@ set -o errexit - set -o nounset - - distrobox_path="$(dirname "${0}")" --distrobox_command="${1}" --shift -+if [ $# -eq 0 ]; then + printf "No command specified. Assuming: distrobox-%s\n" "${default_command}" + distrobox_command="${default_command}" +else + distrobox_command="${1}" + shift -+fi + fi +-distrobox_path="$(dirname "${0}")" +-distrobox_command="${1}" +-shift +- # Simple wrapper to the distrobox utilities. # We just detect the 1st argument and launch the matching distrobox utility. + case "${distrobox_command}" in diff --git a/docs/README.md b/docs/README.md -index df00785..64e4c0d 100644 +index 8ec20bf..165985f 100644 --- a/docs/README.md +++ b/docs/README.md -@@ -268,6 +268,7 @@ Alternatively it is possible to specify preferences using ENV variables: +@@ -283,6 +283,7 @@ Alternatively it is possible to specify preferences using ENV variables: - DBX_CONTAINER_NAME - DBX_NON_INTERACTIVE - DBX_SKIP_WORKDIR @@ -69,5 +64,5 @@ index df00785..64e4c0d 100644 --- -- -2.37.1 +2.37.3 diff --git a/0001-enter-fix-automatic-container-creation-when-r-is-use.patch b/0001-enter-fix-automatic-container-creation-when-r-is-use.patch deleted file mode 100644 index 4672e3b..0000000 --- a/0001-enter-fix-automatic-container-creation-when-r-is-use.patch +++ /dev/null @@ -1,44 +0,0 @@ -From 2773eff4dcafc8df176f74b001a56557c7893507 Mon Sep 17 00:00:00 2001 -From: Dario Faggioli -Date: Wed, 27 Jul 2022 13:17:34 +0200 -Subject: [PATCH 1/4] enter: fix automatic container creation when '-r' is used - (#364) - -When calling 'distrobox-create', from inside 'distrobox-enter' (in cause -automatic creation of the container is enabled) we were not "forwarding" -the '-r' flag properly. Therefore, when 'distrobox enter -r' was used, -we were trying to create a rootless container, which is obviously wrong! - -Fixes: 8b195e3328d0a6fb19564555dec067c607fa8116 -Signed-off-by: Dario Faggioli -(cherry picked from commit 19aa7bfccc1726551eda9df36403da58beb00823) -Signed-off-by: Dario Faggioli ---- - distrobox-enter | 9 +++++++-- - 1 file changed, 7 insertions(+), 2 deletions(-) - -diff --git a/distrobox-enter b/distrobox-enter -index 138446c..e754c6b 100755 ---- a/distrobox-enter -+++ b/distrobox-enter -@@ -407,10 +407,15 @@ if [ "${container_status}" = "unknown" ]; then - case "${response}" in - y | Y | Yes | yes | YES) - # Ok, let's create the container with just 'distrobox create $container_name -+ create_command="$(dirname "${0}")/distrobox-create" -+ if [ "${rootful}" -ne 0 ]; then -+ create_command="${create_command} --root" -+ fi -+ create_command="${create_command} -i ${container_image} -n ${container_name}" - printf >&2 "Creating the container with command:\n" -- printf >&2 " distrobox create -i %s %s\n" "${container_image}" "${container_name}" -+ printf >&2 " %s\n" "${create_command}" - if [ "${dryrun}" -ne 1 ]; then -- "$(dirname "${0}")"/distrobox-create -i "${container_image}" -n "${container_name}" -+ eval "${create_command}" - fi - ;; - n | N | No | no | NO) --- -2.37.1 - diff --git a/0002-distrobox-handle-situations-with-weird-manpages-setu.patch b/0002-distrobox-handle-situations-with-weird-manpages-setu.patch deleted file mode 100644 index 730cb74..0000000 --- a/0002-distrobox-handle-situations-with-weird-manpages-setu.patch +++ /dev/null @@ -1,75 +0,0 @@ -From d8f81bb5a6169b4efce137c3538afa770abb1fbb Mon Sep 17 00:00:00 2001 -From: Dario Faggioli -Date: Thu, 28 Jul 2022 11:02:05 +0200 -Subject: [PATCH 2/4] distrobox: handle situations with weird manpages setup - -So, assume you're distro strip manpages during packages install. That -might mean the `man` command exists, but there isn't any entry for -anything. In that case, the following happens: - - distrobox --help - No manual entry for distrobox - - An error occurred - -Fix this by checking also the return value of the `man` invocation too, -and show our own help if it failed. - -Signed-off-by: Dario Faggioli -(cherry picked from https://github.com/89luca89/distrobox/pull/365) -Signed-off-by: Dario Faggioli ---- - distrobox | 23 +++++++++++++---------- - 1 file changed, 13 insertions(+), 10 deletions(-) - -diff --git a/distrobox b/distrobox -index 5cbb6de..4e37031 100755 ---- a/distrobox -+++ b/distrobox -@@ -19,8 +19,6 @@ - # along with distrobox; if not, see . - - # POSIX --set -o errexit --set -o nounset - - trap '[ "$?" -ne 0 ] && printf "\nAn error occurred\n"' EXIT - -@@ -50,6 +48,19 @@ if [ $# -eq 0 ]; then - exit - fi - -+# Handle 'help' here, before setting 'errexit', so we have a chance -+# to show our help if the man command is there but fails. -+if [ "$1" = "help" ] || [ "$1" = "--help" ] || [ "$1" = "-h" ]; then -+ if command -v man > /dev/null; then -+ man distrobox && exit 0 -+ fi -+ show_help -+ exit 0 -+fi -+ -+set -o errexit -+set -o nounset -+ - distrobox_path="$(dirname "${0}")" - distrobox_command="${1}" - shift -@@ -76,14 +87,6 @@ case "${distrobox_command}" in - printf "distrobox: %s\n" "${version}" - exit 0 - ;; -- help | --help | -h) -- if command -v man > /dev/null; then -- man distrobox -- exit 0 -- fi -- show_help -- exit 0 -- ;; - *) # Default case: If no more options then break out of the loop. - printf >&2 "Error: invalid command\n" - show_help --- -2.37.1 - diff --git a/0004-opensuse-check-for-the-config-file-in-usr-etc-too.patch b/0004-opensuse-check-for-the-config-file-in-usr-etc-too.patch deleted file mode 100644 index ad93468..0000000 --- a/0004-opensuse-check-for-the-config-file-in-usr-etc-too.patch +++ /dev/null @@ -1,90 +0,0 @@ -From 9a9a4dd4843199e9e40668dc58986abb82fb9020 Mon Sep 17 00:00:00 2001 -From: Dario Faggioli -Date: Wed, 27 Jul 2022 12:50:16 +0200 -Subject: [PATCH 4/4] opensuse: check for the config file in /usr/etc too - -Signed-off-by: Dario Faggioli ---- - distrobox-create | 1 + - distrobox-enter | 1 + - distrobox-list | 1 + - distrobox-rm | 1 + - distrobox-stop | 1 + - docs/README.md | 1 + - 6 files changed, 6 insertions(+) - -diff --git a/distrobox-create b/distrobox-create -index b0bb0e9..94fe003 100755 ---- a/distrobox-create -+++ b/distrobox-create -@@ -79,6 +79,7 @@ version="1.3.1" - # leave priority to environment variables. - config_files=" - /usr/share/distrobox/distrobox.conf -+ /usr/etc/distrobox/distrobox.conf - /etc/distrobox/distrobox.conf - ${HOME}/.config/distrobox/distrobox.conf - ${HOME}/.distroboxrc -diff --git a/distrobox-enter b/distrobox-enter -index e754c6b..25870f2 100755 ---- a/distrobox-enter -+++ b/distrobox-enter -@@ -69,6 +69,7 @@ version="1.3.1" - # leave priority to environment variables. - config_files=" - /usr/share/distrobox/distrobox.conf -+ /usr/etc/distrobox/distrobox.conf - /etc/distrobox/distrobox.conf - ${HOME}/.config/distrobox/distrobox.conf - ${HOME}/.distroboxrc -diff --git a/distrobox-list b/distrobox-list -index f62da97..36788df 100755 ---- a/distrobox-list -+++ b/distrobox-list -@@ -42,6 +42,7 @@ container_manager="autodetect" - # leave priority to environment variables. - config_files=" - /usr/share/distrobox/distrobox.conf -+ /usr/etc/distrobox/distrobox.conf - /etc/distrobox/distrobox.conf - ${HOME}/.config/distrobox/distrobox.conf - ${HOME}/.distroboxrc -diff --git a/distrobox-rm b/distrobox-rm -index 4d6b0a8..e23a1d7 100755 ---- a/distrobox-rm -+++ b/distrobox-rm -@@ -46,6 +46,7 @@ version="1.3.1" - # leave priority to environment variables. - config_files=" - /usr/share/distrobox/distrobox.conf -+ /usr/etc/distrobox/distrobox.conf - /etc/distrobox/distrobox.conf - ${HOME}/.config/distrobox/distrobox.conf - ${HOME}/.distroboxrc -diff --git a/distrobox-stop b/distrobox-stop -index accfce0..f848b7e 100755 ---- a/distrobox-stop -+++ b/distrobox-stop -@@ -45,6 +45,7 @@ version="1.3.1" - # leave priority to environment variables. - config_files=" - /usr/share/distrobox/distrobox.conf -+ /usr/etc/distrobox/distrobox.conf - /etc/distrobox/distrobox.conf - ${HOME}/.config/distrobox/distrobox.conf - ${HOME}/.distroboxrc -diff --git a/docs/README.md b/docs/README.md -index 64e4c0d..58cf1d8 100644 ---- a/docs/README.md -+++ b/docs/README.md -@@ -243,6 +243,7 @@ Configuration files can be placed in the following paths, from the least importa - to the most important: - - - /usr/share/distrobox/distrobox.conf -+- /usr/etc/distrobox/distrobox.conf - - /etc/distrobox/distrobox.conf - - ${HOME}/.config/distrobox/distrobox.conf - - ${HOME}/.distroboxrc --- -2.37.1 - diff --git a/distrobox-1.3.1.tar.gz b/distrobox-1.3.1.tar.gz deleted file mode 100644 index 79138f5..0000000 --- a/distrobox-1.3.1.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:22b6625ca243f55c08630d37015cdbfbe1939516022bfef502aa6603f42b4d00 -size 80081 diff --git a/distrobox-1.4.0.tar.gz b/distrobox-1.4.0.tar.gz new file mode 100644 index 0000000..59dcdd2 --- /dev/null +++ b/distrobox-1.4.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e643a702c3f3f0d7467afe840b4f3ee6e4c369b6464618b6ec09f7ad27eb64f5 +size 228027 diff --git a/distrobox.changes b/distrobox.changes index 2e3d60f..7b5cf5e 100644 --- a/distrobox.changes +++ b/distrobox.changes @@ -1,7 +1,33 @@ +------------------------------------------------------------------- +Wed Sep 14 09:24:10 UTC 2022 - Dario Faggioli + +- Update to latest version (1.4.0) +- Patches removed: + 0001-enter-fix-automatic-container-creation-when-r-is-use.patch + 0002-distrobox-handle-situations-with-weird-manpages-setu.patch + 0002-opensuse-check-for-the-config-file-in-usr-etc-too.patch + 0003-distrobox-if-no-command-is-specified-default-to-ente.patch + 0004-opensuse-check-for-the-config-file-in-usr-etc-too.patch +- Patches added: + 0001-distrobox-if-no-command-is-specified-default-to-ente.patch +- Changes in 1.4.0: + * New distrobox upgrade command, to update all the containers at once + * New distrobox generate-entry command, to add your distrobox to the app list + note that from 1.4.0 onwards this will be the default behaviour for all the + new containers created + * New distrobox ephemeral command, to quickly spawn, use and delete a container. + All-in-one. + * New install-podman script to install Podman in $HOME. Handy for @ValveSoftware + SteamDeck users + * Distrobox-host-exec now uses exclusively the host-spawn command from @1player + * Better support for AD/LDap and Kerberos usernames + * Better support for Nix/Guix hosts + * Plenty of bug fixes and CI/Test improvements smile + ------------------------------------------------------------------- Thu Jul 28 09:48:32 UTC 2022 - Dario Faggioli -- Fix a (potential) problem with man and manpages +- Fix a (potential0 problem with man and manpages * Patch added: 0002-distrobox-handle-situations-with-weird-manpages-setu.patch - Default to distrobox-enter when only typing distrobox diff --git a/distrobox.spec b/distrobox.spec index 47e2f25..2911a51 100644 --- a/distrobox.spec +++ b/distrobox.spec @@ -16,26 +16,22 @@ # Name: distrobox -Version: 1.3.1 +Version: 1.4.0 Release: 0 Summary: Use any linux distribution inside your terminal License: GPL-3.0 URL: https://github.com/89luca89/distrobox Source: distrobox-%{version}.tar.gz Source1: distrobox.conf -# Fix a problem with automatic rootful container creation (from upstream) -Patch1: 0001-enter-fix-automatic-container-creation-when-r-is-use.patch -# Fix a problem if man is there but actual manpages are stripped (from upstream PR) -Patch2: 0002-distrobox-handle-situations-with-weird-manpages-setu.patch # Default to distrobox-enter when just distrobox is used -Patch3: 0003-distrobox-if-no-command-is-specified-default-to-ente.patch -# Read the config from vendor specific directory (/usr/etc/distrobox) too -Patch4: 0004-opensuse-check-for-the-config-file-in-usr-etc-too.patch +Patch1: 0001-distrobox-if-no-command-is-specified-default-to-ente.patch Requires: %{_bindir}/basename Requires: %{_bindir}/find Requires: %{_bindir}/grep Requires: %{_bindir}/sed Requires: (%{_bindir}/podman or %{_bindir}/docker) +BuildRequires: hicolor-icon-theme +BuildRequires: ImageMagick BuildArch: noarch %description @@ -51,10 +47,11 @@ external USB devices and graphical apps (X11/Wayland), and audio. %build %install -mkdir -p %{buildroot}%{_bindir} -mkdir -p %{buildroot}%{_docdir}/%{name} ./install --prefix %{buildroot}/%{_prefix} + +install -d -m0755 %{buildroot}%{_docdir}/%{name} install -m 0644 docs/*.md %{buildroot}%{_docdir}/%{name} + %if 0%{?suse_version} > 1500 mkdir -p %{buildroot}%{_distconfdir}/distrobox install -m 0644 %{SOURCE1} %{buildroot}%{_distconfdir}/distrobox/distrobox.conf @@ -62,6 +59,19 @@ install -m 0644 %{SOURCE1} %{buildroot}%{_distconfdir}/distrobox/distrobox.conf mkdir -p %{buildroot}%{_sysconfdir}/distrobox install -m 0644 %{SOURCE1} %{buildroot}%{_sysconfdir}/distrobox/distrobox.conf %endif + +# Move the icon +mkdir -p %{buildroot}%{_datadir}/icons/hicolor/1200x1200/apps +mv %{buildroot}%{_datadir}/icons/terminal-distrobox-icon.png \ + %{buildroot}%{_datadir}/icons/hicolor/1200x1200/apps + +# Generate all the other icon sizes +for sz in 16 22 24 32 36 48 64 72 96 128 256; do + mkdir -p %{buildroot}%{_datadir}/icons/hicolor/${sz}x${sz}/apps + convert terminal-distrobox-icon.png -resize ${sz}x${sz} \ + %{buildroot}%{_datadir}/icons/hicolor/${sz}x${sz}/apps/terminal-distrobox-icon.png +done + %files %license COPYING.md %doc %{_docdir}/%{name} @@ -70,13 +80,14 @@ install -m 0644 %{SOURCE1} %{buildroot}%{_sysconfdir}/distrobox/distrobox.conf %{_mandir}/man1/%{name}.1.gz %{_mandir}/man1/%{name}-*.1.gz %if 0%{?suse_version} > 1500 -%{_distconfdir}/distrobox -%else -%config %{_sysconfdir}/distrobox -%endif -%if 0%{?suse_version} > 1500 +%dir %{_distconfdir}/distrobox %{_distconfdir}/distrobox/distrobox.conf %else +%config %{_sysconfdir}/distrobox %config(noreplace) %{_sysconfdir}/distrobox/distrobox.conf %endif +%dir %{_datadir}/icons/hicolor/ +%dir %{_datadir}/icons/hicolor/*x*/ +%dir %{_datadir}/icons/hicolor/*x*/apps/ +%{_datadir}/icons/hicolor/*/apps/terminal-distrobox-icon.png %changelog