initCommon(); $template->displayHeader(); ?>

7. Vad är nytt för utvecklare

7.1. Runtime

7.1.1. Python NSS bindings

Python bindings for NSS/NSPR allow Python programs to utilize the NSS cryptographic libraries for SSL/TLS and PKI certificate management. The python-nss package provides a Python binding to the NSS and NSPR support libraries.

Network Security Services (NSS) is a set of libraries supporting security-enabled client and server applications. Applications built with NSS can support SSL v2 and v3, TLS, PKCS #5, PKCS #7, PKCS #11, PKCS #12, S/MIME, X.509 v3 certificates and other security standards. NSS has received FIPS 140 validation from NIST.

7.2. Java

7.2.1. Java implementation som är det bästa av sitt slag för fri programvara

Fedora includes multiple best of breed free software Java(TM) implementations, obtained through active adoption of innovative technology integrations produced by Fedora and others within upstream projects. The implementations integrated into Fedora are based on OpenJDK (http://openjdk.java.net/) and the IcedTea GNU/Linux distribution integration project (http://icedtea.classpath.org/), or based on alternatives such as the GNU Compiler for Java (GCJ - http://gcc.gnu.org/java and the GNU Classpath core class libraries (http://www.gnu.org/software/classpath/). All Fedora innovations are pushed upstream to get the widest possible integration of the technologies in general Java implementations.

The implementation of OpenJDK 6 included in Fedora 10 uses the HotSpot virtual machine runtime compiler on x86, x86_64, and SPARC. On PowerPC (PPC) it uses the zero interpreter, which is slower. On all architectures an alternative implementation based on GCJ and GNU Classpath is included that includes an ahead-of-time compiler to produce native binaries.

Fedora binaries for selected architectures (currently only x86 and x86_64 based on OpenJDK) are tested against the Java Compatibility Kit (JCK) by Red Hat to guarantee 100% compatibility with the Java Specification (JDK 1.6 at this time).

7.2.2. Hantering av Java Applets och "web start"-program

In Fedora 10 gcjwebplugin has been replaced by IcedTeaPlugin, which runs untrusted applets safely in a Web browser and works on any architecture. You can see which Applet Plugin is installed by typing about:plugins in Firefox. The new plugin adds support for the JavaScript bridge (LiveConnect) that was missing from earlier versions. For more details on the bytecode-to-JavaScript bridge (LiveConnect), refer to the bug report:

https://bugzilla.redhat.com/show_bug.cgi?id=304021

Feedback on the security policy is appreciated. If you suspect the security policy may be too restrictive to enable restricted applets, follow this procedure:

  • Kör kommandot firefox -g i ett terminalfönster för att se vad som begränsar.

  • Then grant the restricted permission in the /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/jre/lib/security/java.policy file.

  • File a bug report, so your exception can be included in the packaged security policy. Packaging these exceptions allows system owners to avoid having to hack the policy file in the future.

Experimental Web Start (javaws) support via NetX has been added to the IcedTea repository. When a Java Network Launching Protocol (.jnlp) file is embedded on a web page you can open it with the IcedTea Web Start (/usr/bin/javaws). For more information on NetX, refer to:

http://jnlp.sourceforge.net/

7.2.3. Ny integration med andra Fedora-teknologier

Through the IcedTea project, OpenJDK has been integrated with several new technologies that are also part of Fedora 10.

7.2.3.1. VisualVM integration through the NetBeans framework

VisualVM (jvisualvm) provides a graphical overview of any local or remotely running Java application, letting you monitor all running threads, classes, and objects allocated by the application by taking thread dumps, heap dumps, and other lightweight profiling tools.

7.2.3.2. PulseAudio integration för javax.sound

PulseAudio integrations provides all the benefits of PulseAudio to any java application using the javax.sound package.

7.2.3.3. Integration av Mozilla Rhino - JavaScript

Rhino is a pure-Java JavaScript implementation from Mozilla providing an easy mixing of Java and JavaScript for developers using the javax.script package.

7.2.3.4. Andra förbättringar

Also in Fedora 10 Java cryptography (javax.crypto) is fully supported without any (regional) restrictions.

7.2.4. Fedora och JPackage

Fedora 10 innehåller många paket från JPackage-projektet.

http://jpackage.org

Some of these packages are modified in Fedora to remove proprietary software dependencies, and to make use of GCJ's ahead-of-time compilation feature. Use the Fedora repositories to update these packages, or use the JPackage repository for packages not provided by Fedora. Refer to the JPackage website for more information about the project and the software it provides.

[Warning] Blandning av paket från Fedora och JPackage

Undersök kompatibilitet mellan paketen innan du installerar programvara från både Fedora och JPackage förråd på samma system. Inkompatibla paket kan orsaka komplicerade problem.

7.2.5. Notis om uppgradering från Fedora 8 - OpenJDK ersätter IcedTea

Since Fedora 9 the packages called java-1.7.0-icedtea* in Fedora 8 have been renamed to java-1.6.0-openjdk*. The Fedora 8 IcedTea packages tracked the unstable OpenJDK 7 branch, whereas the java-1.6.0-openjdk* packages track the stable OpenJDK 6 branch. All the upstream IcedTea sources are included in the java-1.6.0-openjdk SRPM.

If you are upgrading from a system based on Fedora 8 that still has IcedTea installed, the package changeover does not happen automatically. The packages related to IcedTea based on OpenJDK 7 must first be erased, then the new OpenJDK 6 packages installed.

      su -c 'yum erase java-1.7.0-icedtea{,-plugin}' su -c 'yum install java-1.6.0-openjdk{,-plugin}'
    

Uppgradering från Fedora 9 kräver inga speciella åtgärder.

7.3. Verktyg

Denna sektion täcker diverse utvecklingsverktyg.

7.3.1. Eclipse

Denna utgåva av Fedora inkluderar Fedora Eclipse, baserad på Eclipse SDK version 3.4. Utgåvorna av 3.4-serien har en "Vad är i nytt i 3.4"-sida :

http://help.eclipse.org/stable/index.jsp?topic=/org.eclipse.platform.doc.user/whatsNew/platform_whatsnew.html

Utgåvenoteringar specifika för 3.4 finns också tillgängliga.

http://www.eclipse.org/eclipse/development/readme_eclipse_3.4.html

Some of the notable features in 3.4 include a number of improvements in handling bookmarks, easier ways to find and install plug-ins, and additional help with refactoring.

7.3.1.1. Ytterligare insticksmoduler

This release of Fedora includes plugins for C/C++ (eclipse-cdt), RPM specfile editing (eclipse-rpm-editor), PHP (eclipse-phpeclipse), Subversion (eclipse-subclipse), SELinux (eclipse-slide) and (eclipse-setools), regular expression testing (eclipse-quickrex), Fortran (eclipse-photran), Bugzilla integration (eclipse-mylyn), Git (eclipse-egit), Perl (eclipse-epic), Checkstyle (eclipse-checkstyle), and Python (eclipse-pydev).

7.3.1.2. Translations from the Babel project - eclipse-nls

This release also includes the Babel language packs, which provide translations for Eclipse and Eclipse plugins in a number of languages. Note that some of the languages have very low coverage: even if you have the translations installed, you will probably still see many strings in English. The Babel project accepts contributions if you would like to help their translation efforts.

http://www.eclipse.org/babel/

7.3.1.3. Uppgradera från Fedora 9

Users upgrading from Eclipse 3.3 will need to migrate any plug-ins they have installed from sources other than RPMs. The simplest way to do this is to re-install. For plug-in developers migrating from 3.3, refer to the "Plug-in Migration Guide":

http://help.eclipse.org/ganymede/nav/2_3

7.3.2. Emacs

Fedora 10 includes Emacs 22.2.

In addition to many bugfixes, Emacs 22.2 includes new support for the Bazaar, Mercurial, Monotone, and Git version control systems, new major modes for editing CSS, Vera, Verilog, and BibTeX style files, and improved scrolling support in Image mode.

For a detailed description of the changes see the Emacs news for the release (http://www.gnu.org/software/emacs/NEWS.22.2).

7.3.3. GCC-kompilatorsamlingen

Denna utgåva av Fedora är byggd med GCC 4.3.2, vilken är inkluderad i distributionen.

För mer information om GCC 4.3, se:

http://gcc.gnu.org/gcc-4.3/

7.3.3.1. Målspecifika förbättringar
7.3.3.1.1. IA-32 x86-64

Ändringar i ABI

  • Starting with GCC 4.3.1, decimal floating point variables are aligned to their natural boundaries when they are passed on the stack for i386.

Kommandoradsändringar

  • Starting with GCC 4.3.1, the -mcld option has been added to automatically generate a cld instruction in the prologue of functions that use string instructions. This option is used for backward compatibility on some operating systems and can be enabled by default for 32-bit x86 targets by configuring GCC with the --enable-cld configure option.

7.3.4. Förbättrat Haskell-stöd

Fedora 10 introduces better support for Haskell. With a new set of packaging guidelines and tools, it is incredibly easy to support any Haskell program using the Glasgow Haskell Compiler. Package creation and deployment, leveraging Fedora's quality tools plus a few new friends has never been easier. As support for Haskell grows there will be continued development for Haskell as more libraries are introduced.

Package creation is quite simple. Haskell already provides the infrastructure for compiling and deploying packages consistently. Setting up a package for Fedora takes very little time, meaning code that works in Haskell works in Fedora too.

Fedora also provides tools for enterprise deployment of Fedora packages. With the inclusion of Haskell in Fedora, the developer is now free to write enterprise level applications in Haskell and feel secure knowing the code can be used in Fedora.

https://fedoraproject.org/wiki/Features/GoodHaskellSupport

7.3.5. Extended Objective CAML OCaml Coverage

Fedora 10 contains the OCaml 3.10.2 advanced programming language and a very comprehensive list of packages:

http://cocan.org/getting_started_with_ocaml_on_red_hat_and_fedora#Package_status

OCaml was available as an update to Fedora 9 but not in the initial release.

7.3.6. NetBeans

This release of Fedora includes NetBeans IDE, version 6.1. NetBeans IDE is an Integrated Development Environment (IDE) for Java, C/C++, Ruby, PHP, etc. Default configuration of the NetBeans IDE (Java SE IDE configuration) supports development of programs for the Java platform, Standard Edition (Java SE), including development of the modules for the NetBeans Platform.

The NetBeans IDE is a modular system and includes facilities for updating and installing plugins. There is a wide spectrum of plugins for the NetBeans IDE that are provided by community members and third-party companies.

7.3.6.1. Resurser för NetBean

7.3.7. AMQP-Infrastruktur

The AMQP Infrastructure package is a subset of the Red Hat Enterprise MRG. The package allows for development of scalable, interoperable, and high-performance enterprise applications.

Mer detaljerat består den av följande.

  • AMQP (protokoll version 0-10) meddelande-mäklare/server

  • Client bindings for C++, Python, and Java (using the JMS interface)

  • A set of command line interface configuration/management utilities

  • A high-performance asynchronous message store for durable messages and messaging configuration.

7.3.7.1. AMQP-resurser

För mer information, använd följande resurser:

7.3.8. Appliance building tools

Appliances are pre-installed and pre-configured system images. This package includes tools and meta-data that make it easier for ISVs, developers, OEMS, etc. to create and deploy virtual appliances. The two components of this feature are the ACT (Appliance Creation Tool) and the AOS (The Appliance Operating System). Install the appliance-tools package with Add/Remove Software or yum.

7.3.8.1. Appliance Creation Tool

The Appliance Creation Tool is a tool that creates Appliance Images from a kickstart file. This tool uses the Live CD creator API as well as patches to the Live CD API that allow for the creation of multi-partitioned disk images. These disk images can then be booted in a virtual container such as Xen, KVM, and VMware. This tool is included in the appliance-tools package. This package contains tools for building appliance images on Fedora based systems including derived distributions such as RHEL, CentOS, and others.

7.3.8.2. Appliance Operating System

The Appliance Operating System is a scaled down version of Fedora with a small footprint. It contains only the packages necessary to run an appliance. The hardware supported by this spin of Fedora would be limited, primarily focusing on virtual containers such as KVM and VMware. The goal is to create a base on which developers can build their applications, only pulling in packages that their software requires.

7.3.8.3. Resurser för byggverktyg för Appliance

Projektsidor för Appliance Tool: http://thincrust.net/

7.4. Linux-kärnan

[Tip] Föråldrat eller för gammalt innehåll?

This content may be deprecated or out of date, it has not been updated since the Fedora 9 release notes.

Denna sektion täcker ändringar och viktig information angående den 2.6.27-baserade kärnan i Fedora 10.

7.4.1. Version

Fedora kan innehålla fixar för förbättringar och felrättningar eller fler funktioner. Därför kan Fedora-kärnan inte vara identisk rad-för-rad med den så kallade vanilj-kärnan från kernel.org webbplatsen:

http://www.kernel.org/

För att få tag i en lista över programfixar, ladda ner RPM-paketet med källkoden och kör följande kommando mot den:

      rpm -qpl kernel-<version>.src.rpm
    

7.4.2. Ändringslogg

För att få en logg med de ändringar i paketet som gjorts kan du köra följande kommando:

      rpm -q --changelog kernel-<version>
    

Om du behöver en användarvänlig version av ändringsloggen, gå till http://wiki.kernelnewbies.org/LinuxChanges. En kort och full diff av kärnan finns tillgänglig från http://kernel.org/git. Kärnans version i Fedora är baserad på Linusträdet.

Anpassningar gjorda för Fedoraversionen är tillgängliga från http://cvs.fedoraproject.org.

7.4.3. Kärnvarianter

Fedora 10 innehåller följande kärnbyggen:

  • Grundkärna, för användning i de flesta system. Konfigurerad källkod är tillgänglig i paketet kernel-devel

  • Kernel-PAE, för användning i 32-bitars x86-system med mer än 4 GB RAM eller med CPU:er som har funktionen NX (No eXecute). Denna kärna stödjer både uni- och multi-processorsystem. Konfigurerad källkod finns tillgänglig i paketet kernel-PAE-devel.

  • Felsökningskärna, för användning i felsökning för en del problem i kärnan. Konfigurerad källkod är tillgänglig i paketet kernel-debug-devel.

You may install kernel headers for all four kernel flavors at the same time. The files are installed in the /usr/src/kernels/<version>[-PAE|-xen|-kdump]-<arch>/ tree. Use the following command:

      su -c 'yum install kernel{,-PAE,-xen,-kdump}-devel'
    

Välj en eller flera av dessa varianter, separerade med komman utan mellanslag, som det passar. Ange lösenordet för root när det efterfrågas.

[Note] x86-kärnan innehåller Kdump

Både kärnan för x86_64 och i686 är nu omplaceringsbara, så de behöver inte längre en separat kärna för kdump-funktionalitet. PPC64 kräver fortfarande en separat kdump-kärna.

[Note] Kernel Includes Paravirtualization

Both the x86_64 and the i686 kernels contain paravirt_ops support and no longer require a separate kernel for running under a Xen hypervisor. For more information, refer to Section 8.3.1, “Samlad kärnavbild”.

[Note] Standardkärnan stöder SMP

Det finns ingen separat SMP-kärna tillgänglig för Fedora på i386, x86_64 och ppc64. Multiprocessorstöd är nu tillgängligt i grundkärnan.

[Note] Stöd för kärna på PowerPC

Det finns inget stöd för Xen eller kdump för PowerPC-arkitekturen i Fedora 32-bit PowerPC har fortfarande en separat SMP-kärna.

7.4.4. Förbereda för kärnutveckling

Fedora 10 innehåller inte paketet kernel-source som fanns i äldre versioner eftersom endast paketet kernel-develbehövs nu för att bygga externa moduler. Konfigurerad källkod finns, enligt beskrivning i Section 7.4.3, “Kärnvarianter”

[Important] Anpassad kärnbyggnad

För att lära dig mer om kärnutveckling och arbeta med anpassade kärnor, gå till http://fedoraproject.org/wiki/Building_a_custom_kernel.

7.4.5. Rapportera fel

Gå till http://kernel.org/pub/linux/docs/lkml/reporting-bugs.html för information om felrapportering i Linuxkärnan. Du kan också använda http://bugzilla.redhat.com för att rapportera fel som är specifika för Fedora.

7.5. Embedded Development

Fedora 10 includes a range of packages to support development of embedded applications on various targets. There is broad support for the AVR and related parts as well as for the Microchip PIC. In addition, there are packages to support development on older, less popular parts such as the Z80, 8051, and others. For a more complete description see http://fedoraproject.org/wiki/Packages_For_Embedded_Development.

7.5.1. avr-binutils

This release includes version 2.18 of avr-binutils. In addition to a large number of bugfixes, this release includes a new tool, windmc, to provide a Windows-compatible message compiler.

7.5.2. dfu-programmer

Version 0.4.6 of dfu-programmer is included in Fedora 10. 4k bootloaders are now supported and eeprom-flash and eeprom-dump are now supported. Release information as well as a forum specific to this version can be found at http://dfu-programmer.sourceforge.net/.

7.5.3. gputils

gputils has been updated to version 0.13.6 which includes support for many more PIC18 processors as well as support for Microchip's new COFF file format. Find details at http://gputils.sourceforge.net/.

7.5.4. piklab

Fedora 10 includes version 3.5.10 of the popular IDE piklab. This version now supports the Microchip ICD2 and PICkit in-circuit debuggers, as well as a number of other improvements. piklab now supports the following toolchains; gputils, C30 and C18, PICC, JAL, BoostC, CCS, MPC and CC5X. Many of the toolchains use Windows executables via Wine. See http://piklab.sourceforge.net/ for complete details.

Note that the executable names for sdcc have changed (see below). Since piklab does not provide for configuring executable names, but does provide for configuring paths, the piklab/sdcc user should copy files beginning with sdcc- from /usr/bin to /usr/local/bin and adjust the paths in piklab until this issue is resolved.

[Note] Windows Directory Names

Microchip has a tendency to have a lot of spaces in their default installation directories. Getting those paths configured in piklab can be quite confusing, so the dual-boot user may choose to copy files to the /usr/local tree rather than simply mounting the Windows drive and directly referencing the files in the Microchip installation. This affects not only executables, but linker scripts, headers and libraries.

7.5.5. sdcc

Version 2.8.0 of the Small Device C Compiler is included in Fedora 10. This version offers a number of improvements to the version in Fedora 9. Some of these changes will result in changes to source code, so users should review the sdcc manual carefully for their target. In addition, due to some conflicts, all the executable names have been prefixed with sdcc-, which will require changes to makefiles. See the sdcc page at http://sdcc.sourceforge.net/ for complete details.

7.6. KDE 3-utvecklingsplattform och bibliotek

Fedora använder nu KDE 4 och erbjuder inte längre KDE 3 som en fullständig skrivbordsmiljö. Fedora har dock med följande KDE 3.5-bibliotekspaket för att köra och bygga de många existerande KDE 3-programmen:

  • qt3, qt3-devel (och andra qt3-*-paket): Qt 3.3.8b

  • kdelibs3, kdelibs3-devel: KDE 3-bibliotek

  • kdebase3, kdebase3-pim-ioslaves, kdebase3-devel: Grundfiler för KDE 3 som en del program behöver

Dessutom sätter KDE 4-paketet kdebase-runtime, som tillhandahåller khelpcenter, sätter också upp khelpcenter som en tjänst för KDE 3-program, så att hjälp i KDE 3-program fungerar. KDE 3-versionen av khelpcenter ingår inte längre, utan KDE 4-versionen används istället.

Dessa paket är gjorda för att:

  • följa standarden för filsystemshierarkin (FHS) och

  • vara helt säkra att installera parallellt med KDE 4, inklusive -devel-paketen.

För att uppnå detta mål har medlemmarna i Fedoras KDE SIG gjort två ändringar i KDE 4-paketen kdelibs-devel:

  • Bibliotekets symboliska längar installeras i /usr/lib/kde4/devel eller /usr/lib64/kde4/devel beroende på systemarkitektur.

  • Namnen på verktygen kconfig_compiler och makekdewidgets har ändrats till kconfig_compiler4 respektive makekdewidgets4.

Dessa ändringar bör vara helt osynliga för de allra flesta KDE 4-programmen som använder cmake för att bygga, eftersom FindKDE4Internal.cmake har anpassats för att stämma med dessa ändringar. KDE SIG:en gjorde dessa ändringar i KDE 4 kdelibs-devel istället för i kdelibs3-devel eftersom KDE 4 lagrar dessa ställen på en central plats, medan KDE 3-program normalt innehåller hårdkodade kopior av sökvägen till biblioteken och de körbara programmens namn.

Observera att kdebase3 inte innehåller följande:

  • Ett komplett KDE 3-skrivbord (arbetsyta) som skulle kunna använts istället för KDE 4, speciellt ingår inte KDE 3-versionerna av KWin, KDesktop, Kicker, KSplash och KControl.

  • KDE 3-versionerna av kdebase-programmen som Konqueror och KWrite, som är överflödiga ihop med KDE 4-versionerna och skulle stått i konflikt med dem.

  • Biblioteket libkdecorations som behövs för KWin 3:s fönsterdekorationer, eftersom dessa fönsterdekorationer inte kan användas i KDE 4-versionen av KWin.

  • Biblioteket libkickermain som en del Kicker-applet:ar behöver, eftersom det inte finns någon Kicker i Fedora 10 och därför kan inte Kicker-appletar användas.

[Notera] Utveckling av nya program med de föråldrade API:erna undanbedes.

Som med alla bakåtkompatibilitets-bibliotek så ska du inte utveckla ny programvara mot ett föråldrat API.

displayFooter('$Date: 2009/02/26 02:30:43 $'); ?>