Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove dependency on luci-base, introduce gluon-web as new base for Config Mode #1007

Merged
merged 7 commits into from Feb 22, 2017

Conversation

neocturne
Copy link
Member

@neocturne neocturne commented Jan 19, 2017

luci-base is huge (> 100KB compressed), and we only use a small subset of it. LuCI base translations take up >20KB / language.

Gluon packages are converted from using luci.model.uci to uci-simple, remaining uses luci-base libraries outside of the config mode are removed.

LuCI is replaced with a stripped-down version "gluon-web" without features we don't need; in addition, it has been refactored significantly to make it more maintainable.

gluon-web has a base size of about 19KB. The total per-language overhead for all packages in the Gluon repository is less than 4KB. In total, this PR reduces the rootfs size for a typical build with en and de languages by about 140KB.

To accommodate the removal of LuCI, all luci-admin- packages have been renamed:

  • gluon-luci-admin -> gluon-web-admin
  • gluon-luci-autoupdater -> gluon-web-autoupdater
  • gluon-luci-mesh-vpn-fastd -> gluon-web-mesh-vpn-fastd
  • gluon-luci-node-role -> gluon-web-node-role
  • gluon-luci-portconfig -> gluon-web-network
  • gluon-luci-private-wifi -> gluon-web-private-wifi
  • gluon-luci-theme -> gluon-web-theme
  • gluon-luci-wifi-config -> gluon-web-wifi-config

Testing of the new config wizard/advanced settings is very welcome. The following points should be completed before merging:

  • Documentation
  • CSRF protection (the newest version of LuCI has CSRF support, but relied on rpcd for its session management; therefore this implementation has not been included in gluon-web)

@neocturne neocturne added this to the 2017.1 milestone Jan 19, 2017
@neocturne neocturne self-assigned this Jan 19, 2017
belzebub40k added a commit to freifunk-mwu/site-ffmwu that referenced this pull request Feb 8, 2017
@neocturne neocturne changed the title [WIP] Remove dependency on luci-base Remove dependency on luci-base, introduce gluon-web as new base for Config Mode Feb 8, 2017
The gluon-web package is basically a stripped-down and refactored version
of the LuCI base.
@neocturne
Copy link
Member Author

I've decided to postpone the CSRF protection and get this merged. No released version of Gluon has CSRF protection, so this isn't a regression (I'll still try to add this before Gluon 2017.1).

@neocturne neocturne merged commit 22746a2 into master Feb 22, 2017
@neocturne neocturne deleted the noluci branch February 22, 2017 09:45
adlerweb added a commit to FreifunkMYK/site-ffmyk that referenced this pull request Feb 22, 2017
belzebub40k added a commit to freifunk-mwu/site-ffmwu that referenced this pull request Feb 24, 2017
belzebub40k added a commit to freifunk-mwu/site-ffmwu that referenced this pull request Feb 28, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants