ada in fedora linux

28
Ada in Fedora Linux Ada in Fedora Linux Present and future Pavel Zhukov FOSDEM’14 1 / 28

Upload: pavel-zhukov

Post on 26-Jun-2015

382 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: Ada in Fedora linux

Ada in Fedora Linux

Ada in Fedora LinuxPresent and future

Pavel Zhukov

FOSDEM’14

1 / 28

Page 2: Ada in Fedora linux

Ada in Fedora Linux

Why Fedora?Fedora Project OverviewAdvantages

Packaging issues

Guidelines

Multilib support

List of packages

Our plans

Resources

2 / 28

Page 3: Ada in Fedora linux

Ada in Fedora Linux

Why Fedora?

Fedora Project Overview

FedoraProject

We believe we should use and dis-tribute the software and content wepromote to accomplish our mission ofadvancing free software. We providefree alternatives to proprietary codeand content to make Fedora com-

pletely 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 astrong community, made of peoplefrom around the world, working to-gether. There’s a place in Fedorafor anyone who supports our valuesand wants to help. By collaborating

with each other openly and transparently, and with astrong, supportive partnership with our sponsors, wecan achieve great things.

We believe the hard work of creatingnew technical features makes free soft-ware more powerful, flexible, and use-ful for millions of people. We don’tmind shaking up the status quo, whenit means we can more effectively move

free software forward. And we do it by collaboratingdirectly with the many software communities whosework is distributed by Fedora. That way everyone ben-efits, regardless of whether they use Fedora or not.

We believe in the power of innovationand showing off new work in our re-leases. Since we release twice a year,you never have to wait long to seethe latest and greatest software, whilethere are other Linux products derived

from Fedora you can use for long-term stability. Wealways keep Fedora moving forward so that you cansee the future first.

3 / 28

Page 4: Ada in Fedora linux

Ada in Fedora Linux

Why Fedora?

Advantages

Why fedora?

I ModernI GCC-4.8.2 (Fedora 20)I systemd

I Great VirtualizationI Use different VMs for different compilers/versions/archesI Use snapshots to be safeI Use SPICE to use native GUI

I Wide community

I The main reason is: Each Linux distribution must have Adastack!

4 / 28

Page 5: Ada in Fedora linux

Ada in Fedora Linux

Why Fedora?

Advantages

Why fedora?

I ModernI GCC-4.8.2 (Fedora 20)I systemd

I Great VirtualizationI Use different VMs for different compilers/versions/archesI Use snapshots to be safeI Use SPICE to use native GUI

I Wide community

I The main reason is: Each Linux distribution must have Adastack!

5 / 28

Page 6: Ada in Fedora linux

Ada in Fedora Linux

Why Fedora?

Advantages

Why fedora?

I ModernI GCC-4.8.2 (Fedora 20)I systemd

I Great VirtualizationI Use different VMs for different compilers/versions/archesI Use snapshots to be safeI Use SPICE to use native GUI

I Wide community

I The main reason is: Each Linux distribution must have Adastack!

6 / 28

Page 7: Ada in Fedora linux

Ada in Fedora Linux

Why Fedora?

Advantages

Why fedora?

I ModernI GCC-4.8.2 (Fedora 20)I systemd

I Great VirtualizationI Use different VMs for different compilers/versions/archesI Use snapshots to be safeI Use SPICE to use native GUI

I Wide community

I The main reason is: Each Linux distribution must have Adastack!

7 / 28

Page 8: Ada in Fedora linux

Ada in Fedora Linux

Packaging issues

Issues

I The latest versions are not properly tested and contain manybugs.

I Libraries are being updated frequently

I Multilib support is not implemented by default

I Build systems of the packages do not follow any standards

I Almost all packages are linked statically

I GNAT-GPL is not packaged because of fedora policies.

I ASIS and DSA is not packaged because of there is noGNAT-GPL in fedora

8 / 28

Page 9: Ada in Fedora linux

Ada in Fedora Linux

