The tag had to contain both the version and the release of the package.
This is inconvenient when mass rebuilds are in action: the release is
incremented automatically then.
Using the top of the appropriate branch is safer. It is also possible to
specify any other revision, so this scheme is more flexible as well.
It is no longer required to upload each archive
kernel-patches-and-configs.* to FileStore. They are now retrieved from
https://abf.io/soft/kernel-patches-and-configs/ according to the git
tags.
If you are going to build kernel version X.Y.Z release R, you need to
tag the appropriate commit in kernel-patches-and-configs git repo as
"X.Y.Z-R", without quotes.
For experiments and testing, one may still upload the archives with the
pacthes and configs to FileStore and probably edit the URL in SOURCE100
in the spec.
Most external components have been removed to simplify maintenance.
The following ones are kept because they are more important and/or
maintained well in upstream:
- BFQ
- AUFS
- ndiswrapper
- several bug fixes
reiser4 is kept too but disabled by default until its maintainers update
it for kernel 4.x.
Without it, the DKMS-modules built before might have been missed.
For the same reason, kernel-<...>-devel package is now in Requires(post)
for kernel-<...>. The former must be installed completely before we call
depmod for the latter.
Even if it already exists. This may happen if kernel-<...>-devel is
installed first, triggers rebuild of DKMS modules and some of these
request remaking of initrd. The initrd that is created then will be
non-functional. But when the user installs kernel-<...> package, that
defunct initrd will be replaced with a working one here.
Before this commit, DKMS was called to build and install the external
kernel modules when kernel-<flavour> packages were installed, and
only if the development files were also available.
This is error-prone because there is no guarantee the -devel package
creates the necessary files before. As a result, some proprietary
drivers could not be built when the kernel is updated.
This is an attempt to fix the problem. Because kernel-<flavour>-devel
package is enough to build kernel modules with DKMS, I moved these build
and install operations to kernel-<flavour>-devel from kernel-<flavour>.
Some of the related code was simplified as well.
We still use DKMS and provide DKMS-packages with widely used proprietary
drivers.
Although we do not recommend installing kernel-<flavour> package without
the corresponding devel package, some users still do so no matter what.
They get problems then due to the proprietary drivers failing to rebuild,
etc.
kernel-<flavour> now has kernel-<flavour>-devel in "Suggests:" to
mitigate this.
On EeePC 1015 PED (in Live mode), cpupower.service seemed to start too
early, before /sys/devices/.../scaling_available_governors was there,
and failed as a result. There were no such problems on faster machines,
but still.
Now cpupower.service will start only when 'scaling_available_governors'
file is available. cpupower.path unit handles this. If CPU frequency
scaling is not supported the file will never appear and cpupower.service
will not start at all, which is natural.
Should fix bug #4810.
cpupower will now select the governor automatically during the start of
the service, based on what is available. This can be overridden with
the variables in /etc/sysconfig/cpupower (see the comments there).
1. Made ACPI stuff built-in:
'm' => 'y'
CONFIG_ACPI_AC=y
CONFIG_ACPI_BATTERY=y
CONFIG_ACPI_BUTTON=y
CONFIG_ACPI_FAN=y
CONFIG_ACPI_PROCESSOR=y
CONFIG_ACPI_THERMAL=y
not set => 'y'
CONFIG_ACPI_HOTPLUG_MEMORY=y (x64 only)
2. Enabled support for security attributes (used by SElinux, etc.) in 2
more file systems:
CONFIG_9P_FS_SECURITY=y
CONFIG_F2FS_FS_SECURITY=y (Fedora 21 does not build F2FS, by the way.)
3. Make the core DM-related components built-in, enable RAID
detection at boot:
CONFIG_BLK_DEV_DM=y
CONFIG_MD_AUTODETECT=y
4. Unset CONFIG_EMBEDDED. These kernels are not for embedded systems
anyway.
5. Make evdev input driver built-in:
CONFIG_INPUT_EVDEV=y
6. Increase the memory buffer to store the kernel log from 128Kb to
256Kb. This will allow for more messages to be stored there, good for
bug reporting.
CONFIG_LOG_BUF_SHIFT=18
7. No need to print the kernel logs to a printer directly:
Unset CONFIG_LP_CONSOLE.
8. Disable "opportunistic suspend" for now, it is still an experimental
feature.
Unset CONFIG_PM_AUTOSLEEP.
Apart from the update to version 3.14.31 itself, the following changes
were made:
* BFQ was updated to version 7r7.
* arch-x86-kernel-tsc-hide-warning.patch was removed as the issue had
been addressed in the mainline.
* A patch was added to increase inotify max_user_watch limit to 32768
(bug 4791).
* A patch was added that might help fix bug 4613 (no output to an
external monitor on HP EliteBook 820 G1).
The source code of the kernel and the patchset are the same for both
2014.1 and the "current" platform, so are the scripts used during the
build.
1.
I updated create_configs-withBFQ so that it creates different kernel
configuration files depending on its --with-enhanced-security parameter.
If --with-enhanced-security is set,
* SELinux is used instead of TOMOYO;
* Memory sanitization facilities are compiled in (but are disabled by
default - should be enabled at boot time with boot options
pax_sanitize_slab=1 paxsanitize_pages=1).
Similar to other packages, I added a conditional in the spec that
enables enhanced security features when building for 'current' (i.e. for
the future cert. systems) and leaves everithing as is.
Besides, I fixed create_configs-withBFQ: even if --user-cpu=... was
given, it still generated the configs for all architectures, a waste
of time. Now it creates the config only for the architecture
corresponding to --user-cpu=... if it is set and for all otherwise.
----------------
The changes in the configs listed below are for i586 and x86_64 only.
2.
Added the following to make lxc-checkconfig happy:
* CONFIG_MEMCG=y
* CONFIG_MEMCG_SWAP=y
* CONFIG_MEMCG_KMEM=y
3.
Added the following options that 'make oldconfig' adds anyway during the
build:
* CONFIG_MM_OWNER=y
* CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y
* CONFIG_IOSF_MBI=m
* CONFIG_LRU_CACHE=m
* (x86_64 only) CONFIG_ARCH_ENABLE_HUGEPAGE_MIGRATION=y
4.
Removed the following options (they are no longer available in 3.14):
* CONFIG_CPU_FREQ_TABLE
* CONFIG_IP_NF_MATCH_PSD
* CONFIG_IP_NF_TARGET_IFWLOG
5.
Increased CONFIG_SERIAL_8250_NR_UARTS from 4 to 8: some of our users
have unusual boards with more than 4 serial ports.
Also added CONFIG_SERIAL_8250_MANY_PORTS=y: needed for these users too.
6.
Unset CONFIG_DRM_RADEON_UMS: it has been deprecated for quite some time
and was seemingly ignored. 'radeon' driver the kernel provides works
via KMS rather than UMS now and its UMS support is obsolete and buggy.
7.
Finally dropped support for Mach64 GPUs. If there are enough users with
such hardware, we could enable it is some kernel flavour in contrib
(project: https://abf.io/import/kernel-other/).
8.
Changed CONFIG_FB_TILEBLITTING to "y": 'make oldconfig' already does this
during the kernel build because it is needed for Matrox GPUs
(CONFIG_FB_MATROX). BTW, some of our users do seem to have Matrox GPUs.
Consequently, I had to disable CONFIG_FB_CON_DECOR: it needs
CONFIG_FB_TILEBLITTING unset.
9.
Changed
CONFIG_X86_VERBOSE_BOOTUP=n
to
# CONFIG_X86_VERBOSE_BOOTUP is not set
10.
(x86_64 only)
Changed
CONFIG_X86_ESPFIX32=y
to
CONFIG_X86_ESPFIX64=y
This is what 'make oldconfig' does with that option anyway.