[mock-rpmfusion-free] forgot upload the sources
by Sérgio M. Basto
commit 35dd3c2b3b0422bb41c1788e30aa4955287b5798
Author: Sérgio M. Basto <sergio(a)serjux.com>
Date: Sun Oct 2 19:46:25 2022 +0100
forgot upload the sources
.gitignore | 1 +
sources | 2 +-
2 files changed, 2 insertions(+), 1 deletion(-)
---
diff --git a/.gitignore b/.gitignore
index b1aa852..0b20b8b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -33,3 +33,4 @@ mock-rpmfusion-free-23.0.tar.bz2
/mock-rpmfusion-free-36.0.tar.bz2
/mock-rpmfusion-free-36.1.tar.bz2
/mock-rpmfusion-free-37.0.tar.bz2
+/mock-rpmfusion-free-37.1.tar.bz2
diff --git a/sources b/sources
index 8679761..fc96f4b 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (mock-rpmfusion-free-37.0.tar.bz2) = 8a35a4e37af3e2ba15e1a4c510a2def3107704df31668939d27522529809fc215c3f4a7d2ae1a0b3c2af75292e92b5a5c586b567198eac83e6e72eed56fdc728
+SHA512 (mock-rpmfusion-free-37.1.tar.bz2) = a87ea9a2bf8d2fd186d3d11e9f155f4c0b159fc5f3846c2c8e53e80d761a540c21058676cbae84a8d94eb62ea59e6b7de347f7bcd986a059d91cb31d93573d0e
2 years, 1 month
[mock-rpmfusion-nonfree] New names for configurations (%{reponame}-37.1-%{arch}.cfg)
by Sérgio M. Basto
commit 013999d6a7b35ac1c6c3e4b9363fa7c569ab4e69
Author: Sérgio M. Basto <sergio(a)serjux.com>
Date: Sun Oct 2 19:44:58 2022 +0100
New names for configurations (%{reponame}-37.1-%{arch}.cfg)
Make links to short names of settings names in el
Add links from old configuration names to new names for backwards compatibility.
.gitignore | 1 +
mock-rpmfusion-nonfree.spec | 17 ++++++++++-------
sources | 2 +-
3 files changed, 12 insertions(+), 8 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index 81bfb8d..b75ac78 100644
--- a/.gitignore
+++ b/.gitignore
@@ -31,3 +31,4 @@ mock-rpmfusion-nonfree-23.0.tar.bz2
/mock-rpmfusion-nonfree-36.0.tar.bz2
/mock-rpmfusion-nonfree-36.1.tar.bz2
/mock-rpmfusion-nonfree-37.0.tar.bz2
+/mock-rpmfusion-nonfree-37.1.tar.bz2
diff --git a/mock-rpmfusion-nonfree.spec b/mock-rpmfusion-nonfree.spec
index 846a83a..f4649a1 100644
--- a/mock-rpmfusion-nonfree.spec
+++ b/mock-rpmfusion-nonfree.spec
@@ -1,5 +1,5 @@
Name: mock-rpmfusion-nonfree
-Version: 37.0
+Version: 37.1
Release: 1%{?dist}
Summary: Mock config files for the RPM Fusion NonFree Repository
@@ -8,7 +8,7 @@ URL: https://rpmfusion.org/
Source0: https://github.com/rpmfusion-infra/mock-rpmfusion/releases/download/%{ver...
BuildArch: noarch
-Requires: mock-rpmfusion-free >= 37.0
+Requires: mock-rpmfusion-free >= 37.1
%description
Mock config files for the RPM Fusion NonFree Repository
@@ -23,18 +23,21 @@ Mock config files for the RPM Fusion NonFree Repository
%install
-mkdir -p %{buildroot}%{_sysconfdir}/mock
-install -pm 0644 etc/mock/*_nonfree.cfg %{buildroot}%{_sysconfdir}/mock
-mkdir -p %{buildroot}%{_sysconfdir}/mock/templates
-install -pm 0644 etc/mock/templates/*.tpl %{buildroot}%{_sysconfdir}/mock/templates
+mkdir -p %{buildroot}%{_sysconfdir}
+cp -a etc/mock %{buildroot}%{_sysconfdir}/mock/
%files
-%config(noreplace) %{_sysconfdir}/mock/*_nonfree.cfg
+%config(noreplace) %{_sysconfdir}/mock/*.cfg
%config(noreplace) %{_sysconfdir}/mock/templates/*.tpl
%changelog
+* Sat Sep 24 2022 Sérgio Basto <sergio(a)serjux.com> - 37.1-1
+- New names for configurations (%{reponame}-%{version}-%{arch}.cfg)
+- Make links to short names of settings names in el
+- Add links from old configuration names to new names for backwards compatibility.
+
* Mon Sep 19 2022 Sérgio Basto <sergio(a)serjux.com> - 37.0-1
- F37 branch
diff --git a/sources b/sources
index 73c6915..f2a808c 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (mock-rpmfusion-nonfree-37.0.tar.bz2) = 101e32f22a2ea75277f694ace6d2291619eea1440d93eb8f47fb88d328a4e465ea5a07c6f0a172435630d8c3e1f94bbca8b0fccaeafe1cda7693c14f33594c77
+SHA512 (mock-rpmfusion-nonfree-37.1.tar.bz2) = e7d08036efa309dbc6fd129668be90546843332d9bb6fbefd9be7026ae52b6e03f7f530884d6d0351363f6adb9c580f2d5e6d24b63cdf591be9550db90f45a16
2 years, 1 month
[mock-rpmfusion-free] New names for configurations (%{reponame}-37.1-%{arch}.cfg)
by Sérgio M. Basto
commit cc36af648621c535fa16125f5d96c002b449a09a
Author: Sérgio M. Basto <sergio(a)serjux.com>
Date: Sun Oct 2 19:43:25 2022 +0100
New names for configurations (%{reponame}-37.1-%{arch}.cfg)
Make links to short names of settings names in el
Add links from old configuration names to new names for backwards compatibility.
mock-rpmfusion-free.spec | 39 ++++++++++-----------------------------
1 file changed, 10 insertions(+), 29 deletions(-)
---
diff --git a/mock-rpmfusion-free.spec b/mock-rpmfusion-free.spec
index 6a7b8f5..197dec8 100644
--- a/mock-rpmfusion-free.spec
+++ b/mock-rpmfusion-free.spec
@@ -1,5 +1,5 @@
Name: mock-rpmfusion-free
-Version: 37.0
+Version: 37.1
Release: 1%{?dist}
Summary: Mock config files for the RPM Fusion Free Repository
@@ -23,41 +23,22 @@ Mock config files for the RPM Fusion Free Repository
%install
-mkdir -p %{buildroot}%{_sysconfdir}/mock
-install -pm 0644 etc/mock/*_free.cfg %{buildroot}%{_sysconfdir}/mock
-mkdir -p %{buildroot}%{_sysconfdir}/mock/templates
-install -pm 0644 etc/mock/templates/*.tpl %{buildroot}%{_sysconfdir}/mock/templates
-pushd %{buildroot}%{_sysconfdir}/mock
-ln -s alma+epel-8-aarch64.cfg epel-8-aarch64.cfg
-ln -s alma+epel-8-ppc64le.cfg epel-8-ppc64le.cfg
-ln -s alma+epel-8-x86_64.cfg epel-8-x86_64.cfg
-ln -s centos-stream+epel-next-8-aarch64.cfg epel-next-8-aarch64.cfg
-ln -s centos-stream+epel-next-8-ppc64le.cfg epel-next-8-ppc64le.cfg
-ln -s centos-stream+epel-next-8-x86_64.cfg epel-next-8-x86_64.cfg
-ln -s centos-stream+epel-next-9-aarch64.cfg epel-next-9-aarch64.cfg
-ln -s centos-stream+epel-next-9-ppc64le.cfg epel-next-9-ppc64le.cfg
-ln -s centos-stream+epel-next-9-s390x.cfg epel-next-9-s390x.cfg
-ln -s centos-stream+epel-next-9-x86_64.cfg epel-next-9-x86_64.cfg
-popd
+mkdir -p %{buildroot}%{_sysconfdir}
+cp -a etc/mock %{buildroot}%{_sysconfdir}/mock/
%files
-%config(noreplace) %{_sysconfdir}/mock/*_free.cfg
+%config(noreplace) %{_sysconfdir}/mock/*.cfg
%config(noreplace) %{_sysconfdir}/mock/templates/*.tpl
-%{_sysconfdir}/mock/epel-8-aarch64.cfg
-%{_sysconfdir}/mock/epel-8-ppc64le.cfg
-%{_sysconfdir}/mock/epel-8-x86_64.cfg
-%{_sysconfdir}/mock/epel-next-8-aarch64.cfg
-%{_sysconfdir}/mock/epel-next-8-ppc64le.cfg
-%{_sysconfdir}/mock/epel-next-8-x86_64.cfg
-%{_sysconfdir}/mock/epel-next-9-aarch64.cfg
-%{_sysconfdir}/mock/epel-next-9-ppc64le.cfg
-%{_sysconfdir}/mock/epel-next-9-s390x.cfg
-%{_sysconfdir}/mock/epel-next-9-x86_64.cfg
%changelog
-* Tue Sep 20 2022 Sérgio Basto <sergio(a)serjux.com> - 37.0-1
+* Sat Sep 24 2022 Sérgio Basto <sergio(a)serjux.com> - 37.1-1
+- New names for configurations (%{reponame}-%{version}-%{arch}.cfg)
+- Make links to short names of settings names in el
+- Add links from old configuration names to new names for backwards compatibility.
+
+* Mon Sep 19 2022 Sérgio Basto <sergio(a)serjux.com> - 37.0-1
- F37 branch
* Sun May 01 2022 Sérgio Basto <sergio(a)serjux.com> - 36.1-1
2 years, 1 month
[rfpkg] Use unittest.mock on Python 3 and remove python3-mock dependency, to allow
by Sérgio M. Basto
commit a66c18ff377860455416a4797281419ee13a5684
Author: Sérgio M. Basto <sergio(a)serjux.com>
Date: Sun Oct 2 18:25:22 2022 +0100
Use unittest.mock on Python 3 and remove python3-mock dependency, to allow
build on el9
...t.mock-on-Python-3-and-remove-python3-moc.patch | 177 +++++++++++++++++++++
rfpkg.spec | 20 ++-
2 files changed, 190 insertions(+), 7 deletions(-)
---
diff --git a/0001-Use-unittest.mock-on-Python-3-and-remove-python3-moc.patch b/0001-Use-unittest.mock-on-Python-3-and-remove-python3-moc.patch
new file mode 100644
index 0000000..9f44bfe
--- /dev/null
+++ b/0001-Use-unittest.mock-on-Python-3-and-remove-python3-moc.patch
@@ -0,0 +1,177 @@
+From c3100c901071fce190fa32914bb7db04e2ab45e0 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?S=C3=A9rgio=20M=2E=20Basto?= <sergio(a)serjux.com>
+Date: Wed, 24 Aug 2022 01:32:51 +0100
+Subject: [PATCH] Use unittest.mock on Python 3 and remove python3-mock
+ dependency
+
+also
+- no cover-package = rfpkg
+- remove pytest coverage execution
+---
+ conf/zsh-completion/_rfpkg | 1 -
+ setup.cfg | 9 +++-----
+ setup.py | 17 +++++---------
+ test/test_retire.py | 45 +++++++++++++++++++++++++++++++++++---
+ tests-requirements.txt | 2 +-
+ 5 files changed, 52 insertions(+), 22 deletions(-)
+
+diff --git a/conf/zsh-completion/_rfpkg b/conf/zsh-completion/_rfpkg
+index d1cfe86..15ba1e3 100644
+--- a/conf/zsh-completion/_rfpkg
++++ b/conf/zsh-completion/_rfpkg
+@@ -399,7 +399,6 @@ _rfpkg() {
+ _arguments -C \
+ '(- :)'{-h,--help}'[show help message and exit]' \
+ '(-C --config)'{-C,--config}'[specify a config file to use]:config file:_files' \
+- '--dist[override the discovered distribution]:distribution' \
+ '--release[override the discovered release]:release' \
+ '--user[override the discovered user name]:user' \
+ '--path[define the directory to work in (defaults to cwd)]:working direcory:_directories' \
+diff --git a/setup.cfg b/setup.cfg
+index a38d7e6..f2746be 100644
+--- a/setup.cfg
++++ b/setup.cfg
+@@ -5,13 +5,10 @@ test = pytest
+ formats = bztar
+
+ [tool:pytest]
+-cover-package = rfpkg
+-addopts = --cov=rfpkg
++# additional values for 'addopts' can be:
++# --cov-report html
++# -ra -q
+ testpaths = test
+
+ [flake8]
+ max-line-length = 100
+-
+-[egg_info]
+-tag_build =
+-tag_date = 0
+diff --git a/setup.py b/setup.py
+index 8d353f3..526370c 100755
+--- a/setup.py
++++ b/setup.py
+@@ -1,7 +1,6 @@
+ #!/usr/bin/python
+
+ import os
+-import sys
+
+ from setuptools import find_packages, setup
+
+@@ -23,20 +22,13 @@ tests_requirements = os.path.join(project_dir, 'tests-requirements.txt')
+
+ with open(requirements, 'r') as f:
+ install_requires = [line.strip() for line in f]
++install_requires += [
++ 'distro',
++]
+
+ with open(tests_requirements, 'r') as f:
+ tests_require = [line.strip() for line in f]
+
+-ver = sys.version_info
+-if ver[0] <= 2 and ver[1] < 7:
+- tests_require += [
+- 'unittest2'
+- ]
+-else:
+- install_requires += [
+- 'distro',
+- ]
+-
+
+ setup(
+ name="rfpkg",
+@@ -76,5 +68,8 @@ setup(
+ 'Programming Language :: Python :: 3.6',
+ 'Programming Language :: Python :: 3.7',
+ 'Programming Language :: Python :: 3.8',
++ 'Programming Language :: Python :: 3.9',
++ 'Programming Language :: Python :: 3.10',
++ 'Programming Language :: Python :: 3.11',
+ ],
+ )
+diff --git a/test/test_retire.py b/test/test_retire.py
+index 5296c1d..35b87c0 100644
+--- a/test/test_retire.py
++++ b/test/test_retire.py
+@@ -2,8 +2,14 @@
+
+ import os
+ import shutil
+-import unittest
+-import mock
++try:
++ import unittest2 as unittest
++except ImportError:
++ import unittest
++try:
++ from unittest import mock
++except ImportError:
++ import mock
+ from six.moves import configparser
+ import tempfile
+ import subprocess
+@@ -53,7 +59,7 @@ class RetireTestCase(unittest.TestCase):
+ return out.strip()
+
+ def _fake_client(self, args):
+- config = configparser.SafeConfigParser()
++ config = configparser.ConfigParser()
+ config.read(TEST_CONFIG)
+ with mock.patch('sys.argv', new=args):
+ client = rfpkgClient(config)
+@@ -100,3 +106,36 @@ class RetireTestCase(unittest.TestCase):
+ self.assertEqual(len(client.cmd.push.call_args_list), 1)
+ self.assertEqual(PkgDB.return_value.retire_packages.call_args_list,
+ [mock.call('rfpkg', 'master', namespace='rpms')])
++
++ """
++ @mock.patch("requests.get", new=lambda *args, **kwargs: mock.Mock(status_code=404))
++ @mock.patch('rpmfusion_cert.read_user_cert')
++ @mock.patch('rfpkgdb2client.PkgDB')
++ def test_package_is_retired_already(self):
++ self._setup_repo('ssh://git@pkgs.example.com/rfpkg')
++ with open(os.path.join(self.tmpdir, 'dead.package'), 'w') as f:
++ f.write('dead package')
++
++ args = ['rfpkg', '--release=master', 'retire', 'my reason']
++ client = self._fake_client(args)
++ client.log = mock.Mock()
++ client.retire()
++ args, kwargs = client.log.warn.call_args
++ self.assertIn('dead.package found, package or module is already retired',
++ args[0])
++
++ @mock.patch(
++ "requests.get",
++ new=lambda *args, **kwargs: mock.Mock(
++ status_code=200, ok=True, json=lambda: {"state": "archived"}
++ ),
++ )
++ def test_package_on_retired(self):
++ self._setup_repo("ssh://git@pkgs.example.com/rfpkg")
++ args = ["rfpkg", "--release=master", "retire", "my reason"]
++
++ client = self._fake_client(args)
++ client.retire()
++ args, kwargs = client.log.error.call_args
++ self.assertIn("retire operation is not allowed", args[0])
++ """
+diff --git a/tests-requirements.txt b/tests-requirements.txt
+index cca4322..be75121 100644
+--- a/tests-requirements.txt
++++ b/tests-requirements.txt
+@@ -3,6 +3,6 @@ coverage<5.0.0
+ cccolutils
+ gitpython
+ freezegun
+-rpm
++rpm < 0.0.3
+ pytest
+ pytest-cov
+--
+2.37.3
+
diff --git a/rfpkg.spec b/rfpkg.spec
index 25d35d1..7d3a800 100644
--- a/rfpkg.spec
+++ b/rfpkg.spec
@@ -5,12 +5,13 @@
Name: rfpkg
Version: 1.27.1
-Release: 1%{?dist}
+Release: 2%{?dist}
Summary: RPM Fusion utility for working with dist-git
License: GPLv2+
Group: Applications/System
URL: https://github.com/rpmfusion-infra/rfpkg
Source0: %url/archive/v%{version}/%{name}-%{version}.tar.gz
+Patch1: 0001-Use-unittest.mock-on-Python-3-and-remove-python3-moc.patch
BuildArch: noarch
@@ -45,10 +46,11 @@ BuildRequires: python3-six
BuildRequires: python3-rpmfusion-cert
BuildRequires: rfpkgdb-cli
# For testing
-BuildRequires: python3-mock
-BuildRequires: python3-nose
+BuildRequires: python3-pytest
+BuildRequires: python3-distro
+BuildRequires: python3-fedora
#BuildRequires: python3-bugzilla
-#BuildRequires: python3-freezegun
+BuildRequires: python3-freezegun
#BuildRequires: python3-bodhi-client
%endif
@@ -114,15 +116,15 @@ mv %{buildroot}%{compdir}/rfpkg.bash $RPM_BUILD_ROOT%{compdir}/rfpkg
%check
+%if %{with python2}
%if 0%{?rhel} == 6
# cannot use -m nose on EL6 (python 2.6)
nosetests
%else
-%if %{with python2}
#{__python2} -m nose
-%else
-%{__python3} -m nose
%endif
+%else
+%pytest
%endif
@@ -145,6 +147,10 @@ nosetests
%changelog
+* Sun Oct 02 2022 Sérgio Basto <sergio(a)serjux.com> - 1.27.1-2
+- Use unittest.mock on Python 3 and remove python3-mock dependency, to allow
+ build on el9
+
* Fri Sep 09 2022 Sérgio Basto <sergio(a)serjux.com> - 1.27.1-1
- Update rfpkg to 1.27.1
- tag has moved to a new commit
2 years, 1 month
[xpra-codecs-freeworld] Release 4.4 | Fix x265 option
by sagitter
commit e4cdeefa68c6b4e6435cd325310a7e88dbc66750
Author: Antonio Trande <sagitter(a)fedoraproject.org>
Date: Sat Oct 1 22:27:29 2022 +0200
Release 4.4 | Fix x265 option
xpra-codecs-freeworld.spec | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
---
diff --git a/xpra-codecs-freeworld.spec b/xpra-codecs-freeworld.spec
index 63228cc..635cbc4 100644
--- a/xpra-codecs-freeworld.spec
+++ b/xpra-codecs-freeworld.spec
@@ -23,8 +23,8 @@
%global _with_enc_x264 --without-enc_x264
%endif
-%if %{without enc_x265}
-%global _with_enc_x265 --without-enc_x265
+%if %{with enc_x265}
+%global _with_enc_x265 --with-enc_x265
%endif
%if %{without dec_avcodec2}
2 years, 1 month
[xpra-codecs-freeworld] Release 4.4
by sagitter
commit c2b7522a7bac6776815b33993c76b6b58004e898
Author: Antonio Trande <sagitter(a)fedoraproject.org>
Date: Sat Oct 1 21:33:42 2022 +0200
Release 4.4
.gitignore | 1 +
sources | 2 +-
xpra-codecs-freeworld.spec | 18 +++++++++++++++---
3 files changed, 17 insertions(+), 4 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index 01bb9d6..020216c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -58,3 +58,4 @@ xpra-0.16.3.tar.xz
/xpra-4.3.1.tar.gz
/xpra-4.3.2.tar.gz
/xpra-4.3.4.tar.gz
+/xpra-4.4.tar.gz
diff --git a/sources b/sources
index 52a17ad..df77435 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (xpra-4.3.4.tar.gz) = 02b0ab2769278649b35c255d64560d393c1749112d24e8c65917ec09c40223fbd8b80b5959988e5dfcf2578827cfe7d027072515a5910db63cdade96a21b830e
+SHA512 (xpra-4.4.tar.gz) = a85e0934ee31d4db7cbb43107e19bde502c54cbf270e019fcafeabcbc781f7b0329533f275bfa48db2552aa26193b82cc8b411e8ef3212f6ee0cb9352d2ae859
diff --git a/xpra-codecs-freeworld.spec b/xpra-codecs-freeworld.spec
index e66a32f..63228cc 100644
--- a/xpra-codecs-freeworld.spec
+++ b/xpra-codecs-freeworld.spec
@@ -1,4 +1,5 @@
%bcond_without enc_x264
+%bcond_without enc_x265
# Theses settings requires 64bit
%if 0%{?__isa_bits} == 64
%bcond_without dec_avcodec2
@@ -15,13 +16,17 @@
%endif
#
-# These are nececessary as the _with_foo is *not* defined if the
+# These are necessary as the _with_foo is *not* defined if the
# --with flag isn't specifed, and we need to have the --without
# specified option in that case.
%if %{without enc_x264}
%global _with_enc_x264 --without-enc_x264
%endif
+%if %{without enc_x265}
+%global _with_enc_x265 --without-enc_x265
+%endif
+
%if %{without dec_avcodec2}
%global _with_dec_avcodec2 --without-dec_avcodec2
%endif
@@ -31,8 +36,8 @@
%endif
Name: xpra-codecs-freeworld
-Version: 4.3.4
-Release: 2%{?dist}
+Version: 4.4
+Release: 1%{?dist}
Summary: Additional codecs for xpra using x264 and ffmpeg
License: GPLv2+
URL: https://www.xpra.org/
@@ -48,6 +53,7 @@ BuildRequires: python3-devel
BuildRequires: gtk3-devel
BuildRequires: libXtst-devel
BuildRequires: libxkbfile-devel
+BuildRequires: lz4-devel
BuildRequires: python3-Cython
BuildRequires: ack
BuildRequires: desktop-file-utils
@@ -88,7 +94,9 @@ BuildRequires: ffmpeg-devel
#BuildRequires: pygtk2-devel
BuildRequires: xvidcore-devel
+%if %{with enc_x265}
BuildRequires: x265-devel
+%endif
Requires: xpra%{?_isa} = %{version}
Requires: gstreamer1-plugins-ugly%{?_isa}
@@ -120,6 +128,7 @@ export CFLAGS="%{build_cflags} -I%{_includedir}/cairo"
--with-verbose \
--with-vpx \
%{?_with_enc_x264} \
+ %{?_with_enc_x265} \
%{?_with_dec_avcodec2} \
%{?_with_csc_swscale} \
%{?_with_debug} \
@@ -171,6 +180,9 @@ find %{buildroot}%{python3_sitearch}/xpra -name '*.so' \
%license COPYING
%changelog
+* Sat Oct 01 2022 Antonio Trande <sagitter(a)fedoraproject.org> - 4.4-1
+- Release 4.4
+
* Mon Aug 08 2022 RPM Fusion Release Engineering <sergiomb(a)rpmfusion.org> - 4.3.4-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild and ffmpeg
5.1
2 years, 1 month
[terminatorX/f37] Update to 4.2.0
by Leigh Scott
Summary of changes:
f8108dc... Update to 4.2.0 (*)
(*) This commit already existed in another branch; no separate mail sent
2 years, 1 month