diff --git a/jfsutils-1.1.15-linux-headers.patch b/jfsutils-1.1.15-linux-headers.patch new file mode 100644 index 0000000..db3803e --- /dev/null +++ b/jfsutils-1.1.15-linux-headers.patch @@ -0,0 +1,13 @@ +https://sourceforge.net/p/jfs/bugs/286/ +https://bugs.gentoo.org/448844 + +--- a/libfs/devices.h ++++ b/libfs/devices.h +@@ -42,6 +42,7 @@ + + struct stat; + ++#include + int ujfs_get_dev_size(FILE *, int64_t * size); + int ujfs_rw_diskblocks(FILE *, int64_t, int32_t, void *, int32_t); + int ujfs_flush_dev(FILE *); diff --git a/jfsutils-1.1.15.tar.gz b/jfsutils-1.1.15.tar.gz new file mode 100644 index 0000000..3f78b8f Binary files /dev/null and b/jfsutils-1.1.15.tar.gz differ diff --git a/jfsutils-reslove-build-error.patch b/jfsutils-reslove-build-error.patch new file mode 100644 index 0000000..be900b7 --- /dev/null +++ b/jfsutils-reslove-build-error.patch @@ -0,0 +1,40 @@ +diff -Nur jfsutils-1.1.15_old/fscklog/display.c jfsutils-1.1.15/fscklog/display.c +--- jfsutils-1.1.15_old/fscklog/display.c 2020-01-19 10:38:11.873031611 +0800 ++++ jfsutils-1.1.15/fscklog/display.c 2020-01-19 11:00:42.226950905 +0800 +@@ -182,7 +182,7 @@ + } else { + /* the record looks ok */ + msg_txt = &log_entry[log_entry_pos]; +- printf(msg_txt); ++ printf("%s",msg_txt); + /* + * set up for the next record + */ +diff -Nur jfsutils-1.1.15_old/fscklog/fscklog.c jfsutils-1.1.15/fscklog/fscklog.c +--- jfsutils-1.1.15_old/fscklog/fscklog.c 2020-01-19 10:38:11.873031611 +0800 ++++ jfsutils-1.1.15/fscklog/fscklog.c 2020-01-19 11:01:15.377539460 +0800 +@@ -252,8 +252,8 @@ + + sprintf(debug_detail, " [%s:%d]\n", basename(file_name), line_number); + +- printf(msg_string); +- printf(debug_detail); ++ printf("%s",msg_string); ++ printf("%s",debug_detail); + + return 0; + } +diff -Nur jfsutils-1.1.15_old/logdump/helpers.c jfsutils-1.1.15/logdump/helpers.c +--- jfsutils-1.1.15_old/logdump/helpers.c 2020-01-19 10:38:11.873031611 +0800 ++++ jfsutils-1.1.15/logdump/helpers.c 2020-01-19 11:01:52.548199382 +0800 +@@ -95,8 +95,8 @@ + + sprintf(debug_detail, " [%s:%d]\n", file_name, line_number); + +- printf(msg_string); +- printf(debug_detail); ++ printf("%s",msg_string); ++ printf("%s",debug_detail); + + return 0; + } diff --git a/jfsutils.spec b/jfsutils.spec new file mode 100644 index 0000000..c7905c6 --- /dev/null +++ b/jfsutils.spec @@ -0,0 +1,44 @@ +Name: jfsutils +Version: 1.1.15 +Release: 14 +Summary: Administration and debugging tools for the JFS filesystem +License: GPLv3 +URL: http://jfs.sourceforge.net/ +Source0: http://jfs.sourceforge.net/project/pub/jfsutils-1.1.15.tar.gz +Patch0001: jfsutils-1.1.15-linux-headers.patch +Patch0002: jfsutils_sysmacros.patch +Patch9000: jfsutils-reslove-build-error.patch +Buildrequires: libuuid-devel git gdb + +%description +JFS(IBM's Journaled File System) is used in IBM enterprise servers, +is designed for high-throughput server environments, key to running +intranet and other high-performance e-business file servers. +The jfsutils package is an dministration and debugging tools for the JFS +filesystem, which mainly contains a number of utilities for creating, +checking, modifying, and correcting any inconsistencies in JFS filesystems. + +%prep +%autosetup -n %{name}-%{version} -p1 -Sgit + +%build +%configure +%make_build + +%install +rm -rf $RPM_BUILD_ROOT +%make_install + +%clean +rm -rf $RPM_BUILD_ROOT + +%files +%defattr(-,root,root) +%{_sbindir}/* +%{_mandir}/man8/* +%doc AUTHORS NEWS ChangeLog +%license COPYING + +%changelog +* Fri Feb 14 2020 gulining - 1.1.15-14 +- Package init diff --git a/jfsutils_sysmacros.patch b/jfsutils_sysmacros.patch new file mode 100644 index 0000000..82f9d63 --- /dev/null +++ b/jfsutils_sysmacros.patch @@ -0,0 +1,15 @@ +https://bugs.gentoo.org/580056 + +--- a/libfs/devices.c ++++ b/libfs/devices.c +@@ -30,6 +30,10 @@ + #include + #include + ++#if HAVE_SYS_SYSMACROS_H ++#include ++#endif ++ + #ifdef HAVE_SYS_MOUNT_H + #ifdef HAVE_SYS_PARAM_H + #include