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

the upgrade process mangle weewx.conf #217

Closed
matthewwall opened this issue Feb 18, 2017 · 8 comments
Closed

the upgrade process mangle weewx.conf #217

matthewwall opened this issue Feb 18, 2017 · 8 comments
Assignees

Comments

@matthewwall
Copy link
Contributor

doing a setup.py or deb or rpm upgrade inserts sections and comments into the weewx.conf file.

the upgrade process should make an old conf file compatible with the new release, but it should not reorganize the config file, add comments to the config where there were none before, or add sections other than those necessary for compatibility.

examples of bad behavior:

  • sections added to StdReport section: StandardReport, FTP, Rsync
  • comments inserted into every single stanza
  • top-level stanzas rearranged
@tkeffer
Copy link
Contributor

tkeffer commented Mar 18, 2017

How do we square this with issue #18?

@matthewwall
Copy link
Contributor Author

the only truly bad behavior is adding sections that were not there before, for example StandardReport, FTP, Rsync on an installation that has only custom reports. inserting those stanzas results in unexpected, sometimes broken behavior.

"do no harm by inserting stanzas" should apply to every stanza. for example, if a user does not have a StdTimeSync stanza, the update process should not insert one.

the only exception would be if a stanza is required for new, required functionality (e.g., DatabaseTypes)

