F29 System Wide Change: Binutils 2.31

2018-06-17 Thread Jan Kurik
= Proposed System Wide Change: Binutils 2.31 =
https://fedoraproject.org/wiki/Changes/BINUTILS231


Owner(s):
  * Nick Clifton 


Rebase the binutils package from version 2.30 to version 2.31.



== Detailed description ==
Switch the binutils package from being based on the 2.30 release of
the FSF binutils to being based on the 2.31 release.  This release
will bring in numerous bug fixes, as well as the following new
features:

The linker can now put all code and read-only data sections into a
separate segment with only READ and EXECUTE permissions.  All writable
data can be placed into a separate segment with READ and WRITE
permissions.  This makes programs larger, but safer.  The linker's
behaviour can be controlled via a command line option, and the default
set by a configure option.

The assembler can generate build notes for any input files which do
not contain their own notes.  Again this is controlled via a command
line option whose default is set by a configure option.

The x86 assembler supports a new -O[2|s] command-line option to enable
alternate, shorter instruction encoding.  It also supports a ,nop
pseudo-op to simplify the insertion of NOP instruction sequences.

The AArch64 assembler will now warn a combintation of an instruction
and a register name are invalid.  The AArch64 disassembler will now
also flag inconsistent instruction encodings.

The "ar" program will now accept an "O" modifier to its command line,
which causes the offsets of members within the archive to be displayed
alongside the other information.


== Scope ==
* Proposal owners:
Change the source parameter in the binutils.spec rpm and adjust the
local patches to take account of the bugs that are now already
fixed.This should be followed by a mass rebuild in order for the
changes to be noticed across the system.

* Other developers:
No other work should be necessary.  Once the rebase is in place and
the buildroot contains the new binutils its use should be automatic.It
is possible that the new linker feature might prove to be problematic
forsome packages, although no such problems are anticipated.  If this
doeshappen however the package maintainers can add a command line
optionto disable the new linker feature.

* Release engineering:
https://pagure.io/releng/issue/7573

** List of deliverables:
Just the binutils package.

* Policies and guidelines:
No updates needed.

* Trademark approval:
N/A (not needed for this Change)
-- 
Jan Kuřík
JBoss EAP Program Manager
Red Hat Czech s.r.o., Purkynova 99/71, 612 45 Brno, Czech Republic
___
devel-announce mailing list -- devel-announce@lists.fedoraproject.org
To unsubscribe send an email to devel-announce-le...@lists.fedoraproject.org
Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel-announce@lists.fedoraproject.org/message/AOIRUAYXRAH46EHTQGXAORKQDPTGTCN3/


F29 System Wide Change: Make BootLoaderSpec the default

2018-06-17 Thread Jan Kurik
= Proposed System Wide Change: Make BootLoaderSpec the default =
https://fedoraproject.org/wiki/Changes/BootLoaderSpecByDefault


Owner(s):
  * Javier Martinez Canillas 
  * Peter Jones 


Use BootLoaderSpec fragment files by default to populate the
bootloaders boot menu entries.



== Detailed description ==
The [https://www.freedesktop.org/wiki/Specifications/BootLoaderSpec/
Boot Loader Specification (BLS)] defines a scheme and file format to
manage boot loader configuration for each boot option in a drop-in
directory, without the need to manipulate bootloader configuration
files. These drop-in directories are the standard on Linux nowadays,
so the goal is to also extend this concept for boot menu entries.
This is especially important in Fedora because the same bootloader is
not used in all architectures. GRUB 2 is used in most of them, but
there are others such as zipl for s390x and Petitboot for ppc64le. Not
all bootloaders have the same configuration file format, so there is a
need for an indirection level and per bootloader specific logic to
edit these configuration files, when adding or removing a boot entry.
The current component that does this work is grubby, that has support
for all the different bootloader configuration file formats and
manipulates them on kernel installation or uninstallation. Besides
manipulating the bootloader configuration files, grubby also does
other things like running dracut to create an initial ramdisk image.
Fedora already has a lot of infrastructure in place to not require
modifying bootloader configuration files for boot menu entries. The
BootLoaderSpec and drop-in BLS fragments can be used instead, and the
kernel-install script can do any additional task that is currently
done by grubby. The kernel-install script has a pluggable design that
uses a drop-in directory for scripts to extend its functionality. So
if needed, any bootloader specific logic can be implemented as
kernel-install scripts.
With this setup the bootloader configuration could be static and not
modified after installation.
The missing piece was the lack of BLS support on all the supported
bootloaders, but all of them have support to parse BLS fragments now.
So we can default to install BLS files on kernel installation and drop
grubby.



== Scope ==
* Proposal owners:
** Generate BLS snippets at kernel build time and ship in the kernel packages.
** Make kernel-install scripts to copy the BLS, kernel and initramfs
images and do any architecture specific task.
** Make GRUB 2, zipl and Petitboot bootloaders to populate their boot
menu entries from the information in BLS files.
** Have a grubby wrapper for backward compatbility that manipulates BLS files.
** Modify packages that use grubby to instead install BLS fragments
(memtest86+, tuned).
** Make sure this is all properly documented in release-notes, etc.

* Other developers:
** The anaconda developers will need to review and merge the patches
to change the default to BLS.
** Test and watch for regressions.

* Release engineering:
RelEng review ticket: https://pagure.io/releng/issue/7572

** List of deliverables:
N/A

* Policies and guidelines:
The policies and guidelines do not need to be updated.

* Trademark approval:
No changes needed.
-- 
Jan Kuřík
JBoss EAP Program Manager
Red Hat Czech s.r.o., Purkynova 99/71, 612 45 Brno, Czech Republic
___
devel-announce mailing list -- devel-announce@lists.fedoraproject.org
To unsubscribe send an email to devel-announce-le...@lists.fedoraproject.org
Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel-announce@lists.fedoraproject.org/message/CTKJBECHWEVF5IN6FO5TV7SIYWIMKYRT/