LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1188|回复: 15

有没有人会做rpm包?

[复制链接]
发表于 2006-11-10 16:37:53 | 显示全部楼层 |阅读模式
帮我把MultiGet做个rpm吧,我要放到sourceforge.net上。希望能兼容FC4+,我没有这个制作经验。提前谢谢!

源码可在http://multiget.sourceforge.net 下载。
发表于 2006-11-10 16:51:29 | 显示全部楼层
自己编译一下算了,何必这么麻烦作rpm呢,而且没有人写spec.
回复 支持 反对

使用道具 举报

发表于 2006-11-10 17:00:47 | 显示全部楼层
可以试试,
不过我在学校里面,这会好像连不上http://multiget.sourceforge.net
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-11-10 17:06:22 | 显示全部楼层
Post by lincomet
自己编译一下算了,何必这么麻烦作rpm呢,而且没有人写spec.


为一般用户考虑的,有些人不会。
回复 支持 反对

使用道具 举报

发表于 2006-11-10 17:12:11 | 显示全部楼层
那,今天看看去
回复 支持 反对

使用道具 举报

发表于 2006-11-10 18:49:48 | 显示全部楼层
哈,bbbush老大来写啊。
回复 支持 反对

使用道具 举报

发表于 2006-11-10 22:02:56 | 显示全部楼层
支持也放进fedora.cn,期望早进freshrpms等或extra.
回复 支持 反对

使用道具 举报

发表于 2006-11-11 01:32:31 | 显示全部楼层

Is it what you want?

用autotools管理了一下,改了几个小地方。
所有东西都发往:multiget at gmail.com

multiget-1.0.tar.gz  用autotools管理起来的工程源程序包,SPEC的基础
multiget.spec    RPM/SRPM系统所用的SPEC for MultGet
multiget-1.0-1.i386.rpm  RPM包for FC6 需要wxGTK>=2.6(Extra源)
multiget-1.0-1.src.rpm  SRPM包

今天试用了一下,Great Job!呵呵,我的wxWidget开发技术还没到这个程度。
还有希望作一个.desktop文件将执行文件加入菜单中。
希望在MSW上也可以顺利编译。(在msw上wx需要编写资源文件而不使用xpm图,这也许是唯一要注意的。)


[php]

Summary:   This is a demo RPM package.
Name:      multiget
Version:   1.0
Release:   1
License:   GPL
Group:     Applications/FileTransfer
Source:    multiget-1.0.tar.gz
Url:       http://multiget.sourceforge.net/
Packager:  Matt
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)


BuildRequires: wxGTK-devel
Requires: wxGTK >= 2.6

%description
MultiGet is an easy-to-use GUI file downloader for Linux/Unix/BSDs/Windows*. It's programmed by C++ and GUI is based on wxWidgets. It supports http/ftp protocol which covers most user's requirement. It supports multi-task with multi-thread on multi-server. It supports resume download if server side have resume feature, and if you like, you can reconfig the thread number without stopping the going task. It's also support SOCKS 4,4a,5 proxy, ftp proxy, http proxy.


%prep
%setup -q

%build
%configure --with-wx-config=/usr/lib/wx/config/gtk2-unicode-release-2.6

make %{?_smp_mflags}

%install
rm -rf $RPM_BUILD_ROOT

make install DESTDIR=$RPM_BUILD_ROOT


%files
%defattr(-,root,root,-)
%{_bindir}/MultiGet


%changelog
* Sat Nov 11 2006 Matthew Gong <matthewzhenggong@gmail.com> 1.0
- Initial spec file.


[/php]

主要参考http://linux.vbird.org/linux_basic/0520rpm_and_srpm.php
与wxMaxima-0.7.0a-3.fc6.src.rpm 这个SRPM包。


