chiark / gitweb /
fdroidserver.git
8 years agoProperly default to NDK r10e 0.4.0
Daniel Martí [Wed, 5 Aug 2015 17:33:18 +0000 (10:33 -0700)]
Properly default to NDK r10e

8 years agoMerge branch 'master' into 'master'
Daniel Martí [Wed, 5 Aug 2015 16:38:27 +0000 (16:38 +0000)]
Merge branch 'master' into 'master'

final 0.4.0 fixes

Because `setup.py` is broken because `MANIFEST.in` is still pointing to `README` and not `README.md`, the 0.4.0 tag needs to be deleted.  This merge requests fixes that and two other minor issues.  This has passed multiple runs of the test suite, both on my machine and the jenkins box.

See merge request !61

8 years agofix `fdroid rewritemeta` reference in manual
Hans-Christoph Steiner [Wed, 5 Aug 2015 11:48:42 +0000 (13:48 +0200)]
fix `fdroid rewritemeta` reference in manual

8 years agorun-tests: fix quoting to prevent spurious execution of `fdroid update`
Hans-Christoph Steiner [Wed, 5 Aug 2015 11:26:35 +0000 (13:26 +0200)]
run-tests: fix quoting to prevent spurious execution of `fdroid update`

8 years agorename README to README.md in MANIFEST.in
Hans-Christoph Steiner [Wed, 5 Aug 2015 08:35:14 +0000 (10:35 +0200)]
rename README to README.md in MANIFEST.in

this stops `python setup.py` from failing...

8 years agoBump to 0.4.0
Daniel Martí [Wed, 5 Aug 2015 06:00:11 +0000 (23:00 -0700)]
Bump to 0.4.0

8 years agoMerge branch 'master' into 'master'
Hans-Christoph Steiner [Tue, 4 Aug 2015 20:56:16 +0000 (20:56 +0000)]
Merge branch 'master' into 'master'

Port README to markdown

Also add instructions for Arch-Linux.

You can take a look on it [here](https://gitlab.com/NicoAlt/fdroidserver/blob/master/README.md).

See merge request !60

8 years agoCorrect filename in setup.py
Nico Alt [Tue, 4 Aug 2015 19:02:06 +0000 (21:02 +0200)]
Correct filename in setup.py

8 years agoPort README to markdown
Nico Alt [Tue, 4 Aug 2015 10:54:06 +0000 (12:54 +0200)]
Port README to markdown

Also add instructions for Arch-Linux.

8 years agoAdd automake1.11 for gpg
Daniel Martí [Tue, 4 Aug 2015 04:49:32 +0000 (21:49 -0700)]
Add automake1.11 for gpg

8 years agoMerge branch 'master' into 'master'
Daniel Martí [Mon, 3 Aug 2015 21:02:56 +0000 (21:02 +0000)]
Merge branch 'master' into 'master'

let setuptools determine the base install path on OSX

This is the last commit from me before the 0.4.0 release.  Its ready to go!

A gentle reminder:
* sign the tag: `git tag -s 0.4.0 -m "tagging release 0.4.0"`
* release tags are `0.4.0` format, not `v0.4.0`
* change the version in `setup.py` to match the tag exactly, char by char

Then I'll post the update to pypi.python.org

See merge request !59

8 years agolet setuptools determine the base install path on OSX
Hans-Christoph Steiner [Mon, 3 Aug 2015 20:03:25 +0000 (22:03 +0200)]
let setuptools determine the base install path on OSX

Instead of trying to guess which absolute path and .egg name
everything will be installed into, just use a relative path and the
setup process will do the right thing (so far, at least).

8 years agoAdd gradle plugin version 1.3 to our wrapper
Daniel Martí [Mon, 3 Aug 2015 18:34:20 +0000 (11:34 -0700)]
Add gradle plugin version 1.3 to our wrapper

8 years agoMerge branch 'update-install' into 'master'
Ciaran Gultnieks [Mon, 3 Aug 2015 12:44:30 +0000 (12:44 +0000)]
Merge branch 'update-install' into 'master'

README: ppa only works for Ubuntu based systems

See merge request !58

8 years agoMerge branch 'bsd-osx-porting-and-tests' into 'master'
Ciaran Gultnieks [Mon, 3 Aug 2015 12:43:15 +0000 (12:43 +0000)]
Merge branch 'bsd-osx-porting-and-tests' into 'master'

BSD/OSX porting and tests

This makes `fdroid init` and `fdroid update` work on BSD/OSX and maybe Cygwin also (I didn't test Cygwin).  It also makes the install process more tolerant, like not requiring `python-magic` to run, while using it if its available.

Some fixes and additional tests are also included.  The commit messages have more info.

See merge request !56

8 years agoREADME: ppa only works for Ubuntu based systems
Hong Xu [Mon, 3 Aug 2015 00:11:44 +0000 (17:11 -0700)]
README: ppa only works for Ubuntu based systems

8 years agojenkins-build: run test suite from `pip install` using source tarball
Hans-Christoph Steiner [Fri, 31 Jul 2015 22:49:33 +0000 (00:49 +0200)]
jenkins-build: run test suite from `pip install` using source tarball

Since `python setup.py sdist` provides the actual tarball that will be
installed via `easy_install`, `pip install`, etc. it should also be tested.
The existing `pip install -e $WORKSPACE` tests the .egg-link install format

8 years agosupport egg-link format when installed from git repo
Hans-Christoph Steiner [Fri, 31 Jul 2015 22:36:51 +0000 (00:36 +0200)]
support egg-link format when installed from git repo

If you run `python setup.py install` from the git repo, then it will be
installed using the .egg-link format, which just points to the git repo.
`fdroid init` needs to handle that when looking for example files to copy.

8 years agoupdate install instructions in README
Hans-Christoph Steiner [Fri, 31 Jul 2015 14:23:05 +0000 (16:23 +0200)]
update install instructions in README

8 years agochmod keystore after checking whether it was created
Hans-Christoph Steiner [Fri, 31 Jul 2015 13:54:50 +0000 (15:54 +0200)]
chmod keystore after checking whether it was created

On OSX, when Java is not installed, it'll fail to create the keystore, but
then give an error from chmod failing.  This changes things so that the
missing Java is reported instead.

8 years agosupport installing as a Python .egg
Hans-Christoph Steiner [Fri, 31 Jul 2015 13:53:39 +0000 (15:53 +0200)]
support installing as a Python .egg

For platforms where easy_install is a good option, like OSX, support
the Python .egg library format.

8 years agoget MIME types without strictly requiring python-magic
Hans-Christoph Steiner [Fri, 31 Jul 2015 13:50:20 +0000 (15:50 +0200)]
get MIME types without strictly requiring python-magic

There are two forms of python-magic, one included in libmagic that is
default on Debian, and another Python wrapper for libmagic that is
called 'python-magic' on pypi.  Those both rely on the compiled binary
library libmagic.  For platforms without good package management, fallback
to using the built-in 'mimetypes' library if 'magic' is not available.

This supports OSX, Windows, and BSD.

8 years agofix installing via OSX's easy_install
Hans-Christoph Steiner [Fri, 31 Jul 2015 12:47:48 +0000 (14:47 +0200)]
fix installing via OSX's easy_install

8 years agoremove non-existant files from the MANIFEST.in
Hans-Christoph Steiner [Fri, 31 Jul 2015 10:27:57 +0000 (12:27 +0200)]
remove non-existant files from the MANIFEST.in

8 years agotest new common.regsub_file() method that replaces sed calls
Hans-Christoph Steiner [Thu, 30 Jul 2015 20:13:36 +0000 (22:13 +0200)]
test new common.regsub_file() method that replaces sed calls

8 years agouse common.regsub_file() instead of Popen(sed)
Hans-Christoph Steiner [Thu, 30 Jul 2015 20:13:12 +0000 (22:13 +0200)]
use common.regsub_file() instead of Popen(sed)

Python libraries work better in Python than running external commands, and
it also makes the code much more portable.  For example, the GNU and BSD
sed commands have different, and sometimes conflicting, flags.

This also reworks the regexp patterns to be more tightly focused, and not
change the same variable name in comments or elsewhere.

8 years agotests: short args for mktemp to support BSD
Alex Burka [Mon, 27 Jul 2015 18:34:01 +0000 (11:34 -0700)]
tests: short args for mktemp to support BSD

*BSD and OSX do not have compatible long args

8 years agoshow commented out examples for setting sdk_path and ndk_paths
Hans-Christoph Steiner [Fri, 24 Jul 2015 23:27:45 +0000 (16:27 -0700)]
show commented out examples for setting sdk_path and ndk_paths

Instead of just mirroring the defaults in the example config.py, show a
useful example of how they might be set.

8 years agorun-tests: fix copying of urzip.apk into new repo
Hans-Christoph Steiner [Fri, 24 Jul 2015 22:52:13 +0000 (15:52 -0700)]
run-tests: fix copying of urzip.apk into new repo

8 years agorun-tests: run `fdroid readmeta` after each --create-metadata
Hans-Christoph Steiner [Fri, 24 Jul 2015 22:39:00 +0000 (15:39 -0700)]
run-tests: run `fdroid readmeta` after each --create-metadata

Just another basic check, this time for `fdroid readmeta`.

8 years agolint: exit with an error code if any errors are found
Daniel Martí [Thu, 30 Jul 2015 19:46:42 +0000 (12:46 -0700)]
lint: exit with an error code if any errors are found

8 years agoAlso use OptionParser in readmeta to add -h/--help
Daniel Martí [Thu, 30 Jul 2015 18:35:25 +0000 (11:35 -0700)]
Also use OptionParser in readmeta to add -h/--help

8 years agoMerge branch 'some-compatibility-fixes' of https://gitlab.com/eighthave/fdroidserver
Daniel Martí [Mon, 27 Jul 2015 17:41:23 +0000 (10:41 -0700)]
Merge branch 'some-compatibility-fixes' of https://gitlab.com/eighthave/fdroidserver

8 years agoAdd --no-refresh to the completion
Daniel Martí [Sat, 25 Jul 2015 01:15:39 +0000 (18:15 -0700)]
Add --no-refresh to the completion

8 years agoMerge branch 'no-refresh' of https://gitlab.com/aelmahmoudy/fdroidserver
Daniel Martí [Sat, 25 Jul 2015 01:11:15 +0000 (18:11 -0700)]
Merge branch 'no-refresh' of https://gitlab.com/aelmahmoudy/fdroidserver

8 years agoBe more specific about empty build flags
Daniel Martí [Sat, 25 Jul 2015 01:08:48 +0000 (18:08 -0700)]
Be more specific about empty build flags

8 years agoremove dependency on wget for 'build' and 'verify'
Hans-Christoph Steiner [Fri, 24 Jul 2015 04:42:21 +0000 (21:42 -0700)]
remove dependency on wget for 'build' and 'verify'

To make the core tools portable to platforms like Mac OS X and Windows,
remove the dependency on wget and instead use Python Requests, which
probably has better performance anyway.

8 years agoupdate: warn if APK has a date that is newer than the system clock
Hans-Christoph Steiner [Mon, 20 Jul 2015 23:42:40 +0000 (16:42 -0700)]
update: warn if APK has a date that is newer than the system clock

If the date in an APK is in the future, that could cause confusion.  If the
system clock is wrong, then the APK will also have a date in the future.
This is most likely on offline signing machines, since they do not have a
time source to sync to.

8 years agoextend text char limits to match other app stores
Hans-Christoph Steiner [Wed, 15 Jul 2015 21:43:38 +0000 (14:43 -0700)]
extend text char limits to match other app stores

We should be compatible with other apps stores unless there is a specific
reason not to be.

* Google Play, Amazon, and iTunes all have 4000 char descriptions

For the summary, we can just bump it up to the same as what Play has
* Google Play allows an 80 char "Short Description"
  https://support.google.com/googleplay/android-developer/answer/113469?hl=en
* Amazon allows a 1200 char "Short Description"
  https://developer.amazon.com/public/support/submitting-your-app/tech-docs/submitting-your-app#Add Metadata and Image Assets

8 years agoUpdate recommended base box
Ciaran Gultnieks [Tue, 21 Jul 2015 20:12:52 +0000 (22:12 +0200)]
Update recommended base box

8 years agoAdd an option to disable repository refresh
أحمد المحمودي (Ahmed El-Mahmoudy) [Tue, 14 Jul 2015 10:32:39 +0000 (12:32 +0200)]
Add an option to disable repository refresh

This is useful for testing builds with no internet connection, and the
repositories were already fetched previously

8 years agoAlso find usual suspects in gradle files
Daniel Martí [Sun, 5 Jul 2015 21:26:41 +0000 (14:26 -0700)]
Also find usual suspects in gradle files

8 years agoFix update fail when icons are missing
Ciaran Gultnieks [Mon, 29 Jun 2015 09:17:59 +0000 (11:17 +0200)]
Fix update fail when icons are missing

Introduced yesterday, I believe.

8 years agoAlways clean and reset all submodules
Daniel Martí [Mon, 29 Jun 2015 02:37:28 +0000 (19:37 -0700)]
Always clean and reset all submodules

8 years agoHotfix: Client 0.92 breaks if web/source/tracker are missing
Daniel Martí [Sun, 28 Jun 2015 18:45:06 +0000 (11:45 -0700)]
Hotfix: Client 0.92 breaks if web/source/tracker are missing

Revert this commit after a few stable releases

8 years agoStable clients understand UpstreamNonFree now
Daniel Martí [Fri, 26 Jun 2015 16:00:34 +0000 (18:00 +0200)]
Stable clients understand UpstreamNonFree now

8 years agoHotfix for 7b68b90569 - don't cal .split() on None
Daniel Martí [Fri, 26 Jun 2015 15:58:57 +0000 (17:58 +0200)]
Hotfix for 7b68b90569 - don't cal .split() on None

8 years agoupdate: never include empty elements in the index
Daniel Martí [Fri, 26 Jun 2015 15:41:19 +0000 (17:41 +0200)]
update: never include empty elements in the index

8 years agoFix imagemagick (broken in d9bbb507)
Ciaran Gultnieks [Thu, 25 Jun 2015 20:53:11 +0000 (22:53 +0200)]
Fix imagemagick (broken in d9bbb507)

8 years agoReplace some FDroid strings with F-Droid
Daniel Martí [Sun, 21 Jun 2015 11:51:23 +0000 (13:51 +0200)]
Replace some FDroid strings with F-Droid

8 years agoUpdate the Android SDK to 24.3.3
Daniel Martí [Fri, 19 Jun 2015 19:17:43 +0000 (21:17 +0200)]
Update the Android SDK to 24.3.3

8 years agoImprove xml string extracting support
Daniel Martí [Thu, 18 Jun 2015 15:54:56 +0000 (17:54 +0200)]
Improve xml string extracting support

* Shield ourselves from newlines that would break metadata files
* Properly use string resources for version names

8 years agoReplace NDK r10d with r10e
Daniel Martí [Thu, 18 Jun 2015 15:05:48 +0000 (17:05 +0200)]
Replace NDK r10d with r10e

8 years agoAdd gradle 2.4
Daniel Martí [Thu, 18 Jun 2015 14:57:00 +0000 (16:57 +0200)]
Add gradle 2.4

8 years agoBump build-tools to 22.0.1
Daniel Martí [Thu, 18 Jun 2015 14:56:08 +0000 (16:56 +0200)]
Bump build-tools to 22.0.1

8 years agolint: start warning about invalid categories
Daniel Martí [Wed, 17 Jun 2015 17:55:30 +0000 (19:55 +0200)]
lint: start warning about invalid categories

8 years agoBump index version to 13: <changelog> added
Daniel Martí [Tue, 9 Jun 2015 21:11:42 +0000 (23:11 +0200)]
Bump index version to 13: <changelog> added

8 years agoupdate: don't always place the changelog element
Daniel Martí [Tue, 9 Jun 2015 21:10:10 +0000 (23:10 +0200)]
update: don't always place the changelog element

It's not that common, so often it'd just be <changelog/>

8 years agolint: take forcevercode into account for UCM warnings
Daniel Martí [Sun, 7 Jun 2015 12:14:56 +0000 (14:14 +0200)]
lint: take forcevercode into account for UCM warnings

8 years agolint: get rid of -p/--pedantic
Daniel Martí [Sun, 7 Jun 2015 12:05:29 +0000 (14:05 +0200)]
lint: get rid of -p/--pedantic

Only one check was left, and it's of little use anyway.

8 years agolint: complain about useless Name: fields
Daniel Martí [Sun, 7 Jun 2015 12:03:15 +0000 (14:03 +0200)]
lint: complain about useless Name: fields

8 years agoAlways make sure that we don't encode None
Daniel Martí [Sun, 7 Jun 2015 12:02:50 +0000 (14:02 +0200)]
Always make sure that we don't encode None

Apparently, we can have a non-nil element that has a nil text.

8 years agolint: Move the UCM:Tags warning out of pedantic
Daniel Martí [Fri, 5 Jun 2015 15:15:13 +0000 (17:15 +0200)]
lint: Move the UCM:Tags warning out of pedantic

It's much more reliable now

8 years agolint: Improve UCM:Tags warning
Daniel Martí [Fri, 5 Jun 2015 15:04:05 +0000 (17:04 +0200)]
lint: Improve UCM:Tags warning

If the vercode is higher than CVC, then we're probably only following stable
versions or something like that

8 years agolint: don't be pedantic about downloading code
Daniel Martí [Fri, 5 Jun 2015 14:59:01 +0000 (16:59 +0200)]
lint: don't be pedantic about downloading code

We don't really control this if run via a script, which happens more often.

8 years agolint: don't assume trailing slashes in urls are redundant
Daniel Martí [Fri, 5 Jun 2015 14:56:25 +0000 (16:56 +0200)]
lint: don't assume trailing slashes in urls are redundant

8 years agoMerge branch 'graphviz' into 'master'
Daniel Martí [Fri, 5 Jun 2015 14:52:35 +0000 (14:52 +0000)]
Merge branch 'graphviz' into 'master'

Add graphviz to buildserver

Add graphviz to buildserver. Like inkscape and imagemagick it is used to "build" images from "source code".

See merge request !53

8 years agoAdd graphviz to buildserver
Boris Kraut [Fri, 5 Jun 2015 13:41:21 +0000 (15:41 +0200)]
Add graphviz to buildserver

8 years agoStop fdroid update saying it requires signing keys when it doesn't
Ciaran Gultnieks [Thu, 4 Jun 2015 14:00:31 +0000 (15:00 +0100)]
Stop fdroid update saying it requires signing keys when it doesn't

Again!

8 years agoProperly support escaped strings
Daniel Martí [Thu, 4 Jun 2015 13:56:20 +0000 (15:56 +0200)]
Properly support escaped strings

See:
https://developer.android.com/guide/topics/resources/string-resource.html

8 years agoRemove now unnecessary regex_pedantic
Daniel Martí [Thu, 4 Jun 2015 13:49:00 +0000 (15:49 +0200)]
Remove now unnecessary regex_pedantic

8 years agolint: enforce https on gitlab too
Daniel Martí [Thu, 4 Jun 2015 13:47:25 +0000 (15:47 +0200)]
lint: enforce https on gitlab too

8 years agolint: Remove duplicate code.google.com TODO
Daniel Martí [Thu, 4 Jun 2015 13:46:54 +0000 (15:46 +0200)]
lint: Remove duplicate code.google.com TODO

8 years agolint: move punctuation warnings out of pedantic
Daniel Martí [Thu, 4 Jun 2015 13:45:33 +0000 (15:45 +0200)]
lint: move punctuation warnings out of pedantic

8 years ago"Changelog:" will be empty often, so only put it if present
Daniel Martí [Wed, 3 Jun 2015 23:01:52 +0000 (01:01 +0200)]
"Changelog:" will be empty often, so only put it if present

8 years agoMove github .git lint warning to http_warnings
Daniel Martí [Wed, 3 Jun 2015 20:51:05 +0000 (22:51 +0200)]
Move github .git lint warning to http_warnings

8 years agoRe-add https enforcings to Repo:
Daniel Martí [Wed, 3 Jun 2015 20:17:35 +0000 (22:17 +0200)]
Re-add https enforcings to Repo:

8 years agoEnforce https uniformly in all http links
Daniel Martí [Wed, 3 Jun 2015 19:00:15 +0000 (21:00 +0200)]
Enforce https uniformly in all http links

8 years agoSimplify lint http warnings
Daniel Martí [Wed, 3 Jun 2015 18:55:08 +0000 (20:55 +0200)]
Simplify lint http warnings

8 years agoDon't accept non-integer vercodes
Daniel Martí [Wed, 3 Jun 2015 17:40:43 +0000 (19:40 +0200)]
Don't accept non-integer vercodes

8 years agoWork around encoding issues when using xml files
Daniel Martí [Wed, 3 Jun 2015 16:42:24 +0000 (18:42 +0200)]
Work around encoding issues when using xml files

The xml package returns "unicode" objects instead of strings in utf-8.

8 years agoDon't crash if an <application> has no android:label
Daniel Martí [Wed, 3 Jun 2015 16:30:31 +0000 (18:30 +0200)]
Don't crash if an <application> has no android:label

8 years agoFix PEP8 E225
Daniel Martí [Wed, 3 Jun 2015 16:05:17 +0000 (18:05 +0200)]
Fix PEP8 E225

8 years agoDon't use the commits feed as a changelog link in import
Daniel Martí [Wed, 3 Jun 2015 13:52:46 +0000 (15:52 +0200)]
Don't use the commits feed as a changelog link in import

If it's often not a replacement for a proper changelog, do not advise its
usage.

8 years agoMerge branch 'changelog' of https://gitlab.com/krt/fdroidserver
Daniel Martí [Wed, 3 Jun 2015 13:52:01 +0000 (15:52 +0200)]
Merge branch 'changelog' of https://gitlab.com/krt/fdroidserver

8 years agoNo need to walk the entire src/main subtree in gradle apps
Daniel Martí [Wed, 3 Jun 2015 13:43:55 +0000 (15:43 +0200)]
No need to walk the entire src/main subtree in gradle apps

8 years agoAlso use proper xml parsing when retrieving string resources - #58
Daniel Martí [Wed, 3 Jun 2015 13:42:45 +0000 (15:42 +0200)]
Also use proper xml parsing when retrieving string resources - #58

8 years agoAlso use xml parsing to obtain version from AM.xml - #58
Daniel Martí [Wed, 3 Jun 2015 13:23:18 +0000 (15:23 +0200)]
Also use xml parsing to obtain version from AM.xml - #58

8 years agoUse proper AndroidManifest.xml parsing for labels - #58
Daniel Martí [Wed, 3 Jun 2015 12:35:50 +0000 (14:35 +0200)]
Use proper AndroidManifest.xml parsing for labels - #58

8 years agoRevert back to always updating Auto Name
Daniel Martí [Wed, 3 Jun 2015 12:35:31 +0000 (14:35 +0200)]
Revert back to always updating Auto Name

8 years agoRemove "Srclibs:" from srclib metadata files
Daniel Martí [Wed, 3 Jun 2015 11:51:41 +0000 (13:51 +0200)]
Remove "Srclibs:" from srclib metadata files

They are handled per build, this feature is of little help and practically
unused in master.

8 years agoAllow gpg home directory to be overridden
Ciaran Gultnieks [Tue, 2 Jun 2015 08:16:29 +0000 (09:16 +0100)]
Allow gpg home directory to be overridden

8 years agoMerge branch 'pandoc' into 'master'
Daniel Martí [Tue, 26 May 2015 13:35:13 +0000 (13:35 +0000)]
Merge branch 'pandoc' into 'master'

Add pandoc to buildserver

Closes #64.

See merge request !52

8 years agoAdd pandoc to buildserver
Boris Kraut [Sat, 23 May 2015 15:48:05 +0000 (17:48 +0200)]
Add pandoc to buildserver

8 years agolint: be more strict about redundant summaries
Daniel Martí [Fri, 22 May 2015 07:33:15 +0000 (09:33 +0200)]
lint: be more strict about redundant summaries

8 years agofix E713 test for membership should be 'not in'
Daniel Martí [Fri, 22 May 2015 07:29:51 +0000 (09:29 +0200)]
fix E713 test for membership should be 'not in'

8 years agoFormatting fix for f345b24
Ciaran Gultnieks [Fri, 15 May 2015 20:55:20 +0000 (21:55 +0100)]
Formatting fix for f345b24

8 years agoFix 'fdroid update' regression
Ciaran Gultnieks [Fri, 15 May 2015 20:36:12 +0000 (21:36 +0100)]
Fix 'fdroid update' regression

This is from MR !48. It refuses to update because there is no 'keypass'
or 'keystorepass' in the config. These shouldn't be in the config of any
properly set up existing repo in the first place. They certainly aren't
in any of mine (as a result of which, it refused to work on any of
them!)

8 years agolint: warn about extra empty lines
Daniel Martí [Fri, 15 May 2015 15:09:00 +0000 (17:09 +0200)]
lint: warn about extra empty lines

8 years agoWarn about empty categs
Daniel Martí [Fri, 15 May 2015 14:54:41 +0000 (16:54 +0200)]
Warn about empty categs