大家好,
我打包了 KDE 下一个很不错的图标主题:
spec 文件见此;
其实这个 spec 就是把源文件解压缩之后放到 /usr/share/icons 这个目录下面。
我的问题是这样是不是就算安装成功了?需要不需要其他的操作?比如说是不是还要拷贝到~/.kde4/share/icons 下面?是不是需要运行 gtk 的 update cache 之类的?
一个正常的图标包 spec 应该包括哪些内容才能同时在 qt 和 gtk 程序中都能正常显示?
大家好,
我打包了 KDE 下一个很不错的图标主题:
spec 文件见此;
其实这个 spec 就是把源文件解压缩之后放到 /usr/share/icons 这个目录下面。
我的问题是这样是不是就算安装成功了?需要不需要其他的操作?比如说是不是还要拷贝到~/.kde4/share/icons 下面?是不是需要运行 gtk 的 update cache 之类的?
一个正常的图标包 spec 应该包括哪些内容才能同时在 qt 和 gtk 程序中都能正常显示?
对 KDE 不了解,不过我知道的是:
1、不需要拷贝到~/.kde4/share/icons 下面。
2、在 gnome 下添加图标是不需要 gtk update cache 的,因此在 kde 下应该也不用。
请苏姐指点一个标准版本,我在上面改。
vi xxx.spec
就有模板。
不好意思沒看懂……xxx.spec 是哪個文件?
xxx 是随便什么的意思,似乎是 openSUSE 的一个 bash 插件,它看的是后缀不是名字。只要是 spec 后缀的空白文件都会自动载入 spec 模版。
Sent from my iPhone 5s using Tapatalk
明白了,我去找一下有沒有這個 bash 插件吧,謝謝!
这个其实是 vim 的一个插入功能啦。openSUSE 默认的 vim 配置里就有。我之前也以为是 bash 的一个功能,但是当用 Emacs 打开 spec 后缀的文件是不会自动代入模板所以研究过这个问题。
你
cat /etc/vimrc | grep spec
一下会发现:
function! SKEL_spec()
0r /usr/share/vim/current/skeletons/skeleton.spec
exe "%s/specCURRENT_YEAR/" . strftime("%Y") . "/ge"
exe "%s/specRPM_CREATION_DATE/" . strftime("%a %b %d %Y") . "/ge"
exe "%s/specRPM_CREATION_AUTHOR_MAIL/" . login . "@ . hostname . /ge"
exe "%s/specRPM_CREATION_NAME/" . expand("%:t:r") . "/ge"
setf spec
" changes special characters in search patterns (default)
" Skeleton for spec files
autocmd BufNewFile *.spec call SKEL_spec()
所以这是 vim 用了 /usr/share/vim/current/skeletons/skeleton.spec 这个模板文件自动插入一些内容到 spec 后缀的文件。于是我就把它 copy 出来基于它做了一个在 Emacs 下的模板:-)
另外我记得 wiki 里有写的 rpmdev-newspec 也可以生成模板,之前用过,但感觉没有 vim 的那个简洁清晰(好吧,也许因为之前就跟苏姐用的那个所以习惯了),插入的内容倒是不少,貌似还可以指定包的不同类型来生成不同的模板,有一些插入的内容我完全看不懂。。。。 vim 那个可以自动带入日期前面还有版权信息显得高大上很多。 如果你喜欢 rpmdev-newspec 需要另外加源安装。
sudo zypper ar -f http://download.opensuse.org/repositories/devel:/tools/openSUSE_13.1/ devel-tools
sudo zypper ref
sudo zypper in rpmdevtools
另外 Emacs 的 spec-mode 也可以自动插入模板的。除了有个自动插入 changlog(日期、邮箱、用户名)我觉得还不错以外觉得他的默认模板没有什么好的。。。相当粗糙,而且 OBS 不需要写 changlog。。。它的模板可以配置但也感觉略复杂。
不过 sepc-mode 的很多功能还是不错的。比如可以通过快捷键插入 tag,有自动补全功能,不需要每次打 BuildRequires 那么蛋疼,另外可以通过快捷键直接跳转到某个标签进行修改,然后一个快捷键就可以本地编译(各种编译方式都可以,不用每次输入 rpmbuild 然后还有各种参数了 )。他还有一些我看不懂的比如什么自动插入补丁的功能。。。。从来没有用过。。。。自动插入可以避免手工输入很多打字错误。如果你熟悉 Emacs 的话 spec-mode 真的是相当节省时间的:-)
rpmdev-newspec 有提供了几个模板,模板在 /etc/rpmdevtools/ 下,使用方法参考 rpmdev-newspec --help。目前提供的模板有 dummy lib minimal ocaml perl php-pear python R ruby,应该还可以扩充吧,比如 meta,java 之类的