Google Summer of Code 2021: Difference between revisions
(fixes by kevl@ and august@) |
|||
Line 5: | Line 5: | ||
== ALT Linux Team and Sisyphus == | == ALT Linux Team and Sisyphus == | ||
One of core components of [[ALT Linux Team]] is [[Sisyphus]], large rpm-based | |||
open-source software [http://ftp.altlinux.org/pub/distributions/ALTLinux/Sisyphus/ repository]. | |||
Sisyphus is a source of packages for development distributions. Stable branches are forked | |||
from development branches each corresponding to one of the distributions such as p9, p8 etc. | |||
Sisyphus consists of multiple components: development stack, distribution stack and infrastructure stack. | |||
The Distribution stack is represented by following components: libshell, control and alterator. | |||
* | |||
* '''Alterator''' is a configuration framework that provides users with a handy and powerful graphical utility to manage the ALT Linux system with ease. | |||
* | * '''Control''' is ALT-specific set of scripts used to control installed system facilities (for example local system policy rules). | ||
* '''Libshell''' is a POSIX shell library of common functions, packaged to facilitate code reuse. This library is majorly utilized in | |||
Development stack that in turn consists of: gear, mkimage and hasher. | |||
* '''Gear''' is a tool for building RPM packages from git repositories. It is used at git.alt, an automated system for building packages and maintaining a repository of packages. | |||
* '''Hasher''' allows users to build packages in a safe and reproducible manner. | |||
* And with '''mkimage''' users can build ISO images and RPM packages. | |||
The Infrastructure stack is represented by: | |||
* '''libnss-role''' which is an NSS module that adds support for nesting groups; | |||
* '''gpupdate''' utility that provides user with a powerful tool for AD management; | |||
* '''ADMC''' graphical utility for easy active directory domain management. | |||
== Distribution stack ideas == | == Distribution stack ideas == | ||
=== Name Service Switch subsystem control with bash-completion === | === Name Service Switch subsystem control with bash-completion === | ||
Name Service Switch (NSS) subsystem provides a variety of sources for common configuration databases and name resolution mechanisms. | Name Service Switch (NSS) subsystem provides a variety of sources for common configuration databases and name resolution mechanisms. | ||
Today every major distribution has their own instruments to control NSS configuration. Configuration is placed in /etc/nsswitch.conf. | |||
ALT distributions and other Sisyphus based solutions use a special control module to set various system parameters and file modes | |||
during system upgrade. | |||
Command-line completion (also known as tab completion) is a common feature of command-line interpreters, in which the program | |||
automatically fills in partially typed commands. Command-line completion is useful in several ways. Commonly accessed commands, | |||
especially ones with long names, require fewer keystrokes to reach. Commands with long or difficult to spell filenames can be entered by | |||
typing the first few characters and pressing a completion key, which completes the command or filename. | |||
This task will require the student to implement the following improvements: | |||
* control-policy rules to control NSS subsystem for all supported configuration databases | * control-policy rules to control NSS subsystem for all supported configuration databases. | ||
* common bash-completion rules for all control-policies rules. | * common bash-completion rules for all control-policies rules. | ||
The challenge is in doing this in | The challenge is in doing this in aclean Unix-way style, | ||
while retaining integration with other already implemented control-policy rules. | |||
* Difficulty: Medium | * Difficulty: Medium | ||
* Language(s): Bash | * Language(s): Bash | ||
* Possible Mentors: Evgeny Sinelnikov | * Possible Mentors: Evgeny Sinelnikov | ||
=== Alterator | === Alterator D-Bus command line interface === | ||
Alterator is an ALT Linux module which provides user with qt-based system control center, graphical installer and a web-interface. | |||
Modern Linux distributions with graphical interface use special system IPC, called D-Bus for communication between applications. | |||
Originally Alterator, as the core part of distribution stack, was designed with its own system interface based on UNIX-sockets called | |||
woo-bus. Current implementation of alterator modules does not support introspection and we are working on alterator-dbus module, | |||
which translates method calls from woo-bus to D-Bus as a controlled proxy authorized by PolicyKit. | |||
The student should write command line interface for alterator | |||
modules using D-Bus and implement alterator modules introspection. | |||
* Difficulty: Hard | * Difficulty: Hard | ||
* Language(s): C, Bash, Scheme (guile) | * Language(s): C, Bash, Scheme (guile) | ||
* Possible Mentors: Ivan Melnikov | * Possible Mentors: Evgeny Sinelnikov, Ivan Melnikov | ||
== Infrastructure stack ideas == | == Infrastructure stack ideas == | ||
Line 52: | Line 71: | ||
=== FSMO management in Active Directory Control Center === | === FSMO management in Active Directory Control Center === | ||
Flexible Single Master Operations (FSMO) is a feature of Microsoft's Active Directory (AD) | Flexible Single Master Operations(FSMO) is a feature of Microsoft's Active Directory (AD), set of tasks performed by Active Directory | ||
domain controllers that require mandatory uniqueness of the server performing these operations. Active Directory Control Center(ADMC) | |||
is alternative implementation of Remote Server Administration Tools(RSAT) for control AD. | |||
A modern implementation of RSAT (starting with the latest version for Windows 10) cannot be used to manage Samba AD server because it | |||
requires Active Directory Web Services (ADWS). ADWS is only planned to be supported in samba. ([https://bugzilla.samba.org/show_bug.cgi?id=11231 Samba#11231]). | |||
This task requires the student to investigate the implementation of FSMO in samba, implement ldap requests to manage FSMO, and support them in ADMC. | |||
* Difficulty: Hard | * Difficulty: Hard | ||
* Language(s): C++ | * Language(s): C++ | ||
* Possible Mentors: Dmitry Degtyarev | * Possible Mentors: Evgeny Sinelnikov, Dmitry Degtyarev | ||
[[Category:Google Summer of Code]] | [[Category:Google Summer of Code]] |
Revision as of 20:08, 18 February 2021
Suggested Project ideas
The following are ALT Linux Team project ideas for Summer of Code.
ALT Linux Team and Sisyphus
One of core components of ALT Linux Team is Sisyphus, large rpm-based open-source software repository.
Sisyphus is a source of packages for development distributions. Stable branches are forked from development branches each corresponding to one of the distributions such as p9, p8 etc. Sisyphus consists of multiple components: development stack, distribution stack and infrastructure stack.
The Distribution stack is represented by following components: libshell, control and alterator.
- Alterator is a configuration framework that provides users with a handy and powerful graphical utility to manage the ALT Linux system with ease.
- Control is ALT-specific set of scripts used to control installed system facilities (for example local system policy rules).
- Libshell is a POSIX shell library of common functions, packaged to facilitate code reuse. This library is majorly utilized in
Development stack that in turn consists of: gear, mkimage and hasher.
- Gear is a tool for building RPM packages from git repositories. It is used at git.alt, an automated system for building packages and maintaining a repository of packages.
- Hasher allows users to build packages in a safe and reproducible manner.
- And with mkimage users can build ISO images and RPM packages.
The Infrastructure stack is represented by:
- libnss-role which is an NSS module that adds support for nesting groups;
- gpupdate utility that provides user with a powerful tool for AD management;
- ADMC graphical utility for easy active directory domain management.
Distribution stack ideas
Name Service Switch subsystem control with bash-completion
Name Service Switch (NSS) subsystem provides a variety of sources for common configuration databases and name resolution mechanisms. Today every major distribution has their own instruments to control NSS configuration. Configuration is placed in /etc/nsswitch.conf. ALT distributions and other Sisyphus based solutions use a special control module to set various system parameters and file modes during system upgrade.
Command-line completion (also known as tab completion) is a common feature of command-line interpreters, in which the program automatically fills in partially typed commands. Command-line completion is useful in several ways. Commonly accessed commands, especially ones with long names, require fewer keystrokes to reach. Commands with long or difficult to spell filenames can be entered by typing the first few characters and pressing a completion key, which completes the command or filename.
This task will require the student to implement the following improvements:
- control-policy rules to control NSS subsystem for all supported configuration databases.
- common bash-completion rules for all control-policies rules.
The challenge is in doing this in aclean Unix-way style, while retaining integration with other already implemented control-policy rules.
- Difficulty: Medium
- Language(s): Bash
- Possible Mentors: Evgeny Sinelnikov
Alterator D-Bus command line interface
Alterator is an ALT Linux module which provides user with qt-based system control center, graphical installer and a web-interface. Modern Linux distributions with graphical interface use special system IPC, called D-Bus for communication between applications. Originally Alterator, as the core part of distribution stack, was designed with its own system interface based on UNIX-sockets called woo-bus. Current implementation of alterator modules does not support introspection and we are working on alterator-dbus module, which translates method calls from woo-bus to D-Bus as a controlled proxy authorized by PolicyKit.
The student should write command line interface for alterator modules using D-Bus and implement alterator modules introspection.
- Difficulty: Hard
- Language(s): C, Bash, Scheme (guile)
- Possible Mentors: Evgeny Sinelnikov, Ivan Melnikov
Infrastructure stack ideas
FSMO management in Active Directory Control Center
Flexible Single Master Operations(FSMO) is a feature of Microsoft's Active Directory (AD), set of tasks performed by Active Directory domain controllers that require mandatory uniqueness of the server performing these operations. Active Directory Control Center(ADMC) is alternative implementation of Remote Server Administration Tools(RSAT) for control AD.
A modern implementation of RSAT (starting with the latest version for Windows 10) cannot be used to manage Samba AD server because it requires Active Directory Web Services (ADWS). ADWS is only planned to be supported in samba. (Samba#11231).
This task requires the student to investigate the implementation of FSMO in samba, implement ldap requests to manage FSMO, and support them in ADMC.
- Difficulty: Hard
- Language(s): C++
- Possible Mentors: Evgeny Sinelnikov, Dmitry Degtyarev