#496 Tracker ticket for @vanessakris's outreachy work
Closed: Fixed 2 years ago by ankursinha. Opened 2 years ago by ankursinha.

This is a tracker ticket to keep note of @vanessakris's outreachy tasks. We'll put tasks here, discuss them and note progress and so on on here. :clap:

Information for the internship:

  • 13 week duration (1 week break when needed): Dec 6 to March 4
  • 30 hours per week

For week 1, let's start with getting you setup:

T0: set up a system to track your time usage

Estimated time it'll take: < 1h

You can either do this manually, just by using a stop watch on your phone or your computer etc. There are also tools that help you with this that you can use:

Use whatever works for you, there's no right way :)

T1: set up an internship journal

Estimated time it'll take: < 2h

If you don't keep a journal already, it's a good idea to start one to note down what you did, learned, thought etc. during your internship.

Again, there's no right way of doing this. Set up a document file using libreoffice writer, or just write in a simple text file using your favourite editor.
There are also journaling tools out there that you can use if you wish:

If you search the packages app for "journal" or "diary" you'll find some more too.
So pick a method that suits you.

T2: Set up your blog and write a first post

Estimated time it'll take: < 10 hours

If you don't have a blog yet, you'll need to set one up.
This is where you'll write updates about your internship.

You can set up a free one on services like wordpress.org, or you can set up you own static site on GitHub pages.

Since we want you to work with Git and Python more, I'd recommend setting up on GitHub pages using Pelican. Here are is the information you'd need:

Remember to use a virtual environment if you're installing pelican using pip: venv — Creation of virtual environments — Python 3.10.0 documentation

You can also install pelican from the Fedora repos if you'd like: python3-pelican - Fedora Packages

You can look at the NeuroFedora blog as a reference, that's set up using GitHub pages and Pelican:
https://github.com/neurofedora/neurofedora.github.io

T3: add your blog to planet Fedora and planet neuroscientists

Estimated time it'll take: < 1 hour

Add your blog to the planet so that the community can easily read your posts:

Planet - Fedora Project Wiki

To add it to the Neuroscientists planet, you'll add the same text but at the end of our planet's configuration file here:
https://github.com/neurofedora/planet-neuroscientists/blob/master/planet.ini

T4: continue with packaging and reviewing:

Do this in whatever time you have left of the 30 hours

That sounds like quite a bit for a start. See how you do and we can add/remove things.
Remember that this is only a suggested plan. When you're doing stuff, it'll take you more or less time that what you estimate (it always does), but that's all fine. As we go on, we'll be able to better estimate how much time it takes you to do stuff---such project management skills are important to learn :)

For week 1, let's start with getting you setup:

T0: set up a system to track your time usage

Estimated time it'll take: < 1h

You can either do this manually, just by using a stop watch on your phone or your computer etc. There are also tools that help you with this that you can use:

Use whatever works for you, there's no right way :)

T1: set up an internship journal

Estimated time it'll take: < 2h

If you don't keep a journal already, it's a good idea to start one to note down what you did, learned, thought etc. during your internship.

Again, there's no right way of doing this. Set up a document file using libreoffice writer, or just write in a simple text file using your favourite editor.
There are also journaling tools out there that you can use if you wish:

If you search the packages app for "journal" or "diary" you'll find some more too.
So pick a method that suits you.

T2: Set up your blog and write a first post

Estimated time it'll take: < 10 hours

If you don't have a blog yet, you'll need to set one up.
This is where you'll write updates about your internship.

You can set up a free one on services like wordpress.org, or you can set up you own static site on GitHub pages.

Since we want you to work with Git and Python more, I'd recommend setting up on GitHub pages using Pelican. Here are is the information you'd need:

Remember to use a virtual environment if you're installing pelican using pip: venv — Creation of virtual environments — Python 3.10.0 documentation

You can also install pelican from the Fedora repos if you'd like: python3-pelican - Fedora Packages

You can look at the NeuroFedora blog as a reference, that's set up using GitHub pages and Pelican:
https://github.com/neurofedora/neurofedora.github.io

T3: add your blog to planet Fedora and planet neuroscientists

Estimated time it'll take: < 1 hour

Add your blog to the planet so that the community can easily read your posts:

Planet - Fedora Project Wiki

To add it to the Neuroscientists planet, you'll add the same text but at the end of our planet's configuration file here:
https://github.com/neurofedora/planet-neuroscientists/blob/master/planet.ini

T4: continue with packaging and reviewing:

Do this in whatever time you have left of the 30 hours

That sounds like quite a bit for a start. See how you do and we can add/remove things.
Remember that this is only a suggested plan. When you're doing stuff, it'll take you more or less time that what you estimate (it always does), but that's all fine. As we go on, we'll be able to better estimate how much time it takes you to do stuff---such project management skills are important to learn :)

Sounds great and exciting :D. Am i to start right away or from the 6th of Dec

The outreachy internship period officially starts from the 6th, but if you're free, you can of course work on tasks and make a head start :rocket:

Reassinging to @vanessakris (we won't use vanessa_kris anymore---FAS ids should not have underscores in them, but looks like this constraint was not added in the new account system yet.

Please see https://pagure.io/fedora-infrastructure/issue/10377 for more information on this.

Metadata Update from @ankursinha:
- Issue assigned to vanessakris (was: vanessa_kris)

2 years ago

Hello @ankursinha

I have completed T0, T1, T2, T3, T4

Great, is the shybrid review up? Please drop a link here, on the ticket for
shybrid, and please make the shybrid review alsp block the 'fedora-neuro'
bug so that everyone in the team gets a bugzilla notification.

Ill update the neurotune spec/srpm today hopefully and find the next set of
tasks for you too :)

Great, is the shybrid review up? Please drop a link here, on the ticket for
shybrid, and please make the shybrid review alsp block the 'fedora-neuro'
bug so that everyone in the team gets a bugzilla notification.

Ill update the neurotune spec/srpm today hopefully and find the next set of
tasks for you too :)

Shybrid review request
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=2031721

@ankursinha please I'm not sure of what to do here
"alsp block the 'fedora-neuro'
bug so that everyone in the team gets a bugzilla notification"

If you click on the "show advanced fields" button, youll see new fields on
the bug. One of these will be "blocks". In there, write "fedora-neuro" and
then click save/submit

These fields are used to link bugs to each other, the way we link pagure
tickets.

Hello @ankursinha after updating the shybrid spec file it builds completely but rpmlint gave me this error not sure of what to do

https://paste.centos.org/view/2ea7c52d

new specfile

https://paste.centos.org/view/8700c66c

The first few are about your description tag, which should be the last tag
in the spec for each subpackage. Otherwise it thinks the requires etc are
part of the description. So just move the description bit down to be the
last tag before prep and that should fix those. You dont need to use a
macro for description here either because theres only one description.

The next ones are telling you that there are some files in the spec that
have a "shebang" but are not executable. The "shebang" is a line like this
#! /usr/bin/python which tells the shell what command to run the file
with if not explicitly provided on the terminal command (like the way we
run fpaste, for example). This is only useful if the script is executable.
If a script cant be run, the shebang is useless.

So for these files, we need to remove this shebang.

Copy this command from our spec template and uncomment it, that removes
these shebangs:

https://pagure.io/neuro-sig/NeuroFedora/blob/main/f/spec-templates/python.spec#_57

See if you can read the man pages for the find and sed commands to see
whats happening here, and we can discuss it later too :)

On Thu, 16 Dec 2021, 06:26 Vanessa Christopher, pagure@pagure.io wrote:

vanessakris added a new comment to an issue you are following:
``
Hello @ankursinha after updating the shybrid spec file it builds
completely but rpmlint gave me this error not sure of what to do

https://paste.centos.org/view/2ea7c52d

new specfile

https://paste.centos.org/view/8700c66c
``

To reply, visit the link below or just reply to this email
https://pagure.io/neuro-sig/NeuroFedora/issue/496

--
Thanks,

Ankur

(Sent from mobile device)

The first few are about your description tag, which should be the last tag
in the spec for each subpackage. Otherwise it thinks the requires etc are
part of the description. So just move the description bit down to be the
last tag before prep and that should fix those. You dont need to use a
macro for description here either because theres only one description.

The next ones are telling you that there are some files in the spec that
have a "shebang" but are not executable. The "shebang" is a line like this
#! /usr/bin/python which tells the shell what command to run the file
with if not explicitly provided on the terminal command (like the way we
run fpaste, for example). This is only useful if the script is executable.
If a script cant be run, the shebang is useless.

So for these files, we need to remove this shebang.

Copy this command from our spec template and uncomment it, that removes
these shebangs:

https://pagure.io/neuro-sig/NeuroFedora/blob/main/f/spec-templates/python.spec#_57

See if you can read the man pages for the find and sed commands to see
whats happening here, and we can discuss it later too :)

On Thu, 16 Dec 2021, 06:26 Vanessa Christopher, pagure@pagure.io wrote:

vanessakris added a new comment to an issue you are following:
``
Hello @ankursinha after updating the shybrid spec file it builds
completely but rpmlint gave me this error not sure of what to do

https://paste.centos.org/view/2ea7c52d

new specfile

https://paste.centos.org/view/8700c66c
``

To reply, visit the link below or just reply to this email
https://pagure.io/neuro-sig/NeuroFedora/issue/496

--
Thanks,

Ankur

(Sent from mobile device)

Good afternoon @ankursinha. I have updated the shybrid specFile
https://paste.centos.org/view/2932b4ce

once again it built completely but lint gave me 1 error
https://paste.centos.org/view/3157e63d

Looks good, we can ignore that warning. It looks like rpmlint still doesnt
know about the autochangelog etc macros.

Would you please drop a comment on the review ticket with the updates so
folks looking to review can continue?

--
Thanks,

Ankur

(Sent from mobile device)

Looks good, we can ignore that warning. It looks like rpmlint still doesnt
know about the autochangelog etc macros.

Would you please drop a comment on the review ticket with the updates so
folks looking to review can continue?

--
Thanks,

Ankur

(Sent from mobile device)

okay will do just that, thank you :)

@vanessakris here are some next tasks to work on, mostly packaging work:

  • write your blog post: it's good to write what you did, but also what you learned. ( When you can explain what you've learned to others, you know you've learned it well ): 3 hours

Then, some simple package updates where you can practice updating the spec and opening pull requests:

I think that should be quite a bit. If you get stuck on one, move on to the next one so that at least you've gone through them all, and then we can look at any ones that may not turn out to be straight forward.

If you have time left, please feel free to work on other bits that you want to learn/practice too.

Is there anything you need our help with in the meantime too?

Also, I think you can take a week off during the Outreachy period, so do let us know when you want to do that too.

Hello @ankursinha
I tried working on the task and all the bug urls show "invalid bug ID"

Remove the ':' at the end of the bug URLs, and thatll fix that.

--
Thanks,

Ankur

(Sent from mobile device)

Assigned them to you now, so you should get e-mails about them etc :)

Working on https://bugzilla.redhat.com/show_bug.cgi?id=2020066

I get

+ /usr/bin/python3 -m pip wheel --wheel-dir /builddir/build/BUILD/mne-python-0.24.1/pyproject-wheeldir --no-deps --use-pep517 --no-build-isolation --disable-pip-version-check --no-clean --progress-bar off --verbose .
/usr/bin/python3: No module named pip

After updating the spec file and mock-building
https://paste.centos.org/view/1d25095c

Hrm, it cant find pip. Maybe something changed in rawhide. You can add
python3-pip as a buildrequires and that should fix that one

--
Thanks,

Ankur

(Sent from mobile device)

Hrm, it cant find pip. Maybe something changed in rawhide. You can add
python3-pip as a buildrequires and that should fix that one

--
Thanks,

Ankur

(Sent from mobile device)

I made some updates to the specFile and now got

error: Dependency tokens must begin with alpha-numeric, '_' or '/': ~/build/BUILD/mne-python-0.24.1/mne/externals ~/build/BUILD/mne-python-0.24.1
Wrote: /builddir/build/SRPMS/python-mne-0.24.1-1.fc36.src.rpm
INFO: Going to install missing dynamic buildrequires
No matches found for the following disable plugin patterns: local, spacewalk, versionlock
usage: dnf builddep [-c [config file]] [-q] [-v] [--version]
                    [--installroot [path]] [--nodocs] [--noplugins]
                    [--enableplugin [plugin]] [--disableplugin [plugin]]
                    [--releasever RELEASEVER] [--setopt SETOPTS] [--skip-broken]
                    [-h] [--allowerasing] [-b | --nobest] [-C] [-R [minutes]]
                    [-d [debug level]] [--debugsolver] [--showduplicates]
                    [-e ERRORLEVEL] [--obsoletes]
                    [--rpmverbosity [debug level name]] [-y] [--assumeno]
                    [--enablerepo [repo]] [--disablerepo [repo] | --repo [repo]]
                    [--enable | --disable] [-x [package]]
                    [--disableexcludes [repo]] [--repofrompath [repo,path]]
                    [--noautoremove] [--nogpgcheck] [--color COLOR] [--refresh]
                    [-4] [-6] [--destdir DESTDIR] [--downloadonly]
                    [--comment COMMENT] [--bugfix] [--enhancement] [--newpackage]
                    [--security] [--advisory ADVISORY] [--bz BUGZILLA]
                    [--cve CVES]
                    [--sec-severity {Critical,Important,Moderate,Low}]
                    [--forcearch ARCH] [-D 'MACRO EXPR'] [--skip-unavailable]
                    [--spec | --srpm]
                    package [package ...]
dnf builddep: error: the following arguments are required: package
Finish: rpmbuild python-mne-0.24.1-1.fc36.src.rpm
Finish: build phase for python-mne-0.24.1-1.fc36.src.rpm
ERROR: Exception(/home/vanessa/Desktop/packages/python-mne/python-mne-0.24.1-1.fc36.src.rpm) Config(fedora-rawhide-x86_64) 8 minutes 23 seconds

SpecFile:

# setup.py does not list all requirements, and we also unbundle quite a few
# from the externals folder, so we can't only rely on the automatic generator
# here.
# Additionally, requirements.txt seems to be dev requirements, and is not used
# in setup.py for install_requires.

%global modname mne

Name:           python-%{modname}
Version:        0.24.1
Release:        %autorelease
Summary:        Magnetoencephalography (MEG) and Electroencephalography (EEG) data analysis

# Bundled FieldTrip
# https://github.com/fieldtrip/fieldtrip/blob/master/realtime/src/buffer/python/FieldTrip.py
# Not possible to package because it is matlab package with some plugins

License:        BSD
URL:            http://martinos.org/mne/
Source0:        https://github.com/mne-tools/mne-python/archive/v%{version}/%{name}-%{version}.tar.gz
#Source1:        https://s3.amazonaws.com/mne-python/datasets/MNE-sample-data-processed.tar.gz
BuildArch:      noarch


%global _description %{expand:
This package is designed for sensor- and source-space analysis of M-EEG data,
including frequency-domain and time-frequency analyses and non-parametric
statistics.}

%description %_description

BuildRequires:  python3-devel

%package -n python3-%{modname}
Summary:        %{summary}

%{?python_provide:%python_provide python3-%{modname}}
Provides:       bundled(bootstrap)
Provides:       bundled(js-jquery)
Provides:       bundled(js-jquery-ui)
Provides:       bundled(js-d3)
Provides:       bundled(js-mpld3)
Provides:       bundled(python3-FieldTrip)
BuildRequires:  python3-setuptools
BuildRequires:  python3-numpy
BuildRequires:  python3-scipy

# Test deps
BuildRequires:  python3-pytest
BuildRequires:  python3-pytest-cov
BuildRequires:  python3-pytest-mock
BuildRequires:  python3-pytest-xdist
BuildRequires:  python3-pytest-timeout
BuildRequires:  python3-matplotlib
BuildRequires:  python3-pandas
BuildRequires:  python3-h5py
BuildRequires:  python3-decorator
BuildRequires:  python3-pymatreader
BuildRequires:  python3-h5io
BuildRequires:  python3-tempita
BuildRequires:  python3-scikit-learn
BuildRequires:  python3-Traits
BuildRequires:  python3-tqdm
BuildRequires:  python3-nibabel
BuildRequires:  python3-nilearn
BuildRequires:  python3-qt5
BuildRequires:  python3-dipy
BuildRequires:  python3-xlrd
BuildRequires:  python3-nitime

Requires:       python3-matplotlib
Requires:       python3-decorator
Requires:       python3-h5io
Requires:       python3-six
Requires:       python3-tempita
Requires:       python3-tqdm
Requires:       python3-pymatreader
Recommends:     python3-scikit-learn
Recommends:     python3-pandas
Recommends:     python3-patsy
Recommends:     python3-pillow
Recommends:     python3-h5py
Recommends:     python3-statsmodels
Recommends:     python3-Traits

# Should be included by the dep generator as they're mentioned in setup.py
# Requires:       python3-numpy
# Requires:       python3-scipy

%description -n python3-mne %_description

%prep
%autosetup -n mne-python-%{version}

%generate_buildrequires
%pyproject_buildrequires -r

pushd mne/externals/
  # Remove bundled six, tqdm, decorator, tempita, h5io
  # Save bundled FieldTrip (can't find upstream)
  rm -rf decorator.py doccer.py pymatreader/ tempita/ h5io/ tqdm/
  # Check that only {FieldTrip,__init__}.py remain
  [ $(find -maxdepth 1 -mindepth 1 | grep -v FieldTrip.py | grep -v __init__.py | wc -l) -eq 0 ] || exit 1
popd
# use all six/tqdm/decorator/h5io/pymatreader from system
# fix API change for jdjcal/jcal2jd
find -type f -name '*.py' -exec sed -i \
  -e "s/from mne.externals.six/from six/" \
  -e "s/from \.*externals.six/from six/" \
  -e "s/from mne.externals import six/import six/" \
  -e "s/from \.*externals import six/import six/" \
  -e "s/from \.*externals.decorator/from decorator/" \
  -e "s/from mne.externals.h5io/from h5io/" \
  -e "s/from \.*externals.h5io/from h5io/" \
  -e "s/from \.*externals.tempita/from tempita/" \
  -e "s/from \.*externals.pymatreader/from pymatreader/" \
  -e "s/from mne.externals.pymatreader/from pymatreader/" \
  -e "s/from \.*.externals.tqdm/from tqdm/" \
  -e "s/from mne.externals.tqdm/from tqdm/" \
  -e "s/from \.*externals import tqdm/import tqdm\n        from tqdm import auto/"\
  -e "s/from \.*externals.doccer/from scipy.misc.doccer/" \
  -e "s/jd2jcal(\(.*\))/jd2jcal(\1, 0)[:-1]/" \
  -e "s/(jcal2jd(\(.*\)))/(jcal2jd(\1)[-1])/" \
  {} ';'
sed -i -e "/mne\.externals\.[^']*/d" setup.py

