/[smeserver]/rpms/smeserver-php/sme10/smeserver-php.spec
ViewVC logotype

Diff of /rpms/smeserver-php/sme10/smeserver-php.spec

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph | View Patch Patch

Revision 1.9 by jpp, Wed Mar 25 03:06:31 2020 UTC Revision 1.54 by jpp, Sun Apr 17 18:50:57 2022 UTC
# Line 1  Line 1 
1  %define version 3.0.0  %define version 3.0.0
2  %define release 8  %define release 43
3  %define name smeserver-php  %define name smeserver-php
4    
5    
# Line 19  Patch5: smeserver-php-fpm-0.1.1-bz0335-f Line 19  Patch5: smeserver-php-fpm-0.1.1-bz0335-f
19  Patch6: smeserver-php-fpm-0.1.1-bz10335-fix3-systemd-units.patch  Patch6: smeserver-php-fpm-0.1.1-bz10335-fix3-systemd-units.patch
20  Patch7: smeserver-php-3.0.0-bz10891-php.ini-allversions.patch  Patch7: smeserver-php-3.0.0-bz10891-php.ini-allversions.patch
21  Patch8: smeserver-php-3.0.0-bz10904-pass-auth-token-to-fpm.patch  Patch8: smeserver-php-3.0.0-bz10904-pass-auth-token-to-fpm.patch
22    Patch9: smeserver-php-3.0.0-bz8787-phpmail.patch
23    Patch10: smeserver-php-3.0.0-bz11014.sme-server.target.patch
24    Patch11: smeserver-php-3.0.0-bz11087-webapps.patch
25    Patch12: smeserver-php-3.0.0-bz11092.typo-upload.patch
26    Patch13: smeserver-php-3.0.0-bz11173-bz11015-logging.patch
27    Patch14: smeserver-php-3.0.0-bz11267-ibay-php-version.patch
28    Patch15: smeserver-php-3.0.0-bz11287-fix-event-links.patch
29    Patch16: smeserver-php-3.0.0-bz11325-logging.patch
30    Patch17: smeserver-php-3.0.0-bz11287-pooldir.patch
31    Patch18: smeserver-php-3.0.0-bz11295-addphp80.patch
32    Patch19: smeserver-php-3.0.0-bz11410-sendmail.patch
33    Patch20: smeserver-php-3.0.0-bz11413-php-perl-module.patch
34    Patch21: smeserver-php-3.0.0-bz11401-empty-property-not-honored.patch
35    Patch22: smeserver-php-3.0.0-bz10907-phpfile-exist.patch
36    Patch23: smeserver-php-3.0.0-bz10890-allowphpembdedcode.patch
37    Patch24: smeserver-php-3.0.0-bz11427-timeout.patch
38    Patch25: smeserver-php-3.0.0-bz11411-uniformizePhpProperties.patch
39    Patch26: smeserver-php-3.0.0-bz11412-phptempsdirs.patch
40    Patch27: smeserver-php-3.0.0-bz11452-bz5759.patch
41    Patch28: smeserver-php-3.0.0-bz11422-logging.patch
42    Patch29: smeserver-php-3.0.0-bz11573.patch
43    Patch30: smeserver-php-3.0.0-bz8077-bz11666.patch
44    Patch31: smeserver-php-3.0.0-bz11666-error_reporting.patch
45    Patch32: smeserver-php-3.0.0-bz11717-addphp81.patch
46    Patch33: smeserver-php-3.0.0-bz11943-require.patch
47    
48  BuildRoot: /var/tmp/%{name}-%{version}-%{release}-buildroot  BuildRoot: /var/tmp/%{name}-%{version}-%{release}-buildroot
49  BuildArch: x86_64  BuildArch: x86_64
# Line 27  BuildRequires: e-smith-devtools Line 52  BuildRequires: e-smith-devtools
52  Requires: e-smith-base >= 5.6.0  Requires: e-smith-base >= 5.6.0
53  Provides: e-smith-php = %{version}-%{release}  Provides: e-smith-php = %{version}-%{release}
54  Obsoletes: e-smith-php < %{version}  Obsoletes: e-smith-php < %{version}
55    Provides: smeserver-webapps-common
56    Provides: php(language) = 8.0
57    Provides: php(language) = 7.4
58    Provides: php(language) = 7.3
59    Provides: php(language) = 7.2
60    Provides: php(language) = 7.1
61    Provides: php(language) = 7.0
62  Requires: tmpwatch  Requires: tmpwatch
63  Requires: logrotate  Requires: logrotate
64    
# Line 188  Requires: php74-php-soap Line 219  Requires: php74-php-soap
219  Requires: php74-php-opcache  Requires: php74-php-opcache
220  Requires: php74-php-fpm  Requires: php74-php-fpm
221  Requires: php74-php-mbstring  Requires: php74-php-mbstring
 Requires: php74-php-mysql  
222  Requires: php74-php-json  Requires: php74-php-json
223  Requires: php74-php-bcmath  Requires: php74-php-bcmath
224  Requires: php74-php-intl  Requires: php74-php-intl
# Line 197  Requires: php74-php-process Line 227  Requires: php74-php-process
227  Requires: php74-php-snmp  Requires: php74-php-snmp
228  Requires: php74-php, php74-php-enchant , php74-php-pdo php74-php-tidy ,  php74-php-mysqlnd php74-php-pecl-zip  Requires: php74-php, php74-php-enchant , php74-php-pdo php74-php-tidy ,  php74-php-mysqlnd php74-php-pecl-zip
229    
230    # PHP 8.0
231    Requires: php80-php-cli
232    Requires: php80-php-ldap
233    Requires: php80-php-imap
234    Requires: php80-php-gd
235    Requires: php80-php-xml
236    Requires: php80-php-xmlrpc
237    Requires: php80-php-soap
238    Requires: php80-php-opcache
239    Requires: php80-php-fpm
240    Requires: php80-php-mbstring
241    Requires: php80-php-json
242    Requires: php80-php-bcmath
243    Requires: php80-php-intl
244    Requires: php80-php-pear
245    Requires: php80-php-process
246    Requires: php80-php-snmp
247    Requires: php80-php, php80-php-enchant , php80-php-pdo php80-php-tidy ,  php80-php-mysqlnd php80-php-pecl-zip
248    
249    # PHP 8.1
250    Requires: php81-php-cli
251    Requires: php81-php-ldap
252    Requires: php81-php-imap
253    Requires: php81-php-gd
254    Requires: php81-php-xml
255    Requires: php81-php-xmlrpc
256    Requires: php81-php-soap
257    Requires: php81-php-opcache
258    Requires: php81-php-fpm
259    Requires: php81-php-mbstring
260    Requires: php81-php-json
261    Requires: php81-php-bcmath
262    Requires: php81-php-intl
263    Requires: php81-php-pear
264    Requires: php81-php-process
265    Requires: php81-php-snmp
266    Requires: php81-php, php81-php-enchant , php81-php-pdo php81-php-tidy ,  php81-php-mysqlnd php81-php-pecl-zip
267    
268  %description  %description
269  Manage PHP FPM pools, and switch between PHP versions easily  Manage PHP FPM pools, and switch between PHP versions easily
270    
# Line 211  Manage PHP FPM pools, and switch between Line 279  Manage PHP FPM pools, and switch between
279  %patch6 -p1  %patch6 -p1
280  %patch7 -p1  %patch7 -p1
281  %patch8 -p1  %patch8 -p1
282    %patch9 -p1
283    %patch10 -p1
284    %patch11 -p1
285    %patch12 -p1
286    %patch13 -p1
287    %patch14 -p1
288    %patch15 -p1
289    %patch16 -p1
290    %patch17 -p1
291    %patch18 -p1
292    %patch19 -p1
293    %patch20 -p1
294    %patch21 -p1
295    %patch22 -p1
296    %patch23 -p1
297    %patch24 -p1
298    %patch25 -p1 -F4
299    %patch26 -p1
300    %patch27 -p1
301    %patch28 -p1
302    %patch29 -p1
303    %patch30 -p1
304    %patch31 -p1
305    %patch32 -p1
306    %patch33 -p1
307    
308  %build  %build
309  perl createlinks  perl createlinks
# Line 221  perl createlinks Line 314  perl createlinks
314  #%{__mkdir_p} root/%{_unitdir}/php-fpm.service.d/  #%{__mkdir_p} root/%{_unitdir}/php-fpm.service.d/
315  #echo '' >  root/%{_unitdir}/php-fpm.service.d/php-fpm.conf  #echo '' >  root/%{_unitdir}/php-fpm.service.d/php-fpm.conf
316  #enable by default  #enable by default
317  %{__mkdir_p} root/%{_presetdir}  #%{__mkdir_p} root/%{_presetdir}
318  echo 'enable php-fpm.service' >root/%{_presetdir}/80-koozali-php.preset  #echo 'enable php-fpm.service' >root/%{_presetdir}/80-koozali-php.preset
319    
320    #drop in systemd file
321    %{__mkdir_p} root/usr/lib/systemd/system/php-fpm.service.d
322    echo "[Install]" > root/usr/lib/systemd/system/php-fpm.service.d/51koozali.conf
323    echo "WantedBy=sme-server.target" >> root/usr/lib/systemd/system/php-fpm.service.d/51koozali.conf
324    
325  for phpver in "55" "56" "70" "71" "72" "73" "74"; do  %{__mkdir_p} root/etc/e-smith/templates.metadata/etc/logrotate.d/
326    for phpver in "55" "56" "70" "71" "72" "73" "74" "80" "81"; do
327  #needed folder  #needed folder
328  %{__mkdir_p} root/var/log/php/php$phpver/  %{__mkdir_p} root/var/log/php/php$phpver/
329  %{__mkdir_p} root/var/lib/php/php$phpver/{session,tmp,opcache,wsdlcache}  %{__mkdir_p} root/var/lib/php/php$phpver/{session,tmp,opcache,wsdlcache}
330    
331  #db configuration  #db configuration
332  %{__mkdir_p} root/etc/e-smith/db/configuration/defaults/php$phpver-php-fpm  %{__mkdir_p} root/etc/e-smith/db/configuration/defaults/php$phpver-php-fpm
333    %{__mkdir_p} root/etc/e-smith/db/configuration/defaults/php$phpver
334  echo 'enabled' > root/etc/e-smith/db/configuration/defaults/php$phpver-php-fpm/status  echo 'enabled' > root/etc/e-smith/db/configuration/defaults/php$phpver-php-fpm/status
335  echo 'service'> root/etc/e-smith/db/configuration/defaults/php$phpver-php-fpm/type  echo 'service'> root/etc/e-smith/db/configuration/defaults/php$phpver-php-fpm/type
336    
337  #create service configuration for SME Seerver  echo 'configuration'> root/etc/e-smith/db/configuration/defaults/php$phpver/type
338  #%{__mkdir_p} root/%{_unitdir}/php$phpver-php-fpm.service.d/  echo 'Off'> root/etc/e-smith/db/configuration/defaults/php$phpver/AllowUrlFopen
 #echo '' >  root/%{_unitdir}/php$phpver-php-fpm.service.d/php$phpver-php-fpm.conf  
   
 #enable by default php fpm  
 echo 'enable php'$phpver'-php-fpm.service' >>root/%{_presetdir}/80-koozali-php.preset  
