Hello,
Related to the unversioned docdirs F-20 feature [1], some changes with doc packages will be needed in a bunch of packages. More info will follow later, but I've started looking into the list of affected ones. Some related things are still being discussed on the packaging@ mailing list.
While assembling the list, I'll check which packages can be easily and cleanly made independent of whether their docs install into versioned or unversioned doc dirs, and will push and build those trivial changes to rawhide already now.
[1] https://fedoraproject.org/wiki/Changes/UnversionedDocdirs
On Tue, Jul 23, 2013 at 11:22 PM, Ville Skyttä ville.skytta@iki.fi wrote:
Related to the unversioned docdirs F-20 feature [1], some changes with doc packages will be needed in a bunch of packages. More info will follow later,
Ok, here it goes:
The special (pathless) %doc macro now installs docs to unversioned /usr/share/doc/%{name} dir in Rawhide. Packages that don't refer to their doc dir by any other means do not need any changes, just a rebuild.
Packages that do refer to their doc dir by some other means will need changes. It depends on the package if not addressing this will result in a build failure or docs still being installed into "wrong" (versioned) dirs. Either way the suggested way to handle this is by using the %{_pkgdocdir} macro which is now in Rawhide, in redhat-rpm-config >= 9.1.0-50.fc20. I'm guessing that this macro might be backported to earlier Fedora releases (where it'll expand to a dir appropriate for those releases) too at some point, but it is unclear when, and also unclear if it will make it into EPEL. Luckily handling this in backwards compatible manner in specfiles is quite unintrusive, my suggestion would be to conditionally define %{_pkgdocdir} to %{_docdir}/%{name}-%{version} where it doesn't exist, and use the macro when referring to that dir, like so:
%{!?_pkgdocdir: %global _pkgdocdir %{_docdir}/%{name}-%{version}}
One concrete example: http://pkgs.fedoraproject.org/cgit/portecle.git/commit/?id=f32020cce93e36801...
but I've started looking into the list of affected ones.
That list ended up longer than I thought. Unfortunately I don't have access to it right now, but will post it later today -- IIRC the list of potential ones was something like 600+ packages. Anyway maintainers are welcome to start changing their affected packages already now.
On 2013-07-26 11:25, Ville Skyttä wrote:
That list ended up longer than I thought. Unfortunately I don't have access to it right now, but will post it later today
Here goes the list as run through fedoradev-pkgowners (owner packagename comaintainers):
abompard ksshaskpass abrt-team abrt jfilak,jmoskovc,mmilata,mtoman,vda,zprikryl adev davix adev gfal2 adev gfal2-plugin-xrootd adev adev gfal2-python adev gfalFS adev gfal adev gridftp-ifce adev is-interface adev lcg-util adev srm-ifce afri beakerlib afri,psss aglitke mom agoode mlton rjones ajax libupnp mcepl ajax libvorbis jwrdegoede ajax libxcb akurtakov byaccj dbhole alexlan emacs-common-ess amdunn ocaml-ocamlgraph dwheeler,jjames,ocamlmaint amdunn why dwheeler,jjames ankursinha bibus alexlan arg java-uuid-generator ashawley gnue-common wolfy asrob drupal7-features jsmith,pfrields,siwinski asrob drupal7-strongarm jsmith,pfrields,siwinski athimm freenx-client limb athimm maildrop bcl,bruno awjb perl-Tk perl-sig awjb wine mooninite,stefanlsd bagnara ppl pcpa bellet FlightGear-data bellet FlightGear besser82 libyui-gtk besser82 libyui-ncurses besser82 libyui besser82 libyui-qt bioinfornatics glfw bioinfornatics bkabrda python-django-roa bkabrda python-django-tastypie churchyard,cquad,mrunge blc arm-boot-config ausil bojan apr-api-docs bojan libapreq2 bojan subversion-api-docs bradbell cppad bressers nmh brouhaha gsmartcontrol brouhaha libexplain brouhaha z80asm brummbq php-cloudfiles bruno blobwars sundaram bruno libwfut bruno,mpreisle,wart bruno ogre-pagedgeometry bruno bruno skstream atorkhov,bruno,mpreisle bsjones harmonyseq bsjones lilv bsjones lv2 bsjones non-daw bsjones non-session-manager bsjones serd bsjones slv2 bsjones bsjones sord bsjones sratom bsjones suil bsjones zynjacku buc dvdisaster buc freetds carllibpst libpst ppisar cassmodiah fife bruno,renich cfu tomcatjss cfu,edewata,jdennis,kwright,mharmsen cgrau ifm cheeselee lonote cheeselee qterm cheeselee rtmidi cheeselee texworks chitlesh magic chitlesh,mtasaka,shakthimaan,tnorth,tuxmaniac chitlesh ngspice dionysos,shakthimaan chitlesh pcb shakthimaan chitlesh pikdev dionysos,shakthimaan,tnorth chitlesh piklab dionysos,shakthimaan chkr anki chrisw git atkac,jbowes,tmz cicku nsnake clalance bochs clalance,limb,virtmaint clalance python-iptables codeblock dpsearch corsepiu qhull laxathom corsepiu rt3 mmahut,perl-sig,tremble,xavierb cra ocp cwickert emelfm2 cwickert gtrayicon cwickert termit davidcornette tse3 deji babl nphilipp deji cln deji denisarnaud airinv denisarnaud airrac denisarnaud denisarnaud airsched denisarnaud denisarnaud rmol denisarnaud denisarnaud sevmgr denisarnaud simcrs denisarnaud simfqt denisarnaud stdair denisarnaud denisarnaud trademgen denisarnaud travelccm denisarnaud denisarnaud wsdlpull devrim check_postgres devrim diveintopython devrim grass devrim,neteler,pertusus,rezso,volter devrim postgresql-ip4r devrim postgresql-table_log dhowells cachefilesd steved dignan nautilus-python dmaphy ctpl dmaphy ncmpcpp dougsland zbar dougsland,firemanxbr,mchehab dp67 ax25-apps dp67,sindrepb,sparks drago01 schedtool dtimms rakarrack dwalsh policycoreutils mgrepl dwmw2 openconnect dwrobel mscgen ebrand sslogger mtasaka echevemaster libdbusmenu elanthis clc ellert CGSI-gSOAP adev,rocha ellert gccxml ellert globus-authz-callout-error ellert globus-authz ellert globus-callout ellert globus-common ellert globus-core ellert globus-ftp-client ellert globus-ftp-control ellert globus-gass-cache ellert globus-gass-cache-program ellert globus-gass-copy ellert globus-gass-server-ez ellert globus-gass-transfer ellert globus-gatekeeper ellert globus-gfork ellert globus-gram-audit ellert globus-gram-client ellert globus-gram-client-tools ellert globus-gram-job-manager-callout-error ellert globus-gram-job-manager-condor ellert globus-gram-job-manager-fork ellert globus-gram-job-manager ellert globus-gram-job-manager-pbs ellert globus-gram-job-manager-scripts ellert globus-gram-job-manager-sge ellert globus-gram-protocol ellert globus-gridftp-server-control ellert globus-gridftp-server ellert globus-gridmap-callout-error ellert globus-gsi-callback ellert globus-gsi-cert-utils ellert globus-gsi-credential ellert globus-gsi-openssl-error ellert globus-gsi-proxy-core ellert globus-gsi-proxy-ssl ellert globus-gsi-sysconfig ellert globus-gssapi-error ellert globus-gssapi-gsi ellert globus-gss-assist ellert globus-io ellert globus-openssl-module ellert globus-proxy-utils ellert globus-rls-client ellert globus-rls-server ellert globus-rsl ellert globus-scheduler-event-generator ellert globus-simple-ca ellert globus-usage ellert globus-xio-gsi-driver ellert globus-xio ellert globus-xioperf ellert globus-xio-pipe-driver ellert globus-xio-popen-driver ellert HepMC ellert ellert nordugrid-arc-doc ellert nordugrid-arc ellert root stevetraylen ellert voms rocha,stevetraylen ellert xrootd adev,rocha,stevetraylen epienbro mingw-webkitgtk pfor eseyman perl-p5-Palm perl-sig fab bcfg2 zultron fab gipfel fab gsim85 chitlesh fab gtk-splitter fab libxnm fab python-wifi fab tcpjunk fantom i7z fenris02 munin fenris02,ingvar,jvanek filiperosset flaw filiperosset fkluknav mpfr fkluknav,rdieter gbailey mup gemi abcm2ps gemi q gerd parrot dmalcolm,gerd,steve giallu buildbot radez,smilner grandcross arm4 limb greenscientist babeltrace gsgatlin VirtualGL hellwolf wxGlade bbbush hguemar gazpacho hguemar glom hguemar ice mef hguemar libnotifymm hguemar python-kiwi hhorak mariadb hhorak mutt mlichvar,pertusus hpejakle byobu hubbitus ferm slankes hubbitus fotoxx hubbitus RabbIT hushan shunit2 iarnell clc-intercal iarnell perl-Catalyst-Model-XMLRPC mmaslano,perl-sig,ppisar iarnell perl-MooseX-AttributeHelpers mmaslano,perl-sig,ppisar,psabata iarnell slashem itamarjp bugzilla eseyman itamarjp ez-ipupdate itamarjp ixs mod_suphp jakub valgrind dodji,mjw jamatos grace itamarjp,pertusus james ustr jamielinux docco patches jamielinux tor jamielinux,lmacken,pwouters jankratochvil gdb gbenson,palves,pmuldoon,sergiodj,tromey jcapik freehoo jcapik libogg jwrdegoede,phracek jcapik phatch jcapik xpp2 dbhole,jcapik,mizdebsk jdennis python-nss jdunn gecode jdunn twirssi jhladky aespipe jhladky jhladky hwloc jhladky jima graphviz alexlan,jskarvad,tremble jjames clisp green,jjames jjames fflas-ffpack pcpa jjames latte-integrale jjames python-ZODB3 jjames remake jjames sympy jjh ragel jkaluza mailman jmarrero owncloud-csync jmmv lutok jnovy texlive pertusus,than jondkent ptpd joost fpc tbzatek jplesnik swig jreznik sparsehash than jreznik system-config-bind rrakus,rvokal jsanders veusz jskarvad acpid tedfelix jskarvad datovka jskarvad ddccontrol jvcelak jskarvad gr-air-modes jskarvad gr-osmosdr jskarvad pm-utils pknirsch,rhughes jskarvad sendmail jskarvad jstanley mediawiki-Cite jstanley mediawiki-SpecialInterwiki juanmabc mkproject juanmabc rf juanmabc tw jussilehtola gausssum jvcelak fatrat cicku jvcelak pion-net jvcelak python-ldaptor jwboyer quilt sundaram jwrdegoede allegro jwrdegoede jwrdegoede childsplay limb,pbrady jwrdegoede dom4j dbhole,mizdebsk,msrb jwrdegoede funguloids jwrdegoede jorbis jwrdegoede openmsx jwrdegoede scorched3d bruno jwrdegoede vegastrike-data bruno jwrdegoede ws-jaxme dbhole,mizdebsk,rgrunber kalev mingw-webkitgtk3 epienbro,pfor karya0 dmtcp kashyapc nss_updatedb kdudka acl kdudka,steved kdudka lynx kengert pdfedit rhl,tremble kenhys cutter kernel-maint kernel itamarjp,jcm,sa4sa,tuxmadhu kevin midori kevin,maxamillion kevin rkhunter kevin webkitgtk huzaifas,kevin,mso,mtasaka,tpopela kiilerix tortoisehg konradm eclib jjames,pcpa,tomspur konradm python-networkx jjames konradm xdialog pertusus kumarpraveen gnome-pie kwizart libkate kwizart libomxil-bellagio landgraf gprbuild laxathom gspiceui chitlesh laxathom specto antiaircraft lczerner system-storage-manager leamas adobe-source-libraries levined par lfield nagios-plugins-bdii stevetraylen lgs python-waitress libvirt-maint libvirt berrange,clalance,itamarjp,jforbes,laine,osier,veillard,virtmaint limb cacti ktdreyer limb cycle mcepl limb distcc limb liquidwar limb mausezahn limb squidGuard itamarjp limb vym lonetwin javanotes lonetwin ldd-pdf lonetwin python-sysv_ipc lucilanga simh lucilanga xlog bjensen lvm-team snapper agk,msnitzer,okozina lyosnorezel id3lib adrian madko libnss-pgsql madsa eucalyptus arg,gholms madsa xmlbeans gil,mizdebsk mapleoin unittest mathstuf ninja-build mathstuf xmonad haskell-sig,petersen mavit arduino giallu,patches maxamillion rubygem-openshift-origin-dns-bind tdawson mbooth msv mizdebsk,msrb mbooth xml-commons-apis12 mclasen at-spi mclasen webkitgtk3 kalev,mathstuf,phatina,tpopela mcpierce qpid-cpp jpo,nsantos mgieseki zorba jonathanrobie mgrepl selinux-policy domg472,dwalsh,mgrepl mhlavink arm-none-eabi-binutils-cs mhlavink dovecot janfrode,mhlavink michich gajim michich mildew inetvis mildew sudo kzak miminar wt miminar minovotn php-libvirt virtmaint mizdebsk slf4j mjg luckybackup mjg tetex-elsevier jgu,pertusus mjg xine-ui mlichvar slang mmahut gnuradio jskarvad,lucilanga mmahut PythonCard mmaslano perl-Data-TreeDumper mmaslano,perl-sig,psabata mmaslano perl-XML-SAX-Base perl-sig,ppisar mooninite mediawiki mooninite,puiterwijk mooninite mingw-ftplib epienbro mpreisle varconf atorkhov,bruno mrceresa dcmtk peter mrceresa InsightToolkit peter,sebp mrceresa libigtl peter mschwendt geeqie msivak firstaidkit jgranado,msivak mtasaka kitutuki mtasaka mfiler3 mtasaka mfiler4 mtasaka saphire mtasaka xyzsh mtasaka yash musuruan hatari mycae cpptasks mycae givaro jjames,pcpa nalin krb5 npmccallum nbecker unuran ndim avrdude jcapik ndim simulavr nosnilmot libsilc nosnilmot nosnilmot pidgin itamarjp,jsynacek,nosnilmot notting aqbanking rdieter nphilipp gimp nphilipp sane-backends oget muse nando oget tuxguitar mtasaka okozina dt agk,mbroz orion cmake jreznik,ltinkl,pertusus,pmachata,rdieter orion MySQL-zrm orion orion plplot ovasik docbook-dtds ovasik linuxdoc-tools mmilata,rvokal ovasik uucp nphilipp,praiskup ozamosi gdouros-alexander-fonts fonts-sig packaging-team python-urlgrabber james,zpavlas paragn elfinfo paragn patches nodejs humaton,jamielinux,mrunge,patches,sgallagh patches npm jamielinux pbrobinson csound pfj pbrobinson dotconf pcfe pcsc-cyberjack pcpa coin-or-CoinUtils pcpa coin-or-Ipopt pcpa sagemath perex alsa-lib perex peter ejabberd jkaluza,martinlanghoff peter msmtp petersen Agda haskell-sig petersen bluetile haskell-sig petersen cpphs haskell-sig,konradm,petersen petersen haskell-platform bos,haskell-sig pfrields xmlstarlet pghmcfc bluefish pghmcfc gtkwave pghmcfc libpng10 pghmcfc perl-RRD-Simple perl-sig pghmcfc perl-Sub-Exporter mmaslano,perl-sig philipp libcprops pjones python-pyblock clumens,dlehman,jgranado,jwrdegoede pjones syslinux mattdm pmachata boost bkoz,deji,denisarnaud,pertusus,pmachata pmachata flex pmachata ltrace ppisar html2ps pertusus ppisar pl bagnara,mef praiskup automake phracek,praiskup praiskup postgresql devrim,hhorak,jstanek,tgl psabata rogue pschiffe groff jvcelak puiterwijk clean-extra-utils puiterwijk gnusim8085 chitlesh pwouters argtable pwouters knot jvcelak rakesh code2html rakesh examiner rakesh ortp nucleo rakesh sitecopy jorton rakesh txt2rss rakesh uriparser fcami ralphlange procServ ralph python-zope-i18n raorn wmnd awjb rathann pax-utils itamarjp rathann wxmacmolplt raveit65 mate-document-viewer vicodan rcurtin mlpack sbueno rdieter gnupg2 bcl,isimluk,jamielinux,tmraz rdieter kio-upnp-ms jgrulich rdieter OpenEXR kwizart redragon pam_shield redragon redragon perl-Crypt-Cracklib redragon redragon pfHandle redragon remi mysql++ remi php-pecl-xhprof rhl clutter-gtkmm rhl richardfearn php-pdb richzendy turpial richzendy rineau libQGLViewer rishi cluttermm rishi gengetopt rishi redet-doc rishi starplot mmahut rjones cduce ocamlmaint rjones mingw-crossreport epienbro,lfarkas rjones mingw-nsis epienbro,kkofler,lfarkas rjones mingw-nsiswrapper epienbro,ivanromanov rjones ocaml-ssl laxathom,ocamlmaint rlandmann publican mdious,rlandmann rmattes qbrew robert libisofs fkluknav,hhorak,mizdebsk robert pam_mapi robert phpMyAdmin rocha dmlite aalvarez rstrode gnome-session mccann s4504kr gnustep-make s4504kr,salimma sagarun emacs-haskell-mode chitlesh,haskell-sig,shakthimaan sagitter MUMPS salimma Falcon salimma ikarus salimma libfishsound salimma liboggz salimma salimma nickle salimma stow salimma satyak transmission-remote-cli sundaram sbose ctdb adas,gd,simo sergiopr wcslib shakthimaan cbmc shakthimaan shakthimaan SuperLU shakthimaan sharkcz atasm sharkcz mm3d sharkcz roxterm cwickert,salimma sheltren cfengine filler,ravenoak siwinski php-EasyRdf slaanesh bacula fschwarz,ixs,kanarip,limb,phracek,slaanesh slaanesh meanwhile tbreeds slankes libacpi slankes yacpi snirkel libmtp snirkel libnjb somlo perl-Catalyst-Authentication-Store-DBIx-Class somlo perl-Catalyst-Plugin-Authorization-ACL spot asymptote spot gperftools spot lincity-ng spot nwsclient spot QuantLib spot rekall spot R salimma spot srecord ssp libXaw stefan synopsis steve celestia mmahut steved libevent stevej opendkim stevetraylen fetch-crl davidg stevetraylen log4cpp stevetraylen myproxy ellert,elwell,jbasney sthiell clustershell stransky berusky sundaram chocolate-doom sundaram gyachi ghosler tbreeds libbsr tbreeds libtopology aarapov terjeros gle jussilehtola terjeros mtpaint than kdelibs3 kkofler,ltinkl,rdieter,tuxbrewr than qt3 kkofler,rdieter thm awesome sochotni thm etckeeper thm thomasmoulard roboptim-core thomasmoulard roboptim-trajectory tibbs horde nb tibbs kronolith nb till apvlv till fwbuilder till gpscorrelate till libHX steve timj alsa-tools perex timlau python-iniparse timn fawkes rmattes timn libdc1394 dajt timn libkni3 timn libmicrohttpd vpavlin timn pcl rmattes tnorth avr-libc mhlavink,trondd tomspur ipython mrunge,shahms,tomspur tomspur python-visual topdog dojo heffer toshio bzr hno,ooprala,shahms,toshio,vvitek tradej hsqldb fnasser,mizdebsk,msrb,sochotni,tradej tremble normaliz ttorcz uptimed vakwetu nuxwdog ausil,edewata,kwright,mharmsen,vakwetu valtri canl-c valtri log4c vcrhonek cim-schema gunnersrini,praveenp vcrhonek sblim-cim-client2 vcrhonek sblim-cim-client vcrhonek sblim-cmpi-base aledvink vcrhonek sblim-cmpi-devel vcrhonek sblim-cmpi-dhcp vcrhonek sblim-cmpi-dns vcrhonek sblim-cmpi-fsvol vcrhonek sblim-cmpi-network gunnersrini,praveenp vcrhonek sblim-cmpi-nfsv3 vcrhonek sblim-cmpi-nfsv4 vcrhonek sblim-cmpi-params vcrhonek sblim-cmpi-samba vcrhonek sblim-cmpi-sysfs vcrhonek sblim-cmpi-syslog vcrhonek sblim-gather rrakus vcrhonek sblim-testsuite vcrhonek sblim-tools-libra vcrhonek tog-pegasus hamzy veillard libxml2 davidcl veillard libxslt verdurin arpage verdurin flowcanvas vicodan ConsoleKit lennart,mccann,mclasen,rstrode,vicodan wcohen oprofile wolfy qfaxreader xgl-maint xorg-sgml-doctools xgl-maint xorg-x11-xtrans-devel zaniyah gold zaniyah
On 2013-07-27 00:02, Michael Cronenworth wrote:
On 07/26/2013 03:14 PM, Ville Skyttä wrote:
mooninite mediawiki mooninite,puiterwijk mooninite mingw-ftplib epienbro
These seem to be a false positive. They both use %doc and do not list any files manually in a doc folder. ...or am I missing something?
Yes :)
$ grep -E "(/doc|_docdir|_defaultdocdir).+version" mediawiki/* mediawiki/mediawiki.spec:This package supports wiki farms. Read the instructions for creating wiki instances under %{_defaultdocdir}/%{name}-%{version}/README.RPM. mediawiki/mediawiki.spec:mkdir -p %{buildroot}%{_defaultdocdir}/%{name}-%{version} mediawiki/mediawiki.spec:cp -p %{SOURCE2} %{buildroot}%{_defaultdocdir}/%{name}-%{version}/
Use %{_pkgdocdir} instead of %{_defaultdocdir}/%{name}-%{version}, see examples in this thread.
$ grep -E "(/doc|_docdir|_defaultdocdir).+version" mingw-ftplib/* mingw-ftplib/mingw-ftplib.spec:mkdir -p $RPM_BUILD_ROOT/%{_docdir}/%{name}-%{version}
I suppose this is just a matter of removing the above line, it doesn't seem to serve any purpose.
Ville Skyttä wrote:
The special (pathless) %doc macro now installs docs to unversioned /usr/share/doc/%{name} dir in Rawhide.
Not quite, it appears. %{name} is the name of the main package, but %doc still produces a separate directory for each subpackage.
_docdir_fmt seems to be defined as "%%{NAME}" in current Rawhide, so I guess NAME is different from name.
Either way the suggested way to handle this is by using the %{_pkgdocdir} macro which is now in Rawhide, in redhat-rpm-config >= 9.1.0-50.fc20.
_pkgdocdir is defined as "%{_docdir}/%{name}", so in subpackages it will differ from what %doc uses. Packagers need to be aware of this.
%{!?_pkgdocdir: %global _pkgdocdir %{_docdir}/%{name}-%{version}}
And this also differs from what %doc uses for subpackages in earlier releases, which may or may not be OK depending on how the package was made before.
On 2013-07-28 21:17, Björn Persson wrote:
Ville Skyttä wrote:
The special (pathless) %doc macro now installs docs to unversioned /usr/share/doc/%{name} dir in Rawhide.
Not quite, it appears. %{name} is the name of the main package, but %doc still produces a separate directory for each subpackage.
Sure.
Regarding subpackages, I'd suggest installing their docs with plain "special" %doc -- often installing the docs in %install to a temporary staging dir helps with this. On the other hand with doc-only subpackages I personally think that it would often make sense to install into the main package's docdir instead of creating a separate dir, e.g. for a package named foo, IMO it's better to have all docs in /usr/share/doc/foo than some in that plus some in /usr/share/doc/foo-doc.
On Sun, 28 Jul 2013 21:36:54 +0200, Ville Skyttä wrote:
On the other hand with doc-only subpackages I personally think that it would often make sense to install into the main package's docdir instead of creating a separate dir, e.g. for a package named foo, IMO it's better to have all docs in /usr/share/doc/foo than some in that plus some in /usr/share/doc/foo-doc.
This does not work, gdb.spec: %files doc %doc %{gdb_build}/gdb/doc/{gdb,annotate}.{html,pdf} -> /usr/share/doc/gdb-doc/annotate.html /usr/share/doc/gdb-doc/annotate.pdf /usr/share/doc/gdb-doc/gdb.html /usr/share/doc/gdb-doc/gdb.pdf
If it should be /usr/share/doc/ then rpm macros need to be changed first accordingly to s/-doc$// on the directory name.
Therefore currently keeping the path /usr/share/doc/gdb-doc/ for gdb-doc.rpm.
Jan
On 2013-07-29 16:54, Jan Kratochvil wrote:
This does not work, gdb.spec: %files doc %doc %{gdb_build}/gdb/doc/{gdb,annotate}.{html,pdf} -> /usr/share/doc/gdb-doc/annotate.html /usr/share/doc/gdb-doc/annotate.pdf /usr/share/doc/gdb-doc/gdb.html /usr/share/doc/gdb-doc/gdb.pdf
Right, special %doc uses the subpackage name.
If it should be /usr/share/doc/ then rpm macros need to be changed first accordingly to s/-doc$// on the directory name.
I don't think that's desirable. (I'm assuming you meant "If it should be /usr/share/doc/gdb ...".)
Therefore currently keeping the path /usr/share/doc/gdb-doc/ for gdb-doc.rpm.
If you wanted to move to /usr/share/doc/gdb, you could take advantage of the %{_pkgdocdir} property that it points to the main package, for example like in the attached patch.
On Mon, 29 Jul 2013 17:58:19 +0200, Ville Skyttä wrote:
If it should be /usr/share/doc/gdb/ then rpm macros need to be changed first accordingly to s/-doc$// on the directory name.
I don't think that's desirable.
And a reason why?
Therefore currently keeping the path /usr/share/doc/gdb-doc/ for gdb-doc.rpm.
If you wanted to move to /usr/share/doc/gdb, you could take advantage of the %{_pkgdocdir} property that it points to the main package, for example like in the attached patch.
The whole goal of my mail was to say if the packaging rule is s/-doc$// then the system macros should implement it that way. Why every pacakge should workaround it instead?
Jan
On Mon, Jul 29, 2013 at 6:38 PM, Jan Kratochvil jan.kratochvil@redhat.com wrote:
On Mon, 29 Jul 2013 17:58:19 +0200, Ville Skyttä wrote:
Therefore currently keeping the path /usr/share/doc/gdb-doc/ for gdb-doc.rpm.
If you wanted to move to /usr/share/doc/gdb, you could take advantage of the %{_pkgdocdir} property that it points to the main package, for example like in the attached patch.
The whole goal of my mail was to say if the packaging rule is s/-doc$// then the system macros should implement it that way. Why every pacakge should workaround it instead?
I'm not sure it can be completely automated. For libraries it makes sense to separate end-user documentation (in %{name}) and programmer's documentation (in %{name}-devel). %doc can't (currently?) tell the difference between -devel and -doc. Mirek
Miloslav Trmač wrote:
For libraries it makes sense to separate end-user documentation (in %{name}) and programmer's documentation (in %{name}-devel).
If you're talking about packages, then yes, it makes perfect sense to separate documentation into different subpackages. (Not that libraries usually have much in the way of end-user documentation. There's often little more than a license file in the main package.)
I'm not convinced that there is a real need to give each subpackage its own directory in /usr/share/doc. Nothing prevents several packages from installing files in the same directory, and name collisions are easy to prevent when all of the packages are subpackages generated from the same spec file. Several subpackages may need to own the same directory but that's not a problem.
So I think the separate directories are a little bit silly but not really a problem. In my previous message I mostly wanted to point out the differences to make people aware of them.
However, if we want to switch to a single directory named after the main package, then we should do it now. Once the documentation files have stable pathnames we shouldn't change them again. (It may already be too late. Has the mass rebuild begun yet?)
On Mon, 29 Jul 2013 20:38:21 +0200, Björn Persson wrote:
I'm not convinced that there is a real need to give each subpackage its own directory in /usr/share/doc.
For example -devel subpackage documentation is typically not interesting for a user searching normal documentation.
Moreover one typically is not interested in documentation for the -devel subpackage even if the -devel package got installed due to some reason.
This is why s/-doc$// was discussed.
Jan
On Fri, Jul 26, 2013 at 11:25:19AM +0300, Ville Skyttä wrote:
The special (pathless) %doc macro now installs docs to unversioned /usr/share/doc/%{name} dir in Rawhide. Packages that don't refer to their doc dir by any other means do not need any changes, just a rebuild.
Packages that do refer to their doc dir by some other means will need changes. It depends on the package if not addressing this will result in a build failure or docs still being installed into "wrong" (versioned) dirs. Either way the suggested way to handle this is by using the %{_pkgdocdir} macro which is now in Rawhide, in redhat-rpm-config >= 9.1.0-50.fc20. I'm guessing that this macro might be backported to earlier Fedora releases (where it'll expand to a dir appropriate for those releases) too at some point, but it is unclear when, and also unclear if it will make it into EPEL. Luckily handling
Why is it so hard to just backport this change? And if it needs to be decided why does FESCO not just do it? Or who needs to decide it?
Regards Till
On Tue, 6 Aug 2013 17:53:22 +0200 Till Maas opensource@till.name wrote:
On Fri, Jul 26, 2013 at 11:25:19AM +0300, Ville Skyttä wrote:
The special (pathless) %doc macro now installs docs to unversioned /usr/share/doc/%{name} dir in Rawhide. Packages that don't refer to their doc dir by any other means do not need any changes, just a rebuild.
Packages that do refer to their doc dir by some other means will need changes. It depends on the package if not addressing this will result in a build failure or docs still being installed into "wrong" (versioned) dirs. Either way the suggested way to handle this is by using the %{_pkgdocdir} macro which is now in Rawhide, in redhat-rpm-config >= 9.1.0-50.fc20. I'm guessing that this macro might be backported to earlier Fedora releases (where it'll expand to a dir appropriate for those releases) too at some point, but it is unclear when, and also unclear if it will make it into EPEL. Luckily handling
Why is it so hard to just backport this change? And if it needs to be decided why does FESCO not just do it? Or who needs to decide it?
Well, The redhat-rpm-config maintainer is on vacation right now.
I guess I could push an update to earlier releases, do you have a tested patch? ;)
kevin
Kevin Fenzi venit, vidit, dixit 07.08.2013 18:39:
On Tue, 6 Aug 2013 17:53:22 +0200 Till Maas opensource@till.name wrote:
On Fri, Jul 26, 2013 at 11:25:19AM +0300, Ville Skyttä wrote:
The special (pathless) %doc macro now installs docs to unversioned /usr/share/doc/%{name} dir in Rawhide. Packages that don't refer to their doc dir by any other means do not need any changes, just a rebuild.
Packages that do refer to their doc dir by some other means will need changes. It depends on the package if not addressing this will result in a build failure or docs still being installed into "wrong" (versioned) dirs. Either way the suggested way to handle this is by using the %{_pkgdocdir} macro which is now in Rawhide, in redhat-rpm-config >= 9.1.0-50.fc20. I'm guessing that this macro might be backported to earlier Fedora releases (where it'll expand to a dir appropriate for those releases) too at some point, but it is unclear when, and also unclear if it will make it into EPEL. Luckily handling
Why is it so hard to just backport this change? And if it needs to be decided why does FESCO not just do it? Or who needs to decide it?
Well, The redhat-rpm-config maintainer is on vacation right now.
I guess I could push an update to earlier releases, do you have a tested patch? ;)
kevin
Now I'm even more confused by:
https://fedoraproject.org/wiki/Changes/UnversionedDocdirs
Building an F20 (master) package on F18 does not work, then, even with the proposed conditional %{_pkgdocdir}. Wouldn't a conditional based on the Fedora version be a much more robust suggestion to deal with this?
Michael
Michael J Gruber venit, vidit, dixit 08.08.2013 16:03:
Kevin Fenzi venit, vidit, dixit 07.08.2013 18:39:
On Tue, 6 Aug 2013 17:53:22 +0200 Till Maas opensource@till.name wrote:
On Fri, Jul 26, 2013 at 11:25:19AM +0300, Ville Skyttä wrote:
The special (pathless) %doc macro now installs docs to unversioned /usr/share/doc/%{name} dir in Rawhide. Packages that don't refer to their doc dir by any other means do not need any changes, just a rebuild.
Packages that do refer to their doc dir by some other means will need changes. It depends on the package if not addressing this will result in a build failure or docs still being installed into "wrong" (versioned) dirs. Either way the suggested way to handle this is by using the %{_pkgdocdir} macro which is now in Rawhide, in redhat-rpm-config >= 9.1.0-50.fc20. I'm guessing that this macro might be backported to earlier Fedora releases (where it'll expand to a dir appropriate for those releases) too at some point, but it is unclear when, and also unclear if it will make it into EPEL. Luckily handling
Why is it so hard to just backport this change? And if it needs to be decided why does FESCO not just do it? Or who needs to decide it?
Well, The redhat-rpm-config maintainer is on vacation right now.
I guess I could push an update to earlier releases, do you have a tested patch? ;)
kevin
Now I'm even more confused by:
https://fedoraproject.org/wiki/Changes/UnversionedDocdirs
Building an F20 (master) package on F18 does not work, then, even with the proposed conditional %{_pkgdocdir}. Wouldn't a conditional based on the Fedora version be a much more robust suggestion to deal with this?
Michael
[Sorry for the self-reply]
In fact, actually making use og git and its branches and having different spec files in different branches (by merging different feature branches) would be the really robust way of doing it. Though the way we do the branches doesn't exactly help (because we merge master down to earlier releases).
Michael
On 8 August 2013 16:03, Michael J Gruber < michaeljgruber+fedora-lists@gmail.com> wrote:
Building an F20 (master) package on F18 does not work, then, even with the proposed conditional %{_pkgdocdir}. Wouldn't a conditional based on the Fedora version be a much more robust suggestion to deal with this?
I've personally changed my packages to always pull docs with the %doc directive in the %files section, but I don't know if that's feasible enough for all cases. So far it worked for me; the same spec file works across el6, f18, f19 and f20.
Regards, --Simone
On 2013-08-08 17:03, Michael J Gruber wrote:
https://fedoraproject.org/wiki/Changes/UnversionedDocdirs
Building an F20 (master) package on F18 does not work, then, even with the proposed conditional %{_pkgdocdir}.
Sure it does, I've done dozens of them. Can't say much more without seeing a concrete case.
On Wed, Aug 07, 2013 at 10:39:53AM -0600, Kevin Fenzi wrote:
On Tue, 6 Aug 2013 17:53:22 +0200 Till Maas opensource@till.name wrote:
Why is it so hard to just backport this change? And if it needs to be decided why does FESCO not just do it? Or who needs to decide it?
Well, The redhat-rpm-config maintainer is on vacation right now.
I guess I could push an update to earlier releases, do you have a tested patch? ;)
I tested this with a package I maintain that used %{_pkgdocdir}: http://paste.fedoraproject.org/31165/89955137
It builds fine on Koji/F20 and with fedpkg local on F19. What else is there to test with such a trivial change?
Regards Till
On 07/23/2013 10:22 PM, Ville Skyttä wrote:
Hello,
Related to the unversioned docdirs F-20 feature [1], some changes with doc packages will be needed in a bunch of packages. More info will follow later, but I've started looking into the list of affected ones. Some related things are still being discussed on the packaging@ mailing list.
While assembling the list, I'll check which packages can be easily and cleanly made independent of whether their docs install into versioned or unversioned doc dirs, and will push and build those trivial changes to rawhide already now.
[1] https://fedoraproject.org/wiki/Changes/UnversionedDocdirs
May I ask what is the decision about %doc macro in rawhide? Is it supposed to work as it is? Then we should fix it. Is it supposed to not use? Then remove it. Or am I missing something?
RR
On 08/05/2013 09:38 AM, Roman Rakus wrote:
On 07/23/2013 10:22 PM, Ville Skyttä wrote:
Hello,
Related to the unversioned docdirs F-20 feature [1], some changes with doc packages will be needed in a bunch of packages. More info will follow later, but I've started looking into the list of affected ones. Some related things are still being discussed on the packaging@ mailing list.
While assembling the list, I'll check which packages can be easily and cleanly made independent of whether their docs install into versioned or unversioned doc dirs, and will push and build those trivial changes to rawhide already now.
[1] https://fedoraproject.org/wiki/Changes/UnversionedDocdirs
May I ask what is the decision about %doc macro in rawhide? Is it supposed to work as it is? Then we should fix it. Is it supposed to not use? Then remove it. Or am I missing something?
RR
Please, ignore - PEBKAC
RR
Hello,
could you please initiate an update in http://fedoraproject.org/wiki/How_to_create_an_RPM_package#.25files_prefixes page to reflect the change in %doc macro? It's literally and exactly misleading righ now:)
Thank you Ondrej
On 2013-08-05 11:14, Ondrej Kozina wrote:
could you please initiate an update in http://fedoraproject.org/wiki/How_to_create_an_RPM_package#.25files_prefixes page to reflect the change in %doc macro? It's literally and exactly misleading righ now:)
http://fedoraproject.org/wiki/How_to_create_an_RPM_package?diff=348057&o...
devel@lists.stg.fedoraproject.org