Processing files: multiget-1.0-1
Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
Requires: libc.so.6 libc.so.6(GLIBC_2.0) libc.so.6(GLIBC_2.1) libc.so.6(GLIBC_2.1.3) libc.so.6(GLIBC_2.4) libgcc_s.so.1 libgcc_s.so.1(GCC_3.0) libgcc_s.so.1(GLIBC_2.0) libm.so.6 libpthread.so.0 libpthread.so.0(GLIBC_2.0) libpthread.so.0(GLIBC_2.1) libpthread.so.0(GLIBC_2.2) libstdc++.so.6 libstdc++.so.6(CXXABI_1.3) libstdc++.so.6(GLIBCXX_3.4) libwx_baseu-2.6.so.0 libwx_baseu-2.6.so.0(WXU_2.6) libwx_baseu_net-2.6.so.0 libwx_baseu_xml-2.6.so.0 libwx_gtk2u_adv-2.6.so.0 libwx_gtk2u_adv-2.6.so.0(WXU_2.6) libwx_gtk2u_core-2.6.so.0 libwx_gtk2u_core-2.6.so.0(WXU_2.6) libwx_gtk2u_core-2.6.so.0(WXU_2.6.2) libwx_gtk2u_core-2.6.so.0(WXU_2.6.3) libwx_gtk2u_html-2.6.so.0 libwx_gtk2u_qa-2.6.so.0 libwx_gtk2u_xrc-2.6.so.0 rtld(GNU_HASH) wxGTK >= 2.6
Processing files: multiget-debuginfo-1.0-1
Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
Checking for unpackaged file(s): /usr/lib/rpm/check-files /var/tmp/multiget-1.0-1-root-root
Wrote: /usr/src/redhat/SRPMS/multiget-1.0-1.src.rpm
Wrote: /usr/src/redhat/RPMS/i386/multiget-1.0-1.i386.rpm
Wrote: /usr/src/redhat/RPMS/i386/multiget-debuginfo-1.0-1.i386.rpm
[root@localhost SPECS]#
回复 支持 反对

使用道具 举报

发表于 2006-11-11 09:52:02 | 显示全部楼层

新的spec

新的spec,支持自动加入系统菜单(应用程序->Internet->MultiGet)
[php]
Summary:   This is the RPM package for MultiGet.
Name:      multiget
Version:   1.0
Release:   1
License:   GPL
Group:     Applications/FileTransfer
Source:    multiget-1.0.tar.gz
Url:       http://multiget.sourceforge.net/
Packager:  Matt
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)


BuildRequires: wxGTK-devel
Requires: wxGTK >= 2.6

%description
MultiGet is an easy-to-use GUI file downloader for Linux/Unix/BSDs/Windows*. It's programmed by C++ and GUI is based on wxWidgets. It supports http/ftp protocol which covers most user's requirement. It supports multi-task with multi-thread on multi-server. It supports resume download if server side have resume feature, and if you like, you can reconfig the thread number without stopping the going task. It's also support SOCKS 4,4a,5 proxy, ftp proxy, http proxy.


%prep
%setup -q

%build
%configure --with-wx-config=/usr/lib/wx/config/gtk2-unicode-release-2.6

make %{?_smp_mflags}

%install
rm -rf $RPM_BUILD_ROOT

make install DESTDIR=$RPM_BUILD_ROOT

desktop-file-install \
  --dir $RPM_BUILD_ROOT%{_datadir}/applications \
  --vendor="" \
  MultiGet.desktop

# app icon
install -p -D -m644 MultiGet.png $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/48x48/apps/MultiGet.png


%clean
rm -rf $RPM_BUILD_ROOT

%post
touch --no-create %{_datadir}/icons/hicolor ||:
gtk-update-icon-cache -q %{_datadir}/icons/hicolor 2> /dev/null ||:

%postun
touch --no-create %{_datadir}/icons/hicolor ||:
gtk-update-icon-cache -q %{_datadir}/icons/hicolor 2> /dev/null ||:

%files
%defattr(-,root,root,-)
%{_bindir}/MultiGet
%{_datadir}/icons/*/*/*
%{_datadir}/applications/*.desktop

%changelog
* Sat Nov 11 2006 Matthew Gong <matthewzhenggong@gmail.com> 1.0
- Initial spec file.


[/php]

需要更新了的multiget-1.0.tar.gz。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-11-11 12:31:10 | 显示全部楼层
感谢MatthewGong,你的邮件已经收到,正计划检查,如没问题,将放在sf上下载。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表