RFH: reliable renaming `ruby-mdl` to `markdownlint
Dear subscribers,
for `ruby-mdl` accepted into branch `testing`, while retaining the commit log to
Debian, my aim is to adjust its package name into `markdownlint` because this
corresponds better its character as an application. I seek advice form here if
the following approach (so far neither commited to salsa, nor uploaded to the
debian.mentors page) is
+ permissible now, on top of other adjustments in /debian/upstream/metadata, or
debian/upstream/metadata, for example, or better is submitted as a separate
subsequent release to Debian. There already is an upload to mentors about the
changes to the files around `markdownlint` *excluding* the name change, thus
I can file a RFS to account only on these "internal adjustments" only, too.
+ how the provision of a new name for the .deb eventually built can be improved
Because it is about an application implemented in Ruby, I assumed this mailing
list might be more appropriate than the one of debian.mentors. If wrong with
this line of thought, I can transfer the question to the other address.
Ad rem. Based on a presentation by Sebastian Reichel, I infer the new entry in
`/debian/changelog` has to mention `markdownlint` instead the `ruby-mdl` used so
far. Simultaneously, `package` in file `/debian/control/` has to carry the new
name, too. Contrasting to my anticipation, a new run with `dpkg-buildpackage`
fails reporting
```
$ dpkg-buildpackage
[...]
dpkg-source: error: source package has two conflicting values - ruby-mdl and markdownlint
dpkg-buildpackage: error: dpkg-source --before-build . subprocess returned exit status 255
```
In what appears to me as problematic approach *potentially* unkowinly breaking
some stuff, I then altered `source` in /debian/control to `markdownlint`, copy-
pasted `ruby-mdl_0.12.0.orig.tar.gz` as `markdownlint_0.12.0.orig.tar.gz`,
removed `debian/ruby-mdl/usr/share/man/man1/mdl.1.gz` as well as
`debian/ruby-mdl/usr/share/doc/ruby-mdl/changelog.Debian.gz`. For an already
existing `/debian/mdl.1` I created a copy as `/debian/markdownlint.1`, and the
same for `debian/ruby-mdl.manpages` as `debian/markdownlint.manpages`, the later
adjusted to indicate the new path (`debian/markdownlint.1`). After a run of
`dpkg-buildpackage` and `lintian`, file `debian/ruby-mdl.substvars` was removed
(because of lintian's report).
From what I can see by now, `dpkg-buildpackage` is able to generate the usual
files
```
$ ls markdown*
markdownlint_0.12.0-3_all.deb markdownlint_0.12.0-3.debian.tar.xz
markdownlint_0.12.0-3_amd64.buildinfo markdownlint_0.12.0-3.dsc
markdownlint_0.12.0-3_amd64.changes markdownlint_0.12.0.orig.tar.gz
```
and the .deb is functional both for an installation on a spare partition of
Xubuntu 22.04.1 (not used for the packaging) then appearing as `markdownlint`
in `synaptic` as well as for
```
$ dpkg --info markdownlint_0.12.0-3_all.deb
new Debian package, version 2.0.
size 18892 bytes: control archive=1240 bytes.
691 bytes, 14 lines control
1833 bytes, 19 lines md5sums
Package: markdownlint
Version: 0.12.0-3
Architecture: all
Maintainer: Norwid Behrnd <nbehrnd@yahoo.com>
Installed-Size: 86
Depends: ruby, ruby-kramdown (>= 2.3), ruby-kramdown-parser-gfm (>= 1.1), ruby-mixlib-cli (>= 2.1.1), ruby-mixlib-config (>= 2.2.1), ruby-mixlib-config (<< 4), ruby-mixlib-shellout
Section: devel
Priority: optional
Homepage: https://github.com/markdownlint/markdownlint
Description: Markdown lint tool
Markdownlint checks an individual markdown file, or a directory of markdown
files against a set of 47 rules for syntax consistency. In its report back
to the CLI, the Ruby based implementation reports the line(s) with an issue
identified and how to improve it.
```
in Debian. On the other hand, `lintian` newly states
```
markdownlint: no-manual-page [usr/bin/mdl]
```
as warning though there is a man page included (`markdownlint.1.gz`):
```
$ dpkg -c ./markdownlint_0.12.0-3_all.deb
drwxr-xr-x root/root 0 2023-01-28 16:54 ./
drwxr-xr-x root/root 0 2023-01-28 16:54 ./usr/
drwxr-xr-x root/root 0 2023-01-28 16:54 ./usr/bin/
-rwxr-xr-x root/root 521 2023-01-28 16:54 ./usr/bin/mdl
drwxr-xr-x root/root 0 2023-01-28 16:54 ./usr/share/
drwxr-xr-x root/root 0 2023-01-28 16:54 ./usr/share/doc/
drwxr-xr-x root/root 0 2023-01-28 16:54 ./usr/share/doc/markdownlint/
-rw-r--r-- root/root 267 2023-01-28 16:54 ./usr/share/doc/markdownlint/changelog.Debian.gz
-rw-r--r-- root/root 4456 2022-12-30 23:43 ./usr/share/doc/markdownlint/copyright
drwxr-xr-x root/root 0 2023-01-28 16:54 ./usr/share/man/
drwxr-xr-x root/root 0 2023-01-28 16:54 ./usr/share/man/man1/
-rw-r--r-- root/root 1462 2023-01-28 16:54 ./usr/share/man/man1/markdownlint.1.gz
drwxr-xr-x root/root 0 2023-01-28 16:54 ./usr/share/rubygems-integration/
drwxr-xr-x root/root 0 2023-01-28 16:54 ./usr/share/rubygems-integration/all/
drwxr-xr-x root/root 0 2023-01-28 16:54 ./usr/share/rubygems-integration/all/gems/
drwxr-xr-x root/root 0 2023-01-28 16:54 ./usr/share/rubygems-integration/all/gems/mdl-0.12.0/
drwxr-xr-x root/root 0 2023-01-28 16:54 ./usr/share/rubygems-integration/all/gems/mdl-0.12.0/bin/
-rwxr-xr-x root/root 211 2023-01-28 16:54 ./usr/share/rubygems-integration/all/gems/mdl-0.12.0/bin/mdl
drwxr-xr-x root/root 0 2023-01-28 16:54 ./usr/share/rubygems-integration/all/gems/mdl-0.12.0/lib/
drwxr-xr-x root/root 0 2023-01-28 16:54 ./usr/share/rubygems-integration/all/gems/mdl-0.12.0/lib/mdl/
-rw-r--r-- root/root 5462 2023-01-28 16:54 ./usr/share/rubygems-integration/all/gems/mdl-0.12.0/lib/mdl/cli.rb
-rw-r--r-- root/root 157 2023-01-28 16:54 ./usr/share/rubygems-integration/all/gems/mdl-0.12.0/lib/mdl/config.rb
-rw-r--r-- root/root 9104 2023-01-28 16:54 ./usr/share/rubygems-integration/all/gems/mdl-0.12.0/lib/mdl/doc.rb
-rw-r--r-- root/root 703 2023-01-28 16:54 ./usr/share/rubygems-integration/all/gems/mdl-0.12.0/lib/mdl/kramdown_parser.rb
-rw-r--r-- root/root 24453 2023-01-28 16:54 ./usr/share/rubygems-integration/all/gems/mdl-0.12.0/lib/mdl/rules.rb
-rw-r--r-- root/root 1807 2023-01-28 16:54 ./usr/share/rubygems-integration/all/gems/mdl-0.12.0/lib/mdl/ruleset.rb
-rw-r--r-- root/root 1942 2023-01-28 16:54 ./usr/share/rubygems-integration/all/gems/mdl-0.12.0/lib/mdl/style.rb
drwxr-xr-x root/root 0 2023-01-28 16:54 ./usr/share/rubygems-integration/all/gems/mdl-0.12.0/lib/mdl/styles/
-rw-r--r-- root/root 4 2023-01-28 16:54 ./usr/share/rubygems-integration/all/gems/mdl-0.12.0/lib/mdl/styles/all.rb
-rw-r--r-- root/root 516 2023-01-28 16:54 ./usr/share/rubygems-integration/all/gems/mdl-0.12.0/lib/mdl/styles/cirosantilli.rb
-rw-r--r-- root/root 164 2023-01-28 16:54 ./usr/share/rubygems-integration/all/gems/mdl-0.12.0/lib/mdl/styles/default.rb
-rw-r--r-- root/root 433 2023-01-28 16:54 ./usr/share/rubygems-integration/all/gems/mdl-0.12.0/lib/mdl/styles/relaxed.rb
-rw-r--r-- root/root 52 2023-01-28 16:54 ./usr/share/rubygems-integration/all/gems/mdl-0.12.0/lib/mdl/version.rb
-rw-r--r-- root/root 4984 2023-01-28 16:54 ./usr/share/rubygems-integration/all/gems/mdl-0.12.0/lib/mdl.rb
drwxr-xr-x root/root 0 2023-01-28 16:54 ./usr/share/rubygems-integration/all/specifications/
-rw-r--r-- root/root 2358 2023-01-28 16:54 ./usr/share/rubygems-integration/all/specifications/mdl-0.12.0.gemspec
```
Thus the question how to proceed from here. Or, can you hint to a tutorial-like
reference to do it the reliable way?
With regards,
Norwid
Reply to: