-
Notifications
You must be signed in to change notification settings - Fork 61
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
Arch installation #31
Comments
The linux header directory is going to differentiate between distros, I'm not entirely sure what the best route for guessing it within the makefile is. If anyone has an idea, I'll happily PR it if they're.. unable to somehow. |
These changes don't need to go into this repo. They'd go into an Arch User Repository git repo (which would contain patches and the config files necessary to build a package for Arch). So no changes needed here. But I posted my experience since I'm not ready to contribute to AUR. |
There's indeed an AUR package for this: https://aur.archlinux.org/packages/hid-apple-patched-git/ The maintainer doesn't update the PKGBUILD for a while. I have a more updated version at https://github.com/Aetf/PKGBUILDs/tree/master/hid-apple-patched-git |
Thanks @Aetf |
Added link to this topic to Readme. |
The problems I described in the first post go away if the line My dkms.conf:
If you can verify that it works on Ubuntu, then this can be the universal dkms.conf that works on all distributions. |
@almson I'll look in about dkms soon, thank you. @Aetf The text at ArchWiki about the patch is outdated, has broken links and etc: Anyway, I hope someone of you, arch-guys, would be able to update ArchWiki. |
@almson I checked your version of The small note
Now both |
The |
ArchWiki updated :) |
@Aetf thank you! |
@Aetf Thank you for your work! A minor comment re AUR: Are you sure that it's best to make it a Also, with |
@almson Thanks for the suggests on the AUR package. I'm using
I can manually set the version to 0.0.0 in
I'm not sure how not using
Using a specific commit won't solve the problem if we don't trust the upstream (this repo) at all. We still need to decided which commit to use in the Also, I haven't seen any current packages on AUR using a specific commit for upstreams without a release. Is this a common practice? Regarding to |
@Aetf I think we're on the same page regarding the fact that a package that checkouts a specific commit/release has a number of advantages over a package that checkouts whatever commit is the latest. Ie, there won't be surprises.
I don't know. Maybe not. But it makes sense to me. This isn't a project that has many commits, so each commit is basically a release. Another way to look at it is the package maintainer is taking on the duty of declaring releases if the source maintainer chooses not to.
Recompiling a package on every Checking AUR, I see a lot of
I wouldn't say lots, because of infrequent commits. It's the normal amount of burden. But it's obviously your call to make.
I may be a little unclear on this, but git is already cryptographically secure. If the package is set to point to a specific commit, that commit cannot be altered. If someone gets free5slot's Git credentials and makes a new commit that is malicious, the package maintainer can check the diff and not change the PKGBUILD. Signing is more for binary blobs. |
Anyway, I'm sorry for making a fuss out of nothing. You can ignore this academic hair-splitting if you like. Thank you for making the package! |
This is awesome, many thanks for your work. The patch works beautifully well, just make sure that:
Then reboot and go! |
There's a couple gotchas with the AUR package that have to do with Arch itself.
|
The installation section in README is very much ubuntu specific. For Archlinux users, the ArchWiki has more specific instructions. Maybe the last section of links should appear early. |
The Configuration section, not just the Installation section, mentions hid_apple.conf. Why do you not want to use that name? In the wiki:
|
To avoid file conflict with the existing config file when installing/updating the package. Users will likely need to modify the config file or include additional parameters. It's possible to create
Actually I'm not sure. My setup is slightly different: I have Another possibility is you have I don't have time to verify this at the moment. If you are sure about it, feel welcome to update the wiki accordingly.
That section applies to both
Fair points. |
I don't think having two conflicting config files is a solution. The recommended way of managing config is to use pacman config management https://wiki.archlinux.org/index.php/Pacman/Pacnew_and_Pacsave https://wiki.archlinux.org/index.php/PKGBUILD#backup I've figured out how to automatically trigger mkinitcpio. Please take a look at my last 2 commits https://github.com/almson/hid-apple-patched-git-dkms/ I'm not sure how to make something like a pull request for AUR. |
You guys are both more competent in Arch than I am, so I have not much to say in essence. But I can propose one of you to make a small PR for README.md modification by adding small block "Installation on Arch Linux (via AUR)" with short instruction and link to arch wiki. We will place it just after "Installation via DKMS (recommended)". The possible reasoning is that Arch is a major distribution with users that are more likely to modify something that lowlevel than Ubuntu's. |
@Aetf Oops, I made a mistake with the link. Here is my AUR repo: https://github.com/almson/hid-apple-patched-git-dkms/ |
There are two separate issues being discussed here: What should be the name of the config file and where to put itAfter reading the documentation of modprobe, I'm now lean towards putting default config to I also checked the default How to trigger mkinitcpio build after install/upgradeAs you said, there is no clean way to do it at the moment. I also thought about installing our own Pacman hook. But I thought the hook has no effect for first-time installs, no? Actually, from the DKMS man page, I found an option |
I updated the package and I think it achieves what we want now:
@free5lot |
Thanks @Aetf , if everything is fine with everything I will close this issue as solved soon. |
@Aetf I think using I don't think making another package which adds a hook on all changes to modprobe.d is a good idea. It's heavy-handed. Why do you think my approach doesn't work? I've tested it from a clean install. Did you report the |
It's pretty standard practice to put vendor-supplied config files (i.e. installed by packages) to I also won't call it "secretly". This location is clearly stated both in the package post-installation message and in the Wiki. Are you saying the package should not provide any default configuration at all? It also makes sense to me.
Sorry, I should have tested. Your approach does work from a clean install. But I think the hook simply doesn't belong to this package, which is supposed to provide a kernel module. This rebuilding problem is not unique to us, any kernel module packages wishing to include modprobe.d config files will need to rebuild initramfs. If each has its own rebuild hook, the rebuild will run more times than necessary, opposite to the very idea of having pacman hook in the first place. I'd argue that rebuilding initramfs on modprobe.d change is the desired behavior, given the But given I'm quite tight on time budget at the moment to report and push for a fix in
No I didn't. I'd really appreciate it if you could report that and/or the feature request to include the hook in |
@almson maybe there is an issue with Will |
I've recently tried installing this module on Arch. It worked, but needed fiddling. I've only done it once, so some points are uncertain. Posting it here just in case. Eventually, this should be packaged into AUR.
In dkms.conf:
Then, install as normal.
Then, it is probably necessary to delete
/usr/lib/modules/.../kernel/drivers/hid/hid-apple.ko.gz
and runmkinitcpio -P
. The thing is that the priority betweenko.gz
andko
is not defined, so things may work without this step even if both files exist. The real solution is to get dkms to zip the module or to install into/usr/lib/modules/extramodules-...
which will take priority. However, I couldn't find how to do that (other than using a post-install script).The text was updated successfully, but these errors were encountered: