Replace the two rules for test/common and pkg/lib with a single rule
based on `git-archive`, avoiding the use of racy `FETCH_HEAD` and
side-effecting `git-checkout`. This lets us drop the `flock` call, and
introduces some logic to avoid the fetch in case we already have it.
We'll hardcode shas from here on out: it's more secure (ie:
tamperproof), and more performant (since we don't have to check the ref
if we already have the object), in addition to being easier to work with
in terms of the required git commands.
Use pkg/lib/cockpit.js as a stamp file.
This rule will make it easier to expand to more files in the future.
One drawback is that when we want to update files from the cockpit/
repository, we'll now need to do it in lock-step: using new API from
testlib will force us to adjust to PatternFly changes, for example.
Cherry-picked from cockpit-podman commit cfc05e730d6f5d.
Keep pkg/lib in the same location as it is in the cockpit repository,
and adjust the include path accordingly.
This makes the production of the .pot file somewhat more deterministic:
previously, it would either include or not include the strings from
pkg/lib depending on if it had been checked out or not. Now it never
includes them.
Cherry-picked from cockpit-podman commit a70630be2139a.
When installing the module, instead of copying the metainfo file to the
destination, merge the available translations for it. Since this is done
at install time, add gettext as BuildRequires for the RPM packaging;
add libappstream-glib-devel as well only on RHEL/CentOS 8, since it
contains the metainfo.its for gettext in order to handle .metainfo.xml
files.
This requires a LINGUAS file with the list of translations currently
available: this is the way msgfmt picks the available languages to
merge. Generate it dynamically from the list of available .po files.
On developer systems, bots is commonly a symlink to a shared checkout,
accept non-directories as well. Also, only ignore it at the top level of
the project directory.
Drop the cockpit-po-plugin.js and sassc-loader.js code copies, and check
them out from a stable cockpit tag, similarly to how we already get the
PatternFly CSS.
Rename some files and change some identifiers to be neutral to the
application name. This makes it simpler to change everything to a proper
name when cloning this project.
Document in the README how to find the remaining places to change.
Closes#20
This makes sure we always include all files in the repository when
disting.
Obsoletes webpack-with-stats, which had a bug anyway: it wasn't
reporting jslint errors.
This moves us one step closer to a normal source package. The sources
are now unpacked and we run "make install". We still don't build
since we don't have all the necessary tools.
Also, most importantly, the source tarball now includes our actual
sources in addition to the prebuilt binaries.
A simple Vagrant VM based on fedora 25 cloud. It syncs `dist` to
`/usr/local/share/cockpit/<dirname>` on the VM.
Also decrease the minimum required version in `manifest.json` to match
the one that's currently in fedora 25.