the re-insertion of comments and re-arranging of stanzas does not affect functionality, so that should be ok (i find it irritating because i remove all the comments from my production configs, and i use a specific order that is different from the weewx default, but i'm a corner case).

@tkeffer
Copy link
Contributor

tkeffer commented Mar 21, 2017

OK, although I'm a bit fuzzy about what constitutes a "new" stanza. At one point, StdTimeSync was a new service.

@tkeffer tkeffer self-assigned this Nov 21, 2017
@tkeffer
Copy link
Contributor

tkeffer commented Aug 16, 2018

The way it works now, any section that is missing in the user's weewx.conf file, but present in the incoming distribution weewx.conf file, is injected during the merge process. So, if a user takes [[StandardReport]] out of his config file, the merge process just puts it right back in.

We could get rid of this behavior, but there are a few "new" sections that truly need to be injected. This includes

StdRegistry
AWEKAS
WOW
RSYNC
StdWXCalculate
Calculations

They didn't exist before, so we depend on this merge process to include them.

So, it seems like the simplest solution is to regard these as "special" sections and inject them. If a section is not on this list, it does not get injected.

That means, of course, that the "special" list has to be maintained, but that doesn't seem like too big a burden.

Sound good?

@tkeffer
Copy link
Contributor

tkeffer commented Sep 6, 2018

OK, I think I've fixed this as of commit 27bda02

The strategy is to no longer do a merge. Instead, each upgrade adds or changes whatever it needs in weewx.conf. The only thing that gets merged is the final version number.

This means there is now a lot of logic in the upgrade code, but I think I've captured everything.

It needs to be tested thoroughly!

@gjr80
Copy link
Contributor

gjr80 commented Sep 6, 2018

It needs to be tested thoroughly!

Yes, and I suspect its not fixed yet. Just went to install latest on a clean Stretch VM and received the following (included the whole thing from ./setup.py onwards, trace at the bottom). Wondered what was going on at first, I run a bash script to install from master and thought this sounded like your install work but that is in development. Checked my script and it turned out I had set it to install development and forgot to change it back. At least that makes a bit more sense.

./setup.py install
running install
running build
running build_py
creating build
creating build/lib.linux-x86_64-2.7
copying bin/daemon.py -> build/lib.linux-x86_64-2.7
creating build/lib.linux-x86_64-2.7/schemas
copying bin/schemas/wview.py -> build/lib.linux-x86_64-2.7/schemas
copying bin/schemas/__init__.py -> build/lib.linux-x86_64-2.7/schemas
creating build/lib.linux-x86_64-2.7/user
copying bin/user/extensions.py -> build/lib.linux-x86_64-2.7/user
copying bin/user/__init__.py -> build/lib.linux-x86_64-2.7/user
creating build/lib.linux-x86_64-2.7/weecfg
copying bin/weecfg/database.py -> build/lib.linux-x86_64-2.7/weecfg
copying bin/weecfg/config.py -> build/lib.linux-x86_64-2.7/weecfg
copying bin/weecfg/__init__.py -> build/lib.linux-x86_64-2.7/weecfg
copying bin/weecfg/extension.py -> build/lib.linux-x86_64-2.7/weecfg
creating build/lib.linux-x86_64-2.7/weedb
copying bin/weedb/sqlite.py -> build/lib.linux-x86_64-2.7/weedb
copying bin/weedb/__init__.py -> build/lib.linux-x86_64-2.7/weedb
copying bin/weedb/mysql.py -> build/lib.linux-x86_64-2.7/weedb
creating build/lib.linux-x86_64-2.7/weeimport
copying bin/weeimport/weeimport.py -> build/lib.linux-x86_64-2.7/weeimport
copying bin/weeimport/wuimport.py -> build/lib.linux-x86_64-2.7/weeimport
copying bin/weeimport/csvimport.py -> build/lib.linux-x86_64-2.7/weeimport
copying bin/weeimport/cumulusimport.py -> build/lib.linux-x86_64-2.7/weeimport
copying bin/weeimport/__init__.py -> build/lib.linux-x86_64-2.7/weeimport
creating build/lib.linux-x86_64-2.7/weeplot
copying bin/weeplot/utilities.py -> build/lib.linux-x86_64-2.7/weeplot
copying bin/weeplot/genplot.py -> build/lib.linux-x86_64-2.7/weeplot
copying bin/weeplot/__init__.py -> build/lib.linux-x86_64-2.7/weeplot
creating build/lib.linux-x86_64-2.7/weeutil
copying bin/weeutil/weeutil.py -> build/lib.linux-x86_64-2.7/weeutil
copying bin/weeutil/Moon.py -> build/lib.linux-x86_64-2.7/weeutil
copying bin/weeutil/ftpupload.py -> build/lib.linux-x86_64-2.7/weeutil
copying bin/weeutil/Sun.py -> build/lib.linux-x86_64-2.7/weeutil
copying bin/weeutil/__init__.py -> build/lib.linux-x86_64-2.7/weeutil
copying bin/weeutil/rsyncupload.py -> build/lib.linux-x86_64-2.7/weeutil
creating build/lib.linux-x86_64-2.7/weewx
copying bin/weewx/units.py -> build/lib.linux-x86_64-2.7/weewx
copying bin/weewx/engine.py -> build/lib.linux-x86_64-2.7/weewx
copying bin/weewx/accum.py -> build/lib.linux-x86_64-2.7/weewx
copying bin/weewx/uwxutils.py -> build/lib.linux-x86_64-2.7/weewx
copying bin/weewx/filegenerator.py -> build/lib.linux-x86_64-2.7/weewx
copying bin/weewx/wxservices.py -> build/lib.linux-x86_64-2.7/weewx
copying bin/weewx/tags.py -> build/lib.linux-x86_64-2.7/weewx
copying bin/weewx/manager.py -> build/lib.linux-x86_64-2.7/weewx
copying bin/weewx/crc16.py -> build/lib.linux-x86_64-2.7/weewx
copying bin/weewx/wxmanager.py -> build/lib.linux-x86_64-2.7/weewx
copying bin/weewx/reportengine.py -> build/lib.linux-x86_64-2.7/weewx
copying bin/weewx/__init__.py -> build/lib.linux-x86_64-2.7/weewx
copying bin/weewx/cheetahgenerator.py -> build/lib.linux-x86_64-2.7/weewx
copying bin/weewx/almanac.py -> build/lib.linux-x86_64-2.7/weewx
copying bin/weewx/qc.py -> build/lib.linux-x86_64-2.7/weewx
copying bin/weewx/wxformulas.py -> build/lib.linux-x86_64-2.7/weewx
copying bin/weewx/wxengine.py -> build/lib.linux-x86_64-2.7/weewx
copying bin/weewx/imagegenerator.py -> build/lib.linux-x86_64-2.7/weewx
copying bin/weewx/restx.py -> build/lib.linux-x86_64-2.7/weewx
copying bin/weewx/station.py -> build/lib.linux-x86_64-2.7/weewx
creating build/lib.linux-x86_64-2.7/weewx/drivers
copying bin/weewx/drivers/acurite.py -> build/lib.linux-x86_64-2.7/weewx/drivers
copying bin/weewx/drivers/fousb.py -> build/lib.linux-x86_64-2.7/weewx/drivers
copying bin/weewx/drivers/ultimeter.py -> build/lib.linux-x86_64-2.7/weewx/drivers
copying bin/weewx/drivers/ws23xx.py -> build/lib.linux-x86_64-2.7/weewx/drivers
copying bin/weewx/drivers/te923.py -> build/lib.linux-x86_64-2.7/weewx/drivers
copying bin/weewx/drivers/wmr100.py -> build/lib.linux-x86_64-2.7/weewx/drivers
copying bin/weewx/drivers/ws28xx.py -> build/lib.linux-x86_64-2.7/weewx/drivers
copying bin/weewx/drivers/wmr9x8.py -> build/lib.linux-x86_64-2.7/weewx/drivers
copying bin/weewx/drivers/simulator.py -> build/lib.linux-x86_64-2.7/weewx/drivers
copying bin/weewx/drivers/ws1.py -> build/lib.linux-x86_64-2.7/weewx/drivers
copying bin/weewx/drivers/wmr200.py -> build/lib.linux-x86_64-2.7/weewx/drivers
copying bin/weewx/drivers/__init__.py -> build/lib.linux-x86_64-2.7/weewx/drivers
copying bin/weewx/drivers/cc3000.py -> build/lib.linux-x86_64-2.7/weewx/drivers
copying bin/weewx/drivers/vantage.py -> build/lib.linux-x86_64-2.7/weewx/drivers
copying bin/weewx/drivers/wmr300.py -> build/lib.linux-x86_64-2.7/weewx/drivers
running build_scripts
creating build/scripts-2.7
copying and adjusting bin/wee_config -> build/scripts-2.7
copying and adjusting bin/wee_database -> build/scripts-2.7
copying and adjusting bin/wee_debug -> build/scripts-2.7
copying and adjusting bin/wee_device -> build/scripts-2.7
copying and adjusting bin/wee_extension -> build/scripts-2.7
copying and adjusting bin/wee_import -> build/scripts-2.7
copying and adjusting bin/wee_reports -> build/scripts-2.7
copying and adjusting bin/weewxd -> build/scripts-2.7
copying and adjusting bin/wunderfixer -> build/scripts-2.7
changing mode of build/scripts-2.7/wee_config from 644 to 755
changing mode of build/scripts-2.7/wee_database from 644 to 755
changing mode of build/scripts-2.7/wee_debug from 644 to 755
changing mode of build/scripts-2.7/wee_device from 644 to 755
changing mode of build/scripts-2.7/wee_extension from 644 to 755
changing mode of build/scripts-2.7/wee_import from 644 to 755
changing mode of build/scripts-2.7/wee_reports from 644 to 755
changing mode of build/scripts-2.7/weewxd from 644 to 755
changing mode of build/scripts-2.7/wunderfixer from 644 to 755
running install_lib
creating /home/weewx
creating /home/weewx/bin
creating /home/weewx/bin/weecfg
copying build/lib.linux-x86_64-2.7/weecfg/database.py -> /home/weewx/bin/weecfg
copying build/lib.linux-x86_64-2.7/weecfg/config.py -> /home/weewx/bin/weecfg
copying build/lib.linux-x86_64-2.7/weecfg/__init__.py -> /home/weewx/bin/weecfg
copying build/lib.linux-x86_64-2.7/weecfg/extension.py -> /home/weewx/bin/weecfg
creating /home/weewx/bin/schemas
copying build/lib.linux-x86_64-2.7/schemas/wview.py -> /home/weewx/bin/schemas
copying build/lib.linux-x86_64-2.7/schemas/__init__.py -> /home/weewx/bin/schemas
creating /home/weewx/bin/weeutil
copying build/lib.linux-x86_64-2.7/weeutil/weeutil.py -> /home/weewx/bin/weeutil
copying build/lib.linux-x86_64-2.7/weeutil/Moon.py -> /home/weewx/bin/weeutil
copying build/lib.linux-x86_64-2.7/weeutil/ftpupload.py -> /home/weewx/bin/weeutil
copying build/lib.linux-x86_64-2.7/weeutil/Sun.py -> /home/weewx/bin/weeutil
copying build/lib.linux-x86_64-2.7/weeutil/__init__.py -> /home/weewx/bin/weeutil
copying build/lib.linux-x86_64-2.7/weeutil/rsyncupload.py -> /home/weewx/bin/weeutil
creating /home/weewx/bin/weeimport
copying build/lib.linux-x86_64-2.7/weeimport/weeimport.py -> /home/weewx/bin/weeimport
copying build/lib.linux-x86_64-2.7/weeimport/wuimport.py -> /home/weewx/bin/weeimport
copying build/lib.linux-x86_64-2.7/weeimport/csvimport.py -> /home/weewx/bin/weeimport
copying build/lib.linux-x86_64-2.7/weeimport/cumulusimport.py -> /home/weewx/bin/weeimport
copying build/lib.linux-x86_64-2.7/weeimport/__init__.py -> /home/weewx/bin/weeimport
creating /home/weewx/bin/user
copying build/lib.linux-x86_64-2.7/user/extensions.py -> /home/weewx/bin/user
copying build/lib.linux-x86_64-2.7/user/__init__.py -> /home/weewx/bin/user
copying build/lib.linux-x86_64-2.7/daemon.py -> /home/weewx/bin
creating /home/weewx/bin/weewx
copying build/lib.linux-x86_64-2.7/weewx/units.py -> /home/weewx/bin/weewx
copying build/lib.linux-x86_64-2.7/weewx/engine.py -> /home/weewx/bin/weewx
copying build/lib.linux-x86_64-2.7/weewx/accum.py -> /home/weewx/bin/weewx
copying build/lib.linux-x86_64-2.7/weewx/uwxutils.py -> /home/weewx/bin/weewx
creating /home/weewx/bin/weewx/drivers
copying build/lib.linux-x86_64-2.7/weewx/drivers/acurite.py -> /home/weewx/bin/weewx/drivers
copying build/lib.linux-x86_64-2.7/weewx/drivers/fousb.py -> /home/weewx/bin/weewx/drivers
copying build/lib.linux-x86_64-2.7/weewx/drivers/ultimeter.py -> /home/weewx/bin/weewx/drivers
copying build/lib.linux-x86_64-2.7/weewx/drivers/ws23xx.py -> /home/weewx/bin/weewx/drivers
copying build/lib.linux-x86_64-2.7/weewx/drivers/te923.py -> /home/weewx/bin/weewx/drivers
copying build/lib.linux-x86_64-2.7/weewx/drivers/wmr100.py -> /home/weewx/bin/weewx/drivers
copying build/lib.linux-x86_64-2.7/weewx/drivers/ws28xx.py -> /home/weewx/bin/weewx/drivers
copying build/lib.linux-x86_64-2.7/weewx/drivers/wmr9x8.py -> /home/weewx/bin/weewx/drivers
copying build/lib.linux-x86_64-2.7/weewx/drivers/simulator.py -> /home/weewx/bin/weewx/drivers
copying build/lib.linux-x86_64-2.7/weewx/drivers/ws1.py -> /home/weewx/bin/weewx/drivers
copying build/lib.linux-x86_64-2.7/weewx/drivers/wmr200.py -> /home/weewx/bin/weewx/drivers
copying build/lib.linux-x86_64-2.7/weewx/drivers/__init__.py -> /home/weewx/bin/weewx/drivers
copying build/lib.linux-x86_64-2.7/weewx/drivers/cc3000.py -> /home/weewx/bin/weewx/drivers
copying build/lib.linux-x86_64-2.7/weewx/drivers/vantage.py -> /home/weewx/bin/weewx/drivers
copying build/lib.linux-x86_64-2.7/weewx/drivers/wmr300.py -> /home/weewx/bin/weewx/drivers
copying build/lib.linux-x86_64-2.7/weewx/filegenerator.py -> /home/weewx/bin/weewx
copying build/lib.linux-x86_64-2.7/weewx/wxservices.py -> /home/weewx/bin/weewx
copying build/lib.linux-x86_64-2.7/weewx/tags.py -> /home/weewx/bin/weewx
copying build/lib.linux-x86_64-2.7/weewx/manager.py -> /home/weewx/bin/weewx
copying build/lib.linux-x86_64-2.7/weewx/crc16.py -> /home/weewx/bin/weewx
copying build/lib.linux-x86_64-2.7/weewx/wxmanager.py -> /home/weewx/bin/weewx
copying build/lib.linux-x86_64-2.7/weewx/reportengine.py -> /home/weewx/bin/weewx
copying build/lib.linux-x86_64-2.7/weewx/__init__.py -> /home/weewx/bin/weewx
copying build/lib.linux-x86_64-2.7/weewx/cheetahgenerator.py -> /home/weewx/bin/weewx
copying build/lib.linux-x86_64-2.7/weewx/almanac.py -> /home/weewx/bin/weewx
copying build/lib.linux-x86_64-2.7/weewx/qc.py -> /home/weewx/bin/weewx
copying build/lib.linux-x86_64-2.7/weewx/wxformulas.py -> /home/weewx/bin/weewx
copying build/lib.linux-x86_64-2.7/weewx/wxengine.py -> /home/weewx/bin/weewx
copying build/lib.linux-x86_64-2.7/weewx/imagegenerator.py -> /home/weewx/bin/weewx
copying build/lib.linux-x86_64-2.7/weewx/restx.py -> /home/weewx/bin/weewx
copying build/lib.linux-x86_64-2.7/weewx/station.py -> /home/weewx/bin/weewx
creating /home/weewx/bin/weedb
copying build/lib.linux-x86_64-2.7/weedb/sqlite.py -> /home/weewx/bin/weedb
copying build/lib.linux-x86_64-2.7/weedb/__init__.py -> /home/weewx/bin/weedb
copying build/lib.linux-x86_64-2.7/weedb/mysql.py -> /home/weewx/bin/weedb
creating /home/weewx/bin/weeplot
copying build/lib.linux-x86_64-2.7/weeplot/utilities.py -> /home/weewx/bin/weeplot
copying build/lib.linux-x86_64-2.7/weeplot/genplot.py -> /home/weewx/bin/weeplot
copying build/lib.linux-x86_64-2.7/weeplot/__init__.py -> /home/weewx/bin/weeplot
byte-compiling /home/weewx/bin/weecfg/database.py to database.pyc
byte-compiling /home/weewx/bin/weecfg/config.py to config.pyc
byte-compiling /home/weewx/bin/weecfg/__init__.py to __init__.pyc
byte-compiling /home/weewx/bin/weecfg/extension.py to extension.pyc
byte-compiling /home/weewx/bin/schemas/wview.py to wview.pyc
byte-compiling /home/weewx/bin/schemas/__init__.py to __init__.pyc
byte-compiling /home/weewx/bin/weeutil/weeutil.py to weeutil.pyc
byte-compiling /home/weewx/bin/weeutil/Moon.py to Moon.pyc
byte-compiling /home/weewx/bin/weeutil/ftpupload.py to ftpupload.pyc
byte-compiling /home/weewx/bin/weeutil/Sun.py to Sun.pyc
byte-compiling /home/weewx/bin/weeutil/__init__.py to __init__.pyc
byte-compiling /home/weewx/bin/weeutil/rsyncupload.py to rsyncupload.pyc
byte-compiling /home/weewx/bin/weeimport/weeimport.py to weeimport.pyc
byte-compiling /home/weewx/bin/weeimport/wuimport.py to wuimport.pyc
byte-compiling /home/weewx/bin/weeimport/csvimport.py to csvimport.pyc
byte-compiling /home/weewx/bin/weeimport/cumulusimport.py to cumulusimport.pyc
byte-compiling /home/weewx/bin/weeimport/__init__.py to __init__.pyc
byte-compiling /home/weewx/bin/user/extensions.py to extensions.pyc
byte-compiling /home/weewx/bin/user/__init__.py to __init__.pyc
byte-compiling /home/weewx/bin/daemon.py to daemon.pyc
byte-compiling /home/weewx/bin/weewx/units.py to units.pyc
byte-compiling /home/weewx/bin/weewx/engine.py to engine.pyc
byte-compiling /home/weewx/bin/weewx/accum.py to accum.pyc
byte-compiling /home/weewx/bin/weewx/uwxutils.py to uwxutils.pyc
byte-compiling /home/weewx/bin/weewx/drivers/acurite.py to acurite.pyc
byte-compiling /home/weewx/bin/weewx/drivers/fousb.py to fousb.pyc
byte-compiling /home/weewx/bin/weewx/drivers/ultimeter.py to ultimeter.pyc
byte-compiling /home/weewx/bin/weewx/drivers/ws23xx.py to ws23xx.pyc
byte-compiling /home/weewx/bin/weewx/drivers/te923.py to te923.pyc
byte-compiling /home/weewx/bin/weewx/drivers/wmr100.py to wmr100.pyc
byte-compiling /home/weewx/bin/weewx/drivers/ws28xx.py to ws28xx.pyc
byte-compiling /home/weewx/bin/weewx/drivers/wmr9x8.py to wmr9x8.pyc
byte-compiling /home/weewx/bin/weewx/drivers/simulator.py to simulator.pyc
byte-compiling /home/weewx/bin/weewx/drivers/ws1.py to ws1.pyc
byte-compiling /home/weewx/bin/weewx/drivers/wmr200.py to wmr200.pyc
byte-compiling /home/weewx/bin/weewx/drivers/__init__.py to __init__.pyc
byte-compiling /home/weewx/bin/weewx/drivers/cc3000.py to cc3000.pyc
byte-compiling /home/weewx/bin/weewx/drivers/vantage.py to vantage.pyc
byte-compiling /home/weewx/bin/weewx/drivers/wmr300.py to wmr300.pyc
byte-compiling /home/weewx/bin/weewx/filegenerator.py to filegenerator.pyc
byte-compiling /home/weewx/bin/weewx/wxservices.py to wxservices.pyc
byte-compiling /home/weewx/bin/weewx/tags.py to tags.pyc
byte-compiling /home/weewx/bin/weewx/manager.py to manager.pyc
byte-compiling /home/weewx/bin/weewx/crc16.py to crc16.pyc
byte-compiling /home/weewx/bin/weewx/wxmanager.py to wxmanager.pyc
byte-compiling /home/weewx/bin/weewx/reportengine.py to reportengine.pyc
byte-compiling /home/weewx/bin/weewx/__init__.py to __init__.pyc
byte-compiling /home/weewx/bin/weewx/cheetahgenerator.py to cheetahgenerator.pyc
byte-compiling /home/weewx/bin/weewx/almanac.py to almanac.pyc
byte-compiling /home/weewx/bin/weewx/qc.py to qc.pyc
byte-compiling /home/weewx/bin/weewx/wxformulas.py to wxformulas.pyc
byte-compiling /home/weewx/bin/weewx/wxengine.py to wxengine.pyc
byte-compiling /home/weewx/bin/weewx/imagegenerator.py to imagegenerator.pyc
byte-compiling /home/weewx/bin/weewx/restx.py to restx.pyc
byte-compiling /home/weewx/bin/weewx/station.py to station.pyc
byte-compiling /home/weewx/bin/weedb/sqlite.py to sqlite.pyc
byte-compiling /home/weewx/bin/weedb/__init__.py to __init__.pyc
byte-compiling /home/weewx/bin/weedb/mysql.py to mysql.pyc
byte-compiling /home/weewx/bin/weeplot/utilities.py to utilities.pyc
byte-compiling /home/weewx/bin/weeplot/genplot.py to genplot.pyc
byte-compiling /home/weewx/bin/weeplot/__init__.py to __init__.pyc
running install_scripts
copying build/scripts-2.7/wee_reports -> /home/weewx/bin
copying build/scripts-2.7/wee_config -> /home/weewx/bin
copying build/scripts-2.7/wunderfixer -> /home/weewx/bin
copying build/scripts-2.7/wee_device -> /home/weewx/bin
copying build/scripts-2.7/wee_import -> /home/weewx/bin
copying build/scripts-2.7/wee_extension -> /home/weewx/bin
copying build/scripts-2.7/wee_database -> /home/weewx/bin
copying build/scripts-2.7/wee_debug -> /home/weewx/bin
copying build/scripts-2.7/weewxd -> /home/weewx/bin
changing mode of /home/weewx/bin/wee_reports to 755
changing mode of /home/weewx/bin/wee_config to 755
changing mode of /home/weewx/bin/wunderfixer to 755
changing mode of /home/weewx/bin/wee_device to 755
changing mode of /home/weewx/bin/wee_import to 755
changing mode of /home/weewx/bin/wee_extension to 755
changing mode of /home/weewx/bin/wee_database to 755
changing mode of /home/weewx/bin/wee_debug to 755
changing mode of /home/weewx/bin/weewxd to 755
running install_data
copying LICENSE.txt -> /home/weewx/
copying README -> /home/weewx/
Enter a brief description of the station, such as its location.  For example:
Santa's Workshop, North Pole
description: Narangba Test - Expendable testing
Specify altitude, with units 'foot' or 'meter'.  For example:
35, foot
12, meter
altitude [0, meter]: 46, meter
Specify latitude in decimal degrees, negative for south.
latitude [90.000]: -27.185857
Specify longitude in decimal degrees, negative for west.
longitude [0.000]: 152.956995
Indicate the preferred units for display: 'metric' or 'us'
units [metric]: 
Installed drivers include:
  0) ?               (weewx.drivers.acurite)   No module named usb
  1) ?               (weewx.drivers.cc3000)    No module named serial
  2) ?               (weewx.drivers.fousb)     No module named usb
  3) Simulator       (weewx.drivers.simulator) 
  4) ?               (weewx.drivers.te923)     No module named usb
  5) ?               (weewx.drivers.ultimeter) No module named serial
  6) Vantage         (weewx.drivers.vantage)   
  7) ?               (weewx.drivers.wmr100)    No module named usb
  8) ?               (weewx.drivers.wmr200)    No module named usb
  9) ?               (weewx.drivers.wmr300)    No module named usb
 10) ?               (weewx.drivers.wmr9x8)    No module named serial
 11) WS1             (weewx.drivers.ws1)       
 12) WS23xx          (weewx.drivers.ws23xx)    
 13) ?               (weewx.drivers.ws28xx)    No module named usb
choose a driver: 3
Traceback (most recent call last):
  File "./setup.py", line 649, in <module>
    'util/udev/rules.d/ws28xx.rules'])
  File "/usr/lib/python2.7/distutils/core.py", line 151, in setup
    dist.run_commands()
  File "/usr/lib/python2.7/distutils/dist.py", line 953, in run_commands
    self.run_command(cmd)
  File "/usr/lib/python2.7/distutils/dist.py", line 972, in run_command
    cmd_obj.run()
  File "/usr/lib/python2.7/distutils/command/install.py", line 613, in run
    self.run_command(cmd_name)
  File "/usr/lib/python2.7/distutils/cmd.py", line 326, in run_command
    self.distribution.run_command(command)
  File "/usr/lib/python2.7/distutils/dist.py", line 972, in run_command
    cmd_obj.run()
  File "./setup.py", line 154, in run
    install_data.run(self)
  File "/usr/lib/python2.7/distutils/command/install_data.py", line 74, in run
    (out, _) = self.copy_file(data, dir)
  File "./setup.py", line 137, in copy_file
    rv = self.process_config_file(f, install_dir, **kwargs)
  File "./setup.py", line 198, in process_config_file
    weecfg.reorder_to_ref(config_dict)
AttributeError: 'module' object has no attribute 'reorder_to_ref'

@tkeffer
Copy link
Contributor

tkeffer commented Sep 6, 2018

Oops. Try it now.

@gjr80
Copy link
Contributor

gjr80 commented Sep 6, 2018

development installs fine now.

@tkeffer tkeffer closed this as completed Sep 6, 2018
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

No branches or pull requests

3 participants