[opensuse-packaging] To all perl packagers: my hackweek project
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hi, For years I'm trying to fight outdated perl modules in devel:languages:perl and openSUSE:Factory with various scripts and a lot of man power. But it was a lost battle from the start - there are just too many modules and too many changes to review. And the worst of all: manual fixes required after cpanspec had to be manually readded - and the changes to be extracted for .changes file. It was a lot of work and updating more than 10 modules a day make you feel like a robot. For rubygems we use since some months a mechanism that proved itself, so I reimplemented something very similar for cpan modules. - - I have a script that tries to update every outdated module in devel:languages:perl and if the update builds, it will create a submit request (I plan to run this every night once the dust settled) - - cpanspec got a feature to extract the diff between the changelogs and "pastes" it into the .changes file. If this is not possible, it will add a pointer to the installed change file. - - cpanspec's behaviour can now be controlled by a cpanspec.yml file next to the sources. We previously changed the cpanspec generated .spec manually and had to transfer these changes for every update. This lead to the rather sad state that 1188 of 2662 packages in dlp were outdated (checked monday). Now it's friday and we're down to 250 outdated packages - which is still a lot, but at least the tools should make sure we're not regressing on this number. But as we fix packages to have their changes transfered to the yaml file, this number will go down. So how does such a yaml file look like? - --- #description_paragraphs: 3 #no_testing: broken upstream #sources: # - source1 # - source2 #patches: # foo.patch: -p1 # bar.patch: #preamble: |- # BuildRequires: gcc-c++ post_prep: |- sed -i -e 's,/usr/bin/bash,/bin/bash,' bin/test-yaml #post_install: |- # sed on %{name}.files #license: SUSE-NonFree #skip_noarch: 1 #custom_build: - #./Build build flags=%{?_smp_mflags} --myflag Most packages only require a custom license - but you can limit the description, overwrite the noarch guessing, add patches or more sources or skip testing. And if you need more, feel free to do a pull request for https://github.com/openSUSE/cpanspec Thanks for reading, Stephan -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iEYEARECAAYFAlUxDJ8ACgkQwFSBhlBjoJY4jgCfYeubqCY4QgFQqh3ISBUiiG7U 8ecAn3Ah80dvaVD9gqeDW8eAc2Y/m/Tf =7BG0 -----END PGP SIGNATURE----- -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
participants (1)
-
Stephan Kulow