SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -fPIE -O2")
SET(CMAKE_EXE_LINKER_FLAGS "-pie")
+ADD_DEFINITIONS("-DTFM_PARTITION_DIR=\"${INITRD_FLASH_PARTITION_DATA_DIR}\"")
+
FIND_PACKAGE(Threads REQUIRED)
ADD_EXECUTABLE(${PROJECT_NAME} src/main.c src/thor.c src/dfu.c src/interface.c src/net.c src/usb.c)
%cmake . -DCMAKE_INSTALL_PREFIX=%{_prefix} \
-DINITRD_FLASH_LIBEXEC_DIR=%{init_script_dir} \
+ -DINITRD_FLASH_PARTITION_DATA_DIR=%{_hal_datadir} \
-DINITRD_RECOVERY_INSTALL_DROPIN_DIR=%{initrd_recovery_install_dropin_dir}
make %{?jobs:-j%jobs}
%make_install
-cp ./data/partition_* %{buildroot}%{_datadir}/
+mkdir -p %{buildroot}%{_hal_datadir}
+cp ./data/partition_* %{buildroot}%{_hal_datadir}/
%post
%post -n fm-data-rpi3
-mv %{_datadir}/partition_rpi3.info %{_datadir}/partition.info
+mv %{_hal_datadir}/partition_rpi3.info %{_hal_datadir}/partition.info
%postun
+rm -f %{_hal_datadir}/partition.info
%files
%manifest initrd-flash.manifest
%{initrd_recovery_install_dropin_dir}/*.list
%files -n fm-data-rpi3
-%{_datadir}/partition_rpi3.info
+%{_hal_datadir}/partition_rpi3.info
"
VERBATIMS="
-/usr/share/partition.info
+@INITRD_FLASH_PARTITION_DATA_DIR@/partition.info
"
#include "dfu.h"
#include "interface.h"
+#if defined(TFM_PARTITION_DIR)
+ #define TFM_PART_INFO TFM_PARTITION_DIR"/partition.info"
+#else
+ #define TFM_PART_INFO "/hal/share/partition.info"
+#endif
+
int _main(int argc, char *argv[])
{
struct tfm_interface_context *supported_interfaces;
struct dfu_context *dfu;
struct tfm_interface *intf;
- const char *part_table = "/usr/share/partition.info";
+ const char *part_table = TFM_PART_INFO;
char *opt_table = NULL;
char *opt_serial = NULL;
int ret, opt;