summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFrançois Andriot <albator78@libertysurf.fr>2013-12-28 17:33:42 +0100
committerFrançois Andriot <albator78@libertysurf.fr>2013-12-28 17:33:42 +0100
commitf2b702ffebf729f632c9fe8dadd8fa06660832d7 (patch)
treeaa22a785a863d87a3d96d3c1a085de79fd0b138f
parent43ed3b6077952745b04a8c749726871f7cd76142 (diff)
downloadtde-packaging-f2b702ffebf729f632c9fe8dadd8fa06660832d7.tar.gz
tde-packaging-f2b702ffebf729f632c9fe8dadd8fa06660832d7.zip
RPM Packaging: update python stuff
-rw-r--r--redhat/applications/tde-guidance/tde-guidance-14.0.0-userconfig.patch925
-rw-r--r--redhat/applications/tde-guidance/tde-guidance-14.0.0.spec103
-rw-r--r--redhat/applications/tdeio-umountwrapper/tdeio-umountwrapper-14.0.0.spec2
-rwxr-xr-xredhat/buildall-r14.sh1
-rw-r--r--redhat/dependencies/python-tqt/python-tqt-14.0.0-sip4_tqt.patch33
-rw-r--r--redhat/dependencies/python-tqt/python-tqt-14.0.0.spec56
-rw-r--r--redhat/dependencies/sip4-tqt/sip4-tqt.spec77
-rw-r--r--redhat/libraries/pytdeextensions/pytdeextensions-14.0.0-fix_extra_module_dir.patch41
-rw-r--r--redhat/libraries/pytdeextensions/pytdeextensions-14.0.0-python_tqt.patch33
-rw-r--r--redhat/libraries/pytdeextensions/pytdeextensions-14.0.0-tqt.patch58
-rw-r--r--redhat/libraries/pytdeextensions/pytdeextensions-14.0.0.spec32
-rw-r--r--redhat/libraries/python-trinity/python-trinity-14.0.0-python_tqt.patch11
-rw-r--r--redhat/libraries/python-trinity/python-trinity-14.0.0-sip4_tqt.patch23
-rw-r--r--redhat/libraries/python-trinity/python-trinity-14.0.0.spec31
14 files changed, 1289 insertions, 137 deletions
diff --git a/redhat/applications/tde-guidance/tde-guidance-14.0.0-userconfig.patch b/redhat/applications/tde-guidance/tde-guidance-14.0.0-userconfig.patch
new file mode 100644
index 000000000..d08a5858a
--- /dev/null
+++ b/redhat/applications/tde-guidance/tde-guidance-14.0.0-userconfig.patch
@@ -0,0 +1,925 @@
+--- tde-guidance/userconfig/userconfig.py.ori 2013-07-16 10:37:48.029925866 +0200
++++ tde-guidance/userconfig/userconfig.py 2013-12-28 13:52:09.120636576 +0100
+@@ -1,4 +1,4 @@
+-#!/usr/bin/python
++#! /usr/bin/python
+ # -*- coding: UTF-8 -*-
+ ###########################################################################
+ # userconfig.py - description #
+@@ -37,15 +37,15 @@
+
+ ###########################################################################
+ def SptimeToQDate(sptime):
+- t = QDateTime()
++ t = TQDateTime()
+ t.setTime_t(0)
+ return t.addDays(sptime).date()
+
+ ###########################################################################
+-def QDateToSptime(qdate):
+- x = QDateTime()
++def TQDateToSptime(tqdate):
++ x = TQDateTime()
+ x.setTime_t(0)
+- return x.daysTo(QDateTime(qdate))
++ return x.daysTo(TQDateTime(tqdate))
+
+ ###########################################################################
+ # Try translating this code to C++. I dare ya!
+@@ -68,8 +68,8 @@
+ self.setButtons(0)
+ self.aboutdata = MakeAboutData()
+
+- toplayout = QVBoxLayout( self, 0, KDialog.spacingHint() )
+- tabcontrol = QTabWidget(self)
++ toplayout = TQVBoxLayout( self, 0, KDialog.spacingHint() )
++ tabcontrol = TQTabWidget(self)
+ toplayout.addWidget(tabcontrol)
+ toplayout.setStretchFactor(tabcontrol,1)
+
+@@ -92,22 +92,22 @@
+ # --- User Tab ---
+ if standalone:
+ usershbox = self.addHBoxPage("Users")
+- vbox = QVBox(usershbox)
++ vbox = TQVBox(usershbox)
+ else:
+- vbox = QVBox(tabcontrol)
++ vbox = TQVBox(tabcontrol)
+ vbox.setMargin(KDialog.marginHint())
+
+ vbox.setSpacing(KDialog.spacingHint())
+
+- hb = QHBox(vbox)
++ hb = TQHBox(vbox)
+ hb.setSpacing(KDialog.spacingHint())
+ vbox.setStretchFactor(hb,0)
+
+- label = QLabel(hb)
++ label = TQLabel(hb)
+ label.setPixmap(UserIcon("hi32-user"))
+ hb.setStretchFactor(label,0)
+
+- label = QLabel(i18n("User Accounts:"),hb)
++ label = TQLabel(i18n("User Accounts:"),hb)
+ hb.setStretchFactor(label,1)
+
+ self.userlist = TDEListView(vbox)
+@@ -115,18 +115,18 @@
+ self.userlist.addColumn(i18n("Real Name"))
+ self.userlist.addColumn(i18n("UID"))
+ self.userlist.setAllColumnsShowFocus(True)
+- self.userlist.setSelectionMode(QListView.Single)
++ self.userlist.setSelectionMode(TQListView.Single)
+
+- self.connect(self.userlist, SIGNAL("selectionChanged(QListViewItem *)"), self.slotListClicked)
++ self.connect(self.userlist, SIGNAL("selectionChanged(TQListViewItem *)"), self.slotListClicked)
+ if isroot:
+- self.connect(self.userlist, SIGNAL("doubleClicked(QListViewItem *)"), self.slotModifyClicked)
+- self.connect(self.userlist, SIGNAL("contextMenu(TDEListView*,QListViewItem*,const QPoint&)"), self.slotUserContext)
++ self.connect(self.userlist, SIGNAL("doubleClicked(TQListViewItem *)"), self.slotModifyClicked)
++ self.connect(self.userlist, SIGNAL("contextMenu(TDEListView*,TQListViewItem*,const TQPoint&)"), self.slotUserContext)
+
+- self.showspecialcheckbox = QCheckBox(i18n("Show system accounts"),vbox)
++ self.showspecialcheckbox = TQCheckBox(i18n("Show system accounts"),vbox)
+ vbox.setStretchFactor(self.showspecialcheckbox,0)
+ self.connect(self.showspecialcheckbox,SIGNAL("toggled(bool)"), self.slotShowSystemToggled)
+
+- hbox = QHBox(vbox)
++ hbox = TQHBox(vbox)
+ hbox.setSpacing(KDialog.spacingHint())
+
+ vbox.setStretchFactor(hbox,0)
+@@ -143,43 +143,43 @@
+ hbox.setStretchFactor(self.deletebutton,1)
+ self.connect(self.deletebutton,SIGNAL("clicked()"),self.slotDeleteClicked)
+
+- detailsbox = QVGroupBox(i18n("Details"),vbox)
+- userinfovbox = QWidget(detailsbox)
++ detailsbox = TQVGroupBox(i18n("Details"),vbox)
++ userinfovbox = TQWidget(detailsbox)
+
+- infogrid = QGridLayout(userinfovbox,3,4)
++ infogrid = TQGridLayout(userinfovbox,3,4)
+ infogrid.setSpacing(KDialog.spacingHint())
+
+- label = QLabel(i18n("Login Name:"),userinfovbox)
++ label = TQLabel(i18n("Login Name:"),userinfovbox)
+ infogrid.addWidget(label,0,0)
+ self.loginnamelabel = KLineEdit("",userinfovbox)
+ self.loginnamelabel.setReadOnly(True)
+ infogrid.addWidget(self.loginnamelabel,0,1)
+
+- label = QLabel(i18n("Real Name:"),userinfovbox)
++ label = TQLabel(i18n("Real Name:"),userinfovbox)
+ infogrid.addWidget(label,0,2)
+ self.realnamelabel = KLineEdit("",userinfovbox)
+ self.realnamelabel.setReadOnly(True)
+ infogrid.addWidget(self.realnamelabel,0,3)
+
+- label = QLabel(i18n("UID:"),userinfovbox)
++ label = TQLabel(i18n("UID:"),userinfovbox)
+ infogrid.addWidget(label,1,0)
+ self.uidlabel = KLineEdit("",userinfovbox)
+ self.uidlabel.setReadOnly(True)
+ infogrid.addWidget(self.uidlabel,1,1)
+
+- label = QLabel(i18n("Status:"),userinfovbox)
++ label = TQLabel(i18n("Status:"),userinfovbox)
+ infogrid.addWidget(label,1,2)
+ self.statuslabel = KLineEdit("",userinfovbox)
+ self.statuslabel.setReadOnly(True)
+ infogrid.addWidget(self.statuslabel,1,3)
+
+- label = QLabel(i18n("Primary Group:"),userinfovbox)
++ label = TQLabel(i18n("Primary Group:"),userinfovbox)
+ infogrid.addWidget(label,2,0)
+ self.primarygrouplabel = KLineEdit("",userinfovbox)
+ self.primarygrouplabel.setReadOnly(True)
+ infogrid.addWidget(self.primarygrouplabel,2,1)
+
+- label = QLabel(i18n("Secondary Groups:"),userinfovbox)
++ label = TQLabel(i18n("Secondary Groups:"),userinfovbox)
+ infogrid.addWidget(label,2,2)
+ self.secondarygrouplabel = KLineEdit("",userinfovbox)
+ self.secondarygrouplabel.setReadOnly(True)
+@@ -191,45 +191,45 @@
+ #--- Groups Tab ---
+ if standalone:
+ groupsvbox = self.addVBoxPage(i18n("Groups"))
+- hb = QHBox(groupsvbox)
++ hb = TQHBox(groupsvbox)
+ else:
+- groupsvbox = QVBox(tabcontrol)
++ groupsvbox = TQVBox(tabcontrol)
+ groupsvbox.setMargin(KDialog.marginHint())
+- hb = QHBox(groupsvbox)
++ hb = TQHBox(groupsvbox)
+
+- topframe = QFrame(groupsvbox)
++ topframe = TQFrame(groupsvbox)
+ groupsvbox.setSpacing(KDialog.spacingHint())
+ hb.setSpacing(KDialog.spacingHint())
+ groupsvbox.setStretchFactor(hb,0)
+
+- label = QLabel(hb)
++ label = TQLabel(hb)
+ label.setPixmap(UserIcon("hi32-group"))
+ hb.setStretchFactor(label,0)
+
+- label = QLabel(i18n("Groups:"),hb)
++ label = TQLabel(i18n("Groups:"),hb)
+ hb.setStretchFactor(label,1)
+
+- groupsplitter = QSplitter(Qt.Vertical,groupsvbox)
++ groupsplitter = TQSplitter(TQt.Vertical,groupsvbox)
+
+ self.grouplist = TDEListView(groupsplitter)
+ self.grouplist.addColumn(i18n("Group Name"))
+ self.grouplist.addColumn(i18n("GID"))
+ self.grouplist.setAllColumnsShowFocus(True)
+- self.connect(self.grouplist, SIGNAL("selectionChanged(QListViewItem *)"), self.slotGroupListClicked)
++ self.connect(self.grouplist, SIGNAL("selectionChanged(TQListViewItem *)"), self.slotGroupListClicked)
+
+ if isroot:
+- self.connect(self.grouplist, SIGNAL("doubleClicked(QListViewItem *)"), self.slotModifyGroupClicked)
+- self.connect(self.grouplist, SIGNAL("contextMenu(TDEListView*,QListViewItem*,const QPoint&)"),
++ self.connect(self.grouplist, SIGNAL("doubleClicked(TQListViewItem *)"), self.slotModifyGroupClicked)
++ self.connect(self.grouplist, SIGNAL("contextMenu(TDEListView*,TQListViewItem*,const TQPoint&)"),
+ self.slotGroupContext)
+
+- groupbottomvbox = QVBox(groupsplitter)
+- groupbottomvbox.setSizePolicy(QSizePolicy.Expanding,QSizePolicy.Expanding)
++ groupbottomvbox = TQVBox(groupsplitter)
++ groupbottomvbox.setSizePolicy(TQSizePolicy.Expanding,TQSizePolicy.Expanding)
+
+- self.showspecialgroupscheckbox = QCheckBox(i18n("Show system groups"),groupbottomvbox)
++ self.showspecialgroupscheckbox = TQCheckBox(i18n("Show system groups"),groupbottomvbox)
+ vbox.setStretchFactor(self.showspecialgroupscheckbox,0)
+ self.connect(self.showspecialgroupscheckbox,SIGNAL("toggled(bool)"), self.slotShowSystemGroupsToggled)
+
+- hbox = QHBox(groupbottomvbox)
++ hbox = TQHBox(groupbottomvbox)
+ hbox.setSpacing(KDialog.spacingHint())
+
+ groupsvbox.setStretchFactor(hbox,0)
+@@ -252,7 +252,7 @@
+ for widget in disablebuttons:
+ widget.setDisabled(True)
+
+- label = QLabel(i18n("Group Members:"),groupbottomvbox)
++ label = TQLabel(i18n("Group Members:"),groupbottomvbox)
+ groupsvbox.setStretchFactor(label,0)
+
+ self.groupmemberlist = TDEListView(groupbottomvbox)
+@@ -461,7 +461,7 @@
+ if userobj.isLocked():
+ lvi.setPixmap(0,UserIcon("hi16-encrypted"))
+ else:
+- lvi.setPixmap(0,QPixmap())
++ lvi.setPixmap(0,TQPixmap())
+
+ #######################################################################
+ def __selectUser(self,userid):
+@@ -505,7 +505,7 @@
+ for groupobj in groups:
+ gid = groupobj.getGID()
+ if self.showsystemgroups or not groupobj.isSystemGroup():
+- lvi = QListViewItem(self.grouplist,groupobj.getGroupname(),unicode(gid))
++ lvi = TQListViewItem(self.grouplist,groupobj.getGroupname(),unicode(gid))
+ self.groupidsToListItems[gid] = lvi
+ if self.selectedgroupid==gid:
+ firstselectedgroupid = gid
+@@ -528,7 +528,7 @@
+ self.groupmemberlist.clear()
+ for userobj in members:
+ if userobj!=None:
+- lvi = QListViewItem(self.groupmemberlist,userobj.getUsername(),userobj.getRealName(),unicode(userobj.getUID()))
++ lvi = TQListViewItem(self.groupmemberlist,userobj.getUsername(),userobj.getRealName(),unicode(userobj.getUID()))
+ if isroot:
+ self.deletegroupbutton.setDisabled(groupobj.getGID()==0)
+
+@@ -610,32 +610,32 @@
+ self.updatingGUI = True
+
+ detailsvbox = self.addHBoxPage(i18n("Details"))
+- detailspace = QWidget(detailsvbox)
++ detailspace = TQWidget(detailsvbox)
+
+- infogrid = QGridLayout(detailspace,9,2)
++ infogrid = TQGridLayout(detailspace,9,2)
+ infogrid.setSpacing(self.spacingHint())
+ infogrid.setColStretch(0,0)
+ infogrid.setColStretch(1,1)
+
+- self.enabledradiogroup = QButtonGroup()
++ self.enabledradiogroup = TQButtonGroup()
+ self.enabledradiogroup.setRadioButtonExclusive(True)
+- hb = QHBox(detailspace)
++ hb = TQHBox(detailspace)
+ hb.setSpacing(self.spacingHint())
+- label = QLabel(hb)
++ label = TQLabel(hb)
+ label.setPixmap(UserIcon("hi32-identity"))
+ hb.setStretchFactor(label,0)
+- label = QLabel(i18n("Status:"),hb)
++ label = TQLabel(i18n("Status:"),hb)
+ hb.setStretchFactor(label,1)
+ infogrid.addMultiCellWidget(hb,0,1,0,0)
+
+- self.enabledradio = QRadioButton(i18n("Enabled"),detailspace)
++ self.enabledradio = TQRadioButton(i18n("Enabled"),detailspace)
+ infogrid.addWidget(self.enabledradio,0,1)
+
+- hbox = QHBox(detailspace)
++ hbox = TQHBox(detailspace)
+ hbox.setSpacing(self.spacingHint())
+- self.disabledradio = QRadioButton(i18n("Disabled"),hbox)
++ self.disabledradio = TQRadioButton(i18n("Disabled"),hbox)
+ hbox.setStretchFactor(self.disabledradio,0)
+- label = QLabel(hbox)
++ label = TQLabel(hbox)
+ label.setPixmap(UserIcon("hi16-encrypted"))
+ hbox.setStretchFactor(label,1)
+ infogrid.addWidget(hbox,1,1)
+@@ -643,46 +643,46 @@
+ self.enabledradiogroup.insert(self.enabledradio,0)
+ self.enabledradiogroup.insert(self.disabledradio,1)
+
+- label = QLabel(i18n("Login Name:"),detailspace)
++ label = TQLabel(i18n("Login Name:"),detailspace)
+ infogrid.addWidget(label,2,0)
+ self.loginnameedit = KLineEdit("",detailspace)
+ self.loginnameedit.setValidator(LoginNameValidator(self.loginnameedit))
+
+ infogrid.addWidget(self.loginnameedit,2,1)
+- self.connect(self.loginnameedit, SIGNAL("textChanged(const QString &)"), self.slotLoginChanged)
++ self.connect(self.loginnameedit, SIGNAL("textChanged(const TQString &)"), self.slotLoginChanged)
+
+- label = QLabel(i18n("Real Name:"),detailspace)
++ label = TQLabel(i18n("Real Name:"),detailspace)
+ infogrid.addWidget(label,3,0)
+ self.realnameedit = KLineEdit("",detailspace)
+ self.realnameedit.setValidator(RealUserNameValidator(self.realnameedit))
+
+ infogrid.addWidget(self.realnameedit,3,1)
+
+- label = QLabel(i18n("User ID:"),detailspace)
++ label = TQLabel(i18n("User ID:"),detailspace)
+ infogrid.addWidget(label,4,0)
+ self.uidedit = KLineEdit("",detailspace)
+- self.uidedit.setValidator(QIntValidator(0,65535,detailspace))
++ self.uidedit.setValidator(TQIntValidator(0,65535,detailspace))
+ infogrid.addWidget(self.uidedit,4,1)
+
+- label = QLabel(i18n("Primary Group:"),detailspace)
++ label = TQLabel(i18n("Primary Group:"),detailspace)
+ infogrid.addWidget(label,5,0)
+ self.primarygroupedit = KComboBox(False,detailspace)
+ infogrid.addWidget(self.primarygroupedit,5,1)
+
+- label = QLabel(i18n("Home Directory:"),detailspace)
++ label = TQLabel(i18n("Home Directory:"),detailspace)
+ infogrid.addWidget(label,7,0)
+
+- hbox = QHBox(detailspace)
++ hbox = TQHBox(detailspace)
+ hbox.setSpacing(self.spacingHint())
+ self.homediredit = KLineEdit("",hbox)
+ hbox.setStretchFactor(self.homediredit,1)
+- self.connect(self.homediredit, SIGNAL("textChanged(const QString &)"), self.slotHomeDirChanged)
++ self.connect(self.homediredit, SIGNAL("textChanged(const TQString &)"), self.slotHomeDirChanged)
+ self.homedirbutton = KPushButton(i18n("Browse..."),hbox)
+ hbox.setStretchFactor(self.homedirbutton,0)
+ self.connect(self.homedirbutton,SIGNAL("clicked()"),self.slotBrowseHomeDirClicked)
+ infogrid.addWidget(hbox,7,1)
+
+- label = QLabel(i18n("Shell:"),detailspace)
++ label = TQLabel(i18n("Shell:"),detailspace)
+ infogrid.addWidget(label,8,0)
+
+ self.shelledit = KComboBox(True,detailspace)
+@@ -697,9 +697,9 @@
+ groupsvbox = self.addHBoxPage(i18n("Privileges and groups"))
+
+ # Rudd-O now here we create the widget that will hold the group listing, and fill it with the groups.
+- self.privilegeslistview = QListView(groupsvbox)
++ self.privilegeslistview = TQListView(groupsvbox)
+ self.privilegeslistview.addColumn(i18n("Privilege"),-1)
+- self.groupslistview = QListView(groupsvbox)
++ self.groupslistview = TQListView(groupsvbox)
+ self.groupslistview.addColumn(i18n("Secondary group"),-1)
+ groupsvbox.setStretchFactor(self.privilegeslistview,3)
+ groupsvbox.setStretchFactor(self.groupslistview,2)
+@@ -707,20 +707,20 @@
+ # Password and Security Tab.
+ passwordvbox = self.addVBoxPage(i18n("Password && Security"))
+
+- passwordspace = QWidget(passwordvbox)
+- passwordgrid = QGridLayout(passwordspace,8,3)
++ passwordspace = TQWidget(passwordvbox)
++ passwordgrid = TQGridLayout(passwordspace,8,3)
+ passwordgrid.setSpacing(self.spacingHint())
+ passwordgrid.setColStretch(0,0)
+ passwordgrid.setColStretch(1,0)
+ passwordgrid.setColStretch(2,1)
+ passwordvbox.setStretchFactor(passwordspace,0)
+
+- hb = QHBox(passwordspace)
++ hb = TQHBox(passwordspace)
+ hb.setSpacing(self.spacingHint())
+- label = QLabel(hb)
++ label = TQLabel(hb)
+ label.setPixmap(UserIcon("hi32-password"))
+ hb.setStretchFactor(label,0)
+- label = QLabel(i18n("Password:"),hb)
++ label = TQLabel(i18n("Password:"),hb)
+ hb.setStretchFactor(label,1)
+ passwordgrid.addWidget(hb,0,0)
+
+@@ -728,24 +728,24 @@
+ passwordgrid.addWidget(self.passwordedit,0,1)
+
+ # Last Change
+- label = QLabel(i18n("Last changed:"),passwordspace)
++ label = TQLabel(i18n("Last changed:"),passwordspace)
+ passwordgrid.addWidget(label,1,0)
+ self.lastchangelabel = KLineEdit("",passwordspace)
+ self.lastchangelabel.setReadOnly(True)
+ passwordgrid.addWidget(self.lastchangelabel,1,1)
+
+- self.validradiogroup = QButtonGroup()
++ self.validradiogroup = TQButtonGroup()
+ self.validradiogroup.setRadioButtonExclusive(True)
+
+ # Valid until.
+- label = QLabel(i18n("Valid until:"),passwordspace)
++ label = TQLabel(i18n("Valid until:"),passwordspace)
+ passwordgrid.addWidget(label,2,0)
+- self.validalwaysradio = QRadioButton(i18n("Always"),passwordspace)
++ self.validalwaysradio = TQRadioButton(i18n("Always"),passwordspace)
+ passwordgrid.addWidget(self.validalwaysradio,2,1)
+
+- hbox = QHBox(passwordspace)
++ hbox = TQHBox(passwordspace)
+ hbox.setSpacing(self.spacingHint())
+- self.expireradio = QRadioButton(hbox)
++ self.expireradio = TQRadioButton(hbox)
+ hbox.setStretchFactor(self.expireradio,0)
+
+ self.expiredate = KDateWidget(hbox)
+@@ -757,30 +757,30 @@
+ self.connect(self.validradiogroup,SIGNAL("clicked(int)"),self.slotValidUntilClicked)
+
+ # Password Aging & Expiration.
+- passwordaginggroup = QVGroupBox(i18n("Password Aging"),passwordvbox)
++ passwordaginggroup = TQVGroupBox(i18n("Password Aging"),passwordvbox)
+ passwordaginggroup.setInsideSpacing(self.spacingHint())
+ passwordvbox.setStretchFactor(passwordaginggroup,0)
+
+- passwordagingwidget = QWidget(passwordaginggroup)
++ passwordagingwidget = TQWidget(passwordaginggroup)
+
+- passwordaginggrid = QGridLayout(passwordagingwidget,4,3)
++ passwordaginggrid = TQGridLayout(passwordagingwidget,4,3)
+ passwordaginggrid.setSpacing(self.spacingHint())
+
+ # [*] Require new password after: [_____5 days]
+- self.forcepasswordchangecheckbox = QCheckBox(passwordagingwidget)
++ self.forcepasswordchangecheckbox = TQCheckBox(passwordagingwidget)
+ self.connect(self.forcepasswordchangecheckbox,SIGNAL("toggled(bool)"),self.slotForcePasswordChangeToggled)
+ passwordaginggrid.addWidget(self.forcepasswordchangecheckbox,0,0)
+- label = QLabel(i18n("Require new password after:"),passwordagingwidget)
++ label = TQLabel(i18n("Require new password after:"),passwordagingwidget)
+ passwordaginggrid.addWidget(label,0,1)
+- self.maximumpasswordedit = QSpinBox(passwordagingwidget)
++ self.maximumpasswordedit = TQSpinBox(passwordagingwidget)
+ self.maximumpasswordedit.setSuffix(i18n(" days"))
+ self.maximumpasswordedit.setMinValue(1)
+ self.maximumpasswordedit.setMaxValue(365*5)
+ passwordaginggrid.addWidget(self.maximumpasswordedit,0,2)
+
+- label = QLabel(i18n("Warn before password expires:"),passwordagingwidget)
++ label = TQLabel(i18n("Warn before password expires:"),passwordagingwidget)
+ passwordaginggrid.addWidget(label,1,1)
+- self.warningedit = QSpinBox(passwordagingwidget)
++ self.warningedit = TQSpinBox(passwordagingwidget)
+ self.warningedit.setPrefix(i18n("After "))
+ self.warningedit.setSuffix(i18n(" days"))
+ self.warningedit.setMinValue(0)
+@@ -788,9 +788,9 @@
+ self.warningedit.setSpecialValueText(i18n("Never"))
+ passwordaginggrid.addWidget(self.warningedit,1,2)
+
+- label = QLabel(i18n("Disable account after password expires:"),passwordagingwidget)
++ label = TQLabel(i18n("Disable account after password expires:"),passwordagingwidget)
+ passwordaginggrid.addWidget(label,2,1)
+- self.disableexpireedit = QSpinBox(passwordagingwidget)
++ self.disableexpireedit = TQSpinBox(passwordagingwidget)
+ self.disableexpireedit.setPrefix(i18n("After "))
+ self.disableexpireedit.setSuffix(i18n(" days"))
+ self.disableexpireedit.setMinValue(0)
+@@ -798,17 +798,17 @@
+ self.disableexpireedit.setSpecialValueText(i18n("Never"))
+ passwordaginggrid.addWidget(self.disableexpireedit,2,2)
+
+- self.enforcepasswordminagecheckbox = QCheckBox(passwordagingwidget)
++ self.enforcepasswordminagecheckbox = TQCheckBox(passwordagingwidget)
+ self.connect(self.enforcepasswordminagecheckbox,SIGNAL("toggled(bool)"),self.slotEnforePasswordAgeToggled)
+ passwordaginggrid.addWidget(self.enforcepasswordminagecheckbox,3,0)
+
+- label = QLabel(i18n("Enforce minimum password age:"),passwordagingwidget)
++ label = TQLabel(i18n("Enforce minimum password age:"),passwordagingwidget)
+ passwordaginggrid.addWidget(label,3,1)
+- self.minimumpasswordedit = QSpinBox(passwordagingwidget)
++ self.minimumpasswordedit = TQSpinBox(passwordagingwidget)
+ self.minimumpasswordedit.setSuffix(i18n(" days"))
+ passwordaginggrid.addWidget(self.minimumpasswordedit,3,2)
+
+- spacer = QWidget(passwordvbox)
++ spacer = TQWidget(passwordvbox)
+ passwordvbox.setStretchFactor(spacer,1)
+
+ self.homedirdialog = KDirSelectDialog("/",True,self,"Select Home Directory",True)
+@@ -834,7 +834,7 @@
+ else:
+ name = unicode(group).encode(locale.getpreferredencoding())
+ wid = self.groupslistview
+- self.secondarygroupcheckboxes[group] = QCheckListItem(wid,name,QCheckListItem.CheckBox)
++ self.secondarygroupcheckboxes[group] = TQCheckListItem(wid,name,TQCheckListItem.CheckBox)
+
+ ########################################################################
+ def showEditUser(self,userid):
+@@ -849,8 +849,8 @@
+ # Rudd-O: now here we tick the appropriate group listing checkbox, and hide the currently active primary group of the user. We are repopulating because if the user to edit changes, we need to hide the user's secondary group. FIXME we should repopulate the groups privileges list when the primary group is changed in the other tab -- that is, on the change slot of the primary group drop down.
+ self._repopulateGroupsPrivileges(excludegroups=[self.userobj.getPrimaryGroup()])
+ for group,checkbox in self.secondarygroupcheckboxes.items():
+- if group in self.selectedgroups: checkbox.setState(QCheckListItem.On)
+- else: checkbox.setState(QCheckListItem.Off)
++ if group in self.selectedgroups: checkbox.setState(TQCheckListItem.On)
++ else: checkbox.setState(TQCheckListItem.Off)
+
+ self.originalgroups = self.selectedgroups[:]
+ self.selectedgroups.sort()
+@@ -858,7 +858,7 @@
+ self.uidedit.setReadOnly(True)
+ self.updatingGUI = False
+ self.homedirectoryislinked = False
+- if self.exec_loop()==QDialog.Accepted:
++ if self.exec_loop()==TQDialog.Accepted:
+ self.__updateObjectFromGUI(self.userobj)
+ # Set the password.
+ if self.passwordedit.password()!="":
+@@ -896,8 +896,8 @@
+ # Rudd-O FIXME: now here we tick the proper groups that should be allowed. Now it selects what userconfig selected before. FIXME consider adding a drop down that will select the appropriate profile Limited User, Advanced User or Administrator (and see if there is a config file where these profiles can be read). We are repopulating because if the user to edit changes, we need to hide the user's secondary group. FIXME we should repopulate the groups privileges list when the primary group is changed in the other tab -- that is, on the change slot of the primary group drop down.
+ self._repopulateGroupsPrivileges()
+ for group,checkbox in self.secondarygroupcheckboxes.items():
+- if group in self.selectedgroups: checkbox.setState(QCheckListItem.On)
+- else: checkbox.setState(QCheckListItem.Off)
++ if group in self.selectedgroups: checkbox.setState(TQCheckListItem.On)
++ else: checkbox.setState(TQCheckListItem.Off)
+
+ self.userobj.setHomeDirectory(homedir)
+ self.homediredit.setText(homedir)
+@@ -919,7 +919,7 @@
+ self.updatingGUI = False
+ self.homedirectoryislinked = True
+ self.passwordedit.erase()
+- if self.exec_loop()==QDialog.Accepted:
++ if self.exec_loop()==TQDialog.Accepted:
+ self.__updateObjectFromGUI(self.userobj)
+
+ makehomedir = True
+@@ -1114,7 +1114,7 @@
+ userobj.setExpirationDate(None)
+ else:
+ # Password will expire at...
+- userobj.setExpirationDate(QDateToSptime(self.expiredate.date()))
++ userobj.setExpirationDate(TQDateToSptime(self.expiredate.date()))
+
+ if self.forcepasswordchangecheckbox.isChecked():
+ userobj.setMaximumPasswordAge(self.maximumpasswordedit.value())
+@@ -1138,7 +1138,7 @@
+ fileurl = KURL()
+ fileurl.setPath(self.homediredit.text())
+ self.homedirdialog.setCurrentURL(fileurl)
+- if self.homedirdialog.exec_loop()==QDialog.Accepted:
++ if self.homedirdialog.exec_loop()==TQDialog.Accepted:
+ self.homediredit.setText(self.homedirdialog.url().path())
+ self.homedirectoryislinked = False
+
+@@ -1194,27 +1194,27 @@
+
+
+ ###########################################################################
+-class LoginNameValidator(QValidator):
++class LoginNameValidator(TQValidator):
+ def __init__(self,parent):
+- QValidator.__init__(self,parent)
++ TQValidator.__init__(self,parent)
+
+ #######################################################################
+ def validate(self,inputstr,pos):
+ instr = unicode(inputstr)
+ if len(instr)==0:
+- return (QValidator.Intermediate,pos)
++ return (TQValidator.Intermediate,pos)
+ for c in instr:
+ if ord(c)<0x20 or ord(c)>0x7f or c.isspace() or c==":" or c=="," or c==".":
+- return (QValidator.Invalid,pos)
++ return (TQValidator.Invalid,pos)
+
+ # Try to encode this string in the system encoding.
+ try:
+ instr.encode(locale.getpreferredencoding())
+ except UnicodeEncodeError:
+ # won't encode -> reject it.
+- return (QValidator.Invalid,pos)
++ return (TQValidator.Invalid,pos)
+
+- return (QValidator.Acceptable,pos)
++ return (TQValidator.Acceptable,pos)
+
+ #######################################################################
+ def fixup(self,inputstr):
+@@ -1230,25 +1230,25 @@
+ return newstr
+
+ ###########################################################################
+-class RealUserNameValidator(QValidator):
++class RealUserNameValidator(TQValidator):
+ def __init__(self,parent):
+- QValidator.__init__(self,parent)
++ TQValidator.__init__(self,parent)
+
+ #######################################################################
+ def validate(self,inputstr,pos):
+ instr = unicode(inputstr)
+ for c in instr:
+ if c==":":
+- return (QValidator.Invalid,pos)
++ return (TQValidator.Invalid,pos)
+
+ # Try to encode this string in the system encoding.
+ try:
+ instr.encode(locale.getpreferredencoding())
+ except UnicodeEncodeError:
+ # won't encode -> reject it.
+- return (QValidator.Invalid,pos)
++ return (TQValidator.Invalid,pos)
+
+- return (QValidator.Acceptable,pos)
++ return (TQValidator.Acceptable,pos)
+
+ #######################################################################
+ def fixup(self,inputstr):
+@@ -1259,21 +1259,21 @@
+ def __init__(self,parent,caption,leftlabel,rightlabel):
+ KDialogBase.__init__(self,parent,None,True,caption,KDialogBase.Ok|KDialogBase.Cancel, KDialogBase.Cancel)
+
+- self.tophbox = QHBox(self)
++ self.tophbox = TQHBox(self)
+ self.setMainWidget(self.tophbox)
+ self.tophbox.setSpacing(self.spacingHint())
+ # Available Groups
+- vbox = QVBox(self.tophbox)
++ vbox = TQVBox(self.tophbox)
+ self.tophbox.setStretchFactor(vbox,1)
+- label = QLabel(leftlabel,vbox)
++ label = TQLabel(leftlabel,vbox)
+ vbox.setStretchFactor(label,0)
+ self.availablelist = TDEListBox(vbox)
+ vbox.setStretchFactor(self.availablelist,1)
+
+ # ->, <- Buttons
+- vbox = QVBox(self.tophbox)
++ vbox = TQVBox(self.tophbox)
+ self.tophbox.setStretchFactor(vbox,0)
+- spacer = QWidget(vbox);
++ spacer = TQWidget(vbox);
+ vbox.setStretchFactor(spacer,1)
+ self.addbutton = KPushButton(i18n("Add ->"),vbox)
+ self.connect(self.addbutton,SIGNAL("clicked()"),self.slotAddClicked)
+@@ -1281,13 +1281,13 @@
+ self.removebutton = KPushButton(i18n("<- Remove"),vbox)
+ self.connect(self.removebutton,SIGNAL("clicked()"),self.slotRemoveClicked)
+ vbox.setStretchFactor(self.removebutton,0)
+- spacer = QWidget(vbox);
++ spacer = TQWidget(vbox);
+ vbox.setStretchFactor(spacer,1)
+
+ # Selected Groups
+- vbox = QVBox(self.tophbox)
++ vbox = TQVBox(self.tophbox)
+ self.tophbox.setStretchFactor(vbox,1)
+- label = QLabel(rightlabel,vbox)
++ label = TQLabel(rightlabel,vbox)
+ vbox.setStretchFactor(label,0)
+ self.selectedlist = TDEListBox(vbox)
+ vbox.setStretchFactor(self.selectedlist,1)
+@@ -1311,7 +1311,7 @@
+ self._selectFirstSelected()
+ self.removebutton.setDisabled(self.selectedlist.selectedItem()==None)
+
+- if self.exec_loop()==QDialog.Accepted:
++ if self.exec_loop()==TQDialog.Accepted:
+ newlist = []
+ for i in range(self.selectedlist.count()):
+ newlist.append(unicode(self.selectedlist.item(i).text()))
+@@ -1356,56 +1356,56 @@
+ ###########################################################################
+ class UserDeleteDialog(KDialog):
+ def __init__(self,parent,admincontext):
+- KDialog.__init__(self,parent,"Delete user dialog",True,Qt.WType_Dialog)
++ KDialog.__init__(self,parent,"Delete user dialog",True,TQt.WType_Dialog)
+ self.setCaption(i18n("Delete User Account"))
+ self.admincontext = admincontext
+ self.updatingGUI = True
+
+- toplayout = QVBoxLayout(self)
++ toplayout = TQVBoxLayout(self)
+ toplayout.setSpacing(self.spacingHint())
+ toplayout.setMargin(self.marginHint())
+
+- contentbox = QHBox(self)
++ contentbox = TQHBox(self)
+ contentbox.setSpacing(self.spacingHint())
+ toplayout.addWidget(contentbox)
+ toplayout.setStretchFactor(contentbox,1)
+
+- label = QLabel(contentbox)
++ label = TQLabel(contentbox)
+ label.setPixmap(TDEGlobal.iconLoader().loadIcon("messagebox_warning", TDEIcon.NoGroup, TDEIcon.SizeMedium,
+ TDEIcon.DefaultState, None, True))
+ contentbox.setStretchFactor(label,0)
+
+- textbox = QVBox(contentbox)
++ textbox = TQVBox(contentbox)
+
+ textbox.setSpacing(self.spacingHint())
+ textbox.setMargin(self.marginHint())
+
+- self.usernamelabel = QLabel("",textbox)
++ self.usernamelabel = TQLabel("",textbox)
+ textbox.setStretchFactor(self.usernamelabel,0)
+
+ # Remove directory checkbox.
+- self.deletedirectorycheckbox = QCheckBox(i18n("Delete home directory ()"),textbox)
++ self.deletedirectorycheckbox = TQCheckBox(i18n("Delete home directory ()"),textbox)
+ textbox.setStretchFactor(self.deletedirectorycheckbox,0)
+
+ # Delete the User's private group.
+- self.deletegroupcheckbox = QCheckBox(i18n("Delete group ()"),textbox)
++ self.deletegroupcheckbox = TQCheckBox(i18n("Delete group ()"),textbox)
+ textbox.setStretchFactor(self.deletegroupcheckbox ,0)
+
+ # Buttons
+- buttonbox = QHBox(self)
++ buttonbox = TQHBox(self)
+ toplayout.addWidget(buttonbox)
+
+ buttonbox.setSpacing(self.spacingHint())
+ toplayout.setStretchFactor(buttonbox,0)
+
+- spacer = QWidget(buttonbox)
++ spacer = TQWidget(buttonbox)
+ buttonbox.setStretchFactor(spacer,1)
+
+- okbutton = QPushButton(i18n("OK"),buttonbox)
++ okbutton = TQPushButton(i18n("OK"),buttonbox)
+ buttonbox.setStretchFactor(okbutton,0)
+ self.connect(okbutton,SIGNAL("clicked()"),self.slotOkClicked)
+
+- cancelbutton = QPushButton(i18n("Cancel"),buttonbox)
++ cancelbutton = TQPushButton(i18n("Cancel"),buttonbox)
+ cancelbutton.setDefault(True)
+ buttonbox.setStretchFactor(cancelbutton,0)
+ self.connect(cancelbutton,SIGNAL("clicked()"),self.slotCancelClicked)
+@@ -1420,7 +1420,7 @@
+ primarygroupname = primarygroupobj.getGroupname()
+ self.deletegroupcheckbox.setText(i18n("Delete group '%1' (%2)").arg(primarygroupname).arg(primarygroupobj.getGID()))
+ self.deletegroupcheckbox.setChecked(len(primarygroupobj.getUsers())==1)
+- if self.exec_loop()==QDialog.Accepted:
++ if self.exec_loop()==TQDialog.Accepted:
+ self.admincontext.removeUser(userobj)
+ if self.deletedirectorycheckbox.isChecked():
+ self.admincontext.removeHomeDirectory(userobj)
+@@ -1446,62 +1446,62 @@
+ OK_REPLACE = 2
+
+ def __init__(self,parent):
+- KDialog.__init__(self,parent,"Create home directory",True,Qt.WType_Dialog)
++ KDialog.__init__(self,parent,"Create home directory",True,TQt.WType_Dialog)
+ self.setCaption(i18n("Create home directory"))
+ self.updatingGUI = True
+
+- toplayout = QVBoxLayout(self)
++ toplayout = TQVBoxLayout(self)
+ toplayout.setSpacing(self.spacingHint())
+ toplayout.setMargin(self.marginHint())
+
+- contentbox = QHBox(self)
++ contentbox = TQHBox(self)
+ contentbox.setSpacing(self.spacingHint())
+ toplayout.addWidget(contentbox)
+ toplayout.setStretchFactor(contentbox,1)
+
+- label = QLabel(contentbox)
++ label = TQLabel(contentbox)
+ label.setPixmap(TDEGlobal.iconLoader().loadIcon("messagebox_warning", TDEIcon.NoGroup, TDEIcon.SizeMedium,
+ TDEIcon.DefaultState, None, True))
+ contentbox.setStretchFactor(label,0)
+
+- textbox = QVBox(contentbox)
++ textbox = TQVBox(contentbox)
+
+ textbox.setSpacing(self.spacingHint())
+ textbox.setMargin(self.marginHint())
+
+ # "%dir was selected as the home directory for %user. This directory already exists. Shall I:."
+- self.toplabel = QLabel("",textbox)
++ self.toplabel = TQLabel("",textbox)
+ textbox.setStretchFactor(self.toplabel,0)
+
+- self.radiogroup = QButtonGroup()
++ self.radiogroup = TQButtonGroup()
+ self.radiogroup.setRadioButtonExclusive(True)
+
+ # Use Existing home directory radio button.
+- self.usehomedirectoryradio = QRadioButton(i18n("Use the existing directory without changing it."),textbox)
++ self.usehomedirectoryradio = TQRadioButton(i18n("Use the existing directory without changing it."),textbox)
+ textbox.setStretchFactor(self.usehomedirectoryradio,0)
+
+ # Replace home directory radio button
+- self.replacehomedirectoryradio = QRadioButton(i18n("Delete the directory and replace it with a new home directory."),textbox)
++ self.replacehomedirectoryradio = TQRadioButton(i18n("Delete the directory and replace it with a new home directory."),textbox)
+ textbox.setStretchFactor(self.replacehomedirectoryradio ,0)
+
+ self.radiogroup.insert(self.usehomedirectoryradio,0)
+ self.radiogroup.insert(self.replacehomedirectoryradio,1)
+
+ # Buttons
+- buttonbox = QHBox(self)
++ buttonbox = TQHBox(self)
+ toplayout.addWidget(buttonbox)
+
+ buttonbox.setSpacing(self.spacingHint())
+ toplayout.setStretchFactor(buttonbox,0)
+
+- spacer = QWidget(buttonbox)
++ spacer = TQWidget(buttonbox)
+ buttonbox.setStretchFactor(spacer,1)
+
+- okbutton = QPushButton(i18n("OK"),buttonbox)
++ okbutton = TQPushButton(i18n("OK"),buttonbox)
+ buttonbox.setStretchFactor(okbutton,0)
+ self.connect(okbutton,SIGNAL("clicked()"),self.slotOkClicked)
+
+- cancelbutton = QPushButton(i18n("Cancel"),buttonbox)
++ cancelbutton = TQPushButton(i18n("Cancel"),buttonbox)
+ cancelbutton.setDefault(True)
+ buttonbox.setStretchFactor(cancelbutton,0)
+ self.connect(cancelbutton,SIGNAL("clicked()"),self.slotCancelClicked)
+@@ -1512,7 +1512,7 @@
+ .arg(userobj.getHomeDirectory()).arg(userobj.getUsername()) )
+ self.radiogroup.setButton(0)
+
+- if self.exec_loop()==QDialog.Accepted:
++ if self.exec_loop()==TQDialog.Accepted:
+ if self.radiogroup.selectedId()==0:
+ return OverwriteHomeDirectoryDialog.OK_KEEP
+ else:
+@@ -1534,47 +1534,47 @@
+
+ self.admincontext = admincontext
+
+- topvbox = QVBox(self)
++ topvbox = TQVBox(self)
+ topvbox.setSpacing(self.spacingHint())
+ self.setMainWidget(topvbox)
+
+- detailspace = QWidget(topvbox)
++ detailspace = TQWidget(topvbox)
+
+ # Info about the group.
+- editgrid = QGridLayout(detailspace,2,2)
++ editgrid = TQGridLayout(detailspace,2,2)
+ editgrid.setSpacing(self.spacingHint())
+
+- label = QLabel(i18n("Group Name:"),detailspace)
++ label = TQLabel(i18n("Group Name:"),detailspace)
+ editgrid.addWidget(label,0,0)
+ self.groupnamelabel = KLineEdit("",detailspace)
+ self.groupnamelabel.setReadOnly(True)
+ editgrid.addWidget(self.groupnamelabel,0,1)
+
+- label = QLabel(i18n("Group ID:"),detailspace)
++ label = TQLabel(i18n("Group ID:"),detailspace)
+ editgrid.addWidget(label,1,0)
+ self.groupidlabel = KLineEdit("",detailspace)
+ self.groupidlabel.setReadOnly(True)
+ editgrid.addWidget(self.groupidlabel,1,1)
+
+ # Available Groups
+- tophbox = QHBox(topvbox)
++ tophbox = TQHBox(topvbox)
+ tophbox.setSpacing(self.spacingHint())
+
+ hbox = tophbox
+
+- vbox = QVBox(hbox)
++ vbox = TQVBox(hbox)
+ vbox.setSpacing(self.spacingHint())
+ hbox.setStretchFactor(vbox,1)
+- label = QLabel(i18n("Available Accounts"),vbox)
++ label = TQLabel(i18n("Available Accounts"),vbox)
+ vbox.setStretchFactor(label,0)
+ self.availablelist = TDEListBox(vbox)
+ vbox.setStretchFactor(self.availablelist,1)
+
+ # ->, <- Buttons
+- vbox = QVBox(hbox)
++ vbox = TQVBox(hbox)
+ vbox.setSpacing(self.spacingHint())
+ hbox.setStretchFactor(vbox,0)
+- spacer = QWidget(vbox);
++ spacer = TQWidget(vbox);
+ vbox.setStretchFactor(spacer,1)
+ self.addbutton = KPushButton(i18n("Add ->"),vbox)
+ self.connect(self.addbutton,SIGNAL("clicked()"),self.slotAddClicked)
+@@ -1582,14 +1582,14 @@
+ self.removebutton = KPushButton(i18n("<- Remove"),vbox)
+ self.connect(self.removebutton,SIGNAL("clicked()"),self.slotRemoveClicked)
+ vbox.setStretchFactor(self.removebutton,0)
+- spacer = QWidget(vbox);
++ spacer = TQWidget(vbox);
+ vbox.setStretchFactor(spacer,1)
+
+ # Selected Groups
+- vbox = QVBox(hbox)
++ vbox = TQVBox(hbox)
+ vbox.setSpacing(self.spacingHint())
+ hbox.setStretchFactor(vbox,1)
+- label = QLabel(i18n("Selected Accounts"),vbox)
++ label = TQLabel(i18n("Selected Accounts"),vbox)
+ vbox.setStretchFactor(label,0)
+ self.selectedlist = TDEListBox(vbox)
+ vbox.setStretchFactor(self.selectedlist,1)
+@@ -1609,7 +1609,7 @@
+
+ self.__updateLists(availablemembers,originalmembers)
+
+- if self.exec_loop()==QDialog.Accepted:
++ if self.exec_loop()==TQDialog.Accepted:
+ newmembers = []
+ for i in range(self.selectedlist.count()):
+ newmembers.append(unicode(self.selectedlist.item(i).text()))
+@@ -1646,7 +1646,7 @@
+
+ self.__updateLists(availablemembers,[])
+
+- if self.exec_loop()==QDialog.Accepted:
++ if self.exec_loop()==TQDialog.Accepted:
+ self.groupobj.setGroupname(unicode(self.groupnamelabel.text()))
+ newgroupid = int(unicode(self.groupidlabel.text()))
+ self.groupobj.setGID(newgroupid)
diff --git a/redhat/applications/tde-guidance/tde-guidance-14.0.0.spec b/redhat/applications/tde-guidance/tde-guidance-14.0.0.spec
index 65838ef05..3b4aa2dc0 100644
--- a/redhat/applications/tde-guidance/tde-guidance-14.0.0.spec
+++ b/redhat/applications/tde-guidance/tde-guidance-14.0.0.spec
@@ -46,7 +46,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
Source0: %{name}-%{tde_version}%{?preversion:~%{preversion}}.tar.gz
-#Patch1: tde-guidance-14.0.0-tqt3.patch
+Patch1: tde-guidance-14.0.0-userconfig.patch
BuildRequires: trinity-tqtinterface-devel >= %{tde_version}
BuildRequires: trinity-arts-devel >= 1:1.5.10
@@ -60,19 +60,9 @@ BuildRequires: trinity-python-trinity
BuildRequires: chrpath
BuildRequires: gcc-c++
-# SIP support
-%if 0%{?mgaversion} || 0%{?mdkversion}
-BuildRequires: python-sip
-%endif
-%if 0%{?suse_version}
-BuildRequires: python-sip-devel
-%endif
-%if 0%{?rhel} == 5
-BuildRequires: trinity-sip-devel
-%endif
-%if 0%{?rhel} >= 6 || 0%{?fedora}
-BuildRequires: sip-devel
-%endif
+# SIP
+BuildRequires: trinity-sip4-tqt-devel >= 4.10.5
+Requires: trinity-sip4-tqt >= 4.10.5
# PYTHON-QT support
BuildRequires: trinity-python-tqt-devel
@@ -92,6 +82,9 @@ Requires: %{name}-backends = %{version}-%{release}
# POWERMANAGER support (requires HAL)
#define with_powermanager 1
+# DISPLAYCONFIG support (deprecated)
+#define with_displayconfig 1
+
Obsoletes: trinity-guidance < %{version}-%{release}
Provides: trinity-guidance = %{version}-%{release}
@@ -109,8 +102,10 @@ or can be run as standalone applications.
%files
%defattr(-,root,root,-)
%doc ChangeLog COPYING README TODO
-#%{tde_bindir}/displayconfig
-#%{tde_bindir}/displayconfig-restore
+%if 0%{?with_displayconfig}
+%{tde_bindir}/displayconfig
+%{tde_bindir}/displayconfig-restore
+%endif
%{tde_bindir}/grubconfig
%{tde_bindir}/mountconfig
%{tde_bindir}/serviceconfig
@@ -185,9 +180,11 @@ Guidance configuration tools.
%{python_sitearch}/%{name}/MicroHAL.py*
%{python_sitearch}/%{name}/ScanPCI.py*
%{python_sitearch}/%{name}/infimport.py*
+%if 0%{?with_displayconfig}
%{python_sitearch}/%{name}/displayconfigabstraction.py*
%{python_sitearch}/%{name}/displayconfig-hwprobe.py*
%{python_sitearch}/%{name}/displayconfig-restore.py*
+%endif
%{python_sitearch}/%{name}/drivedetect.py*
%{python_sitearch}/%{name}/execwithcapture.py*
%{python_sitearch}/%{name}/wineread.py*
@@ -261,7 +258,7 @@ gtk-update-icon-cache --quiet %{tde_datadir}/icons/hicolor || :
%prep
%setup -q -n %{name}-%{tde_version}%{?preversion:~%{preversion}}
-#patch1 -p1 -b .tqt3
+%patch1 -p1 -b .userconfig
%if 0%{?rhel} || 0%{?mgaversion} || 0%{?mdkversion}
%__sed -i "userconfig/unixauthdb.py" \
@@ -273,17 +270,17 @@ gtk-update-icon-cache --quiet %{tde_datadir}/icons/hicolor || :
%build
unset QTDIR QTINC QTLIB
export PATH="%{tde_bindir}:${PATH}"
-
+export PYTHONPATH=%{python_sitearch}/python-tqt
# Avoids 'error: byte-compiling is disabled.' on Mandriva/Mageia
export PYTHONDONTWRITEBYTECODE=
# FTBFS on PCLOS ...
-export CXXFLAGS="${RPM_OPT_FLAGS} -I%{tde_tdeincludedir} -I%{tde_includedir}"
+export RPM_OPT_FLAGS="${RPM_OPT_FLAGS} -I%{tde_tdeincludedir} -I%{tde_includedir}"
# Specific path for RHEL4
if [ -d /usr/X11R6 ]; then
- export CXXFLAGS="${RPM_OPT_FLAGS} -I/usr/X11R6/include -L/usr/X11R6/%{_lib}"
+ export RPM_OPT_FLAGS="${RPM_OPT_FLAGS} -I/usr/X11R6/include -L/usr/X11R6/%{_lib}"
%__sed -i "setup.py" -e "s|/usr/X11R6/lib|/usr/X11R6/%{_lib}|g"
fi
@@ -294,6 +291,11 @@ fi
unset QTDIR QTINC QTLIB
export PATH="%{tde_bindir}:${PATH}"
export EXTRA_MODULE_DIR="%{python_sitearch}/%{name}"
+export SIPTQT_DIR="%{python_sitearch}/sip4_tqt"
+export PYTHONPATH="%{python_sitearch}/python-tqt"
+
+# Support for 'sip4-tqt'
+export PYTHONPATH="%{python_sitearch}/sip4_tqt:${PYTHONPATH}"
# For Mageia/Mandriva: Avoids 'error: byte-compiling must be disabled.
export PYTHONDONTWRITEBYTECODE=
@@ -311,15 +313,13 @@ done
##### MAIN PACKAGE INSTALLATION (based on Debian/Ubuntu packaging rules)
# install icons to right place
%__mkdir_p %{buildroot}%{tde_datadir}/icons/crystalsvg/32x32/apps
-%__mv -f %{buildroot}%{tde_datadir}/apps/guidance/pics/hi32-app-daemons.png \
+%__cp -f %{buildroot}%{tde_datadir}/apps/guidance/pics/hi32-app-daemons.png \
%{buildroot}%{tde_datadir}/icons/crystalsvg/32x32/apps/daemons.png
-%__mv -f %{buildroot}%{tde_datadir}/apps/guidance/pics/kcmpartitions.png \
+%__cp -f %{buildroot}%{tde_datadir}/apps/guidance/pics/kcmpartitions.png \
%{buildroot}%{tde_datadir}/icons/crystalsvg/32x32/apps/disksfilesystems.png
-%__mv -f %{buildroot}%{tde_datadir}/apps/guidance/pics/hi32-user.png \
+%__cp -f %{buildroot}%{tde_datadir}/apps/guidance/pics/hi32-user.png \
%{buildroot}%{tde_datadir}/icons/crystalsvg/32x32/apps/userconfig.png
-%__mv -f %{buildroot}%{tde_datadir}/apps/guidance/pics/hi32-display.png \
- %{buildroot}%{tde_datadir}/icons/crystalsvg/32x32/apps/displayconfig.png
-%__mv -f %{buildroot}%{tde_datadir}/apps/guidance/pics/32-wine.png \
+%__cp -f %{buildroot}%{tde_datadir}/apps/guidance/pics/32-wine.png \
%{buildroot}%{tde_datadir}/icons/crystalsvg/32x32/apps/wineconfig.png
%__install -D -p -m0644 kde/wineconfig/pics/16x16/wineconfig.png \
%{buildroot}%{tde_datadir}/icons/crystalsvg/16x16/apps/wineconfig.png
@@ -334,15 +334,21 @@ chrpath -r %{tde_libdir} %{buildroot}%{tde_tdelibdir}/kcm_*.so
%__mkdir_p %{buildroot}%{python_sitearch}/%{name}
%__mv -f %{buildroot}%{tde_datadir}/apps/guidance/*.py* %{buildroot}%{python_sitearch}/%{name}
-# fix the link properly
+# Generates the startup scripts
%__rm -f %{buildroot}%{tde_bindir}/*
-#%__ln_s -f %{python_sitearch}/%{name}/displayconfig.py %{buildroot}%{tde_bindir}/displayconfig
%__ln_s -f %{python_sitearch}/%{name}/mountconfig.py %{buildroot}%{tde_bindir}/mountconfig
%__ln_s -f %{python_sitearch}/%{name}/serviceconfig.py %{buildroot}%{tde_bindir}/serviceconfig
-%__ln_s -f %{python_sitearch}/%{name}/userconfig.py %{buildroot}%{tde_bindir}/userconfig
%__ln_s -f %{python_sitearch}/%{name}/wineconfig.py %{buildroot}%{tde_bindir}/wineconfig
%__ln_s -f %{python_sitearch}/%{name}/grubconfig.py %{buildroot}%{tde_bindir}/grubconfig
+cat <<EOF >%{?buildroot}%{tde_bindir}/userconfig
+#!/bin/sh
+export PYTHONPATH=%{python_sitearch}/%{name}:%{python_sitearch}/sip4-tqt
+exec %{python_sitearch}/%{name}/userconfig.py
+EOF
+chmod +x %{buildroot}%{tde_bindir}/userconfig
+
+
# (obsolete) put this here since gnome people probably don't want it by default
#%__ln_s -f %{_python_sitearch}/%{name}/displayconfig-restore.py %{buildroot}%{tde_bindir}/displayconfig-restore
@@ -350,12 +356,7 @@ chrpath -r %{tde_libdir} %{buildroot}%{tde_tdelibdir}/kcm_*.so
%__chmod 0755 %{buildroot}%{python_sitearch}/%{name}/fuser.py
%__chmod 0755 %{buildroot}%{python_sitearch}/%{name}/grubconfig.py
-%__mv -f %{buildroot}%{tde_tdeappdir}/displayconfig.desktop %{buildroot}%{tde_tdeappdir}/guidance-displayconfig.desktop
-
##### BACKENDS INSTALLATION
-# install displayconfig-hwprobe.py script
-%__install -D -p -m0755 displayconfig/displayconfig-hwprobe.py \
- %{buildroot}%{python_sitearch}/%{name}/displayconfig-hwprobe.py
# The xf86misc stuff should not go under /opt/trinity bur under /usr !!!
%__mv -f %{buildroot}%{tde_libdir}/python*/site-packages/ixf86misc.so %{buildroot}%{python_sitearch}
@@ -384,9 +385,9 @@ chrpath -r %{tde_libdir} %{buildroot}%{tde_tdelibdir}/kcm_*.so
%__cp powermanager/tooltip.py %{buildroot}%{python_sitearch}/%{name}
# generate guidance-power-manager script
-cat <<EOF >%{buildroot}%{tde_bindir}/guidance-power-manager
+cat <<EOF >%{?buildroot}%{tde_bindir}/guidance-power-manager
#!/bin/sh
-export PYTHONPATH=%{python_sitearch}/%{name}
+export PYTHONPATH=%{python_sitearch}/%{name}:%{python_sitearch}/sip4-tqt
%{python_sitearch}/%{name}/guidance-power-manager.py &
EOF
chmod +x %{buildroot}%{tde_bindir}/guidance-power-manager
@@ -396,15 +397,35 @@ chmod 0755 %{buildroot}%{python_sitearch}/%{name}/powermanage.py
chmod 0755 %{buildroot}%{python_sitearch}/%{name}/gpmhelper.py
%else
-
%__rm -f %{buildroot}%{python_sitearch}/%{name}/gpmhelper.py*
%__rm -f %{buildroot}%{python_sitearch}/%{name}/guidance-power-manager.py*
%__rm -f %{buildroot}%{python_sitearch}/%{name}/guidance_power_manager_ui.py*
%__rm -f %{buildroot}%{python_sitearch}/%{name}/powermanage.py*
%__rm -f %{buildroot}%{python_sitearch}/%{name}/powermanager_ui.py*
-
+
%endif
+# DISPLAYCONFIG (obsolete)
+%if 0%{?with_displayconfig}
+%__cp -f %{buildroot}%{tde_datadir}/apps/guidance/pics/hi32-display.png \
+ %{buildroot}%{tde_datadir}/icons/crystalsvg/32x32/apps/displayconfig.png
+%__ln_s -f %{python_sitearch}/%{name}/displayconfig.py %{buildroot}%{tde_bindir}/displayconfig
+%__mv -f %{buildroot}%{tde_tdeappdir}/displayconfig.desktop %{buildroot}%{tde_tdeappdir}/guidance-displayconfig.desktop
+
+# install displayconfig-hwprobe.py script
+%__install -D -p -m0755 displayconfig/displayconfig-hwprobe.py \
+ %{buildroot}%{python_sitearch}/%{name}/displayconfig-hwprobe.py
+
+%else
+# Removes obsolete display config manager
+%__rm -f %{?buildroot}%{python_sitearch}/%{name}/displayconfig*
+%__rm -f %{?buildroot}/etc/X11/Xsession.d/40guidance-displayconfig_restore
+%__rm -f %{?buildroot}%{tde_tdelibdir}/kcm_displayconfig.*
+%__rm -f %{?buildroot}%{python_sitearch}/%{name}/displayconfig.py*
+%__rm -f %{?buildroot}%{python_sitearch}/%{name}/displayconfigwidgets.py*
+%endif
+
+
# Replace all '#!' calls to python with /usr/bin/python
# and make them executable
for i in `find %{buildroot} -type f`; do
@@ -423,12 +444,6 @@ done
find %{buildroot} -name "*.egg-info" -exec rm -f {} \;
find %{buildroot}%{tde_libdir} -name "*.a" -exec rm -f {} \;
-# Removes obsolete display config manager
-%__rm -f %{?buildroot}/etc/X11/Xsession.d/40guidance-displayconfig_restore
-%__rm -f %{?buildroot}%{tde_tdelibdir}/kcm_displayconfig.*
-%__rm -f %{?buildroot}%{python_sitearch}/%{name}/displayconfig.py*
-%__rm -f %{?buildroot}%{python_sitearch}/%{name}/displayconfigwidgets.py*
-
%clean
%__rm -rf %{buildroot}
diff --git a/redhat/applications/tdeio-umountwrapper/tdeio-umountwrapper-14.0.0.spec b/redhat/applications/tdeio-umountwrapper/tdeio-umountwrapper-14.0.0.spec
index 33cc0f193..4effa599b 100644
--- a/redhat/applications/tdeio-umountwrapper/tdeio-umountwrapper-14.0.0.spec
+++ b/redhat/applications/tdeio-umountwrapper/tdeio-umountwrapper-14.0.0.spec
@@ -120,7 +120,7 @@ if [ $1 -eq 0 ]; then
for f in konqueror d3lphin; do
update-alternatives --remove \
media_safelyremove.desktop_${f} \
- %{tde_datadir}/apps/${f}/servicemenus/media_safelyremove.desktop_tdeio-umountwrapper
+ %{tde_datadir}/apps/${f}/servicemenus/media_safelyremove.desktop_tdeio-umountwrapper || :
done
fi
diff --git a/redhat/buildall-r14.sh b/redhat/buildall-r14.sh
index 93275b4e3..964b3cda0 100755
--- a/redhat/buildall-r14.sh
+++ b/redhat/buildall-r14.sh
@@ -105,6 +105,7 @@ grpiud dependencies/arts
grpiud dependencies/libart-lgpl
grpiud dependencies/libcaldav
grpiud dependencies/libcarddav
+grpiud dependencies/sip4-tqt
grpiud dependencies/tqca
if [ "${DIST}" != ".el4" ]; then
grpiud dependencies/avahi-tqt
diff --git a/redhat/dependencies/python-tqt/python-tqt-14.0.0-sip4_tqt.patch b/redhat/dependencies/python-tqt/python-tqt-14.0.0-sip4_tqt.patch
new file mode 100644
index 000000000..5eed97eba
--- /dev/null
+++ b/redhat/dependencies/python-tqt/python-tqt-14.0.0-sip4_tqt.patch
@@ -0,0 +1,33 @@
+--- python-tqt/pyqtconfig.py.in.ORI 2013-12-28 15:49:34.901906208 +0100
++++ python-tqt/pyqtconfig.py.in 2013-12-28 15:49:42.849851496 +0100
+@@ -21,7 +21,7 @@
+ # modules that %Import PyTQt modules.
+
+
+-import sipconfig
++from sip4_tqt import sipconfig
+
+
+ # These are installation specific values created when PyTQt was configured.
+--- python-tqt/build.py.ORI 2013-12-28 15:52:10.923832969 +0100
++++ python-tqt/build.py 2013-12-28 15:52:18.638779926 +0100
+@@ -35,7 +35,7 @@
+
+ # Get the SIP configuration.
+ try:
+- import sipconfig
++ from sip4_tqt import sipconfig
+ except:
+ print "Unable to import the sipconfig module. Please make sure you have"
+ print "SIP v3.9 or later installed."
+--- python-tqt/configure.py.ORI 2013-12-28 15:52:31.294692944 +0100
++++ python-tqt/configure.py 2013-12-28 15:52:37.494650327 +0100
+@@ -28,7 +28,7 @@
+ import shutil
+ import py_compile
+
+-import sipconfig
++from sip4_tqt import sipconfig
+
+ src_dir = os.path.dirname(os.path.abspath(__file__))
+
diff --git a/redhat/dependencies/python-tqt/python-tqt-14.0.0.spec b/redhat/dependencies/python-tqt/python-tqt-14.0.0.spec
index 9a564dc75..8aa495772 100644
--- a/redhat/dependencies/python-tqt/python-tqt-14.0.0.spec
+++ b/redhat/dependencies/python-tqt/python-tqt-14.0.0.spec
@@ -1,7 +1,7 @@
%{!?python_sitearch:%global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")}
%define tde_version 14.0.0
-%define tde_prefix /usr
+%define tde_prefix /opt/trinity
%define tde_bindir %{tde_prefix}/bin
%define tde_includedir %{tde_prefix}/include
%define tde_libdir %{tde_prefix}/%{_lib}
@@ -14,7 +14,7 @@ License: GPL
Summary: TQt bindings for Python
Group: System Environment/Libraries
-Obsoletes: PyQt
+#Obsoletes: PyQt
Obsoletes: trinity-PyQt
Obsoletes: trinity-python-qt3
@@ -26,19 +26,15 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
Source0: %{name}-%{tde_version}%{?preversion:~%{preversion}}.tar.gz
+Patch1: python-tqt-14.0.0-sip4_tqt.patch
+
BuildRequires: gcc-c++
BuildRequires: trinity-tqtinterface-devel >= %{tde_version}
BuildRequires: trinity-tqscintilla-devel
-%if 0%{?rhel} || 0%{?fedora}
-BuildRequires: sip-devel
-%endif
-%if 0%{?mdkversion} || 0%{?mgaversion}
-BuildRequires: python-sip
-%endif
-%if 0%{?suse_version}
-BuildRequires: python-sip-devel
-%endif
+# SIP
+BuildRequires: trinity-sip4-tqt-devel >= 4.10.5
+Requires: trinity-sip4-tqt >= 4.10.5
# TDE specific building variables
BuildRequires: trinity-tqt3-devel >= 3.5.0
@@ -58,13 +54,15 @@ same way in both languages (with syntax differences, of course)
%files
%defattr(-,root,root,-)
%doc NEWS README
-%{python_sitearch}/qt.so
-%{python_sitearch}/qtcanvas.so
-%{python_sitearch}/qtnetwork.so
-%{python_sitearch}/qtsql.so
-%{python_sitearch}/qttable.so
-%{python_sitearch}/qtui.so
-%{python_sitearch}/qtxml.so
+%dir %{python_sitearch}/python_tqt
+%{python_sitearch}/python_tqt/__init__.py*
+%{python_sitearch}/python_tqt/qt.so
+%{python_sitearch}/python_tqt/qtcanvas.so
+%{python_sitearch}/python_tqt/qtnetwork.so
+%{python_sitearch}/python_tqt/qtsql.so
+%{python_sitearch}/python_tqt/qttable.so
+%{python_sitearch}/python_tqt/qtui.so
+%{python_sitearch}/python_tqt/qtxml.so
##########
@@ -80,7 +78,7 @@ Linux, Windows and MacOS X).
%files gl
%defattr(-,root,root,-)
-%{python_sitearch}/qtgl.so
+%{python_sitearch}/python_tqt/qtgl.so
##########
@@ -96,7 +94,7 @@ PyQt Extensions. Contains:
%files tqtext
%defattr(-,root,root,-)
-%{python_sitearch}/qtext.so
+%{python_sitearch}/python_tqt/qtext.so
##########
@@ -111,8 +109,8 @@ pylupdate is the counterpart for TQt's lupdate. It updates TQt
Linguist translation files from Python code.
%files -n trinity-pytqt-tools
-%{_bindir}/pylupdate
-%{_bindir}/pyuic
+%{tde_bindir}/pylupdate
+%{tde_bindir}/pyuic
##########
@@ -128,7 +126,7 @@ packages based on them, like PyTDE.
%files devel
%defattr(-,root,root,-)
-%{python_sitearch}/pyqtconfig.py*
+%{python_sitearch}/python_tqt/pyqtconfig.py*
%{_datadir}/sip/tqt/
##########
@@ -137,9 +135,11 @@ packages based on them, like PyTDE.
%debug_package
%endif
+##########
%prep
%setup -q -n %{name}-%{tde_version}%{?preversion:~%{preversion}}
+%patch1 -p1 -b .sip4tqt
%build
@@ -149,15 +149,16 @@ mkdir build
cd build
# WTF ? CentOS 6 !
-cp -rf ../pyuic3 ../pylupdate3 .
+cp -rf ../pyuic3 ../pylupdate3
echo yes | python ../configure.py \
-c -n %{_includedir}/tqscintilla \
-q %{_datadir}/tqt3 \
-y tqt-mt \
-o %{_libdir} -u -j 10 \
- -d %{python_sitearch} \
+ -d %{python_sitearch}/python_tqt \
-v %{_datadir}/sip/tqt \
+ -b %{tde_bindir} \
-w \
CXXFLAGS_RELEASE="" CXXFLAGS="${RPM_OPT_FLAGS} -I%{_includedir}/tqt" STRIP=""
@@ -171,9 +172,12 @@ echo yes | python ../configure.py \
%__install -d %{?buildroot}%{_datadir}/sip/
%__cp -rf sip/* %{?buildroot}%{_datadir}/sip/tqt/
+# Dummy file to make a Python module
+touch %{?buildroot}%{python_sitearch}/python_tqt/__init__.py
+
%clean
-%__rm -rf %{?buildroot}
+%__rm -rf %{?buildroot}%{python_sitearch}/python_tqt/__init__.py
%changelog
diff --git a/redhat/dependencies/sip4-tqt/sip4-tqt.spec b/redhat/dependencies/sip4-tqt/sip4-tqt.spec
index adc9f2641..1eea2f210 100644
--- a/redhat/dependencies/sip4-tqt/sip4-tqt.spec
+++ b/redhat/dependencies/sip4-tqt/sip4-tqt.spec
@@ -1,17 +1,20 @@
-# Some distribution already provides this package.
-# Mageia 3
+# Default version for this component
+%define tde_pkg sip4-tqt
+%define tde_version 14.0.0
-%{!?python_sitearch:%global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")}
+# If TDE is built in a specific prefix (e.g. /opt/trinity), the release will be suffixed with ".opt".
+%if "%{?tde_prefix}" != "/usr"
+%define _variant .opt
+%endif
-# Always install under standard prefix
-%define tde_prefix /usr
+%{!?python_sitearch:%global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")}
+%define tde_bindir %{tde_prefix}/bin
%define tde_includedir %{tde_prefix}/include
%define tde_libdir %{tde_prefix}/%{_lib}
-Name: trinity-sip4-tqt
-Epoch: 2
-Version: 14.0.0
+Name: trinity-%{tde_pkg}
+Version: 4.10.5
Release: %{?!preversion:1}%{?preversion:0_%{preversion}}%{?dist}%{?_variant}
License: GPL
Summary: Python/C++ bindings generator runtime library
@@ -23,48 +26,41 @@ Packager: Francois Andriot <francois.andriot@free.fr>
Prefix: %{tde_prefix}
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
-Source0: %{name}-%{version}%{?preversion:~%{preversion}}.tar.gz
+Source0: %{name}-%{tde_version}%{?preversion:~%{preversion}}.tar.gz
BuildRequires: trinity-tqtinterface-devel >= %{version}
# TDE specific building variables
-BuildRequires: cmake >= 2.8
-BuildRequires: trinity-tqt3-devel >= %{version}
+BuildRequires: python
+BuildRequires: trinity-tqt3-devel >= 3.5.0
%description
-
-##########
-
-%package -n python-sip
-Summary: Python/C++ bindings generator runtime library
-Epoch: 2
-
-%description -n python-sip
SIP is a tool for generating bindings for C++ classes with some ideas
borrowed from SWIG, but capable of tighter bindings because of its
specificity towards C++ and Python.
-%post -n python-sip
+%post
/sbin/ldconfig || :
-%postun -n python-sip
+%postun
/sbin/ldconfig || :
-%files -n python-sip
+%files
%defattr(-,root,root,-)
-%{python_sitearch}/sip.so
-%{python_sitearch}/sipconfig.py
-%{python_sitearch}/sipdistutils.py
-
+%dir %{python_sitearch}/sip4_tqt
+%{python_sitearch}/sip4_tqt/sip.so
+%{python_sitearch}/sip4_tqt/sipconfig.py*
+%{python_sitearch}/sip4_tqt/sipdistutils.py*
+%{python_sitearch}/sip4_tqt/__init__.py*
##########
-%package -n python-sip-devel
+%package devel
Summary: Python/C++ bindings generator development files
Group: Development/Libraries
-Requires: python-sip = %{version}-%{release}
+Requires: %{name} = %{version}-%{release}
-%description -n python-sip-devel
+%description devel
SIP is a tool for generating bindings for C++ classes with some ideas
borrowed from SWIG, but capable of tighter bindings because of its
specificity towards C++ and Python.
@@ -86,16 +82,16 @@ Features:
This package contains the code generator tool and the development headers
needed to develop Python bindings with sip.
-%post -n python-sip-devel
+%post devel
/sbin/ldconfig || :
-%postun -n python-sip-devel
+%postun devel
/sbin/ldconfig || :
-%files -n python-sip-devel
+%files devel
%defattr(-,root,root,-)
-%{_bindir}/sip
-%{_includedir}/python*/sip.h
+%{tde_bindir}/sip
+%{tde_includedir}/sip.h
##########
@@ -103,9 +99,10 @@ needed to develop Python bindings with sip.
%debug_package
%endif
+##########
%prep
-%setup -q -n %{name}-%{version}%{?preversion:~%{preversion}}
+%setup -q -n %{name}-%{tde_version}%{?preversion:~%{preversion}}
%build
@@ -115,7 +112,9 @@ export PKG_CONFIG_PATH="%{tde_libdir}/pkgconfig"
mkdir build
cd build
python ../configure.py \
- -d %{python_sitearch} \
+ -b %{tde_bindir} \
+ -d %{python_sitearch}/sip4_tqt \
+ -e %{tde_includedir} \
-u STRIP="" \
CFLAGS="${RPM_OPT_FLAGS} -I%{_includedir}/tqt -I%{_includedir}/tqt3" \
CFLAGS_RELEASE="" \
@@ -127,10 +126,14 @@ python ../configure.py \
%__rm -rf %{?buildroot}
%__make install DESTDIR=%{?buildroot} -C build
+# Dummy file to allow loading as a module
+touch %{?buildroot}%{python_sitearch}/sip4_tqt/__init__.py
+
+
%clean
%__rm -rf %{?buildroot}
%changelog
-* Thu Feb 16 2012 Francois Andriot <francois.andriot@free.fr> - 14.0.0-1
+* Fri Jul 05 2013 Francois Andriot <francois.andriot@free.fr> - 4.10.5-1
- Initial release for TDE R14, using 'tqt3' instead of 'qt3'
diff --git a/redhat/libraries/pytdeextensions/pytdeextensions-14.0.0-fix_extra_module_dir.patch b/redhat/libraries/pytdeextensions/pytdeextensions-14.0.0-fix_extra_module_dir.patch
new file mode 100644
index 000000000..d72fdc928
--- /dev/null
+++ b/redhat/libraries/pytdeextensions/pytdeextensions-14.0.0-fix_extra_module_dir.patch
@@ -0,0 +1,41 @@
+--- pykdeextensions-3.5.13.1/src/kdedistutils.py.extramodule 2012-09-08 17:33:05.000000000 +0000
++++ pykdeextensions-3.5.13.1/src/kdedistutils.py 2012-10-02 19:19:40.185384207 +0000
+@@ -712,6 +712,8 @@
+
+ # Build the 'stub' code.
+ cppcode = self.cpptemplate % {"moduledir": self.data_dir,
++ "extramodule": os.getenv("EXTRA_MODULE_DIR"),
++ "pyqt_dir": self.pyqt_dir,
+ "modulename": modulename,
+ "factoryfunction": factoryfunction,
+ "python_version": python_version}
+@@ -854,6 +856,8 @@
+ #include <sip.h>
+
+ #define MODULE_DIR "%(moduledir)s"
++#define EXTRA_MODULE_DIR "%(extramodule)s"
++#define PYQT_DIR "%(pyqt_dir)s"
+ #define MODULE_NAME "%(modulename)s"
+ #define FACTORY "%(factoryfunction)s"
+ #define CPP_FACTORY %(factoryfunction)s
+--- pykdeextensions-14.0.0/src/kdedistutils.py.ORI 2013-04-07 17:54:28.531813437 +0200
++++ pykdeextensions-14.0.0/src/kdedistutils.py 2013-04-07 17:56:15.510529614 +0200
+@@ -903,6 +907,18 @@
+ if(!pyize->appendToSysPath (path.latin1 ())) {
+ return report_error ("***Failed to set sys.path\n");
+ }
++
++ // Add the extra path to the python script to the interpreter search path.
++ TQString extrapath = TQString(EXTRA_MODULE_DIR);
++ if(!pyize->appendToSysPath (extrapath.latin1 ())) {
++ return report_error ("***Failed to set extra sys.path\n");
++ }
++
++ // Add the PYQT path to the python script to the interpreter search path.
++ TQString pyqt_dir = TQString(PYQT_DIR);
++ if(!pyize->appendToSysPath (pyqt_dir.latin1 ())) {
++ return report_error ("***Failed to set PYQT sys.path\n");
++ }
+
+ // Load the Python script.
+ PyObject *pyModule = pyize->importModule ((char *)script.latin1 ());
diff --git a/redhat/libraries/pytdeextensions/pytdeextensions-14.0.0-python_tqt.patch b/redhat/libraries/pytdeextensions/pytdeextensions-14.0.0-python_tqt.patch
new file mode 100644
index 000000000..bcd6156df
--- /dev/null
+++ b/redhat/libraries/pytdeextensions/pytdeextensions-14.0.0-python_tqt.patch
@@ -0,0 +1,33 @@
+--- pytdeextensions/src/qtuicompiler.py.ORI 2013-12-28 17:06:51.749357267 +0100
++++ pytdeextensions/src/qtuicompiler.py 2013-12-28 17:07:03.539275908 +0100
+@@ -17,7 +17,7 @@
+
+ import os
+ import sys
+-import pyqtconfig
++from python_tqt import pyqtconfig
+ from distutils.spawn import *
+ import traceback
+
+--- pytdeextensions/src/kdedistutils.py.ORI2 2013-12-28 17:20:38.828670001 +0100
++++ pytdeextensions/src/kdedistutils.py 2013-12-28 17:21:04.731492545 +0100
+@@ -930,8 +930,8 @@
+ }
+
+ // Inject a helper function
+- TQString bridge = TQString("import sip\n"
+- "import qt\n"
++ TQString bridge = TQString("from sip4_tqt import sip\n"
++ "from python_tqt import qt\n"
+ "def kcontrol_bridge_" FACTORY "(parent,name):\n"
+ " if parent!=0:\n"
+ #if SIP_VERSION >= 0x040200
+@@ -2019,7 +2019,7 @@
+ self.announce("Found Qt version %s." % qtver)
+ try:
+ self.announce("Checking for a working PyQt...")
+- import qt
++ from python_tqt import qt
+ self.announce(" ...PyQt is working")
+ except:
+ raise SystemExit, "Couldn't import Qt! Please make sure that PyQt is installed and working."
diff --git a/redhat/libraries/pytdeextensions/pytdeextensions-14.0.0-tqt.patch b/redhat/libraries/pytdeextensions/pytdeextensions-14.0.0-tqt.patch
new file mode 100644
index 000000000..7b004d8c5
--- /dev/null
+++ b/redhat/libraries/pytdeextensions/pytdeextensions-14.0.0-tqt.patch
@@ -0,0 +1,58 @@
+--- pytdeextensions/src/kdedistutils.py.ORI 2013-12-28 14:50:50.209401866 +0100
++++ pytdeextensions/src/kdedistutils.py 2013-12-28 15:36:18.381316251 +0100
+@@ -892,7 +892,7 @@
+ return NULL;
+ }
+
+-static TDECModule* return_instance( QWidget *parent, const char *name ) {
++static TDECModule* return_instance( TQWidget *parent, const char *name ) {
+ TDECModule* tdecmodule;
+ PyObject *pyTDECModuleTuple;
+ PyObject *pyTDECModule;
+@@ -901,7 +901,7 @@
+
+ // Try to determine what py script we're loading. Note that "name"
+ // typically appears to be NULL.
+- QString script(MODULE_NAME);
++ TQString script(MODULE_NAME);
+
+ // Reload libpython, but this time tell the runtime linker to make the
+ // symbols global and available for later loaded libraries/module.
+@@ -914,8 +914,8 @@
+ }
+
+ // Add the path to the python script to the interpreter search path.
+- QString path = QString(MODULE_DIR);
+- if(path == QString::null) {
++ TQString path = TQString(MODULE_DIR);
++ if(path == TQString::null) {
+ return report_error ("***Failed to locate script path");
+ }
+ if(!pyize->appendToSysPath (path.latin1 ())) {
+@@ -930,14 +930,14 @@
+ }
+
+ // Inject a helper function
+- QString bridge = QString("import sip\n"
++ TQString bridge = TQString("import sip\n"
+ "import qt\n"
+ "def kcontrol_bridge_" FACTORY "(parent,name):\n"
+ " if parent!=0:\n"
+ #if SIP_VERSION >= 0x040200
+- " wparent = sip.wrapinstance(parent,qt.QWidget)\n"
++ " wparent = sip.wrapinstance(parent,qt.TQWidget)\n"
+ #else
+- " wparent = sip.wrapinstance(parent,'QWidget')\n"
++ " wparent = sip.wrapinstance(parent,'TQWidget')\n"
+ #endif
+ " else:\n"
+ " wparent = None\n"
+@@ -997,7 +997,7 @@
+
+ extern "C" {
+ // Factory function that kcontrol will call.
+- TDECModule* CPP_FACTORY(QWidget *parent, const char *name) {
++ TDECModule* CPP_FACTORY(TQWidget *parent, const char *name) {
+ return return_instance(parent, name);
+ }
+ }
diff --git a/redhat/libraries/pytdeextensions/pytdeextensions-14.0.0.spec b/redhat/libraries/pytdeextensions/pytdeextensions-14.0.0.spec
index 18944cbbe..a9c083d18 100644
--- a/redhat/libraries/pytdeextensions/pytdeextensions-14.0.0.spec
+++ b/redhat/libraries/pytdeextensions/pytdeextensions-14.0.0.spec
@@ -41,9 +41,11 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
Source0: %{name}-%{tde_version}%{?preversion:~%{preversion}}.tar.gz
-
+# [pytdeextensions] Port to TQT3
+Patch1: pytdeextensions-14.0.0-tqt.patch
+Patch2: pytdeextensions-14.0.0-python_tqt.patch
# [pykdeextensions] Fix hardcoded path to Guidance python libraries [Bug #999]
-Patch2: pykdeextensions-3.5.13.2-fix_extra_module_dir.patch
+Patch3: pytdeextensions-14.0.0-fix_extra_module_dir.patch
# [pykdeextensions] Fix include directory search location
Patch5: pytdeextensions-14.0.0-fix_include_dir.patch
@@ -56,9 +58,16 @@ BuildRequires: gettext
BuildRequires: trinity-python-tqt-devel
BuildRequires: trinity-python-trinity-devel
BuildRequires: trinity-pytqt-tools
+Requires: trinity-python-tqt
+Requires: trinity-python-trinity
Requires: trinity-libpythonize0 = %{version}-%{release}
+# SIP
+BuildRequires: trinity-sip4-tqt-devel >= 4.10.5
+Requires: trinity-sip4-tqt >= 4.10.5
+
+
Obsoletes: trinity-pykdeextensions < %{version}-%{release}
Provides: trinity-pykdeextensions = %{version}-%{release}
@@ -145,19 +154,23 @@ Requires: trinity-libpythonize0-devel = %{version}-%{release}
%prep
%setup -q -n %{name}-%{tde_version}%{?preversion:~%{preversion}}
-%patch2 -p1 -b .extramodule
+%patch1 -p1 -b .tqt3
+%patch2 -p1 -b .pythontqt
+%patch3 -p1 -b .extramodule
%patch5 -p1 -b .incdir
# Changes library directory to 'lib64'
# Also other fixes for distributions ...
for f in src/*.py; do
%__sed -i "${f}" \
- -e "s|%{tde_prefix}/lib/|%{tde_libdir}/|g" \
- -e "s|/usr/lib/pyshared/python\*|%{python_sitearch}|g" \
+ -e "s|'pyqt-dir='.*'|'pyqt-dir=','%{python_sitearch}/python_tqt'|g" \
+ -e "s|self.pyqt_dir = .*|self.pyqt_dir = \"%{python_sitearch}/python_tqt\"|g" \
-e "s|'pytde-dir=',None,|'pytde-dir=','%{python_sitearch}',|g" \
-e "s|self.pytde_dir = None|self.pytde_dir = \"%{python_sitearch}\"|g" \
- -e "s|%{tde_includedir}/kde|%{tde_tdeincludedir}|g" \
- -e 's|"/kde"|"/tde"|'
+ -e "s|%{tde_includedir}/tde|%{tde_tdeincludedir}|g" \
+ -e 's|"/kde"|"/tde"|' \
+ -e 's|"-I" + self.kde_inc_dir + "/tde"|"-I/opt/trinity/include"|' \
+ -e "s|/usr/lib/pyshared/python\*|%{python_sitearch}|g"
done
# Do not look for 'libpython2.x.so' (from -devel) package.
@@ -176,9 +189,14 @@ export PATH="%{tde_bindir}:${PATH}"
%__mkdir_p build
./setup.py build_libpythonize
+
%install
unset QTDIR QTINC QTLIB
export PATH="%{tde_bindir}:${PATH}"
+#export PYTHONPATH=%{python_sitearch}/python-tqt
+
+# Support for 'sip4-tqt'
+#export PYTHONPATH=%{python_sitearch}/sip4_tqt:${PYTHONPATH}
# Avoids 'error: byte-compiling is disabled.' on Mandriva/Mageia
export PYTHONDONTWRITEBYTECODE=
diff --git a/redhat/libraries/python-trinity/python-trinity-14.0.0-python_tqt.patch b/redhat/libraries/python-trinity/python-trinity-14.0.0-python_tqt.patch
new file mode 100644
index 000000000..361a00a35
--- /dev/null
+++ b/redhat/libraries/python-trinity/python-trinity-14.0.0-python_tqt.patch
@@ -0,0 +1,11 @@
+--- python-trinity/configure.py.ORI2 2013-12-28 17:02:32.849146767 +0100
++++ python-trinity/configure.py 2013-12-28 17:02:44.143068602 +0100
+@@ -37,7 +37,7 @@
+ sys.exit (-1)
+
+ try:
+- import pyqtconfig
++ from python_tqt import pyqtconfig
+ except:
+ sipconfig.error ("Can't find pyqtconfig.py in sys.path - exiting")
+
diff --git a/redhat/libraries/python-trinity/python-trinity-14.0.0-sip4_tqt.patch b/redhat/libraries/python-trinity/python-trinity-14.0.0-sip4_tqt.patch
new file mode 100644
index 000000000..e73fbdff0
--- /dev/null
+++ b/redhat/libraries/python-trinity/python-trinity-14.0.0-sip4_tqt.patch
@@ -0,0 +1,23 @@
+--- python-trinity/configure.py.ORI 2013-12-28 15:55:54.269299304 +0100
++++ python-trinity/configure.py 2013-12-28 15:56:05.611221484 +0100
+@@ -30,7 +30,7 @@
+ import py_compile
+
+ try:
+- import sipconfig
++ from sip4_tqt import sipconfig
+ except:
+ print ("Can't find sipconfig.py (expected in sys.path)")
+ print ("Have you built the correct version of sip?")
+--- python-trinity/pytdeconfig.py.in.ORI 2013-12-28 15:57:53.618481027 +0100
++++ python-trinity/pytdeconfig.py.in 2013-12-28 15:58:05.467399833 +0100
+@@ -22,7 +22,8 @@
+ # modules that %Import PyKDE modules.
+
+
+-import sipconfig, pyqtconfig
++from sip4_tqt import sipconfig
++import pyqtconfig
+
+
+ # These are installation specific values created when PyTQt was configured.
diff --git a/redhat/libraries/python-trinity/python-trinity-14.0.0.spec b/redhat/libraries/python-trinity/python-trinity-14.0.0.spec
index 978c6e036..0b2b65586 100644
--- a/redhat/libraries/python-trinity/python-trinity-14.0.0.spec
+++ b/redhat/libraries/python-trinity/python-trinity-14.0.0.spec
@@ -43,8 +43,8 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
Source0: %{name}-%{tde_version}%{?preversion:~%{preversion}}.tar.gz
-#Patch0: python-trinity-14.0.0-ftbfs.patch
-#Patch1: python-trinity-14.0.0-ftbfs2.patch
+Patch1: python-trinity-14.0.0-sip4_tqt.patch
+Patch2: python-trinity-14.0.0-python_tqt.patch
BuildRequires: trinity-tqtinterface-devel >= %{tde_version}
BuildRequires: trinity-arts-devel >= 1:1.5.10
@@ -55,22 +55,11 @@ BuildRequires: gettext
# PYTHON support
BuildRequires: python
BuildRequires: trinity-python-tqt-devel
+Requires: trinity-python-tqt
-
-# SIP support
-%if 0%{?rhel} >= 4 && 0%{?rhel} <= 5
-# RHEL 4/5 comes with old version, so we brought ours ...
-BuildRequires: trinity-sip-devel
-%endif
-%if 0%{?mgaversion} || 0%{?mdkversion}
-BuildRequires: python-sip
-%endif
-%if 0%{?rhel} >= 6 || 0%{?fedora}
-BuildRequires: sip-devel
-%endif
-%if 0%{?suse_version}
-BuildRequires: python-sip-devel
-%endif
+# SIP
+BuildRequires: trinity-sip4-tqt-devel >= 4.10.5
+Requires: trinity-sip4-tqt >= 4.10.5
Obsoletes: python-trinity < %{version}-%{release}
Provides: python-trinity = %{version}-%{release}
@@ -78,7 +67,7 @@ Provides: python-trinity = %{version}-%{release}
%description
Python binding module that provides wide access to the Trinity API,
also known as PyTDE. Using this, you'll get (for example) classes
-from kio, kjs, khtml and kprint.
+from tdeio, tdejs, tdehtml and tdeprint.
%package devel
@@ -116,10 +105,8 @@ tips and working code you can use to learn from.
%prep
%setup -q -n %{name}-%{tde_version}%{?preversion:~%{preversion}}
-%if 0%{?suse_version} == 1310
-#patch0 -p1 -b .ftbfs
-#patch1 -p1 -b .ftbfs
-%endif
+%patch1 -p1 -b .sip4tqt
+%patch2 -p1 -b .pythontqt
%build