Hello, I’m a bit new to advanced linux and programming stuffs… Can someone explain me why compiling exists and what this process does and how to do it in the principals situations (I’ve heard that you can use the “makepkg” command). Thx to everyone who replied.
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 🙏