Re: [arch-dev-public] out of tree modules and alpm-hooks
On Fri, Feb 19, 2016 at 4:12 PM, Sébastien Luttringerwrote: > On ven., 2016-02-19 at 08:12 +0100, Maxime Gauduin wrote: > > On Fri, Feb 19, 2016 at 2:27 AM, Sébastien Luttringer > > wrote: > > What about when you remove a dkms package? Would be nice to remove the > > build modules as well. > This is done by post install scriplet[1] of each dkms module package (e.g > it > calls "dkms remove vhosthost/${1%-*} --all"). > > Right. > Name and version of the dkms modules to remove is not easy to guess in a > global > hook. Also note that a dkms module can build several kernel modules. > > That's also why registering (dkms add) of the modules is done by install > scriplet. > > Only the build/install of registered modules are done by the hook in order > to > schedule them properly. > > > With these hooks [1] designed for kernel transaction, we will have > complete > > support of oot modules in pacman. > > > I didn't tried them but I don't get how this can works when you > install/update > a dkms module. > > I'm aware of that, they were designed that way. That's why with those, and your hook triggered by dkms package transactions, every case will be covered. I guess it could be possible to handle both within a single hook by adding an additional trigger on "usr/src/*" and so on, but I think it's probably better to keep them separate. > Your dkms-install hook is triggered by files installation in > /usr/lib/modules, > but dkms packages didn't do that at all. They write these files in > /usr/src/$foo and register the dkms module with dkms add. > > Files are copied in /usr/lib/modules when you run "dkms install" (so not > under > the watch of alpm), so it make no sense to call dkms install again when > file > are here. > > > [1] > https://projects.archlinux.org/svntogit/packages.git/tree/trunk/nvidia-dkms > .install?h=packages/nvidia > > > -- > Sébastien "Seblu" Luttringer > https://seblu.net | Twitter: @seblu42 > GPG: 0x2072D77 >
[arch-dev-public] Integrity Check x86_64: core, extra, community, multilib 19-02-2016
Warning : the repository multilib does not exist in /srv/abs/rsync/any === = Integrity Check x86_64 of core,extra,community,multilib = === Performing integrity checks... ==> parsing pkgbuilds ==> parsing db files ==> checking mismatches ==> checking archs ==> checking dependencies ==> checking makedepends ==> checking hierarchy ==> checking for circular dependencies ==> checking for differences between db files and pkgbuilds Missing PKGBUILDs --- /srv/abs/rsync/any/multilib Invalid PKGBUILDs --- /srv/abs/rsync/x86_64/extra/libxml++/PKGBUILD Missing Dependencies -- community/glom --> 'libxml++' community/gobby --> 'libxml++' community/gobby --> 'libxml++2' community/gstreamer0.10-mm --> 'libxml++' community/libofx --> 'libxml++' community/performous --> 'libxml++' community/pinot --> 'libxml++' community/spice-gtk3 --> 'libcacard' community/subtitleeditor --> 'libxml++' community/synfig --> 'libxml++' extra/libffado --> 'libxml++' extra/qemu --> 'libcacard' extra/spice --> 'libcacard' Missing Makedepends - community/ogmrip --> 'mkvtoolnix' extra/qemu --> 'libcacard' extra/qemu-arch-extra --> 'libcacard' extra/qemu-block-gluster --> 'libcacard' extra/qemu-block-iscsi --> 'libcacard' extra/qemu-block-rbd --> 'libcacard' extra/qemu-guest-agent --> 'libcacard' Repo Hierarchy for Dependencies - community/playonlinux depends on multilib/wine (122 extra (make)deps to pull) community/wine-mono depends on multilib/wine (122 extra (make)deps to pull) core/make depends on extra/guile (580 extra (make)deps to pull) core/openldap depends on extra/unixodbc (580 extra (make)deps to pull) core/sqlite-analyzer depends on extra/tcl (580 extra (make)deps to pull) extra/accerciser depends on community/ipython (61 extra (make)deps to pull) extra/archboot depends on community/arch-wiki-lite (60 extra (make)deps to pull) extra/archboot depends on community/arch-wiki-lite (60 extra (make)deps to pull) extra/archboot depends on community/chntpw (58 extra (make)deps to pull) extra/archboot depends on community/cpupower (59 extra (make)deps to pull) extra/archboot depends on community/squashfs-tools (58 extra (make)deps to pull) extra/archboot depends on community/usb_modeswitch (58 extra (make)deps to pull) extra/archboot depends on community/wvdial (61 extra (make)deps to pull) extra/archboot depends on community/xl2tpd (58 extra (make)deps to pull) extra/archiso depends on community/squashfs-tools (58 extra (make)deps to pull) extra/brltty depends on community/cython (58 extra (make)deps to pull) extra/calligra-krita depends on community/opencolorio (58 extra (make)deps to pull) extra/easytag depends on community/opusfile (58 extra (make)deps to pull) extra/efl depends on community/luajit (58 extra (make)deps to pull) extra/evolution depends on community/gtkspell3 (58 extra (make)deps to pull) extra/fontforge depends on community/zeromq (58 extra (make)deps to pull) extra/gitg depends on community/gtkspell3 (58 extra (make)deps to pull) extra/gnome-builder depends on community/python-jedi (58 extra (make)deps to pull) extra/gnome-common depends on community/autoconf-archive (58 extra (make)deps to pull) extra/gnucash depends on community/aqbanking (61 extra (make)deps to pull) extra/gnucash depends on community/libdbi-drivers (60 extra (make)deps to pull) extra/gvfs-nfs depends on community/libnfs (58 extra (make)deps to pull) extra/kapidox depends on community/python-jinja (58 extra (make)deps to pull) extra/kapidox depends on community/python-yaml (58 extra (make)deps to pull) extra/libgda depends on community/goocanvas (58 extra (make)deps to pull) extra/libquvi-scripts depends on community/lua52-bitop (58 extra (make)deps to pull) extra/libquvi-scripts depends on community/lua52-expat (58 extra (make)deps to pull) extra/libquvi-scripts depends on community/lua52-socket (58 extra (make)deps to pull) extra/libteam depends on community/jansson (58 extra (make)deps to pull) extra/libteam depends on community/zeromq (58 extra (make)deps to pull) extra/mpd depends on community/libnfs (58 extra (make)deps to pull) extra/networkmanager depends on community/libnewt (58 extra (make)deps to pull) extra/nghttp2 depends on community/jansson (58 extra (make)deps to pull) extra/nghttp2 depends on community/libev (58 extra (make)deps to pull) extra/nvidia-304xx-dkms depends on community/dkms (58 extra (make)deps to pull) extra/nvidia-340xx-dkms depends on community/dkms (58 extra (make)deps to pull) extra/nvidia-dkms depends on community/dkms (58 extra (make)deps to pull) extra/nvidia-settings depends on community/jansson (58 extra (make)deps to pull) extra/octave depends on community/arpack (58 extra (make)deps to pull) extra/perl-crypt-ssleay depends on community/perl-path-class (58 extra (make)deps to pull)
[arch-dev-public] Integrity Check i686: core, extra, community 19-02-2016
= Integrity Check i686 of core,extra,community = Performing integrity checks... ==> parsing pkgbuilds ==> parsing db files ==> checking mismatches ==> checking archs ==> checking dependencies ==> checking makedepends ==> checking hierarchy ==> checking for circular dependencies ==> checking for differences between db files and pkgbuilds Invalid PKGBUILDs --- /srv/abs/rsync/i686/extra/libxml++/PKGBUILD Missing Dependencies -- community/glom --> 'libxml++' community/gobby --> 'libxml++' community/gobby --> 'libxml++2' community/gstreamer0.10-mm --> 'libxml++' community/libofx --> 'libxml++' community/luxblend25 --> 'luxrays' community/luxblend25 --> 'luxrender' community/performous --> 'libxml++' community/pinot --> 'libxml++' community/spice-gtk3 --> 'libcacard' community/subtitleeditor --> 'libxml++' community/synfig --> 'libxml++' extra/libffado --> 'libxml++' extra/qemu --> 'libcacard' extra/spice --> 'libcacard' Missing Makedepends - community/ogmrip --> 'mkvtoolnix' extra/qemu --> 'libcacard' extra/qemu-arch-extra --> 'libcacard' extra/qemu-block-gluster --> 'libcacard' extra/qemu-block-iscsi --> 'libcacard' extra/qemu-block-rbd --> 'libcacard' extra/qemu-guest-agent --> 'libcacard' Repo Hierarchy for Dependencies - core/make depends on extra/guile (580 extra (make)deps to pull) core/openldap depends on extra/unixodbc (580 extra (make)deps to pull) core/sqlite-analyzer depends on extra/tcl (580 extra (make)deps to pull) extra/accerciser depends on community/ipython (61 extra (make)deps to pull) extra/archboot depends on community/arch-wiki-lite (60 extra (make)deps to pull) extra/archboot depends on community/arch-wiki-lite (60 extra (make)deps to pull) extra/archboot depends on community/chntpw (58 extra (make)deps to pull) extra/archboot depends on community/cpupower (59 extra (make)deps to pull) extra/archboot depends on community/squashfs-tools (58 extra (make)deps to pull) extra/archboot depends on community/usb_modeswitch (58 extra (make)deps to pull) extra/archboot depends on community/wvdial (61 extra (make)deps to pull) extra/archboot depends on community/xl2tpd (58 extra (make)deps to pull) extra/archiso depends on community/squashfs-tools (58 extra (make)deps to pull) extra/brltty depends on community/cython (58 extra (make)deps to pull) extra/calligra-krita depends on community/opencolorio (58 extra (make)deps to pull) extra/easytag depends on community/opusfile (58 extra (make)deps to pull) extra/efl depends on community/luajit (58 extra (make)deps to pull) extra/evolution depends on community/gtkspell3 (58 extra (make)deps to pull) extra/fontforge depends on community/zeromq (58 extra (make)deps to pull) extra/gitg depends on community/gtkspell3 (58 extra (make)deps to pull) extra/gnome-builder depends on community/python-jedi (58 extra (make)deps to pull) extra/gnome-common depends on community/autoconf-archive (58 extra (make)deps to pull) extra/gnucash depends on community/aqbanking (61 extra (make)deps to pull) extra/gnucash depends on community/libdbi-drivers (60 extra (make)deps to pull) extra/gvfs-nfs depends on community/libnfs (58 extra (make)deps to pull) extra/kapidox depends on community/python-jinja (58 extra (make)deps to pull) extra/kapidox depends on community/python-yaml (58 extra (make)deps to pull) extra/libgda depends on community/goocanvas (58 extra (make)deps to pull) extra/libquvi-scripts depends on community/lua52-bitop (58 extra (make)deps to pull) extra/libquvi-scripts depends on community/lua52-expat (58 extra (make)deps to pull) extra/libquvi-scripts depends on community/lua52-socket (58 extra (make)deps to pull) extra/libteam depends on community/jansson (58 extra (make)deps to pull) extra/libteam depends on community/zeromq (58 extra (make)deps to pull) extra/mpd depends on community/libnfs (58 extra (make)deps to pull) extra/networkmanager depends on community/libnewt (58 extra (make)deps to pull) extra/nghttp2 depends on community/jansson (58 extra (make)deps to pull) extra/nghttp2 depends on community/libev (58 extra (make)deps to pull) extra/nvidia-304xx-dkms depends on community/dkms (58 extra (make)deps to pull) extra/nvidia-340xx-dkms depends on community/dkms (58 extra (make)deps to pull) extra/nvidia-dkms depends on community/dkms (58 extra (make)deps to pull) extra/nvidia-settings depends on community/jansson (58 extra (make)deps to pull) extra/octave depends on community/arpack (58 extra (make)deps to pull) extra/perl-crypt-ssleay depends on community/perl-path-class (58 extra (make)deps to pull) extra/perl-xml-simple depends on community/perl-xml-sax-expat (58 extra (make)deps to pull) extra/pulseaudio-jack depends on community/jack2 (58 extra (make)deps to pull) extra/pulseaudio-xen depends on community/xenstore (58 extra (make)deps to pull)
Re: [arch-dev-public] out of tree modules and alpm-hooks
On ven., 2016-02-19 at 08:12 +0100, Maxime Gauduin wrote: > On Fri, Feb 19, 2016 at 2:27 AM, Sébastien Luttringer> wrote: > What about when you remove a dkms package? Would be nice to remove the > build modules as well. This is done by post install scriplet[1] of each dkms module package (e.g it calls "dkms remove vhosthost/${1%-*} --all"). Name and version of the dkms modules to remove is not easy to guess in a global hook. Also note that a dkms module can build several kernel modules. That's also why registering (dkms add) of the modules is done by install scriplet. Only the build/install of registered modules are done by the hook in order to schedule them properly. > With these hooks [1] designed for kernel transaction, we will have complete > support of oot modules in pacman. > I didn't tried them but I don't get how this can works when you install/update a dkms module. Your dkms-install hook is triggered by files installation in /usr/lib/modules, but dkms packages didn't do that at all. They write these files in /usr/src/$foo and register the dkms module with dkms add. Files are copied in /usr/lib/modules when you run "dkms install" (so not under the watch of alpm), so it make no sense to call dkms install again when file are here. [1] https://projects.archlinux.org/svntogit/packages.git/tree/trunk/nvidia-dkms .install?h=packages/nvidia -- Sébastien "Seblu" Luttringer https://seblu.net | Twitter: @seblu42 GPG: 0x2072D77A signature.asc Description: This is a digitally signed message part