Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

lite version without vbox #14

Draft
wants to merge 1 commit into
base: master
Choose a base branch
from
Draft

lite version without vbox #14

wants to merge 1 commit into from

Conversation

egandro
Copy link

@egandro egandro commented May 29, 2024

PoC for Lite version

  • we create two files now
  • I suggest having separate names e.g. "Toolbox2docker" and "Toolbox2docker-lite" (this is reflected in the installed Apps on windows)
  • We have to change the AppId to a new Random Guid (as Toolbox2docker-lite creates a new directory and this can cause issues when - stupid - users installs the full on an existing lite version and the way around)
  • For security reasons - you as maintainer - please create a random guid (in the Docker.windows file) and don't use "my magic string from a random dude" of the internet is not trustworthy
  • AppId={{FC4417F0-D7F3-48DB-BCE1-F5ED5BAFFD91} looked somehow odd - as it has only one closing bracket - but it's correct https://stackoverflow.com/posts/61174457/revisions (please double check - I am no expert).

Ping me if I need to add changes.

@kaosagnt kaosagnt linked an issue Jun 5, 2024 that may be closed by this pull request
@kaosagnt
Copy link
Owner

kaosagnt commented Jun 6, 2024

Things that need looking into:
windows/Toolbox.iss -> virtualbox in arrays
still deciding whether to use seperate make targets

@egandro
Copy link
Author

egandro commented Jun 6, 2024

Things that need looking into: windows/Toolbox.iss -> virtualbox in arrays still deciding whether to use seperate make targets

We should (maybe) consider doing that on mac, too.

I am not 100% sure. The days o x86_64 macs might be over. So even touchting that might be not worth the time.

I don't think that many developers have a need to run Toolbox2Docker on macOS.

@kaosagnt
Copy link
Owner

kaosagnt commented Jun 7, 2024

Things that need looking into: windows/Toolbox.iss -> virtualbox in arrays still deciding whether to use seperate make targets

We should (maybe) consider doing that on mac, too.

I am not 100% sure. The days o x86_64 macs might be over. So even touchting that might be not worth the time.

I don't think that many developers have a need to run Toolbox2Docker on macOS.

He, He , I use macOS. Haven't used windows for development since 2021.

Docker CLI is compiled for macOS arm64 and I can build docker-machine for macOS arm64 as well. That just leaves creating an arm64 port of boot2docker. As I don't have a modern arm based mac just lot of Intel macs this hasn't been a priority.

@egandro
Copy link
Author

egandro commented Jun 9, 2024

I use UTM on my M1 mac mini. It's super simple to setup a arm64 Linux.

You just have todo a:

  • install Debian/Ubuntu in UTM
  • wget https://download.docker.com/mac/static/stable/aarch64/docker-20.10.24.tgz -o docker.tgz && tar xf docker.tgz
  • export DOCKER_HOST=ssh://<ip-of-linux-in-utm>
  • docker run hello-world

I have no idea how vbox (arm64 - if such a thing exists) compares to UTM.

Correct me if I am wrong - for this PR I doubt that we have to care about a macOS Lite version.

@kaosagnt
Copy link
Owner

I use UTM on my M1 mac mini. It's super simple to setup a arm64 Linux.

You just have todo a:

  • install Debian/Ubuntu in UTM
  • wget https://download.docker.com/mac/static/stable/aarch64/docker-20.10.24.tgz -o docker.tgz && tar xf docker.tgz
  • export DOCKER_HOST=ssh://<ip-of-linux-in-utm>
  • docker run hello-world

I have no idea how vbox (arm64 - if such a thing exists) compares to UTM.

No arm for Virtualbox.

Correct me if I am wrong - for this PR I doubt that we have to care about a macOS Lite version.

No macOS for this PR.

@egandro
Copy link
Author

egandro commented Jun 14, 2024

Is there anything missing?

Do I have todo anything to make progress here?

@kaosagnt
Copy link
Owner

Is there anything missing?

There are virtualbox references all over the Installer in Toolbox.iss in the windows directory. This needs to be looked at when I have time.

Do I have todo anything to make progress here?

Ensure that the installer looks and functions correctly if you're able to.

@egandro
Copy link
Author

egandro commented Jul 4, 2024

Is there anything missing?

There are virtualbox references all over the Installer in Toolbox.iss in the windows directory. This needs to be looked at when I have time.

Yes but we simply disable them via sed. We don't display them in the UI and we don't package anything in the setup.

Do I have todo anything to make progress here?

Ensure that the installer looks and functions correctly if you're able to.

The functions are there - but we never call them.

  • We can make Toolbox.iss and ToolboxLite.iss. I highly question the value of splitting the files.
  • We can also bring in (yet another tool) to generate Toolbox.iss and ToolboxLite.iss - I also question the value of this approach.
  • We might use partial files and use cat to join Toolbox.iss from a ToolboxLite.iss + ToolboxVMpartials.iss - I also question the value of this approach :)

This is also ugly - because it's doesn't look like a magic string - it is a magic string.

RUN if [ "$VARIANT" = "-lite" ]; then \
		sed -i 's|^#define MyAppName "Toolbox2docker"|#define MyAppName "Toolbox2docker'$VARIANT'"|g' Toolbox.iss; \
		sed -i 's|^AppId=.*$|AppId={{5DFD8320-1E10-11EF-9E35-0800200C9A66}|g' Toolbox.iss; \
		sed -i 's|^Name: vbox_ndis5;|// Name: vbox_ndis5;|g' Toolbox.iss; \
		sed -i 's|^Name: "VirtualBox";|// Name: "VirtualBox";|g' Toolbox.iss; \
		sed -i 's|^Source: "{#virtualBoxMsi}"|// Source: "{#virtualBoxMsi}"|g' Toolbox.iss; \
		sed -i 's|Wizardform\.ComponentsList\.|// Wizardform\.ComponentsList\.|g' Toolbox.iss; \
	fi && \
	wine ../innosetup/ISCC.exe Toolbox.iss /DMyAppVersion=$INSTALLER_VERSION /DMixpanelToken=$MIXPANEL_TOKEN

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

feature request: version without vbox
2 participants