Subject: Re: [bug#27898] [PATCH 1/2] gnu: Use 'modify-phases' syntax.

From: Marius Bakke <[email-masked]>
Date: Thu, 31 Aug 2017 18:59:44 +0200

Kei Kebreau <[email-masked]> writes:

> Kei Kebreau <[email-masked]> writes:
>
>> Marius Bakke <[email-masked]> writes:
>>
>>> Kei Kebreau <[email-masked]> writes:
>>>
>>>>> Kei Kebreau <[email-masked]> writes:
>>>>> 
>>>>>> * gnu/packages/admin.scm (mingetty, clusterssh, sudo,
>>>>>> wpa-supplicant-minimal,
>>>>>> wpa-supplicant, wakelan, acpica, tree, direvent, dstat)[arguments]: Use
>>>>>> 'modify-phases' syntax.
>>>>>> * gnu/packages/algebra.scm (arb)[arguments]: Likewise.
>>>>>> * gnu/packages/apr.scm (apr-util)[arguments]: Likewise.
>>>>>> * gnu/packages/audio.scm (clalsadrv, fluidsynth, faad2, lv2-mda-piano,
>>>>>> lv2-mda-epiano, timidity++, vamp, soundtouch, portaudio, rsound,
>>>>>> zita-convolver, zita-alsa-pcmi)[arguments]: Likewise.
>>>>>> * gnu/packages/backup.scm (rdup, btar)[arguments]: Likewise.
>>>>>> * gnu/packages/bioinformatics.scm (bedops, bwa, crossmap, express,
>>>>>> flexbar, grit, hisat, ngs-sdk, subread)[arguments]: Likewise.
>>>>>> * gnu/packages/bittorrent.scm (transmission)[arguments]: Likewise.
>>>>>> * gnu/packages/cdrom.scm (cd-discid)[arguments]: Likewise.
>>>>>> * gnu/packages/compression.scm (sharutils)[arguments]: Likewise.
>>>>>> * gnu/packages/conky.scm (conky)[arguments]: Likewise.
>>>>>> * gnu/packages/databases.scm (bdb, bdb-5.3)[arguments]: Likewise.
>>>>>> * gnu/packages/debug.scm (delta, c-reduce)[arguments]: Likewise.
>>>>>> * gnu/packages/display-managers.scm (slim)[arguments]: Likewise.
>>>>>> * gnu/packages/dns.scm (dnsmasq)[arguments]: Likewise.
>>>>>> * gnu/packages/emacs.scm (geiser, emacs-wget, bbdb)[arguments]: Likewise.
>>>>>> * gnu/packages/engineering.scm (pcb)[arguments]: Likewise.
>>>>>> * gnu/packages/firmware.scm (ath9k-htc-firmware)[arguments]: Likewise.
>>>>>> * gnu/packages/flashing-tools.scm (flashrom)[arguments]: Likewise.
>>>>>> * gnu/packages/fltk.scm (fltk)[arguments]: Likewise.
>>>>>> * gnu/packages/freedesktop.scm (python-pyxdg)[arguments]: Likewise.
>>>>>> * gnu/packages/gd.scm (perl-gd)[arguments]: Likewise.
>>>>>> * gnu/packages/gimp.scm (gegl)[arguments]: Likewise.
>>>>>> * gnu/packages/gkrellm.scm (gkrellm)[arguments]: Likewise.
>>>>>> * gnu/packages/glib.scm (glibmm)[arguments]: Likewise.
>>>>>> * gnu/packages/gl.scm (glew)[arguments]: Likewise.
>>>>>> * gnu/packages/gnome.scm (icon-naming-utils, orbit2, libbonobo, gnome-vfs,
>>>>>> libgnome, libbonoboui, goffice-0.8, dconf)[arguments]: Likewise.
>>>>>> * gnu/packages/gprolog.scm (gprolog)[arguments]: Likewise.
>>>>>> * gnu/packages/gps.scm (gpscorrelate)[arguments]: Likewise.
>>>>>> * gnu/packages/graphics.scm (agg)[arguments]: Likewise.
>>>>>> * gnu/packages/gtk.scm (ganv, gtksourceview-2, guile-present,
>>>>>> python2-pycairo)
>>>>>> [arguments]: Likewise.
>>>>>> * gnu/packages/guile.scm (guile-1.8)[arguments]: Likewise.
>>>>>> * gnu/packages/guile-wm.scm (guile-wm)[arguments]: Likewise.
>>>>>> * gnu/packages/hugs.scm (hugs)[arguments]: Likewise.
>>>>>> * gnu/packages/hurd.scm (gnumach-headers, hurd-headers, hurd-minimal)
>>>>>> [arguments]: Likewise.
>>>>>> * gnu/packages/image-viewers.scm (feh, sxiv)[arguments]: Likewise.
>>>>>> * gnu/packages/libcanberra.scm (libcanberra)[arguments]: Likewise.
>>>>>> * gnu/packages/libsigsegv.scm (libsigsegv)[arguments]: Likewise.
>>>>>> * gnu/packages/linux.scm (zerofree, net-tools, bridge-utils, iw, fuse,
>>>>>> unionfs-fuse/static, lm-sensors, i2c-tools, xsensors, perf, mdadm, libaio,
>>>>>> module-init-tools)[arguments]: Likewise.
>>>>>> * gnu/packages/lisp.scm (ccl)[arguments]: Likewise.
>>>>>> * gnu/packages/lout.scm (lout)[arguments]: Likewise.
>>>>>> * gnu/packages/lua.scm (luajit)[arguments]: Likewise.
>>>>>> * gnu/packages/machine-learning.scm (shogun)[arguments]: Likewise.
>>>>>> * gnu/packages/mail.scm (exim)[arguments]: Likewise.
>>>>>> * gnu/packages/man.scm (man-pages, txt2man)[arguments]: Likewise.
>>>>>> * gnu/packages/maths.scm (lapack, superlu-dist, openlibm, openspecfun,
>>>>>> suitesparse)[arguments]: Likewise.
>>>>>> * gnu/packages/messaging.scm (bitlbee)[arguments]: Likewise.
>>>>>> * gnu/packages/mp3.scm (libmad, id3lib, mp3info)[arguments]: Likewise.
>>>>>> * gnu/packages/music.scm (solfege)[arguments]: Likewise.
>>>>>> * gnu/packages/noweb.scm (noweb)[arguments]: Likewise.
>>>>>> * gnu/packages/patchutils.scm (patchutils, quilt, colordiff)[arguments]:
>>>>>> Likewise.
>>>>>> * gnu/packages/pdf.scm (xpdf, zathura-cb, zathura-ps, zathura-djvu,
>>>>>> zathura-pdf-poppler, zathura, podofo, fbidag)[arguments]: Likewise.
>>>>>> * gnu/packages/perl.scm (perl-file-list, perl-test-harness)[arguments]:
>>>>>> Likewise.
>>>>>> * gnu/packages/photo.scm (gphoto2)[arguments]: Likewise.
>>>>>> * gnu/packages/popt.scm (popt)[arguments]: Likewise.
>>>>>> * gnu/packages/pretty-print.scm (source-highlight, astyle)[arguments]:
>>>>>> Likewise.
>>>>>> * gnu/packages/pumpio.scm (pumpa)[arguments]: Likewise.
>>>>>> * gnu/packages/python.scm (python-passlib, python-pycrypto, python2-empy,
>>>>>> python-sqlalchemy, python-docopt)[arguments]: Likewise.
>>>>>> * gnu/packages/rdf.scm (lrdf)[arguments]: Likewise.
>>>>>> * gnu/packages/regex.scm (tre)[arguments]: Likewise.
>>>>>> * gnu/packages/rrdtool.scm (rrdtool)[arguments]: Likewise.
>>>>>> * gnu/packages/ruby.scm (ruby-2.1, ruby-1.8)[arguments]: Likewise.
>>>>>> * gnu/packages/sawfish.scm (sawfish)[arguments]: Likewise.
>>>>>> * gnu/packages/scheme.scm (racket)[arguments]: Likewise.
>>>>>> * gnu/packages/sdl.scm (guile-sdl)[arguments]: Likewise.
>>>>>> * gnu/packages/serveez.scm (serveez)[arguments]: Likewise.
>>>>>> * gnu/packages/skribilo.scm (skribilo)[arguments]: Likewise.
>>>>>> * gnu/packages/smalltalk.scm (smalltalk)[arguments]: Likewise.
>>>>>> * gnu/packages/suckless.scm (dmenu, slock)[arguments]: Likewise.
>>>>>> * gnu/packages/tcl.scm (expect)[arguments]: Likewise.
>>>>>> * gnu/packages/telephony.scm (commoncpp)[arguments]: Likewise.
>>>>>> * gnu/packages/textutils.scm (recode, libgtextutils)[arguments]:
>>>>>> Likewise.
>>>>>> * gnu/packages/time.scm (time)[arguments]: Likewise.
>>>>>> * gnu/packages/tor.scm (privoxy)[arguments]: Likewise.
>>>>>> * gnu/packages/uucp.scm (uucp)[arguments]: Likewise.
>>>>>> * gnu/packages/video.scm (libdvdnav-4)[arguments]: Likewise.
>>>>>> * gnu/packages/web-browsers.scm (lynx)[arguments]: Likewise.
>>>>>> * gnu/packages/web.scm (tinyproxy)[arguments]: Likewise.
>>>>>> * gnu/packages/wicd.scm (wicd)[arguments]: Likewise.
>>>>>> * gnu/packages/wm.scm (bspwm)[arguments]: Likewise.
>>>>>> * gnu/packages/xdisorg.scm (sxhkd, xcape)[arguments]: Likewise.
>>>>>> * gnu/packages/xfce.scm (xfconf)[arguments]: Likewise.
>>>>>> * gnu/packages/xfig.scm (transfig)[arguments]: Likewise.
>>>>>> * gnu/packages/xorg.scm (imake)[arguments]: Likewise.
>>>>> 
>>>>> Hello Kei!
>>>>> 
>>>>> 'core-updates' is now merged.  Let's try to get this patch in.
>>>>> 
>>>>> I've read through the changed variables and think we can handle it on
>>>>> 'master', except 'bdb-5.3' which will have to wait until the next
>>>>> 'core-updates' cycle.  Can you double check that this won't cause more
>>>>> than a few hundred rebuilds?
>>>>> 
>>>>> Thanks!
>>>>
>>>> How does 1301 rebuilds sound?
>>>
>>> I think that will take several days (~week?) to complete, so it should
>>> be done on 'staging' so that users are not left without binary
>>> substitutes for very long.
>>>
>>> But then, we are probably facing a weeks worth of merge conflicts.
>>>
>>>> P.S. It seems that I have to type the patch a second time, so it may be
>>>> a while until I am able to push to master.
>>>
>>> I would assume `git cherry-pick` could resolve most hunks, no?  Files
>>> with many conflicts may be easier to reset to their original state and
>>> redo.
>>>
>>
>> Maybe if my commits were split up? I have to read about
>> `git cherry-pick`.
>>
>>> If you do have to redo large parts of it, maybe we could do it in 3-4
>>> batches and keep an eye on Hydra in between?  It would cause some extra
>>> rebuilds, but I suspect it's the least painful option.
>>
>> That could work. I'll see if I can have things sorted by tomorrow and
>> we'll go from there.
>
> The patches are in working order. The first patch would cause 1200
> rebuilds, but the second would only cause 128 rebuilds. Should I work on
> splitting up the first patch into pieces that Hydra can handle under its
> current load?

I'm not actually sure what's best here.  It may be easiest to just throw
them both at 'staging' and accept the (hopefully few) merge conflicts.

Ludo, any preference?

If we're going staging, let's try to coordinate it so that we can start
it shortly after adding them.  Maybe midnight tomorrow or Saturday UTC?
I have a few other updates in my queue that haven't been pushed yet.