gnome-panel 套件實例

  1. 下載 SRPM 套件
    [dywang@dywH ~]$ cd rpmbuild
    [dywang@dywH rpmbuild]$ wget ftp://ftp.pbone.net/mirror/vault.centos.org/\
    6.4/cr/Source/SPackages/gnome-panel-2.30.2-15.el6.src.rpm
    

  2. 安裝 SRPM 套件
    [dywang@dywH rpmbuild]$ rpm -ivh gnome-panel-2.30.2-15.el6.src.rpm
    
  3. 至原始碼目錄中查看檔案。
    [dywang@dywH SOURCES]$ ls gnome-panel-*
    gnome-panel-2.10.1-speak-to-us-ye-old-wise-fish.patch
    gnome-panel-2.21.92-allow-spurious-view-done-signals.patch
    gnome-panel-2.30.2.tar.bz2
    gnome-panel-about.patch
    gnome-panel-dir-prefix.patch
    gnome-panel-doc-category.patch
    gnome-panel-translations2.patch
    gnome-panel-translations.patch
    gnome-panel-vendor.patch
    
  4. 解壓縮原始碼 tarball,產生 libgnome-2.28.0 目錄,存放原始碼。
    [dywang@dywH SOURCES]$ tar jxvf gnome-panel-2.30.2.tar.bz2
    

  5. 至 gnome-panel-2.30.2 目錄,查看檔案。
    [dywang@dywH SOURCES]$ ls gnome-panel-2.30.2
    aclocal.m4         configure.in          help             Makefile.in
    applets            COPYING               icons            man
    AUTHORS            COPYING-DOCS          idl              missing
    ChangeLog          COPYING.LIB           INSTALL          mkinstalldirs
    ChangeLog.pre-git  depcomp               install-sh       NEWS
    compile            doc                   libpanel-applet  po
    config.guess       gnome-doc-utils.make  ltmain.sh        README
    config.h.in        gnome-panel           m4
    config.sub         gtk-doc.make          MAINTAINERS
    configure          HACKING               Makefile.am
    

  6. 修改 RPM spec 規格檔,版本加入 dyw。
    [dywang@dywH SOURCES]$ vim ../SPECS/gnome-panel.spec 
    [dywang@dywH SOURCES]$ grep dyw ../SPECS/gnome-panel.spec
    Release: 14%{?dist}.dyw
    
  7. 使用 SOURCE 中的 panel-default-setup.entries,而不要從目前系統中複製 panel-default-setup.entries。
    [dywang@dywH SOURCES]$ grep SOURCE3 ../SPECS/gnome-panel.spec
    #cp -f %{SOURCE3} gnome-panel/panel-default-setup.entries
    
  8. 修改預設 gnome panel 預設的 email 為 gnome-terminal,瀏覽器為 firefox。
    [dywang@dywH SOURCES]$ diff -urNwbBE ../gnome-panel-2.30.2/\
    gnome-panel/panel-default-setup.entries gnome-panel-2.30.2/\
    gnome-panel/panel-default-setup.entries
    --- ../gnome-panel-2.30.2/gnome-panel/panel-default-setup.entries	2010-02-09 20:32:08.000000000 +0800
    +++ gnome-panel-2.30.2/gnome-panel/panel-default-setup.entries	2015-07-30 14:29:12.305435608 +0800
    @@ -261,7 +261,7 @@
           <key>objects/browser_launcher/launcher_location</key>
           <schema_key>/schemas/apps/panel/objects/launcher_location</schema_key>
           <value>
    -        <string>epiphany.desktop</string>
    +        <string>firefox.desktop</string>
           </value>
         </entry>
     
    @@ -315,7 +315,7 @@
           <key>objects/email_launcher/launcher_location</key>
           <schema_key>/schemas/apps/panel/objects/launcher_location</schema_key>
           <value>
    -        <string>evolution.desktop</string>
    +        <string>gnome-terminal.desktop</string>
           </value>
         </entry>
    
  9. 重新打包壓縮 gnome-panel-e.30.2.tar.gz。
    [dywang@dywH SOURCES]$ tar jcvf gnome-panel-2.30.2.tar.bz2 gnome-panel-2.30.2
    
  10. 重新建立 RPM 二進位檔。
    [dywang@dywH SOURCES]$ rpmbuild -ba --clean --target=$(uname -m) ../SPECS/gnome-panel.spec
    
  11. 查看建立的 RPM 二進位檔。
    [dywang@dywH SOURCES]$ ls ../RPMS/x86_64/gnome-panel-* ../SRPMS/gnome-panel-*
    ../RPMS/x86_64/gnome-panel-2.30.2-15.el6.dyw.x86_64.rpm
    ../RPMS/x86_64/gnome-panel-debuginfo-2.30.2-15.el6.dyw.x86_64.rpm
    ../RPMS/x86_64/gnome-panel-devel-2.30.2-15.el6.dyw.x86_64.rpm
    ../RPMS/x86_64/gnome-panel-libs-2.30.2-15.el6.dyw.x86_64.rpm
    ../SRPMS/gnome-panel-2.30.2-15.el6.dyw.src.rpm