-
-
Notifications
You must be signed in to change notification settings - Fork 931
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
add debconf-templates cookbook (#1907)
* add debconf-templates cookbook * chore: typo Co-authored-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
- Loading branch information
Showing
3 changed files
with
59 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,56 @@ | ||
# Use debconf and templates | ||
|
||
Deb installation format has a support for user input during installation using [debconf](https://manpages.debian.org/testing/debconf-doc/debconf-devel.7.en.html). | ||
|
||
To enable it inside `goreleaser` you need: | ||
|
||
`templates` file, what to ask (all templates go into single file): | ||
|
||
```none | ||
Template: foo/like_debian | ||
Type: boolean | ||
Description: Do you like Debian? | ||
We'd like to know if you like the Debian GNU/Linux system. | ||
Template: foo/why_debian_is_great | ||
Type: note | ||
Description: Poor misguided one. Why are you installing this package? | ||
Debian is great. As you continue using Debian, we hope you will | ||
discover the error in your ways. | ||
``` | ||
|
||
Maintainer script file that will trigger questions, usually its `postinst` because all package files are already installed: | ||
|
||
```sh | ||
#!/bin/sh -e | ||
|
||
# Source debconf library. | ||
. /usr/share/debconf/confmodule | ||
|
||
# Do you like debian? | ||
db_input high foo/like_debian || true | ||
db_go || true | ||
|
||
# Check their answer. | ||
# with db_get you load value into $RET env variable. | ||
db_get foo/like_debian | ||
if [ "$RET" = "false" ]; then | ||
# Poor misguided one... | ||
db_input high foo/why_debian_is_great || true | ||
db_go || true | ||
fi | ||
``` | ||
|
||
Include `templates` and `postinst` in `.goreleaser.yml`: | ||
|
||
```yaml | ||
overrides: | ||
deb: | ||
scripts: | ||
postinstall: ./deb/postinst | ||
deb: | ||
scripts: | ||
templates: ./deb/templates | ||
``` | ||
Useful tutorial: [Debconf Programmer's Tutorial](http://www.fifi.org/doc/debconf-doc/tutorial.html) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
20594d6
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Successfully deployed to the following URLs: