# Packaging

This directory contains docker images used for creating packages for different distribution.

##  How to use this docker files?

Start with:

```bash
$ docker build -f docker/packaging/Dockerfile.ubuntu-bionic -t nushell/package:ubuntu-bionic .
```

after building the image please run container:

```bash
$ docker run -td --rm --name nushell_package_ubuntu_bionic nushell/package:ubuntu-bionic
```

and copy deb package from inside:

```bash
$ docker cp nushell_package_ubuntu_bionic:/nu_0.2.0-1_amd64.deb .
```

or shell inside, and test install:

```bash
$ docker exec -it nushell_package_ubuntu_bionic bash
$ dpkg -i /nu_0.2.0-1_amd64.deb

(Reading database ... 25656 files and directories currently installed.)
Preparing to unpack /nu_0.2.0-1_amd64.deb ...
Unpacking nu (0.2.0-1) over (0.2.0-1) ...
Setting up nu (0.2.0-1) ...
```

When you are finished, exit and stop the container. It will be removed since we
used `--rm`.

```bash
$ docker stop nushell_package_ubuntu_bionic
```

## What should be done

* We should run sbuild command to create chroot and then install dpkg.
For two reasons. First: we want to use the same tools as Ubuntu package builders
to handle the cornercases. Second: we want to test dpkg requirements.
https://github.com/nushell/nushell/issues/681

* File debian/changelog file should be generated based on git history.
https://github.com/nushell/nushell/issues/682

* Building package and nu version should be parametrized.
https://github.com/nushell/nushell/issues/683