Contributions #1527

Closed
opened 2023-05-21 17:30:31 +02:00 by ustinov · 10 comments

Hi, i think i can help with some of dependency-bumping from time to time. But it would be great, if a short instruction for making helpful conributions existed (do-s, dont-s, general workflow). Or i can just start to make pull-requests.

Hi, i think i can help with some of dependency-bumping from time to time. But it would be great, if a short instruction for making helpful conributions existed (do-s, dont-s, general workflow). Or i can just start to make pull-requests.
Owner

Hi,

thanks for your offer. PR are always welcome.
I'll create the branch for 2023.5 soon.

Currently there's a lot of cleanup to do, because Michał Górny broke a lot by removing the mirror://pypi from Gentoo, affecting 2723 Ebuilds in this repo. And a lot of Issues (missing packages for 2023.5.4) are waiting in the queue.

Next, I'm currently very busy otherwise, we are replacing our oil-fired heating with a heatpump, so there's only a little time left.

Any help is very appreciated.

Hi, thanks for your offer. PR are always welcome. I'll create the branch for 2023.5 soon. Currently there's a lot of cleanup to do, because Michał Górny broke a lot by removing the mirror://pypi from Gentoo, affecting 2723 Ebuilds in this repo. And a lot of Issues (missing packages for 2023.5.4) are waiting in the queue. Next, I'm currently very busy otherwise, we are replacing our oil-fired heating with a heatpump, so there's only a little time left. Any help is very appreciated.
Owner

Heres a short overview of what I am doing when a new release approaches, I am sure there a some things that could be done better.

First, I have no hurry in adopting the early releases (.0 or .1), these often have breaking bugs and they are work, too.

I have a script checking the arriving deps for the new version, it creates tickets for missing packages, unfortunatly it does not (yet) check for already opened tickets, so there are dupes. I pick on from the queue, check for dupes, mark & close them.

As an example:
zigpy-0.55.0, i make a copy of the last release (0.54.1) to 0.55.0, open it, and check for:

  • have deps changed at upstream (https://github.com/zigpy/zigpy), in this case setup.py
  • does it already use pypi.eclass
  • does it use DISTUTILS_USE_PEP517

Then:

  • check for unused older releases and remove them (this time I removed two old major releases, so I can remove more old Ebuilds, hoping that I have to fix not so many mirror://pypi
  • rebuild Manifest
  • run pkgcheck scan, fix problems
  • compile with tests (if they have any)

and if compile succeeds:

  • commit it to a dev branch

There are some examples for WF in the Gentoo wiki:

If you have questions, please ask.

Heres a short overview of what I am doing when a new release approaches, I am sure there a some things that could be done better. First, I have no hurry in adopting the early releases (.0 or .1), these often have breaking bugs and they are work, too. I have a script checking the arriving deps for the new version, it creates tickets for missing packages, unfortunatly it does not (yet) check for already opened tickets, so there are dupes. I pick on from the queue, check for dupes, mark & close them. As an example: zigpy-0.55.0, i make a copy of the last release (0.54.1) to 0.55.0, open it, and check for: * have deps changed at upstream (https://github.com/zigpy/zigpy), in this case setup.py * does it already use pypi.eclass * does it use DISTUTILS_USE_PEP517 Then: * check for unused older releases and remove them (this time I removed two old major releases, so I can remove more old Ebuilds, hoping that I have to fix not so many `mirror://pypi` * rebuild Manifest * run pkgcheck scan, fix problems * compile with tests (if they have any) and if compile succeeds: * commit it to a dev branch There are some examples for WF in the Gentoo wiki: * https://wiki.gentoo.org/wiki/Standard_git_workflow * https://wiki.gentoo.org/wiki/Gentoo_git_workflow If you have questions, please ask.
Author

Thanks, it is quite clear - i run a small overlay myself (which was also a bit broken by said mirror://pypi deprecation). The question was mostly about quality standarts (and those are covered well in previous message)

Thanks, it is quite clear - i run a small overlay myself (which was also a bit broken by said mirror://pypi deprecation). The question was mostly about quality standarts (and those are covered well in previous message)
Author

Is ssh-cloning from git.edevau.net somehow restricted?

Is ssh-cloning from git.edevau.net somehow restricted?
Owner

Currently, yes, it's an internal Webserver, only https is forwarded.

I can add a forwarding, do you have a fixed IP?

Currently, yes, it's an internal Webserver, only https is forwarded. I can add a forwarding, do you have a fixed IP?
Owner

AH. Did not see tha last question. Sorry. Screen's too small ;-)

The thing I am currently thinking about is what to do with modules which have tests on their Gihub repo, many of them do not include the tests in the SDIST.

For the 'big' Ebuild I currently pull both (the SDIST an GH) and merge the tests.

Currently I am busy enough getting all modules filed in Ebuilds, so it's OK (for the most modules) if they emerge without error.

I have shellcheck running against the Ebuilds, and I run the most recent pkgcheck.

Just gave you read permission to https://git.edevau.net/onkelbeh/ha-tools, this is a set of scripts I use, I am afraid that most scripts won't work without the database (also behind a firewall). But this could be solved if you have a fixed IP :-) ... otherwise we can use a tunnel.

AH. Did not see tha last question. Sorry. Screen's too small ;-) The thing I am currently thinking about is what to do with modules which have tests on their Gihub repo, many of them do not include the tests in the SDIST. For the 'big' Ebuild I currently pull both (the SDIST an GH) and merge the tests. Currently I am busy enough getting all modules filed in Ebuilds, so it's OK (for the most modules) if they emerge without error. I have shellcheck running against the Ebuilds, and I run the most recent pkgcheck. Just gave you read permission to https://git.edevau.net/onkelbeh/ha-tools, this is a set of scripts I use, I am afraid that most scripts won't work without the database (also behind a firewall). But this could be solved if you have a fixed IP :-) ... otherwise we can use a tunnel.

Hello!
Do you have some visibility on when you will have something back on track?

Hello! Do you have some visibility on when you will have something back on track?
Owner

Nope, sorry, not yet, thanks to M. Gorny who removed the mirror part from python Eclass with any prior notice, so all Ebuilds are to be reworked.

They run into a:
UnknownMirror: version 2022.10.4: unknown mirror 'pypi' from URI 'mirror://pypi/v/velbus-aio/velbus-aio-2022.10.4.tar.gz'
MissingUri: version 2022.12.0: unfetchable file: 'velbus-aio-2022.12.0.tar.gz‘

2023.4.6-r1 should be compilable, but you have to use a Gentoo Repo from March.

I’m just 2/3 through, currently (a-z) at the letter „m“

… and unfortunately currently quite busy otherwise, it’s festival season, so many weekends working, and I have to swap the heating system in my house before autumn…

I decided to skip some majors and jump to 2023.7 for cleanup/development.

Think fixing this all will take some more days, perhaps weeks, feel free to help :-)

Work is done in https://git.edevau.net/onkelbeh/HomeAssistantRepository/src/branch/2023.5.4

Nope, sorry, not yet, thanks to M. Gorny who removed the mirror part from python Eclass with any prior notice, so all Ebuilds are to be reworked. They run into a: UnknownMirror: version 2022.10.4: unknown mirror 'pypi' from URI 'mirror://pypi/v/velbus-aio/velbus-aio-2022.10.4.tar.gz' MissingUri: version 2022.12.0: unfetchable file: 'velbus-aio-2022.12.0.tar.gz‘ 2023.4.6-r1 should be compilable, but you have to use a Gentoo Repo from March. I’m just 2/3 through, currently (a-z) at the letter „m“ … and unfortunately currently quite busy otherwise, it’s festival season, so many weekends working, and I have to swap the heating system in my house before autumn… I decided to skip some majors and jump to 2023.7 for cleanup/development. Think fixing this all will take some more days, perhaps weeks, feel free to help :-) Work is done in https://git.edevau.net/onkelbeh/HomeAssistantRepository/src/branch/2023.5.4

Thanks!
Yeah, I decided to upgrade to 2023.7 (I'm still running 2023.3) when I discovered the horror. I didn't see any message about pipy

I will switch to the branch and try to help.
From what I've seen, it is mainly modifying all the ebuilds that uses mirror://pipy and use instead the pipy eclass in the inherit line, right?

I'm asking because I failed to get the ebuild to download the package for most ebuilds (the eclass generate a wrong url, replacing dash by underscores)
One package failed to compile (wrong S variable value)
And, ha-av does not compile against ffmpeg 6 (easy fix, they release a new ha-av 10.1.0 if I remember properly that works)

By the way, I'm having regular down times from your server, several minutes every 3min or so...

Thanks! Yeah, I decided to upgrade to 2023.7 (I'm still running 2023.3) when I discovered the horror. I didn't see any message about pipy I will switch to the branch and try to help. From what I've seen, it is mainly modifying all the ebuilds that uses mirror://pipy and use instead the pipy eclass in the inherit line, right? I'm asking because I failed to get the ebuild to download the package for most ebuilds (the eclass generate a wrong url, replacing dash by underscores) One package failed to compile (wrong S variable value) And, ha-av does not compile against ffmpeg 6 (easy fix, they release a new ha-av 10.1.0 if I remember properly that works) By the way, I'm having regular down times from your server, several minutes every 3min or so...
Owner

Yep, here are my frequently used strings from the editor:

DISTUTILS_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
inherit distutils-r1 pypi

PYPI_PN=${PN/-/.}

DISTUTILS_USE_PEP517=poetry
DISTUTILS_USE_PEP517=setuptools
inherit distutils-r1 pypi

SRC_URI="$(pypi_sdist_url --no-normalize "${MY_PN}")"
SRC_URI="$(pypi_sdist_url "${PN}" "${PV}" ".zip")"


drop olds, change SRC_URI
DISTUTILS_USE_PEP517 value
# pkgcheck  scan -k-BadDescription,-ExcessiveLineLength --color=true
# pkgcheck  scan -k-BadDescription,-ExcessiveLineLength --color=true | grep MissingUri | cut -d ":" -f4- | sort
Yep, here are my frequently used strings from the editor: ``` DISTUTILS_USE_PEP517=setuptools PYPI_NO_NORMALIZE=1 inherit distutils-r1 pypi PYPI_PN=${PN/-/.} DISTUTILS_USE_PEP517=poetry DISTUTILS_USE_PEP517=setuptools inherit distutils-r1 pypi SRC_URI="$(pypi_sdist_url --no-normalize "${MY_PN}")" SRC_URI="$(pypi_sdist_url "${PN}" "${PV}" ".zip")" drop olds, change SRC_URI DISTUTILS_USE_PEP517 value ``` ```bash # pkgcheck scan -k-BadDescription,-ExcessiveLineLength --color=true # pkgcheck scan -k-BadDescription,-ExcessiveLineLength --color=true | grep MissingUri | cut -d ":" -f4- | sort ```
onkelbeh added the
Integration: zha
label 2023-12-17 09:47:43 +01:00
Sign in to join this conversation.
No Label
Bug
Bump/Update
Cleanup
Dupe
Enhancement
File Collision
Forked
help wanted
Integration: accuweather
Integration: acmeda
Integration: acomax
Integration: adax
Integration: adguard
Integration: ads
Integration: aemet
Integration: aep_ohio
Integration: aep_texas
Integration: airgradient
Integration: airq
Integration: airthings
Integration: airthings_ble
Integration: airtouch5
Integration: airzone
Integration: airzone_cloud
Integration: aladdin_connect
Integration: alarmdecoder
Integration: amazon_polly
Integration: amberelectric
Integration: ambient_network
Integration: ambient_station
Integration: analytics_insights
Integration: androidtv_remote
Integration: anel_pwrctrl
Integration: anova
Integration: aosmith
Integration: apache_kafka
Integration: apcupsd
Integration: appalachianpower
Integration: apprise
Integration: aprilaire
Integration: aprs
Integration: apsystems
Integration: aranet
Integration: arcam_fmj
Integration: arris_tg2492lg
Integration: arve
Integration: aseko_pool_live
Integration: asuswrt
Integration: august
Integration: aws
Integration: axis
Integration: azure_data_explorer
Integration: azure_devops
Integration: backup
Integration: bang_olufsen
Integration: blebox
Integration: blink
Integration: bluetooth
Integration: blue_current
Integration: bmw_connected_drive
Integration: bosch_shc
Integration: bring
Integration: broadlink
Integration: brother
Integration: brottsplatskartan
Integration: bsblan
Integration: bthome
Integration: buienradar
Integration: caldav
Integration: cast
Integration: ccm15
Integration: cloud
Integration: cloudflare
Integration: co2signal
Integration: coautilities
Integration: comelit
Integration: conversation
Integration: crownstone
Integration: debugpy
Integration: deconz
Integration: deluge
Integration: denonavr
Integration: devialet
Integration: devolo_home_control
Integration: dhcp
Integration: discord
Integration: discovergy
Integration: dlna_dmr
Integration: dlna_dms
Integration: dnsip
Integration: doods
Integration: drop_connect
Integration: dsmr
Integration: duotecno
Integration: duquesne_light
Integration: dwd_weather_warnings
Integration: easyenergy
Integration: ecobee
Integration: ecoforest
Integration: ecovacs
Integration: ecowitt
Integration: efergy
Integration: electrasmart
Integration: elgato
Integration: elkm1
Integration: elmax
Integration: elvia
Integration: emulated_roku
Integration: energenie_power_sockets
Integration: energyzero
Integration: enigma2
Integration: enphase_envoy
Integration: environment_canada
Integration: envisalink
Integration: epic_games_store
Integration: epion
Integration: eq3btsmart
Integration: esphome
Integration: evohome
Integration: ffmpeg
Integration: fibaro
Integration: fjaraskupan
Integration: flexit_bacnet
Integration: flipr
Integration: forecast_solar
Integration: foscam
Integration: fritzbox
Integration: fronius
Integration: frontend
Integration: fujitsu_anywair
Integration: fyta
Integration: garages_amsterdam
Integration: gardena_bluetooth
Integration: gdacs
Integration: generic
Integration: geonetnz_quakes
Integration: geonetnz_volcano
Integration: geo_json_events
Integration: geo_rss_events
Integration: gios
Integration: github
Integration: glances
Integration: goodwe
Integration: google
Integration: google_assistant_sdk
Integration: google_generative_ai_conversation
Integration: govee_ble
Integration: govee_light_local
Integration: growatt_server
Integration: habitica
Integration: hive
Integration: hko
Integration: holiday
Integration: homekit_controller
Integration: homematicip_cloud
Integration: homewizard
Integration: honeywell
Integration: hp_ilo
Integration: html5
Integration: http
Integration: hue
Integration: hunterdouglas_powerview
Integration: husqvarna_automower
Integration: huum
Integration: hydrawise
Integration: iammeter
Integration: ibeacon
Integration: idasen_desk
Integration: ign_sismologia
Integration: image_upload
Integration: imgw_pib
Integration: indianamichiganpower
Integration: insteon
Integration: iotawatt
Integration: ipp
Integration: isal
Integration: islamic_prayer_times
Integration: jewish_calendar
Integration: justnimbus
Integration: jvc_projector
Integration: kef
Integration: kentuckypower
Integration: keymitt_ble
Integration: knx
Integration: kostal_plenticore
Integration: krispol
Integration: lamarzocco
Integration: launch_library
Integration: ld2410_ble
Integration: leaone
Integration: led_ble
Integration: lg_netcast
Integration: life360
Integration: lifx
Integration: linear_garage_door
Integration: litejet
Integration: litterrobot
Integration: local_calendar
Integration: local_todo
Integration: loqed
Integration: luci
Integration: lupusec
Integration: lutron
Integration: lutron_caseta
Integration: madeco
Integration: mastodon
Integration: matrix
Integration: matter
Integration: media_extractor
Integration: melcloud
Integration: met
Integration: meteoclimatic
Integration: meteo_france
Integration: metoffice
Integration: microbees
Integration: mill
Integration: minecraft_server
Integration: modbus
Integration: monzo
Integration: mopeka
Integration: motionblinds_ble
Integration: motionmount
Integration: motion_blinds
Integration: myuplink
Integration: nam
Integration: neato
Integration: nest
Integration: netatmo
Integration: nexia
Integration: nextbus
Integration: nextcloud
Integration: nextdns
Integration: nibe_heatpump
Integration: nmap_tracker
Integration: nobo_hub
Integration: norway_air
Integration: notion
Integration: nsw_rural_fire_service_feed
Integration: nuki
Integration: numato
Integration: nut
Integration: nws
Integration: ollama
Integration: oncue
Integration: ondilo_ico
Integration: openai_conversation
Integration: openerz
Integration: opentherm_gw
Integration: openweathermap
Integration: open_meteo
Integration: opower
Integration: orvibo
Integration: osoenergy
Integration: otbr
Integration: ourgroceries
Integration: overkiz
Integration: ovo_energy
Integration: p1_monitor
Integration: pegel_online
Integration: permobil
Integration: philips_js
Integration: plex
Integration: plugwise
Integration: powerwall
Integration: private_ble_device
Integration: proxy
Integration: prusalink
Integration: psoklahoma
Integration: pulseaudio_loopback
Integration: pure_energie
Integration: pvoutput
Integration: qingping
Integration: qld_bushfire
Integration: qrcode
Integration: rabbitair
Integration: rachio
Integration: radio_browser
Integration: rainbird
Integration: rainforest_raven
Integration: rainmachine
Integration: rdw
Integration: recorder
Integration: refoss
Integration: renault
Integration: renson
Integration: reolink
Integration: rflink
Integration: rfxtrx
Integration: ridwell
Integration: ring
Integration: risco
Integration: roborock
Integration: roku
Integration: romy
Integration: roomba
Integration: roon
Integration: route53
Integration: rova
Integration: rympro
Integration: samsam
Integration: samsungtv
Integration: sanix
Integration: schlage
Integration: scl
Integration: screenlogic
Integration: sensibo
Integration: sensorpush
Integration: sentry
Integration: seven_segments
Integration: sfr_box
Integration: shelly
Integration: sighthound
Integration: signal_messenger
Integration: simplisafe
Integration: sleepiq
Integration: slimproto
Integration: smarttub
Integration: smart_meter_texas
Integration: smud
Integration: snmp
Integration: solaredge
Integration: solax
Integration: songpal
Integration: sonos
Integration: sql
Integration: squeezebox
Integration: ssdp
Integration: subaru
Integration: suez_water
Integration: sunweg
Integration: surepetcare
Integration: swepco
Integration: swiss_public_transport
Integration: switchbot
Integration: switchbot_cloud
Integration: switcher_kis
Integration: synology_dsm
Integration: system_bridge
Integration: tado
Integration: tailwind
Integration: tankerkoenig
Integration: tasmota
Integration: technove
Integration: tedee
Integration: telegram_bot
Integration: temper
Integration: tensorflow
Integration: teslemetry
Integration: tessie
Integration: thermobeacon
Integration: thermopro
Integration: thethingsnetwork
Integration: thread
Integration: tile
Integration: tolo
Integration: totalconnect
Integration: tplink
Integration: tplink_omada
Integration: tplink_tapo
Integration: traccar
Integration: traccar_server
Integration: trafikverket_camera
Integration: trafikverket_ferry
Integration: trafikverket_train
Integration: trafikverket_weatherstation
Integration: transmission
Integration: tuya
Integration: twentemilieu
Integration: unifi
Integration: unifiprotect
Integration: unifi_direct
Integration: upb
Integration: upcloud
Integration: upc_connect
Integration: upnp
Integration: usgs_earthquakes_feed
Integration: utility_meter
Integration: v2c
Integration: vallox
Integration: valve
Integration: velbus
Integration: velux
Integration: vicare
Integration: vilfo
Integration: vlc_telnet
Integration: vodafone_station
Integration: vulcan
Integration: wallbox
Integration: waqi
Integration: waze_travel_time
Integration: weatherflow_cloud
Integration: weatherkit
Integration: webmin
Integration: webostv
Integration: wemo
Integration: whirlpool
Integration: withings
Integration: wled
Integration: wolflink
Integration: workday
Integration: wyoming
Integration: xiaomi_ble
Integration: yalexs_ble
Integration: yeelight
Integration: yolink
Integration: youless
Integration: zamg
Integration: zeroconf
Integration: zha
Integration: zhong_hong
Integration: zondergas
Integration: zoneminder
Integration: zwave_js
invalid
New Integration
Python 3.11
Python 3.12
question
requirement
Requirement vanished
slot-conflict
Source Incomplete
SrcDir ${S} mismatch
TopLevelViolation
Update required
virtual
wontfix
No Milestone
No Assignees
3 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: onkelbeh/HomeAssistantRepository#1527
No description provided.