2021-07-26 14:57:11 -04:00
|
|
|
# aptpkg
|
|
|
|
|
|
|
|
Subscribe to [this mailing
|
|
|
|
list](https://lists.sr.ht/~earnestma/aptpkg-announce/) for low-volume updates,
|
|
|
|
warnings, and releases to `aptpkg` and `aptpkg.earne.link`.
|
|
|
|
|
|
|
|
## aptpkg.earne.link
|
2021-08-11 18:29:32 -04:00
|
|
|
|
|
|
|
This archive contains my packages generated from the aptpkg-pkgs repo mainly for
|
|
|
|
my own use. It currently targets Ubuntu 21.04 ("Hirsute Hippo") amd64, although
|
2021-09-11 22:25:03 -04:00
|
|
|
it will probably work on other distributions/ versions (I use Pop!_OS). If you
|
|
|
|
would like to add it, run the following:
|
2021-07-26 14:57:11 -04:00
|
|
|
|
|
|
|
```sh
|
|
|
|
curl -fsSL https://git.sr.ht/~earnestma/aptpkg-pkgs/blob/main/add.sh | sudo -E bash -
|
|
|
|
```
|
|
|
|
|
|
|
|
### Links
|
|
|
|
|
|
|
|
- [Git repository](https://git.sr.ht/~earnestma/aptpkg-pkgs)
|
|
|
|
- [Mailing list for patches](https://lists.sr.ht/~earnestma/aptpkg-pkgs)
|
|
|
|
- [Issue tracker](https://todo.sr.ht/~earnestma/aptpkg-pkgs)
|
2021-08-11 18:29:32 -04:00
|
|
|
- [Wiki: how aptpkg.earne.link works](aptpkg-hosted)
|
|
|
|
|
|
|
|
### How it works
|
|
|
|
|
2021-08-27 21:08:29 -04:00
|
|
|
We use reprepro, namely these commands:
|
2021-08-11 18:29:32 -04:00
|
|
|
|
|
|
|
- `cd /var/www/aptpkg/ubuntu`
|
2021-08-27 21:08:29 -04:00
|
|
|
- `sudo reprepro -Vb . createsymlinks`
|
|
|
|
- `sudo reprepro -Vb . export`
|
|
|
|
- `sudo reprepro -Vb . includedeb hirsuite incoming/*.deb && sudo rm incoming/*.deb`
|
|
|
|
- `sudo reprepro clearvanished`
|
2021-07-26 14:57:11 -04:00
|
|
|
|
|
|
|
## aptpkg itself
|
|
|
|
|
|
|
|
Easily create Debian packages.
|
|
|
|
|
|
|
|
### Links
|
|
|
|
|
|
|
|
- [Git repository](https://git.sr.ht/~earnestma/aptpkg)
|
|
|
|
- [Mailing list for patches](https://lists.sr.ht/~earnestma/aptpkg-devel)
|
|
|
|
- [Issue tracker](https://todo.sr.ht/~earnestma/aptpkg)
|
2021-08-11 18:29:32 -04:00
|
|
|
|
|
|
|
# build file reference
|
|
|
|
|
|
|
|
Feel free to take a peek at the `aptpkg-pkgs` repository.
|
|
|
|
|
|
|
|
The `build` file is a shell(?) file loaded in by `aptpkg` and should be located
|
|
|
|
in its own folder which is named the program.
|
|
|
|
|
|
|
|
The first line should be a comment: `# Maintainer: Name or User Name <email@example.org>`
|
|
|
|
|
|
|
|
There are currently two types of things aptpkg can process:
|
|
|
|
|
|
|
|
1. `type=deb`: Debian packages which are simply downloaded from the URL and
|
|
|
|
checked
|
|
|
|
2. `type=file`: Get (a) file(s), check, and execute the `steps` function
|
|
|
|
|
|
|
|
This should be defined after `name`, `version`, and `rev` - which is only useful
|
|
|
|
when `type=file` and should be set to zero after each version update.
|
|
|
|
|
|
|
|
`url` should contain the upstream application's source code/ homepage, and
|
|
|
|
`description` should be similar to what has been provided by them.
|
|
|
|
|
|
|
|
`source` contains the URL to download and `sha512sums` contains the output to be verified after.
|
|
|
|
|
|
|
|
In the `steps` function (for `type=file`), you can use the following variables and functions:
|
|
|
|
|
|
|
|
- `$builddir`
|
|
|
|
- `cin-bin` to `install` a binary
|
|
|
|
- `cin-file` to `install` a file
|
|
|
|
|
|
|
|
You can also place maintenance files along `build`: `preinst`, `postinst`, `prerm`, and `postrm`.
|