47
Need explanations about compiling
(lemmy.ml)
From Wikipedia, the free encyclopedia
Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).
Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
Compiling is when you convert your human-readable programming language to binary machine code.
makepkg is an Arch-exclusive command that ensures that your apps are built properly in any other Arch-based devices. Usually, all packages are compiled on a powerful machine in some server, and you just have to download the binaries.
But in some cases, they don't compile apps, or, their process may have delayed, so you can manually compile those apps on your device - that is called building from the source. From what I know, you can't run makepkg on other Linuces (can we? I've never used Arch in depth).
About .deb and .rpm, those are a type of packaging format - in reality, they're just archives. Think of them as .exe and .msi equivalents. It contains the pre-built app, as well as the repository link, which makes it convenient if you want to upgrade that app in the future.
humm.. ok, and for example when you have the binaries of a file you have to compile it a last time, no? That's my experience with aur, when you get the bin, you have to makepkg a other time
The Arch Linux makepkg is a bash script with description
make packages compatible for use with pacman
Some packages of AUR are not about compiling but fetching the binary (sometimes converting it from deb) and then prepare it for you so you can install it. So when you use AUR to install a binary package instead of compiling there is really no compiling involved afair.
ohhh okay, thank you for your explanation!
In that case makepkg isn't compiling anything, it's just packaging the existing binaries so that they can be more easily installed and recognized by your package manager.
like linking all the files and make a clean package? So makepkg does everything from the start to end of the compiling process
Yeah, basically. makepkg automates the process of creating an Arch package, and while usually that involves compiling source code, sometimes it just means converting proprietary software that has already been compiled into a different format.
thx 🙏