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

Adds support for ArchLinux as host OS #1918

Merged
merged 1 commit into from Feb 25, 2016
Merged

Adds support for ArchLinux as host OS #1918

merged 1 commit into from Feb 25, 2016

Conversation

MorrisJobke
Copy link
Contributor

  • fix rsyslog handling

@josegonzalez I tried to get dokku running on ArchLinux instead of fiddling more around with the "let it run in docker" approach (see #1076). I hope this is okay too.

This also comes with an updated PKGBUILD for the Arch User Repo: https://github.com/MorrisJobke/aur-dokku/compare/update-to-0.4.13 https://aur.archlinux.org/cgit/aur.git/commit/PKGBUILD?h=dokku&id=87eec064d569e3a1b6f42dfcbca5502d38e51601

The only thing left for the Arch package to work is the herokuish app. I will look into this later.

@MorrisJobke
Copy link
Contributor Author

This also comes with an updated PKGBUILD for the Arch User Repo: https://github.com/MorrisJobke/aur-dokku/compare/update-to-0.4.13

I pushed an updated version to the AUR https://aur.archlinux.org/packages/dokku/ - this works now with the basic dokku setup.

@josegonzalez
Copy link
Member

Good work! 👍 A few things:

  • Do not package dokku up for us. In fact, please pull that package down if possible, or transfer it's ownership to us somehow.
    • My concern here is that if you're not on the core team, you are unlikely to keep this package up to date and then we'll have users complaining about older packages, increasing our own burden. I've seen this happen with cakephp/cakephp in the Debian repository, so it's not a hypothetical concern.
  • Please provide packaging instructions for this so that we can build packages for dokku (as well as herokuish, sshcommand etc.)
  • I'll have to go through and make sure you didn't miss any apt-get calls (there might be a few).
  • This needs documentation updates.

@MorrisJobke
Copy link
Contributor Author

Do not package dokku up for us. In fact, please pull that package down if possible, or transfer it's ownership to us somehow.

I easily could add you as co-maintainer. It's only the Arch User Repo where users could put in their proposals for PKGBUILDs (the way to describe packages).

Please provide packaging instructions for this so that we can build packages for dokku (as well as herokuish, sshcommand etc.)

The whole packaging follows the arch package building.

On Arch Linux run:

git clone URL_TO_AUR_GIT_REPO
makepkg

But you don't need to do this and then place the package somewhere but you simply push to that AUR repo your changes to the PKGBUILD file and then other users could use pacaur or yaourt (helper scripts to pull these PKGBUILD files from AUR, build them and install them together with all dependencies).

This needs documentation updates.

What does this mean?

@MorrisJobke
Copy link
Contributor Author

Do not package dokku up for us. In fact, please pull that package down if possible, or transfer it's ownership to us somehow.

BTW: It was there before - but was outdated. Today I requested co-maintainer-ship and got it. So this should not be a deal-breaker. Also you could click the "flag this package as out of date" and the maintainer will get a notification.

@josegonzalez
Copy link
Member

We have release docs for dokku that need to be updated.

I wasn't aware that it was there before, though I would have requested the same before. I'll see about asking for maintainership later.

@@ -33,7 +35,7 @@ After=docker.target
[Service]
Type=simple
User=dokku
ExecStart=/usr/local/bin/dokku ps:restore
ExecStart=$dokku_path ps:restore
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@michaelshobbs @josegonzalez I added the changes to this file to fix the restore process on ArchLinux. It works there just fine and should also work without issues on all other platforms.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Where is the file located on arch linux?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

binaries on arch usually reside in /usr/bin/ - they had some huge restructurings some time ago, when they moved a lot to one location.

@MorrisJobke
Copy link
Contributor Author

@MorrisJobke
Copy link
Contributor Author

I rebased this ontop of 0.4.14

@josegonzalez
Copy link
Member

Whats left to get this into master?

@MorrisJobke
Copy link
Contributor Author

Whats left to get this into master?

Nothing from my point of view for 0.4.14 (the todo item is for 0.5.0 and the PKGBUILD file).

You just want to check for further usages of apt-get. I use this version to let it run on my arch linux server and it works. I will try to fix the plugins once I use them (I already fixed the lets encrypt plugin for ArchLinux)

@MorrisJobke
Copy link
Contributor Author

@josegonzalez I'm also around in IRC/Slack - so just ping me if you have questions or want to know more about the packaging in ArchLinux

@josegonzalez
Copy link
Member

I've added you as a maintainer of dokku so we can continue to have A+ arch support :)

Here are the release docs. Please update them so I can also handle arch releases.

My nick on archlinux is josegonzalez.

@MorrisJobke
Copy link
Contributor Author

  • update release docs

@MorrisJobke MorrisJobke self-assigned this Feb 22, 2016
@MorrisJobke MorrisJobke added this to the v0.5.0 milestone Feb 22, 2016
@MorrisJobke
Copy link
Contributor Author

I prepared the package for 0.5.0 and added sigil as separate package. And I also updated the documentation.

That is the usual workflow:

```shell
updpkgsums # update sha sums - compare them with the original ones
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are these commands only available on arch?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes - and the derivates, because they come with the package manager.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you update the Vagrantfile so I can have a vm for running these arch commands?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

$ pacman -Qo /usr/bin/updpkgsums
/usr/bin/updpkgsums ist in pacman 5.0.0-1 enthalten
$ pacman -Qo /usr/bin/makepkg   
/usr/bin/makepkg ist in pacman 5.0.0-1 enthalten
$ pacman -Qo /usr/bin/mksrcinfo
/usr/bin/mksrcinfo ist in pkgbuild-introspection 8-1 enthalten

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you update the Vagrantfile so I can have a vm for running these arch commands?

Where should the Vagrant file go? Because the build information is in a different repo (see below - the AUR repo).

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you hop on slack so we can discuss this?

@MorrisJobke
Copy link
Contributor Author

From my side everything is done for now.

This adds the basic support for ArchLinux. All the other stuff should maybe be done in other PRs (like the integration of the installer in ArchLinux, because it includes major changes - for not duplicate everything).

# update pacman lists, install pkgbuild-introspection and add GPG to verify cower package
vm.vm.provision :shell, :inline => "pacman -Sy && pacman -S --needed --noconfirm pkgbuild-introspection"

$script = <<SCRIPT
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you move this to a makefile target and then update the release notes?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Will do tomorrow.

@MorrisJobke
Copy link
Contributor Author

@josegonzalez I moved the inline commands to an arch.mk. Is this okay for now? I would like to continue with the other stuff in a separate PR, if this is fine. Otherwise this one will get a huge one ;)

arch-all: arch-dokku
echo "Done"

arch-setup:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What calls this?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Damn ... I removed this to speed up the test runs :(

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed.

* fix rsyslog handling
* don't hardcode dokku path
* add documentation for ArchLinux package build
* add vagrant machine to run the ArchLinux specific steps
* add step in release process for ArchLinux
* enhance docs for easy ArchLinux steps
@MorrisJobke
Copy link
Contributor Author

@josegonzalez Is there something left for this PR? I'm happy to fix it for you then :)

josegonzalez added a commit that referenced this pull request Feb 25, 2016
Adds support for ArchLinux as host OS
@josegonzalez josegonzalez merged commit fd059da into dokku:master Feb 25, 2016
@MorrisJobke
Copy link
Contributor Author

👯

@MorrisJobke MorrisJobke removed their assignment Jun 15, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants