5

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?

UPDATE

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
  • Yes, as I wrote on the question I already have the sources of 2.84 from Transmission web site and correctly compiled them. I also have last stable sources of 2.52 from Raspbian stable repository. – Cheshire Cat Jul 16 '14 at 10:44
  • Yes, I read what you said. My point was, if you want to use the Debian packaging, you can use it directly with 2.82, or you can adjust it to work with 2.84. Which option do you prefer? To be clear, the idea is to build a Debian binary package that you can then install on your system. – Faheem Mitha Jul 16 '14 at 10:45
  • Oh sorry! Yes... I think I can use the 2.82... But I'd also like to make it work with 2.84... I can try both ways! – Cheshire Cat Jul 16 '14 at 10:47
  • Fine, first try 2.82 and see if it works. Are you clear about what you need to do? – Faheem Mitha Jul 16 '14 at 10:47
  • I want to create a complete .deb package for my own compilation of Transmission v2.84 so I can use it to install on another Raspberry or later on on the same, without recompiling. – Cheshire Cat Jul 16 '14 at 10:50
  • You are doing a custom build of transmission? I suggest you first try to build the vanilla debian sources for 2.82. if that works, you can proceed. – Faheem Mitha Jul 16 '14 at 10:51
  • I'm going to try... after lunch! :-D – Cheshire Cat Jul 16 '14 at 10:52
  • I tried to use debian folder of v2.82 with v2.84. The compilation of 2.84 went fine and also the .deb package creation with checkinstall. When I install it with dpkg -i the installation completes and now there're also configuration files but no init.d script. I made it using the 2.52 version that should work. Anyway, even after setting configuration for daemon, it doesn't start. If I type transmission-daemon or sudo service transmission-daemon start I get nothing... – Cheshire Cat Jul 17 '14 at 08:05
  • I'm confused by the mention of checkinstall. You shouldn't be using checkinstall - there is no need. Can you give your steps in more detail in the body of the question? – Faheem Mitha Jul 17 '14 at 08:25
  • More details in steps 1, 2, 3 and 4, please. Give the exact commands you typed. – Faheem Mitha Jul 17 '14 at 10:40
  • I noticed that the program starts, but only with sudo transmission-daemon start. If I try to execute it with sudo service transmission-daemon start it doesn't work. I figured out that even copying the debian folder from 2.82 version, not all the correct configuration was made during installation of my .deb package. In fact there was no debian-transmission user in /etc/passwd and no directories /var/lib/transmission-daemon/info and /etc/transmission-daemon/. Don't know what to do now... The compilation works, but the deb package is not complete... – Cheshire Cat Jul 20 '14 at 13:47
  • You may not be building the package correctly. I lost track of where we were. Does the 2.82 package work properly for you? I need to go eat, but we can talk later, if you want. In the main chat room, preferably. Depending on your time zone. – Faheem Mitha Jul 20 '14 at 13:58
  • Here it's 16.00 now. So ok... but I don't know how to access the chat... I'm now trying to make a new experiment... install official transmission v2.52 from repository and then, after configuration, update it with dpkg -i with my .deb... Let's see... :-) – Cheshire Cat Jul 20 '14 at 14:03
  • The chat link is at the bottom of the page - http://chat.stackexchange.com/rooms/26/unix-and-linux – Faheem Mitha Jul 20 '14 at 14:05

1 Answers1

1

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.

Braiam
  • 35,991