You are not logged in.
Hi,
now this is what's bugging me. Assume I want to install custom appliction on my archlinux system, so that every user can use it normally. Where to put it, so that it would not violate standard Linux hier? Also if I don't want/know/have time to create AUR pkgbuild for it?
In "/opt/app_name"?
Maybe put binaries in it in "/usr/local/bin", libraries in "/usr/local/lib", logs in... But aren't here arch specific files?
To be direct, here is content of archived application (it's a game called CreepTD):
CreepTD/LICENSE
CreepTD/bin/creeptd-client.jar
CreepTD/bin/creeptd-client.jar.ver
CreepTD/bin/creeptd-launcher.ver
CreepTD/bin/creeptd-music.jar
CreepTD/bin/creeptd-music.jar.ver
CreepTD/config/client.ctdc
CreepTD/logs/creeptd-client-last.log
CreepTD/logs/creeptd-client.log
CreepTD/logs/creeptd-launcher.log
CreepTD/maps/.placeholder
CreepTD/replays/.placeholder
CreepTD/themes/.placeholder
CreepTD/CreepTD.desktop
CreepTD/CreepTD.ico
CreepTD/CreepTD
CreepTD/bin/bootstrap.jar
CreepTD/bin/creeptd-launcher.jarI would like to know this in general (not just for this application), please.
Last edited by iljo (2013-01-20 21:07:49)
Offline
Just use /opt or /usr/local. AUR packages with "stand alone" applications like Dropbox usually use /opt, but the standard repos doesn't touch either of those.
Offline
Write a PKGBUILD which will take you all of 3 min to do. Your have already identified the files and their rel paths. You only need to use the install command in the PKGBUILD. Here is an example that only installs files (does not compile anything): https://aur.archlinux.org/packages/pr/p … n/PKGBUILD
This will answer your original question: https://wiki.archlinux.org/index.php/Ar … irectories
Last edited by graysky (2013-01-19 18:04:07)
Offline
don't want/know/have time to create AUR
I assume you mean create a pkgbuild.
You should REALLY create a pkgbuild. Otherwise, I would go with /usr/local/{bin,lib,share}
Offline
Hi,
now this is what's bugging me. Assume I want to install custom appliction on my archlinux system, so that every user can use it normally. Where to put it, so that it would not violate standard Linux hier? Also if I don't want/know/have time to create AUR for it?
In "/opt/app_name"?
Maybe put binaries in it in "/usr/local/bin", libraries in "/usr/local/lib", logs in... But aren't here arch specific files?
Creating packages with PKGBUILDs is really simple. Just keep the wiki page open and take a look at a few examples from the repos and AUR. It only takes a couple of minutes more to fill out metadata and then all of your files will be tracked by pacman. You will avoid clutter and ensure dependency handling. It is the right way to do this. Don't be lazy as you will end up with more work later.
All that said, I was going to write a PKGBUILD in a few minutes just to prove how simple it was. Of course, it wasn't. ![]()
The application downloads files to the installation directory, so it cannot be installed centrally. It really is meant to be installed by each user individually. Nevertheless, I used a workaround to create a package. Take a look at the PKGBUILD and try to understand what it does. You really should learn how to write your own PKGBUILDs. It's just a shame that this particular package was more complicated than usual.
You can find the package here on the AUR.
Last edited by Xyne (2013-01-19 19:00:09)
My Arch Linux Stuff • Forum Etiquette • Community Ethos - Arch is not for everyone
Offline
Just keep the wiki page open and take a look at a few examples from the repos and AUR.
Alternatively, just go to "/usr/share/pacman/" on your computer and copy the appropriate PKGBUILD file template.
Last edited by drcouzelis (2013-01-19 19:10:55)
Offline
Thank you all!
The application downloads files to the installation directory, so it cannot be installed centrally. It really is meant to be installed by each user individually. Nevertheless, I used a workaround to create a package. Take a look at the PKGBUILD and try to understand what it does. You really should learn how to write your own PKGBUILDs. It's just a shame that this particular package was more complicated than usual.
Yes, this app is not very friendly for package builders, who want to have good package. I've looked at your PKGBUILD, interesting workaround.
I will learn how to make pkgbuild, was planning it maybe for too long, but it's time!
Anyway, I also wanted to know where would somebody put application like this, regardless of distro.
Last edited by iljo (2013-01-19 20:17:08)
Offline
I tend to use /usr/local for this stuff. I haven't come across any packages which use that (either AUR or otherwise). I use GNU stow to manage most stuff under /usr/local except for TeX Live where I use tlmgr.
I know that the recommendation is to create a pkgbuild but there are advantages to doing it this way. TeX Live recommends not installing as root and it provides its own management utility. Things get complex when that's not available. I use special unprivileged users to manage software under /usr/local (texlive for the TeX Live, software for everything else). It also makes it possible to have both the Arch version and an independent version of an application installed. So I use Mozilla's build of Firefox and have Arch's as a fallback. (Arch's doesn't work in my language whereas Mozilla's does.)
But you do need to be aware of what you've done, what you are doing and what might cause problems. Because /usr/local is a separate partition on my system, in a worst case scenario I can just comment the line in fstab and prevent the software showing up in the system's paths at all. I like the fact that pulling it in its entirety is merely a matter of adding one # to a config file!
CLI Paste | How To Ask Questions
Arch Linux | x86_64 | GPT | EFI boot | refind | stub loader | systemd | LVM2 on LUKS
Lenovo x270 | Intel(R) Core(TM) i5-7200U CPU @ 2.50GHz | Intel Wireless 8265/8275 | US keyboard w/ Euro | 512G NVMe INTEL SSDPEKKF512G7L
Offline
Anyway, I also wanted to know where would somebody put application like this, regardless of distro.
What's wrong with /usr/local/*, as it has been suggested twice?
Offline
I didn't read that as rejecting those answers. I thought it was more a question of explaining why the OP wanted a general answer even if, in this particular case, it turns out that the application needs a different home.
CLI Paste | How To Ask Questions
Arch Linux | x86_64 | GPT | EFI boot | refind | stub loader | systemd | LVM2 on LUKS
Lenovo x270 | Intel(R) Core(TM) i5-7200U CPU @ 2.50GHz | Intel Wireless 8265/8275 | US keyboard w/ Euro | 512G NVMe INTEL SSDPEKKF512G7L
Offline
iljo wrote:Anyway, I also wanted to know where would somebody put application like this, regardless of distro.
What's wrong with /usr/local/*, as it has been suggested twice?
As cfr wrote, nothing is wrong, it's just a explanation why I asked question.
@cfr I didn't know of GNU Stow, but it looks worth a try ![]()
Offline
Don't forget to mark the thread [solved] if you have the answer you wanted. Just edit your initial post.
CLI Paste | How To Ask Questions
Arch Linux | x86_64 | GPT | EFI boot | refind | stub loader | systemd | LVM2 on LUKS
Lenovo x270 | Intel(R) Core(TM) i5-7200U CPU @ 2.50GHz | Intel Wireless 8265/8275 | US keyboard w/ Euro | 512G NVMe INTEL SSDPEKKF512G7L
Offline