Adds support for ArchLinux as host OS #1918

Merged
merged 1 commit into from Feb 25, 2016

Conversation

Projects
None yet
2 participants
@MorrisJobke
Member

MorrisJobke commented Feb 15, 2016

  • 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

This comment has been minimized.

Show comment
Hide comment
@MorrisJobke

MorrisJobke Feb 15, 2016

Member

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.

Member

MorrisJobke commented Feb 15, 2016

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

This comment has been minimized.

Show comment
Hide comment
@josegonzalez

josegonzalez Feb 15, 2016

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.
Member

josegonzalez commented Feb 15, 2016

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

This comment has been minimized.

Show comment
Hide comment
@MorrisJobke

MorrisJobke Feb 16, 2016

Member

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?

Member

MorrisJobke commented Feb 16, 2016

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

This comment has been minimized.

Show comment
Hide comment
@MorrisJobke

MorrisJobke Feb 16, 2016

Member

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.

Member

MorrisJobke commented Feb 16, 2016

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

This comment has been minimized.

Show comment
Hide comment
@josegonzalez

josegonzalez Feb 16, 2016

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.

Member

josegonzalez commented Feb 16, 2016

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

This comment has been minimized.

@MorrisJobke

MorrisJobke Feb 21, 2016

Member

@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.

@MorrisJobke

MorrisJobke Feb 21, 2016

Member

@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.

This comment has been minimized.

@josegonzalez

josegonzalez Feb 22, 2016

Member

Where is the file located on arch linux?

@josegonzalez

josegonzalez Feb 22, 2016

Member

Where is the file located on arch linux?

This comment has been minimized.

@MorrisJobke

MorrisJobke Feb 22, 2016

Member

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

MorrisJobke Feb 22, 2016

Member

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 MorrisJobke referenced this pull request in dokku/dokku-letsencrypt Feb 21, 2016

Merged

Add compatibility with ArchLinux (systemd based) #29

@MorrisJobke

This comment has been minimized.

Show comment
Hide comment
@MorrisJobke

MorrisJobke Feb 22, 2016

Member
  • add sigil as dependency to the package: #1892
Member

MorrisJobke commented Feb 22, 2016

  • add sigil as dependency to the package: #1892
@MorrisJobke

This comment has been minimized.

Show comment
Hide comment
@MorrisJobke

MorrisJobke Feb 22, 2016

Member

I rebased this ontop of 0.4.14

Member

MorrisJobke commented Feb 22, 2016

I rebased this ontop of 0.4.14

@josegonzalez

This comment has been minimized.

Show comment
Hide comment
@josegonzalez

josegonzalez Feb 22, 2016

Member

Whats left to get this into master?

Member

josegonzalez commented Feb 22, 2016

Whats left to get this into master?

@MorrisJobke

This comment has been minimized.

Show comment
Hide comment
@MorrisJobke

MorrisJobke Feb 22, 2016

Member

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)

Member

MorrisJobke commented Feb 22, 2016

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

This comment has been minimized.

Show comment
Hide comment
@MorrisJobke

MorrisJobke Feb 22, 2016

Member

@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

Member

MorrisJobke commented Feb 22, 2016

@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

This comment has been minimized.

Show comment
Hide comment
@josegonzalez

josegonzalez Feb 22, 2016

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.

Member

josegonzalez commented Feb 22, 2016

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

This comment has been minimized.

Show comment
Hide comment
@MorrisJobke

MorrisJobke Feb 22, 2016

Member
  • update release docs
Member

MorrisJobke commented Feb 22, 2016

  • 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

This comment has been minimized.

Show comment
Hide comment
@MorrisJobke

MorrisJobke Feb 22, 2016

Member

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

Member

MorrisJobke commented Feb 22, 2016

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

This comment has been minimized.

@josegonzalez

josegonzalez Feb 22, 2016

Member

Are these commands only available on arch?

@josegonzalez

josegonzalez Feb 22, 2016

Member

Are these commands only available on arch?

This comment has been minimized.

@MorrisJobke

MorrisJobke Feb 22, 2016

Member

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

@MorrisJobke

MorrisJobke Feb 22, 2016

Member

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

This comment has been minimized.

@josegonzalez

josegonzalez Feb 22, 2016

Member

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

@josegonzalez

josegonzalez Feb 22, 2016

Member

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

This comment has been minimized.

@MorrisJobke

MorrisJobke Feb 22, 2016

Member
$ 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
@MorrisJobke

MorrisJobke Feb 22, 2016

Member
$ 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

This comment has been minimized.

@MorrisJobke

MorrisJobke Feb 22, 2016

Member

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).

@MorrisJobke

MorrisJobke Feb 22, 2016

Member

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).

This comment has been minimized.

@josegonzalez

josegonzalez Feb 22, 2016

Member

Can you hop on slack so we can discuss this?

@josegonzalez

josegonzalez Feb 22, 2016

Member

Can you hop on slack so we can discuss this?

+updpkgsums # update sha sums - compare them with the original ones
+mksrcinfo # update package metadata for AUR
+makepkg # test package builds
+git add PKGBUILD .SRCINFO

This comment has been minimized.

@josegonzalez

josegonzalez Feb 22, 2016

Member

These files should also be here.

@josegonzalez

josegonzalez Feb 22, 2016

Member

These files should also be here.

This comment has been minimized.

@MorrisJobke

MorrisJobke Feb 22, 2016

Member

You should know, that you then need to copy them between git repos then - I would keep them in the AUR repo only. Those commands should be executed in the AUR git repo clone.

@MorrisJobke

MorrisJobke Feb 22, 2016

Member

You should know, that you then need to copy them between git repos then - I would keep them in the AUR repo only. Those commands should be executed in the AUR git repo clone.

This comment has been minimized.

@josegonzalez

josegonzalez Feb 22, 2016

Member

Yeah but I'm basically going to git push to both the github repo and the arch repo.

@josegonzalez

josegonzalez Feb 22, 2016

Member

Yeah but I'm basically going to git push to both the github repo and the arch repo.

This comment has been minimized.

@MorrisJobke

MorrisJobke Feb 22, 2016

Member

But that are different repos 😕

This is what the AUR repo contains: https://aur.archlinux.org/cgit/aur.git/tree/?h=dokku

@MorrisJobke

MorrisJobke Feb 22, 2016

Member

But that are different repos 😕

This is what the AUR repo contains: https://aur.archlinux.org/cgit/aur.git/tree/?h=dokku

This comment has been minimized.

@josegonzalez

josegonzalez Feb 22, 2016

Member

Ah gotcha. Okay, I will create a dokku-arch repo so we can track that arch repo on our end as well. Sound good?

@josegonzalez

josegonzalez Feb 22, 2016

Member

Ah gotcha. Okay, I will create a dokku-arch repo so we can track that arch repo on our end as well. Sound good?

This comment has been minimized.

@MorrisJobke

MorrisJobke Feb 22, 2016

Member

Sure :)

@MorrisJobke

This comment has been minimized.

Show comment
Hide comment
@MorrisJobke

MorrisJobke Feb 22, 2016

Member

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).

Member

MorrisJobke commented Feb 22, 2016

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).

Vagrantfile
+ # 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

This comment has been minimized.

@josegonzalez

josegonzalez Feb 22, 2016

Member

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

@josegonzalez

josegonzalez Feb 22, 2016

Member

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

This comment has been minimized.

@MorrisJobke

MorrisJobke Feb 22, 2016

Member

Will do tomorrow.

@MorrisJobke

MorrisJobke Feb 22, 2016

Member

Will do tomorrow.

@MorrisJobke

This comment has been minimized.

Show comment
Hide comment
@MorrisJobke

MorrisJobke Feb 23, 2016

Member

@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 ;)

Member

MorrisJobke commented Feb 23, 2016

@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:

This comment has been minimized.

@josegonzalez

josegonzalez Feb 23, 2016

Member

What calls this?

@josegonzalez

josegonzalez Feb 23, 2016

Member

What calls this?

This comment has been minimized.

@MorrisJobke

MorrisJobke Feb 23, 2016

Member

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

@MorrisJobke

MorrisJobke Feb 23, 2016

Member

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

This comment has been minimized.

@MorrisJobke

MorrisJobke Feb 23, 2016

Member

Fixed.

docs/development/release-process.md
@@ -77,3 +78,40 @@ Some description concerning major changes in this release, or potential incompat
- #SOME_ID: @pull-request-creator Description
```
+
+## ArchLinux packages

This comment has been minimized.

@josegonzalez

josegonzalez Feb 23, 2016

Member

Move this section down please.

@josegonzalez

josegonzalez Feb 23, 2016

Member

Move this section down please.

This comment has been minimized.

@MorrisJobke

MorrisJobke Feb 23, 2016

Member

Done.

docs/development/release-process.md
+git push
+```
+
+To make these ArchLinux specific steps easier there is a vagrant machine:

This comment has been minimized.

@josegonzalez

josegonzalez Feb 23, 2016

Member

This part needs to be moved up to where the release steps are.

@josegonzalez

josegonzalez Feb 23, 2016

Member

This part needs to be moved up to where the release steps are.

This comment has been minimized.

@MorrisJobke

MorrisJobke Feb 23, 2016

Member

Pushed

Adds support for ArchLinux as host OS
* 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

This comment has been minimized.

Show comment
Hide comment
@MorrisJobke

MorrisJobke Feb 24, 2016

Member

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

Member

MorrisJobke commented Feb 24, 2016

@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

Merge pull request #1918 from MorrisJobke/arch-linux
Adds support for ArchLinux as host OS

@josegonzalez josegonzalez merged commit fd059da into dokku:master Feb 25, 2016

1 check passed

ci/circleci Your tests passed on CircleCI!
Details
@MorrisJobke

This comment has been minimized.

Show comment
Hide comment
Member

MorrisJobke commented Feb 25, 2016

👯

@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