-
Notifications
You must be signed in to change notification settings - Fork 45
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
Feature/debian installer #917
Conversation
The commit contains the scripts to build debian package of skywire and installation via apt-get.
The commit contains the documentation for the debian package building and installation.
The commit removes unwanted scripts.
The commit contains the updated package_deb.sh and some fixes.
This commit contains updated docs for deb_installer.
The commit contains additions in gitignore.
The commit contains the fix for indentation of package_deb.sh.
The commit contains a minor fix. A new line is added at the end of sign_deb.sh.
The commit contains makefile targets for deb-install-prequisites, deb-package and deb-package-help. It also includes the changes and additions necessary for the targets and some minor fixes.
The commit contains updates to the deb_install docs.
The commit contains changes to the input type of package_deb.sh, instead of taking the version, email and name via flag it now takes it from the console.
The commit contains updates to the docs.
The commit contains updates to the docs.
The commit contains sign_deb.sh.
The commit contains updates to the docs.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We need to make sure we build the binaries we package/sign with the debian
build tag. That should be either part of the target or clear part of the instrucitons.
The commit contains update to the package_deb.sh where instead of using make bin and make host-apps seperatly we now use make build with build tag. It also includes some minor changes.
The commit contains additions to teh doc. The additions are install and uninstall instructions for manually built packages and uninstall instructions for end use.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some changes needed, I think for hygiene. Not crucial at all, but would be nice to have.
The commit contains changes to the package_deb.sh where files were written with echo are now written with cat.
The commit contains changes to the files sign_deb.sh and prequisites.sh where empty line was added to their end.
For the package installed to the path /opt/skywire; the config gen command (for a visor) should be
without this flag, the current directory is written into the config files; which may be the binaries should be in /opt/skywire/bin/ the app are in the correct place The config gen stuff brings up an important question in terms of what defaults are desired. In the packages I maintain of skywire; a hypervisor instance is configured by the postinstall script with the command:
which outputs by default to the path the hypervisor instance is enabled and started by default upon installation by the same postinstall script. the postinstall script also prints out the visor's public key and the ip address and port of the running hypervisor instance It is left to the user, at that point, to configure additional visor instances to use that hypervisor instance by running a command that is printed to the terminal.
In the packages i maintain; there are two systemd service files. One for hypervisor and one for visor-only. The process outlined keeps the same keys for both configs. To aid in troubleshooting; the postinstall script of the packages is made to call a script which is included with the installation; @jdknives I suggest comparing the packages I maintain with the ones generated by this PR. the repository configuration instructions are at: Also, I will point out that I don't believe This manner of doing a build of a .deb package is a heavily one-off effort which is difficult to maintain and very difficult for others, myself included, to understand what is going on and troubleshoot. Because the build system occupies the same script as the build itself; and also the way the different files are generated and written to is a bit tough on the eyes. I certainly am not discounting the effort here. Compare with this cross-compiling .deb PKGBUILD. The skywire-autoconfig script i mentioned earlier can be found in the scripts archives when you The constraint with this build system is that an archlinux host or chroot is required. Additionally, I maintain packages in the AUR for several skycoin repositories, and already have .deb builds for some; but the process merely adding a few lines to the existing PKGBUILD. the PKGBUILD format is much simpler and easier to read. It is also not designed to accompany the sources as these are fetched automatically by it is actually possible at present for anyone to run the following commands on archlinux to create the skywire debian packages:
Or it would have been possible if the 0.4.2 release of skywire had not been deleted. Updating the version is a trivial matter. |
@ersonp please verify and fix the issues from the following passage
|
Why? That diverges from the layout we use for source builds.
Which questions does that bring up exactly? Not sure I follow.
Not required. The Deb package will be geared towards VPN users. This includes a Systray application that allows you to open hypervisor UI and VPN UI easily from the systray. If a user needs the PubKey of the visor, it is easy enough to copy from the UI.
Not required. This package is not intended for system administrators or network administrators. It is geared towards users interested in the VPN. Therefore it does not need to support I dont see the need for the autoconfig command or script at this point. It is reasonably hard to accidentally remove the config. If this happens, user can reinstall.
Why? Please expand.
Can have a look at improvements. Building the deb packages from |
if using the
My mistake, I did not realize that this was geared towards the end vpn users because most or all of the skywire installation is present. |
The commit contains requested changes. The Makefile comment is cleaned up as well as the makefile content is moved to it's own file which is copied over to the deb packages at the time of packaging. The same is done with the heredoc strings.
Step for config generation has been added in the docs.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Much better.
Did you run
make format && make check
? yesFixes #
Changes:
How to test this PR: