Very simple templates for NodeJS packages in OpenSUSE.
For any particular version of NodeJS, like 4 or 6 (henceforth referred to as X), the following work flow follows,
- NodeJS package nodeN is checkout from the main project
- Files in the common/ directory are copied directly to the package
- Files in the N/ directory are copied to the package
nodejsN.spec
file is generated usingsed
with help ofnodejs.spec.in
andnodejsN.sed
script and copied to the package file.
Branch specific patches can be annotated with PATCH_FOR line-end
comment after PatchX: header. The patch.pl
script will parse
and remove these comments along with the patches and relevant %patchX
statements. For example
Patch10: foo.patch # PATCH_FOR: 4, 6
Patch11: goo.patch
will have Patch10 removed in all versions except 4 and 6.
Please send pull requests when doing version updates via GitHub instead of OBS submit requests, since changelogs are tracked in GitHub (at least for now).
To update individual changelogs, use osc vc
in specific version's
subdirectory. To prepend all changelogs, use osc vc
in the main
directory and run make
to prepend all changelogs.
common/
subdirectory is only for patches that apply to all NodeJS
versions.
To reduce clutter, patch comments should be found in headers of patches, not in the .spec files.
NOTE: Upstream tarballs are not kept in Git repository.