yajl pakken tilbyr et JSON bibliotek.
Nedlasting (HTTP): https://github.com/lloyd/yajl/archive/refs/tags/2.1.0/yajl-2.1.0.tar.gz
Påkrevd oppdatering: https://gitlab.archlinux.org/archlinux/packaging/packages/yajl/-/raw/main/yajl-2.1.0-CVE-2017-16516.patch
Påkrevd oppdatering: https://gitlab.archlinux.org/archlinux/packaging/packages/yajl/-/raw/main/yajl-2.1.0-CVE-2022-24795.patch
Påkrevd oppdatering: https://gitlab.archlinux.org/archlinux/packaging/packages/yajl/-/raw/main/yajl-2.1.0-memory_leak.patch
Påkrevd oppdatering: https://github.com/lloyd/yajl/commit/6fe59ca50dfd65bdb3d1c87a27245b2dd1a072f9.patch
Siden den siste commiten til denne pakken er nesten ti år gammel, har det dukket opp problemer som må fikses før bygging. Installer nødvendige oppdateringer for å fikse de viktigste:
patch -Np1 -i ../yajl-2.1.0-CVE-2017-16516.patch && patch -Np1 -i ../yajl-2.1.0-CVE-2022-24795.patch && patch -Np1 -i ../yajl-2.1.0-memory_leak.patch
Fiks bygging med CMake-4.0.0:
patch -Np1 -i ../6fe59ca50dfd65bdb3d1c87a27245b2dd1a072f9.patch
Installer yajl ved å kjøre følgende kommandoer:
mkdir build &&
cd build &&
cmake -D CMAKE_INSTALL_PREFIX=/usr \
-D CMAKE_BUILD_TYPE=Release \
-D BUILD_SHARED_LIBS=ON \
-D CMAKE_SKIP_INSTALL_RPATH=ON \
-W no-dev -G Ninja .. &&
ninja
Nå, som root bruker:
ninja install && rm -vf /usr/lib/libyajl_s.a
-D
CMAKE_SKIP_INSTALL_RPATH=ON: Denne bryteren gjør at
cmake fjerner
hardkodede biblioteksøk stier (rpath) når du installerer en binær
kjørbar fil eller et delt bibliotek. Denne pakken trenger ikke
rpath når den er installert på standard plassering, og rpath kan
noen ganger forårsake uønskede effekter eller til og med
sikkerhetsproblemer.
rm -vf /usr/lib/libyajl_s.a: Denne kommandoen fjerner et ubrukelig statisk bibliotek.