rpms/kdebase-workspace/devel kdebase-workspace-4.0.2-kde#155362.patch, NONE, 1.1 kdebase-workspace.spec, 1.40, 1.41 kdebase-workspace-4.0.1-kde#155362.patch, 1.1, NONE
by fedora-extras-commitsï¼ redhat.com
Author: kkofler
Update of /cvs/pkgs/rpms/kdebase-workspace/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv14613/devel
Modified Files:
kdebase-workspace.spec
Added Files:
kdebase-workspace-4.0.2-kde#155362.patch
Removed Files:
kdebase-workspace-4.0.1-kde#155362.patch
Log Message:
- update kde#155362 patch
kdebase-workspace-4.0.2-kde#155362.patch:
--- NEW FILE kdebase-workspace-4.0.2-kde#155362.patch ---
diff -ur kdebase-workspace-4.0.2/plasma/applets/kickoff/simpleapplet/menuview.cpp kdebase-workspace-4.0.2-kde#155362/plasma/applets/kickoff/simpleapplet/menuview.cpp
--- kdebase-workspace-4.0.2/plasma/applets/kickoff/simpleapplet/menuview.cpp 2008-02-27 12:57:53.000000000 +0100
+++ kdebase-workspace-4.0.2-kde#155362/plasma/applets/kickoff/simpleapplet/menuview.cpp 2008-02-29 22:55:37.000000000 +0100
@@ -34,7 +34,7 @@
class MenuView::Private
{
public:
- Private(MenuView *parent) : q(parent) , model(0) , column(0), launcher(new UrlItemLauncher(parent)) {}
+ Private(MenuView *parent) : q(parent) , model(0) , column(0), launcher(new UrlItemLauncher(parent)), formattype(MenuView::DescriptionName) {}
QAction *createActionForIndex(const QModelIndex& index,QWidget *parent)
{
@@ -68,6 +68,7 @@
QAbstractItemModel *model;
int column;
UrlItemLauncher *launcher;
+ MenuView::FormatType formattype;
};
MenuView::MenuView(QWidget *parent)
@@ -85,11 +86,48 @@
}
void MenuView::updateAction(QAction *action,const QModelIndex& index)
{
- QString text = index.data(Qt::DisplayRole).value<QString>();
- const QString name = index.data(Kickoff::SubTitleRole).value<QString>();
- if (action->menu()==0 && name.contains(text,Qt::CaseInsensitive))
- text = name;
- action->setText(text.replace("&","&&"));
+ QString text = index.data(Qt::DisplayRole).value<QString>(); // describing text, e.g. "Spreadsheet" or "Rekall" (right, sometimes the text is also used for the generic app-name)
+ QString name = index.data(Kickoff::SubTitleRole).value<QString>(); // the generic name, e.g. "kspread" or "OpenOffice.org Spreadsheet" or just "" (right, it's a mess too)
+ if( action->menu()!=0 ) { // if its an item with sub-menuitems, we probably like to thread them another way...
+ action->setText(text.replace("&","&&"));
+ }
+ else {
+ switch( d->formattype ) {
+ case Name: {
+ if( name.isEmpty() ) {
+ action->setText(text.replace("&","&&"));
+ }
+ else {
+ action->setText(name.replace("&","&&"));
+ }
+ } break;
+ case Description: {
+ if( name.contains(text,Qt::CaseInsensitive) ) {
+ text = name;
+ }
+ action->setText(text.replace("&","&&"));
+ } break;
+ case NameDescription: // fall through
+ case DescriptionName: {
+ if( ! name.isEmpty() ) { // seems we have a program, but some of them dont define a name at all
+ if( name.contains(text,Qt::CaseInsensitive) ) {
+ action->setText(name.replace("&","&&"));
+ }
+ else {
+ if( d->formattype == NameDescription ) {
+ action->setText(QString("%1 %2").arg(name).arg(text).replace("&","&&"));
+ }
+ else {
+ action->setText(QString("%1 (%2)").arg(text).arg(name).replace("&","&&"));
+ }
+ }
+ }
+ else { // if there is no name, let's just use the describing text
+ action->setText(text.replace("&","&&"));
+ }
+ } break;
+ }
+ }
action->setIcon(index.data(Qt::DecorationRole).value<QIcon>());
}
@@ -260,6 +298,14 @@
{
return d->column;
}
+MenuView::FormatType MenuView::formatType() const
+{
+ return d->formattype;
+}
+void MenuView::setFormatType(MenuView::FormatType formattype)
+{
+ d->formattype = formattype;
+}
void MenuView::actionTriggered(QAction *action)
{
QModelIndex index = indexForAction(action);
diff -ur kdebase-workspace-4.0.2/plasma/applets/kickoff/simpleapplet/menuview.h kdebase-workspace-4.0.2-kde#155362/plasma/applets/kickoff/simpleapplet/menuview.h
--- kdebase-workspace-4.0.2/plasma/applets/kickoff/simpleapplet/menuview.h 2008-01-05 00:55:49.000000000 +0100
+++ kdebase-workspace-4.0.2-kde#155362/plasma/applets/kickoff/simpleapplet/menuview.h 2008-02-29 22:55:37.000000000 +0100
@@ -80,6 +80,18 @@
/** See setColumn() */
int column() const;
+ /** The format type enumeration. */
+ enum FormatType {
+ Name = 0, ///< Name only
+ Description, ///< Description only
+ NameDescription, ///< Name (Description)
+ DescriptionName ///< Description (Name)
+ };
+ /** \return the format type. */
+ FormatType formatType() const;
+ /** Set the format type. */
+ void setFormatType(FormatType formattype);
+
protected:
/**
* Creates a new action to represent a leaf index in the tree. A leaf index
diff -ur kdebase-workspace-4.0.2/plasma/applets/kickoff/simpleapplet/simpleapplet.cpp kdebase-workspace-4.0.2-kde#155362/plasma/applets/kickoff/simpleapplet/simpleapplet.cpp
--- kdebase-workspace-4.0.2/plasma/applets/kickoff/simpleapplet/simpleapplet.cpp 2008-02-27 12:57:53.000000000 +0100
+++ kdebase-workspace-4.0.2-kde#155362/plasma/applets/kickoff/simpleapplet/simpleapplet.cpp 2008-02-29 23:03:14.000000000 +0100
@@ -22,8 +22,9 @@
#include "simpleapplet/menuview.h"
// Qt
-#include <QCheckBox>
-#include <QVBoxLayout>
+#include <QLabel>
+#include <QComboBox>
+#include <QGridLayout>
#include <QGraphicsView>
#include <QMetaObject>
#include <QMetaEnum>
@@ -32,6 +33,7 @@
// KDE
#include <KIcon>
#include <KDialog>
+#include <KMenu>
// Plasma
#include <plasma/layouts/boxlayout.h>
@@ -43,29 +45,67 @@
#include "core/models.h"
#include "core/applicationmodel.h"
#include "core/favoritesmodel.h"
+#include "core/systemmodel.h"
+#include "core/recentlyusedmodel.h"
#include "core/leavemodel.h"
+#include "core/urlitemlauncher.h"
class MenuLauncherApplet::Private
{
public:
- QMenu *menuview;
+ KMenu *menuview;
Plasma::Icon *icon;
- Kickoff::MenuView *appview;
- Kickoff::MenuView* favview;
+ QPointer<Kickoff::UrlItemLauncher> launcher;
- bool showFavorites;
- bool showLeaveSwitchUser;
- bool showLeaveLock;
- bool showLeaveLogout;
+ MenuLauncherApplet::ViewType viewtype;
+ MenuLauncherApplet::FormatType formattype;
KDialog *dialog;
- QCheckBox *showFavCheckBox;
- QCheckBox *showSwitchUserCheckBox;
- QCheckBox *showLockCheckBox;
- QCheckBox *showLogoutCheckBox;
+ QComboBox *viewComboBox, *formatComboBox;
- Private() : menuview(0), appview(0), favview(0), dialog(0) {}
- ~Private() { delete dialog; delete menuview; delete appview; delete favview; }
+ Private() : menuview(0), launcher(0), dialog(0) {}
+ ~Private() { delete dialog; delete menuview; }
+
+ void addItem(QComboBox* combo, const QString& caption, int index) {
+ combo->addItem(caption, index);
+ }
+
+ void setCurrentItem(QComboBox* combo, int currentIndex) {
+ for(int i = combo->count() - 1; i >= 0; --i) {
+ if( combo->itemData(i).toInt() == currentIndex ) {
+ combo->setCurrentIndex(i);
+ return;
+ }
+ }
+ if( combo->count() > 0 )
+ combo->setCurrentIndex(0);
+ }
+
+ Kickoff::MenuView *createMenuView(QAbstractItemModel *model = 0) {
+ Kickoff::MenuView *view = new Kickoff::MenuView(menuview);
+ view->setFormatType( (Kickoff::MenuView::FormatType) formattype );
+ if( model ) {
+ model->setParent(view); //re-parent
+ view->setModel(model);
+ }
+ return view;
+ }
+
+ void addMenu(Kickoff::MenuView *view, bool mergeFirstLevel) {
+ QList<QAction*> actions = view->actions();
+ foreach(QAction *action, actions) {
+ if( action->menu() && mergeFirstLevel ) {
+ QMetaObject::invokeMethod(action->menu(),"aboutToShow"); //fetch the children
+ if( actions.count() > 1 )
+ menuview->addTitle(action->text());
+ foreach(QAction *a, action->menu()->actions())
+ menuview->addAction(a);
+ }
+ else {
+ menuview->addAction(action);
+ }
+ }
+ }
};
MenuLauncherApplet::MenuLauncherApplet(QObject *parent, const QVariantList &args)
@@ -78,10 +118,8 @@
d->icon->setFlag(ItemIsMovable, false);
connect(d->icon, SIGNAL(pressed(bool)), this, SLOT(toggleMenu(bool)));
- d->showFavorites = true;
- d->showLeaveSwitchUser = true;
- d->showLeaveLock = true;
- d->showLeaveLogout = true;
+ d->viewtype = Combined;
+ d->formattype = NameDescription;
}
MenuLauncherApplet::~MenuLauncherApplet()
@@ -96,10 +134,16 @@
d->icon->setIcon(KIcon(cg.readEntry("icon","start-here-kde")));
//setMinimumContentSize(d->icon->iconSize()); //setSize(d->icon->iconSize())
- d->showFavorites = cg.readEntry("showFavorites",d->showFavorites);
- d->showLeaveSwitchUser = cg.readEntry("showLeaveSwitchUser",d->showLeaveSwitchUser);
- d->showLeaveLock = cg.readEntry("showLeaveLock",d->showLeaveLock);
- d->showLeaveLogout = cg.readEntry("showLeaveLogout",d->showLeaveLogout);
+ {
+ QMetaEnum e = metaObject()->enumerator(metaObject()->indexOfEnumerator("ViewType"));
+ QByteArray ba = cg.readEntry("view", QByteArray(e.valueToKey(d->viewtype)));
+ d->viewtype = (MenuLauncherApplet::ViewType) e.keyToValue(ba);
+ }
+ {
+ QMetaEnum e = metaObject()->enumerator(metaObject()->indexOfEnumerator("FormatType"));
+ QByteArray ba = cg.readEntry("format", QByteArray(e.valueToKey(d->formattype)));
+ d->formattype = (MenuLauncherApplet::FormatType) e.keyToValue(ba);
+ }
Kickoff::UrlItemLauncher::addGlobalHandler(Kickoff::UrlItemLauncher::ExtensionHandler,"desktop",new Kickoff::ServiceItemHandler);
Kickoff::UrlItemLauncher::addGlobalHandler(Kickoff::UrlItemLauncher::ProtocolHandler, "leave", new Kickoff::LeaveItemHandler);
@@ -141,44 +185,64 @@
connect(d->dialog, SIGNAL(applyClicked()), this, SLOT(configAccepted()));
connect(d->dialog, SIGNAL(okClicked()), this, SLOT(configAccepted()));
- QVBoxLayout *layout = new QVBoxLayout(d->dialog->mainWidget());
- d->dialog->mainWidget()->setLayout(layout);
-
- d->showFavCheckBox = new QCheckBox(i18n("Favorites"), d->dialog->mainWidget());
- layout->addWidget(d->showFavCheckBox);
-
- d->showSwitchUserCheckBox = new QCheckBox(i18n("Switch user"), d->dialog->mainWidget());
- layout->addWidget(d->showSwitchUserCheckBox);
+ QWidget *p = d->dialog->mainWidget();
+ QGridLayout *l = new QGridLayout(p);
+ p->setLayout(l);
+
+ l->addWidget(new QLabel(i18n("View:"), p), 0, 0);
+ d->viewComboBox = new QComboBox(p);
+ d->addItem(d->viewComboBox, i18n("Combined"), MenuLauncherApplet::Combined);
+ d->addItem(d->viewComboBox, i18n("Favorites"), MenuLauncherApplet::Favorites);
+ d->addItem(d->viewComboBox, i18n("Applications"), MenuLauncherApplet::Applications);
+ d->addItem(d->viewComboBox, i18n("Computer"), MenuLauncherApplet::Computer);
+ d->addItem(d->viewComboBox, i18n("Recently Used"), MenuLauncherApplet::RecentlyUsed);
+ d->addItem(d->viewComboBox, i18n("Leave"), MenuLauncherApplet::Leave);
+ l->addWidget(d->viewComboBox, 0, 1);
+
+ l->addWidget(new QLabel(i18n("Format:"), p), 1, 0);
+ d->formatComboBox = new QComboBox(p);
+ d->addItem(d->formatComboBox, i18n("Name only"), MenuLauncherApplet::Name);
+ d->addItem(d->formatComboBox, i18n("Description only"), MenuLauncherApplet::Description);
+ d->addItem(d->formatComboBox, i18n("Name Description"), MenuLauncherApplet::NameDescription);
+ d->addItem(d->formatComboBox, i18n("Description (Name)"), MenuLauncherApplet::DescriptionName);
+ l->addWidget(d->formatComboBox, 1, 1);
- d->showLockCheckBox = new QCheckBox(i18n("Lock"), d->dialog->mainWidget());
- layout->addWidget(d->showLockCheckBox);
-
- d->showLogoutCheckBox = new QCheckBox(i18n("Logout"), d->dialog->mainWidget());
- layout->addWidget(d->showLogoutCheckBox);
+ l->setColumnStretch(1,1);
}
- d->showFavCheckBox->setChecked(d->showFavorites);
- d->showSwitchUserCheckBox->setChecked(d->showLeaveSwitchUser);
- d->showLockCheckBox->setChecked(d->showLeaveLock);
- d->showLogoutCheckBox->setChecked(d->showLeaveLogout);
+ d->setCurrentItem(d->viewComboBox, d->viewtype);
+ d->setCurrentItem(d->formatComboBox, d->formattype);
d->dialog->show();
}
void MenuLauncherApplet::configAccepted()
{
- d->showFavorites = d->showFavCheckBox->isChecked();
- d->showLeaveSwitchUser = d->showSwitchUserCheckBox->isChecked();
- d->showLeaveLock = d->showLockCheckBox->isChecked();
- d->showLeaveLogout = d->showLogoutCheckBox->isChecked();
+ bool needssaving = false;
KConfigGroup cg = config();
- cg.writeEntry("showFavorites", d->showFavorites);
- cg.writeEntry("showLeaveSwitchUser", d->showLeaveSwitchUser);
- cg.writeEntry("showLeaveLock", d->showLeaveLock);
- cg.writeEntry("showLeaveLogout", d->showLeaveLogout);
- emit configNeedsSaving();
+ int vt = d->viewComboBox->itemData(d->viewComboBox->currentIndex()).toInt();
+ if( vt != d->viewtype ) {
+ d->viewtype = (MenuLauncherApplet::ViewType) vt;
+ needssaving = true;
+
+ QMetaEnum e = metaObject()->enumerator(metaObject()->indexOfEnumerator("ViewType"));
+ cg.writeEntry("view", QByteArray(e.valueToKey(d->viewtype)));
+ }
+
+ int ft = d->formatComboBox->itemData(d->formatComboBox->currentIndex()).toInt();
+ if( ft != d->formattype ) {
+ d->formattype = (MenuLauncherApplet::FormatType) ft;
+ needssaving = true;
- delete d->menuview;
- d->menuview = 0;
+ QMetaEnum e = metaObject()->enumerator(metaObject()->indexOfEnumerator("FormatType"));
+ cg.writeEntry("format", QByteArray(e.valueToKey(d->formattype)));
+ }
+
+ if( needssaving ) {
+ emit configNeedsSaving();
+
+ delete d->menuview;
+ d->menuview = 0;
+ }
}
void MenuLauncherApplet::toggleMenu(bool pressed)
@@ -188,44 +252,51 @@
}
if (!d->menuview) {
- d->menuview = new QMenu();
+ d->menuview = new KMenu();
connect(d->menuview,SIGNAL(triggered(QAction*)),this,SLOT(actionTriggered(QAction*)));
connect(d->menuview,SIGNAL(aboutToHide()),d->icon,SLOT(setUnpressed()));
- if(!d->appview) {
- d->appview = new Kickoff::MenuView();
- ApplicationModel *appModel = new ApplicationModel(d->appview);
- appModel->setDuplicatePolicy(ApplicationModel::ShowLatestOnlyPolicy);
- d->appview->setModel(appModel);
- }
- foreach (QAction *action, d->appview->actions())
- d->menuview->addAction(action);
-
- if (d->showFavorites) {
- if (!d->favview) {
- d->favview = new Kickoff::MenuView();
- Kickoff::FavoritesModel* favmodel = new Kickoff::FavoritesModel(d->favview);
- d->favview->setModel(favmodel);
- }
- d->menuview->addSeparator();
- foreach (QAction *action, d->favview->actions())
- d->menuview->addAction(action);
- }
-
- if (d->showLeaveSwitchUser || d->showLeaveLock || d->showLeaveLogout) {
- d->menuview->addSeparator();
- if (d->showLeaveSwitchUser) {
- QAction *lockaction = d->menuview->addAction(KIcon("system-switch-user"),i18n("Switch User"));
- lockaction->setData(QUrl("leave:/switch"));
- }
- if (d->showLeaveLock) {
+ switch( d->viewtype ) {
+ case Combined: {
+ ApplicationModel *appModel = new ApplicationModel();
+ appModel->setDuplicatePolicy(ApplicationModel::ShowLatestOnlyPolicy);
+ Kickoff::MenuView *appview = d->createMenuView(appModel);
+ d->addMenu(appview, false);
+
+ d->menuview->addSeparator();
+ Kickoff::MenuView *favview = d->createMenuView(new Kickoff::FavoritesModel(d->menuview));
+ d->addMenu(favview, false);
+
+ d->menuview->addSeparator();
+ QAction *switchaction = d->menuview->addAction(KIcon("system-switch-user"),i18n("Switch User"));
+ switchaction->setData(QUrl("leave:/switch"));
QAction *lockaction = d->menuview->addAction(KIcon("system-lock-screen"),i18n("Lock"));
lockaction->setData(QUrl("leave:/lock"));
- }
- if (d->showLeaveLogout) {
QAction *logoutaction = d->menuview->addAction(KIcon("system-log-out"),i18n("Logout"));
logoutaction->setData(QUrl("leave:/logout"));
- }
+ } break;
+ case Favorites: {
+ Kickoff::MenuView *favview = d->createMenuView(new Kickoff::FavoritesModel(d->menuview));
+ d->addMenu(favview, true);
+ } break;
+ case Applications: {
+ ApplicationModel *appModel = new ApplicationModel();
+ appModel->setDuplicatePolicy(ApplicationModel::ShowLatestOnlyPolicy);
+ Kickoff::MenuView *appview = d->createMenuView(appModel);
+ d->addMenu(appview, false);
+ } break;
+ case Computer: {
+ Kickoff::MenuView *systemview = d->createMenuView(new Kickoff::SystemModel());
+ d->addMenu(systemview, true);
+ } break;
+ case RecentlyUsed: {
+ Kickoff::MenuView *recentlyview = d->createMenuView(new Kickoff::RecentlyUsedModel());
+ d->addMenu(recentlyview, true);
+ } break;
+ case Leave: {
+ Kickoff::MenuView *leaveview = d->createMenuView(new Kickoff::LeaveModel(d->menuview));
+ d->addMenu(leaveview, true);
+ } break;
}
}
@@ -252,9 +323,10 @@
if (action->data().type() == QVariant::Url) {
QUrl url = action->data().toUrl();
if (url.scheme() == "leave") {
- Kickoff::UrlItemLauncher *launcher = d->appview ? d->appview->launcher() : 0;
- if (launcher)
- launcher->openUrl(url.toString());
+ if ( ! d->launcher ) {
+ d->launcher = new Kickoff::UrlItemLauncher(d->menuview);
+ }
+ d->launcher->openUrl(url.toString());
}
}
else {
diff -ur kdebase-workspace-4.0.2/plasma/applets/kickoff/simpleapplet/simpleapplet.h kdebase-workspace-4.0.2-kde#155362/plasma/applets/kickoff/simpleapplet/simpleapplet.h
--- kdebase-workspace-4.0.2/plasma/applets/kickoff/simpleapplet/simpleapplet.h 2008-01-05 00:55:49.000000000 +0100
+++ kdebase-workspace-4.0.2-kde#155362/plasma/applets/kickoff/simpleapplet/simpleapplet.h 2008-02-29 22:55:37.000000000 +0100
@@ -29,7 +29,25 @@
{
Q_OBJECT
+Q_ENUMS(ViewType)
+Q_ENUMS(FormatType)
public:
+
+ enum ViewType {
+ Combined = 0,
+ Favorites,
+ Applications,
+ Computer,
+ RecentlyUsed,
+ Leave
+ };
+
+ enum FormatType {
+ Name = 0,
+ Description,
+ NameDescription,
+ DescriptionName
+ };
MenuLauncherApplet(QObject *parent, const QVariantList &args);
virtual ~MenuLauncherApplet();
Index: kdebase-workspace.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kdebase-workspace/devel/kdebase-workspace.spec,v
retrieving revision 1.40
retrieving revision 1.41
diff -u -r1.40 -r1.41
--- kdebase-workspace.spec 29 Feb 2008 21:38:42 -0000 1.40
+++ kdebase-workspace.spec 29 Feb 2008 22:05:31 -0000 1.41
@@ -17,7 +17,7 @@
Patch2: kdebase-workspace-4.0.0-consolekit-kdm.patch
# http://bugs.kde.org/155362 (show Name in addition to GenericName in simple menu)
# backported from trunk (KDE 4.1): http://websvn.kde.org/?view=rev&revision=762886
-Patch3: kdebase-workspace-4.0.1-kde#155362.patch
+Patch3: kdebase-workspace-4.0.2-kde#155362.patch
# upgrade path for former kde-redhat'ers
Obsoletes: kdebase-kdm < 6:%{version}-%{release}
@@ -220,6 +220,7 @@
%changelog
* Fri Feb 29 2008 Kevin Kofler <Kevin(a)tigcc.ticalc.org> 4.0.2-2
- drop upstreamed kde#155974 patch
+- update kde#155362 patch
* Thu Feb 28 2008 Than Ngo <than(a)redhat.com> 4.0.2-1
- 4.0.2
--- kdebase-workspace-4.0.1-kde#155362.patch DELETED ---
14Â years, 11Â months
rpms/gdm/devel gdm-2.21.9-check-capslock-state-not-capslock-light-state.patch, NONE, 1.1 gdm-2.21.9-dont-steal-all-keypresses.patch, NONE, 1.1 .cvsignore, 1.63, 1.64 gdm.spec, 1.336, 1.337 sources, 1.73, 1.74 2-new-chooser-widget.patch, 1.4, NONE 3-switch-user-chooser-over.patch, 1.1, NONE 4-switch-session-chooser-over.patch, 1.1, NONE 5-dont-shrink-in-test-program.patch, 1.1, NONE 6-session-chooser-in-login-window.patch, 1.1, NONE 7-login-window-animation.patch, 1.1, NONE 8-improve-animation.patch, 1.1, NO
by fedora-extras-commitsï¼ redhat.com
Author: rstrode
Update of /cvs/pkgs/rpms/gdm/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv14553
Modified Files:
.cvsignore gdm.spec sources
Added Files:
gdm-2.21.9-check-capslock-state-not-capslock-light-state.patch
gdm-2.21.9-dont-steal-all-keypresses.patch
Removed Files:
2-new-chooser-widget.patch 3-switch-user-chooser-over.patch
4-switch-session-chooser-over.patch
5-dont-shrink-in-test-program.patch
6-session-chooser-in-login-window.patch
7-login-window-animation.patch 8-improve-animation.patch
gdm-2.21.2-fix-background.patch gdm-2.21.2-hide-guest.patch
gdm-2.21.2-use-metacity.patch gdm-2.21.8-validate-dmrc.patch
Log Message:
- Update to snapshot
- Split user-switcher out
gdm-2.21.9-check-capslock-state-not-capslock-light-state.patch:
--- NEW FILE gdm-2.21.9-check-capslock-state-not-capslock-light-state.patch ---
Index: gui/simple-greeter/gdm-greeter-login-window.c
===================================================================
--- gdm-2.21.9/gui/simple-greeter/gdm-greeter-login-window.c (revision 5897)
+++ gdm-2.21.9/gui/simple-greeter/gdm-greeter-login-window.c (working copy)
@@ -178,16 +178,16 @@ capslock_update (GdmGreeterLoginWindow *
static gboolean
is_capslock_on (void)
{
- unsigned int states;
+ XkbStateRec states;
Display *dsp;
dsp = GDK_DISPLAY ();
- if (XkbGetIndicatorState (dsp, XkbUseCoreKbd, &states) != Success) {
- return FALSE;
+ if (XkbGetState (dsp, XkbUseCoreKbd, &states) != Success) {
+ return FALSE;
}
- return (states & ShiftMask) != 0;
+ return (states.locked_mods & LockMask) != 0;
}
static void
gdm-2.21.9-dont-steal-all-keypresses.patch:
--- NEW FILE gdm-2.21.9-dont-steal-all-keypresses.patch ---
--- gdm-2.21.9/gui/simple-greeter/gdm-greeter-login-window.c (revision 5896)
+++ gdm-2.21.9/gui/simple-greeter/gdm-greeter-login-window.c (working copy)
@@ -1325,10 +1325,21 @@ static gboolean
gdm_greeter_login_window_key_press_event (GtkWidget *widget,
GdkEventKey *event)
{
+ GdmGreeterLoginWindow *login_window;
+ gboolean capslock_on;
+
+ login_window = GDM_GREETER_LOGIN_WINDOW (widget);
+
if (event->keyval == GDK_Escape) {
reset_dialog (GDM_GREETER_LOGIN_WINDOW (widget));
}
+ capslock_on = is_capslock_on ();
+
+ if (capslock_on != login_window->priv->caps_lock_on) {
+ capslock_update (login_window, capslock_on);
+ }
+
return GTK_WIDGET_CLASS (gdm_greeter_login_window_parent_class)->key_press_event (widget, event);
}
@@ -1581,22 +1592,6 @@ gdm_greeter_login_window_class_init (Gdm
g_type_class_add_private (klass, sizeof (GdmGreeterLoginWindowPrivate));
}
-static gint
-window_key_press (GtkWidget *widget,
- GdkEventKey *event,
- GdmGreeterLoginWindow *login_window)
-{
- gboolean capslock_on;
-
- capslock_on = is_capslock_on ();
-
- if (capslock_on != login_window->priv->caps_lock_on) {
- capslock_update (login_window, capslock_on);
- }
-
- return TRUE;
-}
-
static void
on_gconf_key_changed (GConfClient *client,
guint cnxn_id,
@@ -1659,11 +1654,6 @@ gdm_greeter_login_window_init (GdmGreete
login_window,
NULL,
NULL);
-
- g_signal_connect (login_window, "key_press_event",
- G_CALLBACK (window_key_press),
- login_window);
-
}
static void
Index: .cvsignore
===================================================================
RCS file: /cvs/pkgs/rpms/gdm/devel/.cvsignore,v
retrieving revision 1.63
retrieving revision 1.64
diff -u -r1.63 -r1.64
--- .cvsignore 26 Feb 2008 05:03:33 -0000 1.63
+++ .cvsignore 29 Feb 2008 22:04:23 -0000 1.64
@@ -1 +1 @@
-gdm-2.21.8.tar.gz
+gdm-2.21.9.tar.gz
Index: gdm.spec
===================================================================
RCS file: /cvs/pkgs/rpms/gdm/devel/gdm.spec,v
retrieving revision 1.336
retrieving revision 1.337
diff -u -r1.336 -r1.337
--- gdm.spec 26 Feb 2008 05:03:33 -0000 1.336
+++ gdm.spec 29 Feb 2008 22:04:23 -0000 1.337
@@ -18,8 +18,8 @@
Summary: The GNOME Display Manager
Name: gdm
-Version: 2.21.8
-Release: 1%{?dist}
+Version: 2.21.9
+Release: 0.2008.02.29.1%{?dist}
Epoch: 1
License: GPLv2+
Group: User Interface/X
@@ -29,11 +29,7 @@
Source2: gdm-autologin-pam
Source3: gdmsetup-pam
-Patch1: gdm-2.21.8-fedora-logo.patch
-Patch2: gdm-2.21.8-validate-dmrc.patch
-
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
-
Prereq: /usr/sbin/useradd
Requires: gtk2 >= 0:%{gtk2_version}
@@ -53,7 +49,7 @@
Requires: hal >= %{hal_version}
Requires: ConsoleKit >= %{consolekit_version}
Requires: PolicyKit-gnome >= %{polkit_version}
-Requires: gnome-settings-daemon
+Requires: gnome-settings-daemon >= 2.21.92
# since we use it, and pam spams the log if the module is missing
Requires: gnome-keyring-pam
Requires(post): scrollkeeper
@@ -93,16 +89,34 @@
Requires: audit-libs >= %{libauditver}
+Patch0: gdm-2.21.9-dont-steal-all-keypresses.patch
+Patch1: gdm-2.21.9-check-capslock-state-not-capslock-light-state.patch
+
+Patch99: gdm-2.21.8-fedora-logo.patch
+
+%package user-switch-applet
+Summary: GDM User Switcher Panel Applet
+Group: User Interface/Desktops
+Requires: gdm >= 0:2.21.9
+Obsoletes: fast-user-switch-applet
+Provides: fast-user-switch-applet = %{epoch}:%{version}-%{release}
+
%description
-Gdm (the GNOME Display Manager) is a highly configurable
-reimplementation of xdm, the X Display Manager. Gdm allows you to log
-into your system with the X Window System running and supports running
-several different X sessions on your local machine at the same time.
+GDM provides the graphical login screen, shown shortly after boot up,
+log out, and when user switching.
+
+%description user-switch-applet
+The GDM user switcher applet provides a mechanism for changing among
+multiple simulanteous logged in users.
%prep
%setup -q
-%patch1 -p1 -b .fedora-logo
-%patch2 -p1 -b .validate-dmrc
+
+%patch0 -p1 -b .dont-steal-all-keypresses
+%patch1 -p1 -b .check-capslock-state-not-capslock-light-state
+
+
+%patch99 -p1 -b .fedora-logo
%build
cp -f %{SOURCE1} data/gdm
@@ -141,29 +155,8 @@
rm -f $RPM_BUILD_ROOT%{_libdir}/gtk-2.0/modules/*.a
rm -f $RPM_BUILD_ROOT%{_libdir}/gtk-2.0/modules/*.la
-# remove the gnome session file, since we don't use it anymore
-rm -f $RPM_BUILD_ROOT%{_sysconfdir}/X11/dm/Sessions/gnome.desktop
-
-# remove the other gnome session file, since we put it in gnome-session
-rm -rf $RPM_BUILD_ROOT%{_datadir}/xsessions
-
mkdir -p $RPM_BUILD_ROOT%{_datadir}/gdm/autostart/LoginWindow
-# no dumb flexiserver thing, Xnest is too broken
-rm -f $RPM_BUILD_ROOT%{_datadir}/gdm/applications/gdmflexiserver-xnest.desktop
-
-desktop-file-install --vendor gnome --delete-original \
- --dir $RPM_BUILD_ROOT%{_datadir}/gdm/applications \
- $RPM_BUILD_ROOT%{_datadir}/gdm/applications/gdmsetup.desktop || :
-
-desktop-file-install --vendor gnome --delete-original \
- --dir $RPM_BUILD_ROOT%{_datadir}/gdm/applications \
- $RPM_BUILD_ROOT%{_datadir}/gdm/applications/gdmphotosetup.desktop || :
-
-desktop-file-install --delete-original \
- --dir $RPM_BUILD_ROOT%{_datadir}/gdm/applications \
- $RPM_BUILD_ROOT%{_datadir}/gdm/applications/gdmflexiserver.desktop || :
-
rm -rf $RPM_BUILD_ROOT%{_localstatedir}/scrollkeeper
find $RPM_BUILD_ROOT -name '*.a' -delete
@@ -283,13 +276,13 @@
%{_datadir}/pixmaps/faces/*.png
%{_datadir}/pixmaps/faces/*.jpg
%{_datadir}/icons/hicolor/*/apps/*.png
-%{_datadir}/gdm
%{_libexecdir}/*
%{_sbindir}/*
%{_bindir}/*
+%{_datadir}/gdm/*.glade
%{_sysconfdir}/gconf/schemas/*.schemas
-%{_libdir}/bonobo/servers/GNOME_GdmUserSwitchApplet.server
-%{_datadir}/gnome-2.0/ui/GNOME_GdmUserSwitchApplet.xml
+%dir %{_datadir}/gdm
+%dir %{_datadir}/gdm/autostart
%dir %{_datadir}/gdm/autostart/LoginWindow
%dir %{_localstatedir}/log/gdm
%attr(1750, root, gdm) %dir %{_localstatedir}/lib/gdm/.gconf.mandatory
@@ -298,7 +291,18 @@
%attr(1770, root, gdm) %dir %{_localstatedir}/gdm
%attr(1770, root, gdm) %dir %{_localstatedir}/lib/gdm
+%files user-switch-applet
+%defattr(-, root, root)
+%{_libexecdir}/gdm-user-switch-applet
+%{_datadir}/gdm/gdm-user-switch-applet.glade
+%{_libdir}/bonobo/servers/GNOME_FastUserSwitchApplet.server
+%{_datadir}/gnome-2.0/ui/GNOME_FastUserSwitchApplet.xml
+
%changelog
+* Fri Feb 29 2008 Ray Strode <rstrode(a)redhat.com> - 1:2.21.9-0.2008.02.29.1
+- Update to snapshot
+- Split user-switcher out
+
* Mon Feb 25 2008 Jon McCann <jmccann(a)redhat.com> - 1:2.21.8-1
- Update to 2.21.8
Index: sources
===================================================================
RCS file: /cvs/pkgs/rpms/gdm/devel/sources,v
retrieving revision 1.73
retrieving revision 1.74
diff -u -r1.73 -r1.74
--- sources 26 Feb 2008 05:03:33 -0000 1.73
+++ sources 29 Feb 2008 22:04:23 -0000 1.74
@@ -1 +1 @@
-5eecea9d8466bcab8790699685f28b0b gdm-2.21.8.tar.gz
+7e8c358319a47254882f2504d24ce53c gdm-2.21.9.tar.gz
--- 2-new-chooser-widget.patch DELETED ---
--- 3-switch-user-chooser-over.patch DELETED ---
--- 4-switch-session-chooser-over.patch DELETED ---
--- 5-dont-shrink-in-test-program.patch DELETED ---
--- 6-session-chooser-in-login-window.patch DELETED ---
--- 7-login-window-animation.patch DELETED ---
--- 8-improve-animation.patch DELETED ---
--- gdm-2.21.2-fix-background.patch DELETED ---
--- gdm-2.21.2-hide-guest.patch DELETED ---
--- gdm-2.21.2-use-metacity.patch DELETED ---
--- gdm-2.21.8-validate-dmrc.patch DELETED ---
14Â years, 11Â months
rpms/gpodder/devel .cvsignore,1.12,1.13 sources,1.12,1.13
by fedora-extras-commitsï¼ redhat.com
Author: jspaleta
Update of /cvs/pkgs/rpms/gpodder/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv7288
Modified Files:
.cvsignore sources
Log Message:
I'm officially an idiot. Adding the correct sources this time.
-jef
Index: .cvsignore
===================================================================
RCS file: /cvs/pkgs/rpms/gpodder/devel/.cvsignore,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- .cvsignore 28 Feb 2008 06:31:49 -0000 1.12
+++ .cvsignore 29 Feb 2008 21:54:32 -0000 1.13
@@ -1 +1 @@
-gpodder-0.11.0-1.fc9.src.rpm
+gpodder-0.11.0.tar.gz
Index: sources
===================================================================
RCS file: /cvs/pkgs/rpms/gpodder/devel/sources,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- sources 28 Feb 2008 06:31:49 -0000 1.12
+++ sources 29 Feb 2008 21:54:32 -0000 1.13
@@ -1 +1 @@
-b8b0b57d10ec60557f01771629277a3d gpodder-0.11.0-1.fc9.src.rpm
+e83072a5083272cd26fcf031e2cc3654 gpodder-0.11.0.tar.gz
14Â years, 11Â months
rpms/telepathy-salut/OLPC-2 salut-olpc-6310.patch, NONE, 1.1 telepathy-salut.spec, 1.36, 1.37
by fedora-extras-commitsï¼ redhat.com
Author: daf
Update of /cvs/pkgs/rpms/telepathy-salut/OLPC-2
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv7221
Modified Files:
telepathy-salut.spec
Added Files:
salut-olpc-6310.patch
Log Message:
* Fri Feb 29 2008 Dafydd Harries <dafydd.harries(a)collabora.co.uk> - 0.2.2-5.olpc2
- dev.laptop.org #6310: crash in clique multicast code
salut-olpc-6310.patch:
--- NEW FILE salut-olpc-6310.patch ---
Fri Feb 29 19:54:30 CET 2008 Sjoerd Simons <sjoerd.simons(a)collabora.co.uk>
* Fix some small coding style issues
Fri Feb 29 19:48:48 CET 2008 Sjoerd Simons <sjoerd.simons(a)collabora.co.uk>
* GibberRMulticastSender: Don't assume that all packets between ->first_packet, and ->next_output_paxket exist
Fri Feb 29 18:57:44 CET 2008 Sjoerd Simons <sjoerd.simons(a)collabora.co.uk>
* GibberRMulticastSender: Fix repairing when the node has moved to pending_removal
Fri Feb 29 17:57:07 CET 2008 Sjoerd Simons <sjoerd.simons(a)collabora.co.uk>
* GibberRMulticastSenderGroup: WHOIS_REQUEST senders should be looked up by whois_request.sender_id in the packet
Fri Feb 29 17:28:11 CET 2008 Sjoerd Simons <sjoerd.simons(a)collabora.co.uk>
* GibberRMulticastSenderGroup: Fixed a silly bug where the condition in the forloop woud still true forever
Fri Feb 29 12:46:20 CET 2008 Sjoerd Simons <sjoerd.simons(a)collabora.co.uk>
* GibberRMulticast: Don't keep pending removals in the main hash, but put them in a seperate array. So we can start a new gathering session including them, while still being able to react on repair requests
Thu Feb 28 17:40:05 CET 2008 Sjoerd Simons <sjoerd.simons(a)collabora.co.uk>
* GibberRMulticastTransport: Ensure we wait for nodes to finish their failure process before completeling the JOIN
Thu Feb 28 17:39:26 CET 2008 Sjoerd Simons <sjoerd.simons(a)collabora.co.uk>
* GibberRMulticastTransport: reset the timeout to zero when the gathering phase has stopped, not strictly necessary, but nice anyway
Thu Feb 28 16:47:31 CET 2008 Sjoerd Simons <sjoerd.simons(a)collabora.co.uk>
* GibberRMulticastSender: Set the pending removal state before checking the queue length as the lenght partially depends on the state
Thu Feb 28 12:16:35 CET 2008 Sjoerd Simons <sjoerd.simons(a)collabora.co.uk>
* If we're resetting because the join failed, return JOIN_FAILED immediately
Thu Feb 28 12:16:08 CET 2008 Sjoerd Simons <sjoerd.simons(a)collabora.co.uk>
* Better debugging of sender garbage collection
Thu Feb 28 10:55:32 CET 2008 Sjoerd Simons <sjoerd.simons(a)collabora.co.uk>
* GibberRMulticast: Add more clear debugging information
diff -rN -u old-telepathy-salut-0.2/lib/gibber/gibber-r-multicast-causal-transport.c new-telepathy-salut-0.2/lib/gibber/gibber-r-multicast-causal-transport.c
--- old-telepathy-salut-0.2/lib/gibber/gibber-r-multicast-causal-transport.c 2008-02-29 21:09:11.000000000 +0100
+++ new-telepathy-salut-0.2/lib/gibber/gibber-r-multicast-causal-transport.c 2008-02-29 21:09:11.000000000 +0100
@@ -803,7 +803,6 @@
joined_multicast_receive (GibberRMulticastCausalTransport *self,
GibberRMulticastPacket *packet)
{
- GibberRMulticastSender *sender = NULL;
GibberRMulticastCausalTransportPrivate *priv =
GIBBER_R_MULTICAST_CAUSAL_TRANSPORT_GET_PRIVATE (self);
@@ -818,82 +817,58 @@
}
DEBUG_TRANSPORT (self, "New sender polling for a unique id");
+ /* Just try to push the packet once. If the id is known a whois reply
+ * will be scheduled otherwise it's dropped as should be */
+ gibber_r_multicast_sender_group_push_packet (priv->sender_group, packet);
+ return;
}
- else
- {
- /* All packets with non-zero sender fall go through here to start
- * detecting foreign packets as early as possible */
- sender = gibber_r_multicast_sender_group_lookup (priv->sender_group,
- packet->sender);
- if (sender == NULL ||
- (sender != priv->self &&
- sender->state == GIBBER_R_MULTICAST_SENDER_STATE_NEW))
- {
- DEBUG_TRANSPORT (self, "Foreign packet Received type: 0x%x from %x",
- packet->type, packet->sender);
- g_signal_emit (self, signals[RECEIVED_FOREIGN_PACKET], 0, packet);
- sender = gibber_r_multicast_sender_group_lookup (priv->sender_group,
- packet->sender);
- }
- }
+ if (packet->sender == self->sender_id)
+ /* Discard our own packets */
+ return;
- if (sender == NULL || sender == priv->self)
+ DEBUG_TRANSPORT (self, "Received packet type: 0x%x from %x",
+ packet->type, packet->sender);
+
+ if (!gibber_r_multicast_sender_group_push_packet (priv->sender_group,
+ packet))
{
- return;
+ /* No entries that could pick up the packet, signal a foreign message so
+ * the membership protocol can handle it if needed */
+ DEBUG_TRANSPORT (self, "Foreign packet Received type: 0x%x from %x",
+ packet->type, packet->sender);
+ g_signal_emit (self, signals[RECEIVED_FOREIGN_PACKET], 0, packet);
+
+ /* Retry the push. the signal handler might have added it */
+ if (!gibber_r_multicast_sender_group_push_packet (priv->sender_group,
+ packet))
+ return;
}
- DEBUG_TRANSPORT (self, "Received packet type: 0x%x from %x",
- packet->type, packet->sender);
+ /* The packet was picked up by one of the nodes, time for some
+ * postprocessing */
switch (packet->type)
{
- case PACKET_TYPE_WHOIS_REQUEST:
- sender = gibber_r_multicast_sender_group_lookup (priv->sender_group,
- packet->data.whois_request.sender_id);
- if (sender == NULL)
+ case PACKET_TYPE_WHOIS_REQUEST:
+ case PACKET_TYPE_WHOIS_REPLY:
+ case PACKET_TYPE_REPAIR_REQUEST:
+ /* No postprocessing needed */
+ break;
+ case PACKET_TYPE_SESSION:
+ handle_session_message (self, packet);
break;
- /* fallthrough */
- case PACKET_TYPE_WHOIS_REPLY:
- gibber_r_multicast_sender_whois_push (sender, packet);
- break;
- case PACKET_TYPE_REPAIR_REQUEST:
- {
- GibberRMulticastSender *rsender;
- guint32 sender_id;
-
- sender_id = packet->data.repair_request.sender_id;
- rsender = gibber_r_multicast_sender_group_lookup (priv->sender_group,
- sender_id);
-
- g_assert (sender_id != 0);
-
- if (rsender != NULL)
- {
- gibber_r_multicast_sender_repair_request (rsender,
- packet->data.repair_request.packet_id);
- }
- else
- {
- DEBUG ("Ignoring repair request for unknown original sender");
- }
- break;
- }
- case PACKET_TYPE_SESSION:
- handle_session_message (self, packet);
- break;
- default:
- if (GIBBER_R_MULTICAST_PACKET_IS_RELIABLE_PACKET (packet))
- {
- handle_packet_depends (self, packet);
- gibber_r_multicast_sender_push (sender, packet);
- }
- else
- {
- DEBUG_TRANSPORT (self, "Received unhandled packet type!!, ignoring");
- }
- }
-
+ default:
+ if (GIBBER_R_MULTICAST_PACKET_IS_RELIABLE_PACKET (packet))
+ {
+ handle_packet_depends (self, packet);
+ }
+ else
+ {
+ DEBUG_TRANSPORT (self,
+ "Received unhandled packet type!!, ignoring");
+ }
+ }
}
/* Packet received while disconnecting. Only react on repair requests and
diff -rN -u old-telepathy-salut-0.2/lib/gibber/gibber-r-multicast-sender.c new-telepathy-salut-0.2/lib/gibber/gibber-r-multicast-sender.c
--- old-telepathy-salut-0.2/lib/gibber/gibber-r-multicast-sender.c 2008-02-29 21:09:11.000000000 +0100
+++ new-telepathy-salut-0.2/lib/gibber/gibber-r-multicast-sender.c 2008-02-29 21:09:11.000000000 +0100
@@ -61,9 +61,50 @@
* fauly */
#define NAME_DISCOVERY_TIME 10000
+#define GIBBER_R_MULTICAST_SENDER_GET_PRIVATE(o) \
+ (G_TYPE_INSTANCE_GET_PRIVATE ((o), GIBBER_TYPE_R_MULTICAST_SENDER, \
+ GibberRMulticastSenderPrivate))
+
+/* private structure */
+typedef struct _GibberRMulticastSenderPrivate GibberRMulticastSenderPrivate;
+
static void set_state (GibberRMulticastSender *sender,
GibberRMulticastSenderState state);
+struct _GibberRMulticastSenderPrivate
+{
+ gboolean dispose_has_run;
+ /* hash table with packets */
+ GHashTable *packet_cache;
+
+ /* Table with acks per sender
+ * guint32 * => owned AckInfo * */
+ GHashTable *acks;
+
+ /* Sendergroup to which we belong */
+ GibberRMulticastSenderGroup *group;
+
+ /* Very first packet number in the current window */
+ guint32 first_packet;
+
+ /* whois reply/request timer */
+ guint whois_timer;
+
+ /* timer untill which a failure even occurs */
+ guint fail_timer;
+
+ /* Whether we are holding back data currently */
+ gboolean holding_data;
+ guint32 holding_point;
+
+ /* Whether we went know the data starting point or not */
+ gboolean start_data;
+ guint32 start_point;
+
+ /* Endpoint is just there in case we are in failure mode */
+ guint32 end_point;
+};
+
typedef struct {
guint32 sender_id;
guint32 packet_id;
@@ -104,6 +145,7 @@
result->senders = g_hash_table_new_full (g_direct_hash, g_direct_equal,
NULL, g_object_unref);
result->pop_queue = g_queue_new();
+ result->pending_removal = g_ptr_array_new ();
return result;
}
@@ -111,10 +153,22 @@
gibber_r_multicast_sender_group_free (GibberRMulticastSenderGroup *group)
{
GHashTable *h;
+ int i;
+
g_assert (group->popping == FALSE);
+
h = group->senders;
group->senders = NULL;
g_hash_table_destroy (h);
+
+ for (i = 0; i < group->pending_removal->len ; i++)
+ {
+ g_object_unref (G_OBJECT (
+ g_ptr_array_index (group->pending_removal, i)));
+ }
+
+ g_ptr_array_free (group->pending_removal, TRUE);
+
g_queue_free (group->pop_queue);
g_slice_free (GibberRMulticastSenderGroup, group);
}
@@ -169,6 +223,39 @@
return g_hash_table_find (group->senders, find_by_name, (gpointer) name);
}
+static void
+cleanup_acks (gpointer key, gpointer value, gpointer user_data)
+{
+ GibberRMulticastSender *sender = GIBBER_R_MULTICAST_SENDER (value);
+ GibberRMulticastSenderPrivate *priv =
+ GIBBER_R_MULTICAST_SENDER_GET_PRIVATE (sender);
+
+ g_hash_table_remove (priv->acks, (guint32 *) user_data);
+}
+
+static void
+gibber_r_multicast_sender_group_gc_acks (GibberRMulticastSenderGroup *group,
+ guint32 sender_id)
+{
+ int i;
+ GibberRMulticastSender *s;
+ /* If there are no more senders for sender_id in the list, clean up the acks
+ */
+ if (g_hash_table_lookup (group->senders, GUINT_TO_POINTER (sender_id))
+ != NULL)
+ return;
+
+ for (i = 0; i < group->pending_removal->len ; i++)
+ {
+ s = GIBBER_R_MULTICAST_SENDER (
+ g_ptr_array_index (group->pending_removal, i));
+ if (s->id == sender_id)
+ return;
+ }
+
+ g_hash_table_foreach (group->senders, cleanup_acks, &sender_id);
+}
+
void
gibber_r_multicast_sender_group_remove (GibberRMulticastSenderGroup *group,
guint32 sender_id)
@@ -186,16 +273,20 @@
}
g_queue_remove (group->pop_queue, s);
+ set_state (s, GIBBER_R_MULTICAST_SENDER_STATE_PENDING_REMOVAL);
+
if (gibber_r_multicast_sender_packet_cache_size (s) > 0)
{
DEBUG ("Keeping %x in cache, %d items left", sender_id,
gibber_r_multicast_sender_packet_cache_size(s));
gibber_r_multicast_sender_stop (s);
- set_state (s, GIBBER_R_MULTICAST_SENDER_STATE_PENDING_REMOVAL);
+ g_hash_table_steal (group->senders, GUINT_TO_POINTER (sender_id));
+ g_ptr_array_add (group->pending_removal, s);
}
else
{
g_hash_table_remove (group->senders, GUINT_TO_POINTER(sender_id));
+ gibber_r_multicast_sender_group_gc_acks (group, sender_id);
}
}
@@ -315,20 +406,24 @@
}
static gboolean
-gc_failures (gpointer key, gpointer value, gpointer user_data)
+can_gc_sender (GibberRMulticastSenderGroup *group,
+ GibberRMulticastSender *sender)
{
- GibberRMulticastSender *sender = GIBBER_R_MULTICAST_SENDER (value);
- GibberRMulticastSenderGroup *group =
- (GibberRMulticastSenderGroup *) user_data;
struct _group_ht_data hd;
-
- if (sender->state < GIBBER_R_MULTICAST_SENDER_STATE_PENDING_REMOVAL)
- return FALSE;
+ GibberRMulticastSender *ret;
hd.group = group;
hd.target = sender;
- return g_hash_table_find (group->senders, failure_not_acked, &hd) == NULL;
+ ret = g_hash_table_find (group->senders, failure_not_acked, &hd);
+
+ if (ret == NULL)
+ DEBUG_SENDER (sender, "Removed by GC");
+ else
+ DEBUG_SENDER (sender, "Not removed by GC because of %s (%x)",
+ ret->name, ret->id);
+
+ return ret == NULL;
}
void
@@ -354,7 +449,141 @@
g_array_free (array, TRUE);
- g_hash_table_foreach_remove (group->senders, gc_failures, group);
+ /* Check if we can remove pending removals */
+ for (i = 0; i < group->pending_removal->len ; i++)
+ {
+ GibberRMulticastSender *s;
+
+ s = GIBBER_R_MULTICAST_SENDER (g_ptr_array_index (group->pending_removal,
+ i));
+ if (can_gc_sender (group, s));
+ {
+ g_ptr_array_remove_index_fast (group->pending_removal, i);
+ gibber_r_multicast_sender_group_gc_acks (group, s->id);
+ g_object_unref (s);
+ /* Last entry has replaced i, so force a retry of i */
+ i--;
+ }
+ }
+}
+
+gboolean
+gibber_r_multicast_sender_group_push_packet (
+ GibberRMulticastSenderGroup *group, GibberRMulticastPacket *packet)
+{
+ gboolean handled = FALSE;
+ GibberRMulticastSender *sender;
+ int i;
+
+ if (packet->type == PACKET_TYPE_WHOIS_REQUEST)
+ sender = gibber_r_multicast_sender_group_lookup (group,
+ packet->data.whois_request.sender_id);
+ else
+ sender = gibber_r_multicast_sender_group_lookup (group,
+ packet->sender);
+
+ switch (packet->type)
+ {
+ case PACKET_TYPE_WHOIS_REQUEST:
+ /* Pending removal nodes still reply to WHOIS_REQUEST to prevent new
+ * nodes from taking the same id */
+ if (sender == NULL)
+ {
+ GibberRMulticastSender *s;
+ for (i = 0; i < group->pending_removal->len ; i++)
+ {
+ s = GIBBER_R_MULTICAST_SENDER (
+ g_ptr_array_index (group->pending_removal, i));
+ if (s->id == packet->data.whois_request.sender_id)
+ {
+ sender = s;
+ break;
+ }
+ }
+ }
+ /* fallthrough */
+ case PACKET_TYPE_WHOIS_REPLY:
+ if (sender != NULL)
+ {
+ gibber_r_multicast_sender_whois_push (sender, packet);
+ handled = TRUE;
+ }
+ break;
+ case PACKET_TYPE_REPAIR_REQUEST:
+ {
+ GibberRMulticastSender *rsender;
+ guint32 sender_id = packet->data.repair_request.sender_id;
+ guint32 packet_id = packet->data.repair_request.packet_id;
+
+ rsender = gibber_r_multicast_sender_group_lookup (group, sender_id);
+
+ g_assert (sender_id != 0);
+
+ if (rsender != NULL &&
+ gibber_r_multicast_sender_repair_request (rsender, packet_id))
+ {
+ /* rsender took up the repair request. */
+ handled = TRUE;
+ break;
+ }
+
+ for (i = 0; i < group->pending_removal->len ; i++)
+ {
+ rsender = GIBBER_R_MULTICAST_SENDER (
+ g_ptr_array_index (group->pending_removal, i));
+ if (rsender->id == sender_id)
+ {
+ if (gibber_r_multicast_sender_repair_request (rsender,
+ packet_id))
+ {
+ handled = TRUE;
+ break;
+ }
+ }
+ }
+ DEBUG ("Ignoring repair request for unknown original sender");
+ break;
+ }
+ case PACKET_TYPE_SESSION:
+ /* Session message aren't handled by us. But if we know the sender it's
+ * at least not a foreign sender */
+ if (sender != NULL)
+ handled = TRUE;
+ break;
+ default:
+ if (GIBBER_R_MULTICAST_PACKET_IS_RELIABLE_PACKET (packet))
+ {
+ if (sender != NULL
+ && sender->state > GIBBER_R_MULTICAST_SENDER_STATE_NEW )
+ {
+ gibber_r_multicast_sender_push (sender, packet);
+ handled = TRUE;
+ }
+ else
+ {
+ for (i = 0; i < group->pending_removal->len ; i++)
+ {
+ sender = GIBBER_R_MULTICAST_SENDER (
+ g_ptr_array_index (group->pending_removal, i));
+ if (sender->id == packet->sender)
+ {
+ /* Say we have handled a reliable packet if there is any
+ * node to remove with the right sender id.. This means
+ * we handle packets for a removed sender longer than
+ * strictly needed, but this doesn't hurt */
+ handled = TRUE;
+ break;
+ }
+ }
+ }
+ }
+ else
+ {
+ DEBUG ("Received unhandled packet type!!, ignoring");
+ }
+ }
+
+ return handled;
}
static void schedule_repair(GibberRMulticastSender *sender, guint32 id);
@@ -420,45 +649,6 @@
return result;
}
-/* private structure */
-typedef struct _GibberRMulticastSenderPrivate GibberRMulticastSenderPrivate;
-
-struct _GibberRMulticastSenderPrivate
-{
- gboolean dispose_has_run;
- /* hash table with packets */
- GHashTable *packet_cache;
-
- /* Table with acks per sender
- * guint32 * => owned AckInfo * */
- GHashTable *acks;
-
- /* Sendergroup to which we belong */
- GibberRMulticastSenderGroup *group;
-
- /* Very first packet number in the current window */
- guint32 first_packet;
-
- /* whois reply/request timer */
- guint whois_timer;
-
- /* timer untill which a failure even occurs */
- guint fail_timer;
-
- /* Whether we are holding back data currently */
- gboolean holding_data;
- guint32 holding_point;
-
- /* Whether we went know the data starting point or not */
- gboolean start_data;
- guint32 start_point;
-
- /* Endpoint is just there in case we are in failure mode */
- guint32 end_point;
-};
-
-#define GIBBER_R_MULTICAST_SENDER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GIBBER_TYPE_R_MULTICAST_SENDER, GibberRMulticastSenderPrivate))
-
static void
gibber_r_multicast_sender_init (GibberRMulticastSender *obj)
{
@@ -592,17 +782,6 @@
param_spec);
}
-static void
-cleanup_acks (gpointer key, gpointer value, gpointer user_data)
-{
- GibberRMulticastSender *sender = GIBBER_R_MULTICAST_SENDER (value);
- GibberRMulticastSenderPrivate *priv =
- GIBBER_R_MULTICAST_SENDER_GET_PRIVATE (sender);
- GibberRMulticastSender *target = GIBBER_R_MULTICAST_SENDER (user_data);
-
- g_hash_table_remove (priv->acks, &target->id);
-}
-
void
gibber_r_multicast_sender_dispose (GObject *object)
{
@@ -617,9 +796,6 @@
priv->dispose_has_run = TRUE;
- if (priv->group->senders != NULL)
- g_hash_table_foreach (priv->group->senders, cleanup_acks, self);
-
g_hash_table_destroy(priv->packet_cache);
g_hash_table_destroy(priv->acks);
@@ -1519,9 +1695,9 @@
GibberRMulticastSenderPrivate *priv =
GIBBER_R_MULTICAST_SENDER_GET_PRIVATE (sender);
+ DEBUG_SENDER (sender, "Updating start to %x", packet_id);
g_assert (sender->state < GIBBER_R_MULTICAST_SENDER_STATE_FAILED);
- DEBUG_SENDER (sender, "Updating start to %x", packet_id);
if (sender->state == GIBBER_R_MULTICAST_SENDER_STATE_NEW) {
g_assert(g_hash_table_size(priv->packet_cache) == 0);
@@ -1643,32 +1819,32 @@
sender->next_output_packet, sender->next_input_packet);
}
-void
+gboolean
gibber_r_multicast_sender_repair_request(GibberRMulticastSender *sender,
guint32 id) {
GibberRMulticastSenderPrivate *priv =
GIBBER_R_MULTICAST_SENDER_GET_PRIVATE (sender);
gint diff;
+ PacketInfo *info;
if (sender->state < GIBBER_R_MULTICAST_SENDER_STATE_PREPARING) {
DEBUG_SENDER(sender, "ignore repair request");
- return;
+ return FALSE;
}
+ info = g_hash_table_lookup(priv->packet_cache, &id);
+ if (info != NULL && info->packet != NULL)
+ {
+ schedule_do_repair(sender, id);
+ return TRUE;
+ }
+
diff = gibber_r_multicast_packet_diff(sender->next_output_packet, id);
if (diff >= 0 && diff < PACKET_CACHE_SIZE) {
- PacketInfo *info = g_hash_table_lookup(priv->packet_cache, &id);
-
- if (info != NULL && info->packet != NULL)
- {
- schedule_do_repair(sender, id);
- return;
- }
-
if (sender->state >= GIBBER_R_MULTICAST_SENDER_STATE_STOPPED)
/* Beyond stopped state we only send out repairs for packets we have */
- return;
+ return FALSE;
if (info == NULL) {
guint32 i;
@@ -1686,16 +1862,14 @@
info->timeout = 0;
schedule_repair(sender, id);
}
- }
- if (diff < 0
- && gibber_r_multicast_packet_diff(priv->first_packet, id) >= 0) {
- schedule_do_repair(sender, id);
- return;
+ return TRUE;
}
DEBUG_SENDER(sender, "Repair request packet 0x%x out of range, ignoring",
id);
+
+ return FALSE;
}
gboolean
diff -rN -u old-telepathy-salut-0.2/lib/gibber/gibber-r-multicast-sender.h new-telepathy-salut-0.2/lib/gibber/gibber-r-multicast-sender.h
--- old-telepathy-salut-0.2/lib/gibber/gibber-r-multicast-sender.h 2008-02-29 21:09:11.000000000 +0100
+++ new-telepathy-salut-0.2/lib/gibber/gibber-r-multicast-sender.h 2008-02-29 21:09:11.000000000 +0100
@@ -36,8 +36,10 @@
/* <private> */
gboolean popping;
gboolean stopped;
- /* queue of GibberRMulticast GibberRMulticastSender * */
+ /* queue of GibberRMulticast GibberRMulticastSender */
GQueue *pop_queue;
+ /* GArray of pending removal GibberRMulticastSenders */
+ GPtrArray *pending_removal;
};
typedef struct _GibberRMulticastSender GibberRMulticastSender;
@@ -116,6 +118,8 @@
void gibber_r_multicast_sender_group_remove (
GibberRMulticastSenderGroup *group, guint32 sender_id);
+gboolean gibber_r_multicast_sender_group_push_packet (
+ GibberRMulticastSenderGroup *group, GibberRMulticastPacket *packet);
GibberRMulticastSender *gibber_r_multicast_sender_new (guint32 id,
const gchar *name, GibberRMulticastSenderGroup *group);
@@ -151,7 +155,7 @@
gboolean
gibber_r_multicast_sender_seen(GibberRMulticastSender *sender, guint32 id);
-void
+gboolean
gibber_r_multicast_sender_repair_request(GibberRMulticastSender *sender,
guint32 id);
diff -rN -u old-telepathy-salut-0.2/lib/gibber/gibber-r-multicast-transport.c new-telepathy-salut-0.2/lib/gibber/gibber-r-multicast-transport.c
--- old-telepathy-salut-0.2/lib/gibber/gibber-r-multicast-transport.c 2008-02-29 21:09:11.000000000 +0100
+++ new-telepathy-salut-0.2/lib/gibber/gibber-r-multicast-transport.c 2008-02-29 21:09:11.000000000 +0100
@@ -635,6 +635,7 @@
{
stop_send_attempt_join (self);
g_source_remove (priv->joining_timeout);
+ priv->joining_timeout = 0;
/* every member with state >= MEMBER_STATE_ATTEMPT_JOIN_REPEAT, will be
* in our join */
g_assert (priv->send_join == NULL);
@@ -1102,7 +1103,7 @@
return FALSE;
}
- DEBUG ("%x didn't fail %x on time", info->id, *id);
+ DEBUG ("At least %x didn't fail %x", info->id, *id);
return TRUE;
}
@@ -1214,6 +1215,8 @@
while ((tinfo = g_hash_table_find (priv->members, find_unfailed_member,
&info->id)) != NULL)
{
+ DEBUG ("Failing %x because it didn't fail %x in time", tinfo->id,
+ info->id);
fail_member (self, NULL, tinfo->id);
}
@@ -1346,6 +1349,7 @@
* the failures.. Should be handled earlier. but reset anyways */
DEBUG ("Join doesn't contain us, shouldn't happen, reset to be sure :(");
gibber_r_multicast_transport_reset (self);
+ return JOIN_FAILED;
}
seen = 0;
@@ -1413,7 +1417,12 @@
if (info == NULL)
continue;
- if (info->state >= MEMBER_STATE_FAILING)
+ /* send_join only contains members we didn't consider as failures at the
+ * time of the join message. The failure process for those has to be
+ * completely done before we can discard them, as it might have send out
+ * a JOIN we just hadn't received just yet.. Only after their failing
+ * has finished the state gets set to MEMBER_STATE_INSTANT_FAILURE */
+ if (info->state >= MEMBER_STATE_INSTANT_FAILURE)
continue;
if (!info->agreed_join)
Index: telepathy-salut.spec
===================================================================
RCS file: /cvs/pkgs/rpms/telepathy-salut/OLPC-2/telepathy-salut.spec,v
retrieving revision 1.36
retrieving revision 1.37
diff -u -r1.36 -r1.37
--- telepathy-salut.spec 26 Feb 2008 23:41:48 -0000 1.36
+++ telepathy-salut.spec 29 Feb 2008 21:53:57 -0000 1.37
@@ -1,6 +1,6 @@
Name: telepathy-salut
Version: 0.2.2
-Release: 4%{?dist}
+Release: 5%{?dist}
Summary: Link-local XMPP telepathy connection manager
Group: Applications/Communications
@@ -11,6 +11,7 @@
Patch1: salut-chmod-unix-socket.patch
Patch2: salut-stream-tube-fix.patch
Patch3: salut-unknown-sender-crash.patch
+Patch4: salut-olpc-6310.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: dbus-devel >= 1.1.0
@@ -39,6 +40,7 @@
%patch1 -p1 -b .chmod-socket
%patch2 -p1 -b .stream-tube
%patch3 -p1 -b .unknown-sender
+%patch4 -p1 -b .6310
%build
@@ -64,6 +66,9 @@
%{_mandir}/man8/%{name}.8.gz
%changelog
+* Fri Feb 29 2008 Dafydd Harries <dafydd.harries(a)collabora.co.uk> - 0.2.2-5.olpc2
+- dev.laptop.org #6310: crash in clique multicast code
+
* Tue Feb 26 2008 Dafydd Harries <dafydd.harries(a)collabora.co.uk> - 0.2.2-4.olpc2
- dev.laptop.org #6390: crash when trying to remove unknown senders
14Â years, 11Â months
rpms/ipa/devel ipa.spec,1.4,1.5 sources,1.4,1.5
by fedora-extras-commitsï¼ redhat.com
Author: rcritten
Update of /cvs/extras/rpms/ipa/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv7080
Modified Files:
ipa.spec sources
Log Message:
Pull upstream changelog 698
Fix ownership of /var/log/ipa_error.log during install (435119)
Add pwpolicy command and man page
Index: ipa.spec
===================================================================
RCS file: /cvs/extras/rpms/ipa/devel/ipa.spec,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- ipa.spec 22 Feb 2008 22:09:24 -0000 1.4
+++ ipa.spec 29 Feb 2008 21:47:06 -0000 1.5
@@ -6,7 +6,7 @@
Name: ipa
Version: 0.99
-Release: 10%{?dist}
+Release: 11%{?dist}
Summary: The Identity, Policy and Audit system
Group: System Environment/Base
@@ -210,6 +210,9 @@
/sbin/chkconfig --add ipa_kpasswd
/sbin/chkconfig --add ipa_webgui
fi
+/bin/touch /var/log/ipa_error.log
+/bin/chown apache /var/log/ipa_error.log
+/bin/chmod 600 /var/log/ipa_error.log
%preun server
if [ $1 = 0 ]; then
@@ -345,6 +348,7 @@
%{_sbindir}/ipa-moddelegation
%{_sbindir}/ipa-passwd
%{_sbindir}/ipa-moduser
+%{_sbindir}/ipa-pwpolicy
%{_mandir}/man1/ipa-adddelegation.1.gz
%{_mandir}/man1/ipa-addgroup.1.gz
%{_mandir}/man1/ipa-addservice.1.gz
@@ -363,6 +367,7 @@
%{_mandir}/man1/ipa-moddelegation.1.gz
%{_mandir}/man1/ipa-passwd.1.gz
%{_mandir}/man1/ipa-moduser.1.gz
+%{_mandir}/man1/ipa-pwpolicy.1.gz
%files python
%doc LICENSE README
@@ -393,6 +398,11 @@
%{_sbindir}/ipa-modradiusprofile
%changelog
+* Thu Feb 29 2008 Rob Crittenden <rcritten(a)redhat.com> 0.99-11
+- Pull upstream changelog 698
+- Fix ownership of /var/log/ipa_error.log during install (435119)
+- Add pwpolicy command and man page
+
* Thu Feb 21 2008 Rob Crittenden <rcritten(a)redhat.com> 0.99-10
- Pull upstream changelog 678
- Add new subpackage, ipa-server-selinux
Index: sources
===================================================================
RCS file: /cvs/extras/rpms/ipa/devel/sources,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- sources 22 Feb 2008 22:09:24 -0000 1.4
+++ sources 29 Feb 2008 21:47:06 -0000 1.5
@@ -1 +1 @@
-c7a34e9f06f2685681fc2f1a47cc7ad9 freeipa-0.99.tar.gz
+f3ef12445450381932412e603c51e50e freeipa-0.99.tar.gz
14Â years, 11Â months
rpms/polyester3/devel .cvsignore, 1.2, 1.3 polyester3.spec, 1.1, 1.2 sources, 1.2, 1.3
by fedora-extras-commitsï¼ redhat.com
Author: svahl
Update of /cvs/extras/rpms/polyester3/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv6942
Modified Files:
.cvsignore polyester3.spec sources
Log Message:
* Fri Feb 29 2008 Sebastian Vahl <fedora(a)deadbabylon.de> - 1.0.4-1
- new upstream version: 1.0.4
Index: .cvsignore
===================================================================
RCS file: /cvs/extras/rpms/polyester3/devel/.cvsignore,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- .cvsignore 9 Feb 2008 23:01:13 -0000 1.2
+++ .cvsignore 29 Feb 2008 21:41:56 -0000 1.3
@@ -1 +1 @@
-polyester-1.0.3.tar.bz2
+polyester-1.0.4.tar.bz2
Index: polyester3.spec
===================================================================
RCS file: /cvs/extras/rpms/polyester3/devel/polyester3.spec,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- polyester3.spec 9 Feb 2008 23:01:13 -0000 1.1
+++ polyester3.spec 29 Feb 2008 21:41:56 -0000 1.2
@@ -1,5 +1,5 @@
Name: polyester3
-Version: 1.0.3
+Version: 1.0.4
Release: 1%{?dist}
Summary: A style for KDE3
@@ -67,8 +67,11 @@
%{_datadir}/apps/kstyle/themes/polyester.themerc
%changelog
+* Fri Feb 29 2008 Sebastian Vahl <fedora(a)deadbabylon.de> - 1.0.4-1
+- new upstream version: 1.0.4
+
* Thu Jan 17 2008 Sebastian Vahl <fedora(a)deadbabylon.de> - 1.0.3-1
-- new upstream version
+- new upstream version: 1.0.3
* Wed Jan 16 2008 Sebastian Vahl <fedora(a)deadbabylon.de> - 1.0.2-1
- Initial version for the kde3 only style
Index: sources
===================================================================
RCS file: /cvs/extras/rpms/polyester3/devel/sources,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- sources 9 Feb 2008 23:01:13 -0000 1.2
+++ sources 29 Feb 2008 21:41:56 -0000 1.3
@@ -1 +1 @@
-673d21db31eeaedf9b63cd09f6b247a8 polyester-1.0.3.tar.bz2
+7d08b3ecedb8a4cd725f17b6f165f29d polyester-1.0.4.tar.bz2
14Â years, 11Â months
rpms/kdebase-workspace/devel kdebase-workspace.spec, 1.39, 1.40 kdebase-workspace-4.0.1-kde#155974.patch, 1.1, NONE
by fedora-extras-commitsï¼ redhat.com
Author: kkofler
Update of /cvs/pkgs/rpms/kdebase-workspace/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv6679/devel
Modified Files:
kdebase-workspace.spec
Removed Files:
kdebase-workspace-4.0.1-kde#155974.patch
Log Message:
* Fri Feb 29 2008 Kevin Kofler <Kevin(a)tigcc.ticalc.org> 4.0.2-2
- drop upstreamed kde#155974 patch
Index: kdebase-workspace.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kdebase-workspace/devel/kdebase-workspace.spec,v
retrieving revision 1.39
retrieving revision 1.40
diff -u -r1.39 -r1.40
--- kdebase-workspace.spec 28 Feb 2008 18:01:59 -0000 1.39
+++ kdebase-workspace.spec 29 Feb 2008 21:38:42 -0000 1.40
@@ -6,7 +6,7 @@
Name: kdebase-workspace
Version: 4.0.2
-Release: 1%{?dist}
+Release: 2%{?dist}
Source0: ftp://ftp.kde.org/pub/kde/stable/%{version}/src/kdebase-workspace-%{versi...
License: GPLv2
Group: User Interface/Desktops
@@ -18,10 +18,6 @@
# http://bugs.kde.org/155362 (show Name in addition to GenericName in simple menu)
# backported from trunk (KDE 4.1): http://websvn.kde.org/?view=rev&revision=762886
Patch3: kdebase-workspace-4.0.1-kde#155362.patch
-# http://bugs.kde.org/155974 (allow taskbar to have more than one row of items)
-# backported from trunk (KDE 4.1): http://websvn.kde.org/?view=rev&revision=763873
-# This will be in 4.0.2: http://websvn.kde.org/?view=rev&revision=775713
-Patch4: kdebase-workspace-4.0.1-kde#155974.patch
# upgrade path for former kde-redhat'ers
Obsoletes: kdebase-kdm < 6:%{version}-%{release}
@@ -109,7 +105,6 @@
# ConsoleKit support for KDM (#228111, kde#147790)
%patch2 -p1 -b .consolekit
%patch3 -p1 -b .kde#155362
-%patch4 -p0 -b .kde#155974
%build
@@ -223,6 +218,9 @@
%changelog
+* Fri Feb 29 2008 Kevin Kofler <Kevin(a)tigcc.ticalc.org> 4.0.2-2
+- drop upstreamed kde#155974 patch
+
* Thu Feb 28 2008 Than Ngo <than(a)redhat.com> 4.0.2-1
- 4.0.2
--- kdebase-workspace-4.0.1-kde#155974.patch DELETED ---
14Â years, 11Â months
rpms/wyrd/devel .cvsignore, 1.3, 1.4 sources, 1.3, 1.4 wyrd-1.4.3b-02-CVE-2008-0806.patch, 1.1, NONE
by fedora-extras-commitsï¼ redhat.com
Author: till
Update of /cvs/pkgs/rpms/wyrd/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv6607
Modified Files:
.cvsignore sources
Removed Files:
wyrd-1.4.3b-02-CVE-2008-0806.patch
Log Message:
* Fri Feb 22 2008 Till Maas <opensource till name> - 1.4.4-1
- update to latest version that fixes CVE-2008-0806 in a different way
- update URL/SOURCE to new location
- remove ExcludeArch, because ocaml is now available for ppc64
Index: .cvsignore
===================================================================
RCS file: /cvs/pkgs/rpms/wyrd/devel/.cvsignore,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- .cvsignore 21 Feb 2008 09:03:35 -0000 1.3
+++ .cvsignore 29 Feb 2008 21:35:20 -0000 1.4
@@ -1 +1 @@
-wyrd-1.4.3b.tar.gz
+wyrd-1.4.4.tar.gz
Index: sources
===================================================================
RCS file: /cvs/pkgs/rpms/wyrd/devel/sources,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- sources 21 Feb 2008 09:03:35 -0000 1.3
+++ sources 29 Feb 2008 21:35:20 -0000 1.4
@@ -1 +1 @@
-d428191d81769894cf773b8de6cae7ac wyrd-1.4.3b.tar.gz
+a376c05ba614625da06082d850c742c7 wyrd-1.4.4.tar.gz
--- wyrd-1.4.3b-02-CVE-2008-0806.patch DELETED ---
14Â years, 11Â months
rpms/kdebase/devel kdebase.spec,1.300,1.301
by fedora-extras-commitsï¼ redhat.com
Author: kkofler
Update of /cvs/pkgs/rpms/kdebase/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv6476/devel
Modified Files:
kdebase.spec
Log Message:
Number the patch. (Yes, there's just one, but if we add another one, it becomes a mess. ;-) )
Index: kdebase.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kdebase/devel/kdebase.spec,v
retrieving revision 1.300
retrieving revision 1.301
diff -u -r1.300 -r1.301
--- kdebase.spec 29 Feb 2008 08:42:08 -0000 1.300
+++ kdebase.spec 29 Feb 2008 21:33:25 -0000 1.301
@@ -24,7 +24,7 @@
URL: http://www.kde.org/
Source0: ftp://ftp.kde.org/pub/kde/stable/%{version}/src/kdebase-%{version}.tar.bz2
# upstream patches
-Patch: kdebase-4.0.2-favicons.patch
+Patch0: kdebase-4.0.2-favicons.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: kde-filesystem >= 4
@@ -130,7 +130,7 @@
%prep
%setup -q -n kdebase-%{version}
-%patch -p0 -b .favicons
+%patch0 -p0 -b .favicons
%build
14Â years, 11Â months
rpms/wyrd/devel wyrd.spec,1.4,1.5
by fedora-extras-commitsï¼ redhat.com
Author: till
Update of /cvs/pkgs/rpms/wyrd/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv6436
Modified Files:
wyrd.spec
Log Message:
* Fri Feb 22 2008 Till Maas <opensource till name> - 1.4.4-1
- update to latest version that fixes CVE-2008-0806 in a different way
- update URL/SOURCE to new location
- remove ExcludeArch, because ocaml is now available for ppc64
Index: wyrd.spec
===================================================================
RCS file: /cvs/pkgs/rpms/wyrd/devel/wyrd.spec,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- wyrd.spec 21 Feb 2008 09:03:35 -0000 1.4
+++ wyrd.spec 29 Feb 2008 21:32:59 -0000 1.5
@@ -1,21 +1,20 @@
Name: wyrd
-Version: 1.4.3b
+Version: 1.4.4
Release: 1%{?dist}
Summary: A ncurses frontend for the calendar application remind
Group: Applications/Productivity
License: GPLv2
-URL: http://www.eecs.umich.edu/~pelzlpj/wyrd/
-Source0: http://www.eecs.umich.edu/~pelzlpj/wyrd/wyrd-%{version}.tar.gz
+URL: http://pessimization.com/software/wyrd/
+Source0: http://pessimization.com/software/wyrd/wyrd-%{version}.tar.gz
Source1: wyrd-wyrdrc.local
Patch0: wyrd-1.4.3-wyrdrc-local.patch
-Patch1: wyrd-1.4.3b-02-CVE-2008-0806.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
# There is no ocaml for ppc64
# Bugs: https://bugzilla.redhat.com/344581 (wyrd)
# https://bugzilla.redhat.com/239077 (ocaml)
-ExcludeArch: ppc64
+#ExcludeArch: ppc64
BuildRequires: ocaml remind ncurses-devel
# can be removed when F7 is EOL
BuildRequires: camlp4
@@ -32,7 +31,6 @@
%prep
%setup -q
%patch0 -p1
-%patch1 -p1 -b .02-CVE-2008-0806
%build
@@ -62,6 +60,11 @@
%changelog
+* Fri Feb 22 2008 Till Maas <opensource till name> - 1.4.4-1
+- update to latest version that fixes CVE-2008-0806 in a different way
+- update URL/SOURCE to new location
+- remove ExcludeArch, because ocaml is now available for ppc64
+
* Thu Feb 21 2008 Till Maas <opensource till name> - 1.4.3b-1
- update to latest version
- include patch from debian to fix CVE-2008-0806
14Â years, 11Â months