v0.0.40
MKit v0.0.40 - wilderness
49f02d0ff414c5b95218d3d1751ab394f92a0dc2
MKit v0.0.40 - wilderness
Overview of changes:
* Branch name is now sanitized in SemVer build data
This was missing for long time ago; some projects use naming
conventions that employ slashes, which are not even valid filenames,
so that one dangerous use case is not actually too improbable.
* Added last git summary to builtin macros
__MKIT_PROJ_GIT_LASTSUMMARY__ now contains last commit message
summary (first line). This can be especially useful for quick CI
usage to avoid confusion.
* Switched to branch naming scheme using 'latest' instead of 'last'
v0.0.39
MKit v0.0.39 - wilderness
caba653ae179157fb3a0e50eff2946732b0abe08
MKit v0.0.39 - wilderness
Overview of changes:
* Made `make clean` re-usable by extensions
Some projects add own build targets that won't necessarily write
everything to built.lst; eg. directories created by `mkdir -p` won't
be listed but still need to be cleaned up.
These scripts can now record their paths as part of built.lst, and
can do it in a way that ensures the path is removed recursively.
v0.0.38
MKit v0.0.38 - wilderness
41cdb86fea59b2f8c288ce5a9d3c6566a4c7b429
MKit v0.0.38 - wilderness
Overview of changes:
* Bump commit messages will now contain version number
This proved useful when commits are mentioned by bots and generally
for orientation along git log.
* Made patch convert scrip a bit easier to use
v0.0.37
MKit v0.0.37 - wilderness
212a5d712743b196ac242474c69895e2ff03febe
MKit v0.0.37 - wilderness
Overview of changes:
* Added support for recursive expansion in ini()
Values in mkit.ini can now contain references to other keys, but
this time *anywhere* in the value; not just as a prefix. This
vastly increases possibilities to customize package layout and
makes it easier to maintain meta-data in some situations.
It also makes it easier to get into infinite loops, so the recursion
depth is limited to 10 levels.
* Replaced builtin macro __MKIT_SELF_VERSION__ with __MKIT_MKIT_VERSION__
This further reduces confusion which version is the project version
and makes the project version more visible in the _mkit_data
printout by leaving it as last listed builtin.
* Codebase maintenance and cleanup
v0.0.36
MKit v0.0.36 - wilderness
5c23e4c4ef6f08c074626f933cf35e269a448873
MKit v0.0.36 - wilderness
Overview of changes:
* Fixed multiple grep calls to avoid ambiguities
At several places, grep calls composed using variables could be
ambiguous if the variable content would look like an argument for
grep itself.
* Updated MKit version in examples
* Updated URLs after move from github
v0.0.35
MKit v0.0.35 - wilderness
9f602ef61ae99e3cfbd9d159b32922e8267261db
MKit v0.0.35 - wilderness
Overview of changes:
* Fix timestamps compatibility with older git
Git v1.7 does not support the unix time format, but `%ct` should be
at least roughly equivalent.
v0.0.34
MKit v0.0.34 - wilderness
6d484d1d5fd76c47071c46f3f35ae8a8555e5fd6
MKit v0.0.34 - wilderness
Overview of changes:
* Fixed up time tags.
First, the choice of hexadecimals turned out as wrong: hexadecimals
end up sorting in strange ways, at least in version contexts. The
format was changed to '+%Y%m%d%H%M%S` (eg. `20180511171502`).
Second, 'ctime' value for MKIT_TTAG was added, which is the same as
'btime', but represents commit time rather than build time, so it's
more deterministic---for that reason it's now also the new default.
v0.0.33
MKit v0.0.33 - wilderness
24d9be91d6cd0daa29c79171c6a47518ecda0274
MKit v0.0.33 - wilderness
Overview of changes:
* Added timestamp to dirty and devel builds
Some installers (eg. very old version of yum) will make it hard to
force arbitrary version of build. This makes quick development
work harder: you want to be able to reinstall build after small fix,
but the pesky old yum will keep refusing it.
This is solved by inserting a time-based tag into the build data,
For example, making a build from branch 'foo', instead of version like
0.0.1+foo.g1cf454d
you will get
0.0.1+t5af43362.foo.g1cf454d
where the '5af43362' is based on unix timestamp, so it's guarranteed
to sort later than the last time (while 0.0.2.anything will still
sort even later).
This does not affect clean builds and can be turned off by setting
MKIT_TTAG to 'none'.
* Small readability improvements
v0.0.32
MKit v0.0.32 - wilderness
66e3ea90e8c402173fcd3de26f6b2f2279fb66d5
MKit v0.0.32 - wilderness
Overview of changes:
* Fixed bug in macro expansion
In last versions, multi-line macros were added, but expaning
multiple macros *per line* stopped working.
* Fixed comment removal being too hungry
Comment removal filter would actually remove any line that merely
*contained* hash sign.
* Codebase maintenance
0963f1480a681a08aed9d851f949bee9f0193df3
v0.0.29
MKit v0.0.29 - wilderness
39a850805504868ac42ca5463a34fda0e3bc92f3
MKit v0.0.29 - wilderness
Overview of changes:
* Fixed caching and versioning logic
The logic used to get essential versioning info and retain it for
git-less installs was due to rewriting; it's been simplified and
cleaned up.
* Cleaned up formatting of SPEC file template from stub
* Codebase maintenance
v0.0.28
MKit v0.0.28 - wilderness
5c7b106ec75e9a5f4504e6f2b64c47ae1070520a
MKit v0.0.28 - wilderness
Overview of changes:
* stub will generate 'install' (not 'PACKAGE'.install) list file
The other format is necessary for multi-packages.
* Removed override_dh_usrlocal from generated debian/rules
* Removed extra newline from generated README.md
* Added URL to generated specfile template
* Reformatted whitespace in generated specfile template
* Fixed typo in MKIT_STUB_README.md
v0.0.27
MKit v0.0.27 - wilderness
f8a3121b118c26113d1a5f3b2b2b17e6f3976a68
MKit v0.0.27 - wilderness
Overview of changes:
* Fixed issue that would break release
Releases with many commits or many changed files can produce 'Bump
version' message so long that it would trigger OS command line limit.
This risk has been mitigated by ensuring the message is read from
file instead of git argument.
* Added "SRC" mode to preserve file modes from repository
Sometimes the mode scheme is not easy, so having mode to apply to
whole group is not plausible. Setting group mode to a special value
`SRC` will cause MKit replicate the mode from source (repo or
tarball).
* `stub new` will produce "nice" mkit.ini right away
Previously, re-formatting of mkit.ini would work only in update
mode; now it's nicely re-formatted on creation.
* Fixed formatting of INI files
If value in INI file contained space, formatting would break it up.
This is no longer the case.
* Cleaned up specfile template stub
New specfile template now does not contain tabs, has fields grouped
in more logical way, and omits BuildRequires, which was not all that
correct anyway.
* Improved README.md
v0.0.26
MKit v0.0.26 - wilderness
c106dd9e141cb05d6d5a8d672f045c11847524cb
MKit v0.0.26 - wilderness
Overview of changes:
* Added data-sampler pseudo-target
To help developers see what tokens are available, this pseudo-target
just prints list of tokens and their values, for built-in tokens as
well as for user-defined.
* Removed obsolete build_manpages target and 'markdown' type
These were not compatible with current design od MKit and will
be better off re-implemented as plugins.
* Items in changelog template are now delimited by empty line
Just for convenience when formatting and extending.
* ini() can now list all sections from mkit.ini ('ini lssect')
* Refactored internal functions with double underscore
* Updated own meta-data
* Fixed small typos in comments and docstrings
* Quoted $MKIT_DIR properly in mkit.mk
* Updated own dogfood
v0.0.25
MKit v0.0.25 - wilderness
821197376a8201d0217f8b0c75f36a4ffac803cb
MKit v0.0.25 - wilderness
Overview of changes:
* build target will now leave file .mkit/semver file
Build tools can read this to easily find out version.
* semver() caches its output now
* Refactored common operations in .mkit
* Removed old unnecessary check
* Solved or muted last few ShellCheck issues
v0.0.24
MKit v0.0.24 - wilderness
75e1a373627935005b84d901e7c3df5de6b9f73e
MKit v0.0.24 - wilderness
Overview of changes:
* mkit/stub: Removed `[roots]` reference from `[tokens]` example
Using '[roots]' as reference can have unpredictable results since it
silently depends on DESTDIR, which is only available at install
time.
Next breaking release (v0.1.0, but could be earlier as we are still
in 0.0.z space) should rename 'roots' to 'ROOTS' to reflect its
volatile nature (similar to ENV).
* mkit/stub: LICENSE.md won't be mentioned in headers if not asked
* mkit/stub: PREFIX is set to /usr in packaging templates
* mkit/stub: Added notes about file paths in packaging templates
* mkit/stub: Fixed bug when empty license name would be accepted
* mkit/stub: Fixed double deploy of template.spec
* mkit/make: Having relsrc same as reldst is now tolerated (albeit useless)
* mkit/make: 'release' and 'vbump' can now be reached directly (without GNU Make)
* mkit/make: Added -V option to mkit/make script
* Code maintenance
v0.0.23
MKit v0.0.23 - wilderness
4e1b16fa3e6f3c10e30a6bf3796da49ba6a9c9ba
MKit v0.0.23 - wilderness
Overview of changes:
* Fixed version directive lookup
mkit.ini would be refused if version directive was at the end of the
file, while first and last 3 lines is what was supposed to work.
* Fixed license argument check
stub script would ignore license argument due to argument validation
error caused by refactoring.
* Fixed bad grep advice in MKIT_STUB_README.md
* Updated own dogfood
0898a6a70cedc9b400e572769e3feec91eb0ddec
v0.0.21
MKit v0.0.21 - wilderness
b481c68fe6b5ac4388349277e1934f0d0c14bd69
MKit v0.0.21 - wilderness
Overview of changes:
* Added 'newstub', builder script to help with new projects
The script is intended to help start up new MKit project by generating
structure necessary for MKit to work, and instructing user which
parts to review and how.
* Fixed bug when skeletons could be deployed as part of directory
If directory targeted in [files] section contained .skel files, they
would get deployed along with built files.
* Code refactoring
Moved global variables to new vars.sh module, improved initialization
and importing code and added file headers.
* Improved patch importer utility
v0.0.20
MKit v0.0.20 - wilderness
8ecf07047fc90f94e7b25198242905818f9a0cb3
MKit v0.0.20 - wilderness
Overview of changes:
* Enabled rpmstuff and debstuff specific tokens
These can be used to (somewhat hackishly) try to mitigate
differenceds between distros.
* Fixed printing error message to stdout
* Fixed broken error message
* Big code cleanup
Only refactoring, but we needed to get up to date with style.
v0.0.19
MKit v0.0.19 - wilderness
cce163318765fad1ed3424ab3d385078ff915c1c
MKit v0.0.19 - wilderness
Overview of changes:
* Added `vbump` and `release` targets, defaulting to Z
v0.0.18
MKit v0.0.18 - wilderness
1373b7b1ec69cf8813f4a58eb925f9af239a9555
MKit v0.0.18 - wilderness
Overview of changes:
* Changelog will be included in tag annotation message.
The changelog generated by `vbump_*` target will be included in tag
annotation message. The annotation message is meant as release note
of sorts, so it makes sense to have the changelog there. (For
example, GitHub will use the message as release note on Releases tab
of a project.)
v0.0.17
MKit v0.0.17 - wilderness
9b0e4c144920db00e590213c5048d08bb357510e
v0.0.16
MKit v0.0.16 - wilderness
c305a19fe2dacde9aaa77a90012a5d830b6f9238
40685a42d3d17be28dc122174fa9672ed8068364
0e9f994bcf09483dc9b33d18ff563c061e42b88f
df0e21f9b05ff3b4e12ce46bc20864d45390bb47
d0cfa12e4b772ba4ee2a0ab0e76233748932216f
6d2996aa28f727369706294c35fbbef298d0f6c8
fe4a064980f0c47e7269dab880440b32cc153c5c
af120bbeeb3d7aaf47643d77ebae8be3866015d8
5e5e2a0129f68dc0b6060fa8d21fb39f667d3858
0c1cc922e9a7943ab191846eeac52256a0fe88ee
403f4ba51c235dcac8a275eefd08b3285a332360
63ed41bcb905750f1ebdd13bc2ed0a9ff66adcf6
7a3c722e1359a2243c8a6e0977b05192cc43028e
1aa226d3d0782ab9f592a3c2438f1037b7e744dc
4edfa149c3c84460cf943d31a010af5205c31ab3
1473deef3eb14ecf71a89e2a2678763756b91d34
a9b5e304eb47c518699027e56a18ef57c823a191