sed -i -e '1{\@^#!/usr/bin/env python@d}' %{modname}/commands/*.py

#cp -p %{SOURCE1} .
#python -c "import mne; mne.datasets.sample.data_path(verbose=True, download=False)"

%build
%pyproject_wheel

%install
%pyproject_install
%pyproject_save_files mne

%check
%pytest
export MNE_SKIP_TESTING_DATASET_TESTS=true
export MNE_SKIP_NETWORK_TESTS=1
export MNE_DONTWRITE_HOME=true
export MNE_FORCE_SERIAL=true

export PYTHONPATH=%{buildroot}%{python3_sitearch}

# Deselected tests require additional data or don't work in mock
# Two deselected for sklearn warnings
# Tools directory ignored as it contains tests for upstream release process

pytest-%{python3_version}\
 --deselect mne/utils/tests/test_logging.py\
 --deselect mne/tests/test_report.py\
 --deselect mne/beamformer/tests/test_lcmv.py\
 --deselect mne/io/curry/tests/test_curry.py\
 --deselect mne/io/tests/test_meas_info.py\
 --deselect mne/tests/test_chpi.py\
 --deselect mne/viz/tests/test_topomap.py\
 --deselect mne/preprocessing/tests/test_peak_finder.py\
 --deselect mne/io/tests/test_constants.py\
 --deselect mne/datasets/tests/test_datasets.py\
 --ignore tools


%files -n python3-mne -f %{pyproject_files}
%license LICENSE.txt
%doc README.rst examples
%{_bindir}/%{modname}

%changelog
%autochangelog

* Mon Sep 13 2021 Aniket Pradhan <major AT fedoraproject DOT org> - 0.23.4-2
- Added unbundled dep (tqdm) to requires
- Added a test dependency

* Sat Sep 11 2021 Aniket Pradhan <major AT fedoraproject DOT org> - 0.23.4-1
- Update to v0.23.4
- Fix test tolerances for ARM arch

* Mon Aug 30 2021 Miro Hrončok <mhroncok@redhat.com> - 0.23.3-1
- Update to 0.23.3
- Remove unused dependency on funcsigs
- Fixes: rhbz#1945960
- Fixes: rhbz#1914283

* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.22.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild

* Fri Jun 04 2021 Python Maint <python-maint@redhat.com> - 0.22.0-3
- Rebuilt for Python 3.10

* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.22.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild

* Wed Dec 30 2020 Aniket Pradhan <major AT fedoraproject DOT org> - 0.22.0-1
- Update to v0.22.0
- Fix tests for s390x arch

* Sat Nov 07 2020 Aniket Pradhan <major AT fedoraproject DOT org> - 0.21.2-1
- Update to v0.21.2
- enable test: mne/preprocessing/tests/test_xdawn.py. Fixed upstream

* Sat Nov 07 2020 Aniket Pradhan <major AT fedoraproject DOT org> - 0.21.1-1
- Update to v0.21.1
- Fix tqdm imports
- Temporarily disable test: mne/preprocessing/tests/test_xdawn.py

* Sat Aug 01 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.20.7-3
- Second attempt - Rebuilt for
  https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild

* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.20.7-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild

* Sun Jun 21 2020 Ankur Sinha <ankursinha AT fedoraproject DOT org> - 0.20.7-1
- Update to 0.20.7

* Tue Jun 02 2020 Ankur Sinha <ankursinha AT fedoraproject DOT org> - 0.20.4-2
- Deselect failing tests: test_scalar, test_get_coef
- https://github.com/mne-tools/mne-python/issues/7860

* Tue May 26 2020 Miro Hrončok <mhroncok@redhat.com> - 0.20.4-2
- Rebuilt for Python 3.9

* Sat Apr 04 2020 Aniket Pradhan <major AT fedoraproject DOT org> - 0.20.4-1
- Update to v0.20.4
- Fix dependencies (removed jdcal, added tqdm and others)
- Deselected tests that require additional data

* Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.19.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild

* Mon Nov 11 2019 Aniket Pradhan <major AT fedoraproject DOT org> - 0.19.1-1
- Update to v0.19.1

* Thu Oct 10 2019 Ankur Sinha <ankursinha AT fedoraproject DOT org> - 0.19.0-1
- Update to new upstream release

* Mon Aug 19 2019 Miro Hrončok <mhroncok@redhat.com> - 0.18.1-3
- Rebuilt for Python 3.8

* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.18.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild

* Tue May 28 2019 Ankur Sinha <ankursinha AT fedoraproject DOT org> - 0.18.1-1
- Update to 0.18.1 (rbhz 1695469)
- Use dep generator
- Remove bundled doccer
- Remove missing AUTHORS file

* Fri Feb 22 2019 Manas Mangaonkar <pac23 AT fedoraproject DOT org> - 0.17.1-1
- Update to latest release

* Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.17-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild

* Tue Nov 20 2018 Ankur Sinha <ankursinha AT fedoraproject DOT org> - 0.17-1
- Update to latest release
- Use system funcsigs and pymatreader

* Wed Oct 17 2018 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 0.13.1-9
- Subpackage python2-mne has been removed
  See https://fedoraproject.org/wiki/Changes/Mass_Python_2_Package_Removal

* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.13.1-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild

* Tue Jun 19 2018 Miro Hrončok <mhroncok@redhat.com> - 0.13.1-7
- Rebuilt for Python 3.7

* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.13.1-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild

* Thu Jan 25 2018 Iryna Shcherbina <ishcherb@redhat.com> - 0.13.1-5
- Update Python 2 dependency declarations to new packaging standards
  (See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3)

* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.13.1-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild

* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.13.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild

* Mon Dec 19 2016 Miro Hrončok <mhroncok@redhat.com> - 0.13.1-2
- Rebuild for Python 3.6

* Tue Nov 29 2016 Igor Gnatenko <i.gnatenko.brain@gmail.com> - 0.13.1-1
- Update to 0.13.1

* Mon Sep 26 2016 Dominik Mierzejewski <rpm@greysector.net> - 0.10-8
- rebuilt for matplotlib-2.0.0

* Tue Jul 19 2016 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.10-7
- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages

* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 0.10-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild

* Sun Nov 29 2015 Igor Gnatenko <i.gnatenko.brain@gmail.com> - 0.10-5
- Rebuild for fixed scipy

* Wed Nov 11 2015 Igor Gnatenko <i.gnatenko.brain@gmail.com> - 0.10-4
- Fix non-executable-script

* Mon Nov 09 2015 Igor Gnatenko <i.gnatenko.brain@gmail.com> - 0.10-3
- Fix unbundling jdcal

* Sun Nov 08 2015 Igor Gnatenko <i.gnatenko.brain@gmail.com> - 0.10-2
- /usr/bin/mne uses python3
- fix dependencies around Traits (add py3 version)
- unbundle jdcal/six/decorator/tempita/h5io
- add Provides: bundled(pythonX-FieldTrip)
- More better Summary

* Fri Oct 30 2015 Igor Gnatenko <i.gnatenko.brain@gmail.com> - 0.10-1
- Initial package

Hello @ankursinha

working on: https://bugzilla.redhat.com/show_bug.cgi?id=2027058
and it seems already up-to-date with the latest release

Ah, looks like @music just updated it last week:

https://src.fedoraproject.org/rpms/python-matplotlib-scalebar/commits/rawhide

@music: i dont see builds for 0.8.0 yet. Would you like @vanessakris to do
that bit (and push updates for f34/35?)?

--
Thanks,

Ankur

(Sent from mobile device)

Ah, looks like @music just updated it last week:

https://src.fedoraproject.org/rpms/python-matplotlib-scalebar/commits/rawhide

@music: i dont see builds for 0.8.0 yet. Would you like @vanessakris to do
that bit (and push updates for f34/35?)?

--
Thanks,

Ankur

(Sent from mobile device)

oops, created a build already.
Hope that's not trouble

No, not a problem at all (only if a package ends up in the repos and with
users are bits hard to fix, until then pretty much everything can be undone
if required)

--
Thanks,

Ankur

(Sent from mobile device)

Ah, looks like @music just updated it last week:

https://src.fedoraproject.org/rpms/python-matplotlib-scalebar/commits/rawhide

@music: i dont see builds for 0.8.0 yet. Would you like @vanessakris to do
that bit (and push updates for f34/35?)?

--
Thanks,

Ankur

(Sent from mobile device)

oops, created a build already.
Hope that's not trouble

It’s weird that I didn’t do it at the time—I certainly meant to. Thanks for taking care of it!

I made some updates to the specFile and now got
error: Dependency tokens must begin with alpha-numeric, '_' or '/': ~/build/BUILD/mne-python-0.24.1/mne/externals ~/build/BUILD/mne-python-0.24.1

Hrm, I think there's an error in their setup.py that we'll need to look into.
So, leave this one for the time being and we'll come back to it later.

Otherwise, how are you feeling about these tasks and the package update process? Do you think you understand it well enough? :)

I made some updates to the specFile and now got
error: Dependency tokens must begin with alpha-numeric, '_' or '/': ~/build/BUILD/mne-python-0.24.1/mne/externals ~/build/BUILD/mne-python-0.24.1

Hrm, I think there's an error in their setup.py that we'll need to look into.
So, leave this one for the time being and we'll come back to it later.

Otherwise, how are you feeling about these tasks and the package update process? Do you think you understand it well enough? :)

Yes :D, i get better at it every time i handle a task. The process gets better and better, I am even able to update some of the SpecFiles to use the %pyproject macros :D. It's challenging and interesting as well. I even wrote a little article about updating packages for the Fedora system in my journal XD

That's excellent to hear. The idea is to give you plenty of practice, so we'll keep finding such simple tasks for you to work on first before going on to more complex ones.

I think you need to write a community blog post about your progress too---how's that coming along? If you run low on time, give that priority, since that's one for the Fedora Outreachy co-ordinators.

That's excellent to hear. The idea is to give you plenty of practice, so we'll keep finding such simple tasks for you to work on first before going on to more complex ones.

I think you need to write a community blog post about your progress too---how's that coming along? If you run low on time, give that priority, since that's one for the Fedora Outreachy co-ordinators.

Hello @ankursinha I have written the community blog post and submitted for review, I wasn't too sure about the required content but i did a summary of my process since i joined the Fedora community.

Great, that should be fine! We look forward to reading it on the blog :)

--
Thanks,

Ankur

(Sent from mobile device)

hello @ankursinha

working on https://bugzilla.redhat.com/show_bug.cgi?id=1996270

and i get build error

Error: 
 Problem: nothing provides requested (python3dist(formulaic) >= 0.2.4 with python3dist(formulaic) < 0.3)
(try to add '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)

specfile:

# Lots of tests fail, even in a clean pip environment
%bcond_with tests

%global _description %{expand: \
PyBIDS is a Python module to interface with datasets conforming BIDS.
}

%global srcname     pybids

Name:       python-%{srcname}
Version:    0.14.0
Release:    %autorelease
Summary:    Interface with datasets conforming to BIDS

License:    MIT
URL:        http://bids.neuroimaging.io
Source0:    https://github.com/INCF/%{srcname}/archive/%{version}/%{srcname}-%{version}.tar.gz

BuildArch:      noarch
BuildRequires:  python3-devel

%description %_description

%package -n python3-%{srcname}
Summary:    Interface with datasets conforming to BIDS
BuildRequires:  %{py3_dist setuptools}
BuildRequires:  %{py3_dist pytest}
BuildRequires:  %{py3_dist matplotlib}
BuildRequires:  %{py3_dist grabbit} >= 0.2.5
BuildRequires:  %{py3_dist num2words}
BuildRequires:  %{py3_dist duecredit}
BuildRequires:  %{py3_dist nibabel}
BuildRequires:  %{py3_dist patsy}
BuildRequires:  %{py3_dist bids-validator}
BuildRequires:  %{py3_dist scipy}
BuildRequires:  %{py3_dist sqlalchemy}

%description -n python3-%{srcname} %_description

%package doc
Summary:    Interface with datasets conforming to BIDS
BuildRequires:  %{py3_dist sphinx}
BuildRequires:  %{py3_dist sphinx_rtd_theme}
BuildRequires:  %{py3_dist m2r}
BuildRequires:  %{py3_dist numpydoc}

%description doc
Description for %{name}.

%prep
%autosetup -n %{srcname}-%{version}
%generate_buildrequires
%pyproject_buildrequires -r

# stray backup file?
rm -rf *.egg-info

# Remove bundled six and inflect
rm -rf bids/external

#pushd bids
#    sed -ibackup 's/from.*external import/import/' layout/{layout,index,models}.py utils.py
#popd


%build
%pyproject_wheel

pushd doc && \
    PYTHONPATH=.. sphinx-build-3 . html
    rm -fv .buildinfo
popd


%install
%pyproject_install
%pyproject_save_files pybids

%check
%if %{with tests}
PYTHONPATH=. %{pytest} -s -v -k-test_split .
%endif

%files -n python3-%{srcname} -f %{pyproject_files}
%doc README.md
%license LICENSE
%{_bindir}/pybids
%{python3_sitelib}/%{srcname}-%{version}-py%{python3_version}.egg-info
%{python3_sitelib}/bids/

%files doc
%doc examples/ doc/html
%license LICENSE

%changelog
%autochangelog

* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.13.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild

* Fri Jun 04 2021 Python Maint <python-maint@redhat.com> - 0.13.1-2
- Rebuilt for Python 3.10

* Sat May 22 2021 Ankur Sinha <ankursinha AT fedoraproject DOT org> - 0.13.1-1
- Update to latest release

* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.12.4-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild

* Sat Nov 28 2020 Ankur Sinha <ankursinha AT fedoraproject DOT org> - 0.12.4-1
- Update to 0.12.4

* Sun Sep 13 2020 Ankur Sinha <ankursinha AT fedoraproject DOT org> - 0.12.1-1
- Update to new release

* Fri Sep 04 2020 Ankur Sinha <ankursinha AT fedoraproject DOT org> - 0.12.0-1
- Update to 0.12.0

* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.10.2-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild

* Tue May 26 2020 Miro Hrončok <mhroncok@redhat.com> - 0.10.2-2
- Rebuilt for Python 3.9

* Tue Apr 21 2020 Ankur Sinha <ankursinha AT fedoraproject DOT org> - 0.10.2-1
- Update to 0.10.2

* Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.10.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild

* Thu Dec 12 2019 Aniket Pradhan <major@fedoraproject.org> - 0.10.0-1
- Bumped to v0.10.0

* Tue Oct 1 2019 Aniket Pradhan <major@fedoraproject.org> - 0.9.4-1
- Bumped to v0.9.4

* Thu Aug 22 2019 Aniket Pradhan <aniket17133@iiitd.ac.in> - 0.9.3-1
- Bumped to v0.9.3

* Mon Aug 19 2019 Miro Hrončok <mhroncok@redhat.com> - 0.9.1-3
- Rebuilt for Python 3.8

* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild

* Mon May 27 2019 Ankur Sinha <ankursinha AT fedoraproject DOT org> - 0.9.1-1
- Update to 0.9.1

* Mon Apr 08 2019 Ankur Sinha <ankursinha AT fedoraproject DOT org> - 0.8.0-1
- Update the latest release
- Drop dropped grabbit dep
- Add new BR: python-bids-validator: requires review: 1697498
- Unbundle new bundled libs

* Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.6.5-3.gite35ced6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild

* Mon Nov 12 2018 Ankur Sinha <ankursinha AT fedoraproject DOT org> - 0.6.5-2.gite35ced6
- Use bconds

* Wed Nov 07 2018 Ankur Sinha <ankursinha AT fedoraproject DOT org> - 0.6.5-1.gite35ced6
- Use latest git snapshot that fixes tests
- Add documentation and examples in subpackage

* Wed Nov 07 2018 Ankur Sinha <ankursinha AT fedoraproject DOT org> - 0.6.3-2
- Enable tests now that duecredit is available in rawhide
- Disable py2 build since python-nibabel is only py3 even in F29

* Fri Jul 20 2018 Ankur Sinha <ankursinha AT fedoraproject DOT org> - 0.6.3-1
- Update to latest release
- Use py.test
- Disable tests until nibabel is fixed

* Mon Jan 15 2018 Ankur Sinha <ankursinha AT fedoraproject DOT org> - 0.4.2-2
- Use github source for license and test suite
- Fix requires and build requires

* Fri Jan 12 2018 Ankur Sinha <ankursinha AT fedoraproject DOT org> - 0.4.2-1
- Initial build

Hello @ankursinha

working on https://bugzilla.redhat.com/show_bug.cgi?id=2020096

i get error

error: /tmp/rpkg-rpmautospecoceffbd6/python-nixio.spec: line 167: Macro % has illegal name (%global)
  0<  (%global)
- Remove useless 
Could not execute mockbuild: Failed to execute command.

Specfile:

%global forgeurl    https://github.com/G-node/nixpy

Name:       python-nixio
Version:    1.5.2
Release:    %autorelease
Summary:    Python bindings for NIX

%global     tag     %version
%forgemeta

License:    BSD
URL:        %forgeurl
Source0:    %forgesource
# The tagged snapshot on GitHub still says "dev" but the manually uploaded
# release does not, so use the info.json from there
# https://github.com/G-Node/nixpy/issues/528
Source1:    info.json


BuildArch:      noarch
# No need for nix, they're uncoupling it from the C++
# https://github.com/G-Node/nixpy/pull/276

%description
The NIX project started as an initiative within the Electrophysiology Task
Force a part of the INCF Data sharing Program. The NIX data model allows to
store fully annotated scientific data-set, i.e. the data together with its
metadata within the same container. Our aim is to achieve standardization by
providing a common/generic data structure for a multitude of data types. See
the wiki for more information

The current implementations store the actual data using the HDF5 file format as
a storage backend.

%package -n python3-nixio
Summary:        %{summary}
BuildRequires:  python3-devel
BuildRequires:  gcc
# use tests_require which is deprecated
BuildRequires:  %{py3_dist pytest}
BuildRequires:  %{py3_dist pytest-runner}
BuildRequires:  %{py3_dist scipy}
BuildRequires:  %{py3_dist pillow}
BuildRequires:  %{py3_dist matplotlib}

%description -n python3-nixio
%{description}

%package doc
Summary:        %{summary}
BuildRequires:  python3-sphinx
BuildRequires:  python3-sphinx_rtd_theme

%description doc
Documentation files for %{name}.

%prep
%forgesetup

# it sets examples_path based on the name of the cwd
sed -i "s/nixpy/nixpy-%{version}/" nixio/test/test_doc_examples.py

cp %{SOURCE1} nixio/info.json -v -p

%generate_buildrequires
%pyproject_buildrequires -r

%build
%pyproject_wheel

PYTHONPATH=. sphinx-build-3 docs/source html
# Remove unneeded files
rm -fr html/.{buildinfo,doctrees}

# Remove shebang from documentation examples
for f in html/_downloads/*/*.py; do
    sed '1{\@^#!/usr/bin/env python@d}' $f > $f.new &&
    touch -r $f $f.new &&
    mv $f.new $f
done

%install
%pyproject_install
%pyproject_save_files nixio

%check
%{pytest}

%files -n python3-nixio -f %{pyproject_files}
%{_bindir}/nixio

%files doc
%doc README.rst html
%license LICENSE

%changelog
%autochangelog

* Sun Oct 03 2021 Ankur Sinha <ankursinha AT fedoraproject DOT org> - 1.5.1-1
- Update to latest release

* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.9-14
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild

* Fri Jun 04 2021 Python Maint <python-maint@redhat.com> - 1.4.9-13
- Rebuilt for Python 3.10

* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.9-12
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild

* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.9-11
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild

* Thu Jun 25 2020 Ankur Sinha <ankursinha AT fedoraproject DOT org> - 1.4.9-10
- Explicitly BR setuptools

* Tue May 26 2020 Miro Hrončok <mhroncok@redhat.com> - 1.4.9-9
- Rebuilt for Python 3.9

* Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.9-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild

