%define major 0 %define libname %mklibname dislocker%{major} Name: dislocker Summary: FUSE driver to read/write Windows' BitLocker-ed volumes under Linux / Mac OSX Version: 0.7.3 Release: 4 License: GPLv2 Group: System/Libraries URL: https://github.com/Aorimn/dislocker Source0: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz # Patch including all upstream changes as of 25-10-2025 since last release (v0.7.3) #Patch0: https://github.com/Aorimn/dislocker/compare/v0.7.3..8b2aea09d431bd5497ae223c141ebaee7bdd481f.diff#/dislocker-0.7.3-upstream-changes.patch Patch0: dislocker-0.7.3-upstream-changes.patch BuildRequires: cmake BuildRequires: ninja BuildRequires: pkgconfig(mbedcrypto) BuildRequires: pkgconfig(fuse3) BuildRequires: pkgconfig(ruby) BuildRequires: ruby Requires: ruby Provides: %{_bindir}/%{name} Provides: dislocker-fuse = %{version}-%{release} Provides: dislocker-fuse%{?_isa} = %{version}-%{release} %description This software has been designed to read BitLocker encrypted partitions under a Linux system. The driver has the capability to read/write on: Windows Vista, 7, 8, 8.1 and 10 encrypted partitions - that's AES-CBC, AES-XTS, 128 or 256 bits, with or without the Elephant diffuser, encrypted partitions; BitLocker-To-Go encrypted partitions - that's USB/FAT32 partitions. %package -n %{libname} Summary: Libraries for applications using dislocker Group: System/Libraries %description -n %{libname} The %{libname} package provides the essential shared libraries for any dislocker client program or interface. %prep %autosetup -p1 %build export CFLAGS="%{optflags}" %cmake -G Ninja %ninja_build %install %ninja_install -C build %post alternatives --install %{_bindir}/%{name} %{name} %{_bindir}/%{name}-file 60 alternatives --install %{_bindir}/%{name} %{name} %{_bindir}/%{name}-fuse 80 %preun if [ $1 -eq 0 ]; then alternatives --remove %{name} %{_bindir}/%{name}-file alternatives --remove %{name} %{_bindir}/%{name}-fuse fi %files %license LICENSE.txt %doc README.md %{_bindir}/%{name} %{_bindir}/%{name}-bek %{_bindir}/%{name}-file %{_bindir}/%{name}-find %{_bindir}/%{name}-fuse %{_bindir}/%{name}-metadata %doc %{_mandir}/man1/* %files -n %{libname} %doc README.md %license LICENSE.txt %{_libdir}/*.so.%{major}* # dislocker-find (ruby) fails without this symlink (#1583480) %{_libdir}/libdislocker.so