PDA

View Full Version : Rebuild Docky, with zoom effect



Eric F
1st March 2015, 08:33 AM
Rebuild Docky, with zoom effect

I installed Docky the other day, and had a request on how I did that, and an ok to post that here.

So, here it is. It's more like a “run-down”, of how I did it...

- - -

First, I tried to install Docky manually (http://wiki.go-docky.com/index.php?title=Installation#Fedora_2) as described @ Docky's page. And I also looked at a guide here (http://gaveen.owain.org/2010/06/howto-install-docky-on-fedora.html). It went on quite good, but finally it kept asking for misc PATHS etc...

The solution I came up with was to rebuild the original rpm, or more exactly, make a new one with some help from the (Fedora) files.

To do that the rpm-build & rpmdevtools are needed, as well as git and wget ... (is what I used)

The Fedora Docky.git (http://pkgs.fedoraproject.org/cgit/docky.git/) repo doesn't have any source files, but have the spec's and most important - the patches. So, with that it will be the same version as installed with yum, but with the zoom effect since the patch: docky-noozoom.patch will be skipped.


I have no idea if this is the right way to do it, but it worked for me. You will end up with the 2 rpm's you install locally:


docky-{,devel-}2.2.0-4.fc21.i686.rpm


...or x86_64



http://forums.fedoraforum.org//forum/images/icons/icon1.gif Please do some reading first... In the end there are links to the Fedora Wiki and an “online classroom session”.



Install RPMtools


su -c "yum install rpm-build rpmdevtools"

# and if you don't already have...
su -c "yum install git wget"

[note] look at the output in terminal what dependencies the rpm tools are adding.
Make a note or a screenshot... Great to have when you uninstall it afterwards.


Setup the environment.


rpmdev-setuptree

# + a folder to keep the repo
mkdir -pv ~/rpmbuild/.git_repos && cd ~/rpmbuild/.git_repos


Clone the docky.git (http://pkgs.fedoraproject.org/cgit/docky.git). It will contain all necessary files for the (re)build, like the “spec file” and the patches.


git clone git://pkgs.fedoraproject.org/docky.git


Copy “docky.spec”, “*.patch” and the file “sources” to ~/rpmbuild/SOURCES


Download the source (archive)


cd ~/rpmbuild/SOURCES
wget https://launchpad.net/docky/2.2/2.2.0/+download/docky-2.2.0.tar.xz

Verify the download with the md5 hash in the file “sources”



Editing: docky.spec

In your (favorite) texteditor - comment the lines with Patch0:


#Patch0: docky-nozoom.patch

// ... //

#%patch0 -p1

...or if you want to edit the summary, changelog etc. (it's not necessary, but perhaps it feels better :))

Something like:

Summary: Advanced dock application written in Mono (modified w/o the "docky-nozoom.patch")


#
# Note: This is a modified version, without the "docky-nozoom.patch"
#
#Patch0: docky-nozoom.patch


#%patch0 -p1


%changelog
* Sat Feb 28 2015 <Your Name> - 2.2.0-4
- Custom (re)build without the "docky-noozoom.patch"

adjust the date



Install dependencies (listed in: docky.spec)

[note] When trying to run the build it complained about missing dependencies even though they are defined in the spec file, so install them manually:


su -c "yum install \
gnome-sharp-devel gtk-sharp2-devel gnome-desktop-sharp-devel \
gnome-keyring-sharp-devel gtk-sharp2-gapi mono-addins-devel \
mono-devel ndesk-dbus-devel ndesk-dbus-glib-devel \
notify-sharp-devel GConf2-devel \
gio-sharp-devel dbus-sharp-devel dbus-sharp-glib-devel \
python2-devel glib2-devel gtk2-devel gettext perl-XML-Parser \
intltool desktop-file-utils \
gnome-sharp gtk-sharp2 gnome-desktop gnome-desktop-sharp \
gnome-keyring-sharp gtk-sharp2-gapi mono-addins \
mono-core ndesk-dbus notify-sharp gtk2 GConf2 \
hicolor-icon-theme gio-sharp dbus-sharp dbus-sharp-glib \
ndesk-dbus-glib"



Build

And now, build it with:


cd ~/rpmbuild
rpmbuild -ba SOURCES/docky.spec

If everything went fin you should have the 2 rpm's in:

~/rpmbuild/RPMS/(i686|x86_64)/




Install

Since all dependencies are installed already, one could go with rpm -ivh, or use yum localinstall to include the check.


# example = i686
su -c "rpm -ivh RPMS/i686/docky-{,devel-}2.2.0-4.fc21.i686.rpm"

su -c "yum localinstall RPMS/i686/docky-{,devel-}2.2.0-4.fc21.i686.rpm"



Testing

Just a simple test to output the list of dependencies.


yum deplist RPMS/i686/docky-2.2.0-4.fc21.i686.rpm


Picture

https://i.imgur.com/O0MzOpl.gif

Settings: Zoom level ≈ 135-145%


/me :happy:


When you're done - save you rpm's somewhere and then you can uninstall the rpm-build & rpmdevtools and the aditional packages they added.



Sources


Fedora Docky git repo:

http://pkgs.fedoraproject.org/cgit/docky.git/

An “online classroom” describing (parts/bits of) the procedure.

https://fedoraproject.org/wiki/Building_RPM_packages_%2820090405%29

https://fedoraproject.org/wiki/User:Cwickert/Building_RPM_packages_Classroom


Fedora::Wiki

https://fedoraproject.org/wiki/How_to_create_an_RPM_package




Hope someone will find it useful....

kkshethin
2nd March 2015, 08:57 AM
rpmbuild -ba SPECS/docky.spec

It should read as

rpmbuild -ba SOURCES/docky.spec

--------------------------------------------

Installed successfully with zoom.

Thanks

Eric F
2nd March 2015, 09:05 AM
It should read as

rpmbuild -ba SOURCES/docky.spec

--------------------------------------------

Installed successfully with zoom.

Thanks
Of course... Thanks. Missed that one. (Fixed in the post)

Glad it worked out for you. :)

brozz
19th December 2015, 07:01 PM
hello thanks for the job. But i got a question about the docky.spec file.

I didn't really understand what to do with, when I process the "rpmbuild -ba SOURCES/docky.spec" command :



#Patch0: docky-nozoom.patch
// Hello World //
#%patch0 -p1


reply :

[brozz@linux rpmbuild]$ rpmbuild -ba SOURCES/docky.spec
erreur*: ligne 2*: tag inconnu*: // Hello World//
[brozz@linux rpmbuild]$


with



Patch0: docky-nozoom.patch
%patch0 -p1


reply :

[brozz@linux rpmbuild]$ rpmbuild -ba SOURCES/docky.spec
erreur*: ligne 4*: tag inconnu*: %patch0 -p1
[brozz@linux rpmbuild]$


with :



#Patch0: docky-nozoom.patch
#%patch0 -p1


reply :


[brozz@linux rpmbuild]$ rpmbuild -ba SOURCES/docky.spec
erreur*: Le champ Name doit être présent dans le paquet*: (main package)
erreur*: Le champ Version doit être présent dans le paquet*: (main package)
erreur*: Le champ Release doit être présent dans le paquet*: (main package)
erreur*: Le champ Summary doit être présent dans le paquet*: (main package)
erreur*: Le champ License doit être présent dans le paquet*: (main package)
[brozz@linux rpmbuild]$

Mean somthing to you ?
what did I did wrong ?

thank you

brand new installed Fedora 23 on a macbook air mid-2013

koesherbacon
16th January 2016, 06:52 AM
I'm extremely new to linux in general and especially modifying/building software.

Man, this was an ORDEAL but after screwing up somewhere in your instructions (most likely due to my dyslexia) I was finally able to do it correctly and it works!

Thanks a lot Eric!!

:dance:

koesherbacon
22nd February 2016, 05:25 AM
I'm now wondering, would you be able to put a guild like this together for Plank?

Eric F
19th March 2016, 02:44 AM
hello thanks for the job. But i got a question about the docky.spec file.

// ... //

Mean somthing to you ?
what did I did wrong ?

thank you

brand new installed Fedora 23 on a macbook air mid-2013
Thanks… And I'm *really* sorry for the late late late reply. You caught me in the middle of a computer move, and I didn't have many things up. Still don't because I'm doing my nephwes computers now with new hardware and F23. :)

Anyway… I made a new install of Docky both in VirtualBox and in their new machines. Here are my (new) notes. More of a run down with all commands.

- - -

Install build tools:

sudo dnf install @development-tools
sudo dnf install @rpm-development-tools

Clone and branch off:

mkdir ~/rpmbuild_repos && cd ~/rpmbuild_repos
git clone http://pkgs.fedoraproject.org/git/rpms/docky.git
cd docky
git checkout -b zoom

Comment the 2 lines with “Patch0/%patch0”:

sed -i '/^Patch0/s/P/#P/' docky.spec
sed -i '/^%patch0/s/%/#%/' docky.spec
sed -i '/^Summary/s/Mono/Mono (custom zoom-version)/' docky.spec
sed -i '/^currently running/s/and more./and more.\n\nThis version is built with zoom enabled./' docky.spec

Set up build environment:

rpmdev-setuptree

Copy and download files/sources:

cp docky.spec ~/rpmbuild/SPECS
cp docky.spec *.patch sources ~/rpmbuild/SOURCES
cd ~/rpmbuild/SOURCES
wget https://launchpad.net/docky/2.2/2.2.0/+download/docky-2.2.0.tar.xz
cd ../SPECS

Install all deps:

sudo dnf builddep docky.spec
sudo dnf install gnome-desktop

Build:

rpmbuild -ba docky.spec
cd ..

…& install:

su -c "rpm -ivh RPMS/x86_64/docky-{,devel-}2.2.0-7.fc23.x86_64.rpm"

Note: This is for x86_64. You need to adjust to match 32-bit if using that.

http://forums.fedoraforum.org/picture.php?albumid=388&pictureid=2235

Eric F
19th March 2016, 02:52 AM
I'm extremely new to linux in general and especially modifying/building software.

Man, this was an ORDEAL but after screwing up somewhere in your instructions (most likely due to my dyslexia) I was finally able to do it correctly and it works!

Thanks a lot Eric!!

:dance:
Thanks… Glad you made it. :thumb:


I'm now wondering, would you be able to put a guild like this together for Plank?
You can use dnf. Try this one...
Install Plank 0.9.1 On Fedora 23 Workstation (http://gamblisfx.com/install-plank-0-9-1-on-fedora-23-workstation/)

About the zoom effect - I don't belive there is one in Plank to re-enable.

altournoux
8th April 2016, 12:27 PM
Thanks Eric,

you missed, in the F23 process, you missed the command "rpmbuild -ba SPECS/docky.spec"

As a noob I'm glad I figured it out.

Eric F
8th April 2016, 05:38 PM
Thanks Eric,

you missed, in the F23 process, you missed the command "rpmbuild -ba SPECS/docky.spec"

As a noob I'm glad I figured it out.
Good spot. Thanks! :thumb:

// Updated the post

nexxuz
22nd May 2016, 09:45 AM
I made a small write up of each step to rebuild from source without the nozoom patch and also made available the SRPM and RPM on my website.

http://williampenton.com/doku.php?id=docky

Eric F
22nd May 2016, 10:13 AM
Nice… :thumb:

nexxuz
23rd May 2016, 07:43 PM
I found that the 3.0 version of Docky is based on a project called Plank

https://launchpad.net/plank

Fedora applied the same nozoom style patch to that as well...

I did a write up of removing that patch and provide links to the SRPM / RPM on my site too.

http://williampenton.com/doku.php?id=plank

nexxuz
23rd May 2016, 08:32 PM
Docky with zoom enabled
http://williampenton.com/ftp/ff/Selection_004.png

Plank with zoom enabled
http://williampenton.com/ftp/ff/Selection_006.png

antikythera
23rd May 2016, 10:20 PM
Docky with zoom enabled
http://williampenton.com/ftp/ff/Selection_004.png

Plank with zoom enabled
http://williampenton.com/ftp/ff/Selection_006.png

So is that Placky, Plocky, Dank or PladonkaDonk?

If Docky is based on Plank now then what is the point of Docky? You could easily theme Plank to look like the Docky image. It would make more sense if the developers just pooled their resources from now on.

nexxuz
24th May 2016, 07:00 AM
My Docky theme is called Blue Glass from palko-drawing (http://palko-drawing.deviantart.com/art/Docky-skins-555057689). The theme used on Plank was called Matte (I think, I'm not on that computer at the moment)

The point of Plank is just the basic dock functionality, as of Docky 3.0 it will build off of Plank adding functionality that is not in the basic dock like the ability to have Docklets, painters, settings dialogs, etc.

Plank on Docky website. (http://wiki.go-docky.com/index.php?title=Plank:Introduction)

Eric F
3rd August 2016, 03:47 PM
I found that the 3.0 version of Docky is based on a project called Plank

https://launchpad.net/plank

Fedora applied the same nozoom style patch to that as well...

I did a write up of removing that patch and provide links to the SRPM / RPM on my site too.

http://williampenton.com/doku.php?id=plank
Plank is a different Dock.

I did see the notice on Docky3 here: http://wiki.go-docky.com/index.php?title=Plank:Introduction#What_Is_Plank.3 F
…but there is no Docky3, yet. https://launchpad.net/docky/, (just labeled “Future” in the series (https://launchpad.net/docky/+series)).

I wouldn't use it (Docky 3) until it shows up on the front page.