* Thu Oct 03 2019 Miro Hrončok <mhroncok@redhat.com> - 1.4.9-7
- Rebuilt for Python 3.8.0rc1 (#1748018)

* Mon Aug 19 2019 Miro Hrončok <mhroncok@redhat.com> - 1.4.9-6
- Rebuilt for Python 3.8

* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.9-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild

* Wed Jul 10 2019 Ankur Sinha <ankursinha AT fedoraproject DOT org> - 1.4.9-4
- Fix build: rhbz 1706159

* Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.9-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild

* Tue Jan 15 2019 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 1.4.9-2
- Enable python dependency generator

* Sat Jan 12 2019 Ankur Sinha <ankursinha AT fedoraproject DOT org> - 1.4.9-1
- Update to 1.4.9

* Thu Oct 18 2018 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 1.4.6-2
- Subpackage python2-nixio has been removed
  See https://fedoraproject.org/wiki/Changes/Mass_Python_2_Package_Removal

* Wed Jul 18 2018 Ankur Sinha <ankursinha AT fedoraproject DOT org> - 1.4.6-1
- Update to 1.4.6

* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.5-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild

* Tue Jun 19 2018 Miro Hrončok <mhroncok@redhat.com> - 1.4.5-2
- Rebuilt for Python 3.7

* Sat Jun 09 2018 Ankur Sinha <ankursinha AT fedoraproject DOT org> - 1.4.5-1
- Update to latest upstream release

* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.3-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild

* Sun Jan 21 2018 Ankur Sinha <ankursinha AT fedoraproject DOT org> - 1.4.3-1
- Use newer release and GitHub sources
- Run tests
- Define summary macro
- Add doc sub package

* Fri Jan 12 2018 Ankur Sinha <ankursinha AT fedoraproject DOT org> - 1.4.2-1
- Initial build
- use pydist macro

hello @ankursinha

working on https://bugzilla.redhat.com/show_bug.cgi?id=1996270

and i get build error

Error: Problem: nothing provides requested (python3dist(formulaic) >= 0.2.4 with python3dist(formulaic) < 0.3) (try to add '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)

Looks like the new release has added a new dependency, so we'll have to package that.
I've opened a ticket for us now: #498

(this is one advantage of the automatic dependency generator---it'll catch new deps that we may miss when checking manually).

Leave this one for the time being too. We'll look at formulaic and see how it is to package, and then get back to this update. In the meantime, please do drop a comment on the bug with a link to #498 so folks know we are working on it.

Hello @ankursinha

working on https://bugzilla.redhat.com/show_bug.cgi?id=2020096

i get error

error: /tmp/rpkg-rpmautospecoceffbd6/python-nixio.spec: line 167: Macro % has illegal name (%global) 0< (%global) - Remove useless Could not execute mockbuild: Failed to execute command.

Ah, yeh, I know about this one. Unfortunately, rpmautospec (which does the autochangelog etc.) does not deal with macros in comments well.
So, if you look at the git history of nixio, you'll see there's a commit that contains %global in its comment, and rpmautospec can't currently deal with that.
So we can't use autorelease and autochangelog in this particular package until this is fixed.

Here is the issue:
https://pagure.io/fedora-infra/rpmautospec/issue/224

I also filed a pull request that I think will fix this, but it hasn't been reviewed + merged yet:
https://pagure.io/fedora-infra/rpmautospec/pull-request/234

I also recently realised that there's a correct way of moving existing packages to rpmautospec:

https://docs.pagure.org/fedora-infra.rpmautospec/opting-in.html#for-existing-packages

So, it isn't enough to just use the macros, there needs to be a special commit that moves the changelog to a different file etc. Do take a look.

I also recently realised that there's a correct way of moving existing packages to rpmautospec:

https://docs.pagure.org/fedora-infra.rpmautospec/opting-in.html#for-existing-packages

So, it isn't enough to just use the macros, there needs to be a special commit that moves the changelog to a different file etc. Do take a look.

Wow this is great i've been trying to do it all wrong XD

Hrm, it cant find pip. Maybe something changed in rawhide. You can add
python3-pip as a buildrequires and that should fix that one

--
Thanks,

Ankur

(Sent from mobile device)

I made some updates to the specFile and now got
error: Dependency tokens must begin with alpha-numeric, '_' or '/': ~/build/BUILD/mne-python-0.24.1/mne/externals ~/build/BUILD/mne-python-0.24.1 Wrote: /builddir/build/SRPMS/python-mne-0.24.1-1.fc36.src.rpm INFO: Going to install missing dynamic buildrequires No matches found for the following disable plugin patterns: local, spacewalk, versionlock usage: dnf builddep [-c [config file]] [-q] [-v] [--version] [--installroot [path]] [--nodocs] [--noplugins] [--enableplugin [plugin]] [--disableplugin [plugin]] [--releasever RELEASEVER] [--setopt SETOPTS] [--skip-broken] [-h] [--allowerasing] [-b | --nobest] [-C] [-R [minutes]] [-d [debug level]] [--debugsolver] [--showduplicates] [-e ERRORLEVEL] [--obsoletes] [--rpmverbosity [debug level name]] [-y] [--assumeno] [--enablerepo [repo]] [--disablerepo [repo] | --repo [repo]] [--enable | --disable] [-x [package]] [--disableexcludes [repo]] [--repofrompath [repo,path]] [--noautoremove] [--nogpgcheck] [--color COLOR] [--refresh] [-4] [-6] [--destdir DESTDIR] [--downloadonly] [--comment COMMENT] [--bugfix] [--enhancement] [--newpackage] [--security] [--advisory ADVISORY] [--bz BUGZILLA] [--cve CVES] [--sec-severity {Critical,Important,Moderate,Low}] [--forcearch ARCH] [-D 'MACRO EXPR'] [--skip-unavailable] [--spec | --srpm] package [package ...] dnf builddep: error: the following arguments are required: package Finish: rpmbuild python-mne-0.24.1-1.fc36.src.rpm Finish: build phase for python-mne-0.24.1-1.fc36.src.rpm ERROR: Exception(/home/vanessa/Desktop/packages/python-mne/python-mne-0.24.1-1.fc36.src.rpm) Config(fedora-rawhide-x86_64) 8 minutes 23 seconds

SpecFile:
```

setup.py does not list all requirements, and we also unbundle quite a few

from the externals folder, so we can't only rely on the automatic generator

here.

Additionally, requirements.txt seems to be dev requirements, and is not used

in setup.py for install_requires.

%global modname mne

Name: python-%{modname}
Version: 0.24.1
Release: %autorelease
Summary: Magnetoencephalography (MEG) and Electroencephalography (EEG) data analysis

Bundled FieldTrip

https://github.com/fieldtrip/fieldtrip/blob/master/realtime/src/buffer/python/FieldTrip.py

Not possible to package because it is matlab package with some plugins

License: BSD
URL: http://martinos.org/mne/
Source0: https://github.com/mne-tools/mne-python/archive/v%{version}/%{name}-%{version}.tar.gz

Source1: https://s3.amazonaws.com/mne-python/datasets/MNE-sample-data-processed.tar.gz

BuildArch: noarch

%global _description %{expand:
This package is designed for sensor- and source-space analysis of M-EEG data,
including frequency-domain and time-frequency analyses and non-parametric
statistics.}

%description %_description

BuildRequires: python3-devel

%package -n python3-%{modname}
Summary: %{summary}

%{?python_provide:%python_provide python3-%{modname}}
Provides: bundled(bootstrap)
Provides: bundled(js-jquery)
Provides: bundled(js-jquery-ui)
Provides: bundled(js-d3)
Provides: bundled(js-mpld3)
Provides: bundled(python3-FieldTrip)
BuildRequires: python3-setuptools
BuildRequires: python3-numpy
BuildRequires: python3-scipy

Test deps

BuildRequires: python3-pytest
BuildRequires: python3-pytest-cov
BuildRequires: python3-pytest-mock
BuildRequires: python3-pytest-xdist
BuildRequires: python3-pytest-timeout
BuildRequires: python3-matplotlib
BuildRequires: python3-pandas
BuildRequires: python3-h5py
BuildRequires: python3-decorator
BuildRequires: python3-pymatreader
BuildRequires: python3-h5io
BuildRequires: python3-tempita
BuildRequires: python3-scikit-learn
BuildRequires: python3-Traits
BuildRequires: python3-tqdm
BuildRequires: python3-nibabel
BuildRequires: python3-nilearn
BuildRequires: python3-qt5
BuildRequires: python3-dipy
BuildRequires: python3-xlrd
BuildRequires: python3-nitime

Requires: python3-matplotlib
Requires: python3-decorator
Requires: python3-h5io
Requires: python3-six
Requires: python3-tempita
Requires: python3-tqdm
Requires: python3-pymatreader
Recommends: python3-scikit-learn
Recommends: python3-pandas
Recommends: python3-patsy
Recommends: python3-pillow
Recommends: python3-h5py
Recommends: python3-statsmodels
Recommends: python3-Traits

Should be included by the dep generator as they're mentioned in setup.py

Requires: python3-numpy

Requires: python3-scipy

%description -n python3-mne %_description

%prep
%autosetup -n mne-python-%{version}

%generate_buildrequires
%pyproject_buildrequires -r

pushd mne/externals/

Remove bundled six, tqdm, decorator, tempita, h5io

Save bundled FieldTrip (can't find upstream)

rm -rf decorator.py doccer.py pymatreader/ tempita/ h5io/ tqdm/

Check that only {FieldTrip,init}.py remain

[ $(find -maxdepth 1 -mindepth 1 | grep -v FieldTrip.py | grep -v init.py | wc -l) -eq 0 ] || exit 1
popd

use all six/tqdm/decorator/h5io/pymatreader from system

fix API change for jdjcal/jcal2jd

find -type f -name '.py' -exec sed -i \
-e "s/from mne.externals.six/from six/" \
-e "s/from .
externals.six/from six/" \
-e "s/from mne.externals import six/import six/" \
-e "s/from .externals import six/import six/" \
-e "s/from .
externals.decorator/from decorator/" \
-e "s/from mne.externals.h5io/from h5io/" \
-e "s/from .externals.h5io/from h5io/" \
-e "s/from .
externals.tempita/from tempita/" \
-e "s/from .externals.pymatreader/from pymatreader/" \
-e "s/from mne.externals.pymatreader/from pymatreader/" \
-e "s/from .
.externals.tqdm/from tqdm/" \
-e "s/from mne.externals.tqdm/from tqdm/" \
-e "s/from .externals import tqdm/import tqdm\n from tqdm import auto/"\
-e "s/from .
externals.doccer/from scipy.misc.doccer/" \
-e "s/jd2jcal((.))/jd2jcal(\1, 0)[:-1]/" \
-e "s/(jcal2jd((.
)))/(jcal2jd(\1)[-1])/" \
{} ';'
sed -i -e "/mne.externals.[^']*/d" setup.py

sed -i -e '1{\@^#!/usr/bin/env python@d}' %{modname}/commands/*.py

cp -p %{SOURCE1} .

python -c "import mne; mne.datasets.sample.data_path(verbose=True, download=False)"

%build
%pyproject_wheel

%install
%pyproject_install
%pyproject_save_files mne

%check
%pytest
export MNE_SKIP_TESTING_DATASET_TESTS=true
export MNE_SKIP_NETWORK_TESTS=1
export MNE_DONTWRITE_HOME=true
export MNE_FORCE_SERIAL=true

export PYTHONPATH=%{buildroot}%{python3_sitearch}

Deselected tests require additional data or don't work in mock

Two deselected for sklearn warnings

Tools directory ignored as it contains tests for upstream release process

pytest-%{python3_version}\
--deselect mne/utils/tests/test_logging.py\
--deselect mne/tests/test_report.py\
--deselect mne/beamformer/tests/test_lcmv.py\
--deselect mne/io/curry/tests/test_curry.py\
--deselect mne/io/tests/test_meas_info.py\
--deselect mne/tests/test_chpi.py\
--deselect mne/viz/tests/test_topomap.py\
--deselect mne/preprocessing/tests/test_peak_finder.py\
--deselect mne/io/tests/test_constants.py\
--deselect mne/datasets/tests/test_datasets.py\
--ignore tools

%files -n python3-mne -f %{pyproject_files}
%license LICENSE.txt
%doc README.rst examples
%{_bindir}/%{modname}

%changelog
%autochangelog

hello @ankursinha

updated the spec file of https://bugzilla.redhat.com/show_bug.cgi?id=2020066

# setup.py does not list all requirements, and we also unbundle quite a few
# from the externals folder, so we can't only rely on the automatic generator
# here.
# Additionally, requirements.txt seems to be dev requirements, and is not used
# in setup.py for install_requires.

%global modname mne

Name:           python-%{modname}
Version:        0.24.1
Release:        %autorelease
Summary:        Magnetoencephalography (MEG) and Electroencephalography (EEG) data analysis

# Bundled FieldTrip
# https://github.com/fieldtrip/fieldtrip/blob/master/realtime/src/buffer/python/FieldTrip.py
# Not possible to package because it is matlab package with some plugins

License:        BSD
URL:            http://martinos.org/mne/
Source0:        https://github.com/mne-tools/mne-python/archive/v%{version}/%{name}-%{version}.tar.gz
#Source1:        https://s3.amazonaws.com/mne-python/datasets/MNE-sample-data-processed.tar.gz
BuildArch:      noarch
BuildRequires:  python3-devel

%global _description %{expand:
This package is designed for sensor- and source-space analysis of M-EEG data,
including frequency-domain and time-frequency analyses and non-parametric
statistics.}

%description %_description

%package -n python3-%{modname}
Summary:        %{summary}
%{?python_provide:%python_provide python3-%{modname}}
Provides:       bundled(bootstrap)
Provides:       bundled(js-jquery)
Provides:       bundled(js-jquery-ui)
Provides:       bundled(js-d3)
Provides:       bundled(js-mpld3)
Provides:       bundled(python3-FieldTrip)
BuildRequires:  python3-setuptools
BuildRequires:  python3-numpy
BuildRequires:  python3-scipy

# Test deps
BuildRequires:  python3-pytest
BuildRequires:  python3-pytest-cov
BuildRequires:  python3-pytest-mock
BuildRequires:  python3-pytest-xdist
BuildRequires:  python3-pytest-timeout
BuildRequires:  python3-matplotlib
BuildRequires:  python3-pandas
BuildRequires:  python3-h5py
BuildRequires:  python3-decorator
BuildRequires:  python3-pymatreader
BuildRequires:  python3-h5io
BuildRequires:  python3-tempita
BuildRequires:  python3-scikit-learn
BuildRequires:  python3-Traits
BuildRequires:  python3-tqdm
BuildRequires:  python3-nibabel
BuildRequires:  python3-nilearn
BuildRequires:  python3-qt5
BuildRequires:  python3-dipy
BuildRequires:  python3-xlrd
BuildRequires:  python3-nitime

Requires:       python3-matplotlib
Requires:       python3-decorator
Requires:       python3-h5io
Requires:       python3-six
Requires:       python3-tempita
Requires:       python3-tqdm
Requires:       python3-pymatreader
Recommends:     python3-scikit-learn
Recommends:     python3-pandas
Recommends:     python3-patsy
Recommends:     python3-pillow
Recommends:     python3-h5py
Recommends:     python3-statsmodels
Recommends:     python3-Traits

# Should be included by the dep generator as they're mentioned in setup.py
# Requires:       python3-numpy
# Requires:       python3-scipy

%description -n python3-%{modname} %_description

%prep
%autosetup -n %{modname}-python-%{version}

%generate_buildrequires
%pyproject_buildrequires -r

#pushd %{modname}/externals/
  # Remove bundled six, tqdm, decorator, tempita, h5io
  # Save bundled FieldTrip (can't find upstream)
  #rm -rf decorator.py doccer.py pymatreader/ tempita/ h5io/ tqdm/
  # Check that only {FieldTrip,__init__}.py remain
  #[ $(find -maxdepth 1 -mindepth 1 | grep -v FieldTrip.py | grep -v __init__.py | wc -l) -eq 0 ] || exit 1
#popd
# use all six/tqdm/decorator/h5io/pymatreader from system
# fix API change for jdjcal/jcal2jd
find -type f -name '*.py' -exec sed -i \
  -e "s/from mne.externals.six/from six/" \
  -e "s/from \.*externals.six/from six/" \
  -e "s/from mne.externals import six/import six/" \
  -e "s/from \.*externals import six/import six/" \
  -e "s/from \.*externals.decorator/from decorator/" \
  -e "s/from mne.externals.h5io/from h5io/" \
  -e "s/from \.*externals.h5io/from h5io/" \
  -e "s/from \.*externals.tempita/from tempita/" \
  -e "s/from \.*externals.pymatreader/from pymatreader/" \
  -e "s/from mne.externals.pymatreader/from pymatreader/" \
  -e "s/from \.*.externals.tqdm/from tqdm/" \
  -e "s/from mne.externals.tqdm/from tqdm/" \
  -e "s/from \.*externals import tqdm/import tqdm\n        from tqdm import auto/"\
  -e "s/from \.*externals.doccer/from scipy.misc.doccer/" \
  -e "s/jd2jcal(\(.*\))/jd2jcal(\1, 0)[:-1]/" \
  -e "s/(jcal2jd(\(.*\)))/(jcal2jd(\1)[-1])/" \
  {} ';'
sed -i -e "/mne\.externals\.[^']*/d" setup.py

sed -i -e '1{\@^#!/usr/bin/env python@d}' %{modname}/commands/*.py

#cp -p %{SOURCE1} .
#python -c "import mne; mne.datasets.sample.data_path(verbose=True, download=False)"

%build
%pyproject_wheel

%install
%pyproject_install
%pyproject_save_files mne

%check
export MNE_SKIP_TESTING_DATASET_TESTS=true
export MNE_SKIP_NETWORK_TESTS=1
export MNE_DONTWRITE_HOME=true
export MNE_FORCE_SERIAL=true

export PYTHONPATH=%{buildroot}%{python3_sitearch}

# Deselected tests require additional data or don't work in mock
# Two deselected for sklearn warnings
# Tools directory ignored as it contains tests for upstream release process

pytest-%{python3_version}\
 --deselect mne/utils/tests/test_logging.py\
 --deselect mne/tests/test_report.py\
 --deselect mne/beamformer/tests/test_lcmv.py\
 --deselect mne/io/curry/tests/test_curry.py\
 --deselect mne/io/tests/test_meas_info.py\
 --deselect mne/tests/test_chpi.py\
 --deselect mne/viz/tests/test_topomap.py\
 --deselect mne/preprocessing/tests/test_peak_finder.py\
 --deselect mne/io/tests/test_constants.py\
 --deselect mne/datasets/tests/test_datasets.py\
 --ignore tools


%files -n python3-%{modname} -f %{pyproject_files}
%license LICENSE.txt
%doc README.rst examples
%{_bindir}/%{modname}

%changelog
%autochangelog

now getting error from %check section

=========================== short test summary info ============================
ERROR  - RuntimeError: For dataset downloading to work, the pooch module is n...
!!!!!!!!!!!!!!!!!!!! Interrupted: 1 error during collection !!!!!!!!!!!!!!!!!!!!
======================== 642 warnings, 1 error in 7.59s ========================
error: Bad exit status from /var/tmp/rpm-tmp.RrhDOh (%check)

For this one, the tests try to download some data from the internet. However, for Fedora builds, all the information required must be provided in the SRPM and nothing can be downloaded from the internet during the build (mock, and so koji does not allow this by default). So what we do here is disable any tests that try to download data (using --deselect in the pytest command). It looks like the new release added a new test that does this, so we also need to deselect that.

Does it provide the full test output (not just the short summary info)? that should tell us what tests this is. We also need to look at the 600 warnings to see what they're saying to make sure things are working correctly.

PS: you can attach your spec file here instead of pasting it or link to it in the pagure fork where you're working on it etc., that way comments will stay short and the ticket easier to follow

For the remainder of the week (ending Jan 02), you can just complete these tasks, so:

  • push builds and bodhi updates for nixio
  • complete python-mne update

We'll look at more tasks on 3rd for the new week.

Remember to note how much time each task takes you @vanessakris so that we can tweak our estimates for future tasks. For example, I underestimated the time these would take us, so we've taken 2 weeks instead of one on them. So I'll update my estimates based on your notes when we do the next task list :) .

For the remainder of the week (ending Jan 02), you can just complete these tasks, so:

  • push builds and bodhi updates for nixio
  • complete python-mne update

We'll look at more tasks on 3rd for the new week.

Remember to note how much time each task takes you @vanessakris so that we can tweak our estimates for future tasks. For example, I underestimated the time these would take us, so we've taken 2 weeks instead of one on them. So I'll update my estimates based on your notes when we do the next task list :) .

@ankursinha I'm sorry for not keeping track of time per task. XD i totally forgot to turn on the timer on these tasks as some where a little more challenging than the others. It was also exciting as i got the opportunity to research and learn more things i wasn't aware of and all these made me forget how much time i was spending on each task. But i will definitely not loose track of time hence-forth

@ankursinha please i wish to know if after submitting updates for package and test is passed if there is something still to be done. I ask because i saw this on PyLEMS f35 updates

How to install

sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2021-fcb7e544c0

@ankursinha please i wish to know if after submitting updates for package and test is passed if there is something still to be done. I ask because i saw this on PyLEMS f35 updates

How to install

sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2021-fcb7e544c0

This is for QA (Quality Assurance). The person that pushes the build doesn't usually provide karma. Other users do it, and that way the idea is to get as much testing as possible to confirm if the update is good or not. You can read about it here:

https://fedoraproject.org/wiki/QA:Updates_Testing

I've pushed updates for pynn and nest now, and I'll put those on your next list of tasks so you can also practice the QA bit. :thumbsup:

@ankursinha I'm sorry for not keeping track of time per task. XD i totally forgot to turn on the timer on these tasks as some where a little more challenging than the others. It was also exciting as i got the opportunity to research and learn more things i wasn't aware of and all these made me forget how much time i was spending on each task. But i will definitely not loose track of time hence-forth

No worries. Yeh, do keep track of the time you spend primarily because Outreachy requires you to work 30 hours a week and we want to be able to clearly show that you do this, in case it's ever required during assessments etc.

Hello @ankursinha here are the build logs for mne

build.log

Looks like it needs python-pooch, but that isn't packaged yet:

https://pypi.org/project/pooch/

https://github.com/fatiando/pooch

I'll take a look at mne in a few days to see what needs to be done here, in the meantime, you could work on packaging pooch instead of working on mne. Looks like a simple enough one. Assigned #499 to you now

hello @ankursinha

Working on python-pooch but the test require network access so it keeps failing
i have deselected the test_core.py

%pytest -m "test_core.py"

but build still fails can't find the error though
python-pooch.spec

I think you need to use pytest -k 'not test_core' to disable a test, check pytest --help for information on this. The -m one only works if you have "marked" a test.

Does it build without the test bit?

I think you need to use pytest -k 'not test_core' to disable a test, check pytest --help for information on this. The -m one only works if you have "marked" a test.

Does it build without the test bit?

yes @ankursinha it builds without the test bit
but when i lint the result package it shows 1 error and shows uncompressed zip which are the test files
but it builds successfully

OK, maybe submit it for review and we can look at the tests during the review then :thumbsup:

I opened a PR with some tweaks for pooch, should be good now, I'll run a full review once you've merged the PR and tested the build etc:

https://pagure.io/python-pooch/pull-request/1

I opened a PR with some tweaks for pooch, should be good now, I'll run a full review once you've merged the PR and tested the build etc:

https://pagure.io/python-pooch/pull-request/1

I opened a PR with some tweaks for pooch, should be good now, I'll run a full review once you've merged the PR and tested the build etc:

https://pagure.io/python-pooch/pull-request/1

Hello @ankursinha after merging the changes made to pooch, I tried building and had the error

10/site-packages/pooch/tests/test_core.py", line 16, in <module>
    import pytest
ModuleNotFoundError: No module named 'pytest'

At what step is it saying this? Pytest should be installed when we use
--with=network

--
Thanks,

Ankur

(Sent from mobile device)

At what step is it saying this? Pytest should be installed when we use
--with=network

--
Thanks,

Ankur

(Sent from mobile device)

Good morning @ankursinha
I didn't add the --with=network bit

just did now and it build completely
I have updated the bug ticket as well

OK, cool: but koji wont enable network during builds, so if pytest is
required for the build even without network access, just move its
BuildRequires outside the conditional so that it's always installed.

--
Thanks,

Ankur

(Sent from mobile device)

Heya, this week let's try these:

  • complete python-pooch packaging: 8 hours
  • the blog post (did you get the e-mail from outreachy?): 8 hours
  • test the nest/pynn update (this requires you to run test cases listed in the bodhi update): 8 hours
  • have you introduced yourself to the devel mailing list since you're now a package maintainer and so part of the developer community? You should also subscribe to it anyway: 4 hours

If time remains, let me know and we'll take up another task if we can :)

Heya, this week let's try these:

  • complete python-pooch packaging: 8 hours
  • the blog post (did you get the e-mail from outreachy?): 8 hours
  • test the nest/pynn update (this requires you to run test cases listed in the bodhi update): 8 hours
  • have you introduced yourself to the devel mailing list since you're now a package maintainer and so part of the developer community? You should also subscribe to it anyway: 4 hours

If time remains, let me know and we'll take up another task if we can :)

Thanks @ankursinha I'll get to work.

Heya, this week let's try these:

  • complete python-pooch packaging: 8 hours
  • the blog post (did you get the e-mail from outreachy?): 8 hours
  • test the nest/pynn update (this requires you to run test cases listed in the bodhi update): 8 hours
  • have you introduced yourself to the devel mailing list since you're now a package maintainer and so part of the developer community? You should also subscribe to it anyway: 4 hours

If time remains, let me know and we'll take up another task if we can :)

Thanks @ankursinha I'll get to work.

Hello @ankursinha

I'm trying to sign into the devel mailing list and my login credential is not recognized, i tried signing in but it specifies my email is already linked to an account.

OK, cool: but koji wont enable network during builds, so if pytest is
required for the build even without network access, just move its
BuildRequires outside the conditional so that it's always installed.

--
Thanks,

Ankur

(Sent from mobile device)

Hello @ankursinha

I removed BuildRequires: python3-pytest and placed outside the conditional and it builds successfully and I updated the spec/srpm on the Bugzilla ticket.

Hrm, this maybe because your e-mail there is linked to your older FAS account (with the _).

Is your old FAS account still active? try logging in with that and removing your email from there (click on your name in the top right hand corner -> accounts -> email addresses)?

I removed BuildRequires: python3-pytest and placed outside the conditional and it builds successfully and I updated the spec/srpm on the Bugzilla ticket.

Excellent, I'll review it ASAP, definitely by tomorrow.

@vanessakris : pooch is approved, do ping me before you import it.

If you run fedpkg import, you'll notice that the spec that is committed does not include %autochangelog and %autorelease. Instead it includes their expanded forms. This is also noticed by fedora-review when it points out "Diff spec file in url and in SRPM".

So we need to do some git tricks to import the spec correctly. We can look at that together once the SCM request has been completed.

Hrm, this maybe because your e-mail there is linked to your older FAS account (with the _).

Is your old FAS account still active? try logging in with that and removing your email from there (click on your name in the top right hand corner -> accounts -> email addresses)?

Yes I had removed my active email and replaced with a different email on the older FAS account (with the _).

I still can't sign in to the devel mailing list tells me "The username and/or password you specified are not correct."

How are you logging in? Using the Fedora login right?

--
Thanks,

Ankur

(Sent from mobile device)

Hrm, this maybe because your e-mail there is linked to your older FAS account (with the _).

Is your old FAS account still active? try logging in with that and removing your email from there (click on your name in the top right hand corner -> accounts -> email addresses)?

Seems i forgot my password and username. I've tried resetting and it worked! I'm signed in.

Ah, great. solved then :)

--
Thanks,

Ankur

(Sent from mobile device)

@vanessakris : pooch is approved, do ping me before you import it.

If you run fedpkg import, you'll notice that the spec that is committed does not include %autochangelog and %autorelease. Instead it includes their expanded forms. This is also noticed by fedora-review when it points out "Diff spec file in url and in SRPM".

So we need to do some git tricks to import the spec correctly. We can look at that together once the SCM request has been completed.

Looks like the repo has been created now: https://src.fedoraproject.org/rpms/python-pooch

So, here's what to do with explanations:

  • in your pagure project folder for python-pooch, rename the current remote:
git remote rename origin pagure
  • add the src.fp.o repository as a new git remote:
git remote add origin ssh://vanessakris@pkgs.fedoraproject.org/rpms/python-pooch.git
  • check that you have both remotes correctly set up:
git remote -v
  • "fetch" the new remote: this just gets the state of the new remote so you can work with it:
git fetch origin
  • see what you fetched:
git log --graph --oneline  --all

you should see commits from your current branch and remote, and also with the new remote

  • for clarity, we'll create a new branch called rawhide which will track the rawhide branch from the new src.fp.o remote:
git branch -t rawhide origin/rawhide
  • rebase your local main branch on top of the rawhide branch from the new remote: what this does is takes all the commits from your local rawhide branch, and puts them on top of the commits of the new remote's rawhide branch
git rebase -i rawhide

This will open up a window for you. There, drop your first commit where you created the README, otherwise that will conflict with the README file that is in the src.fp.o repository. To do this, go to the line, where your commit is ("Added the README"), and change "pick" to "drop". This drops this commit when re-basing.

  • now check your git commit history again and see what changed:
git log --oneline --graph --all

So what we've done so far is taken the commits from your pagure repo and added them to the new src.fp.o repo. This way, the git commits that you had made during the review etc. are not lost and this means that the autochangelog and autorelease bits will continue to work correctly.

Now, we need to do the other few bits that fedpkg import does for us:

  • import the tar.gz file:
git rm --cached pooch*tar.gz
fedpkg new-sources <the Source0 tar.gz file>

Here, because this file was committed in the repo, we had to remove it first using git rm, otherwise fedpkg would throw an error.
The new-sources command will create the sources file and stage it for you, and it will add the tar.gz file to your .gitignore file also, to ensure that it is not committed to the git repo

  • remove any extra files: only the spec should be in the repo, make sure the results_* directory, the src.rpm and any other files are not committed. If they are, use git rm to remove them:
git rm *.src.rpm results* -r
  • finally, check your repository state with git status
  • if all looks good, commit with git commit -m "initial import to src.fp.o"

then you can git push and fedpkg build etc.


it's a few steps, but it is good git practice. There are a few new slightly advanced git tricks in here also. See how you go, and ping me as soon as you get stuck anywhere so we can discuss what needs to be done.

Reference: https://pagure.io/fedora-docs/package-rawhidetainer-docs/issue/52

Oh, and don't forget to give neuro-sig admin rights to the python-pooch package too, in its settings. Otherwise it won't be listed in our packages and the team won't be able to work with the package too.

I've tweaked the instructions slightly so that we push to the rawhide branch instead of main. They both work, but rawhide is just explicit, so better to use that.

@vanessakris : pooch is approved, do ping me before you import it.

If you run fedpkg import, you'll notice that the spec that is committed does not include %autochangelog and %autorelease. Instead it includes their expanded forms. This is also noticed by fedora-review when it points out "Diff spec file in url and in SRPM".

So we need to do some git tricks to import the spec correctly. We can look at that together once the SCM request has been completed.

Looks like the repo has been created now: https://src.fedoraproject.org/rpms/python-pooch

So, here's what to do with explanations:

  • in your pagure project folder for python-pooch, rename the current remote:

git remote rename origin pagure

  • add the src.fp.o repository as a new git remote:

git remote add origin ssh://vanessakris@pkgs.fedoraproject.org/rpms/python-pooch.git

  • check that you have both remotes correctly set up:

git remote -v

  • "fetch" the new remote: this just gets the state of the new remote so you can work with it:

git fetch origin

  • see what you fetched:

git log --graph --oneline --all

you should see commits from your current branch and remote, and also with the new remote

  • for clarity, we'll create a new branch called rawhide which will track the rawhide branch from the new src.fp.o remote:

git branch -t rawhide origin/rawhide

  • rebase your local main branch on top of the rawhide branch from the new remote: what this does is takes all the commits from your local rawhide branch, and puts them on top of the commits of the new remote's rawhide branch

git rebase -i rawhide

This will open up a window for you. There, drop your first commit where you created the README, otherwise that will conflict with the README file that is in the src.fp.o repository. To do this, go to the line, where your commit is ("Added the README"), and change "pick" to "drop". This drops this commit when re-basing.

  • now check your git commit history again and see what changed:

git log --oneline --graph --all

So what we've done so far is taken the commits from your pagure repo and added them to the new src.fp.o repo. This way, the git commits that you had made during the review etc. are not lost and this means that the autochangelog and autorelease bits will continue to work correctly.

Now, we need to do the other few bits that fedpkg import does for us:

  • import the tar.gz file:

git rm --cached pooch*tar.gz fedpkg new-sources <the Source0 tar.gz file>

Here, because this file was committed in the repo, we had to remove it first using git rm, otherwise fedpkg would throw an error.
The new-sources command will create the sources file and stage it for you, and it will add the tar.gz file to your .gitignore file also, to ensure that it is not committed to the git repo

  • remove any extra files: only the spec should be in the repo, make sure the results_* directory, the src.rpm and any other files are not committed. If they are, use git rm to remove them:

git rm *.src.rpm results* -r

  • finally, check your repository state with git status
  • if all looks good, commit with git commit -m "initial import to src.fp.o"

then you can git push and fedpkg build etc.


it's a few steps, but it is good git practice. There are a few new slightly advanced git tricks in here also. See how you go, and ping me as soon as you get stuck anywhere so we can discuss what needs to be done.

Reference: https://pagure.io/fedora-docs/package-rawhidetainer-docs/issue/52

Good morning :sun_with_face:

wow thank you so much! on it

My Internet connection was down yesterday so i used the time to redo my blog i was hoping you could help me review before i publish, of course if you have the time :smile:

Also the community blog I submitted i don't think it has been reviewed please if you could look into that for me, Thank you :blush:

Hello @ankursinha

After following all the steps you listed i did

git push

and got the message

To ssh://pagure.io/python-pooch.git
 ! [rejected]        main -> main (non-fast-forward)
error: failed to push some refs to 'ssh://pagure.io/python-pooch.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

My Internet connection was down yesterday so i used the time to redo my blog i was hoping you could help me review before i publish, of course if you have the time :smile:

Also the community blog I submitted i don't think it has been reviewed please if you could look into that for me, Thank you :blush:

Yes of course. Would you have the preview link? Do the comm blog folks still require you to post on discussion.fp.o etc? (I haven't written one in a while so I'm not aware of their current pipeline)

Think_About_Your_Audience.md

Is this the updated blog post? :D

Hello @ankursinha

After following all the steps you listed i did
git push
and got the message

To ssh://pagure.io/python-pooch.git ! [rejected] main -> main (non-fast-forward) error: failed to push some refs to 'ssh://pagure.io/python-pooch.git' hint: Updates were rejected because the tip of your current branch is behind hint: its remote counterpart. Integrate the remote changes (e.g. hint: 'git pull ...') before pushing again. hint: See the 'Note about fast-forwards' in 'git push --help' for details.

Ah, hrm---it should be pushing to src.fp.o now, and to the rawhide branch. What does

git log --oneline --graph --all

say?

My Internet connection was down yesterday so i used the time to redo my blog i was hoping you could help me review before i publish, of course if you have the time :smile:

Also the community blog I submitted i don't think it has been reviewed please if you could look into that for me, Thank you :blush:

Yes of course. Would you have the preview link? Do the comm blog folks still require you to post on discussion.fp.o etc? (I haven't written one in a while so I'm not aware of their current pipeline)

Think_About_Your_Audience.md

Is this the updated blog post? :D

Hello @ankursinha

After following all the steps you listed i did
git push
and got the message

To ssh://pagure.io/python-pooch.git ! [rejected] main -> main (non-fast-forward) error: failed to push some refs to 'ssh://pagure.io/python-pooch.git' hint: Updates were rejected because the tip of your current branch is behind hint: its remote counterpart. Integrate the remote changes (e.g. hint: 'git pull ...') before pushing again. hint: See the 'Note about fast-forwards' in 'git push --help' for details.

Ah, hrm---it should be pushing to src.fp.o now, and to the rawhide branch. What does

git log --oneline --graph --all

say?

Yes that's the updated blog :smile:

git log --oneline --graph --all 

says :

  • 412a381 (HEAD -> main) initial import to src.fp.o
  • 47340b9 added buildRequirement pytest even without network access
  • 45c80c2 Minor tweaks
  • a6aab3d feat: remove duplicate files
  • 1e8c349 feat: set up for network dependent tests
  • 1d66766 initial build
  • 7d613d2 (origin/rawhide, origin/main, origin/f35, origin/f34, rawhide) Added the README
  • 37fe99b (pagure/main, pagure/HEAD) added buildRequirement pytest even without network access
  • 697d55a Minor tweaks
  • f1a1630 feat: remove duplicate files
  • 3747005 feat: set up for network dependent tests
  • a30a511 initial build
  • ce0273e Added the README

Hello @ankursinha

Concerning this:

test the nest/pynn update (this requires you to run test cases listed in the bodhi update): 8 hours

After running

sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2021-a5f1d4293c

it completed successfully, please I'm not sure of what next to do.

Hello @ankursinha

After following all the steps you listed i did
git push
and got the message

To ssh://pagure.io/python-pooch.git ! [rejected] main -> main (non-fast-forward) error: failed to push some refs to 'ssh://pagure.io/python-pooch.git' hint: Updates were rejected because the tip of your current branch is behind hint: its remote counterpart. Integrate the remote changes (e.g. hint: 'git pull ...') before pushing again. hint: See the 'Note about fast-forwards' in 'git push --help' for details.

Ah, I think I missed a step. You've now finished rebasing correctly, so we need to update the rawhide branch before we push:

git checkout rawhide
git merge main

And then, the push should work:

git push rawhide

You can then remove the pagure remote:

git remote remove pagure
git branch -D main

(and delete the repository using the pagure website)

Then check your log again:

git log --oneline --graph --all

You should then be able to continue with building etc.

Hello @ankursinha

Concerning this:

test the nest/pynn update (this requires you to run test cases listed in the bodhi update): 8 hours

After running

sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2021-a5f1d4293c

it completed successfully, please I'm not sure of what next to do.

OK, good, so at least the packages can be installed. That's the first check.

Next, if you look at the bottom of the update page, that's where you give karma. The last one there is "Test case nest run". Click on that, and it'll open a wiki page with instructions on how to run the test case. It's just asking you to actually use nest with some simple examples to confirm that it works correctly.

When you've done that, based on what you saw, you give your karma: positive if everything works, negative if it doesn't.

I'll take a look at your blog post draft later, maybe tomorrow morning. We won't remove your current one, you can just post this as a new one instead.

About your community blog post, would you have the preview link? Do the comm blog folks still require you to post on discussion.fp.o etc? (I haven't written one in a while so I'm not aware of their current pipeline)

Hello @ankursinha

After following all the steps you listed i did
git push
and got the message

To ssh://pagure.io/python-pooch.git ! [rejected] main -> main (non-fast-forward) error: failed to push some refs to 'ssh://pagure.io/python-pooch.git' hint: Updates were rejected because the tip of your current branch is behind hint: its remote counterpart. Integrate the remote changes (e.g. hint: 'git pull ...') before pushing again. hint: See the 'Note about fast-forwards' in 'git push --help' for details.

Ah, I think I missed a step. You've now finished rebasing correctly, so we need to update the rawhide branch before we push:

git checkout rawhide git merge main

And then, the push should work:

git push rawhide

You can then remove the pagure remote:

git remote remove pagure git branch -D main

(and delete the repository using the pagure website)

Then check your log again:

git log --oneline --graph --all

You should then be able to continue with building etc.

Hello @ankursinha good morning :sun_with_face:
when I run the command

git push rawhide

I get the error

fatal: 'rawhide' does not appear to be a git repository
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

I was thinking should I run this command instead?

git push origin rawhide

Ah, yeh, sorry! You're right---git push origin rawhide it is!

Does the commit tree look OK? Are all your commits nicely lined up on top of the initial commit from the src.fp.o repo?

Ah, yeh, sorry! You're right---git push origin rawhide it is!

Does the commit tree look OK? Are all your commits nicely lined up on top of the initial commit from the src.fp.o repo?

Yes everything looks good

This is the comm blog preview link

https://communityblog.fedoraproject.org/?p=10582&preview_id=10582&preview_nonce=163f6bcbcd&preview=true

I don't have permissions to view drafts on the comm blog :/

Ah, yeh, sorry! You're right---git push origin rawhide it is!

Does the commit tree look OK? Are all your commits nicely lined up on top of the initial commit from the src.fp.o repo?

Yes everything looks good

Great! https://src.fedoraproject.org/rpms/python-pooch/tree/rawhide looks good. You can now go ahead and build etc. A couple of things:

  • can you please give neuro-sig admin access to the package?
  • any queries about the rather roundabout way we imported this time?

This is the comm blog preview link

https://communityblog.fedoraproject.org/?p=10582&preview_id=10582&preview_nonce=163f6bcbcd&preview=true

I don't have permissions to view drafts on the comm blog :/

Ah, yeh, sorry! You're right---git push origin rawhide it is!

Does the commit tree look OK? Are all your commits nicely lined up on top of the initial commit from the src.fp.o repo?

Yes everything looks good

Great! https://src.fedoraproject.org/rpms/python-pooch/tree/rawhide looks good. You can now go ahead and build etc. A couple of things:

  • can you please give neuro-sig admin access to the package?
  • any queries about the rather roundabout way we imported this time?

No queries, everything was well understood

It built successfully and I've given neuro-sig admin access to the package also gave access to shybrid :smile:

Excellent! Well done! :sparkles:

How did you do on tasks vs time last week? (We can carry over the tasks that are still WIP for this week)

following the Test case nest run wiki page, under how to test I ran the comand

ipython3

and it gave me :

python 3.10.0 (default, Oct 4 2021, 00:00:00) [GCC 11.2.1 20210728 (Red Hat 11.2.1-1)]
Type 'copyright', 'credits' or 'license' for more information
IPython 7.26.0 -- An enhanced Interactive Python. Type '?' for help.

In [1]:

expecting an input but i'm not sure of what to input.

Excellent! Well done! :sparkles:

How did you do on tasks vs time last week? (We can carry over the tasks that are still WIP for this week)

Thank you :dancer:

Week5 tasks

complete python-pooch packaging: 10 hours  - Done
the blog post (did you get the e-mail from outreachy?): 9 hours  - Done
test the nest/pynn update (this requires you to run test cases listed in the bodhi update): 8 hours - WIP
have you introduced yourself to the devel mailing list since you're now a package maintainer and so part of the developer community? You should also subscribe to it - 4 hours - Done

See the next step:

https://fedoraproject.org/wiki/QA:Testcase_nest_run#How_to_test

I did the simple nest simulation example and had this message at section 'Display the voltage graph from the voltmeter:'

In [12]: nest.voltage_trace.from_device(voltmeter)
QSocketNotifier: Can only be used with threads started with QThread
Out[12]: [[<matplotlib.lines.Line2D at 0x7fe2e85aa890>]]

but when i did plt.show() it plotted the graph as shown in the wiki.

oh you've not said anything about the blog :grin:

See the next step:

https://fedoraproject.org/wiki/QA:Testcase_nest_run#How_to_test

I did the simple nest simulation example and had this message at section 'Display the voltage graph from the voltmeter:'
In [12]: nest.voltage_trace.from_device(voltmeter) QSocketNotifier: Can only be used with threads started with QThread Out[12]: [[<matplotlib.lines.Line2D at 0x7fe2e85aa890>]]
but when i did plt.show() it plotted the graph as shown in the wiki.

That's fine then, if the graph came up and it looks like the graph in the nest docs, it works as expected.

So you can now go provide karma to the update, a positive one for all the options there because you've checked that they are all fine.

oh you've not said anything about the blog :grin:

Yeh, I need a little more time to go over it and then decide if/how we can tweak it. It'll have to wait till later this evening, unfortunately, busy day at work now :/

Good morning @ankursinha hope you had a great night

Week5 tasks (all done)

complete python-pooch packaging: 10 hours - Done
the blog post (did you get the e-mail from outreachy?): 9 hours - Done
test the nest/pynn update (this requires you to run test cases listed in the bodhi update): 8 hours - Done
have you introduced yourself to the devel mailing list since you're now a package maintainer and so part of the developer community? You should also subscribe to it - 4 hours - Done

Great. So for this week, let's try:

and let's leave the other 4 hours for your commblog and other miscellaneous tasks. (I'm going to go through your blog draft now, and give you any feedback)

How does that sound?

Also, generally:

  • How are you feeling about the work in general?
  • Do you feel more confident about the different steps?
  • Any particular bits that you think you need more help with?
  • Is it challenging enough or is it getting too simple where you risk getting bored?
  • Anything else that you've come across that you'd like to learn?

Great. So for this week, let's try:

and let's leave the other 4 hours for your commblog and other miscellaneous tasks. (I'm going to go through your blog draft now, and give you any feedback)

How does that sound?

Also, generally:

  • How are you feeling about the work in general?
  • Do you feel more confident about the different steps?
  • Any particular bits that you think you need more help with?
  • Is it challenging enough or is it getting too simple where you risk getting bored?
  • Anything else that you've come across that you'd like to learn?

Awesome!

I feel great it really gets exciting as we go
yes i am more confident as i have really learnt alot and the learning just keeps going infact i feel smart :smile: the best feeling is when i solve problems and the difficulty level is just great :smile:

I am still not sure of how to migrate spec files to the new %pyproject format as there are many bids in the old spec files that i find confusing.

Also i wanted to ask, seems VLC media player has not been packaged for Fedora?

Awesome!

I feel great it really gets exciting as we go
yes i am more confident as i have really learnt alot and the learning just keeps going infact i feel smart :smile: the best feeling is when i solve problems and the difficulty level is just great :smile:

OK, that's good then. Do let us know if you think tweaking your tasks in any way would help.

I am still not sure of how to migrate spec files to the new %pyproject format as there are many bids in the old spec files that i find confusing.

OK, we can look at some more of our Python packages to get you more practice on this in the next week then. What bits are you finding confusing, can you tell?

Also i wanted to ask, seems VLC media player has not been packaged for Fedora?

It isn't in Fedora, but it's in the sister RPM Fusion repositories.

https://rpmfusion.org

here's vlc:

https://rpmfusion.ip-connect.info/free/fedora/releases/35/Everything/x86_64/os/repoview/vlc.html

Fedora has quite strict rules on what can and cannot be included in the repos. You can read this for a better idea:

https://fedoraproject.org/wiki/Forbidden_items?rd=ForbiddenItems

So, VLC, the source code may be FOSS and correctly licensed, but (from what I remember) it needs patented bits to work. So, it's in the RPM Fusion "free" repository:

https://rpmfusion.org/FAQ#What_packages_are_available_from_RPM_Fusion.3F

If you haven't already, you should install the RPM Fusion repositories. It's usually the first thing we do when we install Fedora :)

https://rpmfusion.org/Configuration

mne is still throwing an error

RPM build errors:
error: Bad exit status from /var/tmp/rpm-tmp.VovP0p (%check)

python-mne.spec

What's the error? Can you share the build.log too please? (Ping me on chat.fp.o if you can? probably easier for this sort of debugging)

mne is still throwing an error

RPM build errors:
error: Bad exit status from /var/tmp/rpm-tmp.VovP0p (%check)

python-mne.spec

What's the error? Can you share the build.log too please? (Ping me on chat.fp.o if you can? probably easier for this sort of debugging)

Good morning :sunny:

please is that element chat?

Good morning :sunny:

please is that element chat?

Yeh, the same one.

For this week, let's do:

The last task is a little new for you. Until now you've worked with Python, but I think you should also be aware of other languages and how they work/build. So, for the last 5 hours, I want you to:

You don't need to use vi, you can continue using vscode etc. that you're using now.

(Next week, we'll build an RPM for a hello world program, which will not use pyproject macros because it's not written in Python)

Hello @ankursinha here's my "hello world " program

https://github.com/Vanessa-Kris/Hello-world-in-C

Looks good. Did you have any trouble with the "compilation" step?

How is this different from what we do in the python packages?

Hello @ankursinha here's my "hello world " program

https://github.com/Vanessa-Kris/Hello-world-in-C

Looks good. Did you have any trouble with the "compilation" step?

How is this different from what we do in the python packages?

well, this seems to require programming knowledge and it requires compilation and python does not :laughing:

And i did not have any trouble the doc is very explanatory

Week 7
1. blog post : 5 hours Done (https://vanessa-kris.github.io/)
2. complete astor review/import: 5 hours Done
3. review https://bugzilla.redhat.com/show_bug.cgi?id=2018705 : 4 hours Done
4. review https://bugzilla.redhat.com/show_bug.cgi?id=2034723 : 6 hours Done
5. update snakemake https://bugzilla.redhat.com/show_bug.cgi?id=2039280 : 7 hours Done
6. write a simple "hello world" program in C : 4 hours Done

Awesome! Well done!

For this week:

  • complete, and approve the two reviews (go through each item carefully---as reviewers, we're the last check before these packages end up in Fedora, so it is important to catch any errors and deviations from the guidelines in the review. Also, even though fedora-review does some stuff for you, do go through it to double-check because it's only a program and it can make mistakes): 8 hours

  • review https://bugzilla.redhat.com/show_bug.cgi?id=2020886 : 4 hours

  • blog post: 5 hours (maybe give the "explaining what you are doing to a non-technical audience" a second try this week--that's an important skill to practice)

  • now that you've written a simple C program, let's get you to package the hello world program. So, go through this tutorial here to package the "hello world" package. While you're doing that, please also review the for mistakes and outdated information (for example, it can be updated to use autochangelog etc.) and please open pull requests with any corrections that you may want to suggest: https://docs.fedoraproject.org/en-US/package-maintainers/Packaging_Tutorial_GNU_Hello/ : 8 hours

  • answer questions/engage in discussion on ask.fedoraproject.org: 2--5 hours (maybe try to spend 15-20 minutes a day on this---you don't have to answer questions, but go through them and see what kind of queries people have, and how we work with each other to diagnose issues and bugs and how we arrive to solutions/workarounds)

Hello @ankursinha I approved the packages please take a look at them to make sure i did not do anything wrong and also should i approve this? (https://bugzilla.redhat.com/show_bug.cgi?id=2020886) it looks good.

Hello @ankursinha I approved the packages please take a look at them to make sure i did not do anything wrong and also should i approve this? (https://bugzilla.redhat.com/show_bug.cgi?id=2020886) it looks good.

Yes, all good with the two you approved, and this one looks good too.

I think you need to make a few tweaks to your review process:

  • when you take on a review, click the "take" button to assign it to yourself, set the status to assigned, and set the "fedora-review" flag to "?". This is important because the review tracker over here uses these fields to populate its lists:

http://fedoraproject.org/PackageReviewStatus/

  • there's no need to call it a "pre-review" now---you're a package maintainer, and your reviews are as official as anyone else's now :)

  • next, address every point, even if you aren't sure what it should be. This shows someone looking at the review that you have checked everything. If you leave something empty, it could mean that you skipped that check. So, in this spec, you should:

    • address the "Development (unversioned) so .." files bit also. In this case, because it's a python package, this does not apply. So you can mark it as [-].
    • address the rpmlint output. the second one here can be ignored, so you should note that.

Remember that the review is an interactive discussion between the packager and one (or more) community peers, so it's perfectly fine to say that we're not sure of something and then we can all check it together. (Never worry about making mistakes anywhere in the community. It's perfectly normal for all of us to make them, and we learn from them together. I know this one is easier to say than do especially when you feel you are new, but you'll get there over time).

When you're happy with the package, you do what you're doing already: set the flag to +, and set the status to "POST".

It should all be documented here, but if not, file issues for a start, and maybe you can file PRs later in another week :)

https://docs.fedoraproject.org/en-US/package-maintainers/Package_Review_Process/

Saw your new blog post on the planet, well done! I think that should be much easier for newcomers to understand :clap:

I had a few minor cosmetic notes on writing in general. Blog posts are informal so we don't always follow all language rules there, but following a minimum set makes posts easier for others to read. (The more effort it takes people to read, the less likely they're to spend time reading):

  • "e.t.c." -> "etc." (it's one word followed by a dot).
  • when using "i", it should always be capitalised, even if it's in the middle of a sentence
  • all names (proper nouns) should also be capitalised. So "Windows", not "windows"
  • all new sentences must start with caps, so ". The", not ". the"

Saw your new blog post on the planet, well done! I think that should be much easier for newcomers to understand :clap:

I had a few minor cosmetic notes on writing in general. Blog posts are informal so we don't always follow all language rules there, but following a minimum set makes posts easier for others to read. (The more effort it takes people to read, the less likely they're to spend time reading):

  • "e.t.c." -> "etc." (it's one word followed by a dot).
  • when using "i", it should always be capitalised, even if it's in the middle of a sentence
  • all names (proper nouns) should also be capitalised. So "Windows", not "windows"
  • all new sentences must start with caps, so ". The", not ". the"

Thank you so much i'll make corrections

Hello @ankursinha building the hello world spec i get error

Wrote: /home/vanessa/Desktop/packages/GNU-Hello/hello-2.10-1.fc36.src.rpm
INFO: mock.py version 2.15 starting (python version = 3.10.0, NVR = mock-2.15-1.fc35)...
Start(bootstrap): init plugins
INFO: selinux enabled
Finish(bootstrap): init plugins
Start: init plugins
INFO: selinux enabled
Finish: init plugins
INFO: Signal handler active
Start: run
ERROR: Cannot find/open srpm: /home/vanessa/Desktop/packages/GNU-Hello/GNU-Hello-2.10-1.fc36.src.rpm. Error: [Errno 2] No such file or directory: '/home/vanessa/Desktop/packages/GNU-Hello/GNU-Hello-2.10-1.fc36.src.rpm'
Could not execute mockbuild: Failed to execute command.

I'm not sure where the error is from.

Also i found out in the docs they didn't indicate we needed to create a repo for mockbuild to work.

Hello @ankursinha building the hello world spec i get error

Wrote: /home/vanessa/Desktop/packages/GNU-Hello/hello-2.10-1.fc36.src.rpm INFO: mock.py version 2.15 starting (python version = 3.10.0, NVR = mock-2.15-1.fc35)... Start(bootstrap): init plugins INFO: selinux enabled Finish(bootstrap): init plugins Start: init plugins INFO: selinux enabled Finish: init plugins INFO: Signal handler active Start: run ERROR: Cannot find/open srpm: /home/vanessa/Desktop/packages/GNU-Hello/GNU-Hello-2.10-1.fc36.src.rpm. Error: [Errno 2] No such file or directory: '/home/vanessa/Desktop/packages/GNU-Hello/GNU-Hello-2.10-1.fc36.src.rpm' Could not execute mockbuild: Failed to execute command.

I'm not sure where the error is from.

Take a closer look here. It's writing hello-2.10-1.fc36.src.rpm, but then looking for GNU-Hello-2.10-1.fc36.src.rpm. Why the difference---probably because the name of the folder is GNU-Hello, and you can override this by using the --name option when running your commands. It'll be simpler to rename your folder to hello so that it matches the spec.

Also i found out in the docs they didn't indicate we needed to create a repo for mockbuild to work.

Yeh, it isn't mockbuild, it's more fedpkg---lots of commands there like mockbuild and build, update only work if you are in a Git repository with your spec/sources. This is because fedpkg is designed to work with the git repos on src.fedoraproject.org. So fedpkg is smart enough to assume that the spec file should match the name of the folder etc., which is why you're seeing the error above.

I haven't tested it out to see how it works if one is not in a git repo, but we tend to always work in git repos anyway.

Here's the link to the repo for the hello program.

https://github.com/Vanessa-Kris/hello

Trying to create a repo named "hello" on Pagure failed, I still don't know why, but I tried GitHub and it worked.

https://ask.fedoraproject.org/t/fedora-35-kde-plasma-kernel-5-15-16-freezing-system/19906/9

I saw this on askfedora and I'm just curious ... why is he getting the error "no update for this package found" :confused:

Here's the link to the repo for the hello program.

https://github.com/Vanessa-Kris/hello

Trying to create a repo named "hello" on Pagure failed, I still don't know why, but I tried GitHub and it worked.

Hrm, not sure about Pagure. Doesn't matter as long as GitHub/GitLab worked---we just need a Git repository. Later we can look at how to create a Git repository without setting up a remote also.

https://ask.fedoraproject.org/t/fedora-35-kde-plasma-kernel-5-15-16-freezing-system/19906/9

I saw this on askfedora and I'm just curious ... why is he getting the error "no update for this package found" :confused:

Which comment on this post? I don't them reporting this error message?

Ah, I wish people would paste command outputs in text. Screenshots can't be easily searched for information :(

that screenshot is from abrt, the automatic bug reporting tool. It reports bugs, and if updates are available that fix a bug, it tell users (this update related bit seems to be a new feature).

So in this case, the package that crashed---the kernel---probably does not have an update for them to install.

More on abrt here:

https://abrt.readthedocs.io/en/latest/

Ah, I wish people would paste command outputs in text. Screenshots can't be easily searched for information :(

that screenshot is from abrt, the automatic bug reporting tool. It reports bugs, and if updates are available that fix a bug, it tell users (this update related bit seems to be a new feature).

So in this case, the package that crashed---the kernel---probably does not have an update for them to install.

More on abrt here:

https://abrt.readthedocs.io/en/latest/

ohhhh okay, Thank you.

Hello @ankursinha

Trying to edit this page https://docs.fedoraproject.org/en-US/package-maintainers/Packaging_Tutorial_GNU_Hello/ I was thinking, should i just edit the spec file?

like change Release: 1%{?dist} to Release: %autorelease
and
%changelog
* Sat Oct 23 2021 The Coon of Ty Ty@coon.org - 2.10-1
- Initial version of the package to
%changelog
%autochangelog

i'm very confused on how to input the changes

Hello @ankursinha

Trying to edit this page https://docs.fedoraproject.org/en-US/package-maintainers/Packaging_Tutorial_GNU_Hello/ I was thinking, should i just edit the spec file?

like change Release: 1%{?dist} to Release: %autorelease
and
%changelog
* Sat Oct 23 2021 The Coon of Ty Ty@coon.org - 2.10-1
- Initial version of the package to
%changelog
%autochangelog

i'm very confused on how to input the changes

Hrm, no, we can only use autorelease etc. when we're packaging in a Git repo (which is our source control management tool, SCM). So, the page will need to be tweaked to initialise a git repository in the hello folder that it makes the reader create etc.

I don't know how much complexity that will add to the document. What do you think? As a newcomer, would you find it harder to also have to do some git bits here?

okay... I guess that will add too much complexity to the doc

so how about the %autochangelog?

``
okay... I guess that will add too much complexity to the doc

so how about the %autochangelog?
``

Same issue---can't be used if we're not using a Git repo.

So either we'll have to move the full doc to using git and fedpkg to
closely resemble the packaging system, or we'll have to leave it as is.

For the time being, maybe just open an issue on the docs repo about this
and ask what folks think of updating the doc to use git and fedpkg
etc. which would align it with the package maintainer steps better?

ohhh okay thank you so much for the clarification.

complete, and approve the two reviews (go through each item carefully---as reviewers, we're the last check before these packages end up in Fedora, so it is important to catch any errors and deviations from the guidelines in the review. Also, even though fedora-review does some stuff for you, do go through it to double-check because it's only a program and it can make mistakes): 8 hours : Done

review https://bugzilla.redhat.com/show_bug.cgi?id=2020886 : 4 hours : Done

blog post: 5 hours (maybe give the "explaining what you are doing to a non-technical audience" a second try this week--that's an important skill to practice) : Done

now that you've written a simple C program, let's get you to package the hello world program. So, go through this tutorial here to package the "hello world" package. While you're doing that, please also review the for mistakes and outdated information (for example, it can be updated to use autochangelog etc.) and please open pull requests with any corrections that you may want to suggest: https://docs.fedoraproject.org/en-US/package-maintainers/Packaging_Tutorial_GNU_Hello/ : 8 hours : Done

answer questions/engage in discussion on ask.fedoraproject.org: 2--5 hours (maybe try to spend 15-20 minutes a day on this---you don't have to answer questions, but go through them and see what kind of queries people have, and how we work with each other to diagnose issues and bugs and how we arrive to solutions/workarounds) : Done

Looks good. What did you think of packaging the hello program? How was it different from all the Python packages that you do?

We'll come up with tasks for this week after the meeting today.

Looks good. What did you think of packaging the hello program? How was it different from all the Python packages that you do?

We'll come up with tasks for this week after the meeting today.

Hello, it's not so different though, just follows the general packaging procedure.

OK, it's good if you didn't find it to different. Let's build on that this week then:

  • blog post: 8 hours

    • write about the differences between Python and C programming languages. Things to research for: compiled or interpreted; static or dynamically typed; weak or strongly typed, some differences in their grammar/syntax?
    • differences in their packaging---you used the pyproject bits for python, and the configure/make/make install for hello, so see look at the build logs for both these to see what the difference in the commands that the macros expand to are.
    • what other languages do packages in Fedora use (hint: look at the language specific guidelines in the packaging guidelines)

The goal here is to give you a little deeper understanding of Python and C and to make you aware of the different programming languages that are out there, and how they are different. So, do some web searches, wikipedia should tell you quite a bit, but don't spend more than 8 hours on this task.

That leaves 3 hours, which you should spend on ask.fedoraproject.org. Your aim should be to interact in a few posts there (like answers, vote on topics, ask for clarifications), and---just ask a question.

OK, it's good if you didn't find it to different. Let's build on that this week then:

  • blog post: 8 hours

  • write about the differences between Python and C programming languages. Things to research for: compiled or interpreted; static or dynamically typed; weak or strongly typed, some differences in their grammar/syntax?

  • differences in their packaging---you used the pyproject bits for python, and the configure/make/make install for hello, so see look at the build logs for both these to see what the difference in the commands that the macros expand to are.
  • what other languages do packages in Fedora use (hint: look at the language specific guidelines in the packaging guidelines)

The goal here is to give you a little deeper understanding of Python and C and to make you aware of the different programming languages that are out there, and how they are different. So, do some web searches, wikipedia should tell you quite a bit, but don't spend more than 8 hours on this task.

That leaves 3 hours, which you should spend on ask.fedoraproject.org. Your aim should be to interact in a few posts there (like answers, vote on topics, ask for clarifications), and---just ask a question.

wow, looks scary :smile:

Oh, no---which part looks scary? I think the blog requires you to do a little bit of research, but the other bits are just more tasks similar to what you've been doing.

As always, ping us in the channels whenever you need to :)

Just a note that Vanessa is off this week, so we'll continue from next Monday (2022-02-14).

Blog : 8 hours : Done
Update python-lazyarray: https://bugzilla.redhat.com/show_bug.cgi?id=2044540 : easy for you now, so let's say 3 hours : Done
Update python-pulp: https://bugzilla.redhat.com/show_bug.cgi?id=1992758 : it's also current FTBFS, so it may require you to do some debugging on why the build is failing (read the build log very carefully :)): 6 hours : Build failed
Package pyABF: https://pagure.io/neuro-sig/NeuroFedora/issue/497 : should be a simple one now for you: 5 hours : Done
Package neat: https://pagure.io/neuro-sig/NeuroFedora/issue/350 : should be another simple one for you: 5 hours : Done building but we have some debugging to do

Let's continue the tasks that need debugging this week.

So:

  • continue working on python-pulp: 8 hours
  • continue working on neat: 8 hours
  • blog: 6 hours

Let's leave the rest of the time for the Outreachy activities we need to do (~8 hours):

  • we need to help you find 3 people to have an informal chat with
  • you need to update your resume and get it reviewed

we also need to discuss your career opportunities (I think that was the past week, and I missed it, sorry about that). This looks good, but let's have a chat in the channel sometime?

https://vanessa-kris.github.io/career-opportunities.html

we also need to discuss your career opportunities (I think that was the past week, and I missed it, sorry about that). This looks good, but let's have a chat in the channel sometime?

https://vanessa-kris.github.io/career-opportunities.html

Yes :)

@vanessakris : this is your last week for Outreachy, right? So let's just focus on completing the tasks you already have.

The most important task for this week is to write a summary blog post going over your complete internship. So, list what you learned, what tasks you completed, who you've interacted with, and about the future---what you have in mind Fedora wise, and in general :)

I think that concludes the Outreachy period! Well done @vanessakris , you've done excellent work!

We hope you learned lots during this period, and of course we hope you'll continue to contribute to Fedora wherever you wish.

What's changing now is that I'm no longer going to assign you weekly tickets, and you don't have to spend 30 hours a week on Fedora. However, and as I said, we hope, that you'll continue your packaging related activities with us and learning more and more in the process.

I'll close this ticket now, but please remain active on the various communication channels and ping us whenever you need to :)

Metadata Update from @ankursinha:
- Issue close_status updated to: Fixed
- Issue status updated to: Closed (was: Open)

2 years ago

Note, I see that my Outreach page says a final feedback is required on March 4, so maybe this is still the last week. Again, no new specific tasks, please complete the tasks you're already working on and take on other tasks as you wish.

Log in to comment on this ticket.

Metadata
Attachments 6
Attached 2 years ago View Comment
Attached 2 years ago View Comment
Attached 2 years ago View Comment
Attached 2 years ago View Comment