Fedora 17中KDE Plasma 桌面小程序自動(dòng)依賴解決
包含大量創(chuàng)新性功能的Fedora17也不會(huì)忘記KDE用戶群體,率先實(shí)現(xiàn)了KDEPlasma桌面小程序控件的依賴關(guān)系自動(dòng)解決。
Plasma桌面小程序具有兩種不同的形式:
使用C++撰寫(xiě)的小程序只能通過(guò)發(fā)行版打包或者自己編譯的方式安裝。
使用各式腳本語(yǔ)言并遵循開(kāi)放互聯(lián)服務(wù)標(biāo)準(zhǔn)(OCS)的可以通過(guò)Plasma內(nèi)置的下載對(duì)話框進(jìn)行安裝和管理。
為了實(shí)現(xiàn)小程序的正常運(yùn)行,又有兩方面的東西需要安裝:
腳本引擎:如果小程序是用腳本語(yǔ)言編寫(xiě),那么對(duì)應(yīng)語(yǔ)言的腳本引擎是必需品,否則小程序?qū)佸e(cuò)拒絕工作。
數(shù)據(jù)引擎:各種提供應(yīng)用程序所需要的數(shù)據(jù)內(nèi)容的組件,若是沒(méi)有則小程序運(yùn)行異常。
目前各類發(fā)行版對(duì)于以上這些問(wèn)題的處理方式有:
倉(cāng)庫(kù)中的小程序由發(fā)行版打包者人工處理依賴關(guān)系,但是問(wèn)題是工作量巨大且容易出錯(cuò)。
對(duì)于互聯(lián)網(wǎng)提供的諸多小程序則完全交由最終用戶去解決依賴關(guān)系問(wèn)題,不可避免會(huì)遇到很多異常和拋錯(cuò)。
在Fedora17中通過(guò)KPackageKit/Apper與KDE上游社區(qū)的合作,三種途徑同時(shí)發(fā)力去解決Plasma的依賴關(guān)系:
上游要求Plasma小程序在元數(shù)據(jù)中明確指定依賴關(guān)系。
安裝過(guò)程中KPackageKit/Apper從源代碼中抓取依賴關(guān)系。
在小程序運(yùn)行時(shí)再下載所缺失的依賴關(guān)系。
于是乎Fedora17KDE的用戶將從此告別Plasma小程序依賴關(guān)系所帶來(lái)的煩心問(wèn)題了。
秉承Fedora一貫堅(jiān)持的上游緊密合作傳統(tǒng),該功能已經(jīng)合并入上游,很快所有使用PackageKit的KDE發(fā)行版都將可以享受到它帶來(lái)的便利(使用aptdaemon的Kubuntu于此無(wú)緣)。