From 914ac5678cb4b880afc96c9fc54dece72427284b Mon Sep 17 00:00:00 2001 From: Francois Andriot Date: Fri, 16 Dec 2011 21:28:40 +0100 Subject: [PATCH] RHEL/Fedora: fix KDEDIRS in kdebase, fix systemsettings segfault, add JACK support in ARTS --- .../trinity-kde-systemsettings.spec | 8 ++- .../arts/arts-3.5.13-enable_jack.patch | 52 ++++++++++++++++ .../arts/trinity-arts-3.5.13.spec | 16 +++-- .../kdeaddons/trinity-kdeaddons-3.5.13.spec | 62 +++++++++---------- .../kdebase-3.5.13-startkde_directories.patch | 59 ++++++++++++------ redhat/kdebase/trinity-kdebase-3.5.13.spec | 30 +++++---- 6 files changed, 159 insertions(+), 68 deletions(-) create mode 100644 redhat/dependencies/arts/arts-3.5.13-enable_jack.patch diff --git a/redhat/applications/kde-systemsettings/trinity-kde-systemsettings.spec b/redhat/applications/kde-systemsettings/trinity-kde-systemsettings.spec index d000bc753..8b34131a5 100644 --- a/redhat/applications/kde-systemsettings/trinity-kde-systemsettings.spec +++ b/redhat/applications/kde-systemsettings/trinity-kde-systemsettings.spec @@ -1,12 +1,13 @@ # Default version for this component %define kdecomp kde-systemsettings %define version 0.0svn20070312 -%define release 1 +%define release 2 # If TDE is built in a specific prefix (e.g. /opt/trinity), the release will be suffixed with ".opt". %if "%{?_prefix}" != "/usr" %define _variant .opt %define _docdir %{_prefix}/share/doc +%define _sysconfdir %{_prefix}/etc %endif # TDE 3.5.13 specific building variables @@ -96,7 +97,7 @@ gtk-update-icon-cache --quiet %{_datadir}/icons/crystalsvg || : %defattr(-,root,root,-) %doc README TODO %{_sysconfdir}/xdg/menus/applications-merged/system-settings-merge.menu -%exclude %{_sysconfdir}/xdg/menus/system-settings.menu +%{_sysconfdir}/xdg/menus/system-settings.menu %{_bindir}/systemsettings %{_datadir}/applications/kde/audioencoding.desktop %{_datadir}/applications/kde/defaultapplication.desktop @@ -115,6 +116,9 @@ gtk-update-icon-cache --quiet %{_datadir}/icons/crystalsvg || : %Changelog +* Wed Dec 14 2011 Francois Andriot - 0.0svn20070312-2 +- Fix XDG menu directory location + * Sat Dec 03 2011 Francois Andriot - 0.0svn20070312-1 - Initial build for RHEL 5, RHEL 6, Fedora 15, Fedora 16 diff --git a/redhat/dependencies/arts/arts-3.5.13-enable_jack.patch b/redhat/dependencies/arts/arts-3.5.13-enable_jack.patch new file mode 100644 index 000000000..28dfa50a5 --- /dev/null +++ b/redhat/dependencies/arts/arts-3.5.13-enable_jack.patch @@ -0,0 +1,52 @@ +diff -Nuar arts.ORI/CMakeLists.txt arts/CMakeLists.txt +--- arts.ORI/CMakeLists.txt 2011-12-16 20:58:30.000000000 +0100 ++++ arts/CMakeLists.txt 2011-12-16 20:59:20.462377316 +0100 +@@ -34,6 +34,7 @@ + option( WITH_VORBIS "Enable Ogg/Vorbis support" ON ) + option( WITH_MAD "Enable MAD mp3 decoder support" ON ) + option( WITH_ESOUND "Enable ESOUND support" OFF ) ++option( WITH_JACK "Enable JACK support" OFF ) + + + ##### paths setup ############################### +@@ -163,6 +164,19 @@ + endif( WITH_ESOUND ) + + ++##### check for JACK ############################ ++ ++set( HAVE_LIBJACK 0 ) ++if( WITH_JACK ) ++ pkg_search_module( LIBJACK jack ) ++ if( LIBJACK_FOUND ) ++ set( HAVE_LIBJACK 1 ) ++ else( LIBJACK_FOUND ) ++ message(FATAL_ERROR "\nJACK support is requested, but `jack.pc` was not found" ) ++ endif( LIBJACK_FOUND ) ++endif( WITH_JACK ) ++ ++ + ##### check for glib/gthread modules ############ + + pkg_search_module( GLIB2 glib-2.0 ) +diff -Nuar arts.ORI/config.h.cmake arts/config.h.cmake +--- arts.ORI/config.h.cmake 2011-12-16 20:58:30.000000000 +0100 ++++ arts/config.h.cmake 2011-12-16 20:59:24.095343176 +0100 +@@ -34,3 +34,5 @@ + #cmakedefine HAVE_SYS_SOUNDCARD_H 1 + #cmakedefine HAVE_LIBPTHREAD 1 + #define HAVE_IOCTL_INT_ULONGINT_DOTS 3 ++ ++#cmakedefine HAVE_LIBJACK 1 +diff -Nuar arts.ORI/flow/CMakeLists.txt arts/flow/CMakeLists.txt +--- arts.ORI/flow/CMakeLists.txt 2011-12-16 21:00:29.000000000 +0100 ++++ arts/flow/CMakeLists.txt 2011-12-16 21:02:29.831594171 +0100 +@@ -66,7 +66,7 @@ + tde_add_library( ${target} SHARED + SOURCES ${${target}_SRCS} + VERSION 1.0.0 +- LINK artsgsl-static artsgslpp-static artsflow_idl-shared ${AUDIOFILE_LIBRARIES} ++ LINK artsgsl-static artsgslpp-static artsflow_idl-shared ${AUDIOFILE_LIBRARIES} ${LIBJACK_LIBRARIES} + DESTINATION ${LIB_INSTALL_DIR} + ) + diff --git a/redhat/dependencies/arts/trinity-arts-3.5.13.spec b/redhat/dependencies/arts/trinity-arts-3.5.13.spec index 297db868e..7e032efef 100755 --- a/redhat/dependencies/arts/trinity-arts-3.5.13.spec +++ b/redhat/dependencies/arts/trinity-arts-3.5.13.spec @@ -2,7 +2,7 @@ %if "%{?version}" == "" %define version 3.5.13 %endif -%define release 3 +%define release 4 # If TDE is built in a specific prefix (e.g. /opt/trinity), the release will be suffixed with ".opt". %if "%{?_prefix}" != "/usr" @@ -32,6 +32,9 @@ Source0: arts-%{version}.tar.gz # TDE 3.5.13: Re-enable lost OSS support Patch0: arts-3.5.13-enable_oss.patch +# TDE 3.5.13: Re-enable lost JACK support +Patch1: arts-3.5.13-enable_jack.patch + BuildRequires: tqtinterface-devel BuildRequires: audiofile-devel BuildRequires: alsa-lib-devel @@ -39,9 +42,10 @@ BuildRequires: glib2-devel BuildRequires: libtool-ltdl-devel BuildRequires: gsl-devel BuildRequires: libvorbis-devel +BuildRequires: jack-audio-connection-kit-devel -Requires: tqtinterface -Requires: audiofile +Requires: tqtinterface +Requires: audiofile %if "%{?_prefix}" == "/usr" Obsoletes: arts @@ -74,6 +78,7 @@ Development files for %{name} %prep %setup -q -n dependencies/arts %patch0 -p1 +%patch1 -p1 %build unset QTDIR || : ; . /etc/profile.d/qt.sh @@ -88,9 +93,9 @@ cd build -DWITH_VORBIS=ON \ -DWITH_MAD=OFF \ -DWITH_ESOUND=ON \ + -DWITH_JACK=ON \ .. -#cp -f /tmp/config.h . %__make %{?_smp_mflags} @@ -131,6 +136,9 @@ cd build %changelog +* Fri Dec 16 2011 Francois Andriot - 3.5.13-4 +- Enables JACK support + * Mon Nov 14 2011 Francois Andriot - 3.5.13-3 - Enables OSS and ESD support diff --git a/redhat/kdeaddons/trinity-kdeaddons-3.5.13.spec b/redhat/kdeaddons/trinity-kdeaddons-3.5.13.spec index 3845c0e41..3650c8332 100644 --- a/redhat/kdeaddons/trinity-kdeaddons-3.5.13.spec +++ b/redhat/kdeaddons/trinity-kdeaddons-3.5.13.spec @@ -2,7 +2,7 @@ %if "%{?version}" == "" %define version 3.5.13 %endif -%define release 2 +%define release 3 # If TDE is built in a specific prefix (e.g. /opt/trinity), the release will be suffixed with ".opt". %if "%{?_prefix}" != "/usr" @@ -17,13 +17,13 @@ BuildRequires: autoconf automake libtool m4 %define tde_libdir %{_libdir}/trinity -Name: trinity-kdeaddons -Summary: Trinity Desktop Environment - Plugins -Version: %{?version} -Release: %{?release}%{?dist}%{?_variant} +Name: trinity-kdeaddons +Summary: Trinity Desktop Environment - Plugins +Version: %{?version} +Release: %{?release}%{?dist}%{?_variant} -License: GPLv2 -Group: User Interface/Desktops +License: GPLv2 +Group: User Interface/Desktops Vendor: Trinity Project Packager: Francois Andriot @@ -49,19 +49,17 @@ BuildRequires: db4-devel %if 0%{?fedora} BuildRequires: xmms-devel -%endif - -Requires: trinity-kdebase -%if 0%{?fedora} +Obsoletes: %{name}-xmms < %{version}-%{release} # used in jpegorient (#312641) Requires: python-exif %endif + +Requires: trinity-kdebase Requires: which Requires(post): /sbin/ldconfig Requires(postun): /sbin/ldconfig -Obsoletes: %{name}-xmms < %{version}-%{release} %description A collection of KDE Addons/Plugins, including: @@ -89,8 +87,9 @@ This package includes: # Ugly hack to modify TQT include directory inside autoconf files. # If TQT detection fails, it fallbacks to TQT4 instead of TQT3 ! -sed -i admin/acinclude.m4.in \ - -e "s,/usr/include/tqt,%{_includedir}/tqt,g" +%__sed -i admin/acinclude.m4.in \ + -e "s,/usr/include/tqt,%{_includedir}/tqt,g" \ + -e "s,kde_htmldir='.*',kde_htmldir='%{tde_docdir}/HTML',g" %__cp "/usr/share/aclocal/libtool.m4" "admin/libtool.m4.in" %__cp "/usr/share/libtool/config/ltmain.sh" "admin/ltmain.sh" @@ -102,12 +101,8 @@ unset QTDIR || : ; . /etc/profile.d/qt.sh export PATH="%{_bindir}:${PATH}" export LDFLAGS="-L%{_libdir} -I%{_includedir}" -%if 0%{?fedora} > 0 -export CXXFLAGS="${CXXFLAGS} -fpermissive" -%endif - %configure \ - --includedir=%{_includedir}/kde \ + --includedir=%{tde_includedir} \ --disable-rpath \ --enable-new-ldflags \ --enable-closure \ @@ -149,9 +144,11 @@ for dir in konq-plugins ; do done done +%if 0%{?fedora} > 0 # install fedora metabar theme cp -prf fedora %{buildroot}%{_datadir}/apps/metabar/themes install -m644 -p %{SOURCE2} %{buildroot}%{_datadir}/config/ +%endif %post @@ -221,17 +218,16 @@ gtk-update-icon-cache -q %{_datadir}/icons/hicolor 2> /dev/null ||: %{_datadir}/icons/locolor/*/*/* %{_datadir}/mimelnk/*/* %{_datadir}/service*/* -%doc %lang(en) %{_docdir}/HTML/en/*/* # atlantikdesigner -#%exclude %{_bindir}/atlantikdesigner -#%exclude %{_datadir}/icons/hicolor/*/*/atlantikdesigner* -#%exclude %{_datadir}/applications/kde/atlantikdesigner.desktop +%exclude %{_bindir}/atlantikdesigner +%exclude %{_datadir}/icons/hicolor/*/*/atlantikdesigner* +%exclude %{_datadir}/applications/kde/atlantikdesigner.desktop # noatun-plugins -#%exclude %{_bindir}/noatun* -#%exclude %{tde_libdir}/noatun* -#%exclude %{_datadir}/apps/noatun/* +%exclude %{_bindir}/noatun* +%exclude %{tde_libdir}/noatun* +%exclude %{_datadir}/apps/noatun/* %files extras @@ -239,18 +235,22 @@ gtk-update-icon-cache -q %{_datadir}/icons/hicolor 2> /dev/null ||: # atlantikdesigner %doc atlantikdesigner/TODO -#%{_bindir}/atlantikdesigner +%{_bindir}/atlantikdesigner %{_datadir}/apps/atlantikdesigner/ -#%{_datadir}/icons/hicolor/*/*/atlantikdesigner* -#%{_datadir}/applications/kde/atlantikdesigner.desktop +%{_datadir}/icons/hicolor/*/*/atlantikdesigner* +%{_datadir}/applications/kde/atlantikdesigner.desktop # noatun-plugins -#%{_bindir}/noatun* -#%{tde_libdir}/noatun* +%{_bindir}/noatun* +%{tde_libdir}/noatun* %{_datadir}/apps/noatun/* %changelog +* Thu Dec 15 2011 Francois Andriot - 3.5.13-3 +- Fix content of -extras package +- Fix various packaging issues + * Fri Nov 04 2011 Francois Andriot - 3.5.13-2 - Updates BuildRequires diff --git a/redhat/kdebase/kdebase-3.5.13-startkde_directories.patch b/redhat/kdebase/kdebase-3.5.13-startkde_directories.patch index 27826bda2..504196ee4 100644 --- a/redhat/kdebase/kdebase-3.5.13-startkde_directories.patch +++ b/redhat/kdebase/kdebase-3.5.13-startkde_directories.patch @@ -1,6 +1,14 @@ ---- kdebase/startkde.ORI 2011-12-11 18:17:16.287267447 +0100 -+++ kdebase/startkde 2011-12-11 18:35:05.876764598 +0100 -@@ -74,39 +74,10 @@ +--- kdebase/startkde.ORI 2011-12-12 20:09:21.984162840 +0100 ++++ kdebase/startkde 2011-12-12 20:08:27.922834925 +0100 +@@ -4,6 +4,7 @@ + # + + echo "[startkde] Starting startkde." 1>&2 ++export KDEDIR="${KDEDIR:-/opt/trinity}" + + # When the X server dies we get a HUP signal from xinit. We must ignore it + # because we still need to do some cleanup. +@@ -74,39 +75,10 @@ echo "[startkde] KDEHOME is preset to $KDEHOME." 1>&2 export KDEHOME=$KDEHOME else @@ -43,10 +51,16 @@ echo "[startkde] Set KDEHOME to $KDEHOME." 1>&2 fi -@@ -123,43 +94,20 @@ - if [ -d /opt/trinity/bin ]; then - export PATH=/opt/trinity/bin:$PATH +@@ -117,51 +89,25 @@ fi + + # Modify the following environment variables only as necessary. +-if [ -d /opt/trinity/games ]; then +- export PATH=/opt/trinity/games:$PATH +-fi +-if [ -d /opt/trinity/bin ]; then +- export PATH=/opt/trinity/bin:$PATH +-fi -if [ -d /opt/trinity/games ]; then - export PATH=/opt/trinity/games:$PATH -fi @@ -56,21 +70,25 @@ -if [ -d /opt/trinity/share ]; then - export XDG_DATA_DIRS=$XDG_DATA_DIRS:/opt/trinity/share/:/usr/share/ -fi - if [ -d /opt/trinity/share ]; then +-if [ -d /opt/trinity/share ]; then - export XDG_DATA_DIRS=$XDG_DATA_DIRS:/opt/trinity/share/:/usr/share/ -+ # Do NOT add /usr/share, it is supposed to be already there ! -+ export XDG_DATA_DIRS=$XDG_DATA_DIRS:/opt/trinity/share/ ++if [ -d ${KDEDIR}/games ]; then ++ export PATH=${KDEDIR}/games:$PATH fi - if [ -d /opt/trinity/etc/xdg ]; then +-if [ -d /opt/trinity/etc/xdg ]; then - export XDG_CONFIG_DIRS=$XDG_CONFIG_DIRS:/opt/trinity/etc/xdg/:/etc/xdg/ --fi ++if [ -d ${KDEDIR}/bin ]; then ++ export PATH=${KDEDIR}/bin:$PATH + fi -if [ -d /opt/trinity/etc/xdg ]; then - export XDG_CONFIG_DIRS=$XDG_CONFIG_DIRS:/opt/trinity/etc/xdg/:/etc/xdg/ -+ # Do NOT add /etc/xdg, it is supposed to be already there ! -+ export XDG_CONFIG_DIRS=$XDG_CONFIG_DIRS:/opt/trinity/etc/xdg/ ++if [ -d ${KDEDIR}/share ]; then ++ export XDG_DATA_DIRS=$XDG_DATA_DIRS:${KDEDIR}/share/:/usr/share/ fi - if [ -d /opt/trinity/share/man ]; then - export MANPATH=/opt/trinity/share/man:$MANPATH +-if [ -d /opt/trinity/share/man ]; then +- export MANPATH=/opt/trinity/share/man:$MANPATH ++if [ -d ${KDEDIR}/etc/xdg ]; then ++ export XDG_CONFIG_DIRS=$XDG_CONFIG_DIRS:${KDEDIR}/etc/xdg/:/etc/xdg/ fi -if [ -d /opt/trinity/share/man ]; then - export MANPATH=/opt/trinity/share/man:$MANPATH @@ -82,14 +100,19 @@ - export KDEDIRS=/opt/trinity/:/usr/ - fi -fi - if [ -d /opt/trinity ]; then +-if [ -d /opt/trinity ]; then - if [ -n "$KDEDIRS" ]; then - export KDEDIRS=$KDEDIRS:/opt/trinity/:/usr/ - else - export KDEDIRS=/opt/trinity/:/usr/ - fi -+ # The TDE directory should appear BEFORE '/usr' in KDEDIRS variable ! -+ export KDEDIRS=${KDEDIR}/:${KDEDIRS} ++if [ -d ${KDEDIR}/share/man ]; then ++ export MANPATH=${KDEDIR}/share/man:$MANPATH fi ++# The TDE directory must be first in $KDEDIRS ++export KDEDIRS=${KDEDIR}/:$KDEDIRS:/usr/ ++ test -n "$KDEHOME" && kdehome=`echo "$KDEHOME" | sed "s,^~/,$HOME/,"` + echo "[startkde] kdehome: $kdehome" 1>&2 + diff --git a/redhat/kdebase/trinity-kdebase-3.5.13.spec b/redhat/kdebase/trinity-kdebase-3.5.13.spec index bde17d9a5..82c442819 100644 --- a/redhat/kdebase/trinity-kdebase-3.5.13.spec +++ b/redhat/kdebase/trinity-kdebase-3.5.13.spec @@ -2,7 +2,7 @@ %if "%{?version}" == "" %define version 3.5.13 %endif -%define release 12 +%define release 13 # If TDE is built in a specific prefix (e.g. /opt/trinity), the release will be suffixed with ".opt". %if "%{?_prefix}" != "/usr" @@ -288,7 +288,7 @@ Protocol handlers (KIOslaves) for personal information management, including: # KDM Background %__sed -i "kdm/kfrontend/genkdmconf.c" \ -e 's,"Wallpaper=isadora.png\n","Wallpaper=%{tde_bg}\n",' - + # TDE user default background %__sed -i "kpersonalizer/keyecandypage.cpp" \ -e 's,#define DEFAULT_WALLPAPER "isadora.png",#define DEFAULT_WALLPAPER "%{tde_bg}",' @@ -309,6 +309,10 @@ Protocol handlers (KIOslaves) for personal information management, including: %__sed -i "kdm/config.def" \ -e "s|Welcome to Trinity |Welcome to %{tde_aboutlabel} |" +# TDE default directory in 'startkde' script (KDEDIR) +%__sed -i "startkde" \ + -e "s|/opt/trinity|%{_prefix}|g" + %build unset QTDIR || : ; . /etc/profile.d/qt.sh export PATH="%{_bindir}:${PATH}" @@ -364,12 +368,10 @@ cd build %__sed -i "%{?buildroot}%{_usr}/share/xsessions/tde.desktop" \ -e "s,^Name=.*,Name=TDE," -# Modifies 'startkde' to set KDEDIR and KDEHOME hardcoded specific for TDE -%__sed -i "%{?buildroot}%{_bindir}/startkde" \ - -e '/^echo "\[startkde\] Starting startkde.".*/ s,$,\nexport KDEDIR=%{_prefix}\nexport KDEHOME=~/.trinity,' - # Renames '/etc/ksysguarddrc' to avoid conflict with KDE4 'ksysguard' -%__mv -f %{?buildroot}%{_sysconfdir}/ksysguarddrc %{?buildroot}%{_sysconfdir}/ksysguarddrc.tde +%__mv -f \ + %{?buildroot}%{_sysconfdir}/ksysguarddrc \ + %{?buildroot}%{_sysconfdir}/ksysguarddrc.tde # TDE 3.5.12: add script "plasma-desktop" to avoid conflict with KDE4 %if "%{?_prefix}" != "/usr" @@ -377,11 +379,10 @@ cd build %endif # PAM configuration files -%__mkdir_p "%{?buildroot}%{_sysconfdir}/pam.d" -%__install -m 644 "%{SOURCE2}" "%{?buildroot}%{_sysconfdir}/pam.d/kdm-trinity" -%__install -m 644 "%{SOURCE3}" "%{?buildroot}%{_sysconfdir}/pam.d/kdm-trinity-np" -%__install -m 644 "%{SOURCE4}" "%{?buildroot}%{_sysconfdir}/pam.d/kcheckpass-trinity" -%__install -m 644 "%{SOURCE5}" "%{?buildroot}%{_sysconfdir}/pam.d/kscreensaver-trinity" +%__install -D -m 644 "%{SOURCE2}" "%{?buildroot}%{_sysconfdir}/pam.d/kdm-trinity" +%__install -D -m 644 "%{SOURCE3}" "%{?buildroot}%{_sysconfdir}/pam.d/kdm-trinity-np" +%__install -D -m 644 "%{SOURCE4}" "%{?buildroot}%{_sysconfdir}/pam.d/kcheckpass-trinity" +%__install -D -m 644 "%{SOURCE5}" "%{?buildroot}%{_sysconfdir}/pam.d/kscreensaver-trinity" # KDM configuration for RHEL/Fedora %__sed -i "%{?buildroot}%{_datadir}/config/kdm/kdmrc" \ @@ -406,7 +407,7 @@ touch --no-create %{_datadir}/icons/crystalsvg 2> /dev/null || : gtk-update-icon-cache --quiet %{_datadir}/icons/crystalsvg 2> /dev/null || : update-desktop-database 2> /dev/null || : # Dirty hack to install '/etc/ksysguardrc' alongside with KDE4 -[ -r %{_sysconfdir}/ksysguarddrc ] || cp -f %{_sysconfdir}/ksysguarddrc.tde %{_sysconfdir}/ksysguarddrc +[ -r "%{_sysconfdir}/ksysguarddrc" ] || cp -f "%{_sysconfdir}/ksysguarddrc.tde" "%{_sysconfdir}/ksysguarddrc" %postun touch --no-create %{_datadir}/icons/crystalsvg 2> /dev/null || : @@ -666,6 +667,9 @@ update-desktop-database %{_datadir}/applications > /dev/null 2>&1 || : %{_datadir}/cmake/*.cmake %changelog +* Mon Dec 12 2011 Francois Andriot - 3.5.13-13 +- Fix variables (again) + * Sun Dec 11 2011 Francois Andriot - 3.5.13-12 - Fix KDEDIRS and other variables in 'startkde', that messes up translations.