From cf0dced233ac7975477175143d0fe93b92fe52e3 Mon Sep 17 00:00:00 2001 From: Matthew Krupcale Date: Sat, 1 Jun 2024 09:29:24 -0400 Subject: [PATCH 1/2] Re-package latest upstream v2.53.5 This updates the previous (orphaned) unison v2.40 package [1] to the latest upstream version v2.53.5. Since unison v2.52 (2022-03), unison has become considerably more forward and backward version-compatible, not only between clients and servers of different unison versions but also when compiled with different OCaml compiler versions. Thus, there is no longer a need for different packages for different unison versions, so we revive the primary unison package. * .cvsignore: remove * .gitignore: ignore v2.53.5 source archive * Makefile: remove * sources: add v2.53.5 source archive hash * unison.desktop: add XDG Desktop Entry file * unison.metainfo.xml: add AppData metainfo file * unison.spec: add updated spec file [1] https://src.fedoraproject.org/rpms/unison240 --- .cvsignore | 0 .gitignore | 1 + Makefile | 21 --- sources | 1 + unison.desktop | 10 ++ unison.metainfo.xml | 18 +++ unison.spec | 351 ++++++++++++++++++++++++++++++++++++++++++++ 7 files changed, 381 insertions(+), 21 deletions(-) delete mode 100644 .cvsignore create mode 100644 .gitignore delete mode 100644 Makefile create mode 100644 unison.desktop create mode 100644 unison.metainfo.xml create mode 100644 unison.spec diff --git a/.cvsignore b/.cvsignore deleted file mode 100644 index e69de29..0000000 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..3f54d41 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/unison-2.53.5.tar.gz diff --git a/Makefile b/Makefile deleted file mode 100644 index 0559105..0000000 --- a/Makefile +++ /dev/null @@ -1,21 +0,0 @@ -# Makefile for source rpm: unison -# $Id$ -NAME := unison -SPECFILE = $(firstword $(wildcard *.spec)) - -define find-makefile-common -for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done -endef - -MAKEFILE_COMMON := $(shell $(find-makefile-common)) - -ifeq ($(MAKEFILE_COMMON),) -# attept a checkout -define checkout-makefile-common -test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2 -endef - -MAKEFILE_COMMON := $(shell $(checkout-makefile-common)) -endif - -include $(MAKEFILE_COMMON) diff --git a/sources b/sources index e69de29..d627651 100644 --- a/sources +++ b/sources @@ -0,0 +1 @@ +SHA512 (unison-2.53.5.tar.gz) = eabeed7b428f1985610b47ce8bc7faac515fd24937727612aa45435da3e38d40b6cd6d227eb3b65dc370d46458cecfca9d0e9e1712b2b7fa41b76675f8115c4c diff --git a/unison.desktop b/unison.desktop new file mode 100644 index 0000000..e80f331 --- /dev/null +++ b/unison.desktop @@ -0,0 +1,10 @@ +[Desktop Entry] +Type=Application +Exec=unison-gui +Name=Unison File Synchronizer +GenericName=File Synchronizer +Comment=Multi-master File synchronization tool +Terminal=false +Icon=unison +StartupNotify=true +Categories=Utility; diff --git a/unison.metainfo.xml b/unison.metainfo.xml new file mode 100644 index 0000000..6b6711e --- /dev/null +++ b/unison.metainfo.xml @@ -0,0 +1,18 @@ + + + unison + CC0-1.0 + GPL-3.0-or-later AND LGPL-2.0-only AND LGPL-2.1-only AND LGPL-2.1-or-later + Unison + File Synchronizer + +

+ Unison is a file-synchronization tool for POSIX-compliant systems + (e.g. *BSD, GNU/Linux, macOS) and Windows. It allows two replicas of a + collection of files and directories to be stored on different hosts (or + different disks on the same host), modified separately, and then brought + up to date by propagating the changes in each replica to the other. +

+
+ https://github.com/bcpierce00/unison +
diff --git a/unison.spec b/unison.spec new file mode 100644 index 0000000..2e2fb6a --- /dev/null +++ b/unison.spec @@ -0,0 +1,351 @@ +%bcond doc 1 +%bcond gtk 1 + +%ifarch %{ocaml_native_compiler} +%global native true +%else +%global native false +%endif + +# OCaml i686 support was dropped in OCaml 5 / Fedora 39. +ExcludeArch: %{ix86} + +Name: unison +Version: 2.53.5 +Release: 1%{?dist} +Summary: File Synchronizer + +%global forgeurl https://github.com/bcpierce00/%{name}/ +%global tag v%{version} +%forgemeta + +# LGPL-2.0-only +# src/ubase/myMap.ml{,i} +# src/ubase/uarg.ml{,i} +# LGPL-2.1-only +# src/fsmonitor/inotify/inotify.ml{,i} +# src/fsmonitor/inotify/inotify_stubs.c +# src/hash_compat.c +# LGPL-2.1-or-later +# src/lwt +License: GPL-3.0-or-later AND LGPL-2.0-only AND LGPL-2.1-only AND LGPL-2.1-or-later +URL: %{forgeurl} +Source0: %{forgesource} +Source1: %{name}.desktop +Source2: %{name}.metainfo.xml + +BuildRequires: ocaml +BuildRequires: ocaml-findlib + +%if %{with gtk} +BuildRequires: desktop-file-utils +BuildRequires: hicolor-icon-theme +BuildRequires: libappstream-glib +BuildRequires: ocaml-lablgtk3-devel +BuildRequires: ocaml-cairo-devel +%endif +%if %{with doc} +BuildRequires: hevea +BuildRequires: lynx +BuildRequires: tex-latex +%endif + +Provides: bundled(ocaml-inotify) + +%description +Unison is a file-synchronization tool for POSIX-compliant systems (e.g. *BSD, +GNU/Linux, macOS) and Windows. It allows two replicas of a collection of files +and directories to be stored on different hosts (or different disks on the same +host), modified separately, and then brought up to date by propagating the +changes in each replica to the other. + +%if %{with gtk} +%package gtk +Summary: Unison File Synchronizer GTK interface +Requires: hicolor-icon-theme +%description gtk +%{summary}. +%endif + +%if %{with doc} +%package doc +Summary: Unison File Synchronizer documentation +BuildArch: noarch +%description doc +%{summary}. +%endif + +%prep +%forgeautosetup + +%build +%make_build \ + NATIVE=%{native} \ + tui \ + fsmonitor \ + manpage + +%if %{with gtk} +%make_build \ + NATIVE=%{native} \ + gui +%endif + +%if %{with doc} +%make_build \ + NATIVE=%{native} \ + docs +%endif + +%install +%make_install \ + NATIVE=%{native} \ + PREFIX=%{_prefix} + +%if %{with gtk} +# Install the various icons according to the "Icon Theme Specification" +# https://specifications.freedesktop.org/icon-theme-spec/icon-theme-spec-latest.html +for size in 16 24 32 48 256; do + format="${size}x${size}" + install -Dpm0644 icons/U.${format}x16m.png \ + %{buildroot}%{_datadir}/icons/hicolor/${format}/apps/%{name}.png +done +install -Dpm0644 icons/U.svg %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/%{name}.svg +desktop-file-install --dir %{buildroot}%{_datadir}/applications %{SOURCE1} +install -Dpm0644 -t %{buildroot}%{_metainfodir} %{SOURCE2} +%endif + +%if %{with doc} +install -Dpm0644 -t %{buildroot}%{_docdir}/%{name} doc/%{name}-manual.{html,pdf,txt} +%endif + +%check +make test \ + NATIVE=%{native} +%if %{with gtk} +appstream-util validate-relax --nonet %{buildroot}%{_metainfodir}/%{name}.metainfo.xml +%endif + +%files +%doc NEWS.md README.md +%license LICENSE +%{_bindir}/%{name} +%{_bindir}/%{name}-fsmonitor +%{_mandir}/man1/%{name}.1* + +%if %{with gtk} +%files gtk +%license LICENSE +%{_bindir}/%{name}-gui +%{_datadir}/applications/%{name}.desktop +%{_datadir}/icons/hicolor/*/apps/%{name}.png +%{_datadir}/icons/hicolor/scalable/apps/%{name}.svg +%{_metainfodir}/%{name}.metainfo.xml +%endif + +%if %{with doc} +%files doc +%dir %{_docdir}/%{name} +%{_docdir}/%{name}/%{name}-manual.{html,pdf,txt} +%endif + +%changelog +* Sat May 18 2024 Matthew Krupcale - 2.53.5-1 +- Re-package latest upstream v2.53.5 + +* Sat Aug 01 2020 Fedora Release Engineering - 2.40.128-17 +- Second attempt - Rebuilt for + https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Wed Jul 29 2020 Fedora Release Engineering - 2.40.128-16 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Fri Jan 31 2020 Fedora Release Engineering - 2.40.128-15 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Sat Jul 27 2019 Fedora Release Engineering - 2.40.128-14 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Sun Feb 03 2019 Fedora Release Engineering - 2.40.128-13 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Sat Jul 14 2018 Fedora Release Engineering - 2.40.128-12 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Thu May 31 2018 Richard W.M. Jones - 2.40.128-11 +- Use unsafe-string with OCaml 4.06. +- Add small hack to keep it working with new lablgtk. +- Enable debugging. + +* Fri Feb 09 2018 Fedora Release Engineering - 2.40.128-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Thu Aug 03 2017 Fedora Release Engineering - 2.40.128-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Thu Jul 27 2017 Fedora Release Engineering - 2.40.128-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Tue Feb 14 2017 Richard W.M. Jones - 2.40.128-7 +- Small fix for compiling against OCaml 4.04 (RHBZ#1392152). + +* Sat Feb 11 2017 Fedora Release Engineering - 2.40.128-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Sat Nov 05 2016 Richard W.M. Jones - 2.40.128-5 +- Rebuild for OCaml 4.04.0. + +* Fri Feb 05 2016 Fedora Release Engineering - 2.40.128-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Tue Jan 05 2016 Richard Jones - 2.40.128-3 +- Use global instead of define. + +* Fri Jun 19 2015 Fedora Release Engineering - 2.40.128-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Mon Jan 19 2015 Richard W.M. Jones - 2.40.128-1 +- New upstream version 2.40.128 (RHBZ#1178444). +- Remove missing documentation patch, now included upstream. + +* Mon Aug 18 2014 Fedora Release Engineering - 2.40.102-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Sun Jun 08 2014 Fedora Release Engineering - 2.40.102-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Wed Jan 01 2014 Rex Dieter - 2.40.102-6 +- own alternatives target + +* Mon Sep 09 2013 Gregor Tätzner - 2.40.102-5 +- ship 2 versions of unison: text only and gtk2 user interface +- move binaries into subpackages +- enable dependency generator + +* Sun Aug 04 2013 Fedora Release Engineering - 2.40.102-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Fri Feb 15 2013 Fedora Release Engineering - 2.40.102-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Fri Dec 14 2012 Richard W.M. Jones - 2.40.102-2 +- Rebuild for OCaml 4.00.1. + +* Thu Nov 15 2012 Gregor Tätzner - 2.40.102-1 +- 2.40.102 +- fixes incompatibility between unison ocaml3 and ocaml4 builds + +* Sun Jul 22 2012 Fedora Release Engineering - 2.40.63-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Sun Jan 22 2012 Gregor Tätzner - 2.40.63-6 +- Patch built-in documentation. + +* Sat Jan 21 2012 Gregor Tätzner - 2.40.63-5 +- Add unison-manual.html. + +* Fri Jan 13 2012 Gregor Tätzner - 2.40.63-4 +- Remove ocaml minimum version. +- Add Requires and provides scripts. + +* Tue Sep 27 2011 Gregor Tätzner - 2.40.63-3 +- Remove vendor tag. + +* Sun Sep 04 2011 Gregor Tätzner - 2.40.63-2 +- Remove xorg-x11-font-utils Requirement. +- Enable THREADS=true. + +* Tue Aug 30 2011 Gregor Tätzner - 2.40.63-1 +- Version bump. + +* Sun Jul 26 2009 Fedora Release Engineering - 2.27.57-13 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Thu Apr 16 2009 S390x secondary arch maintainer +- ExcludeArch sparc64, s390, s390x as we don't have OCaml on those archs + (added sparc64 per request from the sparc maintainer) + +* Wed Feb 25 2009 Fedora Release Engineering - 2.27.57-12 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Thu Jan 8 2009 Stephen Warren - 2.27.57-11 +- Add Requires: xorg-x11-fonts-misc + +* Wed Nov 26 2008 Richard W.M. Jones - 2.27.57-10 +- Rebuild for OCaml 3.11.0+rc1. + +* Sat May 24 2008 Richard W.M. Jones - 2.27.57-9 +- Rebuild with OCaml 3.10.2-2 (fixes bz 441685, 445545). + +* Sun Mar 30 2008 Stephen Warren - 2.27.57-8 +- Don't use alternatives for desktop and icon files, to avoid duplicate + menu entries. + +* Wed Mar 19 2008 Stephen Warren - 2.27.57-7 +- Fix license to match correct interpretation of source & GPL +- Remove Excludes for ppc64, since ocaml is available there now, in devel + +* Sat Mar 15 2008 Stephen Warren - 2.27.57-6 +- Rename package unison2.27 -> unison227 to match Fedora naming rules +- Automatically calculate ver_priority using the shell; easier maintenance + +* Sat Mar 1 2008 Stephen Warren - 2.27.57-5 +- Use Provides/Obsoletes to provide upgrade path, per: + http://fedoraproject.org/wiki/Packaging/NamingGuidelines + +* Thu Feb 28 2008 Stephen Warren - 2.27.57-4 +- Explicitly conflict with existing unison package + +* Fri Feb 22 2008 Stephen Warren - 2.27.57-3 +- Derived unison2.27 package from unison2.13 package + +* Mon Feb 4 2008 Gerard Milmeister - 2.27.57-2 +- exclude arch ppc64 + +* Mon Feb 4 2008 Gerard Milmeister - 2.27.57-1 +- new release 2.27.57 + +* Tue Aug 29 2006 Gerard Milmeister - 2.13.16-3 +- Rebuild for FE6 + +* Tue Feb 28 2006 Gerard Milmeister - 2.13.16-2 +- Rebuild for Fedora Extras 5 + +* Thu Sep 1 2005 Gerard Milmeister - 2.13.16-1 +- New Version 2.13.16 + +* Sun Jul 31 2005 Gerard Milmeister - 2.12.0-0 +- New Version 2.12.0 + +* Fri May 27 2005 Toshio Kuratomi - 2.10.2-7 +- Bump and rebuild with new ocaml and new lablgtk + +* Sun May 22 2005 Jeremy Katz - 2.10.2-6 +- rebuild on all arches + +* Mon May 16 2005 Gerard Milmeister - 2.10.2-5 +- Patch: http://groups.yahoo.com/group/unison-users/message/3200 + +* Thu Apr 7 2005 Michael Schwendt +- rebuilt + +* Thu Feb 24 2005 Michael Schwendt - 0:2.10.2-2 +- BR gtk2-devel +- Added NEWS and README docs + +* Sat Feb 12 2005 Gerard Milmeister - 0:2.10.2-1 +- New Version 2.10.2 + +* Wed Apr 28 2004 Gerard Milmeister - 0:2.9.74-0.fdr.1 +- New Version 2.9.74 +- Added icon + +* Tue Jan 13 2004 Gerard Milmeister - 0:2.9.72-0.fdr.1 +- New Version 2.9.72 + +* Tue Dec 9 2003 Gerard Milmeister - 0:2.9.70-0.fdr.2 +- Changed Summary +- Added .desktop file + +* Fri Oct 31 2003 Gerard Milmeister - 0:2.9.70-0.fdr.1 +- First Fedora release From 7feeca2ae5059f7bbdb7786fd18863b9b32d40b5 Mon Sep 17 00:00:00 2001 From: Matthew Krupcale Date: Sat, 22 Feb 2025 10:05:50 -0500 Subject: [PATCH 2/2] Update to v2.53.7 Update to latest upstream version 2.53.7. Also remove the package Requires: gdk-pixbuf2-modules-extra from the gtk package because upstream unison since version 2.53.6 no longer uses the deprecated GdkPixbuf.from_xpm_data. * .gitignore: ignore v2.53.7 source archive * sources: add v2.53.7 source archive hash * unison.spec: - update to v2.53.7 - gtk: remove package Requires: gdk-pixbuf2-modules-extra --- .gitignore | 2 +- sources | 2 +- unison.spec | 5 ++++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 3f54d41..fde32e5 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -/unison-2.53.5.tar.gz +/unison-2.53.7.tar.gz diff --git a/sources b/sources index d627651..2b7b429 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (unison-2.53.5.tar.gz) = eabeed7b428f1985610b47ce8bc7faac515fd24937727612aa45435da3e38d40b6cd6d227eb3b65dc370d46458cecfca9d0e9e1712b2b7fa41b76675f8115c4c +SHA512 (unison-2.53.7.tar.gz) = 11bd1d2792fb84fa2b29426516d7b91a2295febcb84052118d492a29d9ddaa23265b66cc88113019ec6782f3edcf596f7a37c8637e673b2928188248b9d63d60 diff --git a/unison.spec b/unison.spec index 2e2fb6a..36f7b44 100644 --- a/unison.spec +++ b/unison.spec @@ -11,7 +11,7 @@ ExcludeArch: %{ix86} Name: unison -Version: 2.53.5 +Version: 2.53.7 Release: 1%{?dist} Summary: File Synchronizer @@ -150,6 +150,9 @@ appstream-util validate-relax --nonet %{buildroot}%{_metainfodir}/%{name}.metain %endif %changelog +* Sat Feb 22 2025 Matthew Krupcale - 2.53.7-1 +- Update to v2.53.7 + * Sat May 18 2024 Matthew Krupcale - 2.53.5-1 - Re-package latest upstream v2.53.5