openSUSE Commits
Threads by month
- ----- 2025 -----
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
September 2008
- 1 participants
- 1828 discussions
Hello community,
here is the log from the commit of package wpa_supplicant
checked in at Mon Sep 29 18:25:37 CEST 2008.
--------
--- wpa_supplicant/wpa_supplicant.changes 2008-09-24 01:00:06.000000000 +0200
+++ /mounts/work_src_done/STABLE/wpa_supplicant/wpa_supplicant.changes 2008-09-29 13:41:45.779541000 +0200
@@ -1,0 +2,5 @@
+Mon Sep 29 13:40:18 CEST 2008 - hschaa(a)suse.de
+
+- add roaming capability (FATE 303806)
+
+-------------------------------------------------------------------
New:
----
wpa_supplicant-roaming.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ wpa_supplicant.spec ++++++
--- /var/tmp/diff_new_pack.Q26599/_old 2008-09-29 18:22:50.000000000 +0200
+++ /var/tmp/diff_new_pack.Q26599/_new 2008-09-29 18:22:50.000000000 +0200
@@ -22,7 +22,7 @@
BuildRequires: dbus-1-devel libqt4 libqt4-devel openssl-devel pkg-config readline-devel
Url: http://hostap.epitest.fi/wpa_supplicant/
Version: 0.6.4
-Release: 12
+Release: 13
License: BSD 3-Clause; GPL v2 or later
Group: Productivity/Networking/Other
Summary: WPA supplicant implementation
@@ -35,6 +35,7 @@
Patch2: wpa_supplicant-sigusr1-changes-debuglevel.patch
Patch3: wpa_supplicant-dbus-iface-segfault-fix.patch
Patch4: wpa_supplicant-errormsg.patch
+Patch5: wpa_supplicant-roaming.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
@@ -73,6 +74,7 @@
%patch2 -p2
%patch3 -p2
%patch4 -p2
+%patch5 -p1
%build
cd wpa_supplicant
@@ -117,6 +119,8 @@
/usr/sbin/wpa_gui
%changelog
+* Mon Sep 29 2008 hschaa(a)suse.de
+- add roaming capability (FATE 303806)
* Wed Sep 24 2008 ro(a)suse.de
- drop buildreq for madwifi (dropped package)
* Tue Sep 02 2008 ro(a)suse.de
++++++ wpa_supplicant-roaming.patch ++++++
diff -ur wpa_supplicant-0.6.4/src/drivers/driver.h wpa_supplicant-0.6.4_us//src/drivers/driver.h
--- wpa_supplicant-0.6.4/src/drivers/driver.h 2008-08-10 19:33:12.000000000 +0200
+++ wpa_supplicant-0.6.4_us//src/drivers/driver.h 2008-09-24 10:02:00.000000000 +0200
@@ -1052,7 +1052,13 @@
* FT authentication sequence from the AP. The FT IEs are included in
* the extra information in union wpa_event_data::ft_ies.
*/
- EVENT_FT_RESPONSE
+ EVENT_FT_RESPONSE,
+
+ /**
+ * EVENT_ROAMING_THRESHOLD - Roaming threshold exceeded
+ */
+ EVENT_ROAMING_THRESHOLD
+
} wpa_event_type;
Nur in wpa_supplicant-0.6.4_us//src/drivers: driver_hostap.d.
Nur in wpa_supplicant-0.6.4_us//src/drivers: driver_hostap.o.
Nur in wpa_supplicant-0.6.4_us//src/drivers: drivers.d.
Nur in wpa_supplicant-0.6.4_us//src/drivers: drivers.o.
diff -ur wpa_supplicant-0.6.4/src/drivers/driver_wext.c wpa_supplicant-0.6.4_us//src/drivers/driver_wext.c
--- wpa_supplicant-0.6.4/src/drivers/driver_wext.c 2008-08-10 19:33:12.000000000 +0200
+++ wpa_supplicant-0.6.4_us//src/drivers/driver_wext.c 2008-09-29 13:08:54.000000000 +0200
@@ -643,10 +642,18 @@
drv->assoc_req_ies = NULL;
os_free(drv->assoc_resp_ies);
drv->assoc_resp_ies = NULL;
+
+ /* stop monitoring the signal quality */
+ eloop_cancel_timeout(wpa_driver_wext_monitor_quality, drv, drv->ctx);
+
wpa_supplicant_event(ctx, EVENT_DISASSOC,
NULL);
} else {
+ /* start monitoring the signal quality */
+ eloop_register_timeout(5, 0, wpa_driver_wext_monitor_quality, drv,
+ drv->ctx);
+
wpa_driver_wext_event_assoc_ies(drv);
wpa_supplicant_event(ctx, EVENT_ASSOC, NULL);
}
@@ -1206,6 +1213,60 @@
wpa_supplicant_event(timeout_ctx, EVENT_SCAN_RESULTS, NULL);
}
+/**
+ * wpa_driver_wext_monitor_quality - Monitor the signal quality
+ * @eloop_ctx: Unused
+ * @timeout_ctx: ctx argument given to wpa_driver_wext_init()
+ */
+void wpa_driver_wext_monitor_quality(void *eloop_ctx, void *timeout_ctx)
+{
+ struct iwreq iwr;
+ struct iw_statistics stats;
+ struct wpa_driver_wext_data *drv = (struct wpa_driver_wext_data *) eloop_ctx;
+ int timeout_sec;
+
+ os_memset(&iwr, 0, sizeof(iwr));
+ os_memset(&stats, 0, sizeof(stats));
+
+ os_strlcpy(iwr.ifr_name, drv->ifname, IFNAMSIZ);
+
+ iwr.u.data.pointer = (caddr_t) &stats;
+ iwr.u.data.length = sizeof(stats);
+ iwr.u.data.flags = 1;
+
+ if (ioctl(drv->ioctl_sock, SIOCGIWSTATS, &iwr) < 0) {
+ perror("ioctl[SIOCGIWSTATS]");
+ return;
+ }
+
+ if (stats.qual.qual < (int) (0.4f * (float)drv->max_qual))
+ {
+ if (++drv->low_signal_count >= 3)
+ {
+ wpa_printf(MSG_DEBUG, "Signal quality low (%i/%i)", stats.qual.qual, drv->max_qual);
+ drv->low_signal_count = 0;
+ wpa_supplicant_event(drv->ctx, EVENT_ROAMING_THRESHOLD, NULL);
+ /* next measurement in 5 seconds */
+ eloop_register_timeout(5, 0, wpa_driver_wext_monitor_quality, drv, drv->ctx);
+ }
+ else
+ {
+ /* next measurment in 100ms */
+ eloop_register_timeout(0, 100000, wpa_driver_wext_monitor_quality, drv, drv->ctx);
+ }
+ return;
+ }
+ drv->low_signal_count = 0;
+
+ if (stats.qual.qual < (int) (0.6f * (float)drv->max_qual))
+ timeout_sec = 2;
+ else if (stats.qual.qual < (int) (0.8f * (float)drv->max_qual))
+ timeout_sec = 5;
+ else
+ timeout_sec = 10;
+
+ eloop_register_timeout(timeout_sec, 0, wpa_driver_wext_monitor_quality, drv, drv->ctx);
+}
/**
* wpa_driver_wext_scan - Request the driver to initiate scan
@@ -1753,6 +1813,7 @@
if (range->enc_capa & IW_ENC_CAPA_4WAY_HANDSHAKE)
drv->capa.flags |= WPA_DRIVER_FLAGS_4WAY_HANDSHAKE;
+ drv->max_qual = range->max_qual.qual;
wpa_printf(MSG_DEBUG, " capabilities: key_mgmt 0x%x enc 0x%x "
"flags 0x%x",
drv->capa.key_mgmt, drv->capa.enc, drv->capa.flags);
Nur in wpa_supplicant-0.6.4_us//src/drivers: driver_wext.d.
diff -ur wpa_supplicant-0.6.4/src/drivers/driver_wext.h wpa_supplicant-0.6.4_us//src/drivers/driver_wext.h
--- wpa_supplicant-0.6.4/src/drivers/driver_wext.h 2008-08-10 19:33:12.000000000 +0200
+++ wpa_supplicant-0.6.4_us//src/drivers/driver_wext.h 2008-09-24 10:52:23.000000000 +0200
@@ -43,6 +43,8 @@
char mlmedev[IFNAMSIZ + 1];
int scan_complete_events;
+ int low_signal_count;
+ int max_qual;
};
int wpa_driver_wext_get_ifflags(struct wpa_driver_wext_data *drv, int *flags);
@@ -61,6 +63,7 @@
struct wpa_scan_results * wpa_driver_wext_get_scan_results(void *priv);
void wpa_driver_wext_scan_timeout(void *eloop_ctx, void *timeout_ctx);
+void wpa_driver_wext_monitor_quality(void *eloop_ctx, void *timeout_ctx);
int wpa_driver_wext_alternative_ifindex(struct wpa_driver_wext_data *drv,
const char *ifname);
diff -ur wpa_supplicant-0.6.4/wpa_supplicant/config.c wpa_supplicant-0.6.4_us//wpa_supplicant/config.c
--- wpa_supplicant-0.6.4/wpa_supplicant/config.c 2008-08-10 19:33:12.000000000 +0200
+++ wpa_supplicant-0.6.4_us//wpa_supplicant/config.c 2008-09-29 13:13:31.000000000 +0200
@@ -1883,6 +1883,7 @@
config->eapol_version = DEFAULT_EAPOL_VERSION;
config->ap_scan = DEFAULT_AP_SCAN;
config->fast_reauth = DEFAULT_FAST_REAUTH;
+ config->roaming = DEFAULT_ROAMING;
if (ctrl_interface)
config->ctrl_interface = os_strdup(ctrl_interface);
Nur in wpa_supplicant-0.6.4_us//wpa_supplicant: config.d.
diff -ur wpa_supplicant-0.6.4/wpa_supplicant/config_file.c wpa_supplicant-0.6.4_us//wpa_supplicant/config_file.c
--- wpa_supplicant-0.6.4/wpa_supplicant/config_file.c 2008-08-10 19:33:12.000000000 +0200
+++ wpa_supplicant-0.6.4_us//wpa_supplicant/config_file.c 2008-09-29 13:20:10.000000000 +0200
@@ -312,6 +312,12 @@
return 0;
}
+static int wpa_config_process_roaming(struct wpa_config *config, char *pos)
+{
+ config->roaming = atoi(pos);
+ wpa_printf(MSG_DEBUG, "roaming=%d", config->roaming);
+ return 0;
+}
static int wpa_config_process_fast_reauth(struct wpa_config *config, char *pos)
{
@@ -445,6 +451,9 @@
if (os_strncmp(pos, "ap_scan=", 8) == 0)
return wpa_config_process_ap_scan(config, pos + 8);
+ if (os_strncmp(pos, "roaming=", 8) == 0)
+ return wpa_config_process_roaming(config, pos + 8);
+
if (os_strncmp(pos, "fast_reauth=", 12) == 0)
return wpa_config_process_fast_reauth(config, pos + 12);
Nur in wpa_supplicant-0.6.4_us//wpa_supplicant: config_file.d.
Nur in wpa_supplicant-0.6.4_us//wpa_supplicant: config_file.o.
diff -ur wpa_supplicant-0.6.4/wpa_supplicant/config.h wpa_supplicant-0.6.4_us//wpa_supplicant/config.h
--- wpa_supplicant-0.6.4/wpa_supplicant/config.h 2008-08-10 19:33:12.000000000 +0200
+++ wpa_supplicant-0.6.4_us//wpa_supplicant/config.h 2008-09-29 13:13:49.000000000 +0200
@@ -22,6 +22,7 @@
#define DEFAULT_AP_SCAN 1
#endif /* CONFIG_NO_SCAN_PROCESSING */
#define DEFAULT_FAST_REAUTH 1
+#define DEFAULT_ROAMING 0
#include "config_ssid.h"
@@ -244,6 +245,11 @@
int update_config;
/**
+ * roaming
+ */
+ int roaming;
+
+ /**
* blobs - Configuration blobs
*/
struct wpa_config_blob *blobs;
Nur in wpa_supplicant-0.6.4_us//wpa_supplicant: config.o.
Nur in wpa_supplicant-0.6.4_us//wpa_supplicant: ctrl_iface.d.
Nur in wpa_supplicant-0.6.4_us//wpa_supplicant: ctrl_iface.o.
Nur in wpa_supplicant-0.6.4_us//wpa_supplicant: ctrl_iface_unix.d.
Nur in wpa_supplicant-0.6.4_us//wpa_supplicant: ctrl_iface_unix.o.
diff -ur wpa_supplicant-0.6.4/wpa_supplicant/events.c wpa_supplicant-0.6.4_us//wpa_supplicant/events.c
--- wpa_supplicant-0.6.4/wpa_supplicant/events.c 2008-08-10 19:33:12.000000000 +0200
+++ wpa_supplicant-0.6.4_us//wpa_supplicant/events.c 2008-09-29 13:16:12.000000000 +0200
@@ -613,6 +613,11 @@
}
#endif /* CONFIG_NO_SCAN_PROCESSING */
+static void wpa_supplicant_event_roaming_threshold(struct wpa_supplicant *wpa_s)
+{
+ if (wpa_s->conf->roaming > 0)
+ wpa_supplicant_req_scan(wpa_s, 0, 0);
+}
static void wpa_supplicant_event_associnfo(struct wpa_supplicant *wpa_s,
union wpa_event_data *data)
@@ -955,6 +960,9 @@
wpa_supplicant_event_ft_response(wpa_s, data);
break;
#endif /* CONFIG_IEEE80211R */
+ case EVENT_ROAMING_THRESHOLD:
+ wpa_supplicant_event_roaming_threshold(wpa_s);
+ break;
default:
wpa_printf(MSG_INFO, "Unknown event %d", event);
break;
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package umtsmon
checked in at Mon Sep 29 18:25:24 CEST 2008.
--------
--- umtsmon/umtsmon.changes 2008-09-15 09:04:09.000000000 +0200
+++ /mounts/work_src_done/STABLE/umtsmon/umtsmon.changes 2008-09-29 08:43:57.000000000 +0200
@@ -1,0 +2,8 @@
+Mon Sep 29 08:29:56 CEST 2008 - seife(a)suse.de
+
+- update to current CVS
+ - updated translations
+ - reworked localization code
+ - fix for mobile phones not needing a PIN
+
+-------------------------------------------------------------------
Old:
----
umtsmon-0.9.50.20090914.tar.bz2
New:
----
umtsmon-0.9.50.20090928.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ umtsmon.spec ++++++
--- /var/tmp/diff_new_pack.E26180/_old 2008-09-29 18:22:43.000000000 +0200
+++ /var/tmp/diff_new_pack.E26180/_new 2008-09-29 18:22:43.000000000 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package umtsmon (Version 0.9.50.20090914)
+# spec file for package umtsmon (Version 0.9.50.20090928)
#
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
@@ -23,9 +23,9 @@
# not there on mandriva and fedora...
BuildRequires: qt3-devel-tools update-desktop-files
%endif
-Version: 0.9.50.20090914
+Version: 0.9.50.20090928
Release: 1
-%define DATE 20080914
+%define DATE 20080928
Summary: Control/monitor your UMTS card
License: GPL v2 or later
Group: Hardware/Mobile
@@ -49,6 +49,7 @@
%if 0%{?opensuse_bs}
%if 0%{?suse_version}
+#debug_package
%endif
%endif
@@ -86,6 +87,11 @@
rm -rf %{buildroot}
%changelog
+* Mon Sep 29 2008 seife(a)suse.de
+- update to current CVS
+ - updated translations
+ - reworked localization code
+ - fix for mobile phones not needing a PIN
* Mon Sep 15 2008 seife(a)suse.de
- update to current CVS (version 0.9.50):
- corrected translations
++++++ umtsmon-0.9.50.20090914.tar.bz2 -> umtsmon-0.9.50.20090928.tar.bz2 ++++++
++++ 2296 lines of diff (skipped)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package strigi
checked in at Mon Sep 29 18:22:17 CEST 2008.
--------
--- strigi/strigi.changes 2008-08-29 09:22:29.000000000 +0200
+++ /mounts/work_src_done/STABLE/strigi/strigi.changes 2008-09-09 01:28:45.000000000 +0200
@@ -1,0 +2,5 @@
+Tue Sep 9 01:28:32 CEST 2008 - dmueller(a)suse.de
+
+- fix build for old distros
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ strigi.spec ++++++
--- /var/tmp/diff_new_pack.f24747/_old 2008-09-29 18:22:10.000000000 +0200
+++ /var/tmp/diff_new_pack.f24747/_new 2008-09-29 18:22:10.000000000 +0200
@@ -32,7 +32,7 @@
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Url: http://www.vandenoever.info/software/strigi/
Version: 0.5.11
-Release: 28
+Release: 38
%define tar_version 0.5.11
Source: strigi-%{tar_version}.tar.bz2
Patch: trunk.diff
@@ -130,8 +130,10 @@
%_libdir/strigi/strigita_wav.so
/usr/share/strigi
%_libdir/strigi/strigiindex_clucene.so
+%if %suse_version > 1010
/usr/share/dbus-1/services/org.freedesktop.xesam.searcher.service
/usr/share/dbus-1/services/vandenoever.strigi.service
+%endif
%files -n libstrigi0
%defattr(-,root,root)
@@ -155,6 +157,8 @@
%_libdir/strigi/StrigiConfig.cmake
%changelog
+* Tue Sep 09 2008 dmueller(a)suse.de
+- fix build for old distros
* Wed Aug 27 2008 dmueller(a)suse.de
- add missing versioning requires for libstrigi0
* Tue Jul 29 2008 coolo(a)suse.de
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package stardict
checked in at Mon Sep 29 18:22:05 CEST 2008.
--------
--- stardict/stardict.changes 2008-09-17 10:46:20.000000000 +0200
+++ /mounts/work_src_done/STABLE/stardict/stardict.changes 2008-09-29 12:34:25.000000000 +0200
@@ -1,0 +2,5 @@
+Mon Sep 29 12:33:59 CEST 2008 - lrupp(a)suse.de
+
+- fix build on distributions with old Gucharmap library
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ stardict.spec ++++++
--- /var/tmp/diff_new_pack.K23441/_old 2008-09-29 18:21:51.000000000 +0200
+++ /var/tmp/diff_new_pack.K23441/_new 2008-09-29 18:21:51.000000000 +0200
@@ -21,7 +21,7 @@
Name: stardict
Summary: A cross-platform and internationalized dictionary
Version: 3.0.1
-Release: 58
+Release: 59
License: GPL v2 or later
Group: Productivity/Office/Dictionary
Url: http://stardict.sourceforge.net
@@ -83,7 +83,12 @@
%build
autoreconf -fi
-%configure --disable-schemas-install --disable-advertisement
+%configure \
+ --disable-schemas-install \
+%if 0%{?suse_version} < 1110
+ --disable-gucharmap \
+%endif
+ --disable-advertisement
%{__make} %{?jobs:-j%jobs}
%install
@@ -150,6 +155,8 @@
%endif
%changelog
+* Mon Sep 29 2008 lrupp(a)suse.de
+- fix build on distributions with old Gucharmap library
* Wed Sep 17 2008 lrupp(a)suse.de
- fix buildrequires
- mark stardict.schemas as %%config
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package splashy
checked in at Mon Sep 29 18:21:52 CEST 2008.
--------
--- splashy/splashy.changes 2008-05-21 16:01:18.000000000 +0200
+++ /mounts/work_src_done/STABLE/splashy/splashy.changes 2008-09-29 17:05:30.000000000 +0200
@@ -1,0 +2,6 @@
+Mon Sep 29 17:04:37 CEST 2008 - hmacht(a)suse.de
+
+- adjust library paths in setup-splashy.sh due to DirectFB update
+ (bnc#430130)
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ splashy.spec ++++++
--- /var/tmp/diff_new_pack.j22340/_old 2008-09-29 18:21:12.000000000 +0200
+++ /var/tmp/diff_new_pack.j22340/_new 2008-09-29 18:21:12.000000000 +0200
@@ -2,9 +2,16 @@
# spec file for package splashy (Version 0.3.8)
#
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
-# This file and all modifications and additions to the pristine
-# package are under the same license as the package itself.
#
+# All modifications and additions to the file contributed by third parties
+# remain the property of their copyright owners, unless otherwise agreed
+# upon. The license for this file, and modifications and additions to the
+# file, is the same license as for the pristine package itself (unless the
+# license for the pristine package is not an Open Source License, in which
+# case the license is the MIT License). An "Open Source License" is a
+# license that conforms to the Open Source Definition (Version 1.9)
+# published by the Open Source Initiative.
+
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
@@ -13,7 +20,7 @@
Name: splashy
Summary: A complete user-space boot splash system
Version: 0.3.8
-Release: 49
+Release: 102
License: GPL v2 or later
Group: System/Boot
Url: http://splashy.alioth.debian.org/wiki/doku.php
@@ -232,6 +239,9 @@
/usr/share/splashy/themes/openSUSE-zz
%changelog
+* Mon Sep 29 2008 hmacht(a)suse.de
+- adjust library paths in setup-splashy.sh due to DirectFB update
+ (bnc#430130)
* Wed May 21 2008 hmacht(a)suse.de
- package old openSUSE theme as openSUSE-zz in splashy-themes package
- add new openSUSE theme to core package and adjust
++++++ setup-splashy.sh ++++++
--- splashy/setup-splashy.sh 2008-02-01 17:29:21.000000000 +0100
+++ /mounts/work_src_done/STABLE/splashy/setup-splashy.sh 2008-09-29 17:00:39.000000000 +0200
@@ -26,9 +26,9 @@
fi
LIBS="\
-/usr/$LIBDIR/libdirect-1.1.so.0 \
-/usr/$LIBDIR/libdirectfb-1.1.so.0 \
-/usr/$LIBDIR/libfusion-1.1.so.0 \
+/usr/$LIBDIR/libdirect-1.2.so.0 \
+/usr/$LIBDIR/libdirectfb-1.2.so.0 \
+/usr/$LIBDIR/libfusion-1.2.so.0 \
/usr/$LIBDIR/libpng12.so.0 \
/usr/$LIBDIR/libglib-2.0.so.0 \
/usr/$LIBDIR/libsplashy.so.1 \
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package speechd
checked in at Mon Sep 29 18:21:30 CEST 2008.
--------
--- speechd/speechd.changes 2008-09-16 23:40:23.000000000 +0200
+++ /mounts/work_src_done/STABLE/speechd/speechd.changes 2008-09-29 12:21:26.726845000 +0200
@@ -1,0 +2,5 @@
+Mon Sep 29 12:19:52 CEST 2008 - marco(a)suse.de
+
+- fixed start-script (bug#430563)
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ speechd.spec ++++++
--- /var/tmp/diff_new_pack.s21550/_old 2008-09-29 18:20:59.000000000 +0200
+++ /var/tmp/diff_new_pack.s21550/_new 2008-09-29 18:20:59.000000000 +0200
@@ -22,7 +22,7 @@
Name: speechd
BuildRequires: alsa-devel dotconf-devel espeak gcc-c++ glib2-devel python-devel
Version: 0.6.7
-Release: 3
+Release: 4
License: GPL v2 only; GPL v2 or later
AutoReqProv: on
Group: Productivity/Multimedia/Sound/Utilities
@@ -166,6 +166,8 @@
/usr/include/libspeechd.h
%changelog
+* Mon Sep 29 2008 marco(a)suse.de
+- fixed start-script (bug#430563)
* Wed Sep 17 2008 dmueller(a)suse.de
- move python requires to python subpackage
- fix requires
++++++ suse_python.diff ++++++
--- /var/tmp/diff_new_pack.s21550/_old 2008-09-29 18:20:59.000000000 +0200
+++ /var/tmp/diff_new_pack.s21550/_new 2008-09-29 18:20:59.000000000 +0200
@@ -1,6 +1,6 @@
-diff -r -u -N /tmp/speechd/speech-dispatcher-0.6.7/src/python/Makefile.in speechd-0.6.7/src/python/Makefile.in
---- /tmp/speechd/speech-dispatcher-0.6.7/src/python/Makefile.in 2008-07-14 14:59:13.000000000 +0200
-+++ speechd-0.6.7/src/python/Makefile.in 2008-09-14 02:25:27.000000000 +0200
+diff -ruN speechd-0.6.7/src/python/Makefile.in speechd-patch/src/python/Makefile.in
+--- speechd-0.6.7/src/python/Makefile.in 2008-09-14 03:34:15.000000000 +0200
++++ speechd-patch/src/python/Makefile.in 2008-09-17 12:14:25.000000000 +0200
@@ -13,11 +13,15 @@
install:
@@ -18,9 +18,9 @@
uninstall:
rm -f @snddatadir@/test.wav
-diff -r -u -N /tmp/speechd/speech-dispatcher-0.6.7/suse/speechd speechd-0.6.7/suse/speechd
---- /tmp/speechd/speech-dispatcher-0.6.7/suse/speechd 1970-01-01 01:00:00.000000000 +0100
-+++ speechd-0.6.7/suse/speechd 2008-09-14 00:09:24.000000000 +0200
+diff -ruN speechd-0.6.7/suse/speechd speechd-patch/suse/speechd
+--- speechd-0.6.7/suse/speechd 1970-01-01 01:00:00.000000000 +0100
++++ speechd-patch/suse/speechd 2008-09-17 12:14:52.000000000 +0200
@@ -0,0 +1,56 @@
+#! /bin/sh
+# /etc/init.d/speechd
@@ -41,19 +41,19 @@
+return=$rc_done
+case "$1" in
+ start)
-+ echo "Starting speech-dispatcher"
++ echo -n "Starting speech-dispatcher"
+
+ if !(test -d /var/log/speech-dispatcher)
+ then
-+ mkdir /var/log/speech-dispatcher
++ mkdir -p /var/log/speech-dispatcher
+ fi
+
-+ if "(test -d /var/run/speech-dispatcher)
++ if test -d /var/run/speech-dispatcher
+ then
-+ mkdir /var/run/speech-dispatcher
++ mkdir -p /var/run/speech-dispatcher
+ fi
+
-+ startproc /usr/bin/speech-dispatcher
++ startproc /usr/bin/speech-dispatcher 2>/dev/null
+ rc_status -v
+ ;;
+ stop)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package soprano
checked in at Mon Sep 29 18:21:03 CEST 2008.
--------
--- soprano/soprano.changes 2008-08-28 16:09:48.000000000 +0200
+++ /mounts/work_src_done/STABLE/soprano/soprano.changes 2008-09-09 01:31:42.000000000 +0200
@@ -1,0 +2,5 @@
+Tue Sep 9 01:30:45 CEST 2008 - dmueller(a)suse.de
+
+- fix build for old distros
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ soprano.spec ++++++
--- /var/tmp/diff_new_pack.S21439/_old 2008-09-29 18:20:55.000000000 +0200
+++ /var/tmp/diff_new_pack.S21439/_new 2008-09-29 18:20:55.000000000 +0200
@@ -32,7 +32,7 @@
Summary: C++/Qt based interface library for RDF
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Version: 2.1.1
-Release: 1
+Release: 6
Source: %name-%{version}.tar.bz2
Requires: libsoprano4 = %{version}
Recommends: soprano_backend = %version
@@ -58,7 +58,11 @@
Summary: C++/Qt based interface library for RDF
Requires: libsoprano4 = %version
Requires: %name = %version
+%if %suse_version > 1020
Requires: libqt4-devel >= %( echo `rpm -q --queryformat '%{VERSION}' libqt4-devel`)
+%else
+Requires: qt-devel >= %( echo `rpm -q --queryformat '%{VERSION}' qt-devel`)
+%endif
Requires: clucene-core-devel >= %( echo `rpm -q --queryformat '%{VERSION}' clucene-core-devel`)
Requires: libraptor-devel libredland-devel
@@ -210,6 +214,8 @@
%endif
%changelog
+* Tue Sep 09 2008 dmueller(a)suse.de
+- fix build for old distros
* Thu Aug 28 2008 dmueller(a)suse.de
- add missing runtime dependency
* Wed Aug 27 2008 dmueller(a)suse.de
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package skelcd-control-openSUSE
checked in at Mon Sep 29 18:19:01 CEST 2008.
--------
--- skelcd-control-openSUSE/skelcd-control-openSUSE.changes 2008-09-22 14:01:39.000000000 +0200
+++ /mounts/work_src_done/STABLE/skelcd-control-openSUSE/skelcd-control-openSUSE.changes 2008-09-29 13:49:53.000000000 +0200
@@ -1,0 +2,10 @@
+Mon Sep 29 13:38:13 CEST 2008 - locilka(a)suse.cz
+
+- Adding inst_lilo_convert to the update workflow (bnc #430579).
+
+-------------------------------------------------------------------
+Mon Sep 29 09:11:03 CEST 2008 - locilka(a)suse.cz
+
+- Updated KDE description (bnc #427692)
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ skelcd-control-openSUSE.spec ++++++
--- /var/tmp/diff_new_pack.q15446/_old 2008-09-29 18:18:51.000000000 +0200
+++ /var/tmp/diff_new_pack.q15446/_new 2008-09-29 18:18:51.000000000 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package skelcd-control-openSUSE (Version 2008.9.22)
+# spec file for package skelcd-control-openSUSE (Version 2008.9.29)
#
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
@@ -24,7 +24,7 @@
License: YaST License
Group: Metapackages
AutoReqProv: off
-Version: 2008.9.22
+Version: 2008.9.29
Release: 1
Summary: SuSE Linux Professional Control file
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -64,6 +64,10 @@
/CD1/control.xml
%changelog
+* Mon Sep 29 2008 locilka(a)suse.cz
+- Adding inst_lilo_convert to the update workflow (bnc #430579).
+* Mon Sep 29 2008 locilka(a)suse.cz
+- Updated KDE description (bnc #427692)
* Mon Sep 22 2008 locilka(a)suse.cz
- KDE 3.5 moved to 'Others', removed KDE 3.5 description text.
- GNOME 2.22 changed to 2.24.
++++++ control.xml ++++++
--- skelcd-control-openSUSE/control.xml 2008-09-22 13:54:15.000000000 +0200
+++ /mounts/work_src_done/STABLE/skelcd-control-openSUSE/control.xml 2008-09-29 13:16:50.000000000 +0200
@@ -367,8 +367,9 @@
<!-- Desktop dialog: desktop descriptions (with 'description_id' defined) -->
<description_gnome><label>GNOME 2.24 is the latest desktop from the GNOME Project.
It combines stability and maturity with incremental innovations.</label></description_gnome>
- <description_kde><label>KDE 4.1 is the most recent evolution of KDE. It comes with many
-new KDE technologies, but it is less mature than the other desktops.</label></description_kde>
+ <description_kde><label>KDE 4.1 is the latest stable desktop released by the KDE Project.
+It delivers an innovative, highly integrated desktop environment
+with a modern look and feel.</label></description_kde>
</texts>
@@ -842,6 +843,11 @@
<heading>yes</heading>
<label>Update</label>
</module>
+ <module>
+ <label>Update Settings</label>
+ <name>lilo_convert</name>
+ <execute>inst_lilo_convert</execute>
+ </module>
<module>
<label>Update Settings</label>
<name>initial_update_proposal</name>
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package simple-ccsm
checked in at Mon Sep 29 18:18:47 CEST 2008.
--------
--- simple-ccsm/simple-ccsm.changes 2008-07-31 19:49:58.000000000 +0200
+++ /mounts/work_src_done/STABLE/simple-ccsm/simple-ccsm.changes 2008-09-29 17:00:11.000000000 +0200
@@ -1,0 +2,28 @@
+Mon Sep 29 16:59:43 CEST 2008 - rodrigo(a)novell.com
+
+- Review and merge changes from X11:Compiz
+
+-------------------------------------------------------------------
+Fri Sep 26 16:54:53 IST 2008 - cyberorg(a)opensuse.org
+
+- Fix enabling compiz on kde, simeple-ccsm-kde-enable.patch
+
+-------------------------------------------------------------------
+Mon Sep 22 11:10:05 IST 2008 - cyberorg(a)opensuse.org
+
+- Fix profile handling when desktop effects are not enabled
+
+-------------------------------------------------------------------
+Wed Sep 17 20:26:10 IST 2008 - cyberorg(a)opensuse.org
+
+- Release 0.7.8
+- simple-ccsm-compiz-manager-cmd.diff add --replace
+
+-------------------------------------------------------------------
+Mon Sep 15 19:02:16 IST 2008 - cyberorg(a)opensuse.org
+
+- l10n updates
+- Reduce startup time
+- Add support for the extensible animation plugin
+
+-------------------------------------------------------------------
Old:
----
simple-ccsm-0.7.6.tar.bz2
simple-ccsm-enable-desktop-effects.patch
New:
----
simple-ccsm-0.7.8.tar.bz2
simple-ccsm-compiz-manager-cmd.diff
simple-ccsm-kde-enable.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ simple-ccsm.spec ++++++
--- /var/tmp/diff_new_pack.n12896/_old 2008-09-29 18:18:19.000000000 +0200
+++ /var/tmp/diff_new_pack.n12896/_new 2008-09-29 18:18:19.000000000 +0200
@@ -1,10 +1,17 @@
#
-# spec file for package simple-ccsm (Version 0.7.6)
+# spec file for package simple-ccsm (Version 0.7.8 )
#
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
-# This file and all modifications and additions to the pristine
-# package are under the same license as the package itself.
#
+# All modifications and additions to the file contributed by third parties
+# remain the property of their copyright owners, unless otherwise agreed
+# upon. The license for this file, and modifications and additions to the
+# file, is the same license as for the pristine package itself (unless the
+# license for the pristine package is not an Open Source License, in which
+# case the license is the MIT License). An "Open Source License" is a
+# license that conforms to the Open Source Definition (Version 1.9)
+# published by the Open Source Initiative.
+
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
@@ -16,14 +23,15 @@
License: GPL v2 or later
Group: System/X11/Utilities
PreReq: %fillup_prereq
-Version: 0.7.6
+Version: 0.7.8
Release: 1
Requires: compiz python-compizconfig python-xml libcompizconfig compiz-manager compiz-fusion-plugins-main compizconfig-settings-manager
Summary: Simple Settings Manager for Compiz
BuildRoot: %{_tmppath}/%{name}-%{version}-build
ExclusiveArch: %ix86 x86_64 ppc ppc64 ia64
Source: simple-ccsm-%{version}.tar.bz2
-Patch0: simple-ccsm-enable-desktop-effects.patch
+Patch: simple-ccsm-compiz-manager-cmd.diff
+Patch1: simple-ccsm-kde-enable.patch
%py_requires
%description
@@ -37,10 +45,11 @@
%prep
%setup -q -n simple-ccsm-%{version}
-%patch0 -p1
+%patch -p1
+%patch1 -p1
%build
-./setup.py install --root=%buildroot --prefix=/usr
+./setup.py install --root=%buildroot --prefix=/usr --enableDesktopEffects
%install
find %buildroot \( -name \*.a -o -name \*.la \) -print0 | xargs -0 rm -f
@@ -61,6 +70,19 @@
%{py_sitedir}/*
%changelog
+* Mon Sep 29 2008 rodrigo(a)novell.com
+- Review and merge changes from X11:Compiz
+* Fri Sep 26 2008 cyberorg(a)opensuse.org
+- Fix enabling compiz on kde, simeple-ccsm-kde-enable.patch
+* Mon Sep 22 2008 cyberorg(a)opensuse.org
+- Fix profile handling when desktop effects are not enabled
+* Wed Sep 17 2008 cyberorg(a)opensuse.org
+- Release 0.7.8
+- simple-ccsm-compiz-manager-cmd.diff add --replace
+* Mon Sep 15 2008 cyberorg(a)opensuse.org
+- l10n updates
+- Reduce startup time
+- Add support for the extensible animation plugin
* Tue Jul 01 2008 mhopf(a)suse.de
- Updated from buildservice.
* Sat May 31 2008 cyberorg(a)opensuse.org
++++++ simple-ccsm-0.7.6.tar.bz2 -> simple-ccsm-0.7.8.tar.bz2 ++++++
++++ 5391 lines of diff (skipped)
++++++ simple-ccsm-compiz-manager-cmd.diff ++++++
diff -ur a/simple-ccsm.in b/simple-ccsm.in
--- a/simple-ccsm.in 2008-09-19 14:26:06.000000000 +0530
+++ b/simple-ccsm.in 2008-09-19 14:27:10.000000000 +0530
@@ -184,9 +184,9 @@
# Change to your default
CompizEnableDesktopEffects = @enable_desktop_effects@
-CompizStartCommand = "compiz-manager"
+CompizStartCommand = "compiz-manager --replace"
CompizDryRunCommand = "CM_DRY=yes compiz-manager"
-CompizNoChecksCommand = "SKIP_CHECKS=yes compiz-manager"
+CompizNoChecksCommand = "SKIP_CHECKS=yes compiz-manager --replace"
GnomeSession = "GNOME_DESKTOP_SESSION_ID"
KdeSession = "KDE_FULL_SESSION"
++++++ simple-ccsm-kde-enable.patch ++++++
From: Jigish Gohil <cyberorg(a)opensuse.org>
Date: Fri, 26 Sep 2008 08:10:57 +0000 (+0530)
Subject: fix kde autostart
X-Git-Url: http://gitweb.compiz-fusion.org/?p=fusion%2Fcompizconfig%2Fsimple-ccsm;a=co…
fix kde autostart
---
diff --git a/simple-ccsm.in b/simple-ccsm.in
index 0491f26..60abb2b 100755
--- a/simple-ccsm.in
+++ b/simple-ccsm.in
@@ -1269,6 +1269,12 @@ class MainWin:
cmd = CompizStartCommand.split(" ")
subprocess.Popen(cmd)
+ # Enable compiz in kde
+ try:
+ subprocess.call('kwriteconfig --file ksmserverrc --group General --key windowManager compiz'.split())
+ except (IOError, OSError):
+ pass
+
# Create a file that indicates wether compiz is enabled or not
path = os.path.expanduser("~/.config/compiz/enable-compiz")
open(path, "w+").close() # touch replacement
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package kernel-source
checked in at Mon Sep 29 18:18:26 CEST 2008.
--------
--- kernel-source/kernel-debug.changes 2008-09-15 11:56:52.000000000 +0200
+++ /mounts/work_src_done/STABLE/kernel-source/kernel-debug.changes 2008-09-29 15:34:31.033391000 +0200
@@ -1,0 +2,534 @@
+Mon Sep 29 15:29:06 CEST 2008 - agruen(a)suse.de
+
+- Do not split kernels which have modules disabled (kernel-ps3)
+ or which do not differentiate between supported and unsupported
+ modules (kernel-vanilla).
+
+-------------------------------------------------------------------
+Mon Sep 29 13:28:01 CEST 2008 - hare(a)suse.de
+
+- patches.drivers/open-fcoe-dcb-support: Fix section annotation
+ for ixgbe.
+- patches.fixes/scsi-enhance-error-codes: Add missing hunk.
+- patches.fixes/open-iscsi-git-update: Open-iSCSI updates
+ (FATE#304283).
+- patches.kernel.org/gdth-section-conflict: Fixup gdth
+ section annotations.
+
+-------------------------------------------------------------------
+Mon Sep 29 09:42:32 CEST 2008 - aj(a)suse.de
+
+- Silence /etc/rpm/macros.kernel-source via rpmlintrc.
+
+-------------------------------------------------------------------
+Mon Sep 29 09:37:19 CEST 2008 - jbeulich(a)novell.com
+
+- Enable Solarflare driver link and resource driver patches.
+- Update x86 config files.
+
+-------------------------------------------------------------------
+Mon Sep 29 05:13:31 CEST 2008 - agruen(a)suse.de
+
+- rpm/kernel-source.spc.in: Try to get rid of a hack that makes
+ uname -r pretend in build environments that the kernel from
+ the installed kernel-source package is the running kernel:
+ packages assuming this are completely broken ans should really
+ be fixed.
+
+-------------------------------------------------------------------
+Mon Sep 29 04:08:34 CEST 2008 - agruen(a)suse.de
+
+- rpm/kernel-source.spec.in: Prepare for the upcoming introduction
+ of kernel-source-rt (and kernel-syms-rt) for producing KMPs for
+ real-time kernels.
+- rpm/install-configs: Remove; this script didn't improve things.
+
+-------------------------------------------------------------------
+Sun Sep 28 21:00:13 CEST 2008 - aj(a)suse.de
+
+- rpm/kernel-source.rpmlintrc: New file to silence warnings about
+ zero size files
+- rpm/kernel-source.spec.in: Install it.
+- rpm/kernel-source.spec.in: Make /etc/rpm/macros.kernel-source
+ a config file to silence rpmlint.
+
+-------------------------------------------------------------------
+Sun Sep 28 13:50:06 CEST 2008 - jdelvare(a)suse.de
+
+- supported.conf: Update the list of i2c bus drivers.
+ - i2c-i810, i2c-prosavage and i2c-savage4 are gone.
+ - i2c-isch and i2c-nforce2-s4985 are new, mark as supported.
+
+-------------------------------------------------------------------
+Sun Sep 28 10:17:15 CEST 2008 - aj(a)suse.de
+
+- rpm/kernel-source.spec.in: Do not package .gitignore files.
+
+-------------------------------------------------------------------
+Sun Sep 28 06:03:34 CEST 2008 - agruen(a)suse.de
+
+- Fix CONFIG_MODULES=n case.
+- config.conf: Some cleanups.
+
+-------------------------------------------------------------------
+Sat Sep 27 19:25:06 CEST 2008 - agruen(a)suse.de
+
+- Split the binary kernel packages into three parts:
+ + kernel-$flavor-base: very reduced hardware support, intended
+ to be used in virtual machine images
+ + kernel-$flavor: extends the base package; contains all kernel
+ modules we can support
+ + kernel-$flavor-extra: all other kernel modules which may be
+ useful, but which we cannot support.
+
+-------------------------------------------------------------------
+Sat Sep 27 17:47:33 CEST 2008 - agruen(a)suse.de
+
+- Hardlink duplicate files automatically: It doesn't save much,
+ but it keeps rpmlint from breaking the package build.
+
+-------------------------------------------------------------------
+Sat Sep 27 17:24:30 CEST 2008 - agruen(a)suse.de
+
+- Add consistency check: supported modules must not depend on
+ unsupported ones ... and guess what, there was a large number of
+ such modules. Fix this by adding all the dependent modules to
+ supported.conf.
+
+-------------------------------------------------------------------
+Sat Sep 27 06:36:40 CEST 2008 - knikanth(a)suse.de
+
+- patches.suse/dm-barrier-single-device: Implement barrier
+ support for single device DM devices (FATE#304489).
+
+-------------------------------------------------------------------
+Fri Sep 26 23:05:13 CEST 2008 - jeffm(a)suse.de
+
+- scripts/tar-up_and_run_mbuild.sh: Added -xen flavor to default
+ mbuild spec list.
+
+-------------------------------------------------------------------
+Fri Sep 26 23:04:33 CEST 2008 - jeffm(a)suse.de
+
+- patches.xen/xen-e1000e_Export_set_memory_ro-rw: Export
+ set_memory_ro() and set_memory_rw() calls for xen. (bnc#425480).
+
+-------------------------------------------------------------------
+Fri Sep 26 22:08:24 CEST 2008 - kkeil(a)suse.de
+
+- patches.suse/e1000e_mmap_range_chk:check ranges in pci_mmap
+ * updated version with better reporting (bnc#425480)
+
+-------------------------------------------------------------------
+Fri Sep 26 21:28:13 CEST 2008 - kkeil(a)suse.de
+
+- patches to track down and fix the e1000e NVM corruption
+ (bnc#425480)
+
+- patches.suse/e1000e_allow_bad_checksum: e1000e: allow bad
+ checksum
+- patches.suse/e1000e_call_dump_eeprom: e1000e: dump eeprom to
+ dmesg for ich8/9
+- patches.suse/e1000e_debug_contention_on_NVM_SWFLAG: e1000e:
+ debug contention on NVM SWFLAG
+- patches.suse/e1000e_do_not_ever_sleep_in_interrupt_context:
+ e1000e: do not ever sleep in interrupt context
+- patches.suse/e1000e_drop_stats_lock: e1000e: drop stats lock
+- patches.suse/e1000e_Export_set_memory_ro-rw: Export
+ set_memory_ro() and set_memory_rw() calls
+- patches.suse/e1000e_fix_lockdep_issues: e1000e: fix lockdep
+ issues
+- patches.suse/e1000e_mmap_range_chk: check ranges in pci_mmap
+- patches.suse/e1000e_reset_swflag_after_resetting_hardware:
+ e1000e: reset swflag after resetting hardware
+- patches.suse/e1000e_update_version: update version
+- patches.suse/e1000e_use_set_memory_ro-rw_to_protect_flash_memory:
+ e1000e: Use set_memory_ro()/set_memory_rw() to protect flash
+ memory
+
+- cleanup old not longer used patches
+ * patches.drivers/e1000-7.6.5-napi-tail.patch
+ * patches.drivers/e1000-7.6.9.2
+ * patches.drivers/e1000-7.6.9.2-napi
+
+-------------------------------------------------------------------
+Fri Sep 26 21:26:35 CEST 2008 - kkeil(a)suse.de
+
+- Enable CONFIG_SGI_IOC4=m in x86_64 (bnc#430275)
+
+-------------------------------------------------------------------
+Fri Sep 26 20:54:17 CEST 2008 - jeffm(a)suse.de
+
+- patches.arch/acpi-export-hotplug_execute: acpi: export
+ acpi_os_hotplug_execute.
+
+-------------------------------------------------------------------
+Fri Sep 26 20:43:49 CEST 2008 - jeffm(a)suse.de
+
+- patches.xen/xen-rwlocks-enable-interrupts: add missing
+ __raw_{read,write}_lock_flags to xen's asm/spinlock.h.
+
+-------------------------------------------------------------------
+Fri Sep 26 20:33:25 CEST 2008 - jeffm(a)suse.de
+
+- patches.arch/acpi-bay-remove-from-makefile: acpi: remove bay.c
+ from makefile.
+
+-------------------------------------------------------------------
+Fri Sep 26 19:56:25 CEST 2008 - jeffm(a)suse.de
+
+- rpm/kernel-binary.spec.in: Disabled sparse checking. Too many
+ false positives.
+
+-------------------------------------------------------------------
+Fri Sep 26 18:07:30 CEST 2008 - trenn(a)suse.de
+
+No functional change:
+- patches.arch/acpi_thermal_passive_blacklist.patch: Avoid
+ critical temp shutdowns on specific ThinkPad T4x(p) and R40
+ (https://bugzilla.novell.com/show_bug.cgi?id=333043)
+
+Dock bug fixes (kacpid runs amok on Dells after suspend):
+- patches.arch/acpi-dock-avoid-check-_STA-method.patch: avoid
+ check _STA method (fate#304731,bnc#401740).
+- patches.arch/acpi-dock-fix-eject-request-process.patch: fix
+ eject request process (fate#304731,bnc#401740).
+
+More Dock improvements, unrelated to above fixes:
++++ 337 more lines (skipped)
++++ between kernel-source/kernel-debug.changes
++++ and /mounts/work_src_done/STABLE/kernel-source/kernel-debug.changes
kernel-default.changes: same change
kernel-dummy.changes: same change
kernel-kdump.changes: same change
kernel-pae.changes: same change
kernel-ppc64.changes: same change
kernel-ps3.changes: same change
kernel-s390.changes: same change
kernel-source.changes: same change
kernel-syms.changes: same change
New Changes file:
--- /dev/null 2008-04-22 03:09:48.000000000 +0200
+++ /mounts/work_src_done/STABLE/kernel-source/kernel-trace.changes 2008-09-29 15:34:32.042546000 +0200
@@ -0,0 +1,41082 @@
+-------------------------------------------------------------------
+Mon Sep 29 15:29:06 CEST 2008 - agruen(a)suse.de
+
+- Do not split kernels which have modules disabled (kernel-ps3)
+ or which do not differentiate between supported and unsupported
+ modules (kernel-vanilla).
+
+-------------------------------------------------------------------
+Mon Sep 29 13:28:01 CEST 2008 - hare(a)suse.de
+
+- patches.drivers/open-fcoe-dcb-support: Fix section annotation
+ for ixgbe.
+- patches.fixes/scsi-enhance-error-codes: Add missing hunk.
+- patches.fixes/open-iscsi-git-update: Open-iSCSI updates
+ (FATE#304283).
+- patches.kernel.org/gdth-section-conflict: Fixup gdth
+ section annotations.
+
+-------------------------------------------------------------------
+Mon Sep 29 09:42:32 CEST 2008 - aj(a)suse.de
+
+- Silence /etc/rpm/macros.kernel-source via rpmlintrc.
+
+-------------------------------------------------------------------
+Mon Sep 29 09:37:19 CEST 2008 - jbeulich(a)novell.com
+
+- Enable Solarflare driver link and resource driver patches.
+- Update x86 config files.
+
+-------------------------------------------------------------------
+Mon Sep 29 05:13:31 CEST 2008 - agruen(a)suse.de
+
+- rpm/kernel-source.spc.in: Try to get rid of a hack that makes
+ uname -r pretend in build environments that the kernel from
+ the installed kernel-source package is the running kernel:
+ packages assuming this are completely broken ans should really
+ be fixed.
+
+-------------------------------------------------------------------
+Mon Sep 29 04:08:34 CEST 2008 - agruen(a)suse.de
+
+- rpm/kernel-source.spec.in: Prepare for the upcoming introduction
+ of kernel-source-rt (and kernel-syms-rt) for producing KMPs for
+ real-time kernels.
+- rpm/install-configs: Remove; this script didn't improve things.
+
+-------------------------------------------------------------------
+Sun Sep 28 21:00:13 CEST 2008 - aj(a)suse.de
+
+- rpm/kernel-source.rpmlintrc: New file to silence warnings about
+ zero size files
+- rpm/kernel-source.spec.in: Install it.
+- rpm/kernel-source.spec.in: Make /etc/rpm/macros.kernel-source
+ a config file to silence rpmlint.
+
+-------------------------------------------------------------------
+Sun Sep 28 13:50:06 CEST 2008 - jdelvare(a)suse.de
+
+- supported.conf: Update the list of i2c bus drivers.
+ - i2c-i810, i2c-prosavage and i2c-savage4 are gone.
+ - i2c-isch and i2c-nforce2-s4985 are new, mark as supported.
+
+-------------------------------------------------------------------
+Sun Sep 28 10:17:15 CEST 2008 - aj(a)suse.de
+
+- rpm/kernel-source.spec.in: Do not package .gitignore files.
+
+-------------------------------------------------------------------
+Sun Sep 28 06:03:34 CEST 2008 - agruen(a)suse.de
+
+- Fix CONFIG_MODULES=n case.
+- config.conf: Some cleanups.
+
+-------------------------------------------------------------------
+Sat Sep 27 19:25:06 CEST 2008 - agruen(a)suse.de
+
+- Split the binary kernel packages into three parts:
+ + kernel-$flavor-base: very reduced hardware support, intended
+ to be used in virtual machine images
+ + kernel-$flavor: extends the base package; contains all kernel
+ modules we can support
+ + kernel-$flavor-extra: all other kernel modules which may be
+ useful, but which we cannot support.
+
+-------------------------------------------------------------------
+Sat Sep 27 17:47:33 CEST 2008 - agruen(a)suse.de
+
+- Hardlink duplicate files automatically: It doesn't save much,
+ but it keeps rpmlint from breaking the package build.
+
+-------------------------------------------------------------------
+Sat Sep 27 17:24:30 CEST 2008 - agruen(a)suse.de
+
+- Add consistency check: supported modules must not depend on
+ unsupported ones ... and guess what, there was a large number of
+ such modules. Fix this by adding all the dependent modules to
+ supported.conf.
+
+-------------------------------------------------------------------
+Sat Sep 27 06:36:40 CEST 2008 - knikanth(a)suse.de
+
+- patches.suse/dm-barrier-single-device: Implement barrier
+ support for single device DM devices (FATE#304489).
+
+-------------------------------------------------------------------
+Fri Sep 26 23:05:13 CEST 2008 - jeffm(a)suse.de
+
+- scripts/tar-up_and_run_mbuild.sh: Added -xen flavor to default
+ mbuild spec list.
+
+-------------------------------------------------------------------
+Fri Sep 26 23:04:33 CEST 2008 - jeffm(a)suse.de
+
+- patches.xen/xen-e1000e_Export_set_memory_ro-rw: Export
+ set_memory_ro() and set_memory_rw() calls for xen. (bnc#425480).
+
+-------------------------------------------------------------------
+Fri Sep 26 22:08:24 CEST 2008 - kkeil(a)suse.de
+
+- patches.suse/e1000e_mmap_range_chk:check ranges in pci_mmap
+ * updated version with better reporting (bnc#425480)
+
+-------------------------------------------------------------------
+Fri Sep 26 21:28:13 CEST 2008 - kkeil(a)suse.de
+
+- patches to track down and fix the e1000e NVM corruption
+ (bnc#425480)
+
+- patches.suse/e1000e_allow_bad_checksum: e1000e: allow bad
+ checksum
+- patches.suse/e1000e_call_dump_eeprom: e1000e: dump eeprom to
+ dmesg for ich8/9
+- patches.suse/e1000e_debug_contention_on_NVM_SWFLAG: e1000e:
+ debug contention on NVM SWFLAG
+- patches.suse/e1000e_do_not_ever_sleep_in_interrupt_context:
+ e1000e: do not ever sleep in interrupt context
+- patches.suse/e1000e_drop_stats_lock: e1000e: drop stats lock
+- patches.suse/e1000e_Export_set_memory_ro-rw: Export
+ set_memory_ro() and set_memory_rw() calls
+- patches.suse/e1000e_fix_lockdep_issues: e1000e: fix lockdep
+ issues
+- patches.suse/e1000e_mmap_range_chk: check ranges in pci_mmap
+- patches.suse/e1000e_reset_swflag_after_resetting_hardware:
+ e1000e: reset swflag after resetting hardware
+- patches.suse/e1000e_update_version: update version
+- patches.suse/e1000e_use_set_memory_ro-rw_to_protect_flash_memory:
+ e1000e: Use set_memory_ro()/set_memory_rw() to protect flash
+ memory
+
+- cleanup old not longer used patches
+ * patches.drivers/e1000-7.6.5-napi-tail.patch
+ * patches.drivers/e1000-7.6.9.2
+ * patches.drivers/e1000-7.6.9.2-napi
+
+-------------------------------------------------------------------
+Fri Sep 26 21:26:35 CEST 2008 - kkeil(a)suse.de
+
+- Enable CONFIG_SGI_IOC4=m in x86_64 (bnc#430275)
+
+-------------------------------------------------------------------
+Fri Sep 26 20:54:17 CEST 2008 - jeffm(a)suse.de
+
+- patches.arch/acpi-export-hotplug_execute: acpi: export
+ acpi_os_hotplug_execute.
+
+-------------------------------------------------------------------
+Fri Sep 26 20:43:49 CEST 2008 - jeffm(a)suse.de
+
+- patches.xen/xen-rwlocks-enable-interrupts: add missing
+ __raw_{read,write}_lock_flags to xen's asm/spinlock.h.
+
+-------------------------------------------------------------------
+Fri Sep 26 20:33:25 CEST 2008 - jeffm(a)suse.de
+
+- patches.arch/acpi-bay-remove-from-makefile: acpi: remove bay.c
+ from makefile.
+
+-------------------------------------------------------------------
+Fri Sep 26 19:56:25 CEST 2008 - jeffm(a)suse.de
+
+- rpm/kernel-binary.spec.in: Disabled sparse checking. Too many
+ false positives.
+
+-------------------------------------------------------------------
+Fri Sep 26 18:07:30 CEST 2008 - trenn(a)suse.de
+
+No functional change:
+- patches.arch/acpi_thermal_passive_blacklist.patch: Avoid
+ critical temp shutdowns on specific ThinkPad T4x(p) and R40
+ (https://bugzilla.novell.com/show_bug.cgi?id=333043)
+
+Dock bug fixes (kacpid runs amok on Dells after suspend):
+- patches.arch/acpi-dock-avoid-check-_STA-method.patch: avoid
+ check _STA method (fate#304731,bnc#401740).
+- patches.arch/acpi-dock-fix-eject-request-process.patch: fix
+ eject request process (fate#304731,bnc#401740).
+
++++ 40885 more lines (skipped)
++++ between /dev/null
++++ and /mounts/work_src_done/STABLE/kernel-source/kernel-trace.changes
--- kernel-source/kernel-vanilla.changes 2008-09-15 11:56:54.000000000 +0200
+++ /mounts/work_src_done/STABLE/kernel-source/kernel-vanilla.changes 2008-09-29 15:34:32.204384000 +0200
@@ -1,0 +2,534 @@
+Mon Sep 29 15:29:06 CEST 2008 - agruen(a)suse.de
+
+- Do not split kernels which have modules disabled (kernel-ps3)
+ or which do not differentiate between supported and unsupported
+ modules (kernel-vanilla).
+
+-------------------------------------------------------------------
+Mon Sep 29 13:28:01 CEST 2008 - hare(a)suse.de
+
+- patches.drivers/open-fcoe-dcb-support: Fix section annotation
+ for ixgbe.
+- patches.fixes/scsi-enhance-error-codes: Add missing hunk.
+- patches.fixes/open-iscsi-git-update: Open-iSCSI updates
+ (FATE#304283).
+- patches.kernel.org/gdth-section-conflict: Fixup gdth
+ section annotations.
+
+-------------------------------------------------------------------
+Mon Sep 29 09:42:32 CEST 2008 - aj(a)suse.de
+
+- Silence /etc/rpm/macros.kernel-source via rpmlintrc.
+
+-------------------------------------------------------------------
+Mon Sep 29 09:37:19 CEST 2008 - jbeulich(a)novell.com
+
+- Enable Solarflare driver link and resource driver patches.
+- Update x86 config files.
+
+-------------------------------------------------------------------
+Mon Sep 29 05:13:31 CEST 2008 - agruen(a)suse.de
+
+- rpm/kernel-source.spc.in: Try to get rid of a hack that makes
+ uname -r pretend in build environments that the kernel from
+ the installed kernel-source package is the running kernel:
+ packages assuming this are completely broken ans should really
+ be fixed.
+
+-------------------------------------------------------------------
+Mon Sep 29 04:08:34 CEST 2008 - agruen(a)suse.de
+
+- rpm/kernel-source.spec.in: Prepare for the upcoming introduction
+ of kernel-source-rt (and kernel-syms-rt) for producing KMPs for
+ real-time kernels.
+- rpm/install-configs: Remove; this script didn't improve things.
+
+-------------------------------------------------------------------
+Sun Sep 28 21:00:13 CEST 2008 - aj(a)suse.de
+
+- rpm/kernel-source.rpmlintrc: New file to silence warnings about
+ zero size files
+- rpm/kernel-source.spec.in: Install it.
+- rpm/kernel-source.spec.in: Make /etc/rpm/macros.kernel-source
+ a config file to silence rpmlint.
+
+-------------------------------------------------------------------
+Sun Sep 28 13:50:06 CEST 2008 - jdelvare(a)suse.de
+
+- supported.conf: Update the list of i2c bus drivers.
+ - i2c-i810, i2c-prosavage and i2c-savage4 are gone.
+ - i2c-isch and i2c-nforce2-s4985 are new, mark as supported.
+
+-------------------------------------------------------------------
+Sun Sep 28 10:17:15 CEST 2008 - aj(a)suse.de
+
+- rpm/kernel-source.spec.in: Do not package .gitignore files.
+
+-------------------------------------------------------------------
+Sun Sep 28 06:03:34 CEST 2008 - agruen(a)suse.de
+
+- Fix CONFIG_MODULES=n case.
+- config.conf: Some cleanups.
+
+-------------------------------------------------------------------
+Sat Sep 27 19:25:06 CEST 2008 - agruen(a)suse.de
+
+- Split the binary kernel packages into three parts:
+ + kernel-$flavor-base: very reduced hardware support, intended
+ to be used in virtual machine images
+ + kernel-$flavor: extends the base package; contains all kernel
+ modules we can support
+ + kernel-$flavor-extra: all other kernel modules which may be
+ useful, but which we cannot support.
+
+-------------------------------------------------------------------
+Sat Sep 27 17:47:33 CEST 2008 - agruen(a)suse.de
+
+- Hardlink duplicate files automatically: It doesn't save much,
+ but it keeps rpmlint from breaking the package build.
+
+-------------------------------------------------------------------
+Sat Sep 27 17:24:30 CEST 2008 - agruen(a)suse.de
+
+- Add consistency check: supported modules must not depend on
+ unsupported ones ... and guess what, there was a large number of
+ such modules. Fix this by adding all the dependent modules to
+ supported.conf.
+
+-------------------------------------------------------------------
+Sat Sep 27 06:36:40 CEST 2008 - knikanth(a)suse.de
+
+- patches.suse/dm-barrier-single-device: Implement barrier
+ support for single device DM devices (FATE#304489).
+
+-------------------------------------------------------------------
+Fri Sep 26 23:05:13 CEST 2008 - jeffm(a)suse.de
+
+- scripts/tar-up_and_run_mbuild.sh: Added -xen flavor to default
+ mbuild spec list.
+
+-------------------------------------------------------------------
+Fri Sep 26 23:04:33 CEST 2008 - jeffm(a)suse.de
+
+- patches.xen/xen-e1000e_Export_set_memory_ro-rw: Export
+ set_memory_ro() and set_memory_rw() calls for xen. (bnc#425480).
+
+-------------------------------------------------------------------
+Fri Sep 26 22:08:24 CEST 2008 - kkeil(a)suse.de
+
+- patches.suse/e1000e_mmap_range_chk:check ranges in pci_mmap
+ * updated version with better reporting (bnc#425480)
+
+-------------------------------------------------------------------
+Fri Sep 26 21:28:13 CEST 2008 - kkeil(a)suse.de
+
+- patches to track down and fix the e1000e NVM corruption
+ (bnc#425480)
+
+- patches.suse/e1000e_allow_bad_checksum: e1000e: allow bad
+ checksum
+- patches.suse/e1000e_call_dump_eeprom: e1000e: dump eeprom to
+ dmesg for ich8/9
+- patches.suse/e1000e_debug_contention_on_NVM_SWFLAG: e1000e:
+ debug contention on NVM SWFLAG
+- patches.suse/e1000e_do_not_ever_sleep_in_interrupt_context:
+ e1000e: do not ever sleep in interrupt context
+- patches.suse/e1000e_drop_stats_lock: e1000e: drop stats lock
+- patches.suse/e1000e_Export_set_memory_ro-rw: Export
+ set_memory_ro() and set_memory_rw() calls
+- patches.suse/e1000e_fix_lockdep_issues: e1000e: fix lockdep
+ issues
+- patches.suse/e1000e_mmap_range_chk: check ranges in pci_mmap
+- patches.suse/e1000e_reset_swflag_after_resetting_hardware:
+ e1000e: reset swflag after resetting hardware
+- patches.suse/e1000e_update_version: update version
+- patches.suse/e1000e_use_set_memory_ro-rw_to_protect_flash_memory:
+ e1000e: Use set_memory_ro()/set_memory_rw() to protect flash
+ memory
+
+- cleanup old not longer used patches
+ * patches.drivers/e1000-7.6.5-napi-tail.patch
+ * patches.drivers/e1000-7.6.9.2
+ * patches.drivers/e1000-7.6.9.2-napi
+
+-------------------------------------------------------------------
+Fri Sep 26 21:26:35 CEST 2008 - kkeil(a)suse.de
+
+- Enable CONFIG_SGI_IOC4=m in x86_64 (bnc#430275)
+
+-------------------------------------------------------------------
+Fri Sep 26 20:54:17 CEST 2008 - jeffm(a)suse.de
+
+- patches.arch/acpi-export-hotplug_execute: acpi: export
+ acpi_os_hotplug_execute.
+
+-------------------------------------------------------------------
+Fri Sep 26 20:43:49 CEST 2008 - jeffm(a)suse.de
+
+- patches.xen/xen-rwlocks-enable-interrupts: add missing
+ __raw_{read,write}_lock_flags to xen's asm/spinlock.h.
+
+-------------------------------------------------------------------
+Fri Sep 26 20:33:25 CEST 2008 - jeffm(a)suse.de
+
+- patches.arch/acpi-bay-remove-from-makefile: acpi: remove bay.c
+ from makefile.
+
+-------------------------------------------------------------------
+Fri Sep 26 19:56:25 CEST 2008 - jeffm(a)suse.de
+
+- rpm/kernel-binary.spec.in: Disabled sparse checking. Too many
+ false positives.
+
+-------------------------------------------------------------------
+Fri Sep 26 18:07:30 CEST 2008 - trenn(a)suse.de
+
+No functional change:
+- patches.arch/acpi_thermal_passive_blacklist.patch: Avoid
+ critical temp shutdowns on specific ThinkPad T4x(p) and R40
+ (https://bugzilla.novell.com/show_bug.cgi?id=333043)
+
+Dock bug fixes (kacpid runs amok on Dells after suspend):
+- patches.arch/acpi-dock-avoid-check-_STA-method.patch: avoid
+ check _STA method (fate#304731,bnc#401740).
+- patches.arch/acpi-dock-fix-eject-request-process.patch: fix
+ eject request process (fate#304731,bnc#401740).
+
+More Dock improvements, unrelated to above fixes:
++++ 337 more lines (skipped)
++++ between kernel-source/kernel-vanilla.changes
++++ and /mounts/work_src_done/STABLE/kernel-source/kernel-vanilla.changes
kernel-xen.changes: same change
Old:
----
install-configs
novell-kmp.tar.bz2
New:
----
kernel-source.rpmlintrc
kernel-trace.changes
kernel-trace.spec
patches.trace.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ kernel-debug.spec ++++++
--- /var/tmp/diff_new_pack.o25057/_old 2008-09-29 18:09:39.000000000 +0200
+++ /var/tmp/diff_new_pack.o25057/_new 2008-09-29 18:09:39.000000000 +0200
@@ -30,7 +30,6 @@
%define build_xen 0
%define build_um 0
%define build_vanilla 0
-%define build_nomodules 0
%if %{build_flavor} == "kdump"
%define build_kdump 1
%endif
@@ -43,19 +42,18 @@
%if %{build_flavor} == "vanilla"
%define build_vanilla 1
%endif
-%if %{build_flavor} == "ps3"
-%define build_nomodules 1
-%endif
Name: kernel-debug
Summary: A Debug Version of the Kernel
Version: 2.6.27
-Release: 7
+Release: 8
License: GPL v2 only
Group: System/Kernel
Url: http://www.kernel.org/
AutoReqProv: on
-BuildRequires: coreutils module-init-tools
+BuildRequires: coreutils module-init-tools sparse
+BuildRequires: fdupes
+Requires: kernel-debug-base = %version-%release
Requires(pre): coreutils awk
Requires(post): module-init-tools
# This Requires is wrong, because the post/postun scripts have a
@@ -68,6 +66,9 @@
Requires(post): perl-Bootloader
Requires(post): mkinitrd
Recommends: kerneloops
+%if ! %sles_version
+Recommends: kernel-debug-extra
+%endif
#!BuildIgnore: perl-Bootloader mkinitrd
%if ! 0%{?opensuse_bs}
BuildRequires: kernel-dummy
@@ -137,7 +138,6 @@
Source32: config-subst
Source33: check-for-config-changes
Source34: check-supported-list
-Source35: install-configs
Source38: kabi-checks
Source40: build-source-timestamp
Source41: built-in-where
@@ -157,6 +157,7 @@
Source109: patches.kernel.org.tar.bz2
Source110: patches.apparmor.tar.bz2
Source111: patches.rt.tar.bz2
+Source112: patches.trace.tar.bz2
Source120: kabi.tar.bz2
%define my_builddir %_builddir/%{name}-%{version}
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -183,8 +184,21 @@
Obsoletes: rt2x00-kmp
Obsoletes: rfswitch-kmp
Obsoletes: uvcvideo-kmp
-%(chmod +x %_sourcedir/{arch-symbols,guards,config-subst,check-for-config-changes,check-supported-list,built-in-where,find-provides,make-symsets,modversions,kabi-checks,install-configs})
+%(chmod +x %_sourcedir/{arch-symbols,guards,config-subst,check-for-config-changes,check-supported-list,built-in-where,find-provides,make-symsets,modversions,kabi-checks})
%define symbols %(set -- kernel-debug debug $(case debug in (rt|rt_*) echo RT ;; esac) $(%_sourcedir/arch-symbols %_target_cpu) $([ -e %_sourcedir/extra-symbols ] && cat %_sourcedir/extra-symbols) ; echo $*)
+%define subarch_flavor %(%_sourcedir/guards %symbols < %_sourcedir/config.conf | grep '/debug$')
+# Define some CONFIG variables as rpm macros as well. (rpm cannot handle
+# defining them all at once.)
+%define config_vars CONFIG_MODULES
+%{expand:%(eval "$(test -n "%subarch_flavor" && tar xfj %_sourcedir/config.tar.bz2 --to-stdout config/%subarch_flavor)"; for config in %config_vars; do echo "%%global $config ${!config:-n}"; done)}
+%if %build_vanilla || %CONFIG_MODULES != "y"
+%define split_packages 0
+%else
+%define split_packages 1
+%endif
+# Build with bash instead of sh as the shell: this turns on bash
+# extensions like <(...).
+%define _buildshell /bin/bash
# Provide the exported symbols as "ksym(symbol) = hash"
%define __find_provides %_sourcedir/find-provides %name
# Will modules not listed in supported.conf abort the kernel build (0/1)?
@@ -200,7 +214,7 @@
-Source Timestamp: 2008-09-15 10:58:05 +0200
+Source Timestamp: 2008-09-29 15:31:19 +0200
%prep
if ! [ -e %_sourcedir/linux-2.6.26.tar.bz2 ]; then
@@ -210,16 +224,21 @@
fi
echo "Architecture symbol(s):" %symbols
# Unpack all sources and patches
-%setup -q -c -T -a 0 -a 100 -a 101 -a 102 -a 103 -a 104 -a 105 -a 106 -a 107 -a 108 -a 109 -a 110 -a 111 -a 120
-# Generate the list of supported modules
-( %_sourcedir/guards %symbols < %_sourcedir/supported.conf
+%setup -q -c -T -a 0 -a 100 -a 101 -a 102 -a 103 -a 104 -a 105 -a 106 -a 107 -a 108 -a 109 -a 110 -a 111 -a 112 -a 120
+supported_conf() {
+ %_sourcedir/guards %symbols $* < %_sourcedir/supported.conf | sort -u
+}
+# Generate the list of modules to be marked as supported
+( supported_conf base
for how in external; do
- ( %_sourcedir/guards %symbols < %_sourcedir/supported.conf
- %_sourcedir/guards %symbols < %_sourcedir/supported.conf
- %_sourcedir/guards %symbols $how < %_sourcedir/supported.conf \
- ) | sort | uniq -u | sed -e 's:$: '"$how"':'
+ comm -2 -3 <(supported_conf base $how) <(supported_conf base) \
+ | sed -e 's:$: '"$how"':'
done
-) | sed -e 's,.*/,,' | sort > linux-2.6.26/Module.supported
+) | sed -e 's,.*/,,' -e 's,\.ko$,,' > linux-2.6.26/Module.supported
+# Create grep pattern file for the modules to end up in the base package
+comm -2 -3 <(supported_conf base) <(supported_conf) \
+ | sed -e 's:.*/::' -e 's:^:\\/:' -e 's:$:\.ko$:' \
+ > %my_builddir/grep-for-base-modules
cd linux-2.6.26
# Find out for which architecture to build. We do this here, and use the
# result in the %build and %install sections.
@@ -227,10 +246,7 @@
# On architectures with a bi-arch or cross compiler, we can compile for
# an architecture different from %arch. The location of the config file
# tells us for which architecture to compile.
-set -- $(
- for config in $(%_sourcedir/guards %symbols < %_sourcedir/config.conf) ; do
- [ ${config#*/} = debug ] && echo $config
- done)
+set -- %subarch_flavor
if [ $# -ne 1 ]; then
echo "$# config files found for this spec file (but one needed)" >&2
exit 1
@@ -260,9 +276,9 @@
if [ -f %_sourcedir/localversion ] ; then
cat %_sourcedir/localversion > localversion
fi
-%_sourcedir/install-configs %_sourcedir .. $RELEASE
-config=arch/$subarch/defconfig.debug
-cat $config \
+cat ../config/%subarch_flavor \
+| %_sourcedir/config-subst CONFIG_LOCALVERSION '"'-$RELEASE-debug'"' \
+| %_sourcedir/config-subst CONFIG_SUSE_KERNEL y \
%if 0%{?__debug_package:1}
| %_sourcedir/config-subst CONFIG_DEBUG_INFO y \
%endif
@@ -282,13 +298,14 @@
EOF
%endif
cat >> ../.rpm-defs <<EOF
-KERNELRELEASE=2.6.27-rc6-$RELEASE-debug
+KERNELRELEASE=2.6.27-rc7-$RELEASE-debug
EOF
%if 0%{?__debug_package:1}
cat >> ../.rpm-defs <<EOF
MAKE_ARGS="\$MAKE_ARGS CONFIG_DEBUG_INFO=y"
EOF
%endif
+echo CONFIG_MODULES=%CONFIG_MODULES >> ../.rpm-defs
%build
source .rpm-defs
@@ -323,7 +340,7 @@
export KBUILD_SYMTYPES=1
EOF
source .kernel-binary.spec.buildenv
-make %{?jobs:-j%jobs} all $MAKE_ARGS
+make %{?jobs:-j%jobs} all $MAKE_ARGS CONFIG_DEBUG_SECTION_MISMATCH=y
%install
source .rpm-defs
@@ -418,13 +435,16 @@
sed -e "s:@KERNELRELEASE@:$KERNELRELEASE:g" \
-e "s:@IMAGE@:$image:g" \
-e "s:@FLAVOR""@:debug:g" \
- %_sourcedir/pre.sh > ../pre.sh
-( cat %_sourcedir/functions.sh
+ %_sourcedir/pre.sh > ../pre-base.sh
+for sub in '-base' '' '-extra'; do
+ ( cat %_sourcedir/functions.sh
sed -e "s:@KERNELRELEASE@:$KERNELRELEASE:g" \
-e "s:@IMAGE@:$image:g" \
-e "s:@FLAVOR""@:debug:g" \
+ -e "s:@SUBPACKAGE@:kernel-debug$sub:g" \
%_sourcedir/post.sh
-) > ../post.sh
+ ) > ../post$sub.sh
+done
( cat %_sourcedir/functions.sh
sed -e "s:@KERNELRELEASE@:$KERNELRELEASE:g" \
-e "s:@IMAGE@:$image:g" \
@@ -437,18 +457,16 @@
ln -s $image$suffix %buildroot/boot/$image$suffix
ln -s initrd$suffix %buildroot/boot/initrd$suffix
cp .config %buildroot/boot/config-$KERNELRELEASE
-%if ! %build_nomodules
+gzip -c9 < Module.symvers > %buildroot/boot/symvers-$KERNELRELEASE.gz
+if [ $CONFIG_MODULES = y ]; then
make modules_install $MAKE_ARGS INSTALL_MOD_PATH=%buildroot
-%endif
-if ! %_sourcedir/check-supported-list \
+ if ! %_sourcedir/check-supported-list \
%_sourcedir %buildroot/lib/modules/$KERNELRELEASE; then
%if %supported_modules_check
exit 1
%endif
echo "Consistency check error: please update supported.conf."
-fi
-gzip -c9 < Module.symvers > %buildroot/boot/symvers-$KERNELRELEASE.gz
-if grep -q '^CONFIG_MODULES=y$' .config; then
+ fi
# Preserve exports from previous kernels when possible.
old_symsets=%my_builddir/kabi/$SUBARCH/symsets-debug.tar.gz
[ -e $old_symsets ] || old_symsets=
@@ -462,42 +480,41 @@
%buildroot/boot/symsets-$KERNELRELEASE.tar.gz \
$old_symsets ||
[ -n "$ignore_kabi_changes" -o %tolerate_kabi_changes -ge 8 ]
-fi
-# Also put the resulting file in $obj_dir/$SUBARCH/debug
-# so that kernel-source + kernel-debug is sufficient for building
-# modules that have modversions as well.
-obj_dir=usr/src/linux-${KERNELRELEASE%%-debug}-obj
-mkdir -p %buildroot/$obj_dir/$SUBARCH/debug
-cp Module.symvers %buildroot/$obj_dir/$SUBARCH/debug
-# Table of types used in exported symbols (for modversion debugging).
-%_sourcedir/modversions --pack . > %buildroot/boot/symtypes-$KERNELRELEASE
-if [ -s %buildroot/boot/symtypes-$KERNELRELEASE ]; then
+ # Also put the resulting file in $obj_dir/$SUBARCH/debug
+ # so that kernel-source + kernel-debug is sufficient for building
+ # modules that have modversions as well.
+ obj_dir=usr/src/linux-${KERNELRELEASE%%-debug}-obj
+ mkdir -p %buildroot/$obj_dir/$SUBARCH/debug
+ cp Module.symvers %buildroot/$obj_dir/$SUBARCH/debug
+ # Table of types used in exported symbols (for modversion debugging).
+ %_sourcedir/modversions --pack . > %buildroot/boot/symtypes-$KERNELRELEASE
+ if [ -s %buildroot/boot/symtypes-$KERNELRELEASE ]; then
gzip -9 %buildroot/boot/symtypes-$KERNELRELEASE
-else
+ else
rm -f %buildroot/boot/symtypes-$KERNELRELEASE
-fi
-# Some architecture's $(uname -m) output is different from the ARCH
-# parameter that needs to be passed to kbuild. Create symlinks from
-# $(uname -m) to the ARCH directory.
-[ -e %buildroot/$obj_dir/%_target_cpu ] \
+ fi
+ # Some architecture's $(uname -m) output is different from the ARCH
+ # parameter that needs to be passed to kbuild. Create symlinks from
+ # $(uname -m) to the ARCH directory.
+ [ -e %buildroot/$obj_dir/%_target_cpu ] \
|| ln -sf $SUBARCH %buildroot/$obj_dir/%_target_cpu
%ifarch ppc ppc64
-[ -e %buildroot/$obj_dir/ppc ] \
+ [ -e %buildroot/$obj_dir/ppc ] \
|| ln -s $SUBARCH %buildroot/$obj_dir/ppc
-[ -e %buildroot/$obj_dir/ppc64 ] \
+ [ -e %buildroot/$obj_dir/ppc64 ] \
|| ln -s $SUBARCH %buildroot/$obj_dir/ppc64
%endif
-# Check for kABI changes
-KABI=0
-if [ -e %my_builddir/kabi/$SUBARCH/symvers-debug ]; then
+ # Check for kABI changes
+ KABI=0
+ if [ -e %my_builddir/kabi/$SUBARCH/symvers-debug ]; then
%_sourcedir/kabi-checks \
%my_builddir/kabi/$SUBARCH/symvers-debug \
Module.symvers \
%my_builddir/kabi/commonsyms \
%my_builddir/kabi/usedsyms \
|| KABI=$?
-fi
-if [ $KABI -gt %tolerate_kabi_changes ]; then
+ fi
+ if [ $KABI -gt %tolerate_kabi_changes ]; then
echo "kABI changes of badness $KABI exceed the maximum allowed badness" \
"of %tolerate_kabi_changes. Please try to avoid the kABI changes."
if [ ! -e %my_builddir/kabi/$SUBARCH/ignore-debug -a \
@@ -509,68 +526,200 @@
fi
# Indicate the ABI badness in build result emails.
echo "KABI BADNESS $KABI" > %_rpmdir/%_arch/mbuild_subject.tag
-fi
-if [ $KABI -ge 8 ]; then
+ fi
+ if [ $KABI -ge 8 ]; then
echo "To find out which types have changed relative to the reference" \
"symbols, diff the symtypes.gz files of the reference kernel" \
"against the symtypes.gz file from this build."
-fi
-# We were building in %my_builddir/linux-2.6.26, but the sources will
-# later be installed in /usr/src/linux-2.6.26-%source_rel. Fix up the
-# build symlink.
-# need to fake modules directory to satisfy scripts
-%if %build_nomodules
-mkdir -p %buildroot/lib/modules/$KERNELRELEASE/
-%endif
-rm -f %buildroot/lib/modules/$KERNELRELEASE/{source,build}
-ln -s /usr/src/linux-${KERNELRELEASE%%-debug} \
+ fi
+ # We were building in %my_builddir/linux-2.6.26, but the sources will
+ # later be installed in /usr/src/linux-2.6.26-%source_rel. Fix up the
+ # build symlink.
+ rm -f %buildroot/lib/modules/$KERNELRELEASE/{source,build}
+ ln -s /usr/src/linux-${KERNELRELEASE%%-debug} \
%buildroot/lib/modules/$KERNELRELEASE/source
-ln -s /$obj_dir/$SUBARCH/debug \
+ ln -s /$obj_dir/$SUBARCH/debug \
%buildroot/lib/modules/$KERNELRELEASE/build
-# Abort if there are any undefined symbols
-msg="$(/sbin/depmod -F %buildroot/boot/System.map-$KERNELRELEASE \
+ # Abort if there are any undefined symbols
+ msg="$(/sbin/depmod -F %buildroot/boot/System.map-$KERNELRELEASE \
-b %buildroot -ae $KERNELRELEASE 2>&1)"
-if [ $? -ne 0 ] || echo "$msg" | grep 'needs unknown symbol'; then
+ if [ $? -ne 0 ] || echo "$msg" | grep 'needs unknown symbol'; then
exit 1
-fi
-# Create a dummy initrd with roughly the size the real one will have.
-# That way, YaST will know that this package requires some additional
-# space in /boot.
-dd if=/dev/zero of=%buildroot/boot/initrd-$KERNELRELEASE \
+ fi
+ # Create a dummy initrd with roughly the size the real one will have.
+ # That way, YaST will know that this package requires some additional
+ # space in /boot.
+ dd if=/dev/zero of=%buildroot/boot/initrd-$KERNELRELEASE \
bs=1024 seek=2047 count=1
-# Collect the file list.
+%if %split_packages
+ # Generate the lists of supported and unsupported modules.
+ ( cd %buildroot
+ for module in $(find lib/modules/$KERNELRELEASE -type f -name '*.ko'); do
+ case "$(/sbin/modinfo -F supported $module)" in
+ (yes|external)
+ echo "/$module" >> %my_builddir/supported-modules
+ ;;
+ (*)
+ echo "/$module" >> %my_builddir/unsupported-modules
+ ;;
+ esac
+ done
+ )
+ add_dependent_modules() {
+ local modules_dep=$1
+ xargs make -rRs -f <(echo -e '%:\n\t@echo $@' ; cat $modules_dep)
+ }
+ modules_dep=%buildroot/lib/modules/$KERNELRELEASE/modules.dep
+ # Make sure that no supported modules depend on any unsupported modules.
+ dependent_unsupported_modules=$(
+ comm -3 <(sort %my_builddir/supported-modules) \
+ <(cat %my_builddir/supported-modules \
+ | add_dependent_modules $modules_dep \
+ | sort))
+ if [ -n "$dependent_unsupported_modules" ]; then
+ echo "The following unsupported modules are used by supported modules:"
+ echo "$dependent_unsupported_modules"
+ echo "Please fix supported.conf."
+ exit 1
+ fi
+ # Compute the list of base modules: modules that core modules depend on
+ # implicitly are also core modules.
+ grep -f %my_builddir/grep-for-base-modules %my_builddir/supported-modules \
+ | add_dependent_modules $modules_dep > %my_builddir/base-modules
+ # All supported modules which are not core modules belong in kernel-kernel-debug.
+ comm -3 <(sort %my_builddir/supported-modules) \
+ <(sort %my_builddir/base-modules) \
+ > %my_builddir/main-modules
+%else
+ ( cd %buildroot
+ find lib/modules/$KERNELRELEASE -type f -name '*.ko' -printf '/%%p\n'
+ ) > %my_builddir/base-modules
+%endif
+ # Set up some module aliases
+ install -d -m 755 %buildroot/etc/modprobe.d/
+ install -m 644 %_sourcedir/module-renames %buildroot/etc/modprobe.d/
+fi
+add_dirs_to_filelist() {
+ local filelist
+ filelist=$(cat)
+ echo "$filelist"
+ # Below, we do this:
+ # - remove filelist macros
+ # - remove last pathname component
+ # - generate all parents and make the list unique
+ # - skip directories owned be other packages
+ # - add the %dir prefix (double-escaped for find and rpm)
+ echo "$filelist" \
+ | sed -re 's:%%%%[a-z]+(\([^)]+\))? ?::g' \
+ | sed -re 's:/[^/]+$::' \
+ | sed -nre ':a; p; s:/[^/]+$::; ta' \
+ | sort -u \
+ | sed -r -e '\:^(|/boot|/etc|/lib(/modules|/firmware)?|/usr(/src)?)$:d' \
+ | sed -e 's:^:%%%%dir :'
+}
+# Collect the file lists.
( cd %buildroot
- echo "%%defattr(-, root, root)"
+ echo "%%%%defattr(-, root, root)"
find boot \
- \( -type l -o -name 'initrd-*' \) -printf '%%%%ghost /%%p\n' -o \
+ \( -type l -o -name 'initrd-*' \) -printf '%%%%%%%%ghost /%%p\n' -o \
-type f -printf '/%%p\n'
+ if [ $CONFIG_MODULES = y ]; then
find lib/modules/$KERNELRELEASE \
- -type d -printf '%%%%dir /%%p\n' -o \
- -path '*/modules.*' -printf '%%%%ghost /%%p\n' -o \
- -printf '/%%p\n'
- test -d lib/firmware && \
- find lib/firmware/$KERNELRELEASE \
- -type d -printf '%%%%dir /%%p\n' -o \
- -path '*/modules.*' -printf '%%%%ghost /%%p\n' -o \
+ -type d -o \
+ -path '*/modules.*' -printf '%%%%%%%%ghost /%%p\n' -o \
+ -name '*.ko' -prune -o \
-printf '/%%p\n'
+ cat %my_builddir/base-modules
+ echo '%%%%config /etc/modprobe.d/module-renames'
find $obj_dir \
- -type d -printf '%%%%dir /%%p\n' -o \
+ -type d -o \
+ -printf '/%%p\n'
+ fi
+ test -d lib/firmware/$KERNELRELEASE && \
+ find lib/firmware/$KERNELRELEASE \
+ -type d -o \
-printf '/%%p\n'
- echo '%%dir /etc/modprobe.d/'
- echo '%%config /etc/modprobe.d/module-renames'
if [ -e .%_docdir/%name ]; then
- echo "%%doc %_docdir/%name"
+ echo "%%%%doc %_docdir/%name"
fi
-) > %my_builddir/kernel.files
-# Set up some module aliases
-install -d -m 755 %buildroot/etc/modprobe.d/
-install -m 644 %_sourcedir/module-renames %buildroot/etc/modprobe.d/
-
-%pre -f pre.sh
+) | add_dirs_to_filelist > %my_builddir/kernel-base.files
+%if %split_packages
+ ( echo "%%%%defattr(-, root, root)"
+ cat %my_builddir/main-modules
+ ) | add_dirs_to_filelist > %my_builddir/kernel-main.files
+ ( echo "%%%%defattr(-, root, root)"
+ cat %my_builddir/unsupported-modules
+ ) | add_dirs_to_filelist > %my_builddir/kernel-extra.files
+%endif
+# Hardlink duplicate files automatically (from package fdupes): It doesn't safe
+# much, but it keeps rpmlint from breaking the package build.
+%fdupes $RPM_BUILD_ROOT
+cd %my_builddir # it helps if rpm can find the file lists ...
%post -f post.sh
%postun -f postun.sh
+%if %split_packages
+
+%files -f kernel-main.files
+%else
+
+%files -f kernel-base.files
+%endif
+
+%package -n kernel-debug-base
+Summary: A Debug Version of the Kernel - base modules
+License: GPL v2 only
+Group: System/Kernel
+Url: http://www.kernel.org/
+AutoReqProv: on
+Requires(pre): coreutils awk
+Requires(post): module-init-tools
+Requires(post): perl-Bootloader
+Requires(post): mkinitrd
+
+%description -n kernel-debug-base
+This kernel has several debug facilities enabled that hurt performance.
+Only use this kernel when investigating problems.
+
+This package contains only the base modules, required in all installs.
+
+
+
+Source Timestamp: 2008-09-29 15:31:19 +0200
+
+%pre -n kernel-debug-base -f pre-base.sh
+
+%post -n kernel-debug-base -f post-base.sh
+%if %split_packages
-%files -f kernel.files
+%files -n kernel-debug-base -f kernel-base.files
+%endif
+
+%package -n kernel-debug-extra
+Summary: A Debug Version of the Kernel - extra modules
+License: GPL v2 only
+Group: System/Kernel
+Url: http://www.kernel.org/
+AutoReqProv: on
+Requires: kernel-debug = %version-%release
+Requires(pre): coreutils awk
+Requires(post): module-init-tools
+Requires(post): perl-Bootloader
+Requires(post): mkinitrd
+%description -n kernel-debug-extra
+This kernel has several debug facilities enabled that hurt performance.
+Only use this kernel when investigating problems.
+
+This package contains additional modules not supported by Novell.
+
+
+
+Source Timestamp: 2008-09-29 15:31:19 +0200
+
+%post -n kernel-debug-extra -f post-extra.sh
+%if %split_packages
+
+%files -n kernel-debug-extra -f kernel-extra.files
+%endif
++++++ kernel-default.spec ++++++
--- /var/tmp/diff_new_pack.o25057/_old 2008-09-29 18:09:40.000000000 +0200
+++ /var/tmp/diff_new_pack.o25057/_new 2008-09-29 18:09:40.000000000 +0200
@@ -30,7 +30,6 @@
%define build_xen 0
%define build_um 0
%define build_vanilla 0
-%define build_nomodules 0
%if %{build_flavor} == "kdump"
%define build_kdump 1
%endif
@@ -43,19 +42,18 @@
%if %{build_flavor} == "vanilla"
%define build_vanilla 1
%endif
-%if %{build_flavor} == "ps3"
-%define build_nomodules 1
-%endif
Name: kernel-default
Summary: The Standard Kernel for both Uniprocessor and Multiprocessor Systems
Version: 2.6.27
-Release: 7
+Release: 8
License: GPL v2 only
Group: System/Kernel
Url: http://www.kernel.org/
AutoReqProv: on
-BuildRequires: coreutils module-init-tools
+BuildRequires: coreutils module-init-tools sparse
+BuildRequires: fdupes
+Requires: kernel-default-base = %version-%release
Requires(pre): coreutils awk
Requires(post): module-init-tools
# This Requires is wrong, because the post/postun scripts have a
@@ -68,6 +66,9 @@
Requires(post): perl-Bootloader
Requires(post): mkinitrd
Recommends: kerneloops
+%if ! %sles_version
+Recommends: kernel-default-extra
+%endif
#!BuildIgnore: perl-Bootloader mkinitrd
%if ! 0%{?opensuse_bs}
BuildRequires: kernel-dummy
@@ -156,7 +157,6 @@
Source32: config-subst
Source33: check-for-config-changes
Source34: check-supported-list
-Source35: install-configs
Source38: kabi-checks
Source40: build-source-timestamp
Source41: built-in-where
@@ -176,6 +176,7 @@
Source109: patches.kernel.org.tar.bz2
Source110: patches.apparmor.tar.bz2
Source111: patches.rt.tar.bz2
+Source112: patches.trace.tar.bz2
Source120: kabi.tar.bz2
%define my_builddir %_builddir/%{name}-%{version}
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -202,8 +203,21 @@
Obsoletes: rt2x00-kmp
Obsoletes: rfswitch-kmp
Obsoletes: uvcvideo-kmp
-%(chmod +x %_sourcedir/{arch-symbols,guards,config-subst,check-for-config-changes,check-supported-list,built-in-where,find-provides,make-symsets,modversions,kabi-checks,install-configs})
+%(chmod +x %_sourcedir/{arch-symbols,guards,config-subst,check-for-config-changes,check-supported-list,built-in-where,find-provides,make-symsets,modversions,kabi-checks})
%define symbols %(set -- kernel-default default $(case default in (rt|rt_*) echo RT ;; esac) $(%_sourcedir/arch-symbols %_target_cpu) $([ -e %_sourcedir/extra-symbols ] && cat %_sourcedir/extra-symbols) ; echo $*)
+%define subarch_flavor %(%_sourcedir/guards %symbols < %_sourcedir/config.conf | grep '/default$')
+# Define some CONFIG variables as rpm macros as well. (rpm cannot handle
+# defining them all at once.)
+%define config_vars CONFIG_MODULES
+%{expand:%(eval "$(test -n "%subarch_flavor" && tar xfj %_sourcedir/config.tar.bz2 --to-stdout config/%subarch_flavor)"; for config in %config_vars; do echo "%%global $config ${!config:-n}"; done)}
+%if %build_vanilla || %CONFIG_MODULES != "y"
+%define split_packages 0
+%else
+%define split_packages 1
+%endif
+# Build with bash instead of sh as the shell: this turns on bash
+# extensions like <(...).
+%define _buildshell /bin/bash
# Provide the exported symbols as "ksym(symbol) = hash"
%define __find_provides %_sourcedir/find-provides %name
# Will modules not listed in supported.conf abort the kernel build (0/1)?
@@ -218,7 +232,7 @@
-Source Timestamp: 2008-09-15 10:58:05 +0200
+Source Timestamp: 2008-09-29 15:31:19 +0200
%prep
if ! [ -e %_sourcedir/linux-2.6.26.tar.bz2 ]; then
@@ -228,16 +242,21 @@
fi
echo "Architecture symbol(s):" %symbols
# Unpack all sources and patches
-%setup -q -c -T -a 0 -a 100 -a 101 -a 102 -a 103 -a 104 -a 105 -a 106 -a 107 -a 108 -a 109 -a 110 -a 111 -a 120
-# Generate the list of supported modules
-( %_sourcedir/guards %symbols < %_sourcedir/supported.conf
+%setup -q -c -T -a 0 -a 100 -a 101 -a 102 -a 103 -a 104 -a 105 -a 106 -a 107 -a 108 -a 109 -a 110 -a 111 -a 112 -a 120
+supported_conf() {
+ %_sourcedir/guards %symbols $* < %_sourcedir/supported.conf | sort -u
+}
+# Generate the list of modules to be marked as supported
+( supported_conf base
for how in external; do
- ( %_sourcedir/guards %symbols < %_sourcedir/supported.conf
- %_sourcedir/guards %symbols < %_sourcedir/supported.conf
- %_sourcedir/guards %symbols $how < %_sourcedir/supported.conf \
- ) | sort | uniq -u | sed -e 's:$: '"$how"':'
+ comm -2 -3 <(supported_conf base $how) <(supported_conf base) \
+ | sed -e 's:$: '"$how"':'
done
-) | sed -e 's,.*/,,' | sort > linux-2.6.26/Module.supported
+) | sed -e 's,.*/,,' -e 's,\.ko$,,' > linux-2.6.26/Module.supported
+# Create grep pattern file for the modules to end up in the base package
+comm -2 -3 <(supported_conf base) <(supported_conf) \
+ | sed -e 's:.*/::' -e 's:^:\\/:' -e 's:$:\.ko$:' \
+ > %my_builddir/grep-for-base-modules
cd linux-2.6.26
# Find out for which architecture to build. We do this here, and use the
# result in the %build and %install sections.
@@ -245,10 +264,7 @@
# On architectures with a bi-arch or cross compiler, we can compile for
# an architecture different from %arch. The location of the config file
# tells us for which architecture to compile.
-set -- $(
- for config in $(%_sourcedir/guards %symbols < %_sourcedir/config.conf) ; do
- [ ${config#*/} = default ] && echo $config
- done)
+set -- %subarch_flavor
if [ $# -ne 1 ]; then
echo "$# config files found for this spec file (but one needed)" >&2
exit 1
@@ -278,9 +294,9 @@
if [ -f %_sourcedir/localversion ] ; then
cat %_sourcedir/localversion > localversion
fi
-%_sourcedir/install-configs %_sourcedir .. $RELEASE
-config=arch/$subarch/defconfig.default
-cat $config \
+cat ../config/%subarch_flavor \
+| %_sourcedir/config-subst CONFIG_LOCALVERSION '"'-$RELEASE-default'"' \
+| %_sourcedir/config-subst CONFIG_SUSE_KERNEL y \
%if 0%{?__debug_package:1}
| %_sourcedir/config-subst CONFIG_DEBUG_INFO y \
%endif
@@ -300,13 +316,14 @@
EOF
%endif
cat >> ../.rpm-defs <<EOF
-KERNELRELEASE=2.6.27-rc6-$RELEASE-default
+KERNELRELEASE=2.6.27-rc7-$RELEASE-default
EOF
%if 0%{?__debug_package:1}
cat >> ../.rpm-defs <<EOF
MAKE_ARGS="\$MAKE_ARGS CONFIG_DEBUG_INFO=y"
EOF
%endif
+echo CONFIG_MODULES=%CONFIG_MODULES >> ../.rpm-defs
%build
source .rpm-defs
@@ -341,7 +358,7 @@
export KBUILD_SYMTYPES=1
EOF
source .kernel-binary.spec.buildenv
-make %{?jobs:-j%jobs} all $MAKE_ARGS
+make %{?jobs:-j%jobs} all $MAKE_ARGS CONFIG_DEBUG_SECTION_MISMATCH=y
%install
source .rpm-defs
@@ -436,13 +453,16 @@
sed -e "s:@KERNELRELEASE@:$KERNELRELEASE:g" \
-e "s:@IMAGE@:$image:g" \
-e "s:@FLAVOR""@:default:g" \
- %_sourcedir/pre.sh > ../pre.sh
-( cat %_sourcedir/functions.sh
+ %_sourcedir/pre.sh > ../pre-base.sh
+for sub in '-base' '' '-extra'; do
+ ( cat %_sourcedir/functions.sh
sed -e "s:@KERNELRELEASE@:$KERNELRELEASE:g" \
-e "s:@IMAGE@:$image:g" \
-e "s:@FLAVOR""@:default:g" \
+ -e "s:@SUBPACKAGE@:kernel-default$sub:g" \
%_sourcedir/post.sh
-) > ../post.sh
+ ) > ../post$sub.sh
+done
( cat %_sourcedir/functions.sh
sed -e "s:@KERNELRELEASE@:$KERNELRELEASE:g" \
-e "s:@IMAGE@:$image:g" \
@@ -455,18 +475,16 @@
ln -s $image$suffix %buildroot/boot/$image$suffix
ln -s initrd$suffix %buildroot/boot/initrd$suffix
cp .config %buildroot/boot/config-$KERNELRELEASE
-%if ! %build_nomodules
+gzip -c9 < Module.symvers > %buildroot/boot/symvers-$KERNELRELEASE.gz
+if [ $CONFIG_MODULES = y ]; then
make modules_install $MAKE_ARGS INSTALL_MOD_PATH=%buildroot
-%endif
-if ! %_sourcedir/check-supported-list \
+ if ! %_sourcedir/check-supported-list \
%_sourcedir %buildroot/lib/modules/$KERNELRELEASE; then
%if %supported_modules_check
exit 1
%endif
echo "Consistency check error: please update supported.conf."
-fi
-gzip -c9 < Module.symvers > %buildroot/boot/symvers-$KERNELRELEASE.gz
-if grep -q '^CONFIG_MODULES=y$' .config; then
+ fi
# Preserve exports from previous kernels when possible.
old_symsets=%my_builddir/kabi/$SUBARCH/symsets-default.tar.gz
[ -e $old_symsets ] || old_symsets=
@@ -480,42 +498,41 @@
%buildroot/boot/symsets-$KERNELRELEASE.tar.gz \
$old_symsets ||
[ -n "$ignore_kabi_changes" -o %tolerate_kabi_changes -ge 8 ]
-fi
-# Also put the resulting file in $obj_dir/$SUBARCH/default
-# so that kernel-source + kernel-default is sufficient for building
-# modules that have modversions as well.
-obj_dir=usr/src/linux-${KERNELRELEASE%%-default}-obj
-mkdir -p %buildroot/$obj_dir/$SUBARCH/default
-cp Module.symvers %buildroot/$obj_dir/$SUBARCH/default
-# Table of types used in exported symbols (for modversion debugging).
-%_sourcedir/modversions --pack . > %buildroot/boot/symtypes-$KERNELRELEASE
-if [ -s %buildroot/boot/symtypes-$KERNELRELEASE ]; then
+ # Also put the resulting file in $obj_dir/$SUBARCH/default
+ # so that kernel-source + kernel-default is sufficient for building
+ # modules that have modversions as well.
+ obj_dir=usr/src/linux-${KERNELRELEASE%%-default}-obj
+ mkdir -p %buildroot/$obj_dir/$SUBARCH/default
+ cp Module.symvers %buildroot/$obj_dir/$SUBARCH/default
+ # Table of types used in exported symbols (for modversion debugging).
+ %_sourcedir/modversions --pack . > %buildroot/boot/symtypes-$KERNELRELEASE
+ if [ -s %buildroot/boot/symtypes-$KERNELRELEASE ]; then
gzip -9 %buildroot/boot/symtypes-$KERNELRELEASE
-else
+ else
rm -f %buildroot/boot/symtypes-$KERNELRELEASE
-fi
-# Some architecture's $(uname -m) output is different from the ARCH
-# parameter that needs to be passed to kbuild. Create symlinks from
-# $(uname -m) to the ARCH directory.
-[ -e %buildroot/$obj_dir/%_target_cpu ] \
+ fi
+ # Some architecture's $(uname -m) output is different from the ARCH
+ # parameter that needs to be passed to kbuild. Create symlinks from
+ # $(uname -m) to the ARCH directory.
+ [ -e %buildroot/$obj_dir/%_target_cpu ] \
|| ln -sf $SUBARCH %buildroot/$obj_dir/%_target_cpu
%ifarch ppc ppc64
-[ -e %buildroot/$obj_dir/ppc ] \
+ [ -e %buildroot/$obj_dir/ppc ] \
|| ln -s $SUBARCH %buildroot/$obj_dir/ppc
-[ -e %buildroot/$obj_dir/ppc64 ] \
+ [ -e %buildroot/$obj_dir/ppc64 ] \
|| ln -s $SUBARCH %buildroot/$obj_dir/ppc64
%endif
-# Check for kABI changes
-KABI=0
-if [ -e %my_builddir/kabi/$SUBARCH/symvers-default ]; then
+ # Check for kABI changes
+ KABI=0
+ if [ -e %my_builddir/kabi/$SUBARCH/symvers-default ]; then
%_sourcedir/kabi-checks \
%my_builddir/kabi/$SUBARCH/symvers-default \
Module.symvers \
%my_builddir/kabi/commonsyms \
%my_builddir/kabi/usedsyms \
|| KABI=$?
-fi
-if [ $KABI -gt %tolerate_kabi_changes ]; then
+ fi
+ if [ $KABI -gt %tolerate_kabi_changes ]; then
echo "kABI changes of badness $KABI exceed the maximum allowed badness" \
"of %tolerate_kabi_changes. Please try to avoid the kABI changes."
if [ ! -e %my_builddir/kabi/$SUBARCH/ignore-default -a \
@@ -527,68 +544,198 @@
fi
# Indicate the ABI badness in build result emails.
echo "KABI BADNESS $KABI" > %_rpmdir/%_arch/mbuild_subject.tag
-fi
-if [ $KABI -ge 8 ]; then
+ fi
+ if [ $KABI -ge 8 ]; then
echo "To find out which types have changed relative to the reference" \
"symbols, diff the symtypes.gz files of the reference kernel" \
"against the symtypes.gz file from this build."
-fi
-# We were building in %my_builddir/linux-2.6.26, but the sources will
-# later be installed in /usr/src/linux-2.6.26-%source_rel. Fix up the
-# build symlink.
-# need to fake modules directory to satisfy scripts
-%if %build_nomodules
-mkdir -p %buildroot/lib/modules/$KERNELRELEASE/
-%endif
-rm -f %buildroot/lib/modules/$KERNELRELEASE/{source,build}
-ln -s /usr/src/linux-${KERNELRELEASE%%-default} \
+ fi
+ # We were building in %my_builddir/linux-2.6.26, but the sources will
+ # later be installed in /usr/src/linux-2.6.26-%source_rel. Fix up the
+ # build symlink.
+ rm -f %buildroot/lib/modules/$KERNELRELEASE/{source,build}
+ ln -s /usr/src/linux-${KERNELRELEASE%%-default} \
%buildroot/lib/modules/$KERNELRELEASE/source
-ln -s /$obj_dir/$SUBARCH/default \
+ ln -s /$obj_dir/$SUBARCH/default \
%buildroot/lib/modules/$KERNELRELEASE/build
-# Abort if there are any undefined symbols
-msg="$(/sbin/depmod -F %buildroot/boot/System.map-$KERNELRELEASE \
+ # Abort if there are any undefined symbols
+ msg="$(/sbin/depmod -F %buildroot/boot/System.map-$KERNELRELEASE \
-b %buildroot -ae $KERNELRELEASE 2>&1)"
-if [ $? -ne 0 ] || echo "$msg" | grep 'needs unknown symbol'; then
+ if [ $? -ne 0 ] || echo "$msg" | grep 'needs unknown symbol'; then
exit 1
-fi
-# Create a dummy initrd with roughly the size the real one will have.
-# That way, YaST will know that this package requires some additional
-# space in /boot.
-dd if=/dev/zero of=%buildroot/boot/initrd-$KERNELRELEASE \
+ fi
+ # Create a dummy initrd with roughly the size the real one will have.
+ # That way, YaST will know that this package requires some additional
+ # space in /boot.
+ dd if=/dev/zero of=%buildroot/boot/initrd-$KERNELRELEASE \
bs=1024 seek=2047 count=1
-# Collect the file list.
+%if %split_packages
+ # Generate the lists of supported and unsupported modules.
+ ( cd %buildroot
+ for module in $(find lib/modules/$KERNELRELEASE -type f -name '*.ko'); do
+ case "$(/sbin/modinfo -F supported $module)" in
+ (yes|external)
+ echo "/$module" >> %my_builddir/supported-modules
+ ;;
+ (*)
+ echo "/$module" >> %my_builddir/unsupported-modules
+ ;;
+ esac
+ done
+ )
+ add_dependent_modules() {
+ local modules_dep=$1
+ xargs make -rRs -f <(echo -e '%:\n\t@echo $@' ; cat $modules_dep)
+ }
+ modules_dep=%buildroot/lib/modules/$KERNELRELEASE/modules.dep
+ # Make sure that no supported modules depend on any unsupported modules.
+ dependent_unsupported_modules=$(
+ comm -3 <(sort %my_builddir/supported-modules) \
+ <(cat %my_builddir/supported-modules \
+ | add_dependent_modules $modules_dep \
+ | sort))
+ if [ -n "$dependent_unsupported_modules" ]; then
+ echo "The following unsupported modules are used by supported modules:"
+ echo "$dependent_unsupported_modules"
+ echo "Please fix supported.conf."
+ exit 1
+ fi
+ # Compute the list of base modules: modules that core modules depend on
+ # implicitly are also core modules.
+ grep -f %my_builddir/grep-for-base-modules %my_builddir/supported-modules \
+ | add_dependent_modules $modules_dep > %my_builddir/base-modules
+ # All supported modules which are not core modules belong in kernel-kernel-default.
+ comm -3 <(sort %my_builddir/supported-modules) \
+ <(sort %my_builddir/base-modules) \
+ > %my_builddir/main-modules
+%else
+ ( cd %buildroot
+ find lib/modules/$KERNELRELEASE -type f -name '*.ko' -printf '/%%p\n'
+ ) > %my_builddir/base-modules
+%endif
+ # Set up some module aliases
+ install -d -m 755 %buildroot/etc/modprobe.d/
+ install -m 644 %_sourcedir/module-renames %buildroot/etc/modprobe.d/
+fi
+add_dirs_to_filelist() {
+ local filelist
+ filelist=$(cat)
+ echo "$filelist"
+ # Below, we do this:
+ # - remove filelist macros
+ # - remove last pathname component
+ # - generate all parents and make the list unique
+ # - skip directories owned be other packages
+ # - add the %dir prefix (double-escaped for find and rpm)
+ echo "$filelist" \
+ | sed -re 's:%%%%[a-z]+(\([^)]+\))? ?::g' \
+ | sed -re 's:/[^/]+$::' \
+ | sed -nre ':a; p; s:/[^/]+$::; ta' \
+ | sort -u \
+ | sed -r -e '\:^(|/boot|/etc|/lib(/modules|/firmware)?|/usr(/src)?)$:d' \
+ | sed -e 's:^:%%%%dir :'
+}
+# Collect the file lists.
( cd %buildroot
- echo "%%defattr(-, root, root)"
+ echo "%%%%defattr(-, root, root)"
find boot \
- \( -type l -o -name 'initrd-*' \) -printf '%%%%ghost /%%p\n' -o \
+ \( -type l -o -name 'initrd-*' \) -printf '%%%%%%%%ghost /%%p\n' -o \
-type f -printf '/%%p\n'
+ if [ $CONFIG_MODULES = y ]; then
find lib/modules/$KERNELRELEASE \
- -type d -printf '%%%%dir /%%p\n' -o \
- -path '*/modules.*' -printf '%%%%ghost /%%p\n' -o \
- -printf '/%%p\n'
- test -d lib/firmware && \
- find lib/firmware/$KERNELRELEASE \
- -type d -printf '%%%%dir /%%p\n' -o \
- -path '*/modules.*' -printf '%%%%ghost /%%p\n' -o \
+ -type d -o \
+ -path '*/modules.*' -printf '%%%%%%%%ghost /%%p\n' -o \
+ -name '*.ko' -prune -o \
-printf '/%%p\n'
+ cat %my_builddir/base-modules
+ echo '%%%%config /etc/modprobe.d/module-renames'
find $obj_dir \
- -type d -printf '%%%%dir /%%p\n' -o \
+ -type d -o \
+ -printf '/%%p\n'
+ fi
+ test -d lib/firmware/$KERNELRELEASE && \
+ find lib/firmware/$KERNELRELEASE \
+ -type d -o \
-printf '/%%p\n'
- echo '%%dir /etc/modprobe.d/'
- echo '%%config /etc/modprobe.d/module-renames'
if [ -e .%_docdir/%name ]; then
- echo "%%doc %_docdir/%name"
+ echo "%%%%doc %_docdir/%name"
fi
-) > %my_builddir/kernel.files
-# Set up some module aliases
-install -d -m 755 %buildroot/etc/modprobe.d/
-install -m 644 %_sourcedir/module-renames %buildroot/etc/modprobe.d/
-
-%pre -f pre.sh
+) | add_dirs_to_filelist > %my_builddir/kernel-base.files
+%if %split_packages
+ ( echo "%%%%defattr(-, root, root)"
+ cat %my_builddir/main-modules
+ ) | add_dirs_to_filelist > %my_builddir/kernel-main.files
+ ( echo "%%%%defattr(-, root, root)"
+ cat %my_builddir/unsupported-modules
+ ) | add_dirs_to_filelist > %my_builddir/kernel-extra.files
+%endif
+# Hardlink duplicate files automatically (from package fdupes): It doesn't safe
+# much, but it keeps rpmlint from breaking the package build.
+%fdupes $RPM_BUILD_ROOT
+cd %my_builddir # it helps if rpm can find the file lists ...
%post -f post.sh
%postun -f postun.sh
+%if %split_packages
-%files -f kernel.files
+%files -f kernel-main.files
+%else
+
+%files -f kernel-base.files
+%endif
+%package -n kernel-default-base
+Summary: The Standard Kernel for both Uniprocessor and Multiprocessor Systems - base modules
+License: GPL v2 only
+Group: System/Kernel
+Url: http://www.kernel.org/
+AutoReqProv: on
+Requires(pre): coreutils awk
+Requires(post): module-init-tools
+Requires(post): perl-Bootloader
+Requires(post): mkinitrd
+
+%description -n kernel-default-base
+The standard kernel for both uniprocessor and multiprocessor systems.
+
+This package contains only the base modules, required in all installs.
+
+
+
+Source Timestamp: 2008-09-29 15:31:19 +0200
+
+%pre -n kernel-default-base -f pre-base.sh
+
+%post -n kernel-default-base -f post-base.sh
+%if %split_packages
+
+%files -n kernel-default-base -f kernel-base.files
+%endif
+
+%package -n kernel-default-extra
+Summary: The Standard Kernel for both Uniprocessor and Multiprocessor Systems - extra modules
+License: GPL v2 only
+Group: System/Kernel
+Url: http://www.kernel.org/
+AutoReqProv: on
+Requires: kernel-default = %version-%release
+Requires(pre): coreutils awk
+Requires(post): module-init-tools
+Requires(post): perl-Bootloader
+Requires(post): mkinitrd
+
+%description -n kernel-default-extra
+The standard kernel for both uniprocessor and multiprocessor systems.
+
+This package contains additional modules not supported by Novell.
+
+
+
+Source Timestamp: 2008-09-29 15:31:19 +0200
+
+%post -n kernel-default-extra -f post-extra.sh
+%if %split_packages
+
+%files -n kernel-default-extra -f kernel-extra.files
+%endif
++++++ kernel-dummy.spec ++++++
--- /var/tmp/diff_new_pack.o25057/_old 2008-09-29 18:09:40.000000000 +0200
+++ /var/tmp/diff_new_pack.o25057/_new 2008-09-29 18:09:40.000000000 +0200
@@ -23,7 +23,7 @@
Name: kernel-dummy
Summary: Internal dummy package for synchronizing release numbers
Version: 2.6.27
-Release: 7
+Release: 8
License: GPL v2 only
Group: System/Kernel
AutoReqProv: off
@@ -36,7 +36,7 @@
--------
Andreas Gruenbacher <agruen(a)suse.de>
-Source Timestamp: 2008-09-15 10:58:05 +0200
+Source Timestamp: 2008-09-29 15:31:19 +0200
%install
rm -rf %buildroot
@@ -46,8 +46,385 @@
%files
%defattr(-, root, root)
/etc/dummy
-
%changelog
+* Mon Sep 29 2008 agruen(a)suse.de
+- Do not split kernels which have modules disabled (kernel-ps3)
+ or which do not differentiate between supported and unsupported
+ modules (kernel-vanilla).
+* Mon Sep 29 2008 hare(a)suse.de
+- patches.drivers/open-fcoe-dcb-support: Fix section annotation
+ for ixgbe.
+- patches.fixes/scsi-enhance-error-codes: Add missing hunk.
+- patches.fixes/open-iscsi-git-update: Open-iSCSI updates
+ (FATE#304283).
+- patches.kernel.org/gdth-section-conflict: Fixup gdth
+ section annotations.
+* Mon Sep 29 2008 aj(a)suse.de
+- Silence /etc/rpm/macros.kernel-source via rpmlintrc.
+* Mon Sep 29 2008 jbeulich(a)novell.com
+- Enable Solarflare driver link and resource driver patches.
+- Update x86 config files.
+* Mon Sep 29 2008 agruen(a)suse.de
+- rpm/kernel-source.spc.in: Try to get rid of a hack that makes
+ uname -r pretend in build environments that the kernel from
+ the installed kernel-source package is the running kernel:
+ packages assuming this are completely broken ans should really
+ be fixed.
+* Mon Sep 29 2008 agruen(a)suse.de
+- rpm/kernel-source.spec.in: Prepare for the upcoming introduction
+ of kernel-source-rt (and kernel-syms-rt) for producing KMPs for
+ real-time kernels.
+- rpm/install-configs: Remove; this script didn't improve things.
+* Sun Sep 28 2008 aj(a)suse.de
+- rpm/kernel-source.rpmlintrc: New file to silence warnings about
+ zero size files
+- rpm/kernel-source.spec.in: Install it.
+- rpm/kernel-source.spec.in: Make /etc/rpm/macros.kernel-source
+ a config file to silence rpmlint.
+* Sun Sep 28 2008 jdelvare(a)suse.de
+- supported.conf: Update the list of i2c bus drivers.
+ - i2c-i810, i2c-prosavage and i2c-savage4 are gone.
+ - i2c-isch and i2c-nforce2-s4985 are new, mark as supported.
+* Sun Sep 28 2008 aj(a)suse.de
+- rpm/kernel-source.spec.in: Do not package .gitignore files.
+* Sun Sep 28 2008 agruen(a)suse.de
+- Fix CONFIG_MODULES=n case.
+- config.conf: Some cleanups.
+* Sat Sep 27 2008 agruen(a)suse.de
+- Split the binary kernel packages into three parts:
+ + kernel-$flavor-base: very reduced hardware support, intended
+ to be used in virtual machine images
+ + kernel-$flavor: extends the base package; contains all kernel
+ modules we can support
+ + kernel-$flavor-extra: all other kernel modules which may be
+ useful, but which we cannot support.
+* Sat Sep 27 2008 agruen(a)suse.de
+- Hardlink duplicate files automatically: It doesn't save much,
+ but it keeps rpmlint from breaking the package build.
+* Sat Sep 27 2008 agruen(a)suse.de
+- Add consistency check: supported modules must not depend on
+ unsupported ones ... and guess what, there was a large number of
+ such modules. Fix this by adding all the dependent modules to
+ supported.conf.
+* Sat Sep 27 2008 knikanth(a)suse.de
+- patches.suse/dm-barrier-single-device: Implement barrier
+ support for single device DM devices (FATE#304489).
+* Sat Sep 27 2008 jeffm(a)suse.de
+- scripts/tar-up_and_run_mbuild.sh: Added -xen flavor to default
+ mbuild spec list.
+* Sat Sep 27 2008 jeffm(a)suse.de
+- patches.xen/xen-e1000e_Export_set_memory_ro-rw: Export
+ set_memory_ro() and set_memory_rw() calls for xen. (bnc#425480).
+* Sat Sep 27 2008 kkeil(a)suse.de
+- patches.suse/e1000e_mmap_range_chk:check ranges in pci_mmap
+ * updated version with better reporting (bnc#425480)
+* Fri Sep 26 2008 kkeil(a)suse.de
+- patches to track down and fix the e1000e NVM corruption
+ (bnc#425480)
+- patches.suse/e1000e_allow_bad_checksum: e1000e: allow bad
+ checksum
+- patches.suse/e1000e_call_dump_eeprom: e1000e: dump eeprom to
+ dmesg for ich8/9
+- patches.suse/e1000e_debug_contention_on_NVM_SWFLAG: e1000e:
+ debug contention on NVM SWFLAG
+- patches.suse/e1000e_do_not_ever_sleep_in_interrupt_context:
+ e1000e: do not ever sleep in interrupt context
+- patches.suse/e1000e_drop_stats_lock: e1000e: drop stats lock
+- patches.suse/e1000e_Export_set_memory_ro-rw: Export
+ set_memory_ro() and set_memory_rw() calls
+- patches.suse/e1000e_fix_lockdep_issues: e1000e: fix lockdep
+ issues
+- patches.suse/e1000e_mmap_range_chk: check ranges in pci_mmap
+- patches.suse/e1000e_reset_swflag_after_resetting_hardware:
+ e1000e: reset swflag after resetting hardware
+- patches.suse/e1000e_update_version: update version
+- patches.suse/e1000e_use_set_memory_ro-rw_to_protect_flash_memory:
+ e1000e: Use set_memory_ro()/set_memory_rw() to protect flash
+ memory
+- cleanup old not longer used patches
+ * patches.drivers/e1000-7.6.5-napi-tail.patch
+ * patches.drivers/e1000-7.6.9.2
+ * patches.drivers/e1000-7.6.9.2-napi
+* Fri Sep 26 2008 kkeil(a)suse.de
+- Enable CONFIG_SGI_IOC4=m in x86_64 (bnc#430275)
+* Fri Sep 26 2008 jeffm(a)suse.de
+- patches.arch/acpi-export-hotplug_execute: acpi: export
+ acpi_os_hotplug_execute.
+* Fri Sep 26 2008 jeffm(a)suse.de
+- patches.xen/xen-rwlocks-enable-interrupts: add missing
+ __raw_{read,write}_lock_flags to xen's asm/spinlock.h.
+* Fri Sep 26 2008 jeffm(a)suse.de
+- patches.arch/acpi-bay-remove-from-makefile: acpi: remove bay.c
+ from makefile.
+* Fri Sep 26 2008 jeffm(a)suse.de
+- rpm/kernel-binary.spec.in: Disabled sparse checking. Too many
+ false positives.
+* Fri Sep 26 2008 trenn(a)suse.de
+ No functional change:
+- patches.arch/acpi_thermal_passive_blacklist.patch: Avoid
+ critical temp shutdowns on specific ThinkPad T4x(p) and R40
+ (https://bugzilla.novell.com/show_bug.cgi?id=333043)
+ Dock bug fixes (kacpid runs amok on Dells after suspend):
+- patches.arch/acpi-dock-avoid-check-_STA-method.patch: avoid
+ check _STA method (fate#304731,bnc#401740).
+- patches.arch/acpi-dock-fix-eject-request-process.patch: fix
+ eject request process (fate#304731,bnc#401740).
+ More Dock improvements, unrelated to above fixes:
+- patches.arch/acpi-bay-remove-useless-code.patch: remove useless
+ code (fate#304731,bnc#401740).
+- patches.arch/acpi-dock-Fix-duplicate-notification-handler-register.patch:
+ Fix duplicate notification handler register
+ (fate#304731,bnc#401740).
+- patches.arch/acpi-dock-_LCK-support-for-dock.patch: add _LCK
+ support for dock (fate#304731,bnc#401740).
+- patches.arch/acpi-dock-fix-for-bay-in-a-dock-station.patch:
+ fix for bay in a dock station (fate#304731,bnc#401740).
+- patches.arch/acpi-dock-fix-hotplug-race.patch: fix hotplug race
+ (fate#304731,bnc#401740).
+- patches.arch/acpi-dock-introduce-.uevent-for-devices-in-dock.patch:
+ introduce .uevent for devices in dock (fate#304731,bnc#401740).
+- patches.arch/acpi-libata-hotplug-to-align-with-dock-driver.patch:
+ libata hotplug to align with dock driver
+ (fate#304731,bnc#401740).
+- patches.arch/acpi-dock-makeing-dock-driver-supports-bay-and-battery-hotplug.patch:
+ makeing dock driver supports bay and battery hotplug
+ (fate#304731,bnc#401740).
+- patches.arch/acpi-dock-add-type-sysfs-file-for-dock.patch:
+ add 'type' sysfs file for dock (fate#304731,bnc#401740).
+- patches.fixes/acpi_use_acpi_exception.patch: ACPI dock/bay:
+ Use ACPI_EXCEPTION instead of printk(KERN_ERR.
+* Fri Sep 26 2008 jeffm(a)suse.de
+- Update config files: NFS_SWAP=y
+* Fri Sep 26 2008 ptesarik(a)suse.cz
+- patches.suse/rwlocks-enable-interrupts: Allow rwlocks to
+ re-enable interrupts (bnc#387784).
+- patches.arch/ia64-rwlocks-enable-interrupts: ia64: re-enable
+ interrupts when waiting for a rwlock (bnc#387784).
+* Fri Sep 26 2008 sjayaraman(a)suse.de
+- Add Swap over NFS patchset.
+- Adjust patches.xen/xen3-auto-common.diff to avoid conflict on skbuff.h
+ as both xen and swap-over-nfs want to add some bits to the skbuff structure.
+- patches.suse/SoN-01-mm-gfp-to-alloc_flags.patch: mm:
+ gfp_to_alloc_flags() (FATE#303834).
+- patches.suse/SoN-02-mm-setup_per_zone_pages_min.patch: mm:
+ serialize access to min_free_kbytes (FATE#303834).
+- patches.suse/SoN-03-doc.patch: swap over network documentation
+ (FATE#303834).
+- patches.suse/SoN-04-mm-gfp-to-alloc_flags-expose.patch: mm:
+ expose gfp_to_alloc_flags() (FATE#303834).
+- patches.suse/SoN-05-page_alloc-reserve.patch: mm: tag reseve
+ pages (FATE#303834).
+- patches.suse/SoN-06-reserve-slub.patch: mm: slb: add knowledge
+ of reserve pages (FATE#303834).
+- patches.suse/SoN-07-mm-kmem_estimate_pages.patch: mm:
+ kmem_alloc_estimate() (FATE#303834).
+- patches.suse/SoN-08-mm-PF_MEMALLOC-softirq.patch: mm: allow
+ PF_MEMALLOC from softirq context (FATE#303834).
+- patches.suse/SoN-09-mm-page_alloc-emerg.patch: mm: emergency
+ pool (FATE#303834).
+- patches.suse/SoN-10-global-ALLOC_NO_WATERMARKS.patch: mm:
+ system wide ALLOC_NO_WATERMARK (FATE#303834).
+- patches.suse/SoN-11-mm-page_alloc-GFP_EMERGENCY.patch: mm:
+ __GFP_MEMALLOC (FATE#303834).
+- patches.suse/SoN-12-mm-reserve.patch: mm: memory reserve
+ management (FATE#303834).
+- patches.suse/SoN-13-mm-selinux-emergency.patch: selinux:
+ tag avc cache alloc as non-critical (FATE#303834).
+- patches.suse/SoN-14-net-backlog.patch: net: wrap
+ sk->sk_backlog_rcv() (FATE#303834).
+- patches.suse/SoN-15-net-ps_rx.patch: net: packet split receive
+ api (FATE#303834).
+- patches.suse/SoN-16-net-sk_allocation.patch: net:
+ sk_allocation() - concentrate socket related allocations
+ (FATE#303834).
+- patches.suse/SoN-17-netvm-reserve.patch: netvm: network reserve
+ infrastructure (FATE#303834).
+- patches.suse/SoN-18-netvm-reserve-inet.patch: netvm: INET
+ reserves. (FATE#303834).
+- patches.suse/SoN-19-netvm-skbuff-reserve.patch: netvm: hook
+ skb allocation to reserves (FATE#303834).
+- patches.suse/SoN-20-netvm-sk_filter.patch: netvm: filter
+ emergency skbs. (FATE#303834).
+- patches.suse/SoN-21-netvm-tcp-deadlock.patch: netvm: prevent
+ a stream specific deadlock (FATE#303834).
+- patches.suse/SoN-22-emergency-nf_queue.patch: netfilter:
+ NF_QUEUE vs emergency skbs (FATE#303834).
+- patches.suse/SoN-23-netvm.patch: netvm: skb processing
+ (FATE#303834).
+- patches.suse/SoN-24-mm-swapfile.patch: mm: add support for
+ non block device backed swap files (FATE#303834).
+- patches.suse/SoN-25-mm-page_file_methods.patch: mm: methods
+ for teaching filesystems about PG_swapcache pages (FATE#303834).
+- patches.suse/SoN-26-nfs-swapcache.patch: nfs: teach the NFS
+ client how to treat PG_swapcache pages (FATE#303834).
+- patches.suse/SoN-27-nfs-swapper.patch: nfs: disable data cache
+ revalidation for swapfiles (FATE#303834).
+- patches.suse/SoN-28-nfs-swap_ops.patch: nfs: enable swap on NFS
+ (FATE#303834).
+- patches.suse/SoN-29-nfs-alloc-recursions.patch: nfs: fix various
+ memory recursions possible with swap over NFS. (FATE#303834).
+- patches.xen/xen3-auto-common.diff: xen3 common.
+* Fri Sep 26 2008 ptesarik(a)suse.cz
+- split patches.arch/s390-01-01-self-ptrace-v3.patch to make it
+ more obvious that the patch is not constrained to s390.
+ The new series is:
+ patches.suse/self-ptrace.patch: the generic pieces
+ patches.arch/x86-self-ptrace.patch: implementation for x86
+ patches.arch/s390-01-01-self-ptrace-v3.patch: dtto for s390
+* Thu Sep 25 2008 jbeulich(a)novell.com
+- Update Xen patches to 2.6.27-rc7 and c/s 676.
+* Thu Sep 25 2008 olh(a)suse.de
+- add patches.arch/ppc64-rpanote-relocate-firmware.patch
+ update RPA note for firmware relocation (bnc#427960 - LTC48297)
+* Wed Sep 24 2008 jblunck(a)suse.de
+ This adds some tracepoint instrumentation taken from the LTTng patch
+ series. Tracepoints are enabled for kernel-debug and kernel-trace only. I
+ disabled ftrace for all flavors except kernel-debug and kernel-trace as well.
+- Update config files.
+- rpm/kernel-source.spec.in,kernel-binary.spec.in, config.conf: Add trace
+ flavor
+- patches.fixes/ia64-sparse-fixes.diff: ia64-kvm: fix sparse
+ warnings.
+- patches.xen/xen3-fixup-common: rediff
+- patches.xen/xen3-auto-common.diff: rediff
+- patches.xen/xen3-patch-2.6.21: rediff
+- patches.xen/xen3-patch-2.6.26: rediff
+- patches.trace/rcu-read-sched.patch
+- patches.trace/markers-use-rcu-read-lock-sched.patch
+- patches.trace/tracepoints.patch
+- patches.trace/tracepoints-use-table-size-macro.patch
+- patches.trace/tracepoints-documentation.patch
+- patches.trace/tracepoints-tracepoint-synchronize-unregister.patch
+- patches.trace/tracepoints-documentation-fix-teardown.patch
+- patches.trace/tracepoints-samples.patch
+- patches.trace/tracepoints-samples-fix-teardown.patch
+- patches.trace/lttng-instrumentation-irq.patch
+- patches.trace/lttng-instrumentation-scheduler.patch
+- patches.trace/lttng-instrumentation-timer.patch
+- patches.trace/lttng-instrumentation-kernel.patch
+- patches.trace/lttng-instrumentation-filemap.patch
+- patches.trace/lttng-instrumentation-swap.patch
+- patches.trace/lttng-instrumentation-memory.patch
+- patches.trace/lttng-instrumentation-page_alloc.patch
+- patches.trace/lttng-instrumentation-hugetlb.patch
+- patches.trace/lttng-instrumentation-net.patch
+- patches.trace/lttng-instrumentation-ipv4.patch
+- patches.trace/lttng-instrumentation-ipv6.patch
+- patches.trace/lttng-instrumentation-socket.patch
+- patches.trace/lttng-instrumentation-fs.patch
+- patches.trace/lttng-instrumentation-ipc.patch
+- patches.trace/ftrace-port-to-tracepoints.patch
+- patches.trace/ftrace-framepointer.diff
+* Tue Sep 23 2008 jjolly(a)suse.de
+- patches.arch/s390-01-03-cmm2-v2.patch: kernel (new function):
+ Collaborative Memory Management Stage II (bnc#417244)
+- patches.xen/xen3-auto-common.diff: Modified patch to allow for
+ the new patch
+* Tue Sep 23 2008 jeffm(a)suse.de
+- rpm/kernel-binary.spec.in: Enable sparse checking and section
+ mismatch checking.
+* Tue Sep 23 2008 jeffm(a)suse.de
+- patches.kernel.org/arch-include-asm-fixes: kbuild: Properly
+ handle arch/$arch/include/asm (bnc#427473).
+* Mon Sep 22 2008 jeffm(a)suse.de
+- patches.fixes/ext2-avoid-printk-flood-with-dir-corruption:
+ ext2: Avoid printk floods in the face of directory corruption
+ (bnc#427244 CVE-2008-3528).
+- patches.fixes/ext3-avoid-printk-flood-with-dir-corruption:
+ ext3: Avoid printk floods in the face of directory corruption
+ (bnc#427244 CVE-2008-3528).
+* Mon Sep 22 2008 jeffm(a)suse.de
+- Update to 2.6.27-rc7.
+ - Eliminated 2 patches.
+ - patches.arch/s390-01-04-fcpperf-4.patch: Fixed up context.
+* Mon Sep 22 2008 trenn(a)suse.de
+ Workaround for ThinkPad brightness switching:
+- patches.arch/acpi_video_thinkpad_exclude_IGD_devices.patch:
+ Do not use video backlight switching for Lenovo ThinkPads.
+ Commented out for now, possibly to be included later
+- patches.drivers/cpufreq_add_cpu_number_paramater_1.patch:
+ cpufreq: Add a cpu parameter to __cpufreq_driver_getavg()..
+- patches.drivers/cpufreq_add_idle_microaccounting_6.patch:
+ cpufreq,ondemand: Use get_cpu_idle_time_us() to get
+ micro-accounted idle information.
+- patches.drivers/cpufreq_change_load_calculation_2.patch:
+ cpufreq, ondemand: Change the load calculation, optimizing
+ for dependent cpus.
+- patches.drivers/cpufreq_changes_to_get_cpu_idle_us_5.patch:
+ export get_cpu_idle_time_us() .
+- patches.drivers/cpufreq_get_cpu_idle_time_changes_3.patch:
+ cpufreq,ondemand: Prepare changes for doing micro-accounting.
+- patches.drivers/cpufreq_parameterize_down_differential_4.patch:
+ cpufreq, ondemand: Use a parameter for down differential.
+ Added CONFIG_PCIEASPM for rt, xen, powerpc and IA64 to be more
+ consistent across different kernel flavors as suggested on the
+ kernel list:
+- Update config files.
+* Mon Sep 22 2008 hare(a)suse.de
+- patches.drivers/open-fcoe-libfc: Fix build error on IA64.
+- patches.fixes/scsi-terminate-target-reset: Target reset hangs
+ (bnc#427267).
+- supported.conf: Update to include supported SCSI adapters.
+* Fri Sep 19 2008 jbeulich(a)novell.com
+- patches.suse/no-frame-pointer-select: Re-enable after removing FTRACE
+ related change.
+- Update x86 non-debug config files: Turn off FRAME_POINTER and FTRACE.
+* Fri Sep 19 2008 neilb(a)suse.de
+- patches.fixes/md-Allow-metadata_version-to-be-updated-for-externa.patch:
+ md: Allow metadata_version to be updated for externally managed
+ metadata. (FATE#304218).
+- patches.fixes/md-Don-t-try-to-set-an-array-to-read-auto-if-it-i.patch:
+ md: Don't try to set an array to 'read-auto' if it is already
+ in that state. (FATE#304218).
+* Thu Sep 18 2008 jbeulich(a)novell.com
+- patches.suse/no-frame-pointer-select: Disable.
+- Re-enable CONFIG_FRAME_POINTER in x86 config files.
+* Thu Sep 18 2008 jbeulich(a)novell.com
+- Update i386 and x86-64 config files (disable CONFIG_FRAME_POINTER in
+ non-debug configs).
+- patches.suse/stack-unwind: Add missing put_cpu()-s for x86-64.
+- patches.suse/no-frame-pointer-select: Fix stack unwinder Kconfig
+ (bnc#402518).
+* Thu Sep 18 2008 hare(a)suse.de
+- Update config files.
+- patches.drivers/open-fcoe-driver: fcoe: Fibre Channel over
+ Ethernet driver (FATE#303913).
+- patches.drivers/open-fcoe-libfc: libfc: a modular software
+ Fibre Channel implementation (FATE#303913).
+- patches.drivers/open-fcoe-header-files: FC protocol definition
+ header files (FATE#303913).
+- patches.drivers/open-fcoe-dcb-support: FCoE: Add DCB support
+ (FATE#303913).
+- patches.drivers/ixgbe-fcoe-bugfixes: ixgbe: Bugfixes for FCoE.
+- patches.fixes/vlan-gso-size-fix: vlan: device not reading gso
+ max size of parent. (FATE#303913).
+- patches.fixes/pkt_action-skbedit: pkt_action: add new action
+ skbedit.
+- patches.fixes/pkt_sched_multiq_support: pkt_sched: Add
+ multiqueue scheduler support (FATE#303913).
+- supported.conf: Update to include FCoE and device_handler
+ modules
+* Wed Sep 17 2008 jbeulich(a)novell.com
+- supported.conf: adjust name of ide-cd (is now ide-cd_mod).
+* Wed Sep 17 2008 hare(a)suse.de
+- patches.drivers/qla2xxx-defer-risc-interrupt-enablement:
+ qla2xxx: Defer enablement of RISC interrupts until ISP
+ initialization completes (FATE#304113).
+- patches.drivers/qla2xxx-8.02.01-k8-update: Update qla2xxx to
+ 8.02.01-k8 (FATE#304113).
+* Wed Sep 17 2008 hare(a)suse.de
+- patches.fixes/scsi-retry-hardware-error: make scsi_check_sense
+ HARDWARE_ERROR return ADD_TO_MLQUEUE on retry (FATE#304042)
+* Tue Sep 16 2008 olh(a)suse.de
+- disable CONFIG_SPARSEMEM_VMEMMAP on ppc64 to allow memory remove
+ (bnc#417537)
+* Mon Sep 15 2008 jkosina(a)suse.de
+- Update config files (build elousb driver as module)
+- patches.drivers/elousb.patch: Elo USB touchscreen driver
+ (FATE#304972).
+* Mon Sep 15 2008 hare(a)suse.de
+- patches.fixes/dm-mpath-abort-queue: Abort queued requests for
+ multipath (FATE#304151).
* Mon Sep 15 2008 hare(a)suse.de
- Update config files: Disable CONFIG_OCFS2_COMPAT_JBD
* Mon Sep 15 2008 hare(a)suse.de
++++++ kernel-kdump.spec ++++++
--- /var/tmp/diff_new_pack.o25057/_old 2008-09-29 18:09:41.000000000 +0200
+++ /var/tmp/diff_new_pack.o25057/_new 2008-09-29 18:09:41.000000000 +0200
@@ -30,7 +30,6 @@
%define build_xen 0
%define build_um 0
%define build_vanilla 0
-%define build_nomodules 0
%if %{build_flavor} == "kdump"
%define build_kdump 1
%endif
@@ -43,19 +42,18 @@
%if %{build_flavor} == "vanilla"
%define build_vanilla 1
%endif
-%if %{build_flavor} == "ps3"
-%define build_nomodules 1
-%endif
Name: kernel-kdump
Summary: kernel for kdump
Version: 2.6.27
-Release: 7
+Release: 8
License: GPL v2 only
Group: System/Kernel
Url: http://www.kernel.org/
AutoReqProv: on
-BuildRequires: coreutils module-init-tools
+BuildRequires: coreutils module-init-tools sparse
+BuildRequires: fdupes
+Requires: kernel-kdump-base = %version-%release
Requires(pre): coreutils awk
Requires(post): module-init-tools
# This Requires is wrong, because the post/postun scripts have a
@@ -68,6 +66,9 @@
Requires(post): perl-Bootloader
Requires(post): mkinitrd
Recommends: kerneloops
+%if ! %sles_version
+Recommends: kernel-kdump-extra
+%endif
#!BuildIgnore: perl-Bootloader mkinitrd
%if ! 0%{?opensuse_bs}
BuildRequires: kernel-dummy
@@ -134,7 +135,6 @@
Source32: config-subst
Source33: check-for-config-changes
Source34: check-supported-list
-Source35: install-configs
Source38: kabi-checks
Source40: build-source-timestamp
Source41: built-in-where
@@ -154,6 +154,7 @@
Source109: patches.kernel.org.tar.bz2
Source110: patches.apparmor.tar.bz2
Source111: patches.rt.tar.bz2
+Source112: patches.trace.tar.bz2
Source120: kabi.tar.bz2
%define my_builddir %_builddir/%{name}-%{version}
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -180,8 +181,21 @@
Obsoletes: rt2x00-kmp
Obsoletes: rfswitch-kmp
Obsoletes: uvcvideo-kmp
-%(chmod +x %_sourcedir/{arch-symbols,guards,config-subst,check-for-config-changes,check-supported-list,built-in-where,find-provides,make-symsets,modversions,kabi-checks,install-configs})
+%(chmod +x %_sourcedir/{arch-symbols,guards,config-subst,check-for-config-changes,check-supported-list,built-in-where,find-provides,make-symsets,modversions,kabi-checks})
%define symbols %(set -- kernel-kdump kdump $(case kdump in (rt|rt_*) echo RT ;; esac) $(%_sourcedir/arch-symbols %_target_cpu) $([ -e %_sourcedir/extra-symbols ] && cat %_sourcedir/extra-symbols) ; echo $*)
+%define subarch_flavor %(%_sourcedir/guards %symbols < %_sourcedir/config.conf | grep '/kdump$')
+# Define some CONFIG variables as rpm macros as well. (rpm cannot handle
+# defining them all at once.)
+%define config_vars CONFIG_MODULES
+%{expand:%(eval "$(test -n "%subarch_flavor" && tar xfj %_sourcedir/config.tar.bz2 --to-stdout config/%subarch_flavor)"; for config in %config_vars; do echo "%%global $config ${!config:-n}"; done)}
+%if %build_vanilla || %CONFIG_MODULES != "y"
+%define split_packages 0
+%else
+%define split_packages 1
+%endif
+# Build with bash instead of sh as the shell: this turns on bash
+# extensions like <(...).
+%define _buildshell /bin/bash
# Provide the exported symbols as "ksym(symbol) = hash"
%define __find_provides %_sourcedir/find-provides %name
# Will modules not listed in supported.conf abort the kernel build (0/1)?
@@ -199,7 +213,7 @@
-Source Timestamp: 2008-09-15 10:58:05 +0200
+Source Timestamp: 2008-09-29 15:31:19 +0200
%prep
if ! [ -e %_sourcedir/linux-2.6.26.tar.bz2 ]; then
@@ -209,16 +223,21 @@
fi
echo "Architecture symbol(s):" %symbols
# Unpack all sources and patches
-%setup -q -c -T -a 0 -a 100 -a 101 -a 102 -a 103 -a 104 -a 105 -a 106 -a 107 -a 108 -a 109 -a 110 -a 111 -a 120
-# Generate the list of supported modules
-( %_sourcedir/guards %symbols < %_sourcedir/supported.conf
+%setup -q -c -T -a 0 -a 100 -a 101 -a 102 -a 103 -a 104 -a 105 -a 106 -a 107 -a 108 -a 109 -a 110 -a 111 -a 112 -a 120
+supported_conf() {
+ %_sourcedir/guards %symbols $* < %_sourcedir/supported.conf | sort -u
+}
+# Generate the list of modules to be marked as supported
+( supported_conf base
for how in external; do
- ( %_sourcedir/guards %symbols < %_sourcedir/supported.conf
- %_sourcedir/guards %symbols < %_sourcedir/supported.conf
- %_sourcedir/guards %symbols $how < %_sourcedir/supported.conf \
- ) | sort | uniq -u | sed -e 's:$: '"$how"':'
+ comm -2 -3 <(supported_conf base $how) <(supported_conf base) \
+ | sed -e 's:$: '"$how"':'
done
-) | sed -e 's,.*/,,' | sort > linux-2.6.26/Module.supported
+) | sed -e 's,.*/,,' -e 's,\.ko$,,' > linux-2.6.26/Module.supported
+# Create grep pattern file for the modules to end up in the base package
+comm -2 -3 <(supported_conf base) <(supported_conf) \
+ | sed -e 's:.*/::' -e 's:^:\\/:' -e 's:$:\.ko$:' \
+ > %my_builddir/grep-for-base-modules
cd linux-2.6.26
# Find out for which architecture to build. We do this here, and use the
# result in the %build and %install sections.
@@ -226,10 +245,7 @@
# On architectures with a bi-arch or cross compiler, we can compile for
# an architecture different from %arch. The location of the config file
# tells us for which architecture to compile.
-set -- $(
- for config in $(%_sourcedir/guards %symbols < %_sourcedir/config.conf) ; do
- [ ${config#*/} = kdump ] && echo $config
- done)
+set -- %subarch_flavor
if [ $# -ne 1 ]; then
echo "$# config files found for this spec file (but one needed)" >&2
exit 1
@@ -259,9 +275,9 @@
if [ -f %_sourcedir/localversion ] ; then
cat %_sourcedir/localversion > localversion
fi
-%_sourcedir/install-configs %_sourcedir .. $RELEASE
-config=arch/$subarch/defconfig.kdump
-cat $config \
+cat ../config/%subarch_flavor \
+| %_sourcedir/config-subst CONFIG_LOCALVERSION '"'-$RELEASE-kdump'"' \
+| %_sourcedir/config-subst CONFIG_SUSE_KERNEL y \
%if 0%{?__debug_package:1}
| %_sourcedir/config-subst CONFIG_DEBUG_INFO y \
%endif
@@ -281,13 +297,14 @@
EOF
%endif
cat >> ../.rpm-defs <<EOF
-KERNELRELEASE=2.6.27-rc6-$RELEASE-kdump
+KERNELRELEASE=2.6.27-rc7-$RELEASE-kdump
EOF
%if 0%{?__debug_package:1}
cat >> ../.rpm-defs <<EOF
MAKE_ARGS="\$MAKE_ARGS CONFIG_DEBUG_INFO=y"
EOF
%endif
+echo CONFIG_MODULES=%CONFIG_MODULES >> ../.rpm-defs
%build
source .rpm-defs
@@ -322,7 +339,7 @@
export KBUILD_SYMTYPES=1
EOF
source .kernel-binary.spec.buildenv
-make %{?jobs:-j%jobs} all $MAKE_ARGS
+make %{?jobs:-j%jobs} all $MAKE_ARGS CONFIG_DEBUG_SECTION_MISMATCH=y
%install
source .rpm-defs
@@ -417,13 +434,16 @@
sed -e "s:@KERNELRELEASE@:$KERNELRELEASE:g" \
-e "s:@IMAGE@:$image:g" \
-e "s:@FLAVOR""@:kdump:g" \
- %_sourcedir/pre.sh > ../pre.sh
-( cat %_sourcedir/functions.sh
+ %_sourcedir/pre.sh > ../pre-base.sh
+for sub in '-base' '' '-extra'; do
+ ( cat %_sourcedir/functions.sh
sed -e "s:@KERNELRELEASE@:$KERNELRELEASE:g" \
-e "s:@IMAGE@:$image:g" \
-e "s:@FLAVOR""@:kdump:g" \
+ -e "s:@SUBPACKAGE@:kernel-kdump$sub:g" \
%_sourcedir/post.sh
-) > ../post.sh
+ ) > ../post$sub.sh
+done
( cat %_sourcedir/functions.sh
sed -e "s:@KERNELRELEASE@:$KERNELRELEASE:g" \
-e "s:@IMAGE@:$image:g" \
@@ -436,18 +456,16 @@
ln -s $image$suffix %buildroot/boot/$image$suffix
ln -s initrd$suffix %buildroot/boot/initrd$suffix
cp .config %buildroot/boot/config-$KERNELRELEASE
-%if ! %build_nomodules
+gzip -c9 < Module.symvers > %buildroot/boot/symvers-$KERNELRELEASE.gz
+if [ $CONFIG_MODULES = y ]; then
make modules_install $MAKE_ARGS INSTALL_MOD_PATH=%buildroot
-%endif
-if ! %_sourcedir/check-supported-list \
+ if ! %_sourcedir/check-supported-list \
%_sourcedir %buildroot/lib/modules/$KERNELRELEASE; then
%if %supported_modules_check
exit 1
%endif
echo "Consistency check error: please update supported.conf."
-fi
-gzip -c9 < Module.symvers > %buildroot/boot/symvers-$KERNELRELEASE.gz
-if grep -q '^CONFIG_MODULES=y$' .config; then
+ fi
# Preserve exports from previous kernels when possible.
old_symsets=%my_builddir/kabi/$SUBARCH/symsets-kdump.tar.gz
[ -e $old_symsets ] || old_symsets=
@@ -461,42 +479,41 @@
%buildroot/boot/symsets-$KERNELRELEASE.tar.gz \
$old_symsets ||
[ -n "$ignore_kabi_changes" -o %tolerate_kabi_changes -ge 8 ]
-fi
-# Also put the resulting file in $obj_dir/$SUBARCH/kdump
-# so that kernel-source + kernel-kdump is sufficient for building
-# modules that have modversions as well.
-obj_dir=usr/src/linux-${KERNELRELEASE%%-kdump}-obj
-mkdir -p %buildroot/$obj_dir/$SUBARCH/kdump
-cp Module.symvers %buildroot/$obj_dir/$SUBARCH/kdump
-# Table of types used in exported symbols (for modversion debugging).
-%_sourcedir/modversions --pack . > %buildroot/boot/symtypes-$KERNELRELEASE
-if [ -s %buildroot/boot/symtypes-$KERNELRELEASE ]; then
+ # Also put the resulting file in $obj_dir/$SUBARCH/kdump
+ # so that kernel-source + kernel-kdump is sufficient for building
+ # modules that have modversions as well.
+ obj_dir=usr/src/linux-${KERNELRELEASE%%-kdump}-obj
+ mkdir -p %buildroot/$obj_dir/$SUBARCH/kdump
+ cp Module.symvers %buildroot/$obj_dir/$SUBARCH/kdump
+ # Table of types used in exported symbols (for modversion debugging).
+ %_sourcedir/modversions --pack . > %buildroot/boot/symtypes-$KERNELRELEASE
+ if [ -s %buildroot/boot/symtypes-$KERNELRELEASE ]; then
gzip -9 %buildroot/boot/symtypes-$KERNELRELEASE
-else
+ else
rm -f %buildroot/boot/symtypes-$KERNELRELEASE
-fi
-# Some architecture's $(uname -m) output is different from the ARCH
-# parameter that needs to be passed to kbuild. Create symlinks from
-# $(uname -m) to the ARCH directory.
-[ -e %buildroot/$obj_dir/%_target_cpu ] \
+ fi
+ # Some architecture's $(uname -m) output is different from the ARCH
+ # parameter that needs to be passed to kbuild. Create symlinks from
+ # $(uname -m) to the ARCH directory.
+ [ -e %buildroot/$obj_dir/%_target_cpu ] \
|| ln -sf $SUBARCH %buildroot/$obj_dir/%_target_cpu
%ifarch ppc ppc64
-[ -e %buildroot/$obj_dir/ppc ] \
+ [ -e %buildroot/$obj_dir/ppc ] \
|| ln -s $SUBARCH %buildroot/$obj_dir/ppc
-[ -e %buildroot/$obj_dir/ppc64 ] \
+ [ -e %buildroot/$obj_dir/ppc64 ] \
|| ln -s $SUBARCH %buildroot/$obj_dir/ppc64
%endif
-# Check for kABI changes
-KABI=0
-if [ -e %my_builddir/kabi/$SUBARCH/symvers-kdump ]; then
+ # Check for kABI changes
+ KABI=0
+ if [ -e %my_builddir/kabi/$SUBARCH/symvers-kdump ]; then
%_sourcedir/kabi-checks \
%my_builddir/kabi/$SUBARCH/symvers-kdump \
Module.symvers \
%my_builddir/kabi/commonsyms \
%my_builddir/kabi/usedsyms \
|| KABI=$?
-fi
-if [ $KABI -gt %tolerate_kabi_changes ]; then
+ fi
+ if [ $KABI -gt %tolerate_kabi_changes ]; then
echo "kABI changes of badness $KABI exceed the maximum allowed badness" \
"of %tolerate_kabi_changes. Please try to avoid the kABI changes."
if [ ! -e %my_builddir/kabi/$SUBARCH/ignore-kdump -a \
@@ -508,68 +525,204 @@
fi
# Indicate the ABI badness in build result emails.
echo "KABI BADNESS $KABI" > %_rpmdir/%_arch/mbuild_subject.tag
-fi
-if [ $KABI -ge 8 ]; then
+ fi
+ if [ $KABI -ge 8 ]; then
echo "To find out which types have changed relative to the reference" \
"symbols, diff the symtypes.gz files of the reference kernel" \
"against the symtypes.gz file from this build."
-fi
-# We were building in %my_builddir/linux-2.6.26, but the sources will
-# later be installed in /usr/src/linux-2.6.26-%source_rel. Fix up the
-# build symlink.
-# need to fake modules directory to satisfy scripts
-%if %build_nomodules
-mkdir -p %buildroot/lib/modules/$KERNELRELEASE/
-%endif
-rm -f %buildroot/lib/modules/$KERNELRELEASE/{source,build}
-ln -s /usr/src/linux-${KERNELRELEASE%%-kdump} \
+ fi
+ # We were building in %my_builddir/linux-2.6.26, but the sources will
+ # later be installed in /usr/src/linux-2.6.26-%source_rel. Fix up the
+ # build symlink.
+ rm -f %buildroot/lib/modules/$KERNELRELEASE/{source,build}
+ ln -s /usr/src/linux-${KERNELRELEASE%%-kdump} \
%buildroot/lib/modules/$KERNELRELEASE/source
-ln -s /$obj_dir/$SUBARCH/kdump \
+ ln -s /$obj_dir/$SUBARCH/kdump \
%buildroot/lib/modules/$KERNELRELEASE/build
-# Abort if there are any undefined symbols
-msg="$(/sbin/depmod -F %buildroot/boot/System.map-$KERNELRELEASE \
+ # Abort if there are any undefined symbols
+ msg="$(/sbin/depmod -F %buildroot/boot/System.map-$KERNELRELEASE \
-b %buildroot -ae $KERNELRELEASE 2>&1)"
-if [ $? -ne 0 ] || echo "$msg" | grep 'needs unknown symbol'; then
+ if [ $? -ne 0 ] || echo "$msg" | grep 'needs unknown symbol'; then
exit 1
-fi
-# Create a dummy initrd with roughly the size the real one will have.
-# That way, YaST will know that this package requires some additional
-# space in /boot.
-dd if=/dev/zero of=%buildroot/boot/initrd-$KERNELRELEASE \
+ fi
+ # Create a dummy initrd with roughly the size the real one will have.
+ # That way, YaST will know that this package requires some additional
+ # space in /boot.
+ dd if=/dev/zero of=%buildroot/boot/initrd-$KERNELRELEASE \
bs=1024 seek=2047 count=1
-# Collect the file list.
+%if %split_packages
+ # Generate the lists of supported and unsupported modules.
+ ( cd %buildroot
+ for module in $(find lib/modules/$KERNELRELEASE -type f -name '*.ko'); do
+ case "$(/sbin/modinfo -F supported $module)" in
+ (yes|external)
+ echo "/$module" >> %my_builddir/supported-modules
+ ;;
+ (*)
+ echo "/$module" >> %my_builddir/unsupported-modules
+ ;;
+ esac
+ done
+ )
+ add_dependent_modules() {
+ local modules_dep=$1
+ xargs make -rRs -f <(echo -e '%:\n\t@echo $@' ; cat $modules_dep)
+ }
+ modules_dep=%buildroot/lib/modules/$KERNELRELEASE/modules.dep
+ # Make sure that no supported modules depend on any unsupported modules.
+ dependent_unsupported_modules=$(
+ comm -3 <(sort %my_builddir/supported-modules) \
+ <(cat %my_builddir/supported-modules \
+ | add_dependent_modules $modules_dep \
+ | sort))
+ if [ -n "$dependent_unsupported_modules" ]; then
+ echo "The following unsupported modules are used by supported modules:"
+ echo "$dependent_unsupported_modules"
+ echo "Please fix supported.conf."
+ exit 1
+ fi
+ # Compute the list of base modules: modules that core modules depend on
+ # implicitly are also core modules.
+ grep -f %my_builddir/grep-for-base-modules %my_builddir/supported-modules \
+ | add_dependent_modules $modules_dep > %my_builddir/base-modules
+ # All supported modules which are not core modules belong in kernel-kernel-kdump.
+ comm -3 <(sort %my_builddir/supported-modules) \
+ <(sort %my_builddir/base-modules) \
+ > %my_builddir/main-modules
+%else
+ ( cd %buildroot
+ find lib/modules/$KERNELRELEASE -type f -name '*.ko' -printf '/%%p\n'
+ ) > %my_builddir/base-modules
+%endif
+ # Set up some module aliases
+ install -d -m 755 %buildroot/etc/modprobe.d/
+ install -m 644 %_sourcedir/module-renames %buildroot/etc/modprobe.d/
+fi
+add_dirs_to_filelist() {
+ local filelist
+ filelist=$(cat)
+ echo "$filelist"
+ # Below, we do this:
+ # - remove filelist macros
+ # - remove last pathname component
+ # - generate all parents and make the list unique
+ # - skip directories owned be other packages
+ # - add the %dir prefix (double-escaped for find and rpm)
+ echo "$filelist" \
+ | sed -re 's:%%%%[a-z]+(\([^)]+\))? ?::g' \
+ | sed -re 's:/[^/]+$::' \
+ | sed -nre ':a; p; s:/[^/]+$::; ta' \
+ | sort -u \
+ | sed -r -e '\:^(|/boot|/etc|/lib(/modules|/firmware)?|/usr(/src)?)$:d' \
+ | sed -e 's:^:%%%%dir :'
+}
+# Collect the file lists.
( cd %buildroot
- echo "%%defattr(-, root, root)"
+ echo "%%%%defattr(-, root, root)"
find boot \
- \( -type l -o -name 'initrd-*' \) -printf '%%%%ghost /%%p\n' -o \
+ \( -type l -o -name 'initrd-*' \) -printf '%%%%%%%%ghost /%%p\n' -o \
-type f -printf '/%%p\n'
+ if [ $CONFIG_MODULES = y ]; then
find lib/modules/$KERNELRELEASE \
- -type d -printf '%%%%dir /%%p\n' -o \
- -path '*/modules.*' -printf '%%%%ghost /%%p\n' -o \
- -printf '/%%p\n'
- test -d lib/firmware && \
- find lib/firmware/$KERNELRELEASE \
- -type d -printf '%%%%dir /%%p\n' -o \
- -path '*/modules.*' -printf '%%%%ghost /%%p\n' -o \
+ -type d -o \
+ -path '*/modules.*' -printf '%%%%%%%%ghost /%%p\n' -o \
+ -name '*.ko' -prune -o \
-printf '/%%p\n'
+ cat %my_builddir/base-modules
+ echo '%%%%config /etc/modprobe.d/module-renames'
find $obj_dir \
- -type d -printf '%%%%dir /%%p\n' -o \
+ -type d -o \
+ -printf '/%%p\n'
+ fi
+ test -d lib/firmware/$KERNELRELEASE && \
+ find lib/firmware/$KERNELRELEASE \
+ -type d -o \
-printf '/%%p\n'
- echo '%%dir /etc/modprobe.d/'
- echo '%%config /etc/modprobe.d/module-renames'
if [ -e .%_docdir/%name ]; then
- echo "%%doc %_docdir/%name"
+ echo "%%%%doc %_docdir/%name"
fi
-) > %my_builddir/kernel.files
-# Set up some module aliases
-install -d -m 755 %buildroot/etc/modprobe.d/
-install -m 644 %_sourcedir/module-renames %buildroot/etc/modprobe.d/
-
-%pre -f pre.sh
+) | add_dirs_to_filelist > %my_builddir/kernel-base.files
+%if %split_packages
+ ( echo "%%%%defattr(-, root, root)"
+ cat %my_builddir/main-modules
+ ) | add_dirs_to_filelist > %my_builddir/kernel-main.files
+ ( echo "%%%%defattr(-, root, root)"
+ cat %my_builddir/unsupported-modules
+ ) | add_dirs_to_filelist > %my_builddir/kernel-extra.files
+%endif
+# Hardlink duplicate files automatically (from package fdupes): It doesn't safe
+# much, but it keeps rpmlint from breaking the package build.
+%fdupes $RPM_BUILD_ROOT
+cd %my_builddir # it helps if rpm can find the file lists ...
%post -f post.sh
%postun -f postun.sh
+%if %split_packages
+
+%files -f kernel-main.files
+%else
+
+%files -f kernel-base.files
+%endif
+
+%package -n kernel-kdump-base
+Summary: kernel for kdump - base modules
+License: GPL v2 only
+Group: System/Kernel
+Url: http://www.kernel.org/
+AutoReqProv: on
+Requires(pre): coreutils awk
+Requires(post): module-init-tools
+Requires(post): perl-Bootloader
+Requires(post): mkinitrd
+
+%description -n kernel-kdump-base
+This kernel is intended for kdump. It can not be booted with a normal
+bootloader, the kexec tool has to be used to load it. Once the system
+crashes, the loaded kernel will be started to grab debug info from the
+crashed kernel.
+
+This package contains only the base modules, required in all installs.
+
+
+
+Source Timestamp: 2008-09-29 15:31:19 +0200
+
+%pre -n kernel-kdump-base -f pre-base.sh
+
+%post -n kernel-kdump-base -f post-base.sh
+%if %split_packages
+
+%files -n kernel-kdump-base -f kernel-base.files
+%endif
+
+%package -n kernel-kdump-extra
+Summary: kernel for kdump - extra modules
+License: GPL v2 only
+Group: System/Kernel
+Url: http://www.kernel.org/
+AutoReqProv: on
+Requires: kernel-kdump = %version-%release
+Requires(pre): coreutils awk
+Requires(post): module-init-tools
+Requires(post): perl-Bootloader
+Requires(post): mkinitrd
-%files -f kernel.files
+%description -n kernel-kdump-extra
+This kernel is intended for kdump. It can not be booted with a normal
+bootloader, the kexec tool has to be used to load it. Once the system
+crashes, the loaded kernel will be started to grab debug info from the
+crashed kernel.
+
+This package contains additional modules not supported by Novell.
+
+
+Source Timestamp: 2008-09-29 15:31:19 +0200
+
+%post -n kernel-kdump-extra -f post-extra.sh
+%if %split_packages
+
+%files -n kernel-kdump-extra -f kernel-extra.files
+%endif
++++++ kernel-pae.spec ++++++
--- /var/tmp/diff_new_pack.o25057/_old 2008-09-29 18:09:41.000000000 +0200
+++ /var/tmp/diff_new_pack.o25057/_new 2008-09-29 18:09:41.000000000 +0200
@@ -30,7 +30,6 @@
%define build_xen 0
%define build_um 0
%define build_vanilla 0
-%define build_nomodules 0
%if %{build_flavor} == "kdump"
%define build_kdump 1
%endif
@@ -43,19 +42,18 @@
%if %{build_flavor} == "vanilla"
%define build_vanilla 1
%endif
-%if %{build_flavor} == "ps3"
-%define build_nomodules 1
-%endif
Name: kernel-pae
Summary: Kernel with PAE Support
Version: 2.6.27
-Release: 7
+Release: 8
License: GPL v2 only
Group: System/Kernel
Url: http://www.kernel.org/
AutoReqProv: on
-BuildRequires: coreutils module-init-tools
+BuildRequires: coreutils module-init-tools sparse
+BuildRequires: fdupes
+Requires: kernel-pae-base = %version-%release
Requires(pre): coreutils awk
Requires(post): module-init-tools
# This Requires is wrong, because the post/postun scripts have a
@@ -68,6 +66,9 @@
Requires(post): perl-Bootloader
Requires(post): mkinitrd
Recommends: kerneloops
+%if ! %sles_version
+Recommends: kernel-pae-extra
+%endif
#!BuildIgnore: perl-Bootloader mkinitrd
%if ! 0%{?opensuse_bs}
BuildRequires: kernel-dummy
@@ -131,7 +132,6 @@
Source32: config-subst
Source33: check-for-config-changes
Source34: check-supported-list
-Source35: install-configs
Source38: kabi-checks
Source40: build-source-timestamp
Source41: built-in-where
@@ -151,6 +151,7 @@
Source109: patches.kernel.org.tar.bz2
Source110: patches.apparmor.tar.bz2
Source111: patches.rt.tar.bz2
+Source112: patches.trace.tar.bz2
Source120: kabi.tar.bz2
%define my_builddir %_builddir/%{name}-%{version}
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -177,8 +178,21 @@
Obsoletes: rt2x00-kmp
Obsoletes: rfswitch-kmp
Obsoletes: uvcvideo-kmp
-%(chmod +x %_sourcedir/{arch-symbols,guards,config-subst,check-for-config-changes,check-supported-list,built-in-where,find-provides,make-symsets,modversions,kabi-checks,install-configs})
+%(chmod +x %_sourcedir/{arch-symbols,guards,config-subst,check-for-config-changes,check-supported-list,built-in-where,find-provides,make-symsets,modversions,kabi-checks})
%define symbols %(set -- kernel-pae pae $(case pae in (rt|rt_*) echo RT ;; esac) $(%_sourcedir/arch-symbols %_target_cpu) $([ -e %_sourcedir/extra-symbols ] && cat %_sourcedir/extra-symbols) ; echo $*)
+%define subarch_flavor %(%_sourcedir/guards %symbols < %_sourcedir/config.conf | grep '/pae$')
+# Define some CONFIG variables as rpm macros as well. (rpm cannot handle
+# defining them all at once.)
+%define config_vars CONFIG_MODULES
+%{expand:%(eval "$(test -n "%subarch_flavor" && tar xfj %_sourcedir/config.tar.bz2 --to-stdout config/%subarch_flavor)"; for config in %config_vars; do echo "%%global $config ${!config:-n}"; done)}
+%if %build_vanilla || %CONFIG_MODULES != "y"
+%define split_packages 0
+%else
+%define split_packages 1
+%endif
+# Build with bash instead of sh as the shell: this turns on bash
+# extensions like <(...).
+%define _buildshell /bin/bash
# Provide the exported symbols as "ksym(symbol) = hash"
%define __find_provides %_sourcedir/find-provides %name
# Will modules not listed in supported.conf abort the kernel build (0/1)?
@@ -200,7 +214,7 @@
-Source Timestamp: 2008-09-15 10:58:05 +0200
+Source Timestamp: 2008-09-29 15:31:19 +0200
%prep
if ! [ -e %_sourcedir/linux-2.6.26.tar.bz2 ]; then
@@ -210,16 +224,21 @@
fi
echo "Architecture symbol(s):" %symbols
# Unpack all sources and patches
-%setup -q -c -T -a 0 -a 100 -a 101 -a 102 -a 103 -a 104 -a 105 -a 106 -a 107 -a 108 -a 109 -a 110 -a 111 -a 120
-# Generate the list of supported modules
-( %_sourcedir/guards %symbols < %_sourcedir/supported.conf
+%setup -q -c -T -a 0 -a 100 -a 101 -a 102 -a 103 -a 104 -a 105 -a 106 -a 107 -a 108 -a 109 -a 110 -a 111 -a 112 -a 120
+supported_conf() {
+ %_sourcedir/guards %symbols $* < %_sourcedir/supported.conf | sort -u
+}
+# Generate the list of modules to be marked as supported
+( supported_conf base
for how in external; do
- ( %_sourcedir/guards %symbols < %_sourcedir/supported.conf
- %_sourcedir/guards %symbols < %_sourcedir/supported.conf
- %_sourcedir/guards %symbols $how < %_sourcedir/supported.conf \
- ) | sort | uniq -u | sed -e 's:$: '"$how"':'
+ comm -2 -3 <(supported_conf base $how) <(supported_conf base) \
+ | sed -e 's:$: '"$how"':'
done
-) | sed -e 's,.*/,,' | sort > linux-2.6.26/Module.supported
+) | sed -e 's,.*/,,' -e 's,\.ko$,,' > linux-2.6.26/Module.supported
+# Create grep pattern file for the modules to end up in the base package
+comm -2 -3 <(supported_conf base) <(supported_conf) \
+ | sed -e 's:.*/::' -e 's:^:\\/:' -e 's:$:\.ko$:' \
+ > %my_builddir/grep-for-base-modules
cd linux-2.6.26
# Find out for which architecture to build. We do this here, and use the
# result in the %build and %install sections.
@@ -227,10 +246,7 @@
# On architectures with a bi-arch or cross compiler, we can compile for
# an architecture different from %arch. The location of the config file
# tells us for which architecture to compile.
-set -- $(
- for config in $(%_sourcedir/guards %symbols < %_sourcedir/config.conf) ; do
- [ ${config#*/} = pae ] && echo $config
- done)
+set -- %subarch_flavor
if [ $# -ne 1 ]; then
echo "$# config files found for this spec file (but one needed)" >&2
exit 1
@@ -260,9 +276,9 @@
if [ -f %_sourcedir/localversion ] ; then
cat %_sourcedir/localversion > localversion
fi
-%_sourcedir/install-configs %_sourcedir .. $RELEASE
-config=arch/$subarch/defconfig.pae
-cat $config \
+cat ../config/%subarch_flavor \
+| %_sourcedir/config-subst CONFIG_LOCALVERSION '"'-$RELEASE-pae'"' \
+| %_sourcedir/config-subst CONFIG_SUSE_KERNEL y \
%if 0%{?__debug_package:1}
| %_sourcedir/config-subst CONFIG_DEBUG_INFO y \
%endif
@@ -282,13 +298,14 @@
EOF
%endif
cat >> ../.rpm-defs <<EOF
-KERNELRELEASE=2.6.27-rc6-$RELEASE-pae
+KERNELRELEASE=2.6.27-rc7-$RELEASE-pae
EOF
%if 0%{?__debug_package:1}
cat >> ../.rpm-defs <<EOF
MAKE_ARGS="\$MAKE_ARGS CONFIG_DEBUG_INFO=y"
EOF
%endif
+echo CONFIG_MODULES=%CONFIG_MODULES >> ../.rpm-defs
%build
source .rpm-defs
@@ -323,7 +340,7 @@
export KBUILD_SYMTYPES=1
EOF
source .kernel-binary.spec.buildenv
-make %{?jobs:-j%jobs} all $MAKE_ARGS
+make %{?jobs:-j%jobs} all $MAKE_ARGS CONFIG_DEBUG_SECTION_MISMATCH=y
%install
source .rpm-defs
@@ -418,13 +435,16 @@
sed -e "s:@KERNELRELEASE@:$KERNELRELEASE:g" \
-e "s:@IMAGE@:$image:g" \
-e "s:@FLAVOR""@:pae:g" \
- %_sourcedir/pre.sh > ../pre.sh
-( cat %_sourcedir/functions.sh
+ %_sourcedir/pre.sh > ../pre-base.sh
+for sub in '-base' '' '-extra'; do
+ ( cat %_sourcedir/functions.sh
sed -e "s:@KERNELRELEASE@:$KERNELRELEASE:g" \
-e "s:@IMAGE@:$image:g" \
-e "s:@FLAVOR""@:pae:g" \
+ -e "s:@SUBPACKAGE@:kernel-pae$sub:g" \
%_sourcedir/post.sh
-) > ../post.sh
+ ) > ../post$sub.sh
+done
( cat %_sourcedir/functions.sh
sed -e "s:@KERNELRELEASE@:$KERNELRELEASE:g" \
-e "s:@IMAGE@:$image:g" \
@@ -437,18 +457,16 @@
ln -s $image$suffix %buildroot/boot/$image$suffix
ln -s initrd$suffix %buildroot/boot/initrd$suffix
cp .config %buildroot/boot/config-$KERNELRELEASE
-%if ! %build_nomodules
+gzip -c9 < Module.symvers > %buildroot/boot/symvers-$KERNELRELEASE.gz
+if [ $CONFIG_MODULES = y ]; then
make modules_install $MAKE_ARGS INSTALL_MOD_PATH=%buildroot
-%endif
-if ! %_sourcedir/check-supported-list \
+ if ! %_sourcedir/check-supported-list \
%_sourcedir %buildroot/lib/modules/$KERNELRELEASE; then
%if %supported_modules_check
exit 1
%endif
echo "Consistency check error: please update supported.conf."
-fi
-gzip -c9 < Module.symvers > %buildroot/boot/symvers-$KERNELRELEASE.gz
-if grep -q '^CONFIG_MODULES=y$' .config; then
+ fi
# Preserve exports from previous kernels when possible.
old_symsets=%my_builddir/kabi/$SUBARCH/symsets-pae.tar.gz
[ -e $old_symsets ] || old_symsets=
@@ -462,42 +480,41 @@
%buildroot/boot/symsets-$KERNELRELEASE.tar.gz \
$old_symsets ||
[ -n "$ignore_kabi_changes" -o %tolerate_kabi_changes -ge 8 ]
-fi
-# Also put the resulting file in $obj_dir/$SUBARCH/pae
-# so that kernel-source + kernel-pae is sufficient for building
-# modules that have modversions as well.
-obj_dir=usr/src/linux-${KERNELRELEASE%%-pae}-obj
-mkdir -p %buildroot/$obj_dir/$SUBARCH/pae
-cp Module.symvers %buildroot/$obj_dir/$SUBARCH/pae
-# Table of types used in exported symbols (for modversion debugging).
-%_sourcedir/modversions --pack . > %buildroot/boot/symtypes-$KERNELRELEASE
-if [ -s %buildroot/boot/symtypes-$KERNELRELEASE ]; then
+ # Also put the resulting file in $obj_dir/$SUBARCH/pae
+ # so that kernel-source + kernel-pae is sufficient for building
+ # modules that have modversions as well.
+ obj_dir=usr/src/linux-${KERNELRELEASE%%-pae}-obj
+ mkdir -p %buildroot/$obj_dir/$SUBARCH/pae
+ cp Module.symvers %buildroot/$obj_dir/$SUBARCH/pae
+ # Table of types used in exported symbols (for modversion debugging).
+ %_sourcedir/modversions --pack . > %buildroot/boot/symtypes-$KERNELRELEASE
+ if [ -s %buildroot/boot/symtypes-$KERNELRELEASE ]; then
gzip -9 %buildroot/boot/symtypes-$KERNELRELEASE
-else
+ else
rm -f %buildroot/boot/symtypes-$KERNELRELEASE
-fi
-# Some architecture's $(uname -m) output is different from the ARCH
-# parameter that needs to be passed to kbuild. Create symlinks from
-# $(uname -m) to the ARCH directory.
-[ -e %buildroot/$obj_dir/%_target_cpu ] \
+ fi
+ # Some architecture's $(uname -m) output is different from the ARCH
+ # parameter that needs to be passed to kbuild. Create symlinks from
+ # $(uname -m) to the ARCH directory.
+ [ -e %buildroot/$obj_dir/%_target_cpu ] \
|| ln -sf $SUBARCH %buildroot/$obj_dir/%_target_cpu
%ifarch ppc ppc64
-[ -e %buildroot/$obj_dir/ppc ] \
+ [ -e %buildroot/$obj_dir/ppc ] \
|| ln -s $SUBARCH %buildroot/$obj_dir/ppc
-[ -e %buildroot/$obj_dir/ppc64 ] \
+ [ -e %buildroot/$obj_dir/ppc64 ] \
|| ln -s $SUBARCH %buildroot/$obj_dir/ppc64
%endif
-# Check for kABI changes
-KABI=0
-if [ -e %my_builddir/kabi/$SUBARCH/symvers-pae ]; then
+ # Check for kABI changes
+ KABI=0
+ if [ -e %my_builddir/kabi/$SUBARCH/symvers-pae ]; then
%_sourcedir/kabi-checks \
%my_builddir/kabi/$SUBARCH/symvers-pae \
Module.symvers \
%my_builddir/kabi/commonsyms \
%my_builddir/kabi/usedsyms \
|| KABI=$?
-fi
-if [ $KABI -gt %tolerate_kabi_changes ]; then
+ fi
+ if [ $KABI -gt %tolerate_kabi_changes ]; then
echo "kABI changes of badness $KABI exceed the maximum allowed badness" \
"of %tolerate_kabi_changes. Please try to avoid the kABI changes."
if [ ! -e %my_builddir/kabi/$SUBARCH/ignore-pae -a \
@@ -509,68 +526,212 @@
fi
# Indicate the ABI badness in build result emails.
echo "KABI BADNESS $KABI" > %_rpmdir/%_arch/mbuild_subject.tag
-fi
-if [ $KABI -ge 8 ]; then
+ fi
+ if [ $KABI -ge 8 ]; then
echo "To find out which types have changed relative to the reference" \
"symbols, diff the symtypes.gz files of the reference kernel" \
"against the symtypes.gz file from this build."
-fi
-# We were building in %my_builddir/linux-2.6.26, but the sources will
-# later be installed in /usr/src/linux-2.6.26-%source_rel. Fix up the
-# build symlink.
-# need to fake modules directory to satisfy scripts
-%if %build_nomodules
-mkdir -p %buildroot/lib/modules/$KERNELRELEASE/
-%endif
-rm -f %buildroot/lib/modules/$KERNELRELEASE/{source,build}
-ln -s /usr/src/linux-${KERNELRELEASE%%-pae} \
+ fi
+ # We were building in %my_builddir/linux-2.6.26, but the sources will
+ # later be installed in /usr/src/linux-2.6.26-%source_rel. Fix up the
+ # build symlink.
+ rm -f %buildroot/lib/modules/$KERNELRELEASE/{source,build}
+ ln -s /usr/src/linux-${KERNELRELEASE%%-pae} \
%buildroot/lib/modules/$KERNELRELEASE/source
-ln -s /$obj_dir/$SUBARCH/pae \
+ ln -s /$obj_dir/$SUBARCH/pae \
%buildroot/lib/modules/$KERNELRELEASE/build
-# Abort if there are any undefined symbols
-msg="$(/sbin/depmod -F %buildroot/boot/System.map-$KERNELRELEASE \
+ # Abort if there are any undefined symbols
+ msg="$(/sbin/depmod -F %buildroot/boot/System.map-$KERNELRELEASE \
-b %buildroot -ae $KERNELRELEASE 2>&1)"
-if [ $? -ne 0 ] || echo "$msg" | grep 'needs unknown symbol'; then
+ if [ $? -ne 0 ] || echo "$msg" | grep 'needs unknown symbol'; then
exit 1
-fi
-# Create a dummy initrd with roughly the size the real one will have.
-# That way, YaST will know that this package requires some additional
-# space in /boot.
-dd if=/dev/zero of=%buildroot/boot/initrd-$KERNELRELEASE \
+ fi
+ # Create a dummy initrd with roughly the size the real one will have.
+ # That way, YaST will know that this package requires some additional
+ # space in /boot.
+ dd if=/dev/zero of=%buildroot/boot/initrd-$KERNELRELEASE \
bs=1024 seek=2047 count=1
-# Collect the file list.
+%if %split_packages
+ # Generate the lists of supported and unsupported modules.
+ ( cd %buildroot
+ for module in $(find lib/modules/$KERNELRELEASE -type f -name '*.ko'); do
+ case "$(/sbin/modinfo -F supported $module)" in
+ (yes|external)
+ echo "/$module" >> %my_builddir/supported-modules
+ ;;
+ (*)
+ echo "/$module" >> %my_builddir/unsupported-modules
+ ;;
+ esac
+ done
+ )
+ add_dependent_modules() {
+ local modules_dep=$1
+ xargs make -rRs -f <(echo -e '%:\n\t@echo $@' ; cat $modules_dep)
+ }
+ modules_dep=%buildroot/lib/modules/$KERNELRELEASE/modules.dep
+ # Make sure that no supported modules depend on any unsupported modules.
+ dependent_unsupported_modules=$(
+ comm -3 <(sort %my_builddir/supported-modules) \
+ <(cat %my_builddir/supported-modules \
+ | add_dependent_modules $modules_dep \
+ | sort))
+ if [ -n "$dependent_unsupported_modules" ]; then
+ echo "The following unsupported modules are used by supported modules:"
+ echo "$dependent_unsupported_modules"
+ echo "Please fix supported.conf."
+ exit 1
+ fi
+ # Compute the list of base modules: modules that core modules depend on
+ # implicitly are also core modules.
+ grep -f %my_builddir/grep-for-base-modules %my_builddir/supported-modules \
+ | add_dependent_modules $modules_dep > %my_builddir/base-modules
+ # All supported modules which are not core modules belong in kernel-kernel-pae.
+ comm -3 <(sort %my_builddir/supported-modules) \
+ <(sort %my_builddir/base-modules) \
+ > %my_builddir/main-modules
+%else
+ ( cd %buildroot
+ find lib/modules/$KERNELRELEASE -type f -name '*.ko' -printf '/%%p\n'
+ ) > %my_builddir/base-modules
+%endif
+ # Set up some module aliases
+ install -d -m 755 %buildroot/etc/modprobe.d/
+ install -m 644 %_sourcedir/module-renames %buildroot/etc/modprobe.d/
+fi
+add_dirs_to_filelist() {
+ local filelist
+ filelist=$(cat)
+ echo "$filelist"
+ # Below, we do this:
+ # - remove filelist macros
+ # - remove last pathname component
+ # - generate all parents and make the list unique
+ # - skip directories owned be other packages
+ # - add the %dir prefix (double-escaped for find and rpm)
+ echo "$filelist" \
+ | sed -re 's:%%%%[a-z]+(\([^)]+\))? ?::g' \
+ | sed -re 's:/[^/]+$::' \
+ | sed -nre ':a; p; s:/[^/]+$::; ta' \
+ | sort -u \
+ | sed -r -e '\:^(|/boot|/etc|/lib(/modules|/firmware)?|/usr(/src)?)$:d' \
+ | sed -e 's:^:%%%%dir :'
+}
+# Collect the file lists.
( cd %buildroot
- echo "%%defattr(-, root, root)"
+ echo "%%%%defattr(-, root, root)"
find boot \
- \( -type l -o -name 'initrd-*' \) -printf '%%%%ghost /%%p\n' -o \
+ \( -type l -o -name 'initrd-*' \) -printf '%%%%%%%%ghost /%%p\n' -o \
-type f -printf '/%%p\n'
+ if [ $CONFIG_MODULES = y ]; then
find lib/modules/$KERNELRELEASE \
- -type d -printf '%%%%dir /%%p\n' -o \
- -path '*/modules.*' -printf '%%%%ghost /%%p\n' -o \
- -printf '/%%p\n'
- test -d lib/firmware && \
- find lib/firmware/$KERNELRELEASE \
- -type d -printf '%%%%dir /%%p\n' -o \
- -path '*/modules.*' -printf '%%%%ghost /%%p\n' -o \
+ -type d -o \
+ -path '*/modules.*' -printf '%%%%%%%%ghost /%%p\n' -o \
+ -name '*.ko' -prune -o \
-printf '/%%p\n'
+ cat %my_builddir/base-modules
+ echo '%%%%config /etc/modprobe.d/module-renames'
find $obj_dir \
- -type d -printf '%%%%dir /%%p\n' -o \
+ -type d -o \
+ -printf '/%%p\n'
+ fi
+ test -d lib/firmware/$KERNELRELEASE && \
+ find lib/firmware/$KERNELRELEASE \
+ -type d -o \
-printf '/%%p\n'
- echo '%%dir /etc/modprobe.d/'
- echo '%%config /etc/modprobe.d/module-renames'
if [ -e .%_docdir/%name ]; then
- echo "%%doc %_docdir/%name"
+ echo "%%%%doc %_docdir/%name"
fi
-) > %my_builddir/kernel.files
-# Set up some module aliases
-install -d -m 755 %buildroot/etc/modprobe.d/
-install -m 644 %_sourcedir/module-renames %buildroot/etc/modprobe.d/
-
-%pre -f pre.sh
+) | add_dirs_to_filelist > %my_builddir/kernel-base.files
+%if %split_packages
+ ( echo "%%%%defattr(-, root, root)"
+ cat %my_builddir/main-modules
+ ) | add_dirs_to_filelist > %my_builddir/kernel-main.files
+ ( echo "%%%%defattr(-, root, root)"
+ cat %my_builddir/unsupported-modules
+ ) | add_dirs_to_filelist > %my_builddir/kernel-extra.files
+%endif
+# Hardlink duplicate files automatically (from package fdupes): It doesn't safe
+# much, but it keeps rpmlint from breaking the package build.
+%fdupes $RPM_BUILD_ROOT
+cd %my_builddir # it helps if rpm can find the file lists ...
%post -f post.sh
%postun -f postun.sh
+%if %split_packages
+
+%files -f kernel-main.files
+%else
+
+%files -f kernel-base.files
+%endif
+
+%package -n kernel-pae-base
+Summary: Kernel with PAE Support - base modules
+License: GPL v2 only
+Group: System/Kernel
+Url: http://www.kernel.org/
+AutoReqProv: on
+Requires(pre): coreutils awk
+Requires(post): module-init-tools
+Requires(post): perl-Bootloader
+Requires(post): mkinitrd
+
+%description -n kernel-pae-base
+This kernel supports up to 64GB of main memory. It requires Physical
+Addressing Extensions (PAE), which were introduced with the Pentium Pro
+processor.
+
+PAE is not only more physical address space but also important for the
+"no execute" feature which disables execution of code that is marked as
+non-executable. Therefore, the PAE kernel should be used on any systems
+that support it, regardless of the amount of main memory.
+
+This package contains only the base modules, required in all installs.
+
+
+
+Source Timestamp: 2008-09-29 15:31:19 +0200
+
+%pre -n kernel-pae-base -f pre-base.sh
+
+%post -n kernel-pae-base -f post-base.sh
+%if %split_packages
+
+%files -n kernel-pae-base -f kernel-base.files
+%endif
+
+%package -n kernel-pae-extra
+Summary: Kernel with PAE Support - extra modules
+License: GPL v2 only
+Group: System/Kernel
+Url: http://www.kernel.org/
+AutoReqProv: on
+Requires: kernel-pae = %version-%release
+Requires(pre): coreutils awk
+Requires(post): module-init-tools
+Requires(post): perl-Bootloader
+Requires(post): mkinitrd
+
+%description -n kernel-pae-extra
+This kernel supports up to 64GB of main memory. It requires Physical
+Addressing Extensions (PAE), which were introduced with the Pentium Pro
+processor.
+
+PAE is not only more physical address space but also important for the
+"no execute" feature which disables execution of code that is marked as
+non-executable. Therefore, the PAE kernel should be used on any systems
+that support it, regardless of the amount of main memory.
-%files -f kernel.files
+This package contains additional modules not supported by Novell.
+
+
+Source Timestamp: 2008-09-29 15:31:19 +0200
+
+%post -n kernel-pae-extra -f post-extra.sh
+%if %split_packages
+
+%files -n kernel-pae-extra -f kernel-extra.files
+%endif
++++++ kernel-ppc64.spec ++++++
--- /var/tmp/diff_new_pack.o25057/_old 2008-09-29 18:09:42.000000000 +0200
+++ /var/tmp/diff_new_pack.o25057/_new 2008-09-29 18:09:42.000000000 +0200
@@ -30,7 +30,6 @@
%define build_xen 0
%define build_um 0
%define build_vanilla 0
-%define build_nomodules 0
%if %{build_flavor} == "kdump"
%define build_kdump 1
%endif
@@ -43,19 +42,18 @@
%if %{build_flavor} == "vanilla"
%define build_vanilla 1
%endif
-%if %{build_flavor} == "ps3"
-%define build_nomodules 1
-%endif
Name: kernel-ppc64
Summary: Kernel for ppc64 Systems
Version: 2.6.27
-Release: 7
+Release: 8
License: GPL v2 only
Group: System/Kernel
Url: http://www.kernel.org/
AutoReqProv: on
-BuildRequires: coreutils module-init-tools
+BuildRequires: coreutils module-init-tools sparse
+BuildRequires: fdupes
+Requires: kernel-ppc64-base = %version-%release
Requires(pre): coreutils awk
Requires(post): module-init-tools
# This Requires is wrong, because the post/postun scripts have a
@@ -68,6 +66,9 @@
Requires(post): perl-Bootloader
Requires(post): mkinitrd
Recommends: kerneloops
+%if ! %sles_version
+Recommends: kernel-ppc64-extra
+%endif
#!BuildIgnore: perl-Bootloader mkinitrd
%if ! 0%{?opensuse_bs}
BuildRequires: kernel-dummy
@@ -136,7 +137,6 @@
Source32: config-subst
Source33: check-for-config-changes
Source34: check-supported-list
-Source35: install-configs
Source38: kabi-checks
Source40: build-source-timestamp
Source41: built-in-where
@@ -156,6 +156,7 @@
Source109: patches.kernel.org.tar.bz2
Source110: patches.apparmor.tar.bz2
Source111: patches.rt.tar.bz2
+Source112: patches.trace.tar.bz2
Source120: kabi.tar.bz2
%define my_builddir %_builddir/%{name}-%{version}
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -182,8 +183,21 @@
Obsoletes: rt2x00-kmp
Obsoletes: rfswitch-kmp
Obsoletes: uvcvideo-kmp
-%(chmod +x %_sourcedir/{arch-symbols,guards,config-subst,check-for-config-changes,check-supported-list,built-in-where,find-provides,make-symsets,modversions,kabi-checks,install-configs})
+%(chmod +x %_sourcedir/{arch-symbols,guards,config-subst,check-for-config-changes,check-supported-list,built-in-where,find-provides,make-symsets,modversions,kabi-checks})
%define symbols %(set -- kernel-ppc64 ppc64 $(case ppc64 in (rt|rt_*) echo RT ;; esac) $(%_sourcedir/arch-symbols %_target_cpu) $([ -e %_sourcedir/extra-symbols ] && cat %_sourcedir/extra-symbols) ; echo $*)
+%define subarch_flavor %(%_sourcedir/guards %symbols < %_sourcedir/config.conf | grep '/ppc64$')
+# Define some CONFIG variables as rpm macros as well. (rpm cannot handle
+# defining them all at once.)
+%define config_vars CONFIG_MODULES
+%{expand:%(eval "$(test -n "%subarch_flavor" && tar xfj %_sourcedir/config.tar.bz2 --to-stdout config/%subarch_flavor)"; for config in %config_vars; do echo "%%global $config ${!config:-n}"; done)}
+%if %build_vanilla || %CONFIG_MODULES != "y"
+%define split_packages 0
+%else
+%define split_packages 1
+%endif
+# Build with bash instead of sh as the shell: this turns on bash
+# extensions like <(...).
+%define _buildshell /bin/bash
# Provide the exported symbols as "ksym(symbol) = hash"
%define __find_provides %_sourcedir/find-provides %name
# Will modules not listed in supported.conf abort the kernel build (0/1)?
@@ -212,7 +226,7 @@
Tom Gall <tom_gall(a)vnet.ibm.com>
see /usr/src/linux/CREDITS for more details.
-Source Timestamp: 2008-09-15 10:58:05 +0200
+Source Timestamp: 2008-09-29 15:31:19 +0200
%prep
if ! [ -e %_sourcedir/linux-2.6.26.tar.bz2 ]; then
@@ -222,16 +236,21 @@
fi
echo "Architecture symbol(s):" %symbols
# Unpack all sources and patches
-%setup -q -c -T -a 0 -a 100 -a 101 -a 102 -a 103 -a 104 -a 105 -a 106 -a 107 -a 108 -a 109 -a 110 -a 111 -a 120
-# Generate the list of supported modules
-( %_sourcedir/guards %symbols < %_sourcedir/supported.conf
+%setup -q -c -T -a 0 -a 100 -a 101 -a 102 -a 103 -a 104 -a 105 -a 106 -a 107 -a 108 -a 109 -a 110 -a 111 -a 112 -a 120
+supported_conf() {
+ %_sourcedir/guards %symbols $* < %_sourcedir/supported.conf | sort -u
+}
+# Generate the list of modules to be marked as supported
+( supported_conf base
for how in external; do
- ( %_sourcedir/guards %symbols < %_sourcedir/supported.conf
- %_sourcedir/guards %symbols < %_sourcedir/supported.conf
- %_sourcedir/guards %symbols $how < %_sourcedir/supported.conf \
- ) | sort | uniq -u | sed -e 's:$: '"$how"':'
+ comm -2 -3 <(supported_conf base $how) <(supported_conf base) \
+ | sed -e 's:$: '"$how"':'
done
-) | sed -e 's,.*/,,' | sort > linux-2.6.26/Module.supported
+) | sed -e 's,.*/,,' -e 's,\.ko$,,' > linux-2.6.26/Module.supported
+# Create grep pattern file for the modules to end up in the base package
+comm -2 -3 <(supported_conf base) <(supported_conf) \
+ | sed -e 's:.*/::' -e 's:^:\\/:' -e 's:$:\.ko$:' \
+ > %my_builddir/grep-for-base-modules
cd linux-2.6.26
# Find out for which architecture to build. We do this here, and use the
# result in the %build and %install sections.
@@ -239,10 +258,7 @@
# On architectures with a bi-arch or cross compiler, we can compile for
# an architecture different from %arch. The location of the config file
# tells us for which architecture to compile.
-set -- $(
- for config in $(%_sourcedir/guards %symbols < %_sourcedir/config.conf) ; do
- [ ${config#*/} = ppc64 ] && echo $config
- done)
+set -- %subarch_flavor
if [ $# -ne 1 ]; then
echo "$# config files found for this spec file (but one needed)" >&2
exit 1
@@ -272,9 +288,9 @@
if [ -f %_sourcedir/localversion ] ; then
cat %_sourcedir/localversion > localversion
fi
-%_sourcedir/install-configs %_sourcedir .. $RELEASE
-config=arch/$subarch/defconfig.ppc64
-cat $config \
+cat ../config/%subarch_flavor \
+| %_sourcedir/config-subst CONFIG_LOCALVERSION '"'-$RELEASE-ppc64'"' \
+| %_sourcedir/config-subst CONFIG_SUSE_KERNEL y \
%if 0%{?__debug_package:1}
| %_sourcedir/config-subst CONFIG_DEBUG_INFO y \
%endif
@@ -294,13 +310,14 @@
EOF
%endif
cat >> ../.rpm-defs <<EOF
-KERNELRELEASE=2.6.27-rc6-$RELEASE-ppc64
+KERNELRELEASE=2.6.27-rc7-$RELEASE-ppc64
EOF
%if 0%{?__debug_package:1}
cat >> ../.rpm-defs <<EOF
MAKE_ARGS="\$MAKE_ARGS CONFIG_DEBUG_INFO=y"
EOF
%endif
+echo CONFIG_MODULES=%CONFIG_MODULES >> ../.rpm-defs
%build
source .rpm-defs
@@ -335,7 +352,7 @@
export KBUILD_SYMTYPES=1
EOF
source .kernel-binary.spec.buildenv
-make %{?jobs:-j%jobs} all $MAKE_ARGS
+make %{?jobs:-j%jobs} all $MAKE_ARGS CONFIG_DEBUG_SECTION_MISMATCH=y
%install
source .rpm-defs
@@ -430,13 +447,16 @@
sed -e "s:@KERNELRELEASE@:$KERNELRELEASE:g" \
-e "s:@IMAGE@:$image:g" \
-e "s:@FLAVOR""@:ppc64:g" \
- %_sourcedir/pre.sh > ../pre.sh
-( cat %_sourcedir/functions.sh
+ %_sourcedir/pre.sh > ../pre-base.sh
+for sub in '-base' '' '-extra'; do
+ ( cat %_sourcedir/functions.sh
sed -e "s:@KERNELRELEASE@:$KERNELRELEASE:g" \
-e "s:@IMAGE@:$image:g" \
-e "s:@FLAVOR""@:ppc64:g" \
+ -e "s:@SUBPACKAGE@:kernel-ppc64$sub:g" \
%_sourcedir/post.sh
-) > ../post.sh
+ ) > ../post$sub.sh
+done
( cat %_sourcedir/functions.sh
sed -e "s:@KERNELRELEASE@:$KERNELRELEASE:g" \
-e "s:@IMAGE@:$image:g" \
@@ -449,18 +469,16 @@
ln -s $image$suffix %buildroot/boot/$image$suffix
ln -s initrd$suffix %buildroot/boot/initrd$suffix
cp .config %buildroot/boot/config-$KERNELRELEASE
-%if ! %build_nomodules
+gzip -c9 < Module.symvers > %buildroot/boot/symvers-$KERNELRELEASE.gz
+if [ $CONFIG_MODULES = y ]; then
make modules_install $MAKE_ARGS INSTALL_MOD_PATH=%buildroot
-%endif
-if ! %_sourcedir/check-supported-list \
+ if ! %_sourcedir/check-supported-list \
%_sourcedir %buildroot/lib/modules/$KERNELRELEASE; then
%if %supported_modules_check
exit 1
%endif
echo "Consistency check error: please update supported.conf."
-fi
-gzip -c9 < Module.symvers > %buildroot/boot/symvers-$KERNELRELEASE.gz
-if grep -q '^CONFIG_MODULES=y$' .config; then
+ fi
# Preserve exports from previous kernels when possible.
old_symsets=%my_builddir/kabi/$SUBARCH/symsets-ppc64.tar.gz
[ -e $old_symsets ] || old_symsets=
@@ -474,42 +492,41 @@
%buildroot/boot/symsets-$KERNELRELEASE.tar.gz \
$old_symsets ||
[ -n "$ignore_kabi_changes" -o %tolerate_kabi_changes -ge 8 ]
-fi
-# Also put the resulting file in $obj_dir/$SUBARCH/ppc64
-# so that kernel-source + kernel-ppc64 is sufficient for building
-# modules that have modversions as well.
-obj_dir=usr/src/linux-${KERNELRELEASE%%-ppc64}-obj
-mkdir -p %buildroot/$obj_dir/$SUBARCH/ppc64
-cp Module.symvers %buildroot/$obj_dir/$SUBARCH/ppc64
-# Table of types used in exported symbols (for modversion debugging).
-%_sourcedir/modversions --pack . > %buildroot/boot/symtypes-$KERNELRELEASE
-if [ -s %buildroot/boot/symtypes-$KERNELRELEASE ]; then
+ # Also put the resulting file in $obj_dir/$SUBARCH/ppc64
+ # so that kernel-source + kernel-ppc64 is sufficient for building
+ # modules that have modversions as well.
+ obj_dir=usr/src/linux-${KERNELRELEASE%%-ppc64}-obj
+ mkdir -p %buildroot/$obj_dir/$SUBARCH/ppc64
+ cp Module.symvers %buildroot/$obj_dir/$SUBARCH/ppc64
+ # Table of types used in exported symbols (for modversion debugging).
+ %_sourcedir/modversions --pack . > %buildroot/boot/symtypes-$KERNELRELEASE
+ if [ -s %buildroot/boot/symtypes-$KERNELRELEASE ]; then
gzip -9 %buildroot/boot/symtypes-$KERNELRELEASE
-else
+ else
rm -f %buildroot/boot/symtypes-$KERNELRELEASE
-fi
-# Some architecture's $(uname -m) output is different from the ARCH
-# parameter that needs to be passed to kbuild. Create symlinks from
-# $(uname -m) to the ARCH directory.
-[ -e %buildroot/$obj_dir/%_target_cpu ] \
+ fi
+ # Some architecture's $(uname -m) output is different from the ARCH
+ # parameter that needs to be passed to kbuild. Create symlinks from
+ # $(uname -m) to the ARCH directory.
+ [ -e %buildroot/$obj_dir/%_target_cpu ] \
|| ln -sf $SUBARCH %buildroot/$obj_dir/%_target_cpu
%ifarch ppc ppc64
-[ -e %buildroot/$obj_dir/ppc ] \
+ [ -e %buildroot/$obj_dir/ppc ] \
|| ln -s $SUBARCH %buildroot/$obj_dir/ppc
-[ -e %buildroot/$obj_dir/ppc64 ] \
+ [ -e %buildroot/$obj_dir/ppc64 ] \
|| ln -s $SUBARCH %buildroot/$obj_dir/ppc64
%endif
-# Check for kABI changes
-KABI=0
-if [ -e %my_builddir/kabi/$SUBARCH/symvers-ppc64 ]; then
+ # Check for kABI changes
+ KABI=0
+ if [ -e %my_builddir/kabi/$SUBARCH/symvers-ppc64 ]; then
%_sourcedir/kabi-checks \
%my_builddir/kabi/$SUBARCH/symvers-ppc64 \
Module.symvers \
%my_builddir/kabi/commonsyms \
%my_builddir/kabi/usedsyms \
|| KABI=$?
-fi
-if [ $KABI -gt %tolerate_kabi_changes ]; then
+ fi
+ if [ $KABI -gt %tolerate_kabi_changes ]; then
echo "kABI changes of badness $KABI exceed the maximum allowed badness" \
"of %tolerate_kabi_changes. Please try to avoid the kABI changes."
if [ ! -e %my_builddir/kabi/$SUBARCH/ignore-ppc64 -a \
@@ -521,68 +538,226 @@
fi
# Indicate the ABI badness in build result emails.
echo "KABI BADNESS $KABI" > %_rpmdir/%_arch/mbuild_subject.tag
-fi
-if [ $KABI -ge 8 ]; then
+ fi
+ if [ $KABI -ge 8 ]; then
echo "To find out which types have changed relative to the reference" \
"symbols, diff the symtypes.gz files of the reference kernel" \
"against the symtypes.gz file from this build."
-fi
-# We were building in %my_builddir/linux-2.6.26, but the sources will
-# later be installed in /usr/src/linux-2.6.26-%source_rel. Fix up the
-# build symlink.
-# need to fake modules directory to satisfy scripts
-%if %build_nomodules
-mkdir -p %buildroot/lib/modules/$KERNELRELEASE/
-%endif
-rm -f %buildroot/lib/modules/$KERNELRELEASE/{source,build}
-ln -s /usr/src/linux-${KERNELRELEASE%%-ppc64} \
+ fi
+ # We were building in %my_builddir/linux-2.6.26, but the sources will
+ # later be installed in /usr/src/linux-2.6.26-%source_rel. Fix up the
+ # build symlink.
+ rm -f %buildroot/lib/modules/$KERNELRELEASE/{source,build}
+ ln -s /usr/src/linux-${KERNELRELEASE%%-ppc64} \
%buildroot/lib/modules/$KERNELRELEASE/source
-ln -s /$obj_dir/$SUBARCH/ppc64 \
+ ln -s /$obj_dir/$SUBARCH/ppc64 \
%buildroot/lib/modules/$KERNELRELEASE/build
-# Abort if there are any undefined symbols
-msg="$(/sbin/depmod -F %buildroot/boot/System.map-$KERNELRELEASE \
+ # Abort if there are any undefined symbols
+ msg="$(/sbin/depmod -F %buildroot/boot/System.map-$KERNELRELEASE \
-b %buildroot -ae $KERNELRELEASE 2>&1)"
-if [ $? -ne 0 ] || echo "$msg" | grep 'needs unknown symbol'; then
+ if [ $? -ne 0 ] || echo "$msg" | grep 'needs unknown symbol'; then
exit 1
-fi
-# Create a dummy initrd with roughly the size the real one will have.
-# That way, YaST will know that this package requires some additional
-# space in /boot.
-dd if=/dev/zero of=%buildroot/boot/initrd-$KERNELRELEASE \
+ fi
+ # Create a dummy initrd with roughly the size the real one will have.
+ # That way, YaST will know that this package requires some additional
+ # space in /boot.
+ dd if=/dev/zero of=%buildroot/boot/initrd-$KERNELRELEASE \
bs=1024 seek=2047 count=1
-# Collect the file list.
+%if %split_packages
+ # Generate the lists of supported and unsupported modules.
+ ( cd %buildroot
+ for module in $(find lib/modules/$KERNELRELEASE -type f -name '*.ko'); do
+ case "$(/sbin/modinfo -F supported $module)" in
+ (yes|external)
+ echo "/$module" >> %my_builddir/supported-modules
+ ;;
+ (*)
+ echo "/$module" >> %my_builddir/unsupported-modules
+ ;;
+ esac
+ done
+ )
+ add_dependent_modules() {
+ local modules_dep=$1
+ xargs make -rRs -f <(echo -e '%:\n\t@echo $@' ; cat $modules_dep)
+ }
+ modules_dep=%buildroot/lib/modules/$KERNELRELEASE/modules.dep
+ # Make sure that no supported modules depend on any unsupported modules.
+ dependent_unsupported_modules=$(
+ comm -3 <(sort %my_builddir/supported-modules) \
+ <(cat %my_builddir/supported-modules \
+ | add_dependent_modules $modules_dep \
+ | sort))
+ if [ -n "$dependent_unsupported_modules" ]; then
+ echo "The following unsupported modules are used by supported modules:"
+ echo "$dependent_unsupported_modules"
+ echo "Please fix supported.conf."
+ exit 1
+ fi
+ # Compute the list of base modules: modules that core modules depend on
+ # implicitly are also core modules.
+ grep -f %my_builddir/grep-for-base-modules %my_builddir/supported-modules \
+ | add_dependent_modules $modules_dep > %my_builddir/base-modules
+ # All supported modules which are not core modules belong in kernel-kernel-ppc64.
+ comm -3 <(sort %my_builddir/supported-modules) \
+ <(sort %my_builddir/base-modules) \
+ > %my_builddir/main-modules
+%else
+ ( cd %buildroot
+ find lib/modules/$KERNELRELEASE -type f -name '*.ko' -printf '/%%p\n'
+ ) > %my_builddir/base-modules
+%endif
+ # Set up some module aliases
+ install -d -m 755 %buildroot/etc/modprobe.d/
+ install -m 644 %_sourcedir/module-renames %buildroot/etc/modprobe.d/
+fi
+add_dirs_to_filelist() {
+ local filelist
+ filelist=$(cat)
+ echo "$filelist"
+ # Below, we do this:
+ # - remove filelist macros
+ # - remove last pathname component
+ # - generate all parents and make the list unique
+ # - skip directories owned be other packages
+ # - add the %dir prefix (double-escaped for find and rpm)
+ echo "$filelist" \
+ | sed -re 's:%%%%[a-z]+(\([^)]+\))? ?::g' \
+ | sed -re 's:/[^/]+$::' \
+ | sed -nre ':a; p; s:/[^/]+$::; ta' \
+ | sort -u \
+ | sed -r -e '\:^(|/boot|/etc|/lib(/modules|/firmware)?|/usr(/src)?)$:d' \
+ | sed -e 's:^:%%%%dir :'
+}
+# Collect the file lists.
( cd %buildroot
- echo "%%defattr(-, root, root)"
+ echo "%%%%defattr(-, root, root)"
find boot \
- \( -type l -o -name 'initrd-*' \) -printf '%%%%ghost /%%p\n' -o \
+ \( -type l -o -name 'initrd-*' \) -printf '%%%%%%%%ghost /%%p\n' -o \
-type f -printf '/%%p\n'
+ if [ $CONFIG_MODULES = y ]; then
find lib/modules/$KERNELRELEASE \
- -type d -printf '%%%%dir /%%p\n' -o \
- -path '*/modules.*' -printf '%%%%ghost /%%p\n' -o \
- -printf '/%%p\n'
- test -d lib/firmware && \
- find lib/firmware/$KERNELRELEASE \
- -type d -printf '%%%%dir /%%p\n' -o \
- -path '*/modules.*' -printf '%%%%ghost /%%p\n' -o \
+ -type d -o \
+ -path '*/modules.*' -printf '%%%%%%%%ghost /%%p\n' -o \
+ -name '*.ko' -prune -o \
-printf '/%%p\n'
+ cat %my_builddir/base-modules
+ echo '%%%%config /etc/modprobe.d/module-renames'
find $obj_dir \
- -type d -printf '%%%%dir /%%p\n' -o \
+ -type d -o \
+ -printf '/%%p\n'
+ fi
+ test -d lib/firmware/$KERNELRELEASE && \
+ find lib/firmware/$KERNELRELEASE \
+ -type d -o \
-printf '/%%p\n'
- echo '%%dir /etc/modprobe.d/'
- echo '%%config /etc/modprobe.d/module-renames'
if [ -e .%_docdir/%name ]; then
- echo "%%doc %_docdir/%name"
+ echo "%%%%doc %_docdir/%name"
fi
-) > %my_builddir/kernel.files
-# Set up some module aliases
-install -d -m 755 %buildroot/etc/modprobe.d/
-install -m 644 %_sourcedir/module-renames %buildroot/etc/modprobe.d/
-
-%pre -f pre.sh
+) | add_dirs_to_filelist > %my_builddir/kernel-base.files
+%if %split_packages
+ ( echo "%%%%defattr(-, root, root)"
+ cat %my_builddir/main-modules
+ ) | add_dirs_to_filelist > %my_builddir/kernel-main.files
+ ( echo "%%%%defattr(-, root, root)"
+ cat %my_builddir/unsupported-modules
+ ) | add_dirs_to_filelist > %my_builddir/kernel-extra.files
+%endif
+# Hardlink duplicate files automatically (from package fdupes): It doesn't safe
+# much, but it keeps rpmlint from breaking the package build.
+%fdupes $RPM_BUILD_ROOT
+cd %my_builddir # it helps if rpm can find the file lists ...
%post -f post.sh
%postun -f postun.sh
+%if %split_packages
+
+%files -f kernel-main.files
+%else
+
+%files -f kernel-base.files
+%endif
+
+%package -n kernel-ppc64-base
+Summary: Kernel for ppc64 Systems - base modules
+License: GPL v2 only
+Group: System/Kernel
+Url: http://www.kernel.org/
+AutoReqProv: on
+Requires(pre): coreutils awk
+Requires(post): module-init-tools
+Requires(post): perl-Bootloader
+Requires(post): mkinitrd
+
+%description -n kernel-ppc64-base
+This package contains the kernel for:
+
+IBM pSeries 64bit machines IBM iSeries 64bit machines Apple G5 machines
+Sony Playstation 3
+
+The boot file is /boot/vmlinux.
+
+The home page of the ppc64 project is http://www.penguinppc.org/
+
+This package contains only the base modules, required in all installs.
+
+
+
+Authors:
+--------
+ Linus Torvalds <torvalds(a)linux-foundation.org>
+ Paul Mackeras <paulus(a)samba.org>
+ Tom Gall <tom_gall(a)vnet.ibm.com>
+ see /usr/src/linux/CREDITS for more details.
+
+Source Timestamp: 2008-09-29 15:31:19 +0200
-%files -f kernel.files
+%pre -n kernel-ppc64-base -f pre-base.sh
+
+%post -n kernel-ppc64-base -f post-base.sh
+%if %split_packages
+
+%files -n kernel-ppc64-base -f kernel-base.files
+%endif
+%package -n kernel-ppc64-extra
+Summary: Kernel for ppc64 Systems - extra modules
+License: GPL v2 only
+Group: System/Kernel
+Url: http://www.kernel.org/
+AutoReqProv: on
+Requires: kernel-ppc64 = %version-%release
+Requires(pre): coreutils awk
+Requires(post): module-init-tools
+Requires(post): perl-Bootloader
+Requires(post): mkinitrd
+
+%description -n kernel-ppc64-extra
+This package contains the kernel for:
+
+IBM pSeries 64bit machines IBM iSeries 64bit machines Apple G5 machines
+Sony Playstation 3
+
+The boot file is /boot/vmlinux.
+
+The home page of the ppc64 project is http://www.penguinppc.org/
+
+This package contains additional modules not supported by Novell.
+
+
+
+Authors:
+--------
+ Linus Torvalds <torvalds(a)linux-foundation.org>
+ Paul Mackeras <paulus(a)samba.org>
+ Tom Gall <tom_gall(a)vnet.ibm.com>
+ see /usr/src/linux/CREDITS for more details.
+
+Source Timestamp: 2008-09-29 15:31:19 +0200
+
+%post -n kernel-ppc64-extra -f post-extra.sh
+%if %split_packages
+
+%files -n kernel-ppc64-extra -f kernel-extra.files
+%endif
++++++ kernel-ps3.spec ++++++
--- /var/tmp/diff_new_pack.o25057/_old 2008-09-29 18:09:42.000000000 +0200
+++ /var/tmp/diff_new_pack.o25057/_new 2008-09-29 18:09:43.000000000 +0200
@@ -30,7 +30,6 @@
%define build_xen 0
%define build_um 0
%define build_vanilla 0
-%define build_nomodules 0
%if %{build_flavor} == "kdump"
%define build_kdump 1
%endif
@@ -43,19 +42,18 @@
%if %{build_flavor} == "vanilla"
%define build_vanilla 1
%endif
-%if %{build_flavor} == "ps3"
-%define build_nomodules 1
-%endif
Name: kernel-ps3
Summary: kernel for ps3 bootloader
Version: 2.6.27
-Release: 7
+Release: 8
License: GPL v2 only
Group: System/Kernel
Url: http://www.kernel.org/
AutoReqProv: on
-BuildRequires: coreutils module-init-tools
+BuildRequires: coreutils module-init-tools sparse
+BuildRequires: fdupes
+Requires: kernel-ps3-base = %version-%release
Requires(pre): coreutils awk
Requires(post): module-init-tools
# This Requires is wrong, because the post/postun scripts have a
@@ -68,6 +66,9 @@
Requires(post): perl-Bootloader
Requires(post): mkinitrd
Recommends: kerneloops
+%if ! %sles_version
+Recommends: kernel-ps3-extra
+%endif
#!BuildIgnore: perl-Bootloader mkinitrd
%if ! 0%{?opensuse_bs}
BuildRequires: kernel-dummy
@@ -134,7 +135,6 @@
Source32: config-subst
Source33: check-for-config-changes
Source34: check-supported-list
-Source35: install-configs
Source38: kabi-checks
Source40: build-source-timestamp
Source41: built-in-where
@@ -154,6 +154,7 @@
Source109: patches.kernel.org.tar.bz2
Source110: patches.apparmor.tar.bz2
Source111: patches.rt.tar.bz2
+Source112: patches.trace.tar.bz2
Source120: kabi.tar.bz2
%define my_builddir %_builddir/%{name}-%{version}
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -180,8 +181,21 @@
Obsoletes: rt2x00-kmp
Obsoletes: rfswitch-kmp
Obsoletes: uvcvideo-kmp
-%(chmod +x %_sourcedir/{arch-symbols,guards,config-subst,check-for-config-changes,check-supported-list,built-in-where,find-provides,make-symsets,modversions,kabi-checks,install-configs})
+%(chmod +x %_sourcedir/{arch-symbols,guards,config-subst,check-for-config-changes,check-supported-list,built-in-where,find-provides,make-symsets,modversions,kabi-checks})
%define symbols %(set -- kernel-ps3 ps3 $(case ps3 in (rt|rt_*) echo RT ;; esac) $(%_sourcedir/arch-symbols %_target_cpu) $([ -e %_sourcedir/extra-symbols ] && cat %_sourcedir/extra-symbols) ; echo $*)
+%define subarch_flavor %(%_sourcedir/guards %symbols < %_sourcedir/config.conf | grep '/ps3$')
+# Define some CONFIG variables as rpm macros as well. (rpm cannot handle
+# defining them all at once.)
+%define config_vars CONFIG_MODULES
+%{expand:%(eval "$(test -n "%subarch_flavor" && tar xfj %_sourcedir/config.tar.bz2 --to-stdout config/%subarch_flavor)"; for config in %config_vars; do echo "%%global $config ${!config:-n}"; done)}
+%if %build_vanilla || %CONFIG_MODULES != "y"
+%define split_packages 0
+%else
+%define split_packages 1
+%endif
+# Build with bash instead of sh as the shell: this turns on bash
+# extensions like <(...).
+%define _buildshell /bin/bash
# Provide the exported symbols as "ksym(symbol) = hash"
%define __find_provides %_sourcedir/find-provides %name
# Will modules not listed in supported.conf abort the kernel build (0/1)?
@@ -198,7 +212,7 @@
-Source Timestamp: 2008-09-15 10:58:05 +0200
+Source Timestamp: 2008-09-29 15:31:19 +0200
%prep
if ! [ -e %_sourcedir/linux-2.6.26.tar.bz2 ]; then
@@ -208,16 +222,21 @@
fi
echo "Architecture symbol(s):" %symbols
# Unpack all sources and patches
-%setup -q -c -T -a 0 -a 100 -a 101 -a 102 -a 103 -a 104 -a 105 -a 106 -a 107 -a 108 -a 109 -a 110 -a 111 -a 120
-# Generate the list of supported modules
-( %_sourcedir/guards %symbols < %_sourcedir/supported.conf
+%setup -q -c -T -a 0 -a 100 -a 101 -a 102 -a 103 -a 104 -a 105 -a 106 -a 107 -a 108 -a 109 -a 110 -a 111 -a 112 -a 120
+supported_conf() {
+ %_sourcedir/guards %symbols $* < %_sourcedir/supported.conf | sort -u
+}
+# Generate the list of modules to be marked as supported
+( supported_conf base
for how in external; do
- ( %_sourcedir/guards %symbols < %_sourcedir/supported.conf
- %_sourcedir/guards %symbols < %_sourcedir/supported.conf
- %_sourcedir/guards %symbols $how < %_sourcedir/supported.conf \
- ) | sort | uniq -u | sed -e 's:$: '"$how"':'
+ comm -2 -3 <(supported_conf base $how) <(supported_conf base) \
+ | sed -e 's:$: '"$how"':'
done
-) | sed -e 's,.*/,,' | sort > linux-2.6.26/Module.supported
+) | sed -e 's,.*/,,' -e 's,\.ko$,,' > linux-2.6.26/Module.supported
+# Create grep pattern file for the modules to end up in the base package
+comm -2 -3 <(supported_conf base) <(supported_conf) \
+ | sed -e 's:.*/::' -e 's:^:\\/:' -e 's:$:\.ko$:' \
+ > %my_builddir/grep-for-base-modules
cd linux-2.6.26
# Find out for which architecture to build. We do this here, and use the
# result in the %build and %install sections.
@@ -225,10 +244,7 @@
# On architectures with a bi-arch or cross compiler, we can compile for
# an architecture different from %arch. The location of the config file
# tells us for which architecture to compile.
-set -- $(
- for config in $(%_sourcedir/guards %symbols < %_sourcedir/config.conf) ; do
- [ ${config#*/} = ps3 ] && echo $config
- done)
+set -- %subarch_flavor
if [ $# -ne 1 ]; then
echo "$# config files found for this spec file (but one needed)" >&2
exit 1
@@ -258,9 +274,9 @@
if [ -f %_sourcedir/localversion ] ; then
cat %_sourcedir/localversion > localversion
fi
-%_sourcedir/install-configs %_sourcedir .. $RELEASE
-config=arch/$subarch/defconfig.ps3
-cat $config \
+cat ../config/%subarch_flavor \
+| %_sourcedir/config-subst CONFIG_LOCALVERSION '"'-$RELEASE-ps3'"' \
+| %_sourcedir/config-subst CONFIG_SUSE_KERNEL y \
%if 0%{?__debug_package:1}
| %_sourcedir/config-subst CONFIG_DEBUG_INFO y \
%endif
@@ -280,13 +296,14 @@
EOF
%endif
cat >> ../.rpm-defs <<EOF
-KERNELRELEASE=2.6.27-rc6-$RELEASE-ps3
+KERNELRELEASE=2.6.27-rc7-$RELEASE-ps3
EOF
%if 0%{?__debug_package:1}
cat >> ../.rpm-defs <<EOF
MAKE_ARGS="\$MAKE_ARGS CONFIG_DEBUG_INFO=y"
EOF
%endif
+echo CONFIG_MODULES=%CONFIG_MODULES >> ../.rpm-defs
%build
source .rpm-defs
@@ -321,7 +338,7 @@
export KBUILD_SYMTYPES=1
EOF
source .kernel-binary.spec.buildenv
-make %{?jobs:-j%jobs} all $MAKE_ARGS
+make %{?jobs:-j%jobs} all $MAKE_ARGS CONFIG_DEBUG_SECTION_MISMATCH=y
%install
source .rpm-defs
@@ -416,13 +433,16 @@
sed -e "s:@KERNELRELEASE@:$KERNELRELEASE:g" \
-e "s:@IMAGE@:$image:g" \
-e "s:@FLAVOR""@:ps3:g" \
- %_sourcedir/pre.sh > ../pre.sh
-( cat %_sourcedir/functions.sh
+ %_sourcedir/pre.sh > ../pre-base.sh
+for sub in '-base' '' '-extra'; do
+ ( cat %_sourcedir/functions.sh
sed -e "s:@KERNELRELEASE@:$KERNELRELEASE:g" \
-e "s:@IMAGE@:$image:g" \
-e "s:@FLAVOR""@:ps3:g" \
+ -e "s:@SUBPACKAGE@:kernel-ps3$sub:g" \
%_sourcedir/post.sh
-) > ../post.sh
+ ) > ../post$sub.sh
+done
( cat %_sourcedir/functions.sh
sed -e "s:@KERNELRELEASE@:$KERNELRELEASE:g" \
-e "s:@IMAGE@:$image:g" \
@@ -435,18 +455,16 @@
ln -s $image$suffix %buildroot/boot/$image$suffix
ln -s initrd$suffix %buildroot/boot/initrd$suffix
cp .config %buildroot/boot/config-$KERNELRELEASE
-%if ! %build_nomodules
+gzip -c9 < Module.symvers > %buildroot/boot/symvers-$KERNELRELEASE.gz
+if [ $CONFIG_MODULES = y ]; then
make modules_install $MAKE_ARGS INSTALL_MOD_PATH=%buildroot
-%endif
-if ! %_sourcedir/check-supported-list \
+ if ! %_sourcedir/check-supported-list \
%_sourcedir %buildroot/lib/modules/$KERNELRELEASE; then
%if %supported_modules_check
exit 1
%endif
echo "Consistency check error: please update supported.conf."
-fi
-gzip -c9 < Module.symvers > %buildroot/boot/symvers-$KERNELRELEASE.gz
-if grep -q '^CONFIG_MODULES=y$' .config; then
+ fi
# Preserve exports from previous kernels when possible.
old_symsets=%my_builddir/kabi/$SUBARCH/symsets-ps3.tar.gz
[ -e $old_symsets ] || old_symsets=
@@ -460,42 +478,41 @@
%buildroot/boot/symsets-$KERNELRELEASE.tar.gz \
$old_symsets ||
[ -n "$ignore_kabi_changes" -o %tolerate_kabi_changes -ge 8 ]
-fi
-# Also put the resulting file in $obj_dir/$SUBARCH/ps3
-# so that kernel-source + kernel-ps3 is sufficient for building
-# modules that have modversions as well.
-obj_dir=usr/src/linux-${KERNELRELEASE%%-ps3}-obj
-mkdir -p %buildroot/$obj_dir/$SUBARCH/ps3
-cp Module.symvers %buildroot/$obj_dir/$SUBARCH/ps3
-# Table of types used in exported symbols (for modversion debugging).
-%_sourcedir/modversions --pack . > %buildroot/boot/symtypes-$KERNELRELEASE
-if [ -s %buildroot/boot/symtypes-$KERNELRELEASE ]; then
+ # Also put the resulting file in $obj_dir/$SUBARCH/ps3
+ # so that kernel-source + kernel-ps3 is sufficient for building
+ # modules that have modversions as well.
+ obj_dir=usr/src/linux-${KERNELRELEASE%%-ps3}-obj
+ mkdir -p %buildroot/$obj_dir/$SUBARCH/ps3
+ cp Module.symvers %buildroot/$obj_dir/$SUBARCH/ps3
+ # Table of types used in exported symbols (for modversion debugging).
+ %_sourcedir/modversions --pack . > %buildroot/boot/symtypes-$KERNELRELEASE
+ if [ -s %buildroot/boot/symtypes-$KERNELRELEASE ]; then
gzip -9 %buildroot/boot/symtypes-$KERNELRELEASE
-else
+ else
rm -f %buildroot/boot/symtypes-$KERNELRELEASE
-fi
-# Some architecture's $(uname -m) output is different from the ARCH
-# parameter that needs to be passed to kbuild. Create symlinks from
-# $(uname -m) to the ARCH directory.
-[ -e %buildroot/$obj_dir/%_target_cpu ] \
+ fi
+ # Some architecture's $(uname -m) output is different from the ARCH
+ # parameter that needs to be passed to kbuild. Create symlinks from
+ # $(uname -m) to the ARCH directory.
+ [ -e %buildroot/$obj_dir/%_target_cpu ] \
|| ln -sf $SUBARCH %buildroot/$obj_dir/%_target_cpu
%ifarch ppc ppc64
-[ -e %buildroot/$obj_dir/ppc ] \
+ [ -e %buildroot/$obj_dir/ppc ] \
|| ln -s $SUBARCH %buildroot/$obj_dir/ppc
-[ -e %buildroot/$obj_dir/ppc64 ] \
+ [ -e %buildroot/$obj_dir/ppc64 ] \
|| ln -s $SUBARCH %buildroot/$obj_dir/ppc64
%endif
-# Check for kABI changes
-KABI=0
-if [ -e %my_builddir/kabi/$SUBARCH/symvers-ps3 ]; then
+ # Check for kABI changes
+ KABI=0
+ if [ -e %my_builddir/kabi/$SUBARCH/symvers-ps3 ]; then
%_sourcedir/kabi-checks \
%my_builddir/kabi/$SUBARCH/symvers-ps3 \
Module.symvers \
%my_builddir/kabi/commonsyms \
%my_builddir/kabi/usedsyms \
|| KABI=$?
-fi
-if [ $KABI -gt %tolerate_kabi_changes ]; then
+ fi
+ if [ $KABI -gt %tolerate_kabi_changes ]; then
echo "kABI changes of badness $KABI exceed the maximum allowed badness" \
"of %tolerate_kabi_changes. Please try to avoid the kABI changes."
if [ ! -e %my_builddir/kabi/$SUBARCH/ignore-ps3 -a \
@@ -507,68 +524,198 @@
fi
# Indicate the ABI badness in build result emails.
echo "KABI BADNESS $KABI" > %_rpmdir/%_arch/mbuild_subject.tag
-fi
-if [ $KABI -ge 8 ]; then
+ fi
+ if [ $KABI -ge 8 ]; then
echo "To find out which types have changed relative to the reference" \
"symbols, diff the symtypes.gz files of the reference kernel" \
"against the symtypes.gz file from this build."
-fi
-# We were building in %my_builddir/linux-2.6.26, but the sources will
-# later be installed in /usr/src/linux-2.6.26-%source_rel. Fix up the
-# build symlink.
-# need to fake modules directory to satisfy scripts
-%if %build_nomodules
-mkdir -p %buildroot/lib/modules/$KERNELRELEASE/
-%endif
-rm -f %buildroot/lib/modules/$KERNELRELEASE/{source,build}
-ln -s /usr/src/linux-${KERNELRELEASE%%-ps3} \
+ fi
+ # We were building in %my_builddir/linux-2.6.26, but the sources will
+ # later be installed in /usr/src/linux-2.6.26-%source_rel. Fix up the
+ # build symlink.
+ rm -f %buildroot/lib/modules/$KERNELRELEASE/{source,build}
+ ln -s /usr/src/linux-${KERNELRELEASE%%-ps3} \
%buildroot/lib/modules/$KERNELRELEASE/source
-ln -s /$obj_dir/$SUBARCH/ps3 \
+ ln -s /$obj_dir/$SUBARCH/ps3 \
%buildroot/lib/modules/$KERNELRELEASE/build
-# Abort if there are any undefined symbols
-msg="$(/sbin/depmod -F %buildroot/boot/System.map-$KERNELRELEASE \
+ # Abort if there are any undefined symbols
+ msg="$(/sbin/depmod -F %buildroot/boot/System.map-$KERNELRELEASE \
-b %buildroot -ae $KERNELRELEASE 2>&1)"
-if [ $? -ne 0 ] || echo "$msg" | grep 'needs unknown symbol'; then
+ if [ $? -ne 0 ] || echo "$msg" | grep 'needs unknown symbol'; then
exit 1
-fi
-# Create a dummy initrd with roughly the size the real one will have.
-# That way, YaST will know that this package requires some additional
-# space in /boot.
-dd if=/dev/zero of=%buildroot/boot/initrd-$KERNELRELEASE \
+ fi
+ # Create a dummy initrd with roughly the size the real one will have.
+ # That way, YaST will know that this package requires some additional
+ # space in /boot.
+ dd if=/dev/zero of=%buildroot/boot/initrd-$KERNELRELEASE \
bs=1024 seek=2047 count=1
-# Collect the file list.
+%if %split_packages
+ # Generate the lists of supported and unsupported modules.
+ ( cd %buildroot
+ for module in $(find lib/modules/$KERNELRELEASE -type f -name '*.ko'); do
+ case "$(/sbin/modinfo -F supported $module)" in
+ (yes|external)
+ echo "/$module" >> %my_builddir/supported-modules
+ ;;
+ (*)
+ echo "/$module" >> %my_builddir/unsupported-modules
+ ;;
+ esac
+ done
+ )
+ add_dependent_modules() {
+ local modules_dep=$1
+ xargs make -rRs -f <(echo -e '%:\n\t@echo $@' ; cat $modules_dep)
+ }
+ modules_dep=%buildroot/lib/modules/$KERNELRELEASE/modules.dep
+ # Make sure that no supported modules depend on any unsupported modules.
+ dependent_unsupported_modules=$(
+ comm -3 <(sort %my_builddir/supported-modules) \
+ <(cat %my_builddir/supported-modules \
+ | add_dependent_modules $modules_dep \
+ | sort))
+ if [ -n "$dependent_unsupported_modules" ]; then
+ echo "The following unsupported modules are used by supported modules:"
+ echo "$dependent_unsupported_modules"
+ echo "Please fix supported.conf."
+ exit 1
+ fi
+ # Compute the list of base modules: modules that core modules depend on
+ # implicitly are also core modules.
+ grep -f %my_builddir/grep-for-base-modules %my_builddir/supported-modules \
+ | add_dependent_modules $modules_dep > %my_builddir/base-modules
+ # All supported modules which are not core modules belong in kernel-kernel-ps3.
+ comm -3 <(sort %my_builddir/supported-modules) \
+ <(sort %my_builddir/base-modules) \
+ > %my_builddir/main-modules
+%else
+ ( cd %buildroot
+ find lib/modules/$KERNELRELEASE -type f -name '*.ko' -printf '/%%p\n'
+ ) > %my_builddir/base-modules
+%endif
+ # Set up some module aliases
+ install -d -m 755 %buildroot/etc/modprobe.d/
+ install -m 644 %_sourcedir/module-renames %buildroot/etc/modprobe.d/
+fi
+add_dirs_to_filelist() {
+ local filelist
+ filelist=$(cat)
+ echo "$filelist"
+ # Below, we do this:
+ # - remove filelist macros
+ # - remove last pathname component
+ # - generate all parents and make the list unique
+ # - skip directories owned be other packages
+ # - add the %dir prefix (double-escaped for find and rpm)
+ echo "$filelist" \
+ | sed -re 's:%%%%[a-z]+(\([^)]+\))? ?::g' \
+ | sed -re 's:/[^/]+$::' \
+ | sed -nre ':a; p; s:/[^/]+$::; ta' \
+ | sort -u \
+ | sed -r -e '\:^(|/boot|/etc|/lib(/modules|/firmware)?|/usr(/src)?)$:d' \
+ | sed -e 's:^:%%%%dir :'
+}
+# Collect the file lists.
( cd %buildroot
- echo "%%defattr(-, root, root)"
+ echo "%%%%defattr(-, root, root)"
find boot \
- \( -type l -o -name 'initrd-*' \) -printf '%%%%ghost /%%p\n' -o \
+ \( -type l -o -name 'initrd-*' \) -printf '%%%%%%%%ghost /%%p\n' -o \
-type f -printf '/%%p\n'
+ if [ $CONFIG_MODULES = y ]; then
find lib/modules/$KERNELRELEASE \
- -type d -printf '%%%%dir /%%p\n' -o \
- -path '*/modules.*' -printf '%%%%ghost /%%p\n' -o \
- -printf '/%%p\n'
- test -d lib/firmware && \
- find lib/firmware/$KERNELRELEASE \
- -type d -printf '%%%%dir /%%p\n' -o \
- -path '*/modules.*' -printf '%%%%ghost /%%p\n' -o \
+ -type d -o \
+ -path '*/modules.*' -printf '%%%%%%%%ghost /%%p\n' -o \
+ -name '*.ko' -prune -o \
-printf '/%%p\n'
+ cat %my_builddir/base-modules
+ echo '%%%%config /etc/modprobe.d/module-renames'
find $obj_dir \
- -type d -printf '%%%%dir /%%p\n' -o \
+ -type d -o \
+ -printf '/%%p\n'
+ fi
+ test -d lib/firmware/$KERNELRELEASE && \
+ find lib/firmware/$KERNELRELEASE \
+ -type d -o \
-printf '/%%p\n'
- echo '%%dir /etc/modprobe.d/'
- echo '%%config /etc/modprobe.d/module-renames'
if [ -e .%_docdir/%name ]; then
- echo "%%doc %_docdir/%name"
+ echo "%%%%doc %_docdir/%name"
fi
-) > %my_builddir/kernel.files
-# Set up some module aliases
-install -d -m 755 %buildroot/etc/modprobe.d/
-install -m 644 %_sourcedir/module-renames %buildroot/etc/modprobe.d/
-
-%pre -f pre.sh
+) | add_dirs_to_filelist > %my_builddir/kernel-base.files
+%if %split_packages
+ ( echo "%%%%defattr(-, root, root)"
+ cat %my_builddir/main-modules
+ ) | add_dirs_to_filelist > %my_builddir/kernel-main.files
+ ( echo "%%%%defattr(-, root, root)"
+ cat %my_builddir/unsupported-modules
+ ) | add_dirs_to_filelist > %my_builddir/kernel-extra.files
+%endif
+# Hardlink duplicate files automatically (from package fdupes): It doesn't safe
+# much, but it keeps rpmlint from breaking the package build.
+%fdupes $RPM_BUILD_ROOT
+cd %my_builddir # it helps if rpm can find the file lists ...
%post -f post.sh
%postun -f postun.sh
+%if %split_packages
+
+%files -f kernel-main.files
+%else
+
+%files -f kernel-base.files
+%endif
-%files -f kernel.files
+%package -n kernel-ps3-base
+Summary: kernel for ps3 bootloader
+License: GPL v2 only
+Group: System/Kernel
+Url: http://www.kernel.org/
+AutoReqProv: on
+Requires(pre): coreutils awk
+Requires(post): module-init-tools
+Requires(post): perl-Bootloader
+Requires(post): mkinitrd
+
+%description -n kernel-ps3-base
+This package contains the kernel for the ps3 bootloader only. PS3
+systems only have 4MB of flash space for the bootloader, so this kernel
+needs to be as small as possible.
+
+
+
+Source Timestamp: 2008-09-29 15:31:19 +0200
+
+%pre -n kernel-ps3-base -f pre-base.sh
+
+%post -n kernel-ps3-base -f post-base.sh
+%if %split_packages
+
+%files -n kernel-ps3-base -f kernel-base.files
+%endif
+%package -n kernel-ps3-extra
+Summary: kernel for ps3 bootloader
+License: GPL v2 only
+Group: System/Kernel
+Url: http://www.kernel.org/
+AutoReqProv: on
+Requires: kernel-ps3 = %version-%release
+Requires(pre): coreutils awk
+Requires(post): module-init-tools
+Requires(post): perl-Bootloader
+Requires(post): mkinitrd
+
+%description -n kernel-ps3-extra
+This package contains the kernel for the ps3 bootloader only. PS3
+systems only have 4MB of flash space for the bootloader, so this kernel
+needs to be as small as possible.
+
+
+
+Source Timestamp: 2008-09-29 15:31:19 +0200
+
+%post -n kernel-ps3-extra -f post-extra.sh
+%if %split_packages
+
+%files -n kernel-ps3-extra -f kernel-extra.files
+%endif
++++++ kernel-s390.spec ++++++
--- /var/tmp/diff_new_pack.o25057/_old 2008-09-29 18:09:43.000000000 +0200
+++ /var/tmp/diff_new_pack.o25057/_new 2008-09-29 18:09:43.000000000 +0200
@@ -30,7 +30,6 @@
%define build_xen 0
%define build_um 0
%define build_vanilla 0
-%define build_nomodules 0
%if %{build_flavor} == "kdump"
%define build_kdump 1
%endif
@@ -43,19 +42,18 @@
%if %{build_flavor} == "vanilla"
%define build_vanilla 1
%endif
-%if %{build_flavor} == "ps3"
-%define build_nomodules 1
-%endif
Name: kernel-s390
Summary: The Standard Kernel
Version: 2.6.27
-Release: 7
+Release: 8
License: GPL v2 only
Group: System/Kernel
Url: http://www.kernel.org/
AutoReqProv: on
-BuildRequires: coreutils module-init-tools
+BuildRequires: coreutils module-init-tools sparse
+BuildRequires: fdupes
+Requires: kernel-s390-base = %version-%release
Requires(pre): coreutils awk
Requires(post): module-init-tools
# This Requires is wrong, because the post/postun scripts have a
@@ -68,6 +66,9 @@
Requires(post): perl-Bootloader
Requires(post): mkinitrd
Recommends: kerneloops
+%if ! %sles_version
+Recommends: kernel-s390-extra
+%endif
#!BuildIgnore: perl-Bootloader mkinitrd
%if ! 0%{?opensuse_bs}
BuildRequires: kernel-dummy
@@ -131,7 +132,6 @@
Source32: config-subst
Source33: check-for-config-changes
Source34: check-supported-list
-Source35: install-configs
Source38: kabi-checks
Source40: build-source-timestamp
Source41: built-in-where
@@ -151,6 +151,7 @@
Source109: patches.kernel.org.tar.bz2
Source110: patches.apparmor.tar.bz2
Source111: patches.rt.tar.bz2
+Source112: patches.trace.tar.bz2
Source120: kabi.tar.bz2
%define my_builddir %_builddir/%{name}-%{version}
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -177,8 +178,21 @@
Obsoletes: rt2x00-kmp
Obsoletes: rfswitch-kmp
Obsoletes: uvcvideo-kmp
-%(chmod +x %_sourcedir/{arch-symbols,guards,config-subst,check-for-config-changes,check-supported-list,built-in-where,find-provides,make-symsets,modversions,kabi-checks,install-configs})
+%(chmod +x %_sourcedir/{arch-symbols,guards,config-subst,check-for-config-changes,check-supported-list,built-in-where,find-provides,make-symsets,modversions,kabi-checks})
%define symbols %(set -- kernel-s390 s390 $(case s390 in (rt|rt_*) echo RT ;; esac) $(%_sourcedir/arch-symbols %_target_cpu) $([ -e %_sourcedir/extra-symbols ] && cat %_sourcedir/extra-symbols) ; echo $*)
+%define subarch_flavor %(%_sourcedir/guards %symbols < %_sourcedir/config.conf | grep '/s390$')
+# Define some CONFIG variables as rpm macros as well. (rpm cannot handle
+# defining them all at once.)
+%define config_vars CONFIG_MODULES
+%{expand:%(eval "$(test -n "%subarch_flavor" && tar xfj %_sourcedir/config.tar.bz2 --to-stdout config/%subarch_flavor)"; for config in %config_vars; do echo "%%global $config ${!config:-n}"; done)}
+%if %build_vanilla || %CONFIG_MODULES != "y"
+%define split_packages 0
+%else
+%define split_packages 1
+%endif
+# Build with bash instead of sh as the shell: this turns on bash
+# extensions like <(...).
+%define _buildshell /bin/bash
# Provide the exported symbols as "ksym(symbol) = hash"
%define __find_provides %_sourcedir/find-provides %name
# Will modules not listed in supported.conf abort the kernel build (0/1)?
@@ -193,7 +207,7 @@
-Source Timestamp: 2008-09-15 10:58:05 +0200
+Source Timestamp: 2008-09-29 15:31:19 +0200
%prep
if ! [ -e %_sourcedir/linux-2.6.26.tar.bz2 ]; then
@@ -203,16 +217,21 @@
fi
echo "Architecture symbol(s):" %symbols
# Unpack all sources and patches
-%setup -q -c -T -a 0 -a 100 -a 101 -a 102 -a 103 -a 104 -a 105 -a 106 -a 107 -a 108 -a 109 -a 110 -a 111 -a 120
-# Generate the list of supported modules
-( %_sourcedir/guards %symbols < %_sourcedir/supported.conf
+%setup -q -c -T -a 0 -a 100 -a 101 -a 102 -a 103 -a 104 -a 105 -a 106 -a 107 -a 108 -a 109 -a 110 -a 111 -a 112 -a 120
+supported_conf() {
+ %_sourcedir/guards %symbols $* < %_sourcedir/supported.conf | sort -u
+}
+# Generate the list of modules to be marked as supported
+( supported_conf base
for how in external; do
- ( %_sourcedir/guards %symbols < %_sourcedir/supported.conf
- %_sourcedir/guards %symbols < %_sourcedir/supported.conf
- %_sourcedir/guards %symbols $how < %_sourcedir/supported.conf \
- ) | sort | uniq -u | sed -e 's:$: '"$how"':'
+ comm -2 -3 <(supported_conf base $how) <(supported_conf base) \
+ | sed -e 's:$: '"$how"':'
done
-) | sed -e 's,.*/,,' | sort > linux-2.6.26/Module.supported
+) | sed -e 's,.*/,,' -e 's,\.ko$,,' > linux-2.6.26/Module.supported
+# Create grep pattern file for the modules to end up in the base package
+comm -2 -3 <(supported_conf base) <(supported_conf) \
+ | sed -e 's:.*/::' -e 's:^:\\/:' -e 's:$:\.ko$:' \
+ > %my_builddir/grep-for-base-modules
cd linux-2.6.26
# Find out for which architecture to build. We do this here, and use the
# result in the %build and %install sections.
@@ -220,10 +239,7 @@
# On architectures with a bi-arch or cross compiler, we can compile for
# an architecture different from %arch. The location of the config file
# tells us for which architecture to compile.
-set -- $(
- for config in $(%_sourcedir/guards %symbols < %_sourcedir/config.conf) ; do
- [ ${config#*/} = s390 ] && echo $config
- done)
+set -- %subarch_flavor
if [ $# -ne 1 ]; then
echo "$# config files found for this spec file (but one needed)" >&2
exit 1
@@ -253,9 +269,9 @@
if [ -f %_sourcedir/localversion ] ; then
cat %_sourcedir/localversion > localversion
fi
-%_sourcedir/install-configs %_sourcedir .. $RELEASE
-config=arch/$subarch/defconfig.s390
-cat $config \
+cat ../config/%subarch_flavor \
+| %_sourcedir/config-subst CONFIG_LOCALVERSION '"'-$RELEASE-s390'"' \
+| %_sourcedir/config-subst CONFIG_SUSE_KERNEL y \
%if 0%{?__debug_package:1}
| %_sourcedir/config-subst CONFIG_DEBUG_INFO y \
%endif
@@ -275,13 +291,14 @@
EOF
%endif
cat >> ../.rpm-defs <<EOF
-KERNELRELEASE=2.6.27-rc6-$RELEASE-s390
+KERNELRELEASE=2.6.27-rc7-$RELEASE-s390
EOF
%if 0%{?__debug_package:1}
cat >> ../.rpm-defs <<EOF
MAKE_ARGS="\$MAKE_ARGS CONFIG_DEBUG_INFO=y"
EOF
%endif
+echo CONFIG_MODULES=%CONFIG_MODULES >> ../.rpm-defs
%build
source .rpm-defs
@@ -316,7 +333,7 @@
export KBUILD_SYMTYPES=1
EOF
source .kernel-binary.spec.buildenv
-make %{?jobs:-j%jobs} all $MAKE_ARGS
+make %{?jobs:-j%jobs} all $MAKE_ARGS CONFIG_DEBUG_SECTION_MISMATCH=y
%install
source .rpm-defs
@@ -411,13 +428,16 @@
sed -e "s:@KERNELRELEASE@:$KERNELRELEASE:g" \
-e "s:@IMAGE@:$image:g" \
-e "s:@FLAVOR""@:s390:g" \
- %_sourcedir/pre.sh > ../pre.sh
-( cat %_sourcedir/functions.sh
+ %_sourcedir/pre.sh > ../pre-base.sh
+for sub in '-base' '' '-extra'; do
+ ( cat %_sourcedir/functions.sh
sed -e "s:@KERNELRELEASE@:$KERNELRELEASE:g" \
-e "s:@IMAGE@:$image:g" \
-e "s:@FLAVOR""@:s390:g" \
+ -e "s:@SUBPACKAGE@:kernel-s390$sub:g" \
%_sourcedir/post.sh
-) > ../post.sh
+ ) > ../post$sub.sh
+done
( cat %_sourcedir/functions.sh
sed -e "s:@KERNELRELEASE@:$KERNELRELEASE:g" \
-e "s:@IMAGE@:$image:g" \
@@ -430,18 +450,16 @@
ln -s $image$suffix %buildroot/boot/$image$suffix
ln -s initrd$suffix %buildroot/boot/initrd$suffix
cp .config %buildroot/boot/config-$KERNELRELEASE
-%if ! %build_nomodules
+gzip -c9 < Module.symvers > %buildroot/boot/symvers-$KERNELRELEASE.gz
+if [ $CONFIG_MODULES = y ]; then
make modules_install $MAKE_ARGS INSTALL_MOD_PATH=%buildroot
-%endif
-if ! %_sourcedir/check-supported-list \
+ if ! %_sourcedir/check-supported-list \
%_sourcedir %buildroot/lib/modules/$KERNELRELEASE; then
%if %supported_modules_check
exit 1
%endif
echo "Consistency check error: please update supported.conf."
-fi
-gzip -c9 < Module.symvers > %buildroot/boot/symvers-$KERNELRELEASE.gz
-if grep -q '^CONFIG_MODULES=y$' .config; then
+ fi
# Preserve exports from previous kernels when possible.
old_symsets=%my_builddir/kabi/$SUBARCH/symsets-s390.tar.gz
[ -e $old_symsets ] || old_symsets=
@@ -455,42 +473,41 @@
%buildroot/boot/symsets-$KERNELRELEASE.tar.gz \
$old_symsets ||
[ -n "$ignore_kabi_changes" -o %tolerate_kabi_changes -ge 8 ]
-fi
-# Also put the resulting file in $obj_dir/$SUBARCH/s390
-# so that kernel-source + kernel-s390 is sufficient for building
-# modules that have modversions as well.
-obj_dir=usr/src/linux-${KERNELRELEASE%%-s390}-obj
-mkdir -p %buildroot/$obj_dir/$SUBARCH/s390
-cp Module.symvers %buildroot/$obj_dir/$SUBARCH/s390
-# Table of types used in exported symbols (for modversion debugging).
-%_sourcedir/modversions --pack . > %buildroot/boot/symtypes-$KERNELRELEASE
-if [ -s %buildroot/boot/symtypes-$KERNELRELEASE ]; then
+ # Also put the resulting file in $obj_dir/$SUBARCH/s390
+ # so that kernel-source + kernel-s390 is sufficient for building
+ # modules that have modversions as well.
+ obj_dir=usr/src/linux-${KERNELRELEASE%%-s390}-obj
+ mkdir -p %buildroot/$obj_dir/$SUBARCH/s390
+ cp Module.symvers %buildroot/$obj_dir/$SUBARCH/s390
+ # Table of types used in exported symbols (for modversion debugging).
+ %_sourcedir/modversions --pack . > %buildroot/boot/symtypes-$KERNELRELEASE
+ if [ -s %buildroot/boot/symtypes-$KERNELRELEASE ]; then
gzip -9 %buildroot/boot/symtypes-$KERNELRELEASE
-else
+ else
rm -f %buildroot/boot/symtypes-$KERNELRELEASE
-fi
-# Some architecture's $(uname -m) output is different from the ARCH
-# parameter that needs to be passed to kbuild. Create symlinks from
-# $(uname -m) to the ARCH directory.
-[ -e %buildroot/$obj_dir/%_target_cpu ] \
+ fi
+ # Some architecture's $(uname -m) output is different from the ARCH
+ # parameter that needs to be passed to kbuild. Create symlinks from
+ # $(uname -m) to the ARCH directory.
+ [ -e %buildroot/$obj_dir/%_target_cpu ] \
|| ln -sf $SUBARCH %buildroot/$obj_dir/%_target_cpu
%ifarch ppc ppc64
-[ -e %buildroot/$obj_dir/ppc ] \
+ [ -e %buildroot/$obj_dir/ppc ] \
|| ln -s $SUBARCH %buildroot/$obj_dir/ppc
-[ -e %buildroot/$obj_dir/ppc64 ] \
+ [ -e %buildroot/$obj_dir/ppc64 ] \
|| ln -s $SUBARCH %buildroot/$obj_dir/ppc64
%endif
-# Check for kABI changes
-KABI=0
-if [ -e %my_builddir/kabi/$SUBARCH/symvers-s390 ]; then
+ # Check for kABI changes
+ KABI=0
+ if [ -e %my_builddir/kabi/$SUBARCH/symvers-s390 ]; then
%_sourcedir/kabi-checks \
%my_builddir/kabi/$SUBARCH/symvers-s390 \
Module.symvers \
%my_builddir/kabi/commonsyms \
%my_builddir/kabi/usedsyms \
|| KABI=$?
-fi
-if [ $KABI -gt %tolerate_kabi_changes ]; then
+ fi
+ if [ $KABI -gt %tolerate_kabi_changes ]; then
echo "kABI changes of badness $KABI exceed the maximum allowed badness" \
"of %tolerate_kabi_changes. Please try to avoid the kABI changes."
if [ ! -e %my_builddir/kabi/$SUBARCH/ignore-s390 -a \
@@ -502,68 +519,198 @@
fi
# Indicate the ABI badness in build result emails.
echo "KABI BADNESS $KABI" > %_rpmdir/%_arch/mbuild_subject.tag
-fi
-if [ $KABI -ge 8 ]; then
+ fi
+ if [ $KABI -ge 8 ]; then
echo "To find out which types have changed relative to the reference" \
"symbols, diff the symtypes.gz files of the reference kernel" \
"against the symtypes.gz file from this build."
-fi
-# We were building in %my_builddir/linux-2.6.26, but the sources will
-# later be installed in /usr/src/linux-2.6.26-%source_rel. Fix up the
-# build symlink.
-# need to fake modules directory to satisfy scripts
-%if %build_nomodules
-mkdir -p %buildroot/lib/modules/$KERNELRELEASE/
-%endif
-rm -f %buildroot/lib/modules/$KERNELRELEASE/{source,build}
-ln -s /usr/src/linux-${KERNELRELEASE%%-s390} \
+ fi
+ # We were building in %my_builddir/linux-2.6.26, but the sources will
+ # later be installed in /usr/src/linux-2.6.26-%source_rel. Fix up the
+ # build symlink.
+ rm -f %buildroot/lib/modules/$KERNELRELEASE/{source,build}
+ ln -s /usr/src/linux-${KERNELRELEASE%%-s390} \
%buildroot/lib/modules/$KERNELRELEASE/source
-ln -s /$obj_dir/$SUBARCH/s390 \
+ ln -s /$obj_dir/$SUBARCH/s390 \
%buildroot/lib/modules/$KERNELRELEASE/build
-# Abort if there are any undefined symbols
-msg="$(/sbin/depmod -F %buildroot/boot/System.map-$KERNELRELEASE \
+ # Abort if there are any undefined symbols
+ msg="$(/sbin/depmod -F %buildroot/boot/System.map-$KERNELRELEASE \
-b %buildroot -ae $KERNELRELEASE 2>&1)"
-if [ $? -ne 0 ] || echo "$msg" | grep 'needs unknown symbol'; then
+ if [ $? -ne 0 ] || echo "$msg" | grep 'needs unknown symbol'; then
exit 1
-fi
-# Create a dummy initrd with roughly the size the real one will have.
-# That way, YaST will know that this package requires some additional
-# space in /boot.
-dd if=/dev/zero of=%buildroot/boot/initrd-$KERNELRELEASE \
+ fi
+ # Create a dummy initrd with roughly the size the real one will have.
+ # That way, YaST will know that this package requires some additional
+ # space in /boot.
+ dd if=/dev/zero of=%buildroot/boot/initrd-$KERNELRELEASE \
bs=1024 seek=2047 count=1
-# Collect the file list.
+%if %split_packages
+ # Generate the lists of supported and unsupported modules.
+ ( cd %buildroot
+ for module in $(find lib/modules/$KERNELRELEASE -type f -name '*.ko'); do
+ case "$(/sbin/modinfo -F supported $module)" in
+ (yes|external)
+ echo "/$module" >> %my_builddir/supported-modules
+ ;;
+ (*)
+ echo "/$module" >> %my_builddir/unsupported-modules
+ ;;
+ esac
+ done
+ )
+ add_dependent_modules() {
+ local modules_dep=$1
+ xargs make -rRs -f <(echo -e '%:\n\t@echo $@' ; cat $modules_dep)
+ }
+ modules_dep=%buildroot/lib/modules/$KERNELRELEASE/modules.dep
+ # Make sure that no supported modules depend on any unsupported modules.
+ dependent_unsupported_modules=$(
+ comm -3 <(sort %my_builddir/supported-modules) \
+ <(cat %my_builddir/supported-modules \
+ | add_dependent_modules $modules_dep \
+ | sort))
+ if [ -n "$dependent_unsupported_modules" ]; then
+ echo "The following unsupported modules are used by supported modules:"
+ echo "$dependent_unsupported_modules"
+ echo "Please fix supported.conf."
+ exit 1
+ fi
+ # Compute the list of base modules: modules that core modules depend on
+ # implicitly are also core modules.
+ grep -f %my_builddir/grep-for-base-modules %my_builddir/supported-modules \
+ | add_dependent_modules $modules_dep > %my_builddir/base-modules
+ # All supported modules which are not core modules belong in kernel-kernel-s390.
+ comm -3 <(sort %my_builddir/supported-modules) \
+ <(sort %my_builddir/base-modules) \
+ > %my_builddir/main-modules
+%else
+ ( cd %buildroot
+ find lib/modules/$KERNELRELEASE -type f -name '*.ko' -printf '/%%p\n'
+ ) > %my_builddir/base-modules
+%endif
+ # Set up some module aliases
+ install -d -m 755 %buildroot/etc/modprobe.d/
+ install -m 644 %_sourcedir/module-renames %buildroot/etc/modprobe.d/
+fi
+add_dirs_to_filelist() {
+ local filelist
+ filelist=$(cat)
+ echo "$filelist"
+ # Below, we do this:
+ # - remove filelist macros
+ # - remove last pathname component
+ # - generate all parents and make the list unique
+ # - skip directories owned be other packages
+ # - add the %dir prefix (double-escaped for find and rpm)
+ echo "$filelist" \
+ | sed -re 's:%%%%[a-z]+(\([^)]+\))? ?::g' \
+ | sed -re 's:/[^/]+$::' \
+ | sed -nre ':a; p; s:/[^/]+$::; ta' \
+ | sort -u \
+ | sed -r -e '\:^(|/boot|/etc|/lib(/modules|/firmware)?|/usr(/src)?)$:d' \
+ | sed -e 's:^:%%%%dir :'
+}
+# Collect the file lists.
( cd %buildroot
- echo "%%defattr(-, root, root)"
+ echo "%%%%defattr(-, root, root)"
find boot \
- \( -type l -o -name 'initrd-*' \) -printf '%%%%ghost /%%p\n' -o \
+ \( -type l -o -name 'initrd-*' \) -printf '%%%%%%%%ghost /%%p\n' -o \
-type f -printf '/%%p\n'
+ if [ $CONFIG_MODULES = y ]; then
find lib/modules/$KERNELRELEASE \
- -type d -printf '%%%%dir /%%p\n' -o \
- -path '*/modules.*' -printf '%%%%ghost /%%p\n' -o \
- -printf '/%%p\n'
- test -d lib/firmware && \
- find lib/firmware/$KERNELRELEASE \
- -type d -printf '%%%%dir /%%p\n' -o \
- -path '*/modules.*' -printf '%%%%ghost /%%p\n' -o \
+ -type d -o \
+ -path '*/modules.*' -printf '%%%%%%%%ghost /%%p\n' -o \
+ -name '*.ko' -prune -o \
-printf '/%%p\n'
+ cat %my_builddir/base-modules
+ echo '%%%%config /etc/modprobe.d/module-renames'
find $obj_dir \
- -type d -printf '%%%%dir /%%p\n' -o \
+ -type d -o \
+ -printf '/%%p\n'
+ fi
+ test -d lib/firmware/$KERNELRELEASE && \
+ find lib/firmware/$KERNELRELEASE \
+ -type d -o \
-printf '/%%p\n'
- echo '%%dir /etc/modprobe.d/'
- echo '%%config /etc/modprobe.d/module-renames'
if [ -e .%_docdir/%name ]; then
- echo "%%doc %_docdir/%name"
+ echo "%%%%doc %_docdir/%name"
fi
-) > %my_builddir/kernel.files
-# Set up some module aliases
-install -d -m 755 %buildroot/etc/modprobe.d/
-install -m 644 %_sourcedir/module-renames %buildroot/etc/modprobe.d/
-
-%pre -f pre.sh
+) | add_dirs_to_filelist > %my_builddir/kernel-base.files
+%if %split_packages
+ ( echo "%%%%defattr(-, root, root)"
+ cat %my_builddir/main-modules
+ ) | add_dirs_to_filelist > %my_builddir/kernel-main.files
+ ( echo "%%%%defattr(-, root, root)"
+ cat %my_builddir/unsupported-modules
+ ) | add_dirs_to_filelist > %my_builddir/kernel-extra.files
+%endif
+# Hardlink duplicate files automatically (from package fdupes): It doesn't safe
+# much, but it keeps rpmlint from breaking the package build.
+%fdupes $RPM_BUILD_ROOT
+cd %my_builddir # it helps if rpm can find the file lists ...
%post -f post.sh
%postun -f postun.sh
+%if %split_packages
+
+%files -f kernel-main.files
+%else
-%files -f kernel.files
+%files -f kernel-base.files
+%endif
+
+%package -n kernel-s390-base
+Summary: The Standard Kernel - base modules
+License: GPL v2 only
+Group: System/Kernel
+Url: http://www.kernel.org/
+AutoReqProv: on
+Requires(pre): coreutils awk
+Requires(post): module-init-tools
+Requires(post): perl-Bootloader
+Requires(post): mkinitrd
+%description -n kernel-s390-base
+The standard kernel.
+
+This package contains only the base modules, required in all installs.
+
+
+
+Source Timestamp: 2008-09-29 15:31:19 +0200
+
+%pre -n kernel-s390-base -f pre-base.sh
+
+%post -n kernel-s390-base -f post-base.sh
+%if %split_packages
+
+%files -n kernel-s390-base -f kernel-base.files
+%endif
+
+%package -n kernel-s390-extra
+Summary: The Standard Kernel - extra modules
+License: GPL v2 only
+Group: System/Kernel
+Url: http://www.kernel.org/
+AutoReqProv: on
+Requires: kernel-s390 = %version-%release
+Requires(pre): coreutils awk
+Requires(post): module-init-tools
+Requires(post): perl-Bootloader
+Requires(post): mkinitrd
+
+%description -n kernel-s390-extra
+The standard kernel.
+
+This package contains additional modules not supported by Novell.
+
+
+
+Source Timestamp: 2008-09-29 15:31:19 +0200
+
+%post -n kernel-s390-extra -f post-extra.sh
+%if %split_packages
+
+%files -n kernel-s390-extra -f kernel-extra.files
+%endif
++++++ kernel-source.spec ++++++
--- /var/tmp/diff_new_pack.o25057/_old 2008-09-29 18:09:44.000000000 +0200
+++ /var/tmp/diff_new_pack.o25057/_new 2008-09-29 18:09:44.000000000 +0200
@@ -30,11 +30,12 @@
Name: kernel-source
Summary: The Linux Kernel Sources
Version: 2.6.27
-Release: 7
+Release: 8
License: GPL v2 only
Group: Development/Sources
AutoReqProv: off
BuildRequires: coreutils sed
+BuildRequires: fdupes
Requires(post): coreutils sed
%if ! 0%{?opensuse_bs}
BuildRequires: kernel-dummy
@@ -48,6 +49,9 @@
Source0: http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.26.tar.bz2
Source1: functions.sh
Source2: source-post.sh
+%if "kernel-source" == "kernel-source"
+Source3: kernel-source.rpmlintrc
+%endif
Source10: pre.sh
Source11: post.sh
Source12: postun.sh
@@ -59,7 +63,6 @@
Source30: config-subst
Source33: check-for-config-changes
Source34: check-supported-list
-Source35: install-configs
Source37: README.SUSE
Source38: kabi-checks
Source40: build-source-timestamp
@@ -79,8 +82,9 @@
Source55: kernel-ppc64.spec
Source56: kernel-ps3.spec
Source57: kernel-s390.spec
-Source58: kernel-vanilla.spec
-Source59: kernel-xen.spec
+Source58: kernel-trace.spec
+Source59: kernel-vanilla.spec
+Source60: kernel-xen.spec
Source100: config.tar.bz2
Source101: patches.arch.tar.bz2
Source102: patches.drivers.tar.bz2
@@ -93,13 +97,17 @@
Source109: patches.kernel.org.tar.bz2
Source110: patches.apparmor.tar.bz2
Source111: patches.rt.tar.bz2
+Source112: patches.trace.tar.bz2
Source120: kabi.tar.bz2
-Source121: novell-kmp.tar.bz2
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Prefix: /usr/src
-%(chmod +x %_sourcedir/{arch-symbols,guards,config-subst,check-for-config-changes,kabi-checks,install-configs})
+# Build with bash instead of sh as the shell: this turns on bash
+# extensions like <(...).
+%define _buildshell /bin/bash
+%(chmod +x %_sourcedir/{arch-symbols,guards,config-subst,check-for-config-changes,kabi-checks})
%define symbols %(set -- $(%_sourcedir/arch-symbols %_target_cpu) $([ -e %_sourcedir/extra-symbols ] && cat %_sourcedir/extra-symbols) ; echo $*)
%define tolerate_unknown_new_config_options 0
+%define with_rt 0
%description
Linux kernel sources with many fixes and improvements.
@@ -112,7 +120,7 @@
see /usr/src/linux/CREDITS for more details.
-Source Timestamp: 2008-09-15 10:58:05 +0200
+Source Timestamp: 2008-09-29 15:31:19 +0200
%prep
if ! [ -e %_sourcedir/linux-2.6.26.tar.bz2 ]; then
@@ -121,66 +129,78 @@
fi
echo "Architecture symbol(s): %symbols"
# Unpack all sources and patches
-%setup -q -c -T -a 100 -a 101 -a 102 -a 103 -a 104 -a 105 -a 106 -a 107 -a 108 -a 109 -a 110 -a 111
+%setup -q -c -T -a 100 -a 101 -a 102 -a 103 -a 104 -a 105 -a 106 -a 107 -a 108 -a 109 -a 110 -a 111 -a 112
%build
-mkdir -p $RPM_BUILD_ROOT/usr/src
-cd $RPM_BUILD_ROOT/usr/src
-# Unpack the vanilla kernel sources
-bzip2 -cd %_sourcedir/linux-2.6.26.tar.bz2 \
-| tar xf -
-cd linux-2.6.26
-# Hello Linus: hint, hint ...
-chmod -Rf a+rX,g-w,o-w .
-# Apply the patches needed for this architecture.
-%_sourcedir/guards %symbols < %_sourcedir/series.conf \
- > %_builddir/kernel-source-2.6.27/kernel-source.patches
-for patch in $(< %_builddir/kernel-source-2.6.27/kernel-source.patches); do
- if ! patch -s -F0 -E -p1 --no-backup-if-mismatch -i %_builddir/kernel-source-2.6.27/$patch; then
- echo "*** Patch $patch failed ***"
- exit 1
- fi
-done
# Release number without the EXTRAVERSION
RELEASE=%source_rel
while [ "$RELEASE" != "${RELEASE#[^0-9]*.}" ]; do
RELEASE=${RELEASE#[^0-9]*.}
done
-if [ -f %_sourcedir/localversion ] ; then
- cat %_sourcedir/localversion > localversion
-fi
-%_sourcedir/install-configs %_sourcedir %_builddir/%buildsubdir $RELEASE
-KERNELRELEASE=2.6.27-rc6-$RELEASE
+KERNELRELEASE=2.6.27-rc7-$RELEASE
cat > %_builddir/%{name}-%{version}/.rpm-defs <<EOF
KERNELRELEASE=$KERNELRELEASE
SYMBOLS="%symbols"
EOF
-cd ..
-mv linux-2.6.26 linux-$KERNELRELEASE
-cd linux-$KERNELRELEASE
-chmod +x arch/ia64/scripts/toolchain-flags # agruen: necessary?
-cd $RPM_BUILD_ROOT/usr/src/linux-$KERNELRELEASE
+create_source_tree() {
+ local name=$1 extrasymbols
+ shift ; extrasymbols=$*
+ cp -rld linux-2.6.26.orig $name
+ cd $name
+ %_sourcedir/guards %symbols $extrasymbols < %_sourcedir/series.conf \
+ > .patches
+ for patch in $(< .patches); do
+ if ! patch -s -F0 -E -p1 --no-backup-if-mismatch \
+ -i %_builddir/kernel-source-2.6.27/$patch; then
+ echo "*** Patch $patch failed ***"
+ exit 1
+ fi
+ done
+ if [ -f %_sourcedir/localversion ] ; then
+ cat %_sourcedir/localversion > localversion
+ fi
+ cd ..
+}
+mkdir -p $RPM_BUILD_ROOT/usr/src
+cd $RPM_BUILD_ROOT/usr/src
+# Unpack the vanilla kernel sources
+bzip2 -cd %_sourcedir/linux-2.6.26.tar.bz2 \
+| tar xf -
+mv linux-2.6.26 linux-2.6.26.orig
+create_source_tree linux-$KERNELRELEASE
+%if %with_rt
+create_source_tree linux-$KERNELRELEASE-rt RT
+%endif
for config in $(%_sourcedir/guards %symbols < %_sourcedir/config.conf | grep -v vanilla); do
arch=${config%/*}
flavor=${config#*/}
- config=arch/$arch/defconfig.$flavor
+ config=%_builddir/%buildsubdir/config/$config
case "$flavor" in
*-*)
echo "Flavor '$flavor' must not contain dashes." >&2
exit 1
;;
esac
- set -- kernel-$flavor $flavor $(case $flavor in (rt|rt_*) echo RT ;; esac)
- %_sourcedir/guards $* %symbols < %_sourcedir/series.conf \
- > %_builddir/kernel-source-2.6.27/kernel-$flavor.patches
- diff -q %_builddir/kernel-source-2.6.27/kernel-{source,$flavor}.patches \
+ set -- kernel-$flavor $flavor
+ case $flavor in
+ (rt|rt_*)
+ set -- "$@" RT
+ source_tree=linux-$KERNELRELEASE-rt
+ ;;
+ (*)
+ source_tree=linux-$KERNELRELEASE
+ ;;
+ esac
+ diff -q $source_tree/.patches \
+ <(%_sourcedir/guards $* %symbols < %_sourcedir/series.conf) \
|| continue
o=$RPM_BUILD_ROOT/usr/src/linux-$KERNELRELEASE-obj/$arch/$flavor
mkdir -p $o
- cp $config $o/.config
-%ifarch mips
- echo "CONFIG_CROSSCOMPILE=y" >> $o/.config
-%endif
+ cat $config \
+ | %_sourcedir/config-subst CONFIG_LOCALVERSION '"'-$flavor'"' \
+ | %_sourcedir/config-subst CONFIG_SUSE_KERNEL y \
+ > $o/.config
+ echo "-$RELEASE" > $source_tree/localversion-rpm-release
case $flavor in
um)
MAKE_ARGS="ARCH=$flavor SUBARCH=$arch O=$o" ;;
@@ -193,49 +213,33 @@
%if %{tolerate_unknown_new_config_options}
yes '' | make oldconfig $MAKE_ARGS
%else
- make silentoldconfig $MAKE_ARGS < /dev/null
+ make -C $source_tree silentoldconfig $MAKE_ARGS < /dev/null
%_sourcedir/check-for-config-changes $config $o/.config
%endif
- make prepare $MAKE_ARGS
- make scripts $MAKE_ARGS
- krel=$(make -s kernelrelease $MAKE_ARGS)
+ make -C $source_tree prepare $MAKE_ARGS
+ make -C $source_tree scripts $MAKE_ARGS
+ krel=$(make -C $source_tree -s kernelrelease $MAKE_ARGS)
if [ $KERNELRELEASE != "${krel%%-*}" ]; then
echo "Kernel release mismatch: $KERNELRELEASE != ${krel%%-*}" >&2
exit 1
fi
- mkdir -p ../../../lib/modules/$krel/
+ make -C $source_tree clean $MAKE_ARGS
+ mkdir -p $RPM_BUILD_ROOT/lib/modules/$krel
ln -s ../../../usr/src/linux-$KERNELRELEASE \
- ../../../lib/modules/$krel/source
- make clean $MAKE_ARGS
- rm -f $o/.config.old
+ $RPM_BUILD_ROOT/lib/modules/$krel/source
# Replace the absolute with a relative path
sed -e "s,$RPM_BUILD_ROOT/usr/src/linux-$KERNELRELEASE,../../../linux-$KERNELRELEASE,g" \
-i $o/Makefile
+ rm -f $o/.config.old
done
+rm -rf linux-2.6.26.orig
+rm -f linux-$KERNELRELEASE/.patches
+%if %with_rt
+rm -f linux-$KERNELRELEASE-rt/.patches
+%endif
+# Hardlink duplicate files automatically (from package fdupes).
+%fdupes $RPM_BUILD_ROOT
cd $RPM_BUILD_ROOT/usr/src/linux-$KERNELRELEASE-obj
-set -- */*
-for arch_flavor in $* ; do
- if ! [ -e obj.files ]; then
- (cd $arch_flavor ; find -type f) > obj.files
- fi
- # Strip ELF files
- while read file ; do
- strip $file
- done <<-EOF
- $(xargs -i% file $arch_flavor/% < obj.files \
- | grep ELF \
- | sed -e 's/: .*//')
- EOF
- if [ $arch_flavor != $1 ]; then
- while read file ; do
- if [ -s $arch_flavor/$file ] \
- && cmp -s $1/$file $arch_flavor/$file ; then
- ln -f $1/$file $arch_flavor/$file
- fi
- done < obj.files
- fi
-done
-rm -f obj.files
set -- *
[ -e %_target_cpu ] || ln -s $1 %_target_cpu
%ifarch ppc ppc64
@@ -243,9 +247,7 @@
[ -e ppc64 ] || ln -s $1 ppc64
%endif
cd $RPM_BUILD_ROOT/usr/src
-for name in nftlcore.c nftlmount.c inftlcore.c inftlmount.c ftl.c; do
- rm linux-$KERNELRELEASE/drivers/mtd/$name
-done
+rm -f `find linux-$KERNELRELEASE -name ".gitignore"`
# Remove $RPM_BUILD_ROOT prefix from symlinks.
for link in $(find $RPM_BUILD_ROOT/usr/src/linux-$KERNELRELEASE-obj -type l); do
target=$(readlink $link)
@@ -261,8 +263,6 @@
DOC=$RPM_BUILD_ROOT/usr/share/doc/packages/%name
mkdir -p $DOC
cp %_sourcedir/README.SUSE $DOC
-bzip2 -cd %_sourcedir/novell-kmp.tar.bz2 \
-| tar -xf - -C $DOC
ln -s /usr/share/doc/packages/%name/README.SUSE \
$RPM_BUILD_ROOT/usr/src/linux-$KERNELRELEASE/
install -m 755 -d $RPM_BUILD_ROOT/etc/rpm
@@ -281,11 +281,46 @@
/usr/lib/rpm/kernel-module-subpackage
/lib/modules/*
EOF
-( cat %_sourcedir/functions.sh
- sed -e "s:@KERNELRELEASE@:$KERNELRELEASE:g" %_sourcedir/source-post.sh
-) > source-post.sh
+%if %with_rt
+cat > kernel-source-rt.files <<EOF
+%%defattr(-, root, root)
+FIXME: splitting cleanly needs some work here.
+EOF
+%endif
+for variant in '' '-rt'; do
+ ( cat %_sourcedir/functions.sh
+ sed -e "s:@KERNELRELEASE@:$KERNELRELEASE:g" \
+ -e "s:@VARIANT@:$variant:g" \
+ %_sourcedir/source-post.sh
+ ) > source-post$variant.sh
+done
%post -f source-post.sh
%files -f kernel-source.files
+%package -n kernel-source-rt
+Summary: The Linux Kernel Sources
+License: GPL v2 only
+Group: Development/Sources
+Requires(post): coreutils sed
+Provides: kernel-source-rt = 2.6.27-%source_rel
+
+%description -n kernel-source-rt
+Linux kernel sources with many fixes and improvements.
+
+
+
+Authors:
+--------
+ Linus Torvalds <torvalds(a)osdl.org>
+
+ see /usr/src/linux/CREDITS for more details.
+
+Source Timestamp: 2008-09-29 15:31:19 +0200
+
+%post -n kernel-source-rt -f source-post-rt.sh
+%if %with_rt
+
+%files -n kernel-source-rt -f kernel-source.files
+%endif
++++++ kernel-syms.spec ++++++
--- /var/tmp/diff_new_pack.o25057/_old 2008-09-29 18:09:44.000000000 +0200
+++ /var/tmp/diff_new_pack.o25057/_new 2008-09-29 18:09:44.000000000 +0200
@@ -29,7 +29,7 @@
Name: kernel-syms
Summary: Kernel Symbol Versions (modversions)
Version: 2.6.27
-Release: 7
+Release: 8
License: GPL v2 only
Group: Development/Sources
AutoReqProv: off
@@ -38,7 +38,7 @@
BuildRequires: kernel-dummy
%endif
%ifarch %ix86
-BuildRequires: kernel-debug kernel-default kernel-pae kernel-xen
+BuildRequires: kernel-debug kernel-default kernel-pae kernel-trace kernel-xen
%else
%ifarch ppc
BuildRequires: kernel-default kernel-kdump kernel-ppc64 kernel-ps3
@@ -53,10 +53,10 @@
BuildRequires: kernel-default
%else
%ifarch ia64
-BuildRequires: kernel-debug kernel-default
+BuildRequires: kernel-debug kernel-default kernel-trace
%else
%ifarch x86_64
-BuildRequires: kernel-debug kernel-default kernel-xen
+BuildRequires: kernel-debug kernel-default kernel-trace kernel-xen
%endif
%endif
%endif
@@ -99,7 +99,7 @@
see /usr/src/linux/CREDITS for more details.
-Source Timestamp: 2008-09-15 10:58:05 +0200
+Source Timestamp: 2008-09-29 15:31:19 +0200
%prep
echo "Architecture symbol(s):" %symbols
@@ -150,8 +150,385 @@
/usr/src/linux-*-obj
/boot/symsets-*-*.tar.gz
/lib/modules/*/build
-
%changelog
+* Mon Sep 29 2008 agruen(a)suse.de
+- Do not split kernels which have modules disabled (kernel-ps3)
+ or which do not differentiate between supported and unsupported
+ modules (kernel-vanilla).
+* Mon Sep 29 2008 hare(a)suse.de
+- patches.drivers/open-fcoe-dcb-support: Fix section annotation
+ for ixgbe.
+- patches.fixes/scsi-enhance-error-codes: Add missing hunk.
+- patches.fixes/open-iscsi-git-update: Open-iSCSI updates
+ (FATE#304283).
+- patches.kernel.org/gdth-section-conflict: Fixup gdth
+ section annotations.
+* Mon Sep 29 2008 aj(a)suse.de
+- Silence /etc/rpm/macros.kernel-source via rpmlintrc.
+* Mon Sep 29 2008 jbeulich(a)novell.com
+- Enable Solarflare driver link and resource driver patches.
+- Update x86 config files.
+* Mon Sep 29 2008 agruen(a)suse.de
+- rpm/kernel-source.spc.in: Try to get rid of a hack that makes
+ uname -r pretend in build environments that the kernel from
+ the installed kernel-source package is the running kernel:
+ packages assuming this are completely broken ans should really
+ be fixed.
+* Mon Sep 29 2008 agruen(a)suse.de
+- rpm/kernel-source.spec.in: Prepare for the upcoming introduction
+ of kernel-source-rt (and kernel-syms-rt) for producing KMPs for
+ real-time kernels.
+- rpm/install-configs: Remove; this script didn't improve things.
+* Sun Sep 28 2008 aj(a)suse.de
+- rpm/kernel-source.rpmlintrc: New file to silence warnings about
+ zero size files
+- rpm/kernel-source.spec.in: Install it.
+- rpm/kernel-source.spec.in: Make /etc/rpm/macros.kernel-source
+ a config file to silence rpmlint.
+* Sun Sep 28 2008 jdelvare(a)suse.de
+- supported.conf: Update the list of i2c bus drivers.
+ - i2c-i810, i2c-prosavage and i2c-savage4 are gone.
+ - i2c-isch and i2c-nforce2-s4985 are new, mark as supported.
+* Sun Sep 28 2008 aj(a)suse.de
+- rpm/kernel-source.spec.in: Do not package .gitignore files.
+* Sun Sep 28 2008 agruen(a)suse.de
+- Fix CONFIG_MODULES=n case.
+- config.conf: Some cleanups.
+* Sat Sep 27 2008 agruen(a)suse.de
+- Split the binary kernel packages into three parts:
+ + kernel-$flavor-base: very reduced hardware support, intended
+ to be used in virtual machine images
+ + kernel-$flavor: extends the base package; contains all kernel
+ modules we can support
+ + kernel-$flavor-extra: all other kernel modules which may be
+ useful, but which we cannot support.
+* Sat Sep 27 2008 agruen(a)suse.de
+- Hardlink duplicate files automatically: It doesn't save much,
+ but it keeps rpmlint from breaking the package build.
+* Sat Sep 27 2008 agruen(a)suse.de
+- Add consistency check: supported modules must not depend on
+ unsupported ones ... and guess what, there was a large number of
+ such modules. Fix this by adding all the dependent modules to
+ supported.conf.
+* Sat Sep 27 2008 knikanth(a)suse.de
+- patches.suse/dm-barrier-single-device: Implement barrier
+ support for single device DM devices (FATE#304489).
+* Sat Sep 27 2008 jeffm(a)suse.de
+- scripts/tar-up_and_run_mbuild.sh: Added -xen flavor to default
+ mbuild spec list.
+* Sat Sep 27 2008 jeffm(a)suse.de
+- patches.xen/xen-e1000e_Export_set_memory_ro-rw: Export
+ set_memory_ro() and set_memory_rw() calls for xen. (bnc#425480).
+* Sat Sep 27 2008 kkeil(a)suse.de
+- patches.suse/e1000e_mmap_range_chk:check ranges in pci_mmap
+ * updated version with better reporting (bnc#425480)
+* Fri Sep 26 2008 kkeil(a)suse.de
+- patches to track down and fix the e1000e NVM corruption
+ (bnc#425480)
+- patches.suse/e1000e_allow_bad_checksum: e1000e: allow bad
+ checksum
+- patches.suse/e1000e_call_dump_eeprom: e1000e: dump eeprom to
+ dmesg for ich8/9
+- patches.suse/e1000e_debug_contention_on_NVM_SWFLAG: e1000e:
+ debug contention on NVM SWFLAG
+- patches.suse/e1000e_do_not_ever_sleep_in_interrupt_context:
+ e1000e: do not ever sleep in interrupt context
+- patches.suse/e1000e_drop_stats_lock: e1000e: drop stats lock
+- patches.suse/e1000e_Export_set_memory_ro-rw: Export
+ set_memory_ro() and set_memory_rw() calls
+- patches.suse/e1000e_fix_lockdep_issues: e1000e: fix lockdep
+ issues
+- patches.suse/e1000e_mmap_range_chk: check ranges in pci_mmap
+- patches.suse/e1000e_reset_swflag_after_resetting_hardware:
+ e1000e: reset swflag after resetting hardware
+- patches.suse/e1000e_update_version: update version
+- patches.suse/e1000e_use_set_memory_ro-rw_to_protect_flash_memory:
+ e1000e: Use set_memory_ro()/set_memory_rw() to protect flash
+ memory
+- cleanup old not longer used patches
+ * patches.drivers/e1000-7.6.5-napi-tail.patch
+ * patches.drivers/e1000-7.6.9.2
+ * patches.drivers/e1000-7.6.9.2-napi
+* Fri Sep 26 2008 kkeil(a)suse.de
+- Enable CONFIG_SGI_IOC4=m in x86_64 (bnc#430275)
+* Fri Sep 26 2008 jeffm(a)suse.de
+- patches.arch/acpi-export-hotplug_execute: acpi: export
+ acpi_os_hotplug_execute.
+* Fri Sep 26 2008 jeffm(a)suse.de
+- patches.xen/xen-rwlocks-enable-interrupts: add missing
+ __raw_{read,write}_lock_flags to xen's asm/spinlock.h.
+* Fri Sep 26 2008 jeffm(a)suse.de
+- patches.arch/acpi-bay-remove-from-makefile: acpi: remove bay.c
+ from makefile.
+* Fri Sep 26 2008 jeffm(a)suse.de
+- rpm/kernel-binary.spec.in: Disabled sparse checking. Too many
+ false positives.
+* Fri Sep 26 2008 trenn(a)suse.de
+ No functional change:
+- patches.arch/acpi_thermal_passive_blacklist.patch: Avoid
+ critical temp shutdowns on specific ThinkPad T4x(p) and R40
+ (https://bugzilla.novell.com/show_bug.cgi?id=333043)
+ Dock bug fixes (kacpid runs amok on Dells after suspend):
+- patches.arch/acpi-dock-avoid-check-_STA-method.patch: avoid
+ check _STA method (fate#304731,bnc#401740).
+- patches.arch/acpi-dock-fix-eject-request-process.patch: fix
+ eject request process (fate#304731,bnc#401740).
+ More Dock improvements, unrelated to above fixes:
+- patches.arch/acpi-bay-remove-useless-code.patch: remove useless
+ code (fate#304731,bnc#401740).
+- patches.arch/acpi-dock-Fix-duplicate-notification-handler-register.patch:
+ Fix duplicate notification handler register
+ (fate#304731,bnc#401740).
+- patches.arch/acpi-dock-_LCK-support-for-dock.patch: add _LCK
+ support for dock (fate#304731,bnc#401740).
+- patches.arch/acpi-dock-fix-for-bay-in-a-dock-station.patch:
+ fix for bay in a dock station (fate#304731,bnc#401740).
+- patches.arch/acpi-dock-fix-hotplug-race.patch: fix hotplug race
+ (fate#304731,bnc#401740).
+- patches.arch/acpi-dock-introduce-.uevent-for-devices-in-dock.patch:
+ introduce .uevent for devices in dock (fate#304731,bnc#401740).
+- patches.arch/acpi-libata-hotplug-to-align-with-dock-driver.patch:
+ libata hotplug to align with dock driver
+ (fate#304731,bnc#401740).
+- patches.arch/acpi-dock-makeing-dock-driver-supports-bay-and-battery-hotplug.patch:
+ makeing dock driver supports bay and battery hotplug
+ (fate#304731,bnc#401740).
+- patches.arch/acpi-dock-add-type-sysfs-file-for-dock.patch:
+ add 'type' sysfs file for dock (fate#304731,bnc#401740).
+- patches.fixes/acpi_use_acpi_exception.patch: ACPI dock/bay:
+ Use ACPI_EXCEPTION instead of printk(KERN_ERR.
+* Fri Sep 26 2008 jeffm(a)suse.de
+- Update config files: NFS_SWAP=y
+* Fri Sep 26 2008 ptesarik(a)suse.cz
+- patches.suse/rwlocks-enable-interrupts: Allow rwlocks to
+ re-enable interrupts (bnc#387784).
+- patches.arch/ia64-rwlocks-enable-interrupts: ia64: re-enable
+ interrupts when waiting for a rwlock (bnc#387784).
+* Fri Sep 26 2008 sjayaraman(a)suse.de
+- Add Swap over NFS patchset.
+- Adjust patches.xen/xen3-auto-common.diff to avoid conflict on skbuff.h
+ as both xen and swap-over-nfs want to add some bits to the skbuff structure.
+- patches.suse/SoN-01-mm-gfp-to-alloc_flags.patch: mm:
+ gfp_to_alloc_flags() (FATE#303834).
+- patches.suse/SoN-02-mm-setup_per_zone_pages_min.patch: mm:
+ serialize access to min_free_kbytes (FATE#303834).
+- patches.suse/SoN-03-doc.patch: swap over network documentation
+ (FATE#303834).
+- patches.suse/SoN-04-mm-gfp-to-alloc_flags-expose.patch: mm:
+ expose gfp_to_alloc_flags() (FATE#303834).
+- patches.suse/SoN-05-page_alloc-reserve.patch: mm: tag reseve
+ pages (FATE#303834).
+- patches.suse/SoN-06-reserve-slub.patch: mm: slb: add knowledge
+ of reserve pages (FATE#303834).
+- patches.suse/SoN-07-mm-kmem_estimate_pages.patch: mm:
+ kmem_alloc_estimate() (FATE#303834).
+- patches.suse/SoN-08-mm-PF_MEMALLOC-softirq.patch: mm: allow
+ PF_MEMALLOC from softirq context (FATE#303834).
+- patches.suse/SoN-09-mm-page_alloc-emerg.patch: mm: emergency
+ pool (FATE#303834).
+- patches.suse/SoN-10-global-ALLOC_NO_WATERMARKS.patch: mm:
+ system wide ALLOC_NO_WATERMARK (FATE#303834).
+- patches.suse/SoN-11-mm-page_alloc-GFP_EMERGENCY.patch: mm:
+ __GFP_MEMALLOC (FATE#303834).
+- patches.suse/SoN-12-mm-reserve.patch: mm: memory reserve
+ management (FATE#303834).
+- patches.suse/SoN-13-mm-selinux-emergency.patch: selinux:
+ tag avc cache alloc as non-critical (FATE#303834).
+- patches.suse/SoN-14-net-backlog.patch: net: wrap
+ sk->sk_backlog_rcv() (FATE#303834).
+- patches.suse/SoN-15-net-ps_rx.patch: net: packet split receive
+ api (FATE#303834).
+- patches.suse/SoN-16-net-sk_allocation.patch: net:
+ sk_allocation() - concentrate socket related allocations
+ (FATE#303834).
+- patches.suse/SoN-17-netvm-reserve.patch: netvm: network reserve
+ infrastructure (FATE#303834).
+- patches.suse/SoN-18-netvm-reserve-inet.patch: netvm: INET
+ reserves. (FATE#303834).
+- patches.suse/SoN-19-netvm-skbuff-reserve.patch: netvm: hook
+ skb allocation to reserves (FATE#303834).
+- patches.suse/SoN-20-netvm-sk_filter.patch: netvm: filter
+ emergency skbs. (FATE#303834).
+- patches.suse/SoN-21-netvm-tcp-deadlock.patch: netvm: prevent
+ a stream specific deadlock (FATE#303834).
+- patches.suse/SoN-22-emergency-nf_queue.patch: netfilter:
+ NF_QUEUE vs emergency skbs (FATE#303834).
+- patches.suse/SoN-23-netvm.patch: netvm: skb processing
+ (FATE#303834).
+- patches.suse/SoN-24-mm-swapfile.patch: mm: add support for
+ non block device backed swap files (FATE#303834).
+- patches.suse/SoN-25-mm-page_file_methods.patch: mm: methods
+ for teaching filesystems about PG_swapcache pages (FATE#303834).
+- patches.suse/SoN-26-nfs-swapcache.patch: nfs: teach the NFS
+ client how to treat PG_swapcache pages (FATE#303834).
+- patches.suse/SoN-27-nfs-swapper.patch: nfs: disable data cache
+ revalidation for swapfiles (FATE#303834).
+- patches.suse/SoN-28-nfs-swap_ops.patch: nfs: enable swap on NFS
+ (FATE#303834).
+- patches.suse/SoN-29-nfs-alloc-recursions.patch: nfs: fix various
+ memory recursions possible with swap over NFS. (FATE#303834).
+- patches.xen/xen3-auto-common.diff: xen3 common.
+* Fri Sep 26 2008 ptesarik(a)suse.cz
+- split patches.arch/s390-01-01-self-ptrace-v3.patch to make it
+ more obvious that the patch is not constrained to s390.
+ The new series is:
+ patches.suse/self-ptrace.patch: the generic pieces
+ patches.arch/x86-self-ptrace.patch: implementation for x86
+ patches.arch/s390-01-01-self-ptrace-v3.patch: dtto for s390
+* Thu Sep 25 2008 jbeulich(a)novell.com
+- Update Xen patches to 2.6.27-rc7 and c/s 676.
+* Thu Sep 25 2008 olh(a)suse.de
+- add patches.arch/ppc64-rpanote-relocate-firmware.patch
+ update RPA note for firmware relocation (bnc#427960 - LTC48297)
+* Wed Sep 24 2008 jblunck(a)suse.de
+ This adds some tracepoint instrumentation taken from the LTTng patch
+ series. Tracepoints are enabled for kernel-debug and kernel-trace only. I
+ disabled ftrace for all flavors except kernel-debug and kernel-trace as well.
+- Update config files.
+- rpm/kernel-source.spec.in,kernel-binary.spec.in, config.conf: Add trace
+ flavor
+- patches.fixes/ia64-sparse-fixes.diff: ia64-kvm: fix sparse
+ warnings.
+- patches.xen/xen3-fixup-common: rediff
+- patches.xen/xen3-auto-common.diff: rediff
+- patches.xen/xen3-patch-2.6.21: rediff
+- patches.xen/xen3-patch-2.6.26: rediff
+- patches.trace/rcu-read-sched.patch
+- patches.trace/markers-use-rcu-read-lock-sched.patch
+- patches.trace/tracepoints.patch
+- patches.trace/tracepoints-use-table-size-macro.patch
+- patches.trace/tracepoints-documentation.patch
+- patches.trace/tracepoints-tracepoint-synchronize-unregister.patch
+- patches.trace/tracepoints-documentation-fix-teardown.patch
+- patches.trace/tracepoints-samples.patch
+- patches.trace/tracepoints-samples-fix-teardown.patch
+- patches.trace/lttng-instrumentation-irq.patch
+- patches.trace/lttng-instrumentation-scheduler.patch
+- patches.trace/lttng-instrumentation-timer.patch
+- patches.trace/lttng-instrumentation-kernel.patch
+- patches.trace/lttng-instrumentation-filemap.patch
+- patches.trace/lttng-instrumentation-swap.patch
+- patches.trace/lttng-instrumentation-memory.patch
+- patches.trace/lttng-instrumentation-page_alloc.patch
+- patches.trace/lttng-instrumentation-hugetlb.patch
+- patches.trace/lttng-instrumentation-net.patch
+- patches.trace/lttng-instrumentation-ipv4.patch
+- patches.trace/lttng-instrumentation-ipv6.patch
+- patches.trace/lttng-instrumentation-socket.patch
+- patches.trace/lttng-instrumentation-fs.patch
+- patches.trace/lttng-instrumentation-ipc.patch
+- patches.trace/ftrace-port-to-tracepoints.patch
+- patches.trace/ftrace-framepointer.diff
+* Tue Sep 23 2008 jjolly(a)suse.de
+- patches.arch/s390-01-03-cmm2-v2.patch: kernel (new function):
+ Collaborative Memory Management Stage II (bnc#417244)
+- patches.xen/xen3-auto-common.diff: Modified patch to allow for
+ the new patch
+* Tue Sep 23 2008 jeffm(a)suse.de
+- rpm/kernel-binary.spec.in: Enable sparse checking and section
+ mismatch checking.
+* Tue Sep 23 2008 jeffm(a)suse.de
+- patches.kernel.org/arch-include-asm-fixes: kbuild: Properly
+ handle arch/$arch/include/asm (bnc#427473).
+* Mon Sep 22 2008 jeffm(a)suse.de
+- patches.fixes/ext2-avoid-printk-flood-with-dir-corruption:
+ ext2: Avoid printk floods in the face of directory corruption
+ (bnc#427244 CVE-2008-3528).
+- patches.fixes/ext3-avoid-printk-flood-with-dir-corruption:
+ ext3: Avoid printk floods in the face of directory corruption
+ (bnc#427244 CVE-2008-3528).
+* Mon Sep 22 2008 jeffm(a)suse.de
+- Update to 2.6.27-rc7.
+ - Eliminated 2 patches.
+ - patches.arch/s390-01-04-fcpperf-4.patch: Fixed up context.
+* Mon Sep 22 2008 trenn(a)suse.de
+ Workaround for ThinkPad brightness switching:
+- patches.arch/acpi_video_thinkpad_exclude_IGD_devices.patch:
+ Do not use video backlight switching for Lenovo ThinkPads.
+ Commented out for now, possibly to be included later
+- patches.drivers/cpufreq_add_cpu_number_paramater_1.patch:
+ cpufreq: Add a cpu parameter to __cpufreq_driver_getavg()..
+- patches.drivers/cpufreq_add_idle_microaccounting_6.patch:
+ cpufreq,ondemand: Use get_cpu_idle_time_us() to get
+ micro-accounted idle information.
+- patches.drivers/cpufreq_change_load_calculation_2.patch:
+ cpufreq, ondemand: Change the load calculation, optimizing
+ for dependent cpus.
+- patches.drivers/cpufreq_changes_to_get_cpu_idle_us_5.patch:
+ export get_cpu_idle_time_us() .
+- patches.drivers/cpufreq_get_cpu_idle_time_changes_3.patch:
+ cpufreq,ondemand: Prepare changes for doing micro-accounting.
+- patches.drivers/cpufreq_parameterize_down_differential_4.patch:
+ cpufreq, ondemand: Use a parameter for down differential.
+ Added CONFIG_PCIEASPM for rt, xen, powerpc and IA64 to be more
+ consistent across different kernel flavors as suggested on the
+ kernel list:
+- Update config files.
+* Mon Sep 22 2008 hare(a)suse.de
+- patches.drivers/open-fcoe-libfc: Fix build error on IA64.
+- patches.fixes/scsi-terminate-target-reset: Target reset hangs
+ (bnc#427267).
+- supported.conf: Update to include supported SCSI adapters.
+* Fri Sep 19 2008 jbeulich(a)novell.com
+- patches.suse/no-frame-pointer-select: Re-enable after removing FTRACE
+ related change.
+- Update x86 non-debug config files: Turn off FRAME_POINTER and FTRACE.
+* Fri Sep 19 2008 neilb(a)suse.de
+- patches.fixes/md-Allow-metadata_version-to-be-updated-for-externa.patch:
+ md: Allow metadata_version to be updated for externally managed
+ metadata. (FATE#304218).
+- patches.fixes/md-Don-t-try-to-set-an-array-to-read-auto-if-it-i.patch:
+ md: Don't try to set an array to 'read-auto' if it is already
+ in that state. (FATE#304218).
+* Thu Sep 18 2008 jbeulich(a)novell.com
+- patches.suse/no-frame-pointer-select: Disable.
+- Re-enable CONFIG_FRAME_POINTER in x86 config files.
+* Thu Sep 18 2008 jbeulich(a)novell.com
+- Update i386 and x86-64 config files (disable CONFIG_FRAME_POINTER in
+ non-debug configs).
+- patches.suse/stack-unwind: Add missing put_cpu()-s for x86-64.
+- patches.suse/no-frame-pointer-select: Fix stack unwinder Kconfig
+ (bnc#402518).
+* Thu Sep 18 2008 hare(a)suse.de
+- Update config files.
+- patches.drivers/open-fcoe-driver: fcoe: Fibre Channel over
+ Ethernet driver (FATE#303913).
+- patches.drivers/open-fcoe-libfc: libfc: a modular software
+ Fibre Channel implementation (FATE#303913).
+- patches.drivers/open-fcoe-header-files: FC protocol definition
+ header files (FATE#303913).
+- patches.drivers/open-fcoe-dcb-support: FCoE: Add DCB support
+ (FATE#303913).
+- patches.drivers/ixgbe-fcoe-bugfixes: ixgbe: Bugfixes for FCoE.
+- patches.fixes/vlan-gso-size-fix: vlan: device not reading gso
+ max size of parent. (FATE#303913).
+- patches.fixes/pkt_action-skbedit: pkt_action: add new action
+ skbedit.
+- patches.fixes/pkt_sched_multiq_support: pkt_sched: Add
+ multiqueue scheduler support (FATE#303913).
+- supported.conf: Update to include FCoE and device_handler
+ modules
+* Wed Sep 17 2008 jbeulich(a)novell.com
+- supported.conf: adjust name of ide-cd (is now ide-cd_mod).
+* Wed Sep 17 2008 hare(a)suse.de
+- patches.drivers/qla2xxx-defer-risc-interrupt-enablement:
+ qla2xxx: Defer enablement of RISC interrupts until ISP
+ initialization completes (FATE#304113).
+- patches.drivers/qla2xxx-8.02.01-k8-update: Update qla2xxx to
+ 8.02.01-k8 (FATE#304113).
+* Wed Sep 17 2008 hare(a)suse.de
+- patches.fixes/scsi-retry-hardware-error: make scsi_check_sense
+ HARDWARE_ERROR return ADD_TO_MLQUEUE on retry (FATE#304042)
+* Tue Sep 16 2008 olh(a)suse.de
+- disable CONFIG_SPARSEMEM_VMEMMAP on ppc64 to allow memory remove
+ (bnc#417537)
+* Mon Sep 15 2008 jkosina(a)suse.de
+- Update config files (build elousb driver as module)
+- patches.drivers/elousb.patch: Elo USB touchscreen driver
+ (FATE#304972).
+* Mon Sep 15 2008 hare(a)suse.de
+- patches.fixes/dm-mpath-abort-queue: Abort queued requests for
+ multipath (FATE#304151).
* Mon Sep 15 2008 hare(a)suse.de
- Update config files: Disable CONFIG_OCFS2_COMPAT_JBD
* Mon Sep 15 2008 hare(a)suse.de
++++++ kernel-trace.spec ++++++
++++ 23735 lines (skipped)
++++++ kernel-vanilla.spec ++++++
--- /var/tmp/diff_new_pack.o25057/_old 2008-09-29 18:09:45.000000000 +0200
+++ /var/tmp/diff_new_pack.o25057/_new 2008-09-29 18:09:45.000000000 +0200
@@ -30,7 +30,6 @@
%define build_xen 0
%define build_um 0
%define build_vanilla 0
-%define build_nomodules 0
%if %{build_flavor} == "kdump"
%define build_kdump 1
%endif
@@ -43,19 +42,18 @@
%if %{build_flavor} == "vanilla"
%define build_vanilla 1
%endif
-%if %{build_flavor} == "ps3"
-%define build_nomodules 1
-%endif
Name: kernel-vanilla
Summary: The Standard Kernel - without any SUSE patches
Version: 2.6.27
-Release: 7
+Release: 8
License: GPL v2 only
Group: System/Kernel
Url: http://www.kernel.org/
AutoReqProv: on
-BuildRequires: coreutils module-init-tools
+BuildRequires: coreutils module-init-tools sparse
+BuildRequires: fdupes
+Requires: kernel-vanilla-base = %version-%release
Requires(pre): coreutils awk
Requires(post): module-init-tools
# This Requires is wrong, because the post/postun scripts have a
@@ -68,6 +66,9 @@
Requires(post): perl-Bootloader
Requires(post): mkinitrd
Recommends: kerneloops
+%if ! %sles_version
+Recommends: kernel-vanilla-extra
+%endif
#!BuildIgnore: perl-Bootloader mkinitrd
%if ! 0%{?opensuse_bs}
BuildRequires: kernel-dummy
@@ -148,7 +149,6 @@
Source32: config-subst
Source33: check-for-config-changes
Source34: check-supported-list
-Source35: install-configs
Source38: kabi-checks
Source40: build-source-timestamp
Source41: built-in-where
@@ -168,6 +168,7 @@
Source109: patches.kernel.org.tar.bz2
Source110: patches.apparmor.tar.bz2
Source111: patches.rt.tar.bz2
+Source112: patches.trace.tar.bz2
Source120: kabi.tar.bz2
%define my_builddir %_builddir/%{name}-%{version}
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -194,8 +195,21 @@
Obsoletes: rt2x00-kmp
Obsoletes: rfswitch-kmp
Obsoletes: uvcvideo-kmp
-%(chmod +x %_sourcedir/{arch-symbols,guards,config-subst,check-for-config-changes,check-supported-list,built-in-where,find-provides,make-symsets,modversions,kabi-checks,install-configs})
+%(chmod +x %_sourcedir/{arch-symbols,guards,config-subst,check-for-config-changes,check-supported-list,built-in-where,find-provides,make-symsets,modversions,kabi-checks})
%define symbols %(set -- kernel-vanilla vanilla $(case vanilla in (rt|rt_*) echo RT ;; esac) $(%_sourcedir/arch-symbols %_target_cpu) $([ -e %_sourcedir/extra-symbols ] && cat %_sourcedir/extra-symbols) ; echo $*)
+%define subarch_flavor %(%_sourcedir/guards %symbols < %_sourcedir/config.conf | grep '/vanilla$')
+# Define some CONFIG variables as rpm macros as well. (rpm cannot handle
+# defining them all at once.)
+%define config_vars CONFIG_MODULES
+%{expand:%(eval "$(test -n "%subarch_flavor" && tar xfj %_sourcedir/config.tar.bz2 --to-stdout config/%subarch_flavor)"; for config in %config_vars; do echo "%%global $config ${!config:-n}"; done)}
+%if %build_vanilla || %CONFIG_MODULES != "y"
+%define split_packages 0
+%else
+%define split_packages 1
+%endif
+# Build with bash instead of sh as the shell: this turns on bash
+# extensions like <(...).
+%define _buildshell /bin/bash
# Provide the exported symbols as "ksym(symbol) = hash"
%define __find_provides %_sourcedir/find-provides %name
# Will modules not listed in supported.conf abort the kernel build (0/1)?
@@ -210,7 +224,7 @@
-Source Timestamp: 2008-09-15 10:58:05 +0200
+Source Timestamp: 2008-09-29 15:31:19 +0200
%prep
if ! [ -e %_sourcedir/linux-2.6.26.tar.bz2 ]; then
@@ -220,16 +234,21 @@
fi
echo "Architecture symbol(s):" %symbols
# Unpack all sources and patches
-%setup -q -c -T -a 0 -a 100 -a 101 -a 102 -a 103 -a 104 -a 105 -a 106 -a 107 -a 108 -a 109 -a 110 -a 111 -a 120
-# Generate the list of supported modules
-( %_sourcedir/guards %symbols < %_sourcedir/supported.conf
+%setup -q -c -T -a 0 -a 100 -a 101 -a 102 -a 103 -a 104 -a 105 -a 106 -a 107 -a 108 -a 109 -a 110 -a 111 -a 112 -a 120
+supported_conf() {
+ %_sourcedir/guards %symbols $* < %_sourcedir/supported.conf | sort -u
+}
+# Generate the list of modules to be marked as supported
+( supported_conf base
for how in external; do
- ( %_sourcedir/guards %symbols < %_sourcedir/supported.conf
- %_sourcedir/guards %symbols < %_sourcedir/supported.conf
- %_sourcedir/guards %symbols $how < %_sourcedir/supported.conf \
- ) | sort | uniq -u | sed -e 's:$: '"$how"':'
+ comm -2 -3 <(supported_conf base $how) <(supported_conf base) \
+ | sed -e 's:$: '"$how"':'
done
-) | sed -e 's,.*/,,' | sort > linux-2.6.26/Module.supported
+) | sed -e 's,.*/,,' -e 's,\.ko$,,' > linux-2.6.26/Module.supported
+# Create grep pattern file for the modules to end up in the base package
+comm -2 -3 <(supported_conf base) <(supported_conf) \
+ | sed -e 's:.*/::' -e 's:^:\\/:' -e 's:$:\.ko$:' \
+ > %my_builddir/grep-for-base-modules
cd linux-2.6.26
# Find out for which architecture to build. We do this here, and use the
# result in the %build and %install sections.
@@ -237,10 +256,7 @@
# On architectures with a bi-arch or cross compiler, we can compile for
# an architecture different from %arch. The location of the config file
# tells us for which architecture to compile.
-set -- $(
- for config in $(%_sourcedir/guards %symbols < %_sourcedir/config.conf) ; do
- [ ${config#*/} = vanilla ] && echo $config
- done)
+set -- %subarch_flavor
if [ $# -ne 1 ]; then
echo "$# config files found for this spec file (but one needed)" >&2
exit 1
@@ -270,9 +286,9 @@
if [ -f %_sourcedir/localversion ] ; then
cat %_sourcedir/localversion > localversion
fi
-%_sourcedir/install-configs %_sourcedir .. $RELEASE
-config=arch/$subarch/defconfig.vanilla
-cat $config \
+cat ../config/%subarch_flavor \
+| %_sourcedir/config-subst CONFIG_LOCALVERSION '"'-$RELEASE-vanilla'"' \
+| %_sourcedir/config-subst CONFIG_SUSE_KERNEL y \
%if 0%{?__debug_package:1}
| %_sourcedir/config-subst CONFIG_DEBUG_INFO y \
%endif
@@ -292,13 +308,14 @@
EOF
%endif
cat >> ../.rpm-defs <<EOF
-KERNELRELEASE=2.6.27-rc6-$RELEASE-vanilla
+KERNELRELEASE=2.6.27-rc7-$RELEASE-vanilla
EOF
%if 0%{?__debug_package:1}
cat >> ../.rpm-defs <<EOF
MAKE_ARGS="\$MAKE_ARGS CONFIG_DEBUG_INFO=y"
EOF
%endif
+echo CONFIG_MODULES=%CONFIG_MODULES >> ../.rpm-defs
%build
source .rpm-defs
@@ -333,7 +350,7 @@
export KBUILD_SYMTYPES=1
EOF
source .kernel-binary.spec.buildenv
-make %{?jobs:-j%jobs} all $MAKE_ARGS
+make %{?jobs:-j%jobs} all $MAKE_ARGS CONFIG_DEBUG_SECTION_MISMATCH=y
%install
source .rpm-defs
@@ -428,13 +445,16 @@
sed -e "s:@KERNELRELEASE@:$KERNELRELEASE:g" \
-e "s:@IMAGE@:$image:g" \
-e "s:@FLAVOR""@:vanilla:g" \
- %_sourcedir/pre.sh > ../pre.sh
-( cat %_sourcedir/functions.sh
+ %_sourcedir/pre.sh > ../pre-base.sh
+for sub in '-base' '' '-extra'; do
+ ( cat %_sourcedir/functions.sh
sed -e "s:@KERNELRELEASE@:$KERNELRELEASE:g" \
-e "s:@IMAGE@:$image:g" \
-e "s:@FLAVOR""@:vanilla:g" \
+ -e "s:@SUBPACKAGE@:kernel-vanilla$sub:g" \
%_sourcedir/post.sh
-) > ../post.sh
+ ) > ../post$sub.sh
+done
( cat %_sourcedir/functions.sh
sed -e "s:@KERNELRELEASE@:$KERNELRELEASE:g" \
-e "s:@IMAGE@:$image:g" \
@@ -447,18 +467,16 @@
ln -s $image$suffix %buildroot/boot/$image$suffix
ln -s initrd$suffix %buildroot/boot/initrd$suffix
cp .config %buildroot/boot/config-$KERNELRELEASE
-%if ! %build_nomodules
+gzip -c9 < Module.symvers > %buildroot/boot/symvers-$KERNELRELEASE.gz
+if [ $CONFIG_MODULES = y ]; then
make modules_install $MAKE_ARGS INSTALL_MOD_PATH=%buildroot
-%endif
-if ! %_sourcedir/check-supported-list \
+ if ! %_sourcedir/check-supported-list \
%_sourcedir %buildroot/lib/modules/$KERNELRELEASE; then
%if %supported_modules_check
exit 1
%endif
echo "Consistency check error: please update supported.conf."
-fi
-gzip -c9 < Module.symvers > %buildroot/boot/symvers-$KERNELRELEASE.gz
-if grep -q '^CONFIG_MODULES=y$' .config; then
+ fi
# Preserve exports from previous kernels when possible.
old_symsets=%my_builddir/kabi/$SUBARCH/symsets-vanilla.tar.gz
[ -e $old_symsets ] || old_symsets=
@@ -472,42 +490,41 @@
%buildroot/boot/symsets-$KERNELRELEASE.tar.gz \
$old_symsets ||
[ -n "$ignore_kabi_changes" -o %tolerate_kabi_changes -ge 8 ]
-fi
-# Also put the resulting file in $obj_dir/$SUBARCH/vanilla
-# so that kernel-source + kernel-vanilla is sufficient for building
-# modules that have modversions as well.
-obj_dir=usr/src/linux-${KERNELRELEASE%%-vanilla}-obj
-mkdir -p %buildroot/$obj_dir/$SUBARCH/vanilla
-cp Module.symvers %buildroot/$obj_dir/$SUBARCH/vanilla
-# Table of types used in exported symbols (for modversion debugging).
-%_sourcedir/modversions --pack . > %buildroot/boot/symtypes-$KERNELRELEASE
-if [ -s %buildroot/boot/symtypes-$KERNELRELEASE ]; then
+ # Also put the resulting file in $obj_dir/$SUBARCH/vanilla
+ # so that kernel-source + kernel-vanilla is sufficient for building
+ # modules that have modversions as well.
+ obj_dir=usr/src/linux-${KERNELRELEASE%%-vanilla}-obj
+ mkdir -p %buildroot/$obj_dir/$SUBARCH/vanilla
+ cp Module.symvers %buildroot/$obj_dir/$SUBARCH/vanilla
+ # Table of types used in exported symbols (for modversion debugging).
+ %_sourcedir/modversions --pack . > %buildroot/boot/symtypes-$KERNELRELEASE
+ if [ -s %buildroot/boot/symtypes-$KERNELRELEASE ]; then
gzip -9 %buildroot/boot/symtypes-$KERNELRELEASE
-else
+ else
rm -f %buildroot/boot/symtypes-$KERNELRELEASE
-fi
-# Some architecture's $(uname -m) output is different from the ARCH
-# parameter that needs to be passed to kbuild. Create symlinks from
-# $(uname -m) to the ARCH directory.
-[ -e %buildroot/$obj_dir/%_target_cpu ] \
+ fi
+ # Some architecture's $(uname -m) output is different from the ARCH
+ # parameter that needs to be passed to kbuild. Create symlinks from
+ # $(uname -m) to the ARCH directory.
+ [ -e %buildroot/$obj_dir/%_target_cpu ] \
|| ln -sf $SUBARCH %buildroot/$obj_dir/%_target_cpu
%ifarch ppc ppc64
-[ -e %buildroot/$obj_dir/ppc ] \
+ [ -e %buildroot/$obj_dir/ppc ] \
|| ln -s $SUBARCH %buildroot/$obj_dir/ppc
-[ -e %buildroot/$obj_dir/ppc64 ] \
+ [ -e %buildroot/$obj_dir/ppc64 ] \
|| ln -s $SUBARCH %buildroot/$obj_dir/ppc64
%endif
-# Check for kABI changes
-KABI=0
-if [ -e %my_builddir/kabi/$SUBARCH/symvers-vanilla ]; then
+ # Check for kABI changes
+ KABI=0
+ if [ -e %my_builddir/kabi/$SUBARCH/symvers-vanilla ]; then
%_sourcedir/kabi-checks \
%my_builddir/kabi/$SUBARCH/symvers-vanilla \
Module.symvers \
%my_builddir/kabi/commonsyms \
%my_builddir/kabi/usedsyms \
|| KABI=$?
-fi
-if [ $KABI -gt %tolerate_kabi_changes ]; then
+ fi
+ if [ $KABI -gt %tolerate_kabi_changes ]; then
echo "kABI changes of badness $KABI exceed the maximum allowed badness" \
"of %tolerate_kabi_changes. Please try to avoid the kABI changes."
if [ ! -e %my_builddir/kabi/$SUBARCH/ignore-vanilla -a \
@@ -519,68 +536,194 @@
fi
# Indicate the ABI badness in build result emails.
echo "KABI BADNESS $KABI" > %_rpmdir/%_arch/mbuild_subject.tag
-fi
-if [ $KABI -ge 8 ]; then
+ fi
+ if [ $KABI -ge 8 ]; then
echo "To find out which types have changed relative to the reference" \
"symbols, diff the symtypes.gz files of the reference kernel" \
"against the symtypes.gz file from this build."
-fi
-# We were building in %my_builddir/linux-2.6.26, but the sources will
-# later be installed in /usr/src/linux-2.6.26-%source_rel. Fix up the
-# build symlink.
-# need to fake modules directory to satisfy scripts
-%if %build_nomodules
-mkdir -p %buildroot/lib/modules/$KERNELRELEASE/
-%endif
-rm -f %buildroot/lib/modules/$KERNELRELEASE/{source,build}
-ln -s /usr/src/linux-${KERNELRELEASE%%-vanilla} \
+ fi
+ # We were building in %my_builddir/linux-2.6.26, but the sources will
+ # later be installed in /usr/src/linux-2.6.26-%source_rel. Fix up the
+ # build symlink.
+ rm -f %buildroot/lib/modules/$KERNELRELEASE/{source,build}
+ ln -s /usr/src/linux-${KERNELRELEASE%%-vanilla} \
%buildroot/lib/modules/$KERNELRELEASE/source
-ln -s /$obj_dir/$SUBARCH/vanilla \
+ ln -s /$obj_dir/$SUBARCH/vanilla \
%buildroot/lib/modules/$KERNELRELEASE/build
-# Abort if there are any undefined symbols
-msg="$(/sbin/depmod -F %buildroot/boot/System.map-$KERNELRELEASE \
+ # Abort if there are any undefined symbols
+ msg="$(/sbin/depmod -F %buildroot/boot/System.map-$KERNELRELEASE \
-b %buildroot -ae $KERNELRELEASE 2>&1)"
-if [ $? -ne 0 ] || echo "$msg" | grep 'needs unknown symbol'; then
+ if [ $? -ne 0 ] || echo "$msg" | grep 'needs unknown symbol'; then
exit 1
-fi
-# Create a dummy initrd with roughly the size the real one will have.
-# That way, YaST will know that this package requires some additional
-# space in /boot.
-dd if=/dev/zero of=%buildroot/boot/initrd-$KERNELRELEASE \
+ fi
+ # Create a dummy initrd with roughly the size the real one will have.
+ # That way, YaST will know that this package requires some additional
+ # space in /boot.
+ dd if=/dev/zero of=%buildroot/boot/initrd-$KERNELRELEASE \
bs=1024 seek=2047 count=1
-# Collect the file list.
+%if %split_packages
+ # Generate the lists of supported and unsupported modules.
+ ( cd %buildroot
+ for module in $(find lib/modules/$KERNELRELEASE -type f -name '*.ko'); do
+ case "$(/sbin/modinfo -F supported $module)" in
+ (yes|external)
+ echo "/$module" >> %my_builddir/supported-modules
+ ;;
+ (*)
+ echo "/$module" >> %my_builddir/unsupported-modules
+ ;;
+ esac
+ done
+ )
+ add_dependent_modules() {
+ local modules_dep=$1
+ xargs make -rRs -f <(echo -e '%:\n\t@echo $@' ; cat $modules_dep)
+ }
+ modules_dep=%buildroot/lib/modules/$KERNELRELEASE/modules.dep
+ # Make sure that no supported modules depend on any unsupported modules.
+ dependent_unsupported_modules=$(
+ comm -3 <(sort %my_builddir/supported-modules) \
+ <(cat %my_builddir/supported-modules \
+ | add_dependent_modules $modules_dep \
+ | sort))
+ if [ -n "$dependent_unsupported_modules" ]; then
+ echo "The following unsupported modules are used by supported modules:"
+ echo "$dependent_unsupported_modules"
+ echo "Please fix supported.conf."
+ exit 1
+ fi
+ # Compute the list of base modules: modules that core modules depend on
+ # implicitly are also core modules.
+ grep -f %my_builddir/grep-for-base-modules %my_builddir/supported-modules \
+ | add_dependent_modules $modules_dep > %my_builddir/base-modules
+ # All supported modules which are not core modules belong in kernel-kernel-vanilla.
+ comm -3 <(sort %my_builddir/supported-modules) \
+ <(sort %my_builddir/base-modules) \
+ > %my_builddir/main-modules
+%else
+ ( cd %buildroot
+ find lib/modules/$KERNELRELEASE -type f -name '*.ko' -printf '/%%p\n'
+ ) > %my_builddir/base-modules
+%endif
+ # Set up some module aliases
+ install -d -m 755 %buildroot/etc/modprobe.d/
+ install -m 644 %_sourcedir/module-renames %buildroot/etc/modprobe.d/
+fi
+add_dirs_to_filelist() {
+ local filelist
+ filelist=$(cat)
+ echo "$filelist"
+ # Below, we do this:
+ # - remove filelist macros
+ # - remove last pathname component
+ # - generate all parents and make the list unique
+ # - skip directories owned be other packages
+ # - add the %dir prefix (double-escaped for find and rpm)
+ echo "$filelist" \
+ | sed -re 's:%%%%[a-z]+(\([^)]+\))? ?::g' \
+ | sed -re 's:/[^/]+$::' \
+ | sed -nre ':a; p; s:/[^/]+$::; ta' \
+ | sort -u \
+ | sed -r -e '\:^(|/boot|/etc|/lib(/modules|/firmware)?|/usr(/src)?)$:d' \
+ | sed -e 's:^:%%%%dir :'
+}
+# Collect the file lists.
( cd %buildroot
- echo "%%defattr(-, root, root)"
+ echo "%%%%defattr(-, root, root)"
find boot \
- \( -type l -o -name 'initrd-*' \) -printf '%%%%ghost /%%p\n' -o \
+ \( -type l -o -name 'initrd-*' \) -printf '%%%%%%%%ghost /%%p\n' -o \
-type f -printf '/%%p\n'
+ if [ $CONFIG_MODULES = y ]; then
find lib/modules/$KERNELRELEASE \
- -type d -printf '%%%%dir /%%p\n' -o \
- -path '*/modules.*' -printf '%%%%ghost /%%p\n' -o \
- -printf '/%%p\n'
- test -d lib/firmware && \
- find lib/firmware/$KERNELRELEASE \
- -type d -printf '%%%%dir /%%p\n' -o \
- -path '*/modules.*' -printf '%%%%ghost /%%p\n' -o \
+ -type d -o \
+ -path '*/modules.*' -printf '%%%%%%%%ghost /%%p\n' -o \
+ -name '*.ko' -prune -o \
-printf '/%%p\n'
+ cat %my_builddir/base-modules
+ echo '%%%%config /etc/modprobe.d/module-renames'
find $obj_dir \
- -type d -printf '%%%%dir /%%p\n' -o \
+ -type d -o \
+ -printf '/%%p\n'
+ fi
+ test -d lib/firmware/$KERNELRELEASE && \
+ find lib/firmware/$KERNELRELEASE \
+ -type d -o \
-printf '/%%p\n'
- echo '%%dir /etc/modprobe.d/'
- echo '%%config /etc/modprobe.d/module-renames'
if [ -e .%_docdir/%name ]; then
- echo "%%doc %_docdir/%name"
+ echo "%%%%doc %_docdir/%name"
fi
-) > %my_builddir/kernel.files
-# Set up some module aliases
-install -d -m 755 %buildroot/etc/modprobe.d/
-install -m 644 %_sourcedir/module-renames %buildroot/etc/modprobe.d/
-
-%pre -f pre.sh
+) | add_dirs_to_filelist > %my_builddir/kernel-base.files
+%if %split_packages
+ ( echo "%%%%defattr(-, root, root)"
+ cat %my_builddir/main-modules
+ ) | add_dirs_to_filelist > %my_builddir/kernel-main.files
+ ( echo "%%%%defattr(-, root, root)"
+ cat %my_builddir/unsupported-modules
+ ) | add_dirs_to_filelist > %my_builddir/kernel-extra.files
+%endif
+# Hardlink duplicate files automatically (from package fdupes): It doesn't safe
+# much, but it keeps rpmlint from breaking the package build.
+%fdupes $RPM_BUILD_ROOT
+cd %my_builddir # it helps if rpm can find the file lists ...
%post -f post.sh
%postun -f postun.sh
+%if %split_packages
-%files -f kernel.files
+%files -f kernel-main.files
+%else
+
+%files -f kernel-base.files
+%endif
+%package -n kernel-vanilla-base
+Summary: The Standard Kernel - without any SUSE patches
+License: GPL v2 only
+Group: System/Kernel
+Url: http://www.kernel.org/
+AutoReqProv: on
+Requires(pre): coreutils awk
+Requires(post): module-init-tools
+Requires(post): perl-Bootloader
+Requires(post): mkinitrd
+
+%description -n kernel-vanilla-base
+The standard kernel - without any SUSE patches
+
+
+
+Source Timestamp: 2008-09-29 15:31:19 +0200
+
+%pre -n kernel-vanilla-base -f pre-base.sh
+
+%post -n kernel-vanilla-base -f post-base.sh
+%if %split_packages
+
+%files -n kernel-vanilla-base -f kernel-base.files
+%endif
+
+%package -n kernel-vanilla-extra
+Summary: The Standard Kernel - without any SUSE patches
+License: GPL v2 only
+Group: System/Kernel
+Url: http://www.kernel.org/
+AutoReqProv: on
+Requires: kernel-vanilla = %version-%release
+Requires(pre): coreutils awk
+Requires(post): module-init-tools
+Requires(post): perl-Bootloader
+Requires(post): mkinitrd
+
+%description -n kernel-vanilla-extra
+The standard kernel - without any SUSE patches
+
+
+
+Source Timestamp: 2008-09-29 15:31:19 +0200
+
+%post -n kernel-vanilla-extra -f post-extra.sh
+%if %split_packages
+
+%files -n kernel-vanilla-extra -f kernel-extra.files
+%endif
++++++ kernel-xen.spec ++++++
--- /var/tmp/diff_new_pack.o25057/_old 2008-09-29 18:09:45.000000000 +0200
+++ /var/tmp/diff_new_pack.o25057/_new 2008-09-29 18:09:45.000000000 +0200
@@ -30,7 +30,6 @@
%define build_xen 0
%define build_um 0
%define build_vanilla 0
-%define build_nomodules 0
%if %{build_flavor} == "kdump"
%define build_kdump 1
%endif
@@ -43,19 +42,18 @@
%if %{build_flavor} == "vanilla"
%define build_vanilla 1
%endif
-%if %{build_flavor} == "ps3"
-%define build_nomodules 1
-%endif
Name: kernel-xen
Summary: The Xen Kernel
Version: 2.6.27
-Release: 5
+Release: 6
License: GPL v2 only
Group: System/Kernel
Url: http://www.kernel.org/
AutoReqProv: on
-BuildRequires: coreutils module-init-tools
+BuildRequires: coreutils module-init-tools sparse
+BuildRequires: fdupes
+Requires: kernel-xen-base = %version-%release
Requires(pre): coreutils awk
Requires(post): module-init-tools
# This Requires is wrong, because the post/postun scripts have a
@@ -68,6 +66,9 @@
Requires(post): perl-Bootloader
Requires(post): mkinitrd
Recommends: kerneloops
+%if ! %sles_version
+Recommends: kernel-xen-extra
+%endif
#!BuildIgnore: perl-Bootloader mkinitrd
%if ! 0%{?opensuse_bs}
BuildRequires: kernel-dummy
@@ -134,7 +135,6 @@
Source32: config-subst
Source33: check-for-config-changes
Source34: check-supported-list
-Source35: install-configs
Source38: kabi-checks
Source40: build-source-timestamp
Source41: built-in-where
@@ -154,6 +154,7 @@
Source109: patches.kernel.org.tar.bz2
Source110: patches.apparmor.tar.bz2
Source111: patches.rt.tar.bz2
+Source112: patches.trace.tar.bz2
Source120: kabi.tar.bz2
%define my_builddir %_builddir/%{name}-%{version}
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -180,8 +181,21 @@
Obsoletes: rt2x00-kmp
Obsoletes: rfswitch-kmp
Obsoletes: uvcvideo-kmp
-%(chmod +x %_sourcedir/{arch-symbols,guards,config-subst,check-for-config-changes,check-supported-list,built-in-where,find-provides,make-symsets,modversions,kabi-checks,install-configs})
+%(chmod +x %_sourcedir/{arch-symbols,guards,config-subst,check-for-config-changes,check-supported-list,built-in-where,find-provides,make-symsets,modversions,kabi-checks})
%define symbols %(set -- kernel-xen xen $(case xen in (rt|rt_*) echo RT ;; esac) $(%_sourcedir/arch-symbols %_target_cpu) $([ -e %_sourcedir/extra-symbols ] && cat %_sourcedir/extra-symbols) ; echo $*)
+%define subarch_flavor %(%_sourcedir/guards %symbols < %_sourcedir/config.conf | grep '/xen$')
+# Define some CONFIG variables as rpm macros as well. (rpm cannot handle
+# defining them all at once.)
+%define config_vars CONFIG_MODULES
+%{expand:%(eval "$(test -n "%subarch_flavor" && tar xfj %_sourcedir/config.tar.bz2 --to-stdout config/%subarch_flavor)"; for config in %config_vars; do echo "%%global $config ${!config:-n}"; done)}
+%if %build_vanilla || %CONFIG_MODULES != "y"
+%define split_packages 0
+%else
+%define split_packages 1
+%endif
+# Build with bash instead of sh as the shell: this turns on bash
+# extensions like <(...).
+%define _buildshell /bin/bash
# Provide the exported symbols as "ksym(symbol) = hash"
%define __find_provides %_sourcedir/find-provides %name
# Will modules not listed in supported.conf abort the kernel build (0/1)?
@@ -199,7 +213,7 @@
-Source Timestamp: 2008-09-15 10:58:05 +0200
+Source Timestamp: 2008-09-29 15:31:19 +0200
%prep
if ! [ -e %_sourcedir/linux-2.6.26.tar.bz2 ]; then
@@ -209,16 +223,21 @@
fi
echo "Architecture symbol(s):" %symbols
# Unpack all sources and patches
-%setup -q -c -T -a 0 -a 100 -a 101 -a 102 -a 103 -a 104 -a 105 -a 106 -a 107 -a 108 -a 109 -a 110 -a 111 -a 120
-# Generate the list of supported modules
-( %_sourcedir/guards %symbols < %_sourcedir/supported.conf
+%setup -q -c -T -a 0 -a 100 -a 101 -a 102 -a 103 -a 104 -a 105 -a 106 -a 107 -a 108 -a 109 -a 110 -a 111 -a 112 -a 120
+supported_conf() {
+ %_sourcedir/guards %symbols $* < %_sourcedir/supported.conf | sort -u
+}
+# Generate the list of modules to be marked as supported
+( supported_conf base
for how in external; do
- ( %_sourcedir/guards %symbols < %_sourcedir/supported.conf
- %_sourcedir/guards %symbols < %_sourcedir/supported.conf
- %_sourcedir/guards %symbols $how < %_sourcedir/supported.conf \
- ) | sort | uniq -u | sed -e 's:$: '"$how"':'
+ comm -2 -3 <(supported_conf base $how) <(supported_conf base) \
+ | sed -e 's:$: '"$how"':'
done
-) | sed -e 's,.*/,,' | sort > linux-2.6.26/Module.supported
+) | sed -e 's,.*/,,' -e 's,\.ko$,,' > linux-2.6.26/Module.supported
+# Create grep pattern file for the modules to end up in the base package
+comm -2 -3 <(supported_conf base) <(supported_conf) \
+ | sed -e 's:.*/::' -e 's:^:\\/:' -e 's:$:\.ko$:' \
+ > %my_builddir/grep-for-base-modules
cd linux-2.6.26
# Find out for which architecture to build. We do this here, and use the
# result in the %build and %install sections.
@@ -226,10 +245,7 @@
# On architectures with a bi-arch or cross compiler, we can compile for
# an architecture different from %arch. The location of the config file
# tells us for which architecture to compile.
-set -- $(
- for config in $(%_sourcedir/guards %symbols < %_sourcedir/config.conf) ; do
- [ ${config#*/} = xen ] && echo $config
- done)
+set -- %subarch_flavor
if [ $# -ne 1 ]; then
echo "$# config files found for this spec file (but one needed)" >&2
exit 1
@@ -259,9 +275,9 @@
if [ -f %_sourcedir/localversion ] ; then
cat %_sourcedir/localversion > localversion
fi
-%_sourcedir/install-configs %_sourcedir .. $RELEASE
-config=arch/$subarch/defconfig.xen
-cat $config \
+cat ../config/%subarch_flavor \
+| %_sourcedir/config-subst CONFIG_LOCALVERSION '"'-$RELEASE-xen'"' \
+| %_sourcedir/config-subst CONFIG_SUSE_KERNEL y \
%if 0%{?__debug_package:1}
| %_sourcedir/config-subst CONFIG_DEBUG_INFO y \
%endif
@@ -281,13 +297,14 @@
EOF
%endif
cat >> ../.rpm-defs <<EOF
-KERNELRELEASE=2.6.27-rc6-$RELEASE-xen
+KERNELRELEASE=2.6.27-rc7-$RELEASE-xen
EOF
%if 0%{?__debug_package:1}
cat >> ../.rpm-defs <<EOF
MAKE_ARGS="\$MAKE_ARGS CONFIG_DEBUG_INFO=y"
EOF
%endif
+echo CONFIG_MODULES=%CONFIG_MODULES >> ../.rpm-defs
%build
source .rpm-defs
@@ -322,7 +339,7 @@
export KBUILD_SYMTYPES=1
EOF
source .kernel-binary.spec.buildenv
-make %{?jobs:-j%jobs} all $MAKE_ARGS
+make %{?jobs:-j%jobs} all $MAKE_ARGS CONFIG_DEBUG_SECTION_MISMATCH=y
%install
source .rpm-defs
@@ -417,13 +434,16 @@
sed -e "s:@KERNELRELEASE@:$KERNELRELEASE:g" \
-e "s:@IMAGE@:$image:g" \
-e "s:@FLAVOR""@:xen:g" \
- %_sourcedir/pre.sh > ../pre.sh
-( cat %_sourcedir/functions.sh
+ %_sourcedir/pre.sh > ../pre-base.sh
+for sub in '-base' '' '-extra'; do
+ ( cat %_sourcedir/functions.sh
sed -e "s:@KERNELRELEASE@:$KERNELRELEASE:g" \
-e "s:@IMAGE@:$image:g" \
-e "s:@FLAVOR""@:xen:g" \
+ -e "s:@SUBPACKAGE@:kernel-xen$sub:g" \
%_sourcedir/post.sh
-) > ../post.sh
+ ) > ../post$sub.sh
+done
( cat %_sourcedir/functions.sh
sed -e "s:@KERNELRELEASE@:$KERNELRELEASE:g" \
-e "s:@IMAGE@:$image:g" \
@@ -436,18 +456,16 @@
ln -s $image$suffix %buildroot/boot/$image$suffix
ln -s initrd$suffix %buildroot/boot/initrd$suffix
cp .config %buildroot/boot/config-$KERNELRELEASE
-%if ! %build_nomodules
+gzip -c9 < Module.symvers > %buildroot/boot/symvers-$KERNELRELEASE.gz
+if [ $CONFIG_MODULES = y ]; then
make modules_install $MAKE_ARGS INSTALL_MOD_PATH=%buildroot
-%endif
-if ! %_sourcedir/check-supported-list \
+ if ! %_sourcedir/check-supported-list \
%_sourcedir %buildroot/lib/modules/$KERNELRELEASE; then
%if %supported_modules_check
exit 1
%endif
echo "Consistency check error: please update supported.conf."
-fi
-gzip -c9 < Module.symvers > %buildroot/boot/symvers-$KERNELRELEASE.gz
-if grep -q '^CONFIG_MODULES=y$' .config; then
+ fi
# Preserve exports from previous kernels when possible.
old_symsets=%my_builddir/kabi/$SUBARCH/symsets-xen.tar.gz
[ -e $old_symsets ] || old_symsets=
@@ -461,42 +479,41 @@
%buildroot/boot/symsets-$KERNELRELEASE.tar.gz \
$old_symsets ||
[ -n "$ignore_kabi_changes" -o %tolerate_kabi_changes -ge 8 ]
-fi
-# Also put the resulting file in $obj_dir/$SUBARCH/xen
-# so that kernel-source + kernel-xen is sufficient for building
-# modules that have modversions as well.
-obj_dir=usr/src/linux-${KERNELRELEASE%%-xen}-obj
-mkdir -p %buildroot/$obj_dir/$SUBARCH/xen
-cp Module.symvers %buildroot/$obj_dir/$SUBARCH/xen
-# Table of types used in exported symbols (for modversion debugging).
-%_sourcedir/modversions --pack . > %buildroot/boot/symtypes-$KERNELRELEASE
-if [ -s %buildroot/boot/symtypes-$KERNELRELEASE ]; then
+ # Also put the resulting file in $obj_dir/$SUBARCH/xen
+ # so that kernel-source + kernel-xen is sufficient for building
+ # modules that have modversions as well.
+ obj_dir=usr/src/linux-${KERNELRELEASE%%-xen}-obj
+ mkdir -p %buildroot/$obj_dir/$SUBARCH/xen
+ cp Module.symvers %buildroot/$obj_dir/$SUBARCH/xen
+ # Table of types used in exported symbols (for modversion debugging).
+ %_sourcedir/modversions --pack . > %buildroot/boot/symtypes-$KERNELRELEASE
+ if [ -s %buildroot/boot/symtypes-$KERNELRELEASE ]; then
gzip -9 %buildroot/boot/symtypes-$KERNELRELEASE
-else
+ else
rm -f %buildroot/boot/symtypes-$KERNELRELEASE
-fi
-# Some architecture's $(uname -m) output is different from the ARCH
-# parameter that needs to be passed to kbuild. Create symlinks from
-# $(uname -m) to the ARCH directory.
-[ -e %buildroot/$obj_dir/%_target_cpu ] \
+ fi
+ # Some architecture's $(uname -m) output is different from the ARCH
+ # parameter that needs to be passed to kbuild. Create symlinks from
+ # $(uname -m) to the ARCH directory.
+ [ -e %buildroot/$obj_dir/%_target_cpu ] \
|| ln -sf $SUBARCH %buildroot/$obj_dir/%_target_cpu
%ifarch ppc ppc64
-[ -e %buildroot/$obj_dir/ppc ] \
+ [ -e %buildroot/$obj_dir/ppc ] \
|| ln -s $SUBARCH %buildroot/$obj_dir/ppc
-[ -e %buildroot/$obj_dir/ppc64 ] \
+ [ -e %buildroot/$obj_dir/ppc64 ] \
|| ln -s $SUBARCH %buildroot/$obj_dir/ppc64
%endif
-# Check for kABI changes
-KABI=0
-if [ -e %my_builddir/kabi/$SUBARCH/symvers-xen ]; then
+ # Check for kABI changes
+ KABI=0
+ if [ -e %my_builddir/kabi/$SUBARCH/symvers-xen ]; then
%_sourcedir/kabi-checks \
%my_builddir/kabi/$SUBARCH/symvers-xen \
Module.symvers \
%my_builddir/kabi/commonsyms \
%my_builddir/kabi/usedsyms \
|| KABI=$?
-fi
-if [ $KABI -gt %tolerate_kabi_changes ]; then
+ fi
+ if [ $KABI -gt %tolerate_kabi_changes ]; then
echo "kABI changes of badness $KABI exceed the maximum allowed badness" \
"of %tolerate_kabi_changes. Please try to avoid the kABI changes."
if [ ! -e %my_builddir/kabi/$SUBARCH/ignore-xen -a \
@@ -508,68 +525,204 @@
fi
# Indicate the ABI badness in build result emails.
echo "KABI BADNESS $KABI" > %_rpmdir/%_arch/mbuild_subject.tag
-fi
-if [ $KABI -ge 8 ]; then
+ fi
+ if [ $KABI -ge 8 ]; then
echo "To find out which types have changed relative to the reference" \
"symbols, diff the symtypes.gz files of the reference kernel" \
"against the symtypes.gz file from this build."
-fi
-# We were building in %my_builddir/linux-2.6.26, but the sources will
-# later be installed in /usr/src/linux-2.6.26-%source_rel. Fix up the
-# build symlink.
-# need to fake modules directory to satisfy scripts
-%if %build_nomodules
-mkdir -p %buildroot/lib/modules/$KERNELRELEASE/
-%endif
-rm -f %buildroot/lib/modules/$KERNELRELEASE/{source,build}
-ln -s /usr/src/linux-${KERNELRELEASE%%-xen} \
+ fi
+ # We were building in %my_builddir/linux-2.6.26, but the sources will
+ # later be installed in /usr/src/linux-2.6.26-%source_rel. Fix up the
+ # build symlink.
+ rm -f %buildroot/lib/modules/$KERNELRELEASE/{source,build}
+ ln -s /usr/src/linux-${KERNELRELEASE%%-xen} \
%buildroot/lib/modules/$KERNELRELEASE/source
-ln -s /$obj_dir/$SUBARCH/xen \
+ ln -s /$obj_dir/$SUBARCH/xen \
%buildroot/lib/modules/$KERNELRELEASE/build
-# Abort if there are any undefined symbols
-msg="$(/sbin/depmod -F %buildroot/boot/System.map-$KERNELRELEASE \
+ # Abort if there are any undefined symbols
+ msg="$(/sbin/depmod -F %buildroot/boot/System.map-$KERNELRELEASE \
-b %buildroot -ae $KERNELRELEASE 2>&1)"
-if [ $? -ne 0 ] || echo "$msg" | grep 'needs unknown symbol'; then
+ if [ $? -ne 0 ] || echo "$msg" | grep 'needs unknown symbol'; then
exit 1
-fi
-# Create a dummy initrd with roughly the size the real one will have.
-# That way, YaST will know that this package requires some additional
-# space in /boot.
-dd if=/dev/zero of=%buildroot/boot/initrd-$KERNELRELEASE \
+ fi
+ # Create a dummy initrd with roughly the size the real one will have.
+ # That way, YaST will know that this package requires some additional
+ # space in /boot.
+ dd if=/dev/zero of=%buildroot/boot/initrd-$KERNELRELEASE \
bs=1024 seek=2047 count=1
-# Collect the file list.
+%if %split_packages
+ # Generate the lists of supported and unsupported modules.
+ ( cd %buildroot
+ for module in $(find lib/modules/$KERNELRELEASE -type f -name '*.ko'); do
+ case "$(/sbin/modinfo -F supported $module)" in
+ (yes|external)
+ echo "/$module" >> %my_builddir/supported-modules
+ ;;
+ (*)
+ echo "/$module" >> %my_builddir/unsupported-modules
+ ;;
+ esac
+ done
+ )
+ add_dependent_modules() {
+ local modules_dep=$1
+ xargs make -rRs -f <(echo -e '%:\n\t@echo $@' ; cat $modules_dep)
+ }
+ modules_dep=%buildroot/lib/modules/$KERNELRELEASE/modules.dep
+ # Make sure that no supported modules depend on any unsupported modules.
+ dependent_unsupported_modules=$(
+ comm -3 <(sort %my_builddir/supported-modules) \
+ <(cat %my_builddir/supported-modules \
+ | add_dependent_modules $modules_dep \
+ | sort))
+ if [ -n "$dependent_unsupported_modules" ]; then
+ echo "The following unsupported modules are used by supported modules:"
+ echo "$dependent_unsupported_modules"
+ echo "Please fix supported.conf."
+ exit 1
+ fi
+ # Compute the list of base modules: modules that core modules depend on
+ # implicitly are also core modules.
+ grep -f %my_builddir/grep-for-base-modules %my_builddir/supported-modules \
+ | add_dependent_modules $modules_dep > %my_builddir/base-modules
+ # All supported modules which are not core modules belong in kernel-kernel-xen.
+ comm -3 <(sort %my_builddir/supported-modules) \
+ <(sort %my_builddir/base-modules) \
+ > %my_builddir/main-modules
+%else
+ ( cd %buildroot
+ find lib/modules/$KERNELRELEASE -type f -name '*.ko' -printf '/%%p\n'
+ ) > %my_builddir/base-modules
+%endif
+ # Set up some module aliases
+ install -d -m 755 %buildroot/etc/modprobe.d/
+ install -m 644 %_sourcedir/module-renames %buildroot/etc/modprobe.d/
+fi
+add_dirs_to_filelist() {
+ local filelist
+ filelist=$(cat)
+ echo "$filelist"
+ # Below, we do this:
+ # - remove filelist macros
+ # - remove last pathname component
+ # - generate all parents and make the list unique
+ # - skip directories owned be other packages
+ # - add the %dir prefix (double-escaped for find and rpm)
+ echo "$filelist" \
+ | sed -re 's:%%%%[a-z]+(\([^)]+\))? ?::g' \
+ | sed -re 's:/[^/]+$::' \
+ | sed -nre ':a; p; s:/[^/]+$::; ta' \
+ | sort -u \
+ | sed -r -e '\:^(|/boot|/etc|/lib(/modules|/firmware)?|/usr(/src)?)$:d' \
+ | sed -e 's:^:%%%%dir :'
+}
+# Collect the file lists.
( cd %buildroot
- echo "%%defattr(-, root, root)"
+ echo "%%%%defattr(-, root, root)"
find boot \
- \( -type l -o -name 'initrd-*' \) -printf '%%%%ghost /%%p\n' -o \
+ \( -type l -o -name 'initrd-*' \) -printf '%%%%%%%%ghost /%%p\n' -o \
-type f -printf '/%%p\n'
+ if [ $CONFIG_MODULES = y ]; then
find lib/modules/$KERNELRELEASE \
- -type d -printf '%%%%dir /%%p\n' -o \
- -path '*/modules.*' -printf '%%%%ghost /%%p\n' -o \
- -printf '/%%p\n'
- test -d lib/firmware && \
- find lib/firmware/$KERNELRELEASE \
- -type d -printf '%%%%dir /%%p\n' -o \
- -path '*/modules.*' -printf '%%%%ghost /%%p\n' -o \
+ -type d -o \
+ -path '*/modules.*' -printf '%%%%%%%%ghost /%%p\n' -o \
+ -name '*.ko' -prune -o \
-printf '/%%p\n'
+ cat %my_builddir/base-modules
+ echo '%%%%config /etc/modprobe.d/module-renames'
find $obj_dir \
- -type d -printf '%%%%dir /%%p\n' -o \
+ -type d -o \
+ -printf '/%%p\n'
+ fi
+ test -d lib/firmware/$KERNELRELEASE && \
+ find lib/firmware/$KERNELRELEASE \
+ -type d -o \
-printf '/%%p\n'
- echo '%%dir /etc/modprobe.d/'
- echo '%%config /etc/modprobe.d/module-renames'
if [ -e .%_docdir/%name ]; then
- echo "%%doc %_docdir/%name"
+ echo "%%%%doc %_docdir/%name"
fi
-) > %my_builddir/kernel.files
-# Set up some module aliases
-install -d -m 755 %buildroot/etc/modprobe.d/
-install -m 644 %_sourcedir/module-renames %buildroot/etc/modprobe.d/
-
-%pre -f pre.sh
+) | add_dirs_to_filelist > %my_builddir/kernel-base.files
+%if %split_packages
+ ( echo "%%%%defattr(-, root, root)"
+ cat %my_builddir/main-modules
+ ) | add_dirs_to_filelist > %my_builddir/kernel-main.files
+ ( echo "%%%%defattr(-, root, root)"
+ cat %my_builddir/unsupported-modules
+ ) | add_dirs_to_filelist > %my_builddir/kernel-extra.files
+%endif
+# Hardlink duplicate files automatically (from package fdupes): It doesn't safe
+# much, but it keeps rpmlint from breaking the package build.
+%fdupes $RPM_BUILD_ROOT
+cd %my_builddir # it helps if rpm can find the file lists ...
%post -f post.sh
%postun -f postun.sh
+%if %split_packages
+
+%files -f kernel-main.files
+%else
+
+%files -f kernel-base.files
+%endif
+
+%package -n kernel-xen-base
+Summary: The Xen Kernel - base modules
+License: GPL v2 only
+Group: System/Kernel
+Url: http://www.kernel.org/
+AutoReqProv: on
+Requires(pre): coreutils awk
+Requires(post): module-init-tools
+Requires(post): perl-Bootloader
+Requires(post): mkinitrd
+
+%description -n kernel-xen-base
+The Linux kernel for Xen paravirtualization.
+
+This kernel can be used both as the domain0 ("xen0") and as an
+unprivileged ("xenU") kernel.
+
+This package contains only the base modules, required in all installs.
+
+
+
+Source Timestamp: 2008-09-29 15:31:19 +0200
+
+%pre -n kernel-xen-base -f pre-base.sh
+
+%post -n kernel-xen-base -f post-base.sh
+%if %split_packages
+
+%files -n kernel-xen-base -f kernel-base.files
+%endif
+
+%package -n kernel-xen-extra
+Summary: The Xen Kernel - extra modules
+License: GPL v2 only
+Group: System/Kernel
+Url: http://www.kernel.org/
+AutoReqProv: on
+Requires: kernel-xen = %version-%release
+Requires(pre): coreutils awk
+Requires(post): module-init-tools
+Requires(post): perl-Bootloader
+Requires(post): mkinitrd
-%files -f kernel.files
+%description -n kernel-xen-extra
+The Linux kernel for Xen paravirtualization.
+
+This kernel can be used both as the domain0 ("xen0") and as an
+unprivileged ("xenU") kernel.
+
+This package contains additional modules not supported by Novell.
+
+
+Source Timestamp: 2008-09-29 15:31:19 +0200
+
+%post -n kernel-xen-extra -f post-extra.sh
+%if %split_packages
+
+%files -n kernel-xen-extra -f kernel-extra.files
+%endif
++++++ build-source-timestamp ++++++
--- kernel-source/build-source-timestamp 2008-09-15 11:56:49.000000000 +0200
+++ /mounts/work_src_done/STABLE/kernel-source/build-source-timestamp 2008-09-29 15:34:30.842586000 +0200
@@ -1 +1 @@
-2008-09-15 10:58:05 +0200
+2008-09-29 15:31:19 +0200
++++++ config.conf ++++++
--- kernel-source/config.conf 2008-09-15 11:56:57.000000000 +0200
+++ /mounts/work_src_done/STABLE/kernel-source/config.conf 2008-09-29 15:34:32.891865000 +0200
@@ -4,38 +4,33 @@
+IA32 i386/default
+IA32 i386/pae
+IA32 i386/debug
-#+IA32 i386/um
+IA32 i386/xen
+IA32 i386/vanilla
-#+IA32 i386/rt
-#+IA32 i386/rt_debug
++IA32 - i386/rt
++IA32 - i386/rt_debug
++IA32 i386/trace
+ia64 ia64/default
+ia64 ia64/debug
+ia64 ia64/vanilla
++ia64 ia64/trace
+x86_64 x86_64/default
-#+x86_64 x86_64/um
+x86_64 x86_64/xen
+x86_64 x86_64/debug
+x86_64 x86_64/vanilla
-#+x86_64 x86_64/rt
-#+x86_64 x86_64/rt_debug
-##+x86_64 x86_64/rt_timing
-
-
-#+alpha alpha/default
-#+alpha alpha/vanilla
++x86_64 - x86_64/rt
++x86_64 - x86_64/rt_debug
++x86_64 - x86_64/rt_timing
++x86_64 x86_64/trace
+PPC powerpc/default
+PPC powerpc/ppc64
+PPC powerpc/kdump
+PPC powerpc/vanilla
-#+PPC powerpc/rt
++PPC - powerpc/rt
+PPC powerpc/ps3
+s390 s390/s390
+s390x s390/default
+s390x s390/vanilla
-
-#+parisc parisc/default
++++++ config.tar.bz2 ++++++
++++ 38141 lines of diff (skipped)
++++++ get_release_number.sh ++++++
--- kernel-source/get_release_number.sh 2008-09-15 11:56:58.000000000 +0200
+++ /mounts/work_src_done/STABLE/kernel-source/get_release_number.sh 2008-09-29 15:34:33.267488000 +0200
@@ -1,5 +1,5 @@
#! /bin/sh
-prefix=rc6.
+prefix=rc7.
suffix=
if [ "$3" = kernel-dummy -o -n "$suffix" ]; then
[ -n "$suffix" ] || suffix=$2
++++++ kabi.tar.bz2 ++++++
++++++ needed_space_in_mb ++++++
--- kernel-source/needed_space_in_mb 2008-09-15 14:21:13.000000000 +0200
+++ /mounts/work_src_done/STABLE/kernel-source/needed_space_in_mb 2008-09-29 15:34:40.176742000 +0200
@@ -1 +1 @@
-6000
+6144
++++++ patches.addon.tar.bz2 ++++++
++++++ patches.apparmor.tar.bz2 ++++++
++++++ patches.arch.tar.bz2 ++++++
++++ 7662 lines of diff (skipped)
++++++ patches.drivers.tar.bz2 ++++++
++++ 71612 lines of diff (skipped)
++++++ patches.fixes.tar.bz2 ++++++
++++ 2110 lines of diff (skipped)
++++++ patches.kernel.org.tar.bz2 ++++++
kernel-source/patches.kernel.org.tar.bz2 /mounts/work_src_done/STABLE/kernel-source/patches.kernel.org.tar.bz2 differ: byte 11, line 1
++++++ patches.rpmify.tar.bz2 ++++++
++++++ patches.rt.tar.bz2 ++++++
++++++ patches.suse.tar.bz2 ++++++
++++ 8111 lines of diff (skipped)
++++++ patches.uml.tar.bz2 ++++++
++++++ patches.xen.tar.bz2 ++++++
++++ 29776 lines of diff (skipped)
++++++ post.sh ++++++
--- kernel-source/post.sh 2008-09-15 11:56:57.000000000 +0200
+++ /mounts/work_src_done/STABLE/kernel-source/post.sh 2008-09-29 15:34:32.912843000 +0200
@@ -26,27 +26,29 @@
esac
fi
-echo Setting up /lib/modules/@KERNELRELEASE@
-suffix=
-case @FLAVOR@ in
- kdump|ps3|um|xen*)
- suffix=-@FLAVOR@
- ;;
-esac
-for x in /boot/@IMAGE@ /boot/initrd; do
- rm -f $x$suffix
- ln -s ${x##*/}-@KERNELRELEASE@ $x$suffix
-done
+if [ -e /lib/modules/@KERNELRELEASE@ ]; then
+ echo Setting up /lib/modules/@KERNELRELEASE@
+ suffix=
+ case @FLAVOR@ in
+ kdump|ps3|um|xen*)
+ suffix=-@FLAVOR@
+ ;;
+ esac
+ for x in /boot/@IMAGE@ /boot/initrd; do
+ rm -f $x$suffix
+ ln -s ${x##*/}-@KERNELRELEASE@ $x$suffix
+ done
-if [ -x /sbin/module_upgrade ]; then
- /sbin/module_upgrade --rename mptscsih="mptspi mptfc mptsas"
-fi
+ if [ -x /sbin/module_upgrade ]; then
+ /sbin/module_upgrade --rename mptscsih="mptspi mptfc mptsas"
+ fi
-# Add symlinks of compatible modules to /lib/modules/$krel/weak-updates/.
-if [ -x /usr/lib/module-init-tools/weak-modules ]; then
- /usr/lib/module-init-tools/weak-modules --add-kernel @KERNELRELEASE@
+ # Add symlinks of compatible modules to /lib/modules/$krel/weak-updates/.
+ if [ -x /usr/lib/module-init-tools/weak-modules ]; then
+ /usr/lib/module-init-tools/weak-modules --add-kernel @KERNELRELEASE@
+ fi
+ /sbin/depmod -a -F /boot/System.map-@KERNELRELEASE@ @KERNELRELEASE@
fi
-/sbin/depmod -a -F /boot/System.map-@KERNELRELEASE@ @KERNELRELEASE@
message_install_bl () {
echo "You may need to setup and install the boot loader using the"
@@ -54,6 +56,11 @@
}
run_bootloader () {
+ # Only create the bootloader entry when installing kernel-$flavor-base.
+ if [ @SUBPACKAGE@ != kernel-@FLAVOR@-base ]; then
+ return 1
+ fi
+
if [ -f /etc/sysconfig/bootloader ] &&
[ -f /boot/grub/menu.lst -o \
-f /etc/lilo.conf -o \
++++++ series.conf ++++++
--- kernel-source/series.conf 2008-09-15 11:56:43.000000000 +0200
+++ /mounts/work_src_done/STABLE/kernel-source/series.conf 2008-09-29 15:34:30.839585000 +0200
@@ -30,6 +30,7 @@
patches.kernel.org/patch-2.6.27-rc4
patches.kernel.org/patch-2.6.27-rc4-rc5
patches.kernel.org/patch-2.6.27-rc5-rc6
+ patches.kernel.org/patch-2.6.27-rc6-rc7
########################################################
# Build fixes that apply to the vanilla kernel too.
@@ -42,9 +43,10 @@
patches.kernel.org/ipmi-section-conflict.diff
patches.kernel.org/md-section-conflict
patches.kernel.org/spu_profiler-include
-+jeffm patches.kernel.org/ia64-asm-nr-irqs
patches.kernel.org/setup_APIC_timer-section-mismatch
patches.kernel.org/carmine-section-mismatch
+ patches.kernel.org/gdth-section-conflict
+ patches.kernel.org/arch-include-asm-fixes
########################################################
# kABI consistency patches
@@ -85,6 +87,8 @@
patches.suse/setuid-dumpable-wrongdir
patches.suse/sysctl-add-affinity_load_balancing
patches.fixes/seccomp-disable-tsc-option
+ patches.suse/self-ptrace.patch
+ patches.suse/rwlocks-enable-interrupts
########################################################
# Architecture-specific patches. These used to be all
@@ -98,6 +102,8 @@
########################################################
patches.arch/ia64-node_mem_map-node_start_pfn.diff
patches.arch/ia64-kdump_proc_iomem.diff
+ patches.fixes/ia64-sparse-fixes.diff
+ patches.arch/ia64-rwlocks-enable-interrupts
########################################################
# i386
@@ -122,6 +128,7 @@
patches.arch/x86-disable-broadcomm-boot-interrupt-generation.patch
patches.arch/x86-disable-AMD-ATI-boot-interrupt-generation.patch
patches.arch/x86-introduce-config-option-for-pci-reroute-quirks.patch
+ patches.arch/x86-self-ptrace.patch
########################################################
@@ -149,7 +156,7 @@
patches.arch/ppc-prom-nodisplay.patch
patches.fixes/ptrace-getsiginfo
patches.arch/ppc-ipic-suspend-without-83xx-fix
- patches.fixes/powerpc-dereference_function_descriptor-depends-on-CONFIG_MODULES
+ patches.arch/ppc64-rpanote-relocate-firmware.patch
########################################################
# PS3
@@ -165,7 +172,7 @@
patches.arch/s390-01-01-self-ptrace-v3.patch
patches.arch/s390-01-02-dcss-64-v2.patch
-+jjolly patches.arch/s390-01-03-cmm2.patch
+ patches.arch/s390-01-03-cmm2-v2.patch
patches.arch/s390-01-04-fcpperf-1.patch
patches.arch/s390-01-04-fcpperf-2.patch
patches.arch/s390-01-04-fcpperf-3.patch
@@ -223,7 +230,6 @@
patches.suse/acpi-dsdt-initrd-v0.9a-2.6.25.patch
patches.arch/acpi_thermal_passive_blacklist.patch
- patches.fixes/acpi_use_acpi_exception.patch
patches.fixes/acpi-clear-wake-status.patch
@@ -238,6 +244,35 @@
patches.arch/0008-sony-laptop-fingers-off-backlight.patch
patches.arch/0009-thinkpad_acpi-fingers-off-backlight.patch
patches.arch/thinkpad_fingers_off_backlight_igd.patch
+ patches.arch/acpi_video_thinkpad_exclude_IGD_devices.patch
+
+ patches.arch/acpi-dock-avoid-check-_STA-method.patch
+ patches.arch/acpi-dock-fix-eject-request-process.patch
+ patches.arch/acpi-dock-_LCK-support-for-dock.patch
+ patches.arch/acpi-dock-makeing-dock-driver-supports-bay-and-battery-hotplug.patch
+ patches.arch/acpi-dock-Fix-duplicate-notification-handler-register.patch
+ patches.arch/acpi-dock-fix-hotplug-race.patch
+ patches.arch/acpi-libata-hotplug-to-align-with-dock-driver.patch
+ patches.arch/acpi-dock-introduce-.uevent-for-devices-in-dock.patch
+ patches.arch/acpi-bay-remove-useless-code.patch
+ patches.arch/acpi-bay-remove-from-makefile
+ patches.arch/acpi-dock-fix-for-bay-in-a-dock-station.patch
+ patches.arch/acpi-dock-add-type-sysfs-file-for-dock.patch
+ patches.arch/acpi-export-hotplug_execute
+
+ patches.fixes/acpi_use_acpi_exception.patch
+
+ ########################################################
+ # CPUFREQ
+ ########################################################
+ # To be benchmarked (if time after late feature freeze):
++trenn patches.drivers/cpufreq_add_cpu_number_paramater_1.patch
++trenn patches.drivers/cpufreq_change_load_calculation_2.patch
++trenn patches.drivers/cpufreq_get_cpu_idle_time_changes_3.patch
++trenn patches.drivers/cpufreq_parameterize_down_differential_4.patch
++trenn patches.drivers/cpufreq_changes_to_get_cpu_idle_us_5.patch
++trenn patches.drivers/cpufreq_add_idle_microaccounting_6.patch
+
########################################################
# Suse specific stuff
########################################################
@@ -248,6 +283,9 @@
# Networking, IPv6
########################################################
patches.fixes/bridge-module-get-put.patch
+ patches.fixes/vlan-gso-size-fix
+ patches.fixes/pkt_sched_multiq_support
+ patches.fixes/pkt_action-skbedit
########################################################
# NFS
@@ -266,6 +304,8 @@
########################################################
patches.suse/ext3-barrier-default
patches.suse/ext2-fsync-err
+ patches.fixes/ext2-avoid-printk-flood-with-dir-corruption
+ patches.fixes/ext3-avoid-printk-flood-with-dir-corruption
########################################################
# ext4
@@ -437,13 +477,24 @@
#
########################################################
-+kkeil patches.drivers/e1000-7.6.9.2
-+kkeil patches.drivers/e1000-7.6.5-napi-tail.patch
-+kkeil patches.drivers/e1000-7.6.9.2-napi
patches.drivers/e1000e_add_82574L.patch
patches.drivers/e1000e_add_ICH9_BM.patch
patches.drivers/e1000e_add_LOM_devices.patch
+ # debug 425480
+ patches.suse/e1000e_Export_set_memory_ro-rw
+ patches.suse/e1000e_use_set_memory_ro-rw_to_protect_flash_memory
+ patches.suse/e1000e_reset_swflag_after_resetting_hardware
+ patches.suse/e1000e_do_not_ever_sleep_in_interrupt_context
+ patches.suse/e1000e_fix_lockdep_issues
+ patches.suse/e1000e_drop_stats_lock
+ patches.suse/e1000e_debug_contention_on_NVM_SWFLAG
+ patches.suse/e1000e_update_version
+ patches.suse/e1000e_allow_bad_checksum
+ patches.suse/e1000e_call_dump_eeprom
+ patches.suse/e1000e_mmap_range_chk
+
+ patches.drivers/ixgbe-fcoe-bugfixes
patches.drivers/sgi-uv-led
# Add support for Montevina hardware; series mainlined 2.6.26
@@ -466,9 +517,18 @@
patches.fixes/scsi-misc-git-update
patches.fixes/scsi-enhance-error-codes
+ patches.fixes/scsi-terminate-target-reset
+
+ # FCoE
+ patches.drivers/open-fcoe-header-files
+ patches.drivers/open-fcoe-libfc
+ patches.drivers/open-fcoe-driver
+ patches.drivers/open-fcoe-dcb-support
patches.drivers/lpfc-8.2.8-update
patches.drivers/lpfc-8.2.8.1-update
+ patches.drivers/qla2xxx-8.02.01-k8-update
+ patches.drivers/qla2xxx-defer-risc-interrupt-enablement
# patches.fixes/mptbase-vmware-fix
# Remaining SCSI patches (garloff)
@@ -491,7 +551,7 @@
########################################################
# iSCSI
########################################################
-+2.6.24 patches.fixes/libiscsi-iscsi_pool_free-api-change
+ patches.fixes/open-iscsi-git-update
########################################################
# PCI and PCI hotplug
@@ -519,6 +579,7 @@
########################################################
patches.suse/bootsplash
patches.fixes/input-add-amilo-pro-v-to-nomux.patch
+ patches.drivers/elousb.patch
##########################################################
# Sound
@@ -556,6 +617,16 @@
patches.suse/rq-based-block-layer
patches.suse/rq-based-dm-interface
patches.suse/rq-based-multipath-functions
+ patches.fixes/dm-mpath-abort-queue
+ patches.suse/rq-based-init-crash
+ patches.suse/dm-barrier-single-device
+
+ ########################################################
+ # md
+ ########################################################
+ patches.fixes/md-Allow-metadata_version-to-be-updated-for-externa.patch
+ patches.fixes/md-Don-t-try-to-set-an-array-to-read-auto-if-it-i.patch
+
##########################################################
#
@@ -637,6 +708,76 @@
########################################################
patches.suse/crasher-26.diff
patches.suse/stack-unwind
+ patches.suse/no-frame-pointer-select
+
+ ########################################################
+ # Tracing
+ ########################################################
+ # in tip/tracing/ftrace
+ patches.trace/rcu-read-sched.patch
+ patches.trace/markers-use-rcu-read-lock-sched.patch
+
+ # in tip/tracing/ftrace
+ patches.trace/tracepoints.patch
+ patches.trace/tracepoints-use-table-size-macro.patch
+ patches.trace/tracepoints-documentation.patch
+ patches.trace/tracepoints-tracepoint-synchronize-unregister.patch
+ patches.trace/tracepoints-documentation-fix-teardown.patch
+ patches.trace/tracepoints-samples.patch
+ patches.trace/tracepoints-samples-fix-teardown.patch
+
+ patches.trace/lttng-instrumentation-irq.patch
+ patches.trace/lttng-instrumentation-scheduler.patch
+ patches.trace/lttng-instrumentation-timer.patch
+ patches.trace/lttng-instrumentation-kernel.patch
+ patches.trace/lttng-instrumentation-filemap.patch
+ patches.trace/lttng-instrumentation-swap.patch
+ patches.trace/lttng-instrumentation-memory.patch
+ patches.trace/lttng-instrumentation-page_alloc.patch
+ patches.trace/lttng-instrumentation-hugetlb.patch
+ patches.trace/lttng-instrumentation-net.patch
+ patches.trace/lttng-instrumentation-ipv4.patch
+ patches.trace/lttng-instrumentation-ipv6.patch
+ patches.trace/lttng-instrumentation-socket.patch
+ patches.trace/lttng-instrumentation-fs.patch
+ patches.trace/lttng-instrumentation-ipc.patch
+
+ patches.trace/ftrace-port-to-tracepoints.patch
+ patches.trace/ftrace-framepointer.diff
+
+ ########################################################
+ # Swap over NFS
+ ########################################################
+
+ patches.suse/SoN-01-mm-gfp-to-alloc_flags.patch
+ patches.suse/SoN-02-mm-setup_per_zone_pages_min.patch
+ patches.suse/SoN-03-doc.patch
+ patches.suse/SoN-04-mm-gfp-to-alloc_flags-expose.patch
+ patches.suse/SoN-05-page_alloc-reserve.patch
+ patches.suse/SoN-06-reserve-slub.patch
+ patches.suse/SoN-07-mm-kmem_estimate_pages.patch
+ patches.suse/SoN-08-mm-PF_MEMALLOC-softirq.patch
+ patches.suse/SoN-09-mm-page_alloc-emerg.patch
+ patches.suse/SoN-10-global-ALLOC_NO_WATERMARKS.patch
+ patches.suse/SoN-11-mm-page_alloc-GFP_EMERGENCY.patch
+ patches.suse/SoN-12-mm-reserve.patch
+ patches.suse/SoN-13-mm-selinux-emergency.patch
+ patches.suse/SoN-14-net-backlog.patch
+ patches.suse/SoN-15-net-ps_rx.patch
+ patches.suse/SoN-16-net-sk_allocation.patch
+ patches.suse/SoN-17-netvm-reserve.patch
+ patches.suse/SoN-18-netvm-reserve-inet.patch
+ patches.suse/SoN-19-netvm-skbuff-reserve.patch
+ patches.suse/SoN-20-netvm-sk_filter.patch
+ patches.suse/SoN-21-netvm-tcp-deadlock.patch
+ patches.suse/SoN-22-emergency-nf_queue.patch
+ patches.suse/SoN-23-netvm.patch
+ patches.suse/SoN-24-mm-swapfile.patch
+ patches.suse/SoN-25-mm-page_file_methods.patch
+ patches.suse/SoN-26-nfs-swapcache.patch
+ patches.suse/SoN-27-nfs-swapper.patch
+ patches.suse/SoN-28-nfs-swap_ops.patch
+ patches.suse/SoN-29-nfs-alloc-recursions.patch
########################################################
# You'd better have a good reason for adding a patch
@@ -676,8 +817,9 @@
-RT patches.xen/linux-2.6.19-rc1-kexec-move_segment_code-i386.patch
-RT patches.xen/linux-2.6.19-rc1-kexec-move_segment_code-x86_64.patch
-RT patches.xen/ipv6-no-autoconf
-- patches.xen/sfc-driverlink
-- patches.xen/sfc-resource-driver
+-RT patches.xen/sfc-driverlink
+-RT patches.xen/sfc-resource-driver
+-RT patches.xen/sfc-driverlink-conditional
# bulk stuff, new files for xen
-RT patches.xen/xen3-auto-xen-arch.diff
@@ -715,6 +857,8 @@
-RT patches.xen/xen3-patch-2.6.27-rc3
-RT patches.xen/xen3-patch-2.6.27-rc3-rc4
-RT patches.xen/xen3-patch-2.6.27-rc4-rc5
+-RT patches.xen/xen3-patch-2.6.27-rc5-rc6
+-RT patches.xen/xen3-patch-2.6.27-rc6-rc7
-RT patches.xen/xen3-seccomp-disable-tsc-option
+andrea -RT patches.xen/xen3-silent-stack-overflow
-RT patches.xen/xen3-sysfs-crash-debugging.patch
@@ -740,8 +884,9 @@
-RT patches.xen/xen-x86_64-dump-user-pgt
-RT patches.xen/xen-blktap-write-barriers
-RT patches.xen/xen-x86-bigmem
--RT patches.xen/xen-msix-restore
-RT patches.xen/xen-scsifront-block-timeout-update
+-RT patches.xen/xen-rwlocks-enable-interrupts
+-RT patches.xen/xen-e1000e_Export_set_memory_ro-rw
#
# base tree: 2.6.23-rc4
++++++ source-post.sh ++++++
--- kernel-source/source-post.sh 2008-09-15 11:56:57.000000000 +0200
+++ /mounts/work_src_done/STABLE/kernel-source/source-post.sh 2008-09-29 15:34:32.907854000 +0200
@@ -1,20 +1,2 @@
-relink linux-@KERNELRELEASE@ /usr/src/linux
+relink linux-@KERNELRELEASE@@VARIANT@ /usr/src/linux@VARIANT@
relink linux-@KERNELRELEASE@-obj /usr/src/linux-obj
-
-if [ -e /.buildenv ]; then
- # Autobuild has a modified version of uname that reports a specific
- # kernel version if /.kernelversion exists.
- arch=$(echo %_target_cpu \
- | sed -e s/i.86/i386/ -e s/sun4u/sparc64/ \
- -e s/arm.*/arm/ -e s/sa110/arm/ \
- -e s/s390x/s390/ -e s/parisc64/parisc/ \
- -e s/ppc.*/powerpc/)
- flavor="$(
- cd /usr/src/linux-@KERNELRELEASE@/arch/$arch
- set -- defconfig.*
- [ -e defconfig.default ] && set -- defconfig.default
- echo ${1/defconfig.}
- )"
-
- echo @KERNELRELEASE@-$flavor > /.kernelversion
-fi
++++++ supported.conf ++++++
--- kernel-source/supported.conf 2008-09-15 11:56:57.000000000 +0200
+++ /mounts/work_src_done/STABLE/kernel-source/supported.conf 2008-09-29 15:34:32.903860000 +0200
@@ -1,3 +1,13 @@
+# Configuration of base modules (which are supported), regularly and
+# externally supported modules, and unsupported modules.
+# See series.conf for a list of symbols defined.
+#
+# Use "-" for unsupported modules, "+base" for modules for
+# kernel-$flavor-base, and "+external" for externally supported modules.
+#
+# Modules that a base module uses implicitly are also base modules,
+# but at least they need to be marked as supported here.
+
kernel/arch/i386/crypto/aes-i586 # Rijndael (AES) Cipher Algorithm (optimized for i586)
kernel/arch/i386/kernel/cpu/cpufreq/cpufreq-nforce2
kernel/arch/i386/kernel/cpu/cpufreq/gx-suspmod
@@ -66,7 +76,7 @@
kernel/drivers/acpi/thermal # ACPI Thermal Zone Driver
kernel/drivers/acpi/toshiba_acpi
kernel/drivers/acpi/video
- kernel/drivers/acpi/dock # Be careful: libata depends on it
++base kernel/drivers/acpi/dock # Be careful: libata depends on it
kernel/drivers/acpi/bay
kernel/drivers/acpi/acpi_memhotplug
kernel/drivers/thermal/thermal_sys # Generic Thermal Driver, compiled in for now
@@ -78,6 +88,21 @@
kernel/drivers/acpi/wmi
kernel/drivers/misc/hp-wmi
kernel/drivers/misc/hpilo
+ kernel/drivers/misc/enclosure
++base kernel/drivers/ata/ahci
++base kernel/drivers/ata/ata_piix # SCSI low-level driver for Intel PIIX/ICH ATA controllers
+ kernel/drivers/ata/sata_mv # Marvell SATA support
+ kernel/drivers/ata/sata_nv # low-level driver for NVIDIA nForce SATA controller
+ kernel/drivers/ata/sata_promise # Promise SATA low-level driver
+ kernel/drivers/ata/sata_qstor # Pacific Digital Corporation QStor SATA
+ kernel/drivers/ata/sata_sil # low-level driver for Silicon Image SATA controller
+ kernel/drivers/ata/sata_sil24 # Silicon Image SATA
+ kernel/drivers/ata/sata_sis # low-level driver for Silicon Integratad Systems SATA controller
+ kernel/drivers/ata/sata_svw # low-level driver for K2 SATA controller
+ kernel/drivers/ata/sata_sx4 # Promise SATA low-level driver
+ kernel/drivers/ata/sata_uli # low-level driver for ULi Electronics SATA controller
+ kernel/drivers/ata/sata_via # SCSI low-level driver for VIA SATA controllers
+ kernel/drivers/ata/sata_vsc # low-level driver for Vitesse VSC7174 SATA controller
kernel/drivers/ata/pata_pdc2027x # pSeries IDE hotplug
- kernel/drivers/atm/adummy
- kernel/drivers/atm/ambassador
@@ -102,7 +127,7 @@
kernel/drivers/block/cpqarray # Driver for Compaq Smart2 Array Controllers version 2.6.0
kernel/drivers/block/cryptoloop # loop blockdevice transferfunction adaptor / CryptoAPI
kernel/drivers/block/floppy
- kernel/drivers/block/loop
++base kernel/drivers/block/loop
kernel/drivers/block/loop_fish2
kernel/drivers/block/nbd # Network Block Device
- kernel/drivers/block/paride/aten
@@ -276,7 +301,7 @@
kernel/drivers/dump/dump_gzip
kernel/drivers/dump/dump_netdev
kernel/drivers/dump/dump_rle
- kernel/drivers/firmware/edd
++base kernel/drivers/firmware/edd
- kernel/drivers/hwmon/abituguru # Abit uGuru rev. 1 and 2
- kernel/drivers/hwmon/abituguru3 # Abit uGuru rev. 3
- kernel/drivers/hwmon/ad7418 # AD7416, AD7417, AD7418
@@ -349,20 +374,19 @@
kernel/drivers/i2c/busses/i2c-ali1563
kernel/drivers/i2c/busses/i2c-ali15x3 # ALI15X3 SMBus driver
kernel/drivers/i2c/busses/i2c-amd756 # AMD756/766/768/8111 and nVidia nForce SMBus driver
- kernel/drivers/i2c/busses/i2c-amd756-s4882
+ kernel/drivers/i2c/busses/i2c-amd756-s4882 # SMBus multiplexing, Tyan S4882
kernel/drivers/i2c/busses/i2c-amd8111 # AMD8111 SMBus 2.0 driver
kernel/drivers/i2c/busses/i2c-hydra
- kernel/drivers/i2c/busses/i2c-i801 # I801 SMBus driver
-- kernel/drivers/i2c/busses/i2c-i810 # I810/I815 I2C/DDC driver (deprecated)
+ kernel/drivers/i2c/busses/i2c-i801 # Intel 82801 SMBus driver
+ kernel/drivers/i2c/busses/i2c-isch # Intel SCH SMBus driver
kernel/drivers/i2c/busses/i2c-nforce2 # nForce2 SMBus driver
+ kernel/drivers/i2c/busses/i2c-nforce2-s4985 # SMBus multiplexing, Tyan S4985
kernel/drivers/i2c/busses/i2c-ocores
kernel/drivers/i2c/busses/i2c-parport # I2C bus over parallel port
kernel/drivers/i2c/busses/i2c-parport-light # I2C bus over parallel port (light)
kernel/drivers/i2c/busses/i2c-pca-isa # ISA base PCA9564 driver
- kernel/drivers/i2c/busses/i2c-piix4
++base kernel/drivers/i2c/busses/i2c-piix4
kernel/drivers/i2c/busses/i2c-powermac
-- kernel/drivers/i2c/busses/i2c-prosavage # ProSavage DDC driver (deprecated)
-- kernel/drivers/i2c/busses/i2c-savage4 # Savage4 DDC driver (deprecated)
kernel/drivers/i2c/busses/i2c-simtec
kernel/drivers/i2c/busses/i2c-sis5595 # SIS5595 SMBus driver
kernel/drivers/i2c/busses/i2c-sis630 # SIS630 SMBus driver
@@ -382,11 +406,11 @@
- kernel/drivers/i2c/chips/pcf8575 # PCF8575 GPIO driver (deprecated)
kernel/drivers/i2c/chips/pcf8591 # PCF8591 driver
kernel/drivers/i2c/chips/tsl2550 # Light sensor
- kernel/drivers/i2c/i2c-core # I2C-Bus main module
++base kernel/drivers/i2c/i2c-core # I2C-Bus main module
kernel/drivers/i2c/i2c-dev # I2C /dev entries driver
- kernel/drivers/ide/ide-cd
- kernel/drivers/ide/ide-core
- kernel/drivers/ide/ide-disk
+ kernel/drivers/ide/ide-cd_mod
++base kernel/drivers/ide/ide-core
++base kernel/drivers/ide/ide-disk
kernel/drivers/ide/ide-floppy
kernel/drivers/ide/ide-generic
+check kernel/drivers/ide/ide-tape # ATAPI Streaming TAPE Driver
@@ -537,9 +561,8 @@
- kernel/drivers/macintosh/mol/mol
- kernel/drivers/macintosh/mol/sheep
kernel/drivers/md/dm-crypt # device-mapper target for transparent encryption / decryption
- kernel/drivers/md/dm-emc # Multipath support for EMC CLARiiON AX/CX-series hardware
kernel/drivers/md/dm-mirror # device-mapper mirror target
- kernel/drivers/md/dm-mod # device-mapper driver
++base kernel/drivers/md/dm-mod # device-mapper driver
kernel/drivers/md/dm-multipath # device-mapper multipath target
kernel/drivers/md/dm-round-robin # Round-robin path selector
kernel/drivers/md/dm-snapshot # device-mapper snapshot target
@@ -779,7 +802,7 @@
kernel/drivers/net/8139cp # RealTek RTL-8139C+ series 10/100 PCI Ethernet driver
kernel/drivers/net/8139too # RealTek RTL-8139 Fast Ethernet driver
+isa kernel/drivers/net/82596
- kernel/drivers/net/8390
++base kernel/drivers/net/8390
+isa kernel/drivers/net/ac3200
kernel/drivers/net/acenic # AceNIC/3C985/GA620 Gigabit Ethernet driver
kernel/drivers/net/amd8111e # AMD8111 based 10/100 Ethernet Controller. Driver Version 3.0.3
@@ -868,6 +891,7 @@
+isa kernel/drivers/net/irda/w83977af_ir
kernel/drivers/net/iseries_veth
kernel/drivers/net/ixgb/ixgb # Intel(R) PRO/10GbE Network Driver
+ kernel/drivers/net/ixgbe/ixgbe # Intel(R) PRO/10GbE PCI Express Network Driver
+isa kernel/drivers/net/lance
+isa kernel/drivers/net/lp486e
kernel/drivers/net/mace
@@ -875,7 +899,7 @@
- kernel/drivers/net/mv643xx_eth # gigabit Pegasos2, all chips share the same MAC
kernel/drivers/net/natsemi # National Semiconductor DP8381x series PCI Ethernet driver
+isa kernel/drivers/net/ne
- kernel/drivers/net/ne2k-pci # PCI NE2000 clone driver
++base kernel/drivers/net/ne2k-pci # PCI NE2000 clone driver
kernel/drivers/net/netconsole # Console driver for network interfaces
+isa kernel/drivers/net/ni5010
+isa kernel/drivers/net/ni52
@@ -892,12 +916,14 @@
kernel/drivers/net/pcmcia/smc91c92_cs # SMC 91c92 series PCMCIA ethernet driver
kernel/drivers/net/pcmcia/xirc2ps_cs # Xircom PCMCIA ethernet driver
kernel/drivers/net/pcnet32 # Driver for PCnet32 and PCnetPCI based ethercards
+ kernel/drivers/net/phy/broadcom
kernel/drivers/net/phy/cicada
kernel/drivers/net/phy/davicom
kernel/drivers/net/phy/libphy
kernel/drivers/net/phy/lxt
kernel/drivers/net/phy/marvell
kernel/drivers/net/phy/qsemi
+ kernel/drivers/net/phy/realtek
kernel/drivers/net/plip
kernel/drivers/net/ppp_async
kernel/drivers/net/ppp_deflate
@@ -1064,26 +1090,31 @@
kernel/drivers/s390/scsi/zfcp_hbaapi
kernel/drivers/scsi/3w-9xxx # 3ware 9000 Storage Controller Linux Driver
kernel/drivers/scsi/3w-xxxx # 3ware Storage Controller Linux Driver
- kernel/drivers/scsi/BusLogic
++base kernel/drivers/scsi/BusLogic
+isa kernel/drivers/scsi/NCR53c406a
- kernel/drivers/scsi/a100u2w # Initio INI-A100U2W
kernel/drivers/scsi/aacraid/aacraid # Dell PERC2, 2/Si, 3/Si, 3/Di, Adaptec Advanced Raid Products, and HP NetRAID-4M SCSI driver
+- kernel/drivers/scsi/advansys # Advansys driver, rewrite not yet finished
+isa kernel/drivers/scsi/aha152x
+isa kernel/drivers/scsi/aha1542
- kernel/drivers/scsi/ahci
kernel/drivers/scsi/aic7xxx/aic79xx # Adaptec Aic790X U320 SCSI Host Bus Adapter driver
kernel/drivers/scsi/aic7xxx/aic7xxx # Adaptec Aic77XX/78XX SCSI Host Bus Adapter driver
- kernel/drivers/scsi/aic7xxx_old
+- kernel/drivers/scsi/aic7xxx_old
kernel/drivers/scsi/aic94xx/aic94xx
- kernel/drivers/scsi/ata_piix # SCSI low-level driver for Intel PIIX/ICH ATA controllers
+ kernel/drivers/scsi/arcmsr/arcmsr # Areca RAID HBA
kernel/drivers/scsi/atp870u
- kernel/drivers/scsi/ch # device driver for scsi media changer devices
kernel/drivers/scsi/dc395x # SCSI host adapter driver for Tekram TRM-S1040 based adapters: Tekram DC395 and DC315 series
kernel/drivers/scsi/dmx3191d
kernel/drivers/scsi/dpt_i2o
+isa kernel/drivers/scsi/dtc
+ kernel/drivers/scsi/device_handler/scsi_dm # SCSI device handler
+ kernel/drivers/scsi/device_handler/scsi_dm_alua
+ kernel/drivers/scsi/device_handler/scsi_dm_emc
+ kernel/drivers/scsi/device_handler/scsi_dm_hp_sw
+ kernel/drivers/scsi/device_handler/scsi_dm_rdac
kernel/drivers/scsi/eata # EATA/DMA SCSI Driver
kernel/drivers/scsi/fdomain # Future domain SCSI driver
+ kernel/drivers/scsi/fcoe/fcoe # Open-FCoE software driver
+isa kernel/drivers/scsi/g_NCR5380
+isa kernel/drivers/scsi/g_NCR5380_mmio
kernel/drivers/scsi/gdth
@@ -1097,8 +1128,12 @@
kernel/drivers/scsi/ips
kernel/drivers/scsi/iscsi_tcp # open-iscsi client
kernel/drivers/scsi/iscsitarget/iscsi_trgt
- kernel/drivers/scsi/libata # Library module for ATA devices
+ kernel/drivers/scsi/hptiop
++base kernel/drivers/scsi/libata # Library module for ATA devices
+ kernel/drivers/scsi/libfc/libfc # Library module for FC devices
kernel/drivers/scsi/libiscsi # open-iscsi library
+ kernel/drivers/scsi/libsas/libsas # Library module for SAS devices
+ kernel/drivers/scsi/libsrp # Library module for SRP devices
kernel/drivers/scsi/lpfc/lpfc
kernel/drivers/scsi/mac53c94
kernel/drivers/scsi/megaraid # LSI Logic MegaRAID driver
@@ -1106,6 +1141,7 @@
kernel/drivers/scsi/megaraid/megaraid_mm
kernel/drivers/scsi/megaraid/megaraid_sas
kernel/drivers/scsi/mesh
+ kernel/drivers/scsi/mvsas
kernel/drivers/scsi/nsp32
kernel/drivers/scsi/osst # OnStream {DI-|FW-|SC-|USB}{30|50} Tape Driver
+isa kernel/drivers/scsi/pas16
@@ -1124,30 +1160,23 @@
kernel/drivers/scsi/qlogicfas408 # Driver for the Qlogic FAS SCSI controllers
kernel/drivers/scsi/qlogicfc
kernel/drivers/scsi/raid_class # implementation of a simple raid visualisation class
- kernel/drivers/scsi/sas/scsi_transport_sas_domain
- kernel/drivers/scsi/sata_mv # Marvell SATA support
- kernel/drivers/scsi/sata_nv # low-level driver for NVIDIA nForce SATA controller
- kernel/drivers/scsi/sata_promise # Promise SATA low-level driver
- kernel/drivers/scsi/sata_qstor # Pacific Digital Corporation QStor SATA
- kernel/drivers/scsi/sata_sil # low-level driver for Silicon Image SATA controller
- kernel/drivers/scsi/sata_sil24 # Silicon Image SATA
- kernel/drivers/scsi/sata_sis # low-level driver for Silicon Integratad Systems SATA controller
- kernel/drivers/scsi/sata_svw # low-level driver for K2 SATA controller
- kernel/drivers/scsi/sata_sx4 # Promise SATA low-level driver
- kernel/drivers/scsi/sata_uli # low-level driver for ULi Electronics SATA controller
- kernel/drivers/scsi/sata_via # SCSI low-level driver for VIA SATA controllers
- kernel/drivers/scsi/sata_vsc # low-level driver for Vitesse VSC7174 SATA controller
kernel/drivers/scsi/scsi_debug # SCSI debug adapter driver
+ia64 kernel/drivers/scsi/scsi_dump # lkcd dumps to SCSI blkdev
- kernel/drivers/scsi/scsi_mod # SCSI core
++base kernel/drivers/scsi/scsi_mod # SCSI core
+ kernel/drivers/scsi/scsi_tgt # SCSI Target Mode framework
kernel/drivers/scsi/scsi_transport_fc # FC Transport Attributes
kernel/drivers/scsi/scsi_transport_iscsi
kernel/drivers/scsi/scsi_transport_sas # Serial Attached SCSI (SAS) transport class
kernel/drivers/scsi/scsi_transport_spi # SPI Transport Attributes
- kernel/drivers/scsi/sd_mod # SCSI disk (sd) driver
- kernel/drivers/scsi/sg # SCSI generic (sg) driver
- kernel/drivers/scsi/sr_mod
- kernel/drivers/scsi/st # SCSI Tape Driver
+ kernel/drivers/scsi/scsi_transport_srp # SRP Transport Attributes
+ kernel/drivers/scsi/scsi_wait_scan # SCSI wait for scanning module
+ kernel/drivers/scsi/ch # device driver for scsi media changer devices
++base kernel/drivers/scsi/sd_mod # SCSI disk (sd) driver
+ kernel/drivers/scsi/ses # SCSI Enclosure Services Driver
++base kernel/drivers/scsi/sg # SCSI generic (sg) driver
++base kernel/drivers/scsi/sr_mod
++base kernel/drivers/scsi/st # SCSI Tape Driver
+ kernel/drivers/scsi/stex # SCSI Tape Driver
+isa kernel/drivers/scsi/sym53c416
kernel/drivers/scsi/sym53c8xx_2/sym53c8xx
+isa kernel/drivers/scsi/t128
@@ -1182,13 +1211,13 @@
- kernel/drivers/usb/atm/xusbatm # dumb usbatm-based driver for modems initialized in userspace
kernel/drivers/usb/class/cdc-acm # USB Abstract Control Model driver for USB modems and ISDN adapters
kernel/drivers/usb/class/usblp # USB Printer Device Class driver
- kernel/drivers/usb/core/usbcore
- kernel/drivers/usb/host/ehci-hcd # 2003-Dec-29 USB 2.0 'Enhanced' Host Controller (EHCI) Driver
++base kernel/drivers/usb/core/usbcore
++base kernel/drivers/usb/host/ehci-hcd # 2003-Dec-29 USB 2.0 'Enhanced' Host Controller (EHCI) Driver
- kernel/drivers/usb/host/isp116x-hcd # ISP116x HCD (Host Controller Driver) for USB
kernel/drivers/usb/host/ohci-hcd # 2004 Feb 02 USB 1.1 'Open' Host Controller (OHCI) Driver
kernel/drivers/usb/host/sl811-hcd
- kernel/drivers/usb/host/sl811_cs # PCMCIA driver for SL811HS (as found in REX-CFU1U)
- kernel/drivers/usb/host/uhci-hcd # USB Universal Host Controller Interface driver
++base kernel/drivers/usb/host/uhci-hcd # USB Universal Host Controller Interface driver
kernel/drivers/usb/image/mdc800 # USB Driver for Mustek MDC800 Digital Camera
kernel/drivers/usb/image/microtek # Microtek Scanmaker X6 USB scanner driver
- kernel/drivers/usb/input/acecad # USB Acecad "Acecad Flair" tablet support
@@ -1280,7 +1309,7 @@
kernel/drivers/usb/serial/usbserial # USB Serial Driver core
kernel/drivers/usb/serial/visor # USB HandSpring Visor / Palm OS driver
kernel/drivers/usb/serial/whiteheat # USB ConnectTech WhiteHEAT driver
- kernel/drivers/usb/storage/usb-storage # USB Mass Storage driver for Linux
++base kernel/drivers/usb/storage/usb-storage # USB Mass Storage driver for Linux
- kernel/drivers/video/arcfb # FB driver for Arc monochrome LCD board
kernel/drivers/video/aty/aty128fb # FBDev driver for ATI Rage128 / Pro cards
kernel/drivers/video/aty/atyfb
@@ -1331,12 +1360,12 @@
- kernel/drivers/w1/wire # Driver for 1-wire Dallas network protocol.
kernel/drivers/xen/blkback/blkbk # Xen block device backend
kernel/drivers/xen/blktap/blkbktap # Xen TAP block device backend
- kernel/drivers/xen/blkfront/xenblk # Xen block device frontend
++base kernel/drivers/xen/blkfront/xenblk # Xen block device frontend
kernel/drivers/xen/fbfront/xenfb # Xen virtual frame buffer frontend
kernel/drivers/xen/fbfront/xenkbd # Xen virtual keyboard frontend
kernel/drivers/xen/netback/netbk # Xen network device backend
kernel/drivers/xen/netback/netloop # Xen network loopback device
- kernel/drivers/xen/netfront/xennet # Xen network device frontend
++base kernel/drivers/xen/netfront/xennet # Xen network device frontend
- kernel/drivers/xen/pciback/pciback # Xen PCI device backend
- kernel/drivers/xen/tpmback/tpmbk # Xen TPM device backend
kernel/drivers/xen/xenbus/xenbus_be # Xen XenBus backend driver support module
@@ -1346,6 +1375,7 @@
kernel/drivers/virtio/virtio_pci
kernel/drivers/block/virtio_blk
kernel/drivers/net/virtio_net
+ kernel/drivers/char/virtio_console
- kernel/fs/9p/9p2000
- kernel/fs/adfs/adfs
- kernel/fs/affs/affs # Amiga filesystem support for Linux
@@ -1363,7 +1393,7 @@
- kernel/fs/efs/efs
kernel/fs/exportfs/exportfs
kernel/fs/ext2/ext2 # Second Extended Filesystem
- kernel/fs/ext3/ext3 # Second Extended Filesystem with journaling extensions
++base kernel/fs/ext3/ext3 # Second Extended Filesystem with journaling extensions
kernel/fs/fat/fat
- kernel/fs/freevxfs/freevxfs # Veritas Filesystem (VxFS) driver
kernel/fs/fuse/fuse # FUSE: Filesystem in Userspace
@@ -1372,11 +1402,11 @@
- kernel/fs/hpfs/hpfs
kernel/fs/hppfs/hppfs
kernel/fs/isofs/isofs
- kernel/fs/jbd/jbd
++base kernel/fs/jbd/jbd
- kernel/fs/jffs/jffs # The Journalling Flash File System
- kernel/fs/jffs2/jffs2 # The Journalling Flash File System, v2
kernel/fs/lockd/lockd
- kernel/fs/mbcache
++base kernel/fs/mbcache
kernel/fs/minix/minix
kernel/fs/msdos/msdos
kernel/fs/ncpfs/ncpfs
@@ -1554,7 +1584,7 @@
kernel/net/ipv6/esp6
kernel/net/ipv6/ip6_tunnel # IPv6-in-IPv6 tunnel
kernel/net/ipv6/ipcomp6 # IP Payload Compression Protocol (IPComp) for IPv6 - RFC3173
- kernel/net/ipv6/ipv6 # IPv6 protocol stack for Linux
++base kernel/net/ipv6/ipv6 # IPv6 protocol stack for Linux
kernel/net/ipv6/xfrm6_tunnel
kernel/net/netfilter/nfnetlink
@@ -1689,7 +1719,7 @@
- kernel/net/llc/llc
- kernel/net/llc/llc2 # IEEE 802.2 PF_LLC support
- kernel/net/netrom/netrom # The amateur radio NET/ROM network and transport layer protocol
- kernel/net/packet/af_packet
++base kernel/net/packet/af_packet
- kernel/net/rose/rose # The amateur radio ROSE network layer protocol
- kernel/net/rxrpc/rxrpc # Rx RPC implementation
- kernel/net/sched/act_gact
@@ -1926,3 +1956,56 @@
+external kernel/drivers/firmware/dell_rbu
+external kernel/fs/cifs/cifs # VFS to access servers complying with the SNIA CIFS Specification e.g. Samba and Windows; supported by IBM
+external kernel/fs/jfs/jfs # The Journaled Filesystem (JFS), supported by IBM
+
+ kernel/arch/ia64/kernel/err_inject
+ kernel/arch/powerpc/oprofile/oprofile
+ kernel/arch/s390/crypto/sha_common
+ kernel/crypto/aead
+ kernel/crypto/aes_generic
+ kernel/crypto/crypto_blkcipher
+ kernel/crypto/twofish_common
+ kernel/drivers/ata/pata_sis
+ kernel/drivers/char/hw_random/rng-core
+ kernel/drivers/char/nsc_gpio
+ kernel/drivers/dca/dca
+ kernel/drivers/hid/hid
+ kernel/drivers/input/ff-memless
+ kernel/drivers/leds/led-class
+ kernel/drivers/md/dm-log
+ kernel/drivers/media/video/cx2341x
+ kernel/drivers/media/video/videobuf-core
+ kernel/drivers/media/video/videobuf-dma-sg
+ kernel/drivers/media/video/videobuf-vmalloc
+ kernel/drivers/misc/sgi-gru/gru
+ kernel/drivers/mtd/chips/chipreg
+ kernel/drivers/mtd/maps/map_funcs
+ kernel/drivers/mtd/mtd
+ kernel/drivers/mtd/nand/nand
+ kernel/drivers/mtd/nand/nand_ecc
+ kernel/drivers/mtd/nand/nand_ids
+ kernel/drivers/net/wan/hdlc
+ kernel/drivers/scsi/device_handler/scsi_dh
+ kernel/drivers/ssb/ssb
+ kernel/drivers/usb/atm/usbatm
+ kernel/drivers/usb/misc/phidget
+ kernel/drivers/video/fb_ddc
+ kernel/drivers/video/fb_sys_fops
+ kernel/drivers/video/output
+ kernel/drivers/video/syscopyarea
+ kernel/drivers/video/sysfillrect
+ kernel/drivers/video/sysimgblt
+ kernel/fs/jbd2/jbd2
+ kernel/fs/ocfs2/ocfs2_stackglue
+ kernel/lib/crc-itu-t
+ kernel/net/802/garp
+ kernel/net/802/stp
+ kernel/net/atm/atm
+ kernel/net/ieee80211/ieee80211
+ kernel/net/ieee80211/ieee80211_crypt
+ kernel/net/ipv4/tunnel4
+ kernel/net/ipv6/tunnel6
+ kernel/net/rfkill/rfkill
+ kernel/net/xfrm/xfrm_ipcomp
+ kernel/sound/ac97_bus
+ kernel/sound/i2c/other/snd-pt2258
+ kernel/sound/sound_firmware
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0