Hi,
I am finding building a textadept package for Fedora in the OBS incredibly easy, but building it for openSUSE is far more challenging. The main reason is because whenever I build a textadept package for openSUSE in the OBS I get an rpmlint report that causes the build to fail, namely:
118s] RPMLINT report:
118s] ===============
121s] textadept.x86_64: W: version-control-internal-file /usr/share/textadept/modules/.hgtags
121s] You have included file(s) internally used by a version control system in the
121s] package. Move these files out of the package and rebuild it.
121s]
121s] textadept.src: W: strange-permission LuaJIT-2.0.3.tar.gz 664
121s] textadept.src: W: strange-permission 3101763365cf.zip 664
121s] textadept.src: W: strange-permission gtdialog_1.3.zip 664
121s] textadept.src: W: strange-permission scinterm_1.8.zip 664
121s] textadept.src: W: strange-permission libtermkey-0.17.tar.gz 664
121s] textadept.src: W: strange-permission textadept.spec 664
121s] textadept.src: W: strange-permission textadept_9.2.modules.zip 664
121s] textadept.src: W: strange-permission lspawn_1.5.zip 664
121s] textadept.src: W: strange-permission cdce45e8dd7a3b36954022b4a4d3570e1ac5a4f8.zip 664
121s] textadept.src: W: strange-permission v_1_6_3.zip 664
121s] textadept.src: W: strange-permission lpeg-1.0.0.tar.gz 664
121s] textadept.src: W: strange-permission cdk-5.0-20150928.tgz 664
121s] textadept.src: W: strange-permission scintilla371.tgz 664
121s] textadept.src: W: strange-permission lua-5.3.3.tar.gz 664
121s] textadept.src: W: strange-permission tip.zip 664
121s] textadept.src: W: strange-permission scintillua_3.7.1-1.zip 664
121s] A file that you listed to include in your package has strange permissions.
121s] Usually, a file should have 0644 permissions.
121s]
121s] textadept.x86_64: W: no-changelogname-tag
121s] textadept.src: W: no-changelogname-tag
121s] There is no %changelog tag in your spec file. To insert it, just insert a
121s] '%changelog' in your spec file and rebuild it.
121s]
121s] textadept.x86_64: W: hidden-file-or-dir /usr/share/textadept/core/._M.luadoc
121s] textadept.x86_64: W: hidden-file-or-dir /usr/share/textadept/doc/.header.md
121s] textadept.x86_64: W: hidden-file-or-dir /usr/share/textadept/core/.ui.dialogs.luadoc
121s] textadept.x86_64: W: hidden-file-or-dir /usr/share/textadept/core/.iconv.luadoc
121s] textadept.x86_64: W: hidden-file-or-dir /usr/share/textadept/core/.view.luadoc
121s] textadept.x86_64: W: hidden-file-or-dir /usr/share/textadept/core/.buffer.luadoc
121s] textadept.x86_64: W: hidden-file-or-dir /usr/share/textadept/doc/.footer.md
121s] textadept.x86_64: W: hidden-file-or-dir /usr/share/textadept/modules/.hg_archival.txt
121s] The file or directory is hidden. You should see if this is normal, and delete
121s] it from the package if not.
121s]
121s] textadept.x86_64: W: files-duplicate /usr/share/textadept/doc/icon.png /usr/share/textad
ept/core/images/ta_32x32.png
121s] textadept.x86_64: W: files-duplicate /usr/share/textadept/doc/images/icon.png /usr/share
/textadept/core/images/ta_48x48.png
121s] textadept.x86_64: E: devel-file-in-non-devel-package (Badness: 50) /usr/share/textadept/
modules/yaml/src/parser.c
121s] textadept.x86_64: E: devel-file-in-non-devel-package (Badness: 50) /usr/share/textadept/
modules/yaml/src/api.c
121s] textadept.x86_64: E: devel-file-in-non-devel-package (Badness: 50) /usr/share/textadept/
modules/yaml/src/dumper.c
121s] textadept.x86_64: E: devel-file-in-non-devel-package (Badness: 50) /usr/share/textadept/
modules/yaml/src/lparser.c
121s] textadept.x86_64: E: devel-file-in-non-devel-package (Badness: 50) /usr/share/textadept/
modules/yaml/src/lscanner.c
121s] textadept.x86_64: E: devel-file-in-non-devel-package (Badness: 50) /usr/share/textadept/
modules/yaml/src/writer.c
121s] textadept.x86_64: E: devel-file-in-non-devel-package (Badness: 50) /usr/share/textadept/
modules/yaml/src/reader.c
121s] textadept.x86_64: E: devel-file-in-non-devel-package (Badness: 50) /usr/share/textadept/
modules/yaml/src/scanner.c
121s] textadept.x86_64: E: devel-file-in-non-devel-package (Badness: 50) /usr/share/textadept/
modules/yaml/src/lyaml.h
121s] textadept.x86_64: E: devel-file-in-non-devel-package (Badness: 50) /usr/share/textadept/
modules/yaml/src/yaml.h
121s] textadept.x86_64: E: devel-file-in-non-devel-package (Badness: 50) /usr/share/textadept/
modules/yaml/src/loader.c
121s] textadept.x86_64: E: devel-file-in-non-devel-package (Badness: 50) /usr/share/textadept/
modules/yaml/src/config.h
121s] textadept.x86_64: E: devel-file-in-non-devel-package (Badness: 50) /usr/share/textadept/
modules/yaml/src/lyaml.c
121s] textadept.x86_64: E: devel-file-in-non-devel-package (Badness: 50) /usr/share/textadept/
modules/yaml/src/lemitter.c
121s] textadept.x86_64: E: devel-file-in-non-devel-package (Badness: 50) /usr/share/textadept/
lexers/LexLPeg.cxx
121s] textadept.x86_64: E: devel-file-in-non-devel-package (Badness: 50) /usr/share/textadept/
modules/yaml/src/emitter.c
121s] textadept.x86_64: E: devel-file-in-non-devel-package (Badness: 50) /usr/share/textadept/
modules/yaml/src/yaml_private.h
121s] A development file (usually source code) is located in a non-devel package. If
121s] you want to include source code in your package, be sure to create a
121s] development package.
121s]
121s] textadept.x86_64: E: arch-dependent-file-in-usr-share (Badness: 590) /usr/share/textadep
t/modules/yaml/libyaml.so
121s] textadept.x86_64: E: arch-dependent-file-in-usr-share (Badness: 590) /usr/share/textadep
t/textadept-curses
121s] textadept.x86_64: E: arch-dependent-file-in-usr-share (Badness: 590) /usr/share/textadep
t/textadeptjit-curses
121s] textadept.x86_64: E: arch-dependent-file-in-usr-share (Badness: 590) /usr/share/textadep
t/textadept
121s] textadept.x86_64: E: arch-dependent-file-in-usr-share (Badness: 590) /usr/share/textadep
t/modules/yaml/libyaml64.so
121s] textadept.x86_64: E: arch-dependent-file-in-usr-share (Badness: 590) /usr/share/textadep
t/textadeptjit
121s] This package installs an ELF binary in the /usr/share hierarchy, which is
121s] reserved for architecture-independent files.
121s]
121s] (none): E: badness 4390 exceeds threshold 1000, aborting.
121s] 2 packages and 0 specfiles checked; 23 errors, 29 warnings.
121s]
121s]
121s] fusion809-pc failed "build textadept.spec" at Wed Jan 18 16:46:03 UTC 2017.
121s]
in case you’re wondering if I’m barking up the wrong tree and rather should be looking for a way to move the architecture-dependent files from %{_datadir} to a more packaging-friendly location like %{_libdir}, well I have asked a question on the textadept mailing lists about this, to see if it might be possible to. If it is, however, it’s not straight-forward as the executable file (that launches textadept) for textadept in %{_bindir} (i.e., /usr/bin) is not a text file that references files in %{_datadir}, it’s a binary file so changing the location of these files in %{_datadir} is likely more complicated than simply sedding references to these file’s locations in %{_bindir} executables. I will likely have to change the build process for textadept which will likely be quite complicated, hence why I am asking here for a simpler workaround to this rpmlint error.
Thanks for your time,
Brenton