Packaging issues

Issues

I The latest versions are not properly tested and contain manybugs.

I Libraries are being updated frequently

I Multilib support is not implemented by default

I Build systems of the packages do not follow any standards

I Almost all packages are linked statically

I GNAT-GPL is not packaged because of fedora policies.

I ASIS and DSA is not packaged because of there is noGNAT-GPL in fedora

9 / 28

Page 10: Ada in Fedora linux

Ada in Fedora Linux

Packaging issues

Issues

I The latest versions are not properly tested and contain manybugs.

I Libraries are being updated frequently

I Multilib support is not implemented by default

I Build systems of the packages do not follow any standards

I Almost all packages are linked statically

I GNAT-GPL is not packaged because of fedora policies.

I ASIS and DSA is not packaged because of there is noGNAT-GPL in fedora

10 / 28

Page 11: Ada in Fedora linux

Ada in Fedora Linux

Packaging issues

Issues

I The latest versions are not properly tested and contain manybugs.

I Libraries are being updated frequently

I Multilib support is not implemented by default

I Build systems of the packages do not follow any standards

I Almost all packages are linked statically

I GNAT-GPL is not packaged because of fedora policies.

I ASIS and DSA is not packaged because of there is noGNAT-GPL in fedora

11 / 28

Page 12: Ada in Fedora linux

Ada in Fedora Linux

Packaging issues

Issues

I The latest versions are not properly tested and contain manybugs.

I Libraries are being updated frequently

I Multilib support is not implemented by default

I Build systems of the packages do not follow any standards

I Almost all packages are linked statically

I GNAT-GPL is not packaged because of fedora policies.

I ASIS and DSA is not packaged because of there is noGNAT-GPL in fedora

12 / 28

Page 13: Ada in Fedora linux

Ada in Fedora Linux

Packaging issues

Issues

I The latest versions are not properly tested and contain manybugs.

I Libraries are being updated frequently

I Multilib support is not implemented by default

I Build systems of the packages do not follow any standards

I Almost all packages are linked statically

I GNAT-GPL is not packaged because of fedora policies.

I ASIS and DSA is not packaged because of there is noGNAT-GPL in fedora

13 / 28

Page 14: Ada in Fedora linux

Ada in Fedora Linux

Packaging issues

Issues

I The latest versions are not properly tested and contain manybugs.

I Libraries are being updated frequently

I Multilib support is not implemented by default

I Build systems of the packages do not follow any standards

I Almost all packages are linked statically

I GNAT-GPL is not packaged because of fedora policies.

I ASIS and DSA is not packaged because of there is noGNAT-GPL in fedora

14 / 28

Page 15: Ada in Fedora linux

Ada in Fedora Linux

Guidelines

Guidelines

I No static libs allowed*I ./confugire –build-sharedI make -XLIBRARY TYPE=dynamicI patching /

I No bundled libs allowedI rm -rf zlibI remove it from gpr files patching /

I Versioned libraries requiredI Directories project MUST be included to support multilib

I ”with directories;for Library Dir use Directories.Libdir & ”myniceproject”;

15 / 28

Page 16: Ada in Fedora linux

Ada in Fedora Linux

Guidelines

Guidelines

I No static libs allowed*I ./confugire –build-sharedI make -XLIBRARY TYPE=dynamicI patching /

I No bundled libs allowedI rm -rf zlibI remove it from gpr files patching /

I Versioned libraries requiredI Directories project MUST be included to support multilib

I ”with directories;for Library Dir use Directories.Libdir & ”myniceproject”;

16 / 28

Page 17: Ada in Fedora linux

Ada in Fedora Linux

Guidelines

Guidelines

I No static libs allowed*I ./confugire –build-sharedI make -XLIBRARY TYPE=dynamicI patching /

I No bundled libs allowedI rm -rf zlibI remove it from gpr files patching /

I Versioned libraries required

I Directories project MUST be included to support multilibI ”with directories;

for Library Dir use Directories.Libdir & ”myniceproject”;

17 / 28

Page 18: Ada in Fedora linux

Ada in Fedora Linux

Guidelines

Guidelines

I No static libs allowed*I ./confugire –build-sharedI make -XLIBRARY TYPE=dynamicI patching /

I No bundled libs allowedI rm -rf zlibI remove it from gpr files patching /

I Versioned libraries requiredI Directories project MUST be included to support multilib

I ”with directories;for Library Dir use Directories.Libdir & ”myniceproject”;

18 / 28

Page 19: Ada in Fedora linux

Ada in Fedora Linux

Guidelines

Guidelines cont.

I The package MUST be compiled using Fedora optimizationflags*

I 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

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

I Project files MUST be architecture-independent and placedunder % GNAT project dir (/usr/share/gpr)

19 / 28

Page 20: Ada in Fedora linux

Ada in Fedora Linux

Guidelines

Guidelines cont.

I The package MUST be compiled using Fedora optimizationflags*

I 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

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

I Project files MUST be architecture-independent and placedunder % GNAT project dir (/usr/share/gpr)

20 / 28

Page 21: Ada in Fedora linux

Ada in Fedora Linux

Guidelines

Guidelines cont.

I The package MUST be compiled using Fedora optimizationflags*

I 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

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

I Project files MUST be architecture-independent and placedunder % GNAT project dir (/usr/share/gpr)

21 / 28

Page 22: Ada in Fedora linux

Ada in Fedora Linux

Multilib support

To make you package according with Fedora packaging guidelines:

I Add option to build shared libraries

I Add ”with directories;” to the gpr use clauses and use ”forLibrary Dir use Directories.LibDir & ”name””

I OR add library dir/include dir options to configure/makefileoptions

22 / 28

Page 23: Ada in Fedora linux

Ada in Fedora Linux

Multilib support

To make you package according with Fedora packaging guidelines:

I Add option to build shared libraries

I Add ”with directories;” to the gpr use clauses and use ”forLibrary Dir use Directories.LibDir & ”name””

I OR add library dir/include dir options to configure/makefileoptions

23 / 28

Page 24: Ada in Fedora linux

Ada in Fedora Linux

Multilib support

To make you package according with Fedora packaging guidelines:

I Add option to build shared libraries

I Add ”with directories;” to the gpr use clauses and use ”forLibrary Dir use Directories.LibDir & ”name””

I OR add library dir/include dir options to configure/makefileoptions

24 / 28

Page 25: Ada in Fedora linux

Ada in Fedora Linux

List of packages

Packages

Name Version Summary

aunit 2012 Unit test frameworkaws 2013 Ada Web Serverflorist 2011 IEEE Standard 1003.5b-1996 implement.gela-asis 0.3.1 ASIS implementationgnatcoll 2013 Suite of reusable software componentsgprbuild 2013 Ada project builderGtkAda 2.24.2 Gtk bindingmatreshka 0.6.0 Set of libraries: text codecs, XML, FastCGI,

SQL, UML. etcxmlada 2013 Full XML stack for Adazeromq-ada git Ada bindings for zeromq

25 / 28

Page 26: Ada in Fedora linux

Ada in Fedora Linux

Our plans

Our plans

I ARM and ARM64 supportI New packages coming soon:

I PolyORB - without DSAI GtkAda v3 - as alternative libraryI QtAda - http://qtada.comI GPS is really needed. Patches are welcomed!I YourNicePackage.rpm /

I Ada group in comps ”yum groupinstall Ada”

I Ada Special Interest Group (SIG)

26 / 28

Page 27: Ada in Fedora linux

Ada in Fedora Linux

Resources

Resources

I https://fedoraproject.org/wiki/Ada

I https://fedoraproject.org/wiki/Packaging:Ada

I https://admin.fedoraproject.org/mailman/listinfo/ada

27 / 28

Page 28: Ada in Fedora linux

Ada in Fedora Linux

Resources

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

28 / 28