339    
340    #logrotate templates
341    echo 'TEMPLATE_PATH="/etc/logrotate.d/php-fpm"
342    MORE_DATA={ PHP_VERSION => '$phpver'}' > root/etc/e-smith/templates.metadata/etc/logrotate.d/php$phpver-php-fpm
343    
344    #drop in systemd file
345    %{__mkdir_p} root/usr/lib/systemd/system/php$phpver-php-fpm.service.d
346    echo "[Install]" > root/usr/lib/systemd/system/php$phpver-php-fpm.service.d/51koozali.conf
347    echo "WantedBy=sme-server.target" >> root/usr/lib/systemd/system/php$phpver-php-fpm.service.d/51koozali.conf
348    
349  done  done
350    
351  #to add a new php version  #to add a new php version
352  #php5*  #php5*
353  for phpver in  "55" ; do  for phpver in  "55" ; do
354  #cp php56 metadata  #cp php56 metadata
355  cp -a  root/etc/e-smith/templates.metadata/opt/remi/php56 root/etc/e-smith/templates.metadata/opt/remi/php$phpver  mkdir -p  root/etc/e-smith/templates.metadata/opt/remi/php$phpver
356    cp -a  root/etc/e-smith/templates.metadata/opt/remi/php56/* root/etc/e-smith/templates.metadata/opt/remi/php$phpver
357  #sed inplace  #sed inplace
358  find root/etc/e-smith/templates.metadata/opt/remi/php$phpver  -type f -print0 | xargs -0 sed -i 's/56/'$phpver'/g'  find root/etc/e-smith/templates.metadata/opt/remi/php$phpver  -type f -print0 | xargs -0 sed -i 's/56/'$phpver'/g'
359  done  done
360    
361  # php7*  # php7*
362  for phpver in  "72" "73" "74"; do  for phpver in  "72" "73" "74" "80" "81"; do
363  #cp ph70 metada  #cp ph70 metada
364  cp -a  root/etc/e-smith/templates.metadata/etc/opt/remi/php70 root/etc/e-smith/templates.metadata/etc/opt/remi/php$phpver  mkdir -p root/etc/e-smith/templates.metadata/etc/opt/remi/php$phpver/
365    cp -a  root/etc/e-smith/templates.metadata/etc/opt/remi/php70/* root/etc/e-smith/templates.metadata/etc/opt/remi/php$phpver/
366  #sed inplace  #sed inplace
367  find root/etc/e-smith/templates.metadata/etc/opt/remi/php$phpver  -type f -print0 | xargs -0 sed -i 's/70/'$phpver'/g'  find root/etc/e-smith/templates.metadata/etc/opt/remi/php$phpver  -type f -print0 | xargs -0 sed -i 's/70/'$phpver'/g'
368  done  done
369    
370  # then patch the following files  # then patch the following files
371  #./templates/etc/logrotate.d/php-fpm/php-fpm:      /sbin/e-smith/service php56-php-fpm reload >/dev/null 2>&1 || true  ### TODO
372  #./templates/etc/httpd/conf/httpd.conf/68FastCGIConfig:  foreach my $ver ('', '56', '70', '71'){  ### fix those files so we do not have to patch them, but generate them or sed them to change a known WORDTODOGENERIC
373  #./templates/etc/cron.daily/tmpwatch-php-fpm/10Defaults:for VER in php php56 php70 php71; do  #smeserver-php-3.0.0/createlinks
374    #smeserver-php-3.0.0/root/etc/e-smith/templates/etc/cron.daily/tmpwatch-php-fpm/10Defaults
375    #smeserver-php-3.0.0/root/etc/e-smith/templates/etc/logrotate.d/php-fpm/php-fpm
376    #smeserver-php-3.0.0/root/etc/e-smith/templates/etc/rsyslog.conf/32php # this one could be cut in fragments per version
377    #smeserver-php-3.0.0/root/etc/e-smith/templates.metadata/etc/opt/remi/php81/php.ini
378    
379  %install  %install
380  /bin/rm -rf $RPM_BUILD_ROOT  /bin/rm -rf $RPM_BUILD_ROOT
# Line 276  done Line 386  done
386    --dir /var/lib/php/php/tmp 'attr(0770,root,www)' \    --dir /var/lib/php/php/tmp 'attr(0770,root,www)' \
387    --dir /var/lib/php/php/opcache 'attr(0770,root,www)' \    --dir /var/lib/php/php/opcache 'attr(0770,root,www)' \
388    --dir /var/lib/php/php/wsdlcache 'attr(0770,root,www)' \    --dir /var/lib/php/php/wsdlcache 'attr(0770,root,www)' \
389  `for phpver in "54" "55" "56" "70" "71" "72" "73" "74"; do  echo -n "--dir /var/log/php/php$phpver attr(0770,root,www) --dir /var/lib/php/php$phpver/session attr(0770,root,www) --dir /var/lib/php/php$phpver/tmp attr(0770,root,www) --dir /var/lib/php/php$phpver/opcache attr(0770,root,www) --dir /var/lib/php/php$phpver/wsdlcache attr(0770,root,www) ";done `   \  `for phpver in "54" "55" "56" "70" "71" "72" "73" "74" "80" "81"; do  echo -n "--dir /var/log/php/php$phpver attr(0770,root,www) --dir /var/lib/php/php$phpver/session attr(0770,root,www) --dir /var/lib/php/php$phpver/tmp attr(0770,root,www) --dir /var/lib/php/php$phpver/opcache attr(0770,root,www) --dir /var/lib/php/php$phpver/wsdlcache attr(0770,root,www) ";done ` \
390    > %{name}-%{version}-filelist    > %{name}-%{version}-filelist
391    
392    
# Line 295  rm -rf $RPM_BUILD_ROOT Line 405  rm -rf $RPM_BUILD_ROOT
405  %preun  %preun
406    
407  %changelog  %changelog
408    * Sun Apr 17 2022 Jean-Philippe Pialasse <tests@pialasse.com> 3.0.0-43.sme
409    - update to httpd 2.4 Require usage [SME: 11943]
410    
411    * Mon Dec 20 2021 Jean-Philippe Pialasse <tests@pialasse.com> 3.0.0-42.sme
412    - fix missing section in php-fpm dropin file [SME: 11814]
413    
414    * Sun Oct 24 2021 Jean-Philippe Pialasse <tests@pialasse.com> 3.0.0-41.sme
415    - add php81 support [SME: 11717]
416    
417    * Fri Sep 24 2021 John Crisp <jcrisp@safeandsoundit.co.uk> 3.0.0-40.sme
418    - Fix incorrect commenting for error reporting
419    
420    * Fri Sep 17 2021 Jean-Philippe Pialasse <tests@pialasse.com> 3.0.0-39.sme
421    - add ErrorReporting and DisplayErrors properties [SME: 8077]
422      only per ibays (php defaults still hardcoded)
423    - fix typo in AllowUrlFopen, was using AllowUrlfOpen for ibays in httpd [SME: 11666]
424    
425    * Wed Jun 30 2021 Jean-Philippe Pialasse <tests@pialasse.com> 3.0.0-37.sme
426    - fix typo in 25SSLDirectives fragment for WebAppVirtualHost [SME: 11641]
427    
428    * Thu Jun 03 2021 Terry Fage <tfage@yahoo.com.au> 3.0.0-35.sme
429    - fix syntax error "> - >>" in spec file for systemd drop in [SME: 11612]
430    
431    * Wed Apr 21 2021 Jean-Philippe Pialasse <tests@pialasse.com> 3.0.0-34.sme
432    - fix open_basedir for pool missing /var/lib/php/$ibay/ [SME: 11573]
433    
434    * Tue Mar 16 2021 Jean-Philippe Pialasse <tests@pialasse.com> 3.0.0-33.sme
435    - clean rsyslog syntax for php [SME: 11422]
436    
437    * Tue Mar 16 2021 Jean-Philippe Pialasse <tests@pialasse.com> 3.0.0-32.sme
438    - add /usr/share/pear and /usr/share/php to basedir [SME: 5759]
439    - fix last big differences between module setting and fpm [SME: 11452]
440    
441    * Mon Mar 08 2021 Jean-Philipe Pialasse <tests@pialasse.com> 3.0.0-31.sme
442    - move from e-smith-ibays handling of temps dirs [SME: 11412]
443    - improve httpd fragment [SME: 11401]
444    
445    * Mon Mar 08 2021 Jean-Philipe Pialasse <tests@pialasse.com> 3.0.0-30.sme
446    -  uniformize php related properties between ibays and php [SME: 11411]
447       tidy fragments for php-fpm and ibays
448    -  revert patch for timeouts [SME: 11427]
449    
450    * Mon Mar 08 2021 Jean-Philipe Pialasse <tests@pialasse.com> 3.0.0-28.sme
451    - filter non existing php script [SME: 10907]
452    - allow php embded files per ibay using AllowPHTML [SME: 10890]
453    - add timeout property in case of need for long running script [SME: 11427]
454      e.g. upgrade of a wiki
455    
456    * Mon Mar 08 2021 Jean-Philipe Pialasse <tests@pialasse.com> 3.0.0-27.sme
457    - String not honoured as php-fpm but as default [SME: 11401]
458    
459    * Sat Mar 06 2021 Jean-Philipe Pialasse <tests@pialasse.com> 3.0.0-26.sme
460    - improve sendmail parameter, force sender  [SME: 11410]
461      MailForceSender as property for php versions, ibays and pools
462    - add perl module to help handling fpm version available [SME: 11413]
463    
464    * Mon Feb 22 2021 Jean-Philipe Pialasse <tests@pialasse.com> 3.0.0-25.sme
465    - add missing default db configuration for php80* [SME: 11378]
466    
467    * Sun Feb 21 2021 Jean-Philipe Pialasse <tests@pialasse.com> 3.0.0-24.sme
468    - allow php-pool-dirs to run from generik event [SME: 11287]
469    - add php80 support [SME: 11295]
470    
471    * Wed Jan 27 2021 Jean-Philipe Pialasse <tests@pialasse.com> 3.0.0-23.sme
472    - fix php55 logrotate [SME: 11325]
473    - cleanup remove services in sme-server.target.wants [SME: 10956]
474    - remove usr/lib preset file from rpm [SME: 10958]
475    
476    * Fri Dec 25 2020 Jean-Philipe Pialasse <tests@pialasse.com> 3.0.0-22.sme
477    - add WantedBy=sme-server.target for all php-fpm service files [SME: 11294]
478    
479    * Mon Dec 21 2020 John Crisp <jcrisp@safeandsoundit.co.uk> 3.0.0.21.sme
480    - Fix createlinks typo missing event links [SME: 11287]
481    - Fix typo
482    
483    * Thu Dec 17 2020 John Crisp <jcrisp@safeandsoundit.co.uk> 3.0.0.20.sme
484    - Fix individual PHP version for ibay [SME: 11267]
485    
486    * Sun Dec 13 2020 Jean-Philipe Pialasse <tests@pialasse.com> 3.0.0-19.sme
487    - fix wrong syntax = in place of eq [SME: 11173]
488      thanks to Terry Fage
489    
490    * Mon Dec 07 2020 Jean-Philipe Pialasse <tests@pialasse.com> 3.0.0-18.sme
491    - fix logrotate error because parent directory has insecure permissions [SME: 11173]
492    
493    * Wed Nov 18 2020 Jean-Philipe Pialasse <tests@pialasse.com> 3.0.0-17.sme
494    - fix warning: ~ action is deprecated with rsyslog [SME: 11015]
495    - fix logrotate error because parent directory has insecure permissions [SME: 11173]
496    
497    * Mon Nov 09 2020 Jean-Philipe Pialasse <tests@pialasse.com> 3.0.0-16.sme
498    - fix typo for upload_tmp_dir [SME: 11092]
499    
500    * Sun Nov 08 2020 Jean-Philipe Pialasse <tests@pialasse.com> 3.0.0-15.sme
501    - improve integration of webapps : virtualhost and event [SME: 11087]
502    
503    * Wed Sep 30 2020 Jean-Philipe Pialasse <tests@pialasse.com> 3.0.0-14.sme
504    - enable php services for sme-server.target [SME: 11014]
505    
506    * Tue Jun 23 2020 Jean-Philipe Pialasse <tests@pialasse.com> 3.0.0-13.sme
507    - move and fix link to start services units [SME: 10960]
508    
509    * Fri Mar 27 2020 Jean-Philipe Pialasse <tests@pialasse.com> 3.0.0-12.sme
510    - fix typo in  smeserver-php-3.0.0-bz10904-pass-auth-token-to-fpm.patch [SME: 10904]
511    
512    * Thu Mar 26 2020 Jean-Philipe Pialasse <tests@pialasse.com> 3.0.0-11.sme
513    - help monitoring email sent by php [SME: 8787]
514    
515    * Thu Mar 26 2020 Jean-Philipe Pialasse <tests@pialasse.com> 3.0.0-9.sme
516    - move auto_prepend_file from php.ini to php-fpm.d [SME: 10904]
517      add /usr/share/php in open_basedir if dfined to allow execution of auto_prepend_file
518    - fix templates-metadata path fot php 55 72 73 74
519    
520  * Tue Mar 24 2020 Jean-Philipe Pialasse <tests@pialasse.com> 3.0.0-8.sme  * Tue Mar 24 2020 Jean-Philipe Pialasse <tests@pialasse.com> 3.0.0-8.sme
521  - transfer SERVER auth variables from httpd server to php-fpm pool [SME: 10904]  - transfer SERVER auth variables from httpd server to php-fpm pool [SME: 10904]
522    this allow easy auth for php app using httpd auth as if using php module    this allow easy auth for php app using httpd auth as if using php module


Legend:
Removed lines/characters  
Changed lines/characters
  Added lines/characters

admin@koozali.org
ViewVC Help
Powered by ViewVC 1.2.1 RSS 2.0 feed