RuboCop::Packaging is an extension of RuboCop, which
is a Ruby static code analyzer (a.k.a. linter) and code formatter.
It helps to enforce some of the guidelines that are expected of upstream maintainers so that the downstream can build their packages in a clean environment without any problems.
The Debian Ruby team has a lot of experience in packaging and maintaining Ruby libraries and applications for Debian. During this work, they identified several issues in upstream codebases that make it difficult to build a Debian package straight out of those Ruby gems (shipped via RubyGems).
The Debian developers (downstream maintainers) have been in touch with the RubyGems & Bundler and other upstream maintainers and we’re collaborating to make things easier for OS packagers while not compromising the experience for upstream maintainers.
As a result, we’re working on this RuboCop extension to enforce a set of best practices that
upstream maintainers can follow to make the lives of packagers easier. And that is how
rubocop-packaging is born!