New set of questions for FESCo candidates?
by Zbigniew Jędrzejewski-Szmek
Dear all,
the semiannual exercise is upon us. FESCo candidates must submit an
"interview" in which they answer a set of questions (but can also add whatever they want).
The question whether we should have a new set of questions needs to be answered.
Currently we have the following:
Mandatory Question #1: Describe some of the important technical issues
you foresee affecting the Fedora community. What insight do you bring
to these issues?
Mandatory Question #2: What objectives or goals should FESCo focus on
to help keep Fedora on the cutting edge of open source development?
Mandatory Question #3: What are the areas of the distribution and our
processes that, in your opinion, need improvement the most? Do you
have any ideas how FESCo would be able to help in those "trouble
spots"?
Please answer with any proposals. If there is sufficient support for
change, I'll gather a list and submit this for some kind of poll
(details to be figured out...).
Zbyszek
2 years
Fedora pagure confusion wrt EPEL
by Michael Schwendt
I don't do EPEL packaging. I never signed up as an "owner" of EPEL packages.
I don't want to be the new default owner of EPEL bugzilla tickets.
Where may I be able to stop this mess?
2 years
python-pep8 is orphaned
by iliana weller
Hello,
I've orphaned python-pep8. pep8 was renamed to pycodestyle in 2016; it
received its last release in 2017. It should be removed from Fedora in a
future release.
I unfortunately don't have time to proceed with the full retirement
process myself. If somebody would like to pick it up:
https://fedoraproject.org/wiki/Orphaned_package_that_need_new_maintainers...
$ dnf repoquery --whatrequires python2-pep8
python2-autopep8-0:1.2.4-9.fc29.noarch
python2-pytest-pep8-0:1.0.6-15.fc29.noarch
python2-spyder-0:3.3.1-3.fc29.noarch
$ dnf repoquery --whatrequires python3-pep8
python3-autopep8-0:1.2.4-9.fc29.noarch
python3-hacking-0:1.1.0-3.fc29.noarch
python3-pytest-pep8-0:1.0.6-15.fc29.noarch
python3-spyder-0:3.3.1-3.fc29.noarch
See also https://bugzilla.redhat.com/show_bug.cgi?id=1667200's dependent
bugs.
(Please CC me on replies that need my attention.)
--
iliana weller <ilianaw(a)buttslol.net>
2 years
Fedora 32 FTBFS packages to be orphaned in 1 week
by Miro Hrončok
According to the Fedora's Fails To Build From Source policy:
https://docs.fedoraproject.org/en-US/fesco/Fails_to_build_from_source_Fai...
The following packages will be orphaned on Monday 2020-04-06.
Their F32FTBFS Bugzillas are in NEW state for the defined period of time and
they have the necessary reminders. They were not successfully rebuilt in Fedora
32 since the Bugzillas were opened.
If you can fix your package to build, perform a build in koji, and either create
an update in bodhi, or close the relevant bug without creating an update, if
updating is not appropriate. If you are working on a fix, set the status to
ASSIGNED to acknowledge this and prevent the orphaning.
Oprhaning is a easily revertible nondesctructiove action.
Only packages orphaned for 6+ weeks will be retired (removed from) Fedora
rawhide (i.e. not form Fedora 32).
Maintainers by package:
0ad ignatenkobrain pcpa pwalter
CPUFreqUtility f1ash
GConf2 alexl caillon caolanm johnp mbarnes rhughes rstrode ssp walters
GREYCstoration tnorth
SDL2_gfx ignatenkobrain lkundrak
abcm2ps gemi
adapta-gtk-theme atim
afpfs-ng lkundrak
aircrack-ng ichavero
antlr4 gil jkastner lef mizdebsk sdgathman
apache-commons-dbutils mizdebsk spike
apache-commons-email mizdebsk spike
apache-commons-jcs cquad jjelen
apanov-edrip-fonts frixxon nim
apbs rathann timfenn
arduino giallu patches thozza
artha roshansingh
astrometry lupinix
astrometry-tycho2 lupinix
audacity dtimms gemi moezroy
avalon-framework jerboaa jjelen mizdebsk
avr-gdb giallu tnorth trondd
bless drago01
bmake lbazan
booth jpokorny
bygfoot hguemar
cassandra-java-driver acaringi hhorak jjanco
castor arobinso lef
catimg ignatenkobrain
cdpr stahnma
ckermit brouhaha
classloader-leak-test-framework acaringi praiskup
clips timn
cmyktool duffy
cog bunnyapocalypse
coriander dajt timn
cp2k deji rathann tomspur
dahdi-tools bruno itamarjp jsmith
dateshift fab
dibbler ihrachyshka
dieharder jhladky
docco jamielinux patches
drbd mhayden
dsi dbrasher
echolinux lucilanga
echoping ixs
eclipse-avr bubeck
eclipse-egit-github mbooth
eclipse-launchbar mbooth sopotc
eclipse-m2e-core galileo mbooth mizdebsk
eclipse-mylyn arobinso jjohnstn kdaniel mbooth rgrunber
eclipse-photran akurtakov orion
eclipse-ptp jjohnstn kdaniel orion
eclipse-pydev jjohnstn mbooth
eclipse-remote mbooth
eclipse-subclipse kdaniel mbooth
eclipse-testng mbooth
eclipse-tm-terminal mbooth
eclipse-webtools galileo mbooth
elpa rathann
emacs-mmm amdunn
etcd avesh cypret eparis gscrivano jchaloup lsm5 strigazi walters
fcoe-utils cleech
fedora-jam-kde-theme eeickmeyer jvlomax
flatbuffers avsej
foma vpv
forbidden-apis jvanek zzambers
freeDiameter filiperosset
fts andreamanzi simonm
gabedit itamarjp rathann
game-music-emu kvolny moezroy
gauche gemi salimma
gcolor2 cwickert
gdigi mchehab
geronimo-jcdi-1.0-api jjelen lef
ggz-gtk-client bruno pwalter
git-cola moceap ohaessler
gluegen2 jamesturner246
gmpc adrian
gnomad2 snirkel
gnomint verdurin
goaccess cicku echevemaster
golang-github-influxdata-flux eclipseo
golang-github-influxdata-influxdb eclipseo
golang-github-nats-io-streaming eclipseo
golang-github-opencontainers-runc eclipseo
golang-k8s-kubernetes eclipseo
golang-k8s-legacy-cloud-providers eclipseo
golang-vitess eclipseo
gplugin ignatenkobrain
gpsdrive nphilipp
graphite2 moceap vanoudt
grsync cwickert
gtick nphilipp renich
gtkdialog moceap
gwget cwickert
hcc tstellar
hfsplusutils dwmw2
hovercraft ishcherb ralph
hping3 pwouters
hugo athoscr
igt-gpu-tools airlied lyude
imageinfo brendt
java-vash jgu
jaxb2-maven-plugin jjelen lef
jboss-jsf-2.2-api jjelen lef
jchart2d martinkg
jfsutils fcami itamarjp
jlatexmath jamesturner246
jline3 skitt
jruby lef mmorsi msrb vondruch
js-html5shiv xavierb
js-jquery-jqplot xavierb
js-respond xavierb
js-zlib jamielinux patches zbyszek
keybinder3 tingping
krita heliocastro rdieter
ktechlab filiperosset
lde hubbitus
libaccounts-glib dvratil heliocastro jreznik
libacpi slankes
libccp4 timfenn
libgit2_0.27 ignatenkobrain
libnih sadmac
libopensync-plugin-gnokii awjb cheese
libpri itamarjp jsmith
liquibase awood dgoodwin
lldpad cleech
lterm blackfile
maven-release guidograzioli jcapik
maven-stage-plugin huwang yyang
mboxgrep ixs
mbrowse volter
megaglest pcpa
memtester lucilanga
metrics-reporter-config acaringi hhorak
minetest bookwar ignatenkobrain ohaessler
ming rathann
mipv6-daemon tgraf
mnemosyne itamarjp jpopelka rathann
musique lbazan skytux
mx4j dwalluck fnasser
mycila-pom sopotc
mydns itamarjp
ncrack fab rebus smilner
nebula fab
ngircd ixs kevin orion
nip2 agoode bgilbert
nodejs-async-limiter jsmith
nodejs-base64-arraybuffer jsmith
nodejs-bcryptjs jsmith
nodejs-bunyan jsmith
nodejs-chai-cheerio jsmith
nodejs-chai-fs jsmith
nodejs-cheerio jsmith
nodejs-cjson jsmith
nodejs-collections jamielinux patches
nodejs-commonmark jsmith
nodejs-connect jamielinux patches
nodejs-convert-source-map jsmith
nodejs-cookie-session jsmith
nodejs-cors jsmith
nodejs-css-select jsmith
nodejs-csscomb-core jsmith
nodejs-csslint jsmith
nodejs-default-resolution jsmith
nodejs-defence jsmith
nodejs-del jsmith
nodejs-delete jsmith
nodejs-engine-dot-io-client martinkg
nodejs-engine-dot-io-parser jsmith
nodejs-escope jsmith
nodejs-espower jsmith
nodejs-esprima jsmith patches
nodejs-esprima-fb pnemade
nodejs-esprima-harmony-jscs jsmith
nodejs-expect jsmith
nodejs-fake jsmith
nodejs-find-cache-dir jsmith
nodejs-find-up jsmith sergiomb
nodejs-flat-cache jsmith
nodejs-fs-promise jsmith
nodejs-git-remote-origin-url jsmith
nodejs-gitconfiglocal jsmith
nodejs-globby jsmith
nodejs-gnode jsmith
nodejs-grunt-contrib-clean jamielinux patches
nodejs-grunt-contrib-csslint jsmith
nodejs-grunt-init jamielinux patches piotrp
nodejs-grunt-lib-contrib jamielinux patches
nodejs-highlight-js jamielinux patches
nodejs-htmlparser2 jsmith
nodejs-i jamielinux patches
nodejs-import-local jsmith
nodejs-is-arrow-function jsmith
nodejs-is-error jsmith
nodejs-jasmine-growl-reporter jamielinux patches
nodejs-json-parse-helpfulerror zvetlik
nodejs-lcov-parse jsmith
nodejs-load-grunt-tasks patches sergiomb
nodejs-locate-path jsmith sergiomb
nodejs-loophole jsmith
nodejs-ltx jamielinux patches
nodejs-make-dir jsmith
nodejs-mock-bin jsmith
nodejs-mock-git jsmith
nodejs-netmask jsmith
nodejs-ng-classify jsmith
nodejs-object-dot-entries jsmith
nodejs-object-dot-pick jsmith
nodejs-only-shallow jsmith
nodejs-opal-runtime jsmith
nodejs-passport-oauth2-client-password jsmith
nodejs-path-type jsmith
nodejs-pkg-dir jsmith
nodejs-pkg-up jsmith sergiomb
nodejs-q jamielinux patches
nodejs-q-io jamielinux patches
nodejs-qunit-extras jsmith
nodejs-read-json-sync jsmith
nodejs-redent jsmith
nodejs-replace-ext jsmith
nodejs-ret jsmith
nodejs-revalidator jamielinux patches
nodejs-select-hose jsmith
nodejs-snockets jamielinux patches
nodejs-source-map-support jsmith
nodejs-strong-log-transformer jsmith
nodejs-temp-write jsmith
nodejs-tern-cordovajs galileo vjancik zvetlik
nodejs-to-absolute-glob jsmith
nodejs-underscore-dot-logger jamielinux patches
nodejs-unique-stream jsmith
nodejs-url2 jamielinux patches
nodejs-vasync jsmith
nodejs-watchit jamielinux patches
nodejs-winston jamielinux patches piotrp
nodejs-write jsmith
nodejs-xmlhttprequest-ssl jsmith
nyquist gemi
ocitools jchaloup
open-amp jsmith
opendchub roshansingh
orangefs martinbrandenburg
oshinko-cli rimolive
packETH fab lystor rebus
pam_url herlo icon
pangox-compat pnemade
parfait agerstmayr lberk mgoodwin nathans
paris-traceroute fab
perl-Syntax-Highlight-Perl6 jplesnik ppisar
perl-Test-mysqld dfateyev
pgmodeler hubbitus
php-onelogin-php-saml jhogarth
pidgin-musictracker hpejakle
piglit ignatenkobrain
postgres-decoderbufs jpechane panovotn
prusa-slicer churchyard tibbs
publican jfearn rlandmann
publican-jboss rlandmann
pwmd fab
python-bashate apevec chandankumar
python-django-post_office lbazan
python-flask-cors frantisekz
python-hug hguemar
python-poppler-qt4 bsjones
python-robosignatory abompard ralph
python-rpi-gpio fab kushal
quake2 fredlima itamarjp
rasdaemon arozansk mchehab
rcssserver hedayat
reactfx jonny
reg cverna
repmgr mcyprian
rescu jonny
rfdump fab
rigsofrods hubbitus
rsyntaxtextarea giallu
rubygem-actionview jaruga pvalena
rubygem-addressable mmorsi spstarr tdawson
rubygem-aws-sdk-core valtri
rubygem-hitimes pvalena
rubygem-memfs athoscr
rubygem-mini_magick pvalena
rubygem-mixlib-log jdunn
rubygem-rack-attack valtri
rubygem-rspec-collection_matchers pvalena
rubygem-ruby2ruby mmorsi
rubygem-ruby_parser mmorsi
rubygem-rubygems-mirror pvalena
rubygem-websocket mmorsi
rubygem-yell valtri
saoimage lkundrak mmahut
scamp lupinix
scilab jamesturner246
scrot mathstuf
sheepdog bonzini ke4qqq
si-units brolley lberk mgoodwin nathans
simh lucilanga
slim aarem hubbitus
snapraid brouhaha
soundtracker eeickmeyer jcapik ndim
spatialite-gui volter
sscep tscherf
starcal hedayat
stream-lib lef willb
subtitleeditor mso
sugar-castle callkalpa chimosky snavin
sugar-countries callkalpa chimosky
sugar-flip callkalpa chimosky
sugar-flipsticks callkalpa chimosky pbrobinson tuxbrewr
sugar-fractionbounce callkalpa chimosky
sugar-getiabooks callkalpa chimosky pbrobinson tuxbrewr
sugar-infoslicer callkalpa chimosky pbrobinson tuxbrewr
sugar-kuku callkalpa chimosky snavin
sugar-labyrinth callkalpa chimosky pbrobinson
sugar-locosugar callkalpa chimosky
sugar-nutrition callkalpa chimosky
sugar-playgo callkalpa chimosky pbrobinson tuxbrewr
sugar-pukllanapac callkalpa chimosky
sugar-recall callkalpa chimosky
sugar-ruler callkalpa chimosky
sugar-srilanka callkalpa chimosky snavin
sugar-starchart callkalpa chimosky snavin
sugar-view-slides callkalpa chimosky pbrobinson tuxbrewr
sugar-visualmatch callkalpa chimosky
sugar-xoeditor callkalpa chimosky snavin
sugar-xoirc callkalpa chimosky pbrobinson tuxbrewr
sugar-yupana callkalpa chimosky snavin
svnkit dbhole jfilak mbooth
syslinux javierm pjones
tcpjunk fab
teg cheese
telepathy-rakia bpepple
termy-qt ewalsh
tftp jsynacek
the_silver_searcher kenjiro
tinyfugue kellin psabata
tlssled fab
tomahawk comzeradd magnu5 rdieter
torcs pwalter thias
transmission-remote-gtk kumarpraveen tingping
tuxanci lkundrak
typesafe-config gil willb
ubertooth avsej
uom-lib brolley lberk mgoodwin nathans
uom-se brolley lberk mgoodwin nathans
uom-systems brolley lberk mgoodwin nathans
utop avsej
uwsgi kad
vifm mathstuf
warsow pwalter
waypipe lkundrak
wlc fale ignatenkobrain zvetlik
wmacpi sham1
wmmon raorn
wmweather+ sham1
wpewebkit bunnyapocalypse
wput itamarjp
x11vnc hubbitus
xneur hubbitus
xorg-x11-drv-qxl airlied alon elmarco jwrdegoede ssp teuf
xwota lucilanga
yaru-theme atim
yersinia fab
zimg slaanesh
Packages by maintainer:
aarem slim
abompard python-robosignatory
acaringi cassandra-java-driver classloader-leak-test-framework
metrics-reporter-config
adrian gmpc
agerstmayr parfait
agoode nip2
airlied igt-gpu-tools xorg-x11-drv-qxl
akurtakov eclipse-photran
alexl GConf2
alon xorg-x11-drv-qxl
amdunn emacs-mmm
andreamanzi fts
apevec python-bashate
arobinso castor eclipse-mylyn
arozansk rasdaemon
athoscr hugo rubygem-memfs
atim adapta-gtk-theme yaru-theme
avesh etcd
avsej flatbuffers ubertooth utop
awjb libopensync-plugin-gnokii
awood liquibase
bgilbert nip2
blackfile lterm
bonzini sheepdog
bookwar minetest
bpepple telepathy-rakia
brendt imageinfo
brolley si-units uom-lib uom-se uom-systems
brouhaha ckermit snapraid
bruno dahdi-tools ggz-gtk-client
bsjones python-poppler-qt4
bubeck eclipse-avr
bunnyapocalypse cog wpewebkit
caillon GConf2
callkalpa sugar-castle sugar-countries sugar-flip sugar-flipsticks
sugar-fractionbounce sugar-getiabooks sugar-infoslicer sugar-kuku
sugar-labyrinth sugar-locosugar sugar-nutrition sugar-playgo sugar-pukllanapac
sugar-recall sugar-ruler sugar-srilanka sugar-starchart sugar-view-slides
sugar-visualmatch sugar-xoeditor sugar-xoirc sugar-yupana
caolanm GConf2
chandankumar python-bashate
cheese libopensync-plugin-gnokii teg
chimosky sugar-castle sugar-countries sugar-flip sugar-flipsticks
sugar-fractionbounce sugar-getiabooks sugar-infoslicer sugar-kuku
sugar-labyrinth sugar-locosugar sugar-nutrition sugar-playgo sugar-pukllanapac
sugar-recall sugar-ruler sugar-srilanka sugar-starchart sugar-view-slides
sugar-visualmatch sugar-xoeditor sugar-xoirc sugar-yupana
churchyard prusa-slicer
cicku goaccess
cleech fcoe-utils lldpad
comzeradd tomahawk
cquad apache-commons-jcs
cverna reg
cwickert gcolor2 grsync gwget
cypret etcd
dajt coriander
dbhole svnkit
dbrasher dsi
deji cp2k
dfateyev perl-Test-mysqld
dgoodwin liquibase
drago01 bless
dtimms audacity
duffy cmyktool
dvratil libaccounts-glib
dwalluck mx4j
dwmw2 hfsplusutils
echevemaster goaccess
eclipseo golang-github-influxdata-flux golang-github-influxdata-influxdb
golang-github-nats-io-streaming golang-github-opencontainers-runc
golang-k8s-kubernetes golang-k8s-legacy-cloud-providers golang-vitess
eeickmeyer fedora-jam-kde-theme soundtracker
elmarco xorg-x11-drv-qxl
eparis etcd
ewalsh termy-qt
f1ash CPUFreqUtility
fab dateshift ncrack nebula packETH paris-traceroute pwmd python-rpi-gpio
rfdump tcpjunk tlssled yersinia
fale wlc
fcami jfsutils
filiperosset freeDiameter ktechlab
fnasser mx4j
frantisekz python-flask-cors
fredlima quake2
frixxon apanov-edrip-fonts
galileo eclipse-m2e-core eclipse-webtools nodejs-tern-cordovajs
gemi abcm2ps audacity gauche nyquist
giallu arduino avr-gdb rsyntaxtextarea
gil antlr4 typesafe-config
gscrivano etcd
guidograzioli maven-release
hedayat rcssserver starcal
heliocastro krita libaccounts-glib
herlo pam_url
hguemar bygfoot python-hug
hhorak cassandra-java-driver metrics-reporter-config
hpejakle pidgin-musictracker
hubbitus lde pgmodeler rigsofrods slim x11vnc xneur
huwang maven-stage-plugin
ichavero aircrack-ng
icon pam_url
ignatenkobrain 0ad SDL2_gfx catimg gplugin libgit2_0.27 minetest piglit wlc
ihrachyshka dibbler
ishcherb hovercraft
itamarjp dahdi-tools gabedit jfsutils libpri mnemosyne mydns quake2 wput
ixs echoping mboxgrep ngircd
jamesturner246 gluegen2 jlatexmath scilab
jamielinux docco js-zlib nodejs-collections nodejs-connect
nodejs-grunt-contrib-clean nodejs-grunt-init nodejs-grunt-lib-contrib
nodejs-highlight-js nodejs-i nodejs-jasmine-growl-reporter nodejs-ltx nodejs-q
nodejs-q-io nodejs-revalidator nodejs-snockets nodejs-underscore-dot-logger
nodejs-url2 nodejs-watchit nodejs-winston
jaruga rubygem-actionview
javierm syslinux
jcapik maven-release soundtracker
jchaloup etcd ocitools
jdunn rubygem-mixlib-log
jerboaa avalon-framework
jfearn publican
jfilak svnkit
jgu java-vash
jhladky dieharder
jhogarth php-onelogin-php-saml
jjanco cassandra-java-driver
jjelen apache-commons-jcs avalon-framework geronimo-jcdi-1.0-api
jaxb2-maven-plugin jboss-jsf-2.2-api
jjohnstn eclipse-mylyn eclipse-ptp eclipse-pydev
jkastner antlr4
johnp GConf2
jonny reactfx rescu
jpechane postgres-decoderbufs
jplesnik perl-Syntax-Highlight-Perl6
jpokorny booth
jpopelka mnemosyne
jreznik libaccounts-glib
jsmith dahdi-tools libpri nodejs-async-limiter nodejs-base64-arraybuffer
nodejs-bcryptjs nodejs-bunyan nodejs-chai-cheerio nodejs-chai-fs nodejs-cheerio
nodejs-cjson nodejs-commonmark nodejs-convert-source-map nodejs-cookie-session
nodejs-cors nodejs-css-select nodejs-csscomb-core nodejs-csslint
nodejs-default-resolution nodejs-defence nodejs-del nodejs-delete
nodejs-engine-dot-io-parser nodejs-escope nodejs-espower nodejs-esprima
nodejs-esprima-harmony-jscs nodejs-expect nodejs-fake nodejs-find-cache-dir
nodejs-find-up nodejs-flat-cache nodejs-fs-promise nodejs-git-remote-origin-url
nodejs-gitconfiglocal nodejs-globby nodejs-gnode nodejs-grunt-contrib-csslint
nodejs-htmlparser2 nodejs-import-local nodejs-is-arrow-function nodejs-is-error
nodejs-lcov-parse nodejs-locate-path nodejs-loophole nodejs-make-dir
nodejs-mock-bin nodejs-mock-git nodejs-netmask nodejs-ng-classify
nodejs-object-dot-entries nodejs-object-dot-pick nodejs-only-shallow
nodejs-opal-runtime nodejs-passport-oauth2-client-password nodejs-path-type
nodejs-pkg-dir nodejs-pkg-up nodejs-qunit-extras nodejs-read-json-sync
nodejs-redent nodejs-replace-ext nodejs-ret nodejs-select-hose
nodejs-source-map-support nodejs-strong-log-transformer nodejs-temp-write
nodejs-to-absolute-glob nodejs-unique-stream nodejs-vasync nodejs-write
nodejs-xmlhttprequest-ssl open-amp
jsynacek tftp
jvanek forbidden-apis
jvlomax fedora-jam-kde-theme
jwrdegoede xorg-x11-drv-qxl
kad uwsgi
kdaniel eclipse-mylyn eclipse-ptp eclipse-subclipse
ke4qqq sheepdog
kellin tinyfugue
kenjiro the_silver_searcher
kevin ngircd
kumarpraveen transmission-remote-gtk
kushal python-rpi-gpio
kvolny game-music-emu
lbazan bmake musique python-django-post_office
lberk parfait si-units uom-lib uom-se uom-systems
lef antlr4 castor geronimo-jcdi-1.0-api jaxb2-maven-plugin
jboss-jsf-2.2-api jruby stream-lib
lkundrak SDL2_gfx afpfs-ng saoimage tuxanci waypipe
lsm5 etcd
lucilanga echolinux memtester simh xwota
lupinix astrometry astrometry-tycho2 scamp
lystor packETH
lyude igt-gpu-tools
magnu5 tomahawk
martinbrandenburg orangefs
martinkg jchart2d nodejs-engine-dot-io-client
mathstuf scrot vifm
mbarnes GConf2
mbooth eclipse-egit-github eclipse-launchbar eclipse-m2e-core eclipse-mylyn
eclipse-pydev eclipse-remote eclipse-subclipse eclipse-testng
eclipse-tm-terminal eclipse-webtools svnkit
mchehab gdigi rasdaemon
mcyprian repmgr
mgoodwin parfait si-units uom-lib uom-se uom-systems
mhayden drbd
mizdebsk antlr4 apache-commons-dbutils apache-commons-email avalon-framework
eclipse-m2e-core
mmahut saoimage
mmorsi jruby rubygem-addressable rubygem-ruby2ruby rubygem-ruby_parser
rubygem-websocket
moceap git-cola graphite2 gtkdialog
moezroy audacity game-music-emu
mso subtitleeditor
msrb jruby
nathans parfait si-units uom-lib uom-se uom-systems
ndim soundtracker
nim apanov-edrip-fonts
nphilipp gpsdrive gtick
ohaessler git-cola minetest
orion eclipse-photran eclipse-ptp ngircd
panovotn postgres-decoderbufs
patches arduino docco js-zlib nodejs-collections nodejs-connect
nodejs-esprima nodejs-grunt-contrib-clean nodejs-grunt-init
nodejs-grunt-lib-contrib nodejs-highlight-js nodejs-i
nodejs-jasmine-growl-reporter nodejs-load-grunt-tasks nodejs-ltx nodejs-q
nodejs-q-io nodejs-revalidator nodejs-snockets nodejs-underscore-dot-logger
nodejs-url2 nodejs-watchit nodejs-winston
pbrobinson sugar-flipsticks sugar-getiabooks sugar-infoslicer sugar-labyrinth
sugar-playgo sugar-view-slides sugar-xoirc
pcpa 0ad megaglest
piotrp nodejs-grunt-init nodejs-winston
pjones syslinux
pnemade nodejs-esprima-fb pangox-compat
ppisar perl-Syntax-Highlight-Perl6
praiskup classloader-leak-test-framework
psabata tinyfugue
pvalena rubygem-actionview rubygem-hitimes rubygem-mini_magick
rubygem-rspec-collection_matchers rubygem-rubygems-mirror
pwalter 0ad ggz-gtk-client torcs warsow
pwouters hping3
ralph hovercraft python-robosignatory
raorn wmmon
rathann apbs cp2k elpa gabedit ming mnemosyne
rdieter krita tomahawk
rebus ncrack packETH
renich gtick
rgrunber eclipse-mylyn
rhughes GConf2
rimolive oshinko-cli
rlandmann publican publican-jboss
roshansingh artha opendchub
rstrode GConf2
sadmac libnih
salimma gauche
sdgathman antlr4
sergiomb nodejs-find-up nodejs-load-grunt-tasks nodejs-locate-path nodejs-pkg-up
sham1 wmacpi wmweather+
simonm fts
skitt jline3
skytux musique
slaanesh zimg
slankes libacpi
smilner ncrack
snavin sugar-castle sugar-kuku sugar-srilanka sugar-starchart sugar-xoeditor
sugar-yupana
snirkel gnomad2
sopotc eclipse-launchbar mycila-pom
spike apache-commons-dbutils apache-commons-email
spstarr rubygem-addressable
ssp GConf2 xorg-x11-drv-qxl
stahnma cdpr
strigazi etcd
tdawson rubygem-addressable
teuf xorg-x11-drv-qxl
tgraf mipv6-daemon
thias torcs
thozza arduino
tibbs prusa-slicer
timfenn apbs libccp4
timn clips coriander
tingping keybinder3 transmission-remote-gtk
tnorth GREYCstoration avr-gdb
tomspur cp2k
trondd avr-gdb
tscherf sscep
tstellar hcc
tuxbrewr sugar-flipsticks sugar-getiabooks sugar-infoslicer sugar-playgo
sugar-view-slides sugar-xoirc
valtri rubygem-aws-sdk-core rubygem-rack-attack rubygem-yell
vanoudt graphite2
verdurin gnomint
vjancik nodejs-tern-cordovajs
volter mbrowse spatialite-gui
vondruch jruby
vpv foma
walters GConf2 etcd
willb stream-lib typesafe-config
xavierb js-html5shiv js-jquery-jqplot js-respond
yyang maven-stage-plugin
zbyszek js-zlib
zvetlik nodejs-json-parse-helpfulerror nodejs-tern-cordovajs wlc
zzambers forbidden-apis
--
Miro Hrončok on behalf of the policy
2 years
Proposal to enable spec file preprocessing step before srpm build
by clime
Hello Fedora people!
I would like to offer a solution for dynamic changelog and release
generation and potentially more.
Intro
------
The solution employs a new type of macros, which can be placed into an
rpm spec file and afterward parsed by preproc utility
(https://pagure.io/rpkg-util/blob/master/f/preproc/preproc) which
executes the macros (by using bash interpreter) and replaces the
occurrences of the macros in the original file with standard output of
those macros.
The main use of those macros is intended to be reading git metadata
and using it to automatically generate rpm fields like Name, Release,
or %changelog but the macros are, in the end, a turing-complete tool
so they can be potentially used to do more than that (if desired).
The tags for those macros are {{{ and }}} and a header of an example
spec file could then look like this:
Name: {{{ git_dir_name }}}
Version: 1.18
Summary: Remove old packages from rpm-md repository
Release: {{{ git_dir_release_branched }}}
The `git_dir_name` and `git_dir_release_branched` keywords are bash
functions that already implement some logic for automatic generation
of package name (from git repository name) and release (from commit
and tag history), respectively. There is also `git_dir_changelog`
macro to generate a changelog from content of annotated tags.
This proposal, however, is not about usage of those particular macro
functions (this can be discussed later as well as the usage of
annotated tags in particular) but only about usage of the new macro
class {{{ ... }}} recognized by the preproc utility.
The reason why we need this new macro class and we couldn't rely just
on shell expansion already offered by rpm is that %(…) (the shell
expansion rpm tag) gets carried over verbatim into the spec file which
is stored inside a built source rpm. If the code in such tag relied on
git metadata it would work only when the srpm is originally built from
dist-git sources but later when the source rpm gets rebuilt (e.g.
internally in mock), the code would fail because at that point, the
git metadata is already missing (they are not included in srpms).
Therefore we need a new type of macros in a spec file that, when
evaluated, are replaced with their stdout before the spec file is used
to build an srpm.
Implementation
---------------------
I have some packages in reviews and ready for a review to provide the
building stones. These are:
https://bugzilla.redhat.com/show_bug.cgi?id=1809644 (preproc - the preprocessor)
https://bugzilla.redhat.com/show_bug.cgi?id=1811432 (rpkg-macros -
basic set of macros that can be used by packagers)
https://bugzilla.redhat.com/show_bug.cgi?id=1811432 (preproc-rpmspec
- simple tool that makes it easier to invoke preproc on a spec file
with the rpkg-macros included)
These packages are functional from fedora-rawhide down to epel-6.
Only preproc is essential for this proposal but I would like to, at
the same time, also provide some basic starting set of macros that
packagers can easily try and comment on. Either we can stick with
those macros, tweak them, or provide an entirely different set of
macros that uses a different logic.
Next, I was looking into koji code and found out that no changes
should be actually needed there to support this. The changes, in my
opinion, should be placed into mock here, just before the start of
srpm build: https://github.com/rpm-software-management/mock/blob/5c08f5b74/mock/py/mo...
together with adding three new configuration options:
config_opts['rpkg_preprocessing'] = True # by default False
config_opts['rpkg_preprocessing_requires'] = ["preproc-rpmspec"]
config_opts['rpkg_preprocessing_cmd'] = '/usr/bin/preproc-rpmspec
%(source_spec)s --output %(target_spec)s'
The first one `rpkg_preprocessing` tells us if the feature should be
enabled or not (by default, it will be probably False in mock). The
second one tells us what package should be installed into the chroot
before the start of srpm build to provide the preprocessing
functionality. And the third one is a concrete invocation of a
preprocessing command.
The logic in mock (at the corresponding place) should go as follows:
if rpkg_preprocessing is enabled; then
if rpkg.conf file is present in git toplevel directory; then
if the rpkg.conf file contains `preprocess_spec = True` directive
under [rpkg] section; then
install `rpkg_preprocessing_requires` into the chroot
run the preprocessing command as specified by the config
And these changes in mock (apart from the above packages being brought
into Fedora and EPEL) are the only changes that need to be done for
the solution to already work in Fedora (and EPEL).
I scanned master branches of all packages in Fedora dist-git and none
of them contains rpkg.conf file in the git top-level directory so
there should be no conflict there (i can do the checks on other
branches too but at this point, I am already quite certain that
'rpkg.conf' is a non-conflicting filename).
I have run all spec files from master through preproc and all of them
came out unchanged except two:
python-dns-lexicon.spec - uses {{{ }}} in comments
python-suds.spec - uses {{{ }}} in changelog at one place
All the other packages are just left untouched after the preproc run
(by the way, that wouldn't be the case for {{, }} tags if used - there
are many more conflicts there).
Those two packages would need to escape the {{{ }}} tags to keep using
them if they wanted to also start using the preprocessing
functionality by placing rpkg.conf file into dist-git repo with the
following content:
[rpkg]
preprocess_spec = True
I already have this working on my machine so now it is a matter of
opening a PR and polishing the code. Basically, I tested it on a
dist-git repo (on prunerepo package, specifically) where I added
rpkg.conf with the above content and used some preproc macros in the
spec file and I was able to successfully build an srpm with a
preprocessed spec file by invoking:
mock --buildsrpm --spec prunerepo.spec --sources .
This is pretty much what koji does when building from SCM (it just
adds more switches to the above command).
Implementation continued
-----------------------------------
The next thing that needs to be adjusted is the mass-rebuild script
(https://pagure.io/releng/blob/master/f/scripts/mass-rebuild.py) and
rpmdev-bumpspec
(https://github.com/rsrchboy/rpmdevtools/blob/master/rpmdev-bumpspec),
however also here the changes should be quite minimal.
My plan is to tweak rpmdev-bumpspec to return a dedicated exit code
when it encounters:
Release: {{{ ... }}}
and not to do any changes on release or changelog then with the
assumption that the macros will do it themselves. The mass rebuild
script when being given this exit code will not error out but instead
continue by adding a new commit
(https://pagure.io/releng/blob/682804c8/f/scripts/mass-rebuild.py#_162)
and building as usual.
This is not a 100% percent solution because one could e.g. do this in
a spec file:
{{{{ echo "Release: $(git_dir_release_branched)" }}} in which case
regular expression checking e.g. for "Release: {{{" wouldn't work. It
might be therefore better to check for the rpkg.conf file and check if
it contains `preprocess_spec = True` in the [rpkg] section.
In either case, we can make this work by communicating with packagers
the following: "You are free to use preproc macros but if a new commit
lands, the Release field needs to change based on that". That's also
the behavior of `git_dir_release` and `git_dir_release_branched`
macros included in rpkg-macros library.
Implementation continued continued
------------------------------------------------
If the mock changes arrive to koji builders, you will be already able
to play around with the macros and I recommend using the latest
version of rpkg-utility
(https://copr.fedorainfracloud.org/coprs/clime/rpkg-util/) that can
interpret the macros client-side and tell you exactly what the koji
builders produce before you push.
Anyway, I would like to get proper support for this in fedpkg. I think
we could immediately start supporting this on the level of the rpkg
library (https://pagure.io/rpkg) so that the other dist-git clients
get this functionality as well (in opt-in manner).
This is not a difficult task - i have already done the support in
rpkg-util so I (or maybe someone else) will just open a pull request
which should port the code from rpkg-util to the rpkg library.
Implementation finished?
---------------------------------
Is there anything else I should think about or some other scripts in
infra that should be adjusted?
About the approach
--------------------------
- the preproc macros (together with rpkg-macros) are already supported
in Copr when you use SCM method with rpkg srpm build method
- the approach is generic in the sense that it makes it very easy to
start generating other parts of spec files from git (or possibly
other) content: e.g. VCS field, Source field by packing the whole
dist-git repo content into a tarball, and %prep field - it depends on
what community and packaging committee decide is acceptable
- the approach gives packagers the same freedom they have with rpm
macros. While there can be some preconfigured macros, everybody can
roll out their own variants or entirely new macros
- the approach is suitable to implement "Git is the single source of
truth" paradigm at least with respect to the basic package information
like Release, Version or Changelog.
- the approach needs very little changes in our tooling
- it produces the same results locally which will be produced by build
system for a given commit
- guys from "Ideas and proposal for removing changelog and release
fields from spec file" are currently trying something else which
involves build system and, from my POV, magic spec file manipulations
but I still hope we can find a common language at some point and
finally start cooperating
Thanks
clime
2 years
HEADS UP: repoquery --whatrequires yields incomplete results when run
from Fedora 32+
by Miro Hrončok
I have upgraded to Fedora 32 today and after a while I have noticed that
`repoquery --whatrequires` yields incomplete results.
From Fedora 31:
$ dnf --refresh repoquery --repo=rawhide{,-source} --whatrequires python3-flaky
pipenv-0:2018.11.26-13.fc32.src
python-ipykernel-0:5.1.4-1.fc33.src
From Fedora 32/33:
$ dnf --refresh repoquery --repo=rawhide{,-source} --whatrequires python3-flaky
python-ipykernel-0:5.1.4-1.fc33.src
I have reported this here: https://bugzilla.redhat.com/show_bug.cgi?id=1812596
Be extra careful when taking decisions based on `repoquery --whatrequires` (such
as: I can safely retire this or upgrade that, nothing else requires it).
--
Miro Hrončok
--
Phone: +420777974800
IRC: mhroncok
2 years