I'm trying to compile and make by myself some .deb packages to keep my Raspbian more up to date than the repository. Now I want to update Transmission to v 2.84.

Here's what I've done:

  1. Download the tarball from Transmission web site: https://www.transmissionbt.com/download/
  2. Install checkinstall from Raspbian repository: $sudo apt-get install checkinstall
  3. Extract source from tarball
  4. ./configure from transmission source directory
  5. checkinstall --install=no from transmission source directory

Now I've a armhf .deb, but if I install it with dpkg -i transmission_2.84-1_armhf.deb I have only a partial installation. The installation completes correctly but I don't have:

  • Transmission configuration directory and files (should be $HOME/.config/transmission-daemon)
  • Boot/startup script for daemon on /etc/init.d
  • I don't really know if something else is missing...

I want to generate a COMPLETE .DEB package with all the necessary files like official repositories .deb packages. I'd also like to do the same with some other applications, like htop. What should I do?


These are the steps I made to try to compile version 2.84 with debian directory taken from version 2.82:

  1. download tarball with wget https://transmission.cachefly.net/transmission-2.84.tar.xz
  2. extract archive on my source directory with extract transmission-2.84.tar.xz (extract() is a function in aliases, so it's equivalent to tar xvJf ...)
  3. download debian folder of version 2.82 with wget http://archive.raspbian.org/raspbian/pool/main/t/transmission/transmission_2.82-1.1.debian.tar.xz
  4. extract archive inside transmission 2.84 directory with extract transmission_2.82-1.1.debian.tar.xz that created a debian directory inside transmission-2.84/ directory
  5. ./configure from transmission-2.84/ directory
  6. after successfully configure, sudo checkinstall --install=no from transmission-2.84/ directory. checkinstall will execute make and make install. With option --install=no it execute only make and then create a .deb package inside the transmission-2.84/ directory
  7. dpkg -i transmission_2.84-1_armhf.deb to install package
  8. configure transmission settings on ~/.config/transmission-daemon/settings.json
  9. sudo nano /etc/init.d/transmission-daemon to create init.d boot script
  10. update-rc.d transmission-daemon defaults to link the new script
  11. transmission-daemon and sudo service transmission-daemon start to try to start transmission
  • The correct thing to do here is to rebuild the Transmission debian sources on your platform. For more details, see this question/answer. If you need more details, please ask. – Faheem Mitha Jul 16 '14 at 10:19
  • Yes... but I've no problems with the compilation. I only need to make a complete .deb package with all the correct files inside so then all files will take place on various directories (config file, init.d script, ...). So, if the solution for me is to reuse the previous version (2.52) packaging, what should I pay attention to? I'm rebuilding it directly on my Raspberry, without cross-compiling. – Cheshire Cat Jul 16 '14 at 10:33
  • Not following. "what should I pay attention to"? meaning what? – Faheem Mitha Jul 16 '14 at 10:33
  • If I want to reuse the previous version packaging, what have I to do? What, where and how files/directories do I need to take from v2.52 and put on v2.84? And what may I need to possibly change on some of those files/directories? – Cheshire Cat Jul 16 '14 at 10:38
  • First, you need to get the debian sources for the version you want. You want 2.84, right? Did you look at my backporting question link above? I see unstable has 2.82. Can you live with that? If not, you can probably use the 2.82 packaging with the 2.84 upstream source, but this would be a bit more work, and you might have to adjust Debian patches if any. – Faheem Mitha Jul 16 '14 at 10:41

The files you say are missing, is because only Debian provides them, transmission sources doesn't have any init script to start. So as you noticed checkinstall can't figure this out. The best course of action is copying the debian/ directory of upstream and compiling using debuild -us -uc instead.

Your Answer

