website/content/blog/checkinstall.md

53 lines
1.8 KiB
Markdown
Raw Normal View History

2020-05-14 22:25:24 -04:00
---
title: "Checkinstall"
date: 2020-04-26T12:11:30-04:00
draft: false
2022-01-02 14:24:29 -05:00
tags: ["Packaging", "Linux"]
2023-01-05 14:04:45 -05:00
medium_enabled: true
2020-05-14 22:25:24 -04:00
---
To create a quick and dirty Debian or RPM package, check out `checkinstall`! Be forewarned though that this isn't the recommended way of creating packages. This post on [AskUbuntu](https://askubuntu.com/questions/1138384/why-is-checkinstall-no-longer-being-maintained) gives good reasons for why. Though if it is between running a `make install` or running this utility, I would consider running `checkinstall` instead.
This program works by tracking all the files installed by a `make install` equivalent. This makes it easy to remove later on.
To install on a debian based distribution,
```bash
sudo apt install checkinstall
```
Then you can go to the directory that you normally `make install` and instead run the following to make a Debian package.
```bash
sudo checkinstall -D --install=no --nodoc
```
It will ask you to fill in various metadata such as name and author, and then it will create a package you can install!
To install,
```bash
sudo dpkg -i filename.deb
```
You can later remove it with apt.
```bash
sudo apt remove package_name
```
If the application does not use `make install`, then you can add extra arguments to denote its equivalent
```bash
2020-06-16 15:18:36 -04:00
sudo checkinstall -D --install=no --nodoc ./customInstallScript
2020-05-14 22:25:24 -04:00
```
Arguments to `checkinstall`
| Flag | Description |
| -------------- | ----------------------------------- |
| `-D` | Create a Debian package |
| `-R` | Create a RPM package |
| `-S` | Create a Slackware package |
| `--install=no` | Don't install package |
| `--nodoc` | Do not include documentation filesq |