Skip to content

Provide Unix Build Instructions + Scripts #437

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

Closed
migueldeicaza opened this issue Apr 4, 2015 · 7 comments
Closed

Provide Unix Build Instructions + Scripts #437

migueldeicaza opened this issue Apr 4, 2015 · 7 comments

Comments

@migueldeicaza
Copy link

Currently the mechanism to install KVM requires me to run some commands that download bits and pieces from the internet.

ASP.NET needs to have a Unix build setup that would:

  • Configure a source checkout for build and installation
  • Build the required bits from a pure source checkout
  • Install the required bits into the system and any auxiliary scripts

This is the way that most Unix packages are distributed nowadays. And they have been turned into a set of well established idioms, that go like this:

 ./configure [options]
 make
 make install

Bonus points if you use GNU autoconf/automake, as it would give you:

@davidfowl
Copy link
Member

I think we should look into packaging dnvm (Debian and RPM). I'm not convinced me need to do the

./configure
make
make install

Pattern for our managed projects. We use a build.sh instead.

@wholroyd
Copy link

If you're thinking of doing .deb and .rpm files, it would make sense to change how DNX does its installations today. For example in both Windows and Linux, it's stored in a .dnx folder under the current user's home path.

I don't know of a .deb or .rpm package that has ever installed on a per-user basis, they are all instead installed system wide.

I would imagine that things should get installed to a system wide directory (like the dnvm script and the runtimes), but the choice of active/default should be stored in a home path configuration directory?

@wholroyd
Copy link

How about something like this? The Docker image builds the .rpm and .deb packages using the current version of the DNVM script as of this posting.

https://github.com/wholroyd/dnvm

Both packages install DNVM at a system level into /usr/local/bin/dnx/ and it creates a shell script into /etc/profiles.d/ that sets up $PATH to know where DNVM is located (look at the dnx.sh file in the repo).

Contents of the RPM...

[root@22911933e21f data]# rpm -qp dnvm-1.0.0_beta8_15502-1.x86_64.rpm -l
/etc/profile.d/dnx.sh
/usr/local/bin/dnx/dnvm/dnvm.sh
/usr/local/bin/dnx/runtimes

@Daniel15
Copy link
Contributor

Daniel15 commented Sep 2, 2015

Both packages install DNVM at a system level into /usr/local/bin/dnx/

That seems wrong... By definition /usr/local/ is only for things that were not installed via packages. A package should install executables into /usr/bin/ and architecture-independent files into /usr/share/, or everything into a subdirectory of /opt/.

@wholroyd
Copy link

wholroyd commented Sep 2, 2015

You're right, I'll change it.

@wholroyd
Copy link

wholroyd commented Sep 2, 2015

Updated my repo

@aspnet-hello
Copy link

This issue is being closed because it has not been updated in 3 months.

We apologize if this causes any inconvenience. We ask that if you are still encountering this issue, please log a new issue with updated information and we will investigate.

ryanbrandenburg pushed a commit that referenced this issue Nov 19, 2018
ryanbrandenburg pushed a commit that referenced this issue Nov 19, 2018
Remove duplicated UseHttpsRedirection (#437)
ryanbrandenburg pushed a commit that referenced this issue Nov 22, 2018
ryanbrandenburg added a commit that referenced this issue Nov 22, 2018
@ghost ghost locked as resolved and limited conversation to collaborators Dec 4, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants