AppImageUpdate icon indicating copy to clipboard operation
AppImageUpdate copied to clipboard

Write rpm spec file for libappimageupdate

Open probonopd opened this issue 7 years ago • 9 comments

We need to write a rpm spec file for libappimageupdate so that it can be included in gnome-software CI which is based on Fedora. This issue is to keep track of the progress.

cc @Conan-Kudo

probonopd avatar May 20 '18 21:05 probonopd

cd lib/sanitizers-cmake/ cmake3 . cd -

This is not necessary at all. It's likely to cause problems.

TheAssassin avatar May 20 '18 22:05 TheAssassin

GCC 4.x defaulted to gnu89 mode. You need to pass -std=gnu99 in your CFLAGS to fix it.

Conan-Kudo avatar May 20 '18 22:05 Conan-Kudo

@Conan-Kudo we use CMake to manage the builds, which provides its own system for managing C/C++ standards. Should be fixed since https://github.com/AppImage/AppImageUpdate/commit/a062795b37b2cbcce71171c9ecf4fd2e6b4b8bee. Please beware you need to remove the build directory and build from scratch.

TheAssassin avatar May 20 '18 23:05 TheAssassin

EDIT: Moved the building instructions to https://github.com/AppImage/AppImageUpdate/blob/rewrite/BUILDING.md#building-the-libraries

probonopd avatar May 21 '18 11:05 probonopd

... why does this have to be a file in the source code...?

Also, please use Git to clone AppImageKit freshly in your build description if you want to describe how to build AppImageKit (with libappimage). The ELF library hack will soon be removed. I'd just link to the upstream description anyway.

TheAssassin avatar May 21 '18 13:05 TheAssassin

... why does this have to be a file in the source code...?

I think a BUILDING.md is good practice, like a README.md?

The ELF library hack will soon be removed. I'd just link to the upstream description anyway.

Please elaborate, I don't know what you mean by "the ELF library hack" and what I am supposed to do.

probonopd avatar May 21 '18 14:05 probonopd

Please elaborate, I don't know what you mean by "the ELF library hack

cd ./src/elf/AppImageKit-src/

There is a reason that the AppImageKit clone is performed in a directory called "elf". At the moment we build a micro library from the AppImageKit source code with a custom CMake config in AppImageUpdate. This was implemented during a time when libappimage didn't have these capabilities, but I recently added most of it to libappimage's API. See https://github.com/AppImage/AppImageUpdate/blob/rewrite/src/elf/CMakeLists.txt. Now that libappimage is pretty stable, we'll transition to linking directly to libappimage.

You should never ever make install anything from a CMake cache (a.k.a. build directory). It's a temporary cache, after all.

TheAssassin avatar May 21 '18 15:05 TheAssassin

Ah, I see; so instead of using ./src/elf/AppImageKit-src/ we should git clone AppImageKit in https://github.com/AppImage/AppImageUpdate/blob/rewrite/BUILDING.md. I was just using that because it was already being downloaded - to save some time and bandwidth...

probonopd avatar May 21 '18 15:05 probonopd

I know you were using it because it looked like a way to use it. But I know that it won't exist in the future any more. And it's not a clean solution. Therefore we should fix this in BUILDING.

TheAssassin avatar May 21 '18 15:05 TheAssassin