0

There is a problem with the names of the Slack chat package and the administration slack package in debian repositories.

I don't really need the later but everytime I run an upgrade slack (chat) gets removed and slack get installed (debian repos). Which is perfectly normal since both packages are called the same after installation.

The question is, how to fix the conflict? The most obvious solution I can think of is to rename the slack (chat) package but I just don't know how to do it.

For additional information: Slack (chat) only comes, already compiled, in .deb (for ubuntu, not debian) and .rpm. I debianize the .rpm with alien and it works perfectly fine. There is no source code available.

2
  • 1
    May worth adding a word about why the ubuntu packages doesn't work on debian, bad dependency ?
    – Tensibai
    Jan 17, 2017 at 13:23
  • For future reference, Slack have renamed their official package to slack-desktop to avoid the name conflict. Jun 6, 2019 at 11:57

2 Answers 2

1

I think you're actually asking how to use alien to generate a custom Debian package with a specific name, so that it doesn't clash with a package name that's already in the Debian repositories.

There's no direct solution to this. One approach would be to build the Debian package directory (using alien --generate), edit the package details, and then create a package from the resulting directory (dpkg-buildpackage)

alien --generate slack-2.3.4-0.1.fc21.x86_64.rpm
cd slack-2.3.4
sed -i '/^Package:/s/:.*/: slack-desktop/' debian/control
dpkg-buildpackage -b -us -uc
cd ..
dpkg -i slack-desktop_2.3.4-1.1_amd64.deb

Please note that I haven't tested this with Slack because I have neither it nor the other "slack" package installed here.

6
  • I've changed the accepted answer because this actually solve the issue without getting in the way of the original debian "slack" package.
    – Commit
    Jan 17, 2017 at 15:13
  • So, "I don't really need the later but everytime I run an upgrade slack..." part of the question is not actually true, since you WANT to keep them both. Not to be rude, but you should get clear that you wanted to keep them both, and not keep Slack chat over slack administration tool...
    – user34720
    Jan 17, 2017 at 15:19
  • @nwildner no; if you re-read the question what's happening is that because the alien package has the same name as the one in the repos, apt considers it to be the same package and therefore applies the same set of dependency and upgrade possibilities to it. So when there's a newer version of the slack package in the repository, it "upgrades" the one that's installed. Putting the package on hold could work quite effectively, but that might have a knock-on impact on any "dependencies" of the slack package in the repositories.
    – roaima
    Jan 17, 2017 at 15:28
  • No. This is implicit and i got the idea that alien was just doing it's job: Converting package and keeping base name and version. And this is not a question at all... OP is just describing the way alien works as default. He gave the option to "keep Slack(chat) over slack(management)" clearly.. @Commit should then change his question to better reflect his needs as: "How can i change the basename of a package after converting with alien?", if this is supposed to be the way he wants people to answer.
    – user34720
    Jan 17, 2017 at 15:32
  • I dont think "How can i change the basename of a package after converting with alien?" is more accurate than the current wording. The problem was what it is stated: there are conflicting packages (because of their names) and I needed a solution for that. Solution, which happens to involve alien.
    – Commit
    Jan 17, 2017 at 16:10
0

After debianizing you get a .deb, right? Well, then how about changing the package data? Try the following:

# unpack
dpkg-deb -R slack.deb tmp/

# make changes to the package metadata, e.g. its name
editor tmp/DEBIAN/control

# pack anew
dpkg-deb -b tmp slack_custom.deb

# install
dpkg -i slack_custom.deb
2
  • And what about binary names that could be repeated on both packages?
    – user34720
    Jan 17, 2017 at 13:28
  • @nwildner Good question, maybe OP could just install it and then run debsums on the other package.
    – phk
    Jan 17, 2017 at 13:51

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .