gnuastro-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[sr #110457] Google Summer of Code (GSoC) 2021


From: Mohammad Akhlaghi
Subject: [sr #110457] Google Summer of Code (GSoC) 2021
Date: Fri, 12 Mar 2021 17:49:18 -0500 (EST)
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:86.0) Gecko/20100101 Firefox/86.0

URL:
  <https://savannah.gnu.org/support/?110457>

                 Summary: Google Summer of Code (GSoC) 2021
                 Project: GNU Astronomy Utilities
            Submitted by: makhlaghi
            Submitted on: Fri 12 Mar 2021 10:49:16 PM UTC
                Category: All Gnuastro
                Priority: 5 - Normal
                Severity: 3 - Normal
              Item Group: Enhancement
                  Status: None
                 Privacy: Public
             Assigned to: None
        Originator Email: 
             Open/Closed: Open
         Discussion Lock: Any
        Operating System: None

    _______________________________________________________

Details:

RECOMMENDED STEPS TO START DEVELOPING IN GNUASTRO

This is for those interested in participating in Gnuastro's development
focused on GSoC 2021. It is based on teh successful completion GSoC 2020 and
its related discussions in sr #110195. The basic point is that you should
first install and run the programs to get a feeling of their over-all purpose
and usage, then start getting your hands dirty into the coding. The following
list should be a rough guide on how to do this.

0 Install the dependencies
<http://www.gnu.org/software/gnuastro/manual/html_node/Dependencies.html>. In
particular, if you use the most common GNU/Linux operating systems, to start
with, we recommend using your package manager
<http://www.gnu.org/software/gnuastro/manual/html_node/Dependencies-from-package-managers.html>.
Later, when you get more advanced, you can install them from source also.
0 Install the latest Gnuastro from the officially released tarball
<http://ftp.gnu.org/gnu/gnuastro/gnuastro-latest.tar.gz> and install it as
described in the Quick start
<https://www.gnu.org/software/gnuastro/manual/html_node/Quick-start.html>.
0 There is a full chapter of tutorials
<https://www.gnu.org/software/gnuastro/manual/html_node/Tutorials.html>, if
you have time go through all of them, if not, the general tutorial
<https://www.gnu.org/software/gnuastro/manual/html_node/General-program-usage-tutorial.html>
should be enough. It is a little long, but shouldn't take more than three or
four hours. You don't necessarily have to understand the full depth of the
science behind the steps. Try to open the images (inputs and outputs) and
things should be clear. This tutorial touches upon most Gnuastro programs will
give you a very good feeling of it (and thus help you develop good ideas to
write in the GSoC proposal.
0 Having done the tutorial, you may have your own ideas on what to improve, or
you can have a look at the list of bugs
<https://savannah.gnu.org/bugs/?group=gnuastro> or tasks
<https://savannah.gnu.org/task/?group=gnuastro>. Some more easier tasks are
task #15317, task #15138, task #15136, task #15109, task #15053, task #14986,
task #14908, task #14760, task #14643, task #14419, task #14409, task #14364.
If they aren't already taken, you can post a comment on the task and start
focusing on it.
0 You are now ready to start developing. But you will need the version
controlled source
<https://www.gnu.org/software/gnuastro/manual/html_node/Version-controlled-source.html>,
which needs to be bootstrapped
<https://www.gnu.org/software/gnuastro/manual/html_node/Bootstrapping.html>.
And bootstrapping has its own dependencies
<https://www.gnu.org/software/gnuastro/manual/html_node/Bootstrapping-dependencies.html>.
So install the bootstrapping dependencies, then follow the bootstrapping guide
to prepare the raw source for building/developing. After bootstrapping, you
can configure and install Gnuastro's version controlled source just like the
tarball.
0 Depending on the task/bug that you have selected to work on, please read the
description of that particular program. For example if the bug/task is related
to the Crop program, read the Crop section
<https://www.gnu.org/software/gnuastro/manual/html_node/Crop.html> of the
manual. This will give you an over-all feeling of the overall working style of
the program and help guide you mentally when you are reading the source.
0 Read the Developing chapter
<https://www.gnu.org/software/gnuastro/manual/html_node/Developing.html> of
the Gnuastro manual. Please read this section carefully because it will really
help you get a smooth start on the source code and our style. In particular
the Program source
<https://www.gnu.org/software/gnuastro/manual/html_node/Program-source.html>
section describes the common structure of files and programming structure of
the programs. Don't forget to read the other sections of this chapter too
;-)!
0 Build you own fork of Gnuastro (as described in the Forking tutorial
<https://www.gnu.org/software/gnuastro/manual/html_node/Forking-tutorial.html>.
0 If you are fixing a bug, please try to reproduce it.
0 Go into the source of the program you want to work on, and start reading the
code from `main.c' (which has the starting `main()' function). Follow the
functions and comments until the end of the program (beware that some programs
can be large and complex, you can usually tell this by the number of files in
its source directory).
0 Once you have a nice mental image of the program, you are ready to start
working on your selected bug/task.
0 Please don't hesitate to ask any GSoC (general) question here, but if your
discussion is about a certain task/bug, please don't post it here, use the
bug/task's own page.





    _______________________________________________________

Reply to this item at:

  <https://savannah.gnu.org/support/?110457>

_______________________________________________
  Message sent via Savannah
  https://savannah.gnu.org/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]