SlideShare ist ein Scribd-Unternehmen logo
1 von 28
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Was ist angesagt?

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
 

Was ist angesagt? (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
 

Andere mochten auch

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
 

Andere mochten auch (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
 

Ähnlich wie 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
 

Ähnlich wie 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
 

Kürzlich hochgeladen

The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 

Kürzlich hochgeladen (20)

The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 

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