在fedora17上运行deepin-music-player和deepin-media-player成功
Tofloor
poster avatar
a14331990
deepin
2012-06-07 00:01
Author
从http://test.packages.linuxdeepin.com/下载的deb包 用alien转成rpm安装的
(简要过程
先把
pygtk2打上deepin提供的补丁10_fix_create_layout_unref.patch然后rpmbuild -bs *.spec;rpmbuild --rebuild *.src.rpm,yum reinstall *.rpm。

sudo alien --to-rpm --veryverbose --scripts -g *.deb 1>1.txt生成spec文件和rpm build root,再根据fedora的目录、命令等修改spec,注意此时的记录文件1.txt指明了deb包的Depends,我把每个deb依赖翻译成了fedora的对应包,还加了%post和%postun部分,最后rpmbuild。

deepin-music-player和deepin-media-player都是noarch的用alien转不可能出现二进制不兼容或库不匹配的问题。


整个deepin-ui只有dtk_cairo_blur.so是native code,我alien了deepin-ui_1+git20120605-3_amd64.deb并安装生成的rpm,又把deepin-ui_1+git20120605.orig.tar.gz解压运行python setup.py build把编译生成的dtk_cairo_blur.so覆盖到/usr/lib/python2.7/dist-packages/dtk_cairo_blur.so和/usr/lib/python2.7/site-packages/dtk_cairo_blur.so

总之,我在fedora17上运行deepin-music-player和deepin-media-player应该是没有区别的


[color=#FF0000:20rzogcq]deepin-music-player[/color:20rzogcq]
/usr/share/deepin-music-player/src/widget/lyrics_module.py
第584行左右把
  1.          #     x = config.getint("lyrics", "desktop_x")
  2.          #     y = config.getint("lyrics", "desktop_y")
Copy the Code
的注释拿掉
去掉
  1.         x = screen_w / 2 - w / 2
  2.         y = screen_h - h
Copy the Code
就可以自由移动desktop lyrics了

还有
/usr/share/applications/deepin-music-player.desktop
在末尾加上
  1. MimeType=application/x-ogg;application/ogg;audio/x-vorbis+ogg;audio/x-scpls;audio/x-mp3;audio/x-mpeg;audio/mpeg;audio/x-mpegurl;audio/x-flac;
Copy the Code
然后运行
  1. sudo update-desktop-database
  2. sudo update-mime-database /usr/share/mime
Copy the Code
就可以右键打开音乐了

有个小问题
~/.config/deepin-music-player/config
里面第3行
play = false
似乎是指程序启动不自动播放
我把它改成true 下次启动时竟然又自动变为false 于是也没有自动播放

从命令行启动deepin-music-player
报错Gtk-Message: Failed to load module "pk-gtk-module"
不过这个错误是注定了的
因为fedora17里面彻底抛弃了包PackageKit-gtk-module
在fedora16的时候PackageKit-gtk3-module是PackageKit的gtk3的module
PackageKit-gtk-module是PackageKit的gtk2的module
如今fedora17只有PackageKit-gtk3-module是PackageKit的gtk3的module,没有提供兼容的PackageKit的gtk2的module
抛弃PackageKit的gtk2的module似乎是upstream(PackageKit 0.7.4)的决定,但愿deepin-music-player不会过于依赖PackageKit的gtk2的module。
运行效果
deep-music-player-2012-06-06-fedora17.png

[color=#FF0000:20rzogcq]deepin-media-player[/color:20rzogcq]
依赖于mplayer2
从命令行启动报错
Gtk-Message: Failed to load module "pk-gtk-module"
path_list_show: 'OpenDialog' object has no attribute 'scrol_btn'
path_list_show:'NoneType' object has no attribute 'load_icon'
path_list_show:'NoneType' object has no attribute 'load_icon'

打开文件的时候似乎是自己的file open dialog而没有用gnome本身的file open dialog(deepin-music-player是用的gnome本身的file open dialog),deepin-media-player的file-open-dialog好像没给文件以及文件夹排序,找文件不大方便
截图
deepin-media-player-open-2012-06-06-fedora17.png

~/.config/deepin-media-player目录下的配置文件都没有配置选项
运行效果
deep-media-player-2012-06-06-fedora17.png


[color=#FF0000:20rzogcq]感谢各位开发人员的辛勤劳动![/color:20rzogcq]
p.s.deepin的很多项目好像没有托管在github了,deepin-image-viewer是做什么的?
Reply Favorite View the author
All Replies
2 / 2
To page
zh******[email protected]
deepin
2012-06-18 15:33
#21
呵呵,老菜鸟一只,还是做伸手党吧 :
Reply View the author
243750496
deepin
2013-08-06 04:02
#22
sudo alien --to-rpm --veryverbose --scripts -g *.deb 1>1.txt生成spec文件和rpm build root,再根据fedora的目录、命令等修改spec,注意此时的记录文件1.txt指明了deb包的Depends,我把每个deb依赖翻译成了fedora的对应包,还加了%post和%postun部分,最后rpmbuild。


这个具体是怎么翻译的,“还加了%post和%postun部分”这个是什么意思怎么加的,在哪加的?为什么要加?楼主,我想学习一下,劳驾把详细过程写一下,点化一下小白,我很想学,我也是用fedora,谢了

为了学习而挖坟,还望楼主不要介意
Reply View the author
243750496
deepin
2013-08-06 04:20
#23
依赖是这一部分么

        dpkg-deb --info 'deepin-music-player_1+git20130723135520~be9da0cfa6_all.deb' control 2>/dev/null
Package: deepin-music-player
Version: 1+git20130723135520~be9da0cfa6
Architecture: all
Maintainer: Li Longyu
Installed-Size: 34121
Depends: deepin-ui (>= 1+git201209101328), python-mutagen (>= 1.8), python-gst0.10, python-pyquery, gstreamer0.10-plugins-bad-multiverse, python-cddb, gstreamer0.10-plugins-ugly, gstreamer0.10-ffmpeg, python-pycurl, python-chardet, python-keybinder
Suggests: python-mmkeys
Section: sound
Priority: extra
Homepage: http://www.linuxdeepin.com/
Description: Awesome music player with brilliant and tweakful UI
Deepin-UI based, gstreamer front-end, with features likes search music by
pinyin,quanpin, colorful lyrics supports, and more powerfull functions you
will found.
.
Just enjoy it! have fun!
        dpkg-deb --info 'deepin-music-player_1+git20130723135520~be9da0cfa6_all.deb' control 2>/dev/null
Package: deepin-music-player
Version: 1+git20130723135520~be9da0cfa6
Architecture: all
Maintainer: Li Longyu
Installed-Size: 34121
Depends: deepin-ui (>= 1+git201209101328), python-mutagen (>= 1.8), python-gst0.10, python-pyquery, gstreamer0.10-plugins-bad-multiverse, python-cddb, gstreamer0.10-plugins-ugly, gstreamer0.10-ffmpeg, python-pycurl, python-chardet, python-keybinder
Suggests: python-mmkeys
Section: sound
Priority: extra
Homepage: http://www.linuxdeepin.com/
Description: Awesome music player with brilliant and tweakful UI
Deepin-UI based, gstreamer front-end, with features likes search music by
pinyin,quanpin, colorful lyrics supports, and more powerfull functions you
will found.
.
Just enjoy it! have fun!
Reply View the author
cxbii
deepin
2013-08-06 05:05
#24
目前还是在debian系安装比较少问题,.汗
Reply View the author
243750496
deepin
2013-08-06 05:24
#25
目前还是在debian系安装比较少问题,.汗
能给解答一下咋改的么,我接受风险,我折腾的起
原文件

Buildroot: /home/cc/下载/deepin-ui-1+git20130724160031~d431497750
Name: deepin-ui
Version: 1+git20130724160031~d431497750
Release: 2
Summary: LinuxDeepin UI libs
License: see /usr/share/doc/deepin-ui/copyright
Distribution: Debian
Group: Converted/libdevel

%define _rpmdir ../
%define _rpmfilename %%{NAME}-%%{VERSION}-%%{RELEASE}.%%{ARCH}.rpm
%define _unpackaged_files_terminate_build 0

%post
#!/bin/sh
set -e

# . /usr/share/debconf/confmodule
# db_version 2.0
# db_capb backup
# db_get deepin-ui/release-note

if which pycompile >/dev/null 2>&1;then
pycompile -p deepin-ui
fi


# db_input high deepin-ui/release-note || true
# db_go


%preun
#!/bin/sh
set -e

# Automatically added by dh_python2:
if which pyclean >/dev/null 2>&1; then
pyclean -p deepin-ui
else
dpkg -L deepin-ui | grep \.py$ | while read file
do
rm -f "${file}"[co] >/dev/null
done
fi

# End automatically added section


%description
UI toolkit for Linux Deepin,Awesome and Beautiful UI libs with LinuxDeepin


(Converted from a deb package by alien version 8.88.)

%files
%dir "/"
%dir "/usr/"
%dir "/usr/lib/"
%dir "/usr/lib/python2.7/"
%dir "/usr/lib/python2.7/dist-packages/"
%dir "/usr/lib/python2.7/dist-packages/dtk/"
%dir "/usr/lib/python2.7/dist-packages/dtk/ui/"
%dir "/usr/lib/python2.7/dist-packages/dtk-0.1.egg-info/"
%dir "/usr/share/"
%dir "/usr/share/doc/"
%dir "/usr/share/doc/deepin-ui/"
"/usr/share/doc/deepin-ui/changelog.gz"
"/usr/share/doc/deepin-ui/copyright"
"/usr/share/doc/deepin-ui/README"
%dir "/usr/share/locale/"
%dir "/usr/share/locale/zh_TW/"
%dir "/usr/share/locale/zh_TW/LC_MESSAGES/"
"/usr/share/locale/zh_TW/LC_MESSAGES/deepin-ui.mo"
%dir "/usr/share/locale/zh_HK/"
%dir "/usr/share/locale/zh_HK/LC_MESSAGES/"
"/usr/share/locale/zh_HK/LC_MESSAGES/deepin-ui.mo"
%dir "/usr/share/locale/zh_CN/"
%dir "/usr/share/locale/zh_CN/LC_MESSAGES/"
"/usr/share/locale/zh_CN/LC_MESSAGES/deepin-ui.mo"
%dir "/usr/share/pyshared/"
%dir "/usr/share/pyshared/dtk-0.1.egg-info/"
"/usr/share/pyshared/dtk-0.1.egg-info/PKG-INFO"
"/usr/share/pyshared/dtk-0.1.egg-info/top_level.txt"
"/usr/share/pyshared/dtk-0.1.egg-info/dependency_links.txt"
"/usr/share/pyshared/dtk-0.1.egg-info/SOURCES.txt"
%dir "/usr/share/pyshared/dtk/"
"/usr/share/pyshared/dtk/__init__.py"
%dir "/usr/share/pyshared/dtk/ui/"
"/usr/share/pyshared/dtk/ui/skin_config.py"
"/usr/share/pyshared/dtk/ui/unique_service.py"
"/usr/share/pyshared/dtk/ui/box.py"
"/usr/share/pyshared/dtk/ui/label.py"
"/usr/share/pyshared/dtk/ui/logger.py"
"/usr/share/pyshared/dtk/ui/entry_treeview.py"
"/usr/share/pyshared/dtk/ui/slider.py"
"/usr/share/pyshared/dtk/ui/mplayer_window.py"
.......

网上某位大神修改后
%define modname dtk
Name: deepin-ui
Version: 1.0.1
Release: 1%{?dist}
Summary: LinuxDeepin UI libs
License: GPL2+GPL3
URL: http://test.packages.linuxdeepin.com/de ... deepin-ui/
Source: http://test.packages.linuxdeepin.com/de ... 059.tar.gz
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Group: Development/Libraries
Requires:cairo, glib2, python, pycairo, libsoup, python, gtk2, pygtk2, python-imaging, python-xlib, python-formencode, python-pyquery
BuildRequires: cairo-devel, glib2-devel, libsoup-devel, python-devel, gtk2-devel, pygtk2-devel, python-imaging, python-xlib, python-formencode, python-pyquery

%description
UI toolkit for Linux Deepin,Awesome and Beautiful UI libs with LinuxDeepin


%prep
%setup -q -n deepin-ui-1+git201208171059

%build
python setup.py build

%install
python setup.py install --prefix=%{_prefix} --root=%{buildroot}
mv %{buildroot}/%{_prefix}/%{modname}/* %{buildroot}/%{python_sitearch}/%{modname}/
rm -rf %{buildroot}/%{_prefix}/%{modname}/

%clean
rm -rf %{buildroot}

%files
%defattr(-,root,root,-)
%doc README* AUTHORS COPYING debian/changelog debian/copyright
%{python_sitearch}/%{modname}/
%{python_sitearch}/%{modname}-*-py%{python_version}.egg-info/
%{python_sitearch}/%{modname}*.so

%changelog
* Sat Aug 18 2012 a14331990 - 1.0.1-1
- Initial version build for fedora 17

原文件
Buildroot: /home/cc/下载/deepin-music-player-1+git20130723135520~be9da0cfa6
Name: deepin-music-player
Version: 1+git20130723135520~be9da0cfa6
Release: 2
Summary: Awesome music player with brilliant and tweakful UI
License: see /usr/share/doc/deepin-music-player/copyright
Distribution: Debian
Group: Converted/sound

%define _rpmdir ../
%define _rpmfilename %%{NAME}-%%{VERSION}-%%{RELEASE}.%%{ARCH}.rpm
%define _unpackaged_files_terminate_build 0

%post
#! /bin/sh

cd /usr/share/deepin-music-player/tools
python2 generate_mo.py


%preun
#!/bin/sh
set -e

# Automatically added by dh_python2:
if which pyclean >/dev/null 2>&1; then
pyclean -p deepin-music-player
else
dpkg -L deepin-music-player | grep \.py$ | while read file
do
rm -f "${file}"[co] >/dev/null
done
fi

# End automatically added section


%postun
#!/bin/sh -e

case "$1" in
remove|purge)
rm /usr/share/deepin-music-player -rf
;;
esac

exit 0


%description
Deepin-UI based, gstreamer front-end, with features likes search music by
pinyin,quanpin, colorful lyrics supports, and more powerfull functions you
will found.

Just enjoy it! have fun!


(Converted from a deb package by alien version 8.88.)

%files
%dir "/"
%dir "/usr/"
%dir "/usr/bin/"
%dir "/usr/share/"
%dir "/usr/share/icons/"
%dir "/usr/share/icons/hicolor/"
%dir "/usr/share/icons/hicolor/48x48/"
%dir "/usr/share/icons/hicolor/48x48/apps/"
"/usr/share/icons/hicolor/48x48/apps/deepin-music-player.png"
%dir "/usr/share/doc/"
%dir "/usr/share/doc/deepin-music-player/"
"/usr/share/doc/deepin-music-player/copyright"
"/usr/share/doc/deepin-music-player/changelog.gz"
%dir "/usr/share/applications/"
"/usr/share/applications/deepin-music-player.desktop"
%dir "/usr/share/python/"
%dir "/usr/share/python/runtime.d/"
"/usr/share/python/runtime.d/deepin-music-player.rtupdate"
%dir "/usr/share/deepin-music-player/"
"/usr/share/deepin-music-player/AUTHORS"
%dir "/usr/share/deepin-music-player/locale/"
"/usr/share/deepin-music-player/locale/zh_TW.po"
"/usr/share/deepin-music-player/locale/zh_HK.po"
"/usr/share/deepin-music-player/locale/zh_CN.po"
"/usr/share/deepin-music-player/locale/deepin-music-player.pot"
%dir "/usr/share/deepin-music-player/app_theme/"
%dir "/usr/share/deepin-music-player/app_theme/purple/"
%dir "/usr/share/deepin-music-player/app_theme/purple/image/"
%dir "/usr/share/deepin-music-player/app_theme/purple/image/slipper/"
"/usr/share/deepin-music-player/app_theme/purple/image/slipper/middle_bg.png"
"/usr/share/deepin-music-player/app_theme/purple/image/slipper/left_bg.png"
"/usr/share/deepin-music-player/app_theme/purple/image/slipper/middle_fg.png"
"/usr/share/deepin-music-player/app_theme/purple/image/slipper/right_bg.png"
"/usr/share/deepin-music-player/app_theme/purple/image/slipper/point.png"
"/usr/share/deepin-music-player/app_theme/purple/image/slipper/right_fg.png"
"/usr/share/deepin-music-player/app_theme/purple/image/slipper/left_fg.png"
%dir "/usr/share/deepin-music-player/app_theme/purple/image/action/"
"/usr/share/deepin-music-player/app_theme/purple/image/action/next_normal.png"
"/usr/share/deepin-music-player/app_theme/purple/image/action/play_hover.png"
"/usr/share/deepin-music-player/app_theme/purple/image/action/play_normal.png"
"/usr/share/deepin-music-player/app_theme/purple/image/action/previous_normal.png"
"/usr/share/deepin-music-player/app_theme/purple/image/action/next_press.png"
"/usr/share/deepin-music-player/app_theme/purple/image/action/pause_hover.png"
"/usr/share/deepin-music-player/app_theme/purple/image/action/next_hover.png"
"/usr/share/deepin-music-player/app_theme/purple/image/action/previous_press.png"
"/usr/share/deepin-music-player/app_theme/purple/image/action/previous_hover.png"
"/usr/share/deepin-music-player/app_theme/purple/image/action/play_press.png"
"/usr/share/deepin-music-player/app_theme/purple/image/action/pause_normal.png"
"/usr/share/deepin-music-player/app_theme/purple/image/action/pause_press.png"
%dir "/usr/share/deepin-music-player/app_theme/purple/image/menu/"
"/usr/share/deepin-music-player/app_theme/purple/image/menu/tick.png"
"/usr/share/deepin-music-player/app_theme/purple/image/menu/tick_disable.png"
"/usr/share/deepin-music-player/app_theme/purple/image/menu/tick_press.png"
%dir "/usr/share/deepin-music-player/app_theme/purple/image/playmode/"
"/usr/share/deepin-music-player/app_theme/purple/image/playmode/random_hover.png"
.......

修改后
Name: deepin-music-player
Version: 1.0.1
Release: 1%{?dist}
Summary: Awesome music player with brilliant and tweakful UI
License: GPL2+GPL3
Group: Applications/Multimedia
URL: http://test.packages.linuxdeepin.com/de ... ic-player/
Source: http://test.packages.linuxdeepin.com/de ... 003.tar.gz
Patch: fedora-fix.diff
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildArch: noarch
Requires: gstreamer-python,scipy,python-mutagen,python-pyquery,deepin-ui

%description
Deepin-UI based, gstreamer front-end, with features likes search music by
pinyin,quanpin, colorful lyrics supports, and more powerfull functions you
will found.

Just enjoy it! have fun!

%prep
%setup -q -n deepin-music-player-1+git201207161003
%patch -p1

%build


%install
mkdir -p %{buildroot}/opt/%{name}
cp -r app_theme/ %{buildroot}/opt/%{name}
cp -r locale/ %{buildroot}/opt/%{name}
cp -r skin/ %{buildroot}/opt/%{name}
cp -r src/ %{buildroot}/opt/%{name}
cp -r wizard/ %{buildroot}/opt/%{name}

mkdir -p %{buildroot}/%{_datadir}/applications/
cp debian/%{name}.desktop %{buildroot}/%{_datadir}/applications/
mkdir -p %{buildroot}/%{_datadir}/icons/
cp debian/%{name}.png %{buildroot}/%{_datadir}/icons/

mkdir -p %{buildroot}/%{_bindir}/
cd %{buildroot}/%{_bindir}/
ln -sf ../../opt/%{name}/src/main.py %{name}
chmod +x %{buildroot}/%{_bindir}/%{name}


%clean
rm -rf %{buildroot}



%files
%defattr(-,root,root,-)
%doc README* AUTHORS COPYING ChangeLog TODO debian/changelog debian/copyright
/opt/%{name}/
%{_datadir}/applications/%{name}.desktop
%{_datadir}/icons/%{name}.png
%{_bindir}/%{name}

%changelog
* Sat Aug 18 2012 a14331990 - 1.0.1-1
- Initial version build for fedora 17

据那个写教程的人说:原理是
sudo alien --to-rpm --veryverbose --scripts -g *.deb 1>1.txt生成spec文件和rpm build root,再根据fedora的目录、命令等修改spec,注意此时的记录文件1.txt指明了deb包的Depends,我把每个deb依赖翻译成了fedora的对应包,还加了%post和%postun部分,最后rpmbuild。


我没看懂他如何根据fedora的目录、命令等修改spec???而且加上%post和%postun部分啥意思????
我把每个deb依赖翻译成了fedora的对应包,哪翻译了?
Reply View the author
cxbii
deepin
2013-08-06 05:44
#26
我对rpm包管理完全不熟,可以说没接触过,所以帮不了了

回楼上
Reply View the author
243750496
deepin
2013-08-06 05:55
#27
我对rpm包管理完全不熟,可以说没接触过,所以帮不了了

回楼上
唉~只有等楼主了
Reply View the author
2 / 2
To page