SlideShare a Scribd company logo
1 of 28
Download to read offline
Ada in Fedora Linux

Ada in Fedora Linux
Present and future
Pavel Zhukov

FOSDEM’14

1 / 28
Ada in Fedora Linux

Why Fedora?
Fedora Project Overview
Advantages
Packaging issues
Guidelines
Multilib support
List of packages
Our plans
Resources

2 / 28
Ada in Fedora Linux
Why Fedora?
Fedora Project Overview

FedoraProject
We believe we should use and distribute the software and content we
promote to accomplish our mission of
advancing free software. We provide
free alternatives to proprietary code
and content to make Fedora completely free and redistributable for everyone. That way,
anyone can use any of our work for their own purposes,
without legal hassles, to further spread free software.

We believe success comes from a
strong community, made of people
from around the world, working together. There’s a place in Fedora
for anyone who supports our values
and wants to help. By collaborating
with each other openly and transparently, and with a
strong, supportive partnership with our sponsors, we
can achieve great things.

We believe the hard work of creating
new technical features makes free software more powerful, flexible, and useful for millions of people. We don’t
mind shaking up the status quo, when
it means we can more effectively move
free software forward. And we do it by collaborating
directly with the many software communities whose
work is distributed by Fedora. That way everyone benefits, regardless of whether they use Fedora or not.

We believe in the power of innovation
and showing off new work in our releases. Since we release twice a year,
you never have to wait long to see
the latest and greatest software, while
there are other Linux products derived
from Fedora you can use for long-term stability. We
always keep Fedora moving forward so that you can
see the future first.

3 / 28
Ada in Fedora Linux
Why Fedora?
Advantages

Why fedora?
Modern
GCC-4.8.2 (Fedora 20)
systemd

4 / 28
Ada in Fedora Linux
Why Fedora?
Advantages

Why fedora?
Modern
GCC-4.8.2 (Fedora 20)
systemd

Great Virtualization
Use different VMs for different compilers/versions/arches
Use snapshots to be safe
Use SPICE to use native GUI

5 / 28
Ada in Fedora Linux
Why Fedora?
Advantages

Why fedora?
Modern
GCC-4.8.2 (Fedora 20)
systemd

Great Virtualization
Use different VMs for different compilers/versions/arches
Use snapshots to be safe
Use SPICE to use native GUI

Wide community

6 / 28
Ada in Fedora Linux
Why Fedora?
Advantages

Why fedora?
Modern
GCC-4.8.2 (Fedora 20)
systemd

Great Virtualization
Use different VMs for different compilers/versions/arches
Use snapshots to be safe
Use SPICE to use native GUI

Wide community
The main reason is: Each Linux distribution must have Ada
stack!

7 / 28
Ada in Fedora Linux
Packaging issues

Issues
The latest versions are not properly tested and contain many
bugs.

8 / 28
Ada in Fedora Linux
Packaging issues

Issues
The latest versions are not properly tested and contain many
bugs.
Libraries are being updated frequently

9 / 28
Ada in Fedora Linux
Packaging issues

Issues
The latest versions are not properly tested and contain many
bugs.
Libraries are being updated frequently
Multilib support is not implemented by default

10 / 28
Ada in Fedora Linux
Packaging issues

Issues
The latest versions are not properly tested and contain many
bugs.
Libraries are being updated frequently
Multilib support is not implemented by default
Build systems of the packages do not follow any standards

11 / 28
Ada in Fedora Linux
Packaging issues

Issues
The latest versions are not properly tested and contain many
bugs.
Libraries are being updated frequently
Multilib support is not implemented by default
Build systems of the packages do not follow any standards
Almost all packages are linked statically

12 / 28
Ada in Fedora Linux
Packaging issues

Issues
The latest versions are not properly tested and contain many
bugs.
Libraries are being updated frequently
Multilib support is not implemented by default
Build systems of the packages do not follow any standards
Almost all packages are linked statically
GNAT-GPL is not packaged because of fedora policies.

13 / 28
Ada in Fedora Linux
Packaging issues

Issues
The latest versions are not properly tested and contain many
bugs.
Libraries are being updated frequently
Multilib support is not implemented by default
Build systems of the packages do not follow any standards
Almost all packages are linked statically
GNAT-GPL is not packaged because of fedora policies.
ASIS and DSA is not packaged because of there is no
GNAT-GPL in fedora

14 / 28
Ada in Fedora Linux
Guidelines

Guidelines
No static libs allowed*
./confugire –build-shared
make -XLIBRARY TYPE=dynamic
patching

15 / 28
Ada in Fedora Linux
Guidelines

Guidelines
No static libs allowed*
./confugire –build-shared
make -XLIBRARY TYPE=dynamic
patching

No bundled libs allowed
rm -rf zlib
remove it from gpr files patching

16 / 28
Ada in Fedora Linux
Guidelines

Guidelines
No static libs allowed*
./confugire –build-shared
make -XLIBRARY TYPE=dynamic
patching

No bundled libs allowed
rm -rf zlib
remove it from gpr files patching

Versioned libraries required

17 / 28
Ada in Fedora Linux
Guidelines

Guidelines
No static libs allowed*
./confugire –build-shared
make -XLIBRARY TYPE=dynamic
patching

No bundled libs allowed
rm -rf zlib
remove it from gpr files patching

Versioned libraries required
Directories project MUST be included to support multilib
”with directories;
for Library Dir use Directories.Libdir & ”myniceproject”;

18 / 28
Ada in Fedora Linux
Guidelines

Guidelines cont.
The package MUST be compiled using Fedora optimization
flags*
gcc -c -O2 -gnatn -gnatws -gnat05 -O2 -g -pipe -Wall
-Wp,-D FORTIFY SOURCE=2 -fexceptions
-fstack-protector-strong –param=ssp-buffer-size=4
-grecord-gcc-switches -m64 -mtune=generic -gnatn -gnat-p
-gnatVd -gnatwn -gnatyN gnatcoll-readline.adb

19 / 28
Ada in Fedora Linux
Guidelines

Guidelines cont.
The package MUST be compiled using Fedora optimization
flags*
gcc -c -O2 -gnatn -gnatws -gnat05 -O2 -g -pipe -Wall
-Wp,-D FORTIFY SOURCE=2 -fexceptions
-fstack-protector-strong –param=ssp-buffer-size=4
-grecord-gcc-switches -m64 -mtune=generic -gnatn -gnat-p
-gnatVd -gnatwn -gnatyN gnatcoll-readline.adb

Unversioned libraries (symlinks) and ad[bs] files placed in
-devel package

20 / 28
Ada in Fedora Linux
Guidelines

Guidelines cont.
The package MUST be compiled using Fedora optimization
flags*
gcc -c -O2 -gnatn -gnatws -gnat05 -O2 -g -pipe -Wall
-Wp,-D FORTIFY SOURCE=2 -fexceptions
-fstack-protector-strong –param=ssp-buffer-size=4
-grecord-gcc-switches -m64 -mtune=generic -gnatn -gnat-p
-gnatVd -gnatwn -gnatyN gnatcoll-readline.adb

Unversioned libraries (symlinks) and ad[bs] files placed in
-devel package
Project files MUST be architecture-independent and placed
under % GNAT project dir (/usr/share/gpr)

21 / 28
Ada in Fedora Linux
Multilib support

To make you package according with Fedora packaging guidelines:
Add option to build shared libraries

22 / 28
Ada in Fedora Linux
Multilib support

To make you package according with Fedora packaging guidelines:
Add option to build shared libraries
Add ”with directories;” to the gpr use clauses and use ”for
Library Dir use Directories.LibDir & ”name””

23 / 28
Ada in Fedora Linux
Multilib support

To make you package according with Fedora packaging guidelines:
Add option to build shared libraries
Add ”with directories;” to the gpr use clauses and use ”for
Library Dir use Directories.LibDir & ”name””
OR add library dir/include dir options to configure/makefile
options

24 / 28
Ada in Fedora Linux
List of packages

Packages
Name
aunit
aws
florist
gela-asis
gnatcoll
gprbuild
GtkAda
matreshka

Version
2012
2013
2011
0.3.1
2013
2013
2.24.2
0.6.0

xmlada
zeromq-ada

2013
git

Summary
Unit test framework
Ada Web Server
IEEE Standard 1003.5b-1996 implement.
ASIS implementation
Suite of reusable software components
Ada project builder
Gtk binding
Set of libraries: text codecs, XML, FastCGI,
SQL, UML. etc
Full XML stack for Ada
Ada bindings for zeromq

25 / 28
Ada in Fedora Linux
Our plans

Our plans

ARM and ARM64 support
New packages coming soon:
PolyORB - without DSA
GtkAda v3 - as alternative library
QtAda - http://qtada.com
GPS is really needed. Patches are welcomed!
YourNicePackage.rpm

Ada group in comps ”yum groupinstall Ada”
Ada Special Interest Group (SIG)

26 / 28
Ada in Fedora Linux
Resources

Resources

https://fedoraproject.org/wiki/Ada
https://fedoraproject.org/wiki/Packaging:Ada
https://admin.fedoraproject.org/mailman/listinfo/ada

27 / 28
Ada in Fedora Linux
Resources

Interesting thing: Ada in Russian sounds like ”hell’. Ada language sounds line ”Language of hell”, Ada
programming sounds like ”programming in hell” and so on.

28 / 28

More Related Content

What's hot

Embedded Recipes 2019 - Remote update adventures with RAUC, Yocto and Barebox
Embedded Recipes 2019 - Remote update adventures with RAUC, Yocto and BareboxEmbedded Recipes 2019 - Remote update adventures with RAUC, Yocto and Barebox
Embedded Recipes 2019 - Remote update adventures with RAUC, Yocto and BareboxAnne Nicolas
 
Run Qt on Linux embedded systems using Yocto
Run Qt on Linux embedded systems using YoctoRun Qt on Linux embedded systems using Yocto
Run Qt on Linux embedded systems using YoctoMarco Cavallini
 
Lab Document on HP ProLiant value add tools on Linux
Lab Document on HP ProLiant value add tools on LinuxLab Document on HP ProLiant value add tools on Linux
Lab Document on HP ProLiant value add tools on LinuxBruno Cornec
 
Autobuilder2 Yocto Project Summit Lyon 2019
Autobuilder2 Yocto Project Summit Lyon 2019Autobuilder2 Yocto Project Summit Lyon 2019
Autobuilder2 Yocto Project Summit Lyon 2019Marco Cavallini
 
Yocto Project Dev Day Prague 2017 - Advanced class - Kernel modules with eSDK
Yocto Project Dev Day Prague 2017 - Advanced class - Kernel modules with eSDKYocto Project Dev Day Prague 2017 - Advanced class - Kernel modules with eSDK
Yocto Project Dev Day Prague 2017 - Advanced class - Kernel modules with eSDKMarco Cavallini
 
Poky meets Debian: Understanding how to make an embedded Linux by using an ex...
Poky meets Debian: Understanding how to make an embedded Linux by using an ex...Poky meets Debian: Understanding how to make an embedded Linux by using an ex...
Poky meets Debian: Understanding how to make an embedded Linux by using an ex...Yoshitake Kobayashi
 
BKK16-301A Expanding the Enterprise Landscape in Centos
BKK16-301A Expanding the Enterprise Landscape in CentosBKK16-301A Expanding the Enterprise Landscape in Centos
BKK16-301A Expanding the Enterprise Landscape in CentosLinaro
 
Running Android on the Raspberry Pi: Android Pie meets Raspberry Pi
Running Android on the Raspberry Pi: Android Pie meets Raspberry PiRunning Android on the Raspberry Pi: Android Pie meets Raspberry Pi
Running Android on the Raspberry Pi: Android Pie meets Raspberry PiChris Simmonds
 
Creating new Tizen profiles using the Yocto Project
Creating new Tizen profiles  using the Yocto ProjectCreating new Tizen profiles  using the Yocto Project
Creating new Tizen profiles using the Yocto ProjectLeon Anavi
 
Learning notes on Open Source License
Learning notes on Open Source License Learning notes on Open Source License
Learning notes on Open Source License SZ Lin
 
Picking a distro_1_
Picking a distro_1_Picking a distro_1_
Picking a distro_1_Henry Ho
 
HKG18-217 - OpenCDM/CDMi (Multi DRM) work with WPE & Chromium
HKG18-217 - OpenCDM/CDMi (Multi DRM) work with WPE & ChromiumHKG18-217 - OpenCDM/CDMi (Multi DRM) work with WPE & Chromium
HKG18-217 - OpenCDM/CDMi (Multi DRM) work with WPE & ChromiumLinaro
 
Multi-OS Continuous Packaging with docker and Project-Builder.org
Multi-OS Continuous Packaging with docker and Project-Builder.orgMulti-OS Continuous Packaging with docker and Project-Builder.org
Multi-OS Continuous Packaging with docker and Project-Builder.orgBruno Cornec
 
Distro Recipes 2013: What’s new in gcc 4.8?
Distro Recipes 2013: What’s new in gcc 4.8?Distro Recipes 2013: What’s new in gcc 4.8?
Distro Recipes 2013: What’s new in gcc 4.8?Anne Nicolas
 
The GPL: What It Means (And What It Doesn't) - WC Udaipur
The GPL: What It Means (And What It Doesn't) - WC UdaipurThe GPL: What It Means (And What It Doesn't) - WC Udaipur
The GPL: What It Means (And What It Doesn't) - WC UdaipurNancy Thanki
 
What should you know about Net Core?
What should you know about Net Core?What should you know about Net Core?
What should you know about Net Core?Damir Dobric
 

What's hot (20)

Embedded Recipes 2019 - Remote update adventures with RAUC, Yocto and Barebox
Embedded Recipes 2019 - Remote update adventures with RAUC, Yocto and BareboxEmbedded Recipes 2019 - Remote update adventures with RAUC, Yocto and Barebox
Embedded Recipes 2019 - Remote update adventures with RAUC, Yocto and Barebox
 
Run Qt on Linux embedded systems using Yocto
Run Qt on Linux embedded systems using YoctoRun Qt on Linux embedded systems using Yocto
Run Qt on Linux embedded systems using Yocto
 
up-down-stream-flows-20190411rzr
up-down-stream-flows-20190411rzrup-down-stream-flows-20190411rzr
up-down-stream-flows-20190411rzr
 
Lab Document on HP ProLiant value add tools on Linux
Lab Document on HP ProLiant value add tools on LinuxLab Document on HP ProLiant value add tools on Linux
Lab Document on HP ProLiant value add tools on Linux
 
Autobuilder2 Yocto Project Summit Lyon 2019
Autobuilder2 Yocto Project Summit Lyon 2019Autobuilder2 Yocto Project Summit Lyon 2019
Autobuilder2 Yocto Project Summit Lyon 2019
 
tizen-upstream-coop-tdc2014-pcoval
tizen-upstream-coop-tdc2014-pcovaltizen-upstream-coop-tdc2014-pcoval
tizen-upstream-coop-tdc2014-pcoval
 
Yocto Project Dev Day Prague 2017 - Advanced class - Kernel modules with eSDK
Yocto Project Dev Day Prague 2017 - Advanced class - Kernel modules with eSDKYocto Project Dev Day Prague 2017 - Advanced class - Kernel modules with eSDK
Yocto Project Dev Day Prague 2017 - Advanced class - Kernel modules with eSDK
 
Poky meets Debian: Understanding how to make an embedded Linux by using an ex...
Poky meets Debian: Understanding how to make an embedded Linux by using an ex...Poky meets Debian: Understanding how to make an embedded Linux by using an ex...
Poky meets Debian: Understanding how to make an embedded Linux by using an ex...
 
BKK16-301A Expanding the Enterprise Landscape in Centos
BKK16-301A Expanding the Enterprise Landscape in CentosBKK16-301A Expanding the Enterprise Landscape in Centos
BKK16-301A Expanding the Enterprise Landscape in Centos
 
Running Android on the Raspberry Pi: Android Pie meets Raspberry Pi
Running Android on the Raspberry Pi: Android Pie meets Raspberry PiRunning Android on the Raspberry Pi: Android Pie meets Raspberry Pi
Running Android on the Raspberry Pi: Android Pie meets Raspberry Pi
 
Creating new Tizen profiles using the Yocto Project
Creating new Tizen profiles  using the Yocto ProjectCreating new Tizen profiles  using the Yocto Project
Creating new Tizen profiles using the Yocto Project
 
Learning notes on Open Source License
Learning notes on Open Source License Learning notes on Open Source License
Learning notes on Open Source License
 
Picking a distro_1_
Picking a distro_1_Picking a distro_1_
Picking a distro_1_
 
HKG18-217 - OpenCDM/CDMi (Multi DRM) work with WPE & Chromium
HKG18-217 - OpenCDM/CDMi (Multi DRM) work with WPE & ChromiumHKG18-217 - OpenCDM/CDMi (Multi DRM) work with WPE & Chromium
HKG18-217 - OpenCDM/CDMi (Multi DRM) work with WPE & Chromium
 
Multi-OS Continuous Packaging with docker and Project-Builder.org
Multi-OS Continuous Packaging with docker and Project-Builder.orgMulti-OS Continuous Packaging with docker and Project-Builder.org
Multi-OS Continuous Packaging with docker and Project-Builder.org
 
Distro Recipes 2013: What’s new in gcc 4.8?
Distro Recipes 2013: What’s new in gcc 4.8?Distro Recipes 2013: What’s new in gcc 4.8?
Distro Recipes 2013: What’s new in gcc 4.8?
 
The GPL: What It Means (And What It Doesn't) - WC Udaipur
The GPL: What It Means (And What It Doesn't) - WC UdaipurThe GPL: What It Means (And What It Doesn't) - WC Udaipur
The GPL: What It Means (And What It Doesn't) - WC Udaipur
 
What should you know about Net Core?
What should you know about Net Core?What should you know about Net Core?
What should you know about Net Core?
 
Free Open Source Software - Introduction
Free Open Source Software - IntroductionFree Open Source Software - Introduction
Free Open Source Software - Introduction
 
Bringing Tizen to a Raspberry Pi 2 Near You
Bringing Tizen to a Raspberry Pi 2 Near YouBringing Tizen to a Raspberry Pi 2 Near You
Bringing Tizen to a Raspberry Pi 2 Near You
 

Viewers also liked

Elcometer 130 Salt Contamination Meter is quickly and accurately measures the...
Elcometer 130 Salt Contamination Meter is quickly and accurately measures the...Elcometer 130 Salt Contamination Meter is quickly and accurately measures the...
Elcometer 130 Salt Contamination Meter is quickly and accurately measures the...MM Naina Exports
 
Applications of cleanrooms in various industry
Applications of cleanrooms in various industryApplications of cleanrooms in various industry
Applications of cleanrooms in various industryMM Naina Exports
 
Posadi.si - napredni forum za izmenjavo znanj
Posadi.si - napredni forum za izmenjavo znanjPosadi.si - napredni forum za izmenjavo znanj
Posadi.si - napredni forum za izmenjavo znanjposadisi
 
Elcometer 456 integral dry film coating thickness gauge sets new standards ma...
Elcometer 456 integral dry film coating thickness gauge sets new standards ma...Elcometer 456 integral dry film coating thickness gauge sets new standards ma...
Elcometer 456 integral dry film coating thickness gauge sets new standards ma...MM Naina Exports
 
Elcometer 139-amine-test-kit-new
Elcometer 139-amine-test-kit-newElcometer 139-amine-test-kit-new
Elcometer 139-amine-test-kit-newMM Naina Exports
 

Viewers also liked (11)

Fedora
FedoraFedora
Fedora
 
Elcometer 130 Salt Contamination Meter is quickly and accurately measures the...
Elcometer 130 Salt Contamination Meter is quickly and accurately measures the...Elcometer 130 Salt Contamination Meter is quickly and accurately measures the...
Elcometer 130 Salt Contamination Meter is quickly and accurately measures the...
 
Applications of cleanrooms in various industry
Applications of cleanrooms in various industryApplications of cleanrooms in various industry
Applications of cleanrooms in various industry
 
Posadi.si - napredni forum za izmenjavo znanj
Posadi.si - napredni forum za izmenjavo znanjPosadi.si - napredni forum za izmenjavo znanj
Posadi.si - napredni forum za izmenjavo znanj
 
onet ปี52
onet ปี52onet ปี52
onet ปี52
 
Elcometer 456 integral dry film coating thickness gauge sets new standards ma...
Elcometer 456 integral dry film coating thickness gauge sets new standards ma...Elcometer 456 integral dry film coating thickness gauge sets new standards ma...
Elcometer 456 integral dry film coating thickness gauge sets new standards ma...
 
Kejriwal
KejriwalKejriwal
Kejriwal
 
1 network intro
1 network intro1 network intro
1 network intro
 
Testo Narrativo
Testo NarrativoTesto Narrativo
Testo Narrativo
 
onet ปี 55
onet ปี 55onet ปี 55
onet ปี 55
 
Elcometer 139-amine-test-kit-new
Elcometer 139-amine-test-kit-newElcometer 139-amine-test-kit-new
Elcometer 139-amine-test-kit-new
 

Similar to Ada in Fedora linux

Effectively using Open Source with conda
Effectively using Open Source with condaEffectively using Open Source with conda
Effectively using Open Source with condaTravis Oliphant
 
PURL and vers: The Mostly Universal Package URL and Version Ranges Identifier...
PURL and vers: The Mostly Universal Package URL and Version Ranges Identifier...PURL and vers: The Mostly Universal Package URL and Version Ranges Identifier...
PURL and vers: The Mostly Universal Package URL and Version Ranges Identifier...Michael Herzog
 
Free Sorftware Research at Irill (highlights)
Free Sorftware Research at Irill (highlights)Free Sorftware Research at Irill (highlights)
Free Sorftware Research at Irill (highlights)Roberto Di Cosmo
 
Zararfa SummerCamp 2012 - Fedora update & PAM-MAPI Zarafa Ready certified com...
Zararfa SummerCamp 2012 - Fedora update & PAM-MAPI Zarafa Ready certified com...Zararfa SummerCamp 2012 - Fedora update & PAM-MAPI Zarafa Ready certified com...
Zararfa SummerCamp 2012 - Fedora update & PAM-MAPI Zarafa Ready certified com...Zarafa
 
Bringing-it-all-together-overview-of-rpm-packaging-in-fedora
Bringing-it-all-together-overview-of-rpm-packaging-in-fedoraBringing-it-all-together-overview-of-rpm-packaging-in-fedora
Bringing-it-all-together-overview-of-rpm-packaging-in-fedoraLalatendu Mohanty
 
Yocto vs. Debian white paper
Yocto vs. Debian white paperYocto vs. Debian white paper
Yocto vs. Debian white paperMads Doré
 
Distributions and package management in the containers era
Distributions and package management in the containers eraDistributions and package management in the containers era
Distributions and package management in the containers eranussbauml
 
Moving fast and slow at the same time lifecycle commitments across major os r...
Moving fast and slow at the same time lifecycle commitments across major os r...Moving fast and slow at the same time lifecycle commitments across major os r...
Moving fast and slow at the same time lifecycle commitments across major os r...Adam Šamalík
 
The Gory Details of Debian packages
The Gory Details of Debian packagesThe Gory Details of Debian packages
The Gory Details of Debian packagesJeremiah Foster
 
Introduction to Fedora project and Fedora.Next
Introduction to Fedora project and Fedora.NextIntroduction to Fedora project and Fedora.Next
Introduction to Fedora project and Fedora.NextPravin Satpute
 
CentOS Stream at Facebook
CentOS Stream at FacebookCentOS Stream at Facebook
CentOS Stream at FacebookDavide Cavalca
 
Debian Packaging tutorial
Debian Packaging tutorialDebian Packaging tutorial
Debian Packaging tutorialnussbauml
 
Building community with CentOS Stream
Building community with CentOS StreamBuilding community with CentOS Stream
Building community with CentOS StreamDavide Cavalca
 
Building distribution packages with Docker
Building distribution packages with DockerBuilding distribution packages with Docker
Building distribution packages with DockerBruno Cornec
 
Debian packaging talk, Pysheff sept 2012
Debian packaging talk, Pysheff sept 2012Debian packaging talk, Pysheff sept 2012
Debian packaging talk, Pysheff sept 2012takluyver
 
Docker based-pipelines
Docker based-pipelinesDocker based-pipelines
Docker based-pipelinesDevOps.com
 

Similar to Ada in Fedora linux (20)

Effectively using Open Source with conda
Effectively using Open Source with condaEffectively using Open Source with conda
Effectively using Open Source with conda
 
PURL and vers: The Mostly Universal Package URL and Version Ranges Identifier...
PURL and vers: The Mostly Universal Package URL and Version Ranges Identifier...PURL and vers: The Mostly Universal Package URL and Version Ranges Identifier...
PURL and vers: The Mostly Universal Package URL and Version Ranges Identifier...
 
Free Sorftware Research at Irill (highlights)
Free Sorftware Research at Irill (highlights)Free Sorftware Research at Irill (highlights)
Free Sorftware Research at Irill (highlights)
 
Zararfa SummerCamp 2012 - Fedora update & PAM-MAPI Zarafa Ready certified com...
Zararfa SummerCamp 2012 - Fedora update & PAM-MAPI Zarafa Ready certified com...Zararfa SummerCamp 2012 - Fedora update & PAM-MAPI Zarafa Ready certified com...
Zararfa SummerCamp 2012 - Fedora update & PAM-MAPI Zarafa Ready certified com...
 
Bringing-it-all-together-overview-of-rpm-packaging-in-fedora
Bringing-it-all-together-overview-of-rpm-packaging-in-fedoraBringing-it-all-together-overview-of-rpm-packaging-in-fedora
Bringing-it-all-together-overview-of-rpm-packaging-in-fedora
 
Yocto vs. Debian white paper
Yocto vs. Debian white paperYocto vs. Debian white paper
Yocto vs. Debian white paper
 
Distributions and package management in the containers era
Distributions and package management in the containers eraDistributions and package management in the containers era
Distributions and package management in the containers era
 
Moving fast and slow at the same time lifecycle commitments across major os r...
Moving fast and slow at the same time lifecycle commitments across major os r...Moving fast and slow at the same time lifecycle commitments across major os r...
Moving fast and slow at the same time lifecycle commitments across major os r...
 
The Gory Details of Debian packages
The Gory Details of Debian packagesThe Gory Details of Debian packages
The Gory Details of Debian packages
 
Introduction to Fedora project and Fedora.Next
Introduction to Fedora project and Fedora.NextIntroduction to Fedora project and Fedora.Next
Introduction to Fedora project and Fedora.Next
 
CentOS Stream at Facebook
CentOS Stream at FacebookCentOS Stream at Facebook
CentOS Stream at Facebook
 
F17 inside
F17 insideF17 inside
F17 inside
 
Debian Packaging tutorial
Debian Packaging tutorialDebian Packaging tutorial
Debian Packaging tutorial
 
libdash 2.0
libdash 2.0libdash 2.0
libdash 2.0
 
Building community with CentOS Stream
Building community with CentOS StreamBuilding community with CentOS Stream
Building community with CentOS Stream
 
Building distribution packages with Docker
Building distribution packages with DockerBuilding distribution packages with Docker
Building distribution packages with Docker
 
Debian packaging talk, Pysheff sept 2012
Debian packaging talk, Pysheff sept 2012Debian packaging talk, Pysheff sept 2012
Debian packaging talk, Pysheff sept 2012
 
Fedora24
Fedora24Fedora24
Fedora24
 
Linuxconcepts
LinuxconceptsLinuxconcepts
Linuxconcepts
 
Docker based-pipelines
Docker based-pipelinesDocker based-pipelines
Docker based-pipelines
 

Recently uploaded

AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesAI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesMd Hossain Ali
 
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdfIaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdfDaniel Santiago Silva Capera
 
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsIgniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsSafe Software
 
OpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureOpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureEric D. Schabell
 
Computer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsComputer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsSeth Reyes
 
Designing A Time bound resource download URL
Designing A Time bound resource download URLDesigning A Time bound resource download URL
Designing A Time bound resource download URLRuncy Oommen
 
Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024SkyPlanner
 
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online CollaborationCOMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online Collaborationbruanjhuli
 
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UbiTrack UK
 
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1DianaGray10
 
Linked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesLinked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesDavid Newbury
 
Nanopower In Semiconductor Industry.pdf
Nanopower  In Semiconductor Industry.pdfNanopower  In Semiconductor Industry.pdf
Nanopower In Semiconductor Industry.pdfPedro Manuel
 
20230202 - Introduction to tis-py
20230202 - Introduction to tis-py20230202 - Introduction to tis-py
20230202 - Introduction to tis-pyJamie (Taka) Wang
 
Comparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioComparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioChristian Posta
 
VoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBXVoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBXTarek Kalaji
 
Cybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxCybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxGDSC PJATK
 
UiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPathCommunity
 
How Accurate are Carbon Emissions Projections?
How Accurate are Carbon Emissions Projections?How Accurate are Carbon Emissions Projections?
How Accurate are Carbon Emissions Projections?IES VE
 
NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopNIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopBachir Benyammi
 

Recently uploaded (20)

AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesAI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
 
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdfIaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
 
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsIgniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
 
201610817 - edge part1
201610817 - edge part1201610817 - edge part1
201610817 - edge part1
 
OpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureOpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability Adventure
 
Computer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsComputer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and Hazards
 
Designing A Time bound resource download URL
Designing A Time bound resource download URLDesigning A Time bound resource download URL
Designing A Time bound resource download URL
 
Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024
 
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online CollaborationCOMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
 
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
 
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
 
Linked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesLinked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond Ontologies
 
Nanopower In Semiconductor Industry.pdf
Nanopower  In Semiconductor Industry.pdfNanopower  In Semiconductor Industry.pdf
Nanopower In Semiconductor Industry.pdf
 
20230202 - Introduction to tis-py
20230202 - Introduction to tis-py20230202 - Introduction to tis-py
20230202 - Introduction to tis-py
 
Comparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioComparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and Istio
 
VoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBXVoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBX
 
Cybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxCybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptx
 
UiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation Developers
 
How Accurate are Carbon Emissions Projections?
How Accurate are Carbon Emissions Projections?How Accurate are Carbon Emissions Projections?
How Accurate are Carbon Emissions Projections?
 
NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopNIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 Workshop
 

Ada in Fedora linux

  • 1. Ada in Fedora Linux Ada in Fedora Linux Present and future Pavel Zhukov FOSDEM’14 1 / 28
  • 2. Ada in Fedora Linux Why Fedora? Fedora Project Overview Advantages Packaging issues Guidelines Multilib support List of packages Our plans Resources 2 / 28
  • 3. Ada in Fedora Linux Why Fedora? Fedora Project Overview FedoraProject We believe we should use and distribute the software and content we promote to accomplish our mission of advancing free software. We provide free alternatives to proprietary code and content to make Fedora completely free and redistributable for everyone. That way, anyone can use any of our work for their own purposes, without legal hassles, to further spread free software. We believe success comes from a strong community, made of people from around the world, working together. There’s a place in Fedora for anyone who supports our values and wants to help. By collaborating with each other openly and transparently, and with a strong, supportive partnership with our sponsors, we can achieve great things. We believe the hard work of creating new technical features makes free software more powerful, flexible, and useful for millions of people. We don’t mind shaking up the status quo, when it means we can more effectively move free software forward. And we do it by collaborating directly with the many software communities whose work is distributed by Fedora. That way everyone benefits, regardless of whether they use Fedora or not. We believe in the power of innovation and showing off new work in our releases. Since we release twice a year, you never have to wait long to see the latest and greatest software, while there are other Linux products derived from Fedora you can use for long-term stability. We always keep Fedora moving forward so that you can see the future first. 3 / 28
  • 4. Ada in Fedora Linux Why Fedora? Advantages Why fedora? Modern GCC-4.8.2 (Fedora 20) systemd 4 / 28
  • 5. Ada in Fedora Linux Why Fedora? Advantages Why fedora? Modern GCC-4.8.2 (Fedora 20) systemd Great Virtualization Use different VMs for different compilers/versions/arches Use snapshots to be safe Use SPICE to use native GUI 5 / 28
  • 6. Ada in Fedora Linux Why Fedora? Advantages Why fedora? Modern GCC-4.8.2 (Fedora 20) systemd Great Virtualization Use different VMs for different compilers/versions/arches Use snapshots to be safe Use SPICE to use native GUI Wide community 6 / 28
  • 7. Ada in Fedora Linux Why Fedora? Advantages Why fedora? Modern GCC-4.8.2 (Fedora 20) systemd Great Virtualization Use different VMs for different compilers/versions/arches Use snapshots to be safe Use SPICE to use native GUI Wide community The main reason is: Each Linux distribution must have Ada stack! 7 / 28
  • 8. Ada in Fedora Linux Packaging issues Issues The latest versions are not properly tested and contain many bugs. 8 / 28
  • 9. Ada in Fedora Linux Packaging issues Issues The latest versions are not properly tested and contain many bugs. Libraries are being updated frequently 9 / 28
  • 10. Ada in Fedora Linux Packaging issues Issues The latest versions are not properly tested and contain many bugs. Libraries are being updated frequently Multilib support is not implemented by default 10 / 28
  • 11. Ada in Fedora Linux Packaging issues Issues The latest versions are not properly tested and contain many bugs. Libraries are being updated frequently Multilib support is not implemented by default Build systems of the packages do not follow any standards 11 / 28
  • 12. Ada in Fedora Linux Packaging issues Issues The latest versions are not properly tested and contain many bugs. Libraries are being updated frequently Multilib support is not implemented by default Build systems of the packages do not follow any standards Almost all packages are linked statically 12 / 28
  • 13. Ada in Fedora Linux Packaging issues Issues The latest versions are not properly tested and contain many bugs. Libraries are being updated frequently Multilib support is not implemented by default Build systems of the packages do not follow any standards Almost all packages are linked statically GNAT-GPL is not packaged because of fedora policies. 13 / 28
  • 14. Ada in Fedora Linux Packaging issues Issues The latest versions are not properly tested and contain many bugs. Libraries are being updated frequently Multilib support is not implemented by default Build systems of the packages do not follow any standards Almost all packages are linked statically GNAT-GPL is not packaged because of fedora policies. ASIS and DSA is not packaged because of there is no GNAT-GPL in fedora 14 / 28
  • 15. Ada in Fedora Linux Guidelines Guidelines No static libs allowed* ./confugire –build-shared make -XLIBRARY TYPE=dynamic patching 15 / 28
  • 16. Ada in Fedora Linux Guidelines Guidelines No static libs allowed* ./confugire –build-shared make -XLIBRARY TYPE=dynamic patching No bundled libs allowed rm -rf zlib remove it from gpr files patching 16 / 28
  • 17. Ada in Fedora Linux Guidelines Guidelines No static libs allowed* ./confugire –build-shared make -XLIBRARY TYPE=dynamic patching No bundled libs allowed rm -rf zlib remove it from gpr files patching Versioned libraries required 17 / 28
  • 18. Ada in Fedora Linux Guidelines Guidelines No static libs allowed* ./confugire –build-shared make -XLIBRARY TYPE=dynamic patching No bundled libs allowed rm -rf zlib remove it from gpr files patching Versioned libraries required Directories project MUST be included to support multilib ”with directories; for Library Dir use Directories.Libdir & ”myniceproject”; 18 / 28
  • 19. Ada in Fedora Linux Guidelines Guidelines cont. The package MUST be compiled using Fedora optimization flags* gcc -c -O2 -gnatn -gnatws -gnat05 -O2 -g -pipe -Wall -Wp,-D FORTIFY SOURCE=2 -fexceptions -fstack-protector-strong –param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -gnatn -gnat-p -gnatVd -gnatwn -gnatyN gnatcoll-readline.adb 19 / 28
  • 20. Ada in Fedora Linux Guidelines Guidelines cont. The package MUST be compiled using Fedora optimization flags* gcc -c -O2 -gnatn -gnatws -gnat05 -O2 -g -pipe -Wall -Wp,-D FORTIFY SOURCE=2 -fexceptions -fstack-protector-strong –param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -gnatn -gnat-p -gnatVd -gnatwn -gnatyN gnatcoll-readline.adb Unversioned libraries (symlinks) and ad[bs] files placed in -devel package 20 / 28
  • 21. Ada in Fedora Linux Guidelines Guidelines cont. The package MUST be compiled using Fedora optimization flags* gcc -c -O2 -gnatn -gnatws -gnat05 -O2 -g -pipe -Wall -Wp,-D FORTIFY SOURCE=2 -fexceptions -fstack-protector-strong –param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -gnatn -gnat-p -gnatVd -gnatwn -gnatyN gnatcoll-readline.adb Unversioned libraries (symlinks) and ad[bs] files placed in -devel package Project files MUST be architecture-independent and placed under % GNAT project dir (/usr/share/gpr) 21 / 28
  • 22. Ada in Fedora Linux Multilib support To make you package according with Fedora packaging guidelines: Add option to build shared libraries 22 / 28
  • 23. Ada in Fedora Linux Multilib support To make you package according with Fedora packaging guidelines: Add option to build shared libraries Add ”with directories;” to the gpr use clauses and use ”for Library Dir use Directories.LibDir & ”name”” 23 / 28
  • 24. Ada in Fedora Linux Multilib support To make you package according with Fedora packaging guidelines: Add option to build shared libraries Add ”with directories;” to the gpr use clauses and use ”for Library Dir use Directories.LibDir & ”name”” OR add library dir/include dir options to configure/makefile options 24 / 28
  • 25. Ada in Fedora Linux List of packages Packages Name aunit aws florist gela-asis gnatcoll gprbuild GtkAda matreshka Version 2012 2013 2011 0.3.1 2013 2013 2.24.2 0.6.0 xmlada zeromq-ada 2013 git Summary Unit test framework Ada Web Server IEEE Standard 1003.5b-1996 implement. ASIS implementation Suite of reusable software components Ada project builder Gtk binding Set of libraries: text codecs, XML, FastCGI, SQL, UML. etc Full XML stack for Ada Ada bindings for zeromq 25 / 28
  • 26. Ada in Fedora Linux Our plans Our plans ARM and ARM64 support New packages coming soon: PolyORB - without DSA GtkAda v3 - as alternative library QtAda - http://qtada.com GPS is really needed. Patches are welcomed! YourNicePackage.rpm Ada group in comps ”yum groupinstall Ada” Ada Special Interest Group (SIG) 26 / 28
  • 27. Ada in Fedora Linux Resources Resources https://fedoraproject.org/wiki/Ada https://fedoraproject.org/wiki/Packaging:Ada https://admin.fedoraproject.org/mailman/listinfo/ada 27 / 28
  • 28. Ada in Fedora Linux Resources Interesting thing: Ada in Russian sounds like ”hell’. Ada language sounds line ”Language of hell”, Ada programming sounds like ”programming in hell” and so on. 28 / 28