diff --git a/.gitignore b/.gitignore index dfabdca..4de06d8 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,2 @@ -/nano-2.*.*.tar.gz -/nano-[34].*.tar.xz +/nano-[3-8].*.tar.xz +/nano-[3-8].*.tar.xz.asc diff --git a/0005-nano-4.2-help-crash.patch b/0005-nano-4.2-help-crash.patch deleted file mode 100644 index 0b55415..0000000 --- a/0005-nano-4.2-help-crash.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 00351963c03818d058bfc355663fe0d7c86b9386 Mon Sep 17 00:00:00 2001 -From: Benno Schulenberg -Date: Thu, 23 May 2019 12:43:31 +0200 -Subject: [PATCH] help: don't check for confinement when opening a temporary - help-text file - -This fixes https://savannah.gnu.org/bugs/?56369. - -Upstream-commit: acd23551c3322f397dc43f97796273a8958f6ef9 -Signed-off-by: Kamil Dudka ---- - src/files.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/files.c b/src/files.c -index 20bbd942..7952bc00 100644 ---- a/src/files.c -+++ b/src/files.c -@@ -420,7 +420,7 @@ bool open_buffer(const char *filename, bool new_buffer) - as_an_at = FALSE; - - #ifdef ENABLE_OPERATINGDIR -- if (outside_of_confinement(filename, FALSE)) { -+ if (!inhelp && outside_of_confinement(filename, FALSE)) { - statusline(ALERT, _("Can't read file from outside of %s"), - operating_dir); - return FALSE; --- -2.20.1 - diff --git a/bensberg.pgp b/bensberg.pgp new file mode 100644 index 0000000..2ea04ab --- /dev/null +++ b/bensberg.pgp @@ -0,0 +1,111 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- + +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 +=Txhj +-----END PGP PUBLIC KEY BLOCK----- diff --git a/nano-4.2.tar.xz.asc b/nano-4.2.tar.xz.asc deleted file mode 100644 index 919ce4a..0000000 --- a/nano-4.2.tar.xz.asc +++ /dev/null @@ -1,16 +0,0 @@ ------BEGIN PGP SIGNATURE----- - -iQIzBAABCAAdFiEEv9AJBh5TUFKtDfIVDSjU0qCs6IQFAlzAJ5YACgkQDSjU0qCs -6IRuHRAAn3DRsn4C7D46zDlVJvsLori66O/TdH5xSjZyLmZc16NBZ5gfZiraUbUO -NWXKqzYf37hoku7BdiGAfuTLECdBDSbCAaFoUWtMLDp/hWA9kvduFrVSDtGgsJPZ -v0AqXSBQr0ufr7RZaL61QocaYzIyOuGAwHEEUGNhYmaxiszZpHUhGkGhbQAjIJa5 -IZeZ5e0CV8YKwCo4FUXhPDZp7ursuApB9e6rNFhMjCRGd0XYG3TcTREDqmHjeNd3 -K3QglG8i1/akC4WlBBnsx5TodYlUwa8IZ8QbmtwdUG9wLSAyNxNHhWUOgwiYz0g3 -lV5MYu7oubuGeydK//jtiYb4/CXhR6lMX9q0RIZAerpAVrBI7bq28ePMQTISjSMK -4BJAqXNBTj+S3qspEsmP3440Rav1U49bQEXj3GgjEedVGLUP9f+ozA9oxBfHrDm5 -5ShXOWAnaWKbS1ixnNRMyeVbABK22Kocg2XZi14U1yEiJjhJM3xyqdNxjt1ZWBIp -xqjyOBHmRGKsv5xLhZwYnNGyh8ErvoRok/0cDGo09udgnyLbrSopRoDAkhmGLSfB -RXxCBLudinsKE0Zb9KTW7qlsvATyMF1WJdFaNcnoVRnyIiwEnmc6v5Tjx7CbsTJl -tsNiR7T/fArA4AmXoa+j4IVVBfVaY8W+Jvy4OKl9FBJ3oo3ecPk= -=CMeP ------END PGP SIGNATURE----- diff --git a/nano-8.7-gnulib-c23.patch b/nano-8.7-gnulib-c23.patch new file mode 100644 index 0000000..8e8380c --- /dev/null +++ b/nano-8.7-gnulib-c23.patch @@ -0,0 +1,140 @@ +From c028b6f1804a8fef398d7642d8ccb7d8f73150fb Mon Sep 17 00:00:00 2001 +From: Paul Eggert +Date: Sun, 23 Nov 2025 00:50:40 -0800 +Subject: [PATCH] Port to C23 qualifier-generic fns like strchr +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +This ports Gnulib to strict C23 platforms that reject code +like ‘char *q = strchr (P, 'x');’ when P is a pointer to const, +because in C23 strchr is a qualifier-generic function so +strchr (P, 'x') returns char const *. +This patch does not attempt to do the following two things, +which might be useful in the future: +1. When compiling on non-C23 platforms, check user code for +portability to platforms that define qualifier-generic functions. +2. Port Gnulib to platforms that have qualifier-generic functions +not listed in the C23 standard, e.g., strchrnul. I don’t know +of any such platforms. +* lib/c++defs.h (_GL_FUNCDECL_SYS_NAME): New macro. +* lib/c++defs.h (_GL_FUNCDECL_SYS): +* lib/stdlib.in.h (bsearch): +Use it, to prevent C23 names like strchr from acting like macros. +* lib/string.in.h (memchr, strchr, strpbrk, strrchr): +Do not #undef when GNULIB_POSIXCHECK is defined, as this could +cause conforming C23 code to fail to conform. It’s not clear why +_GL_WARN_ON_USE_CXX; perhaps it was needed but isn’t any more? +But for now, limit the removal of #undef to these four functions +where #undeffing is clearly undesirable in C23. +* lib/wchar.in.h (wmemchr): Parenthesize function name in decl, +to prevent it from acting like a macro. + +Cherry-picked-by: Lukáš Zaoral +Upstream-commit: df17f4f37ed3ca373d23ad42eae51122bdb96626 +--- + lib/c++defs.h | 12 +++++++++++- + lib/stdlib.in.h | 6 +++--- + lib/string.in.h | 4 ---- + lib/wchar.in.h | 2 +- + 4 files changed, 15 insertions(+), 9 deletions(-) + +diff --git a/lib/c++defs.h b/lib/c++defs.h +index b77979a..7384457 100644 +--- a/lib/c++defs.h ++++ b/lib/c++defs.h +@@ -127,6 +127,16 @@ + #define _GL_FUNCDECL_RPL_1(rpl_func,rettype,parameters,...) \ + _GL_EXTERN_C_FUNC __VA_ARGS__ rettype rpl_func parameters + ++/* _GL_FUNCDECL_SYS_NAME (func) expands to plain func if C++, and to ++ parenthsized func otherwise. Parenthesization is needed in C23 if ++ the function is like strchr and so is a qualifier-generic macro ++ that expands to something more complicated. */ ++#ifdef __cplusplus ++# define _GL_FUNCDECL_SYS_NAME(func) func ++#else ++# define _GL_FUNCDECL_SYS_NAME(func) (func) ++#endif ++ + /* _GL_FUNCDECL_SYS (func, rettype, parameters, [attributes]); + declares the system function, named func, with the given prototype, + consisting of return type, parameters, and attributes. +@@ -139,7 +149,7 @@ + _GL_FUNCDECL_SYS (posix_openpt, int, (int flags), _GL_ATTRIBUTE_NODISCARD); + */ + #define _GL_FUNCDECL_SYS(func,rettype,parameters,...) \ +- _GL_EXTERN_C_FUNC __VA_ARGS__ rettype func parameters ++ _GL_EXTERN_C_FUNC __VA_ARGS__ rettype _GL_FUNCDECL_SYS_NAME (func) parameters + + /* _GL_CXXALIAS_RPL (func, rettype, parameters); + declares a C++ alias called GNULIB_NAMESPACE::func +diff --git a/lib/stdlib.in.h b/lib/stdlib.in.h +index bef0aaa..fd0e1e0 100644 +--- a/lib/stdlib.in.h ++++ b/lib/stdlib.in.h +@@ -224,9 +224,9 @@ _GL_INLINE_HEADER_BEGIN + + /* Declarations for ISO C N3322. */ + #if defined __GNUC__ && __GNUC__ >= 15 && !defined __clang__ +-_GL_EXTERN_C void *bsearch (const void *__key, +- const void *__base, size_t __nmemb, size_t __size, +- int (*__compare) (const void *, const void *)) ++_GL_EXTERN_C void *_GL_FUNCDECL_SYS_NAME (bsearch) ++ (const void *__key, const void *__base, size_t __nmemb, size_t __size, ++ int (*__compare) (const void *, const void *)) + _GL_ATTRIBUTE_NONNULL_IF_NONZERO (2, 3) _GL_ARG_NONNULL ((5)); + _GL_EXTERN_C void qsort (void *__base, size_t __nmemb, size_t __size, + int (*__compare) (const void *, const void *)) +diff --git a/lib/string.in.h b/lib/string.in.h +index fdcdd21..8b56acf 100644 +--- a/lib/string.in.h ++++ b/lib/string.in.h +@@ -409,7 +409,6 @@ _GL_CXXALIASWARN1 (memchr, void const *, + _GL_CXXALIASWARN (memchr); + # endif + #elif defined GNULIB_POSIXCHECK +-# undef memchr + /* Assume memchr is always declared. */ + _GL_WARN_ON_USE (memchr, "memchr has platform-specific bugs - " + "use gnulib module memchr for portability" ); +@@ -674,7 +673,6 @@ _GL_WARN_ON_USE (stpncpy, "stpncpy is unportable - " + #if defined GNULIB_POSIXCHECK + /* strchr() does not work with multibyte strings if the locale encoding is + GB18030 and the character to be searched is a digit. */ +-# undef strchr + /* Assume strchr is always declared. */ + _GL_WARN_ON_USE_CXX (strchr, + const char *, char *, (const char *, int), +@@ -981,7 +979,6 @@ _GL_CXXALIASWARN (strpbrk); + Even in this simple case, it does not work with multibyte strings if the + locale encoding is GB18030 and one of the characters to be searched is a + digit. */ +-# undef strpbrk + _GL_WARN_ON_USE_CXX (strpbrk, + const char *, char *, (const char *, const char *), + "strpbrk cannot work correctly on character strings " +@@ -1011,7 +1008,6 @@ _GL_WARN_ON_USE (strspn, "strspn cannot work correctly on character strings " + #if defined GNULIB_POSIXCHECK + /* strrchr() does not work with multibyte strings if the locale encoding is + GB18030 and the character to be searched is a digit. */ +-# undef strrchr + /* Assume strrchr is always declared. */ + _GL_WARN_ON_USE_CXX (strrchr, + const char *, char *, (const char *, int), +diff --git a/lib/wchar.in.h b/lib/wchar.in.h +index ab602a2..6be4515 100644 +--- a/lib/wchar.in.h ++++ b/lib/wchar.in.h +@@ -301,7 +301,7 @@ _GL_EXTERN_C int wcsncmp (const wchar_t *__s1, const wchar_t *__s2, size_t __n) + _GL_ATTRIBUTE_NONNULL_IF_NONZERO (1, 3) + _GL_ATTRIBUTE_NONNULL_IF_NONZERO (2, 3); + # ifndef __cplusplus +-_GL_EXTERN_C wchar_t *wmemchr (const wchar_t *__s, wchar_t __wc, size_t __n) ++_GL_EXTERN_C wchar_t *(wmemchr) (const wchar_t *__s, wchar_t __wc, size_t __n) + _GL_ATTRIBUTE_NONNULL_IF_NONZERO (1, 3); + # endif + _GL_EXTERN_C wchar_t *wmemset (wchar_t *__s, wchar_t __wc, size_t __n) +-- +2.52.0 + diff --git a/nano-default-editor.csh b/nano-default-editor.csh new file mode 100644 index 0000000..be2e517 --- /dev/null +++ b/nano-default-editor.csh @@ -0,0 +1,5 @@ +# Ensure GNU nano is set as EDITOR if it isn't already set + +if ( ! ($?EDITOR) ) then + setenv EDITOR "/usr/bin/nano" +endif diff --git a/nano-default-editor.fish b/nano-default-editor.fish new file mode 100644 index 0000000..dad0407 --- /dev/null +++ b/nano-default-editor.fish @@ -0,0 +1,8 @@ +# Ensure GNU nano is set as EDITOR if it isn't already set +# This is set as a universal variable so that any other definition +# by the user would win +# Cf. https://fishshell.com/docs/current/index.html#variables-scope + +if ! set -q EDITOR; + set -x EDITOR /usr/bin/nano +end diff --git a/nano-default-editor.sh b/nano-default-editor.sh new file mode 100644 index 0000000..2e7edc8 --- /dev/null +++ b/nano-default-editor.sh @@ -0,0 +1,5 @@ +# Ensure GNU nano is set as EDITOR if it isn't already set + +if [ -z "$EDITOR" ]; then + export EDITOR="/usr/bin/nano" +fi diff --git a/nano.spec b/nano.spec index 9911c51..78276d4 100644 --- a/nano.spec +++ b/nano.spec @@ -1,46 +1,92 @@ +# build nano-default-editor by default only on fedora +%if 0%{?fedora} +%bcond_without default_editor +%else +%bcond_with default_editor +%endif + Summary: A small text editor Name: nano -Version: 4.2 -Release: 2%{?dist} -License: GPLv3+ +Version: 8.7 +Release: 1%{?dist} +License: GPL-3.0-or-later URL: https://www.nano-editor.org -Source: https://www.nano-editor.org/dist/latest/%{name}-%{version}.tar.xz -Source2: nanorc + +Source0: https://www.nano-editor.org/dist/latest/%{name}-%{version}.tar.xz +Source1: https://www.nano-editor.org/dist/latest/%{name}-%{version}.tar.xz.asc +# gpg --keyserver keyserver.ubuntu.com --recv-key 168E6F4297BFD7A79AFD4496514BBE2EB8E1961F +# gpg --output bensberg.pgp --armor --export bensberg@telfort.nl +Source2: bensberg.pgp + +# Additional sources +Source3: nanorc + +# Shell snippets for default-editor setup +Source11: nano-default-editor.sh +Source12: nano-default-editor.csh +Source13: nano-default-editor.fish + +# gnulib C23 support +# https://github.com/coreutils/gnulib/commit/df17f4f37ed3ca373d23ad42eae51122bdb96626 +Patch: nano-8.7-gnulib-c23.patch BuildRequires: file-devel BuildRequires: gettext-devel BuildRequires: gcc -BuildRequires: git +BuildRequires: git-core +BuildRequires: gnupg2 BuildRequires: groff +BuildRequires: make BuildRequires: ncurses-devel BuildRequires: sed BuildRequires: texinfo Conflicts: filesystem < 3 -# fix possible crash while opening help -Patch5: 0005-nano-4.2-help-crash.patch - %description GNU nano is a small and friendly text editor. +%if %{with default_editor} +%package default-editor +Summary: Sets GNU nano as the default editor +Requires: nano = %{version}-%{release} +# Ensure that only one package with this capability is installed +Provides: system-default-editor +Conflicts: system-default-editor +BuildArch: noarch + +%description default-editor +This package ensures the EDITOR shell variable +is set in common shells to GNU nano. + +%package -n default-editor +Summary: Metapackage for DNF group +Recommends: nano-default-editor +Requires: system-default-editor +BuildArch: noarch + +%description -n default-editor +The package acts as a placeholder in DNF group 'Standard', which will +install nano-default-editor on fresh installs and it will not block users +who don't have nano as a default editor during upgrade. +%endif + %prep -%autosetup -S git +%{gpgverify} --keyring='%{SOURCE2}' --signature='%{SOURCE1}' --data='%{SOURCE0}' +%autosetup -S git_am %build mkdir build cd build %global _configure ../configure %configure -make %{?_smp_mflags} +%make_build # generate default /etc/nanorc -# - disable line wrapping by default # - set hunspell as the default spell-checker # - enable syntax highlighting by default (#1270712) -sed -e 's/# set nowrap/set nowrap/' \ - -e 's/^#.*set speller.*$/set speller "hunspell"/' \ - -e 's|^# \(include "/usr/share/nano/\*.nanorc"\)|\1|' \ - %{SOURCE2} doc/sample.nanorc > ./nanorc +sed -E -e 's/^#.*set speller.*$/set speller "hunspell"/' \ + -e 's|^# (include "?/usr/share/nano/\*.nanorc"?)|\1|' \ + %{SOURCE3} doc/sample.nanorc > ./nanorc %install cd build @@ -54,19 +100,231 @@ rm -f %{buildroot}%{_docdir}/nano/{nano,nano.1,nanorc.5,rnano.1}.html mkdir -p %{buildroot}%{_sysconfdir} install -m 0644 ./nanorc %{buildroot}%{_sysconfdir}/nanorc +# enable all extra syntax highlighting files by default +mv %{buildroot}%{_datadir}/nano/extra/* %{buildroot}%{_datadir}/nano +rm -rf %{buildroot}%{_datadir}/nano/extra + %find_lang %{name} +%if %{with default_editor} +# install nano-default-editor snippets +install -Dpm 0644 %{SOURCE11} %{buildroot}%{_sysconfdir}/profile.d/%{basename:%{S:11}} +install -Dpm 0644 %{SOURCE12} %{buildroot}%{_sysconfdir}/profile.d/%{basename:%{S:12}} +install -Dpm 0644 %{SOURCE13} %{buildroot}%{_datadir}/fish/vendor_conf.d/%{basename:%{S:13}} +%endif + %files -f build/%{name}.lang -%doc AUTHORS COPYING ChangeLog INSTALL NEWS README THANKS TODO +%license COPYING +%doc AUTHORS ChangeLog NEWS README THANKS TODO %doc build/doc/sample.nanorc %doc doc/{faq,nano}.html -%{_bindir}/* +%{_bindir}/{,r}nano %config(noreplace) %{_sysconfdir}/nanorc -%{_mandir}/man*/* +%{_mandir}/man1/{,r}nano.1* +%{_mandir}/man5/nanorc.5* %{_infodir}/nano.info* %{_datadir}/nano +%if %{with default_editor} +%files default-editor +%dir %{_sysconfdir}/profile.d +%config(noreplace) %{_sysconfdir}/profile.d/nano-default-editor.* +%dir %{_datadir}/fish/vendor_conf.d +%{_datadir}/fish/vendor_conf.d/nano-default-editor.fish + +%files -n default-editor +%endif + + %changelog +* Wed Nov 26 2025 Lukáš Zaoral - 8.7-1 +- require only git-core which is already sufficient for %%autosetup -S git_am +- rebase to latest upstream release (rhbz#2414527) + +* Thu Aug 21 2025 Lukáš Zaoral - 8.6-1 +- rebase to the latest upstream release (rhbz#2390027) + +* Thu Jul 24 2025 Fedora Release Engineering - 8.5-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Thu Jun 12 2025 Lukáš Zaoral - 8.5-1 +- rebase to latest upstream release (rhbz#2372436) + +* Mon Apr 07 2025 Lukáš Zaoral - 8.4-1 +- rebase to latest upstream release (rhbz#2357699) + +* Thu Mar 20 2025 Lukáš Zaoral - 8.3-3 +- fix nano syntax highlighting in default nanorc (rhbz#2353508) + +* Fri Jan 17 2025 Fedora Release Engineering - 8.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Thu Jan 02 2025 Lukáš Zaoral - 8.3-1 +- rebase to latest upstream version (rhbz#2333643) + +* Thu Sep 05 2024 Lukáš Zaoral - 8.2-1 +- rebase to latest upstream release (rhbz#2310179) + +* Thu Jul 18 2024 Lukáš Zaoral - 8.1-1 +- rebase to latest upstream release (rhbz#2297610) + +* Thu May 02 2024 Lukáš Zaoral - 8.0-1 +- rebase to latest upstream version (rhbz#2278126) + +* Thu Jan 25 2024 Fedora Release Engineering - 7.2-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Sun Jan 21 2024 Fedora Release Engineering - 7.2-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Thu Jul 20 2023 Fedora Release Engineering - 7.2-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Tue Mar 21 2023 Lukáš Zaoral - 7.2-3 +- migrated to SPDX license + +* Thu Jan 19 2023 Fedora Release Engineering - 7.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Wed Jan 18 2023 Lukáš Zaoral - 7.2-1 +- Update to 7.2 (rhbz#2161916) +- Do not use %%{_bindir}/* and %%{_mandir}/* as suggested by the packaging + guidelines. + +* Wed Dec 14 2022 Lukáš Zaoral - 7.1-1 +- new upstream release (#2153268) + +* Tue Nov 15 2022 Lukáš Zaoral - 7.0-1 +- new upstream release (#2142885) +- update GPG signature key + +* Tue Aug 02 2022 Lukáš Zaoral - 6.4-1 +- new upstream release (#2113894) + +* Fri Jul 22 2022 Fedora Release Engineering - 6.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Thu Apr 28 2022 Kamil Dudka - 6.3-1 +- new upstream release + +* Sat Feb 19 2022 Kamil Dudka - 6.2-1 +- new upstream release + +* Wed Feb 09 2022 Kamil Dudka - 6.1-1 +- new upstream release + +* Thu Jan 20 2022 Fedora Release Engineering - 6.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Wed Dec 15 2021 Kamil Dudka - 6.0-1 +- new upstream release + +* Wed Oct 06 2021 Kamil Dudka - 5.9-1 +- new upstream release + +* Thu Jul 22 2021 Fedora Release Engineering - 5.8-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Wed Jul 07 2021 Kamil Dudka - 5.8-3 +- fix infinite recursion when handling an error (#1976410) + +* Wed Jun 16 2021 Zdenek Dohnal - 5.8-2 +- introduce 'default-editor' subpackage to support smooth non-nano upgrades (#1955884) + +* Tue Jun 15 2021 Kamil Dudka - 5.8-1 +- new upstream release + +* Tue May 25 2021 Florian Weimer - 5.7-3 +- Rebuild with new binutils to fix ppc64le corruption (#1960730) + +* Wed May 05 2021 Kamil Dudka - 5.7-2 +- build nano-default-editor by default only on fedora + +* Thu Apr 29 2021 Kamil Dudka - 5.7-1 +- new upstream release + +* Wed Mar 03 2021 Kamil Dudka - 5.6.1-1 +- new upstream release + +* Wed Feb 24 2021 Kamil Dudka - 5.6-1 +- new upstream release + +* Tue Jan 26 2021 Fedora Release Engineering - 5.5-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Thu Jan 14 2021 Kamil Dudka - 5.5-1 +- new upstream release + +* Wed Dec 02 2020 Kamil Dudka - 5.4-1 +- new upstream release + +* Thu Oct 15 2020 Zdenek Dohnal - 5.3-4 +- fix nano-default-editor.fish - don't give EDITOR an universal scope + +* Mon Oct 12 2020 Neal Gompa - 5.3-3 +- Ensure default-editor subpackage is easily swappable + +* Thu Oct 08 2020 Neal Gompa - 5.3-2 +- Enable all extra definitions for syntax highlighting (#1886561) + +* Wed Oct 07 2020 Kamil Dudka - 5.3-1 +- new upstream release + +* Mon Aug 24 2020 Kamil Dudka - 5.2-1 +- new upstream release + +* Sat Aug 15 2020 Kamil Dudka - 5.1-1 +- new upstream release + +* Thu Jul 30 2020 Kamil Dudka - 5.0-1 +- new upstream release + +* Tue Jul 28 2020 Fedora Release Engineering - 4.9.3-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Thu Jul 23 2020 Tom Stellard - 4.9.3-3 +- Use make macros +- https://fedoraproject.org/wiki/Changes/UseMakeBuildInstallMacro + +* Thu Jul 16 2020 Neal Gompa - 4.9.3-2 +- Add default-editor subpackage (#1854444) + +* Mon May 25 2020 Kamil Dudka - 4.9.3-1 +- new upstream release + +* Tue Apr 07 2020 Kamil Dudka - 4.9.2-1 +- new upstream release + +* Tue Mar 31 2020 Kamil Dudka - 4.9.1-1 +- new upstream release + +* Tue Mar 24 2020 Kamil Dudka - 4.9-1 +- new upstream release + +* Fri Feb 07 2020 Kamil Dudka - 4.8-1 +- new upstream release + +* Wed Jan 29 2020 Fedora Release Engineering - 4.7-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Mon Dec 23 2019 Kamil Dudka - 4.7-1 +- new upstream release + +* Fri Nov 29 2019 Kamil Dudka - 4.6-1 +- new upstream release + +* Fri Oct 04 2019 Kamil Dudka - 4.5-1 +- new upstream release + +* Mon Aug 26 2019 Kamil Dudka - 4.4-1 +- new upstream release + +* Thu Jul 25 2019 Fedora Release Engineering - 4.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Tue Jun 18 2019 Kamil Dudka - 4.3-1 +- new upstream release + * Tue May 28 2019 Kamil Dudka - 4.2-2 - fix possible crash while opening help diff --git a/sources b/sources index 1ab9333..3c344f6 100644 --- a/sources +++ b/sources @@ -1 +1,2 @@ -SHA512 (nano-4.2.tar.xz) = 280c986ebbc83875270da659232910568bcade962b75ddf9ddc2af6e0fb9aab2b0d029a80d632b5c67fc385958ef4d724aafeeb10299c9e2bc281e737a11845c +SHA512 (nano-8.7.tar.xz.asc) = b525ae9bdd69eae326c364ffd76a03592f4012132fdbff061ec804741857f6cb7428ffa4ebb65ab584a3eb1ce310bf9865d4ad2f73b11d2b156b55bd2ade23c1 +SHA512 (nano-8.7.tar.xz) = 0aac5b1708b05a882cba57f718154e42a6cd8a57f1e1c13c76598fe85645c49703f0c17d2e650da90348eb60c2bdbe349925415b6511c27e5b1bea77d107ab37