Index: Makefile
===================================================================
RCS file: /cvs/ports/security/plaso/Makefile,v
retrieving revision 1.4
diff -u -p -u -p -r1.4 Makefile
--- Makefile 6 Jan 2018 10:10:13 -0000 1.4
+++ Makefile 1 Feb 2018 05:39:48 -0000
@@ -2,7 +2,7 @@
COMMENT = engine and tools to automate creation of super timeline
-MODPY_EGG_VERSION = 20171231
+MODPY_EGG_VERSION = 20180127
DISTNAME = plaso-${MODPY_EGG_VERSION}
CATEGORIES = security
Index: distinfo
===================================================================
RCS file: /cvs/ports/security/plaso/distinfo,v
retrieving revision 1.4
diff -u -p -u -p -r1.4 distinfo
--- distinfo 6 Jan 2018 10:10:13 -0000 1.4
+++ distinfo 1 Feb 2018 05:39:48 -0000
@@ -1,2 +1,2 @@
-SHA256 (plaso-20171231.tar.gz) = owsyaYyhFo3ChIZf3wAfJuSd8UHEa83bLLMpW1bhqb8=
-SIZE (plaso-20171231.tar.gz) = 108775975
+SHA256 (plaso-20180127.tar.gz) = i7wASIbQIw3HtlYU9DatjwI3/DYyx5S/zDGVzsgx1L8=
+SIZE (plaso-20180127.tar.gz) = 110251128
Index: pkg/PLIST
===================================================================
RCS file: /cvs/ports/security/plaso/pkg/PLIST,v
retrieving revision 1.4
diff -u -p -u -p -r1.4 PLIST
--- pkg/PLIST 6 Jan 2018 10:10:13 -0000 1.4
+++ pkg/PLIST 1 Feb 2018 05:39:48 -0000
@@ -31,6 +31,8 @@ lib/python${MODPY_VERSION}/site-packages
lib/python${MODPY_VERSION}/site-packages/plaso/analysis/mediator.pyc
lib/python${MODPY_VERSION}/site-packages/plaso/analysis/nsrlsvr.py
lib/python${MODPY_VERSION}/site-packages/plaso/analysis/nsrlsvr.pyc
+lib/python${MODPY_VERSION}/site-packages/plaso/analysis/sessionize.py
+lib/python${MODPY_VERSION}/site-packages/plaso/analysis/sessionize.pyc
lib/python${MODPY_VERSION}/site-packages/plaso/analysis/tagging.py
lib/python${MODPY_VERSION}/site-packages/plaso/analysis/tagging.pyc
lib/python${MODPY_VERSION}/site-packages/plaso/analysis/unique_domains_visited.py
@@ -113,6 +115,8 @@ lib/python${MODPY_VERSION}/site-packages
lib/python${MODPY_VERSION}/site-packages/plaso/cli/helpers/profiling.pyc
lib/python${MODPY_VERSION}/site-packages/plaso/cli/helpers/server_config.py
lib/python${MODPY_VERSION}/site-packages/plaso/cli/helpers/server_config.pyc
+lib/python${MODPY_VERSION}/site-packages/plaso/cli/helpers/sessionize_analysis.py
+lib/python${MODPY_VERSION}/site-packages/plaso/cli/helpers/sessionize_analysis.pyc
lib/python${MODPY_VERSION}/site-packages/plaso/cli/helpers/shared_4n6time_output.py
lib/python${MODPY_VERSION}/site-packages/plaso/cli/helpers/shared_4n6time_output.pyc
lib/python${MODPY_VERSION}/site-packages/plaso/cli/helpers/sqlite_4n6time_output.py
@@ -307,6 +311,8 @@ lib/python${MODPY_VERSION}/site-packages
lib/python${MODPY_VERSION}/site-packages/plaso/formatters/firefox_cache.pyc
lib/python${MODPY_VERSION}/site-packages/plaso/formatters/firefox_cookies.py
lib/python${MODPY_VERSION}/site-packages/plaso/formatters/firefox_cookies.pyc
+lib/python${MODPY_VERSION}/site-packages/plaso/formatters/fseventsd.py
+lib/python${MODPY_VERSION}/site-packages/plaso/formatters/fseventsd.pyc
lib/python${MODPY_VERSION}/site-packages/plaso/formatters/ganalytics.py
lib/python${MODPY_VERSION}/site-packages/plaso/formatters/ganalytics.pyc
lib/python${MODPY_VERSION}/site-packages/plaso/formatters/gdrive.py
@@ -391,6 +397,8 @@ lib/python${MODPY_VERSION}/site-packages
lib/python${MODPY_VERSION}/site-packages/plaso/formatters/skype.pyc
lib/python${MODPY_VERSION}/site-packages/plaso/formatters/sophos_av.py
lib/python${MODPY_VERSION}/site-packages/plaso/formatters/sophos_av.pyc
+lib/python${MODPY_VERSION}/site-packages/plaso/formatters/srum.py
+lib/python${MODPY_VERSION}/site-packages/plaso/formatters/srum.pyc
lib/python${MODPY_VERSION}/site-packages/plaso/formatters/ssh.py
lib/python${MODPY_VERSION}/site-packages/plaso/formatters/ssh.pyc
lib/python${MODPY_VERSION}/site-packages/plaso/formatters/symantec.py
@@ -462,8 +470,6 @@ lib/python${MODPY_VERSION}/site-packages
lib/python${MODPY_VERSION}/site-packages/plaso/lib/objectfilter.pyc
lib/python${MODPY_VERSION}/site-packages/plaso/lib/pfilter.py
lib/python${MODPY_VERSION}/site-packages/plaso/lib/pfilter.pyc
-lib/python${MODPY_VERSION}/site-packages/plaso/lib/platform_specific.py
-lib/python${MODPY_VERSION}/site-packages/plaso/lib/platform_specific.pyc
lib/python${MODPY_VERSION}/site-packages/plaso/lib/plist.py
lib/python${MODPY_VERSION}/site-packages/plaso/lib/plist.pyc
lib/python${MODPY_VERSION}/site-packages/plaso/lib/py2to3.py
@@ -592,10 +598,14 @@ lib/python${MODPY_VERSION}/site-packages
lib/python${MODPY_VERSION}/site-packages/plaso/parsers/esedb_plugins/interface.pyc
lib/python${MODPY_VERSION}/site-packages/plaso/parsers/esedb_plugins/msie_webcache.py
lib/python${MODPY_VERSION}/site-packages/plaso/parsers/esedb_plugins/msie_webcache.pyc
+lib/python${MODPY_VERSION}/site-packages/plaso/parsers/esedb_plugins/srum.py
+lib/python${MODPY_VERSION}/site-packages/plaso/parsers/esedb_plugins/srum.pyc
lib/python${MODPY_VERSION}/site-packages/plaso/parsers/filestat.py
lib/python${MODPY_VERSION}/site-packages/plaso/parsers/filestat.pyc
lib/python${MODPY_VERSION}/site-packages/plaso/parsers/firefox_cache.py
lib/python${MODPY_VERSION}/site-packages/plaso/parsers/firefox_cache.pyc
+lib/python${MODPY_VERSION}/site-packages/plaso/parsers/fseventsd.py
+lib/python${MODPY_VERSION}/site-packages/plaso/parsers/fseventsd.pyc
lib/python${MODPY_VERSION}/site-packages/plaso/parsers/hachoir.py
lib/python${MODPY_VERSION}/site-packages/plaso/parsers/hachoir.pyc
lib/python${MODPY_VERSION}/site-packages/plaso/parsers/iis.py
@@ -881,20 +891,28 @@ lib/python${MODPY_VERSION}/site-packages
lib/python${MODPY_VERSION}/site-packages/plaso/storage/event_tag_index.pyc
lib/python${MODPY_VERSION}/site-packages/plaso/storage/factory.py
lib/python${MODPY_VERSION}/site-packages/plaso/storage/factory.pyc
-lib/python${MODPY_VERSION}/site-packages/plaso/storage/fake_storage.py
-lib/python${MODPY_VERSION}/site-packages/plaso/storage/fake_storage.pyc
-lib/python${MODPY_VERSION}/site-packages/plaso/storage/gzip_file.py
-lib/python${MODPY_VERSION}/site-packages/plaso/storage/gzip_file.pyc
+lib/python${MODPY_VERSION}/site-packages/plaso/storage/fake/
+lib/python${MODPY_VERSION}/site-packages/plaso/storage/fake/__init__.py
+lib/python${MODPY_VERSION}/site-packages/plaso/storage/fake/__init__.pyc
+lib/python${MODPY_VERSION}/site-packages/plaso/storage/fake/writer.py
+lib/python${MODPY_VERSION}/site-packages/plaso/storage/fake/writer.pyc
lib/python${MODPY_VERSION}/site-packages/plaso/storage/identifiers.py
lib/python${MODPY_VERSION}/site-packages/plaso/storage/identifiers.pyc
lib/python${MODPY_VERSION}/site-packages/plaso/storage/interface.py
lib/python${MODPY_VERSION}/site-packages/plaso/storage/interface.pyc
-lib/python${MODPY_VERSION}/site-packages/plaso/storage/sqlite_file.py
-lib/python${MODPY_VERSION}/site-packages/plaso/storage/sqlite_file.pyc
+lib/python${MODPY_VERSION}/site-packages/plaso/storage/sqlite/
+lib/python${MODPY_VERSION}/site-packages/plaso/storage/sqlite/__init__.py
+lib/python${MODPY_VERSION}/site-packages/plaso/storage/sqlite/__init__.pyc
+lib/python${MODPY_VERSION}/site-packages/plaso/storage/sqlite/merge_reader.py
+lib/python${MODPY_VERSION}/site-packages/plaso/storage/sqlite/merge_reader.pyc
+lib/python${MODPY_VERSION}/site-packages/plaso/storage/sqlite/reader.py
+lib/python${MODPY_VERSION}/site-packages/plaso/storage/sqlite/reader.pyc
+lib/python${MODPY_VERSION}/site-packages/plaso/storage/sqlite/sqlite_file.py
+lib/python${MODPY_VERSION}/site-packages/plaso/storage/sqlite/sqlite_file.pyc
+lib/python${MODPY_VERSION}/site-packages/plaso/storage/sqlite/writer.py
+lib/python${MODPY_VERSION}/site-packages/plaso/storage/sqlite/writer.pyc
lib/python${MODPY_VERSION}/site-packages/plaso/storage/time_range.py
lib/python${MODPY_VERSION}/site-packages/plaso/storage/time_range.pyc
-lib/python${MODPY_VERSION}/site-packages/plaso/storage/zip_file.py
-lib/python${MODPY_VERSION}/site-packages/plaso/storage/zip_file.pyc
lib/python${MODPY_VERSION}/site-packages/plaso/unix/
lib/python${MODPY_VERSION}/site-packages/plaso/unix/__init__.py
lib/python${MODPY_VERSION}/site-packages/plaso/unix/__init__.pyc
@@ -919,10 +937,10 @@ share/doc/plaso/AUTHORS
share/doc/plaso/LICENSE
share/doc/plaso/README
share/plaso/
-share/plaso/README
share/plaso/filter_windows.txt
+share/plaso/plaso-data.README
share/plaso/plaso_kibana_example.json
share/plaso/signatures.conf
-share/plaso/tag_macosx.txt
+share/plaso/tag_macos.txt
share/plaso/tag_windows.txt
share/plaso/winevt-rc.db
Hi,
this is the diff to update plaso to latest release.
Ok?
Cheers,
Remi.
Wednesday, January 31, 2018
[UPDATE] security/py-dfdatetime
Index: Makefile
===================================================================
RCS file: /cvs/ports/security/py-dfdatetime/Makefile,v
retrieving revision 1.4
diff -u -p -u -p -r1.4 Makefile
--- Makefile 6 Jan 2018 10:08:17 -0000 1.4
+++ Makefile 1 Feb 2018 05:20:59 -0000
@@ -2,7 +2,7 @@
COMMENT = Digital Forensics date and time
-MODPY_EGG_VERSION = 20171228
+MODPY_EGG_VERSION = 20180110
DISTNAME = py-dfdatetime-${MODPY_EGG_VERSION}
GH_ACCOUNT = log2timeline
Index: distinfo
===================================================================
RCS file: /cvs/ports/security/py-dfdatetime/distinfo,v
retrieving revision 1.4
diff -u -p -u -p -r1.4 distinfo
--- distinfo 6 Jan 2018 10:08:17 -0000 1.4
+++ distinfo 1 Feb 2018 05:20:59 -0000
@@ -1,2 +1,2 @@
-SHA256 (py-dfdatetime-20171228.tar.gz) = 9u8XfKIKuLT9Gg2zhfEGBLeLM89yh4oz+p9n8owDHcw=
-SIZE (py-dfdatetime-20171228.tar.gz) = 39842
+SHA256 (py-dfdatetime-20180110.tar.gz) = 9cgyvh7RiMFHZfTGMHPoou6L6DH3UkRubFAEEqzjsCo=
+SIZE (py-dfdatetime-20180110.tar.gz) = 42827
Index: pkg/PLIST
===================================================================
RCS file: /cvs/ports/security/py-dfdatetime/pkg/PLIST,v
retrieving revision 1.3
diff -u -p -u -p -r1.3 PLIST
--- pkg/PLIST 6 Jan 2018 10:08:17 -0000 1.3
+++ pkg/PLIST 1 Feb 2018 05:20:59 -0000
@@ -18,7 +18,9 @@ lib/python${MODPY_VERSION}/site-packages
lib/python${MODPY_VERSION}/site-packages/dfdatetime/${MODPY_PYCACHE}hfs_time.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/dfdatetime/${MODPY_PYCACHE}interface.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/dfdatetime/${MODPY_PYCACHE}java_time.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/dfdatetime/${MODPY_PYCACHE}ole_automation_date.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/dfdatetime/${MODPY_PYCACHE}posix_time.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/dfdatetime/${MODPY_PYCACHE}precisions.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/dfdatetime/${MODPY_PYCACHE}rfc2579_date_time.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/dfdatetime/${MODPY_PYCACHE}semantic_time.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/dfdatetime/${MODPY_PYCACHE}systemtime.${MODPY_PYC_MAGIC_TAG}pyc
@@ -35,7 +37,9 @@ lib/python${MODPY_VERSION}/site-packages
lib/python${MODPY_VERSION}/site-packages/dfdatetime/hfs_time.py
lib/python${MODPY_VERSION}/site-packages/dfdatetime/interface.py
lib/python${MODPY_VERSION}/site-packages/dfdatetime/java_time.py
+lib/python${MODPY_VERSION}/site-packages/dfdatetime/ole_automation_date.py
lib/python${MODPY_VERSION}/site-packages/dfdatetime/posix_time.py
+lib/python${MODPY_VERSION}/site-packages/dfdatetime/precisions.py
lib/python${MODPY_VERSION}/site-packages/dfdatetime/rfc2579_date_time.py
lib/python${MODPY_VERSION}/site-packages/dfdatetime/semantic_time.py
lib/python${MODPY_VERSION}/site-packages/dfdatetime/systemtime.py
Hi,
this is the diff to update dfdatetime to latest release.
Ok?
Cheers,
Remi.
===================================================================
RCS file: /cvs/ports/security/py-dfdatetime/Makefile,v
retrieving revision 1.4
diff -u -p -u -p -r1.4 Makefile
--- Makefile 6 Jan 2018 10:08:17 -0000 1.4
+++ Makefile 1 Feb 2018 05:20:59 -0000
@@ -2,7 +2,7 @@
COMMENT = Digital Forensics date and time
-MODPY_EGG_VERSION = 20171228
+MODPY_EGG_VERSION = 20180110
DISTNAME = py-dfdatetime-${MODPY_EGG_VERSION}
GH_ACCOUNT = log2timeline
Index: distinfo
===================================================================
RCS file: /cvs/ports/security/py-dfdatetime/distinfo,v
retrieving revision 1.4
diff -u -p -u -p -r1.4 distinfo
--- distinfo 6 Jan 2018 10:08:17 -0000 1.4
+++ distinfo 1 Feb 2018 05:20:59 -0000
@@ -1,2 +1,2 @@
-SHA256 (py-dfdatetime-20171228.tar.gz) = 9u8XfKIKuLT9Gg2zhfEGBLeLM89yh4oz+p9n8owDHcw=
-SIZE (py-dfdatetime-20171228.tar.gz) = 39842
+SHA256 (py-dfdatetime-20180110.tar.gz) = 9cgyvh7RiMFHZfTGMHPoou6L6DH3UkRubFAEEqzjsCo=
+SIZE (py-dfdatetime-20180110.tar.gz) = 42827
Index: pkg/PLIST
===================================================================
RCS file: /cvs/ports/security/py-dfdatetime/pkg/PLIST,v
retrieving revision 1.3
diff -u -p -u -p -r1.3 PLIST
--- pkg/PLIST 6 Jan 2018 10:08:17 -0000 1.3
+++ pkg/PLIST 1 Feb 2018 05:20:59 -0000
@@ -18,7 +18,9 @@ lib/python${MODPY_VERSION}/site-packages
lib/python${MODPY_VERSION}/site-packages/dfdatetime/${MODPY_PYCACHE}hfs_time.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/dfdatetime/${MODPY_PYCACHE}interface.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/dfdatetime/${MODPY_PYCACHE}java_time.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/dfdatetime/${MODPY_PYCACHE}ole_automation_date.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/dfdatetime/${MODPY_PYCACHE}posix_time.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/dfdatetime/${MODPY_PYCACHE}precisions.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/dfdatetime/${MODPY_PYCACHE}rfc2579_date_time.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/dfdatetime/${MODPY_PYCACHE}semantic_time.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/dfdatetime/${MODPY_PYCACHE}systemtime.${MODPY_PYC_MAGIC_TAG}pyc
@@ -35,7 +37,9 @@ lib/python${MODPY_VERSION}/site-packages
lib/python${MODPY_VERSION}/site-packages/dfdatetime/hfs_time.py
lib/python${MODPY_VERSION}/site-packages/dfdatetime/interface.py
lib/python${MODPY_VERSION}/site-packages/dfdatetime/java_time.py
+lib/python${MODPY_VERSION}/site-packages/dfdatetime/ole_automation_date.py
lib/python${MODPY_VERSION}/site-packages/dfdatetime/posix_time.py
+lib/python${MODPY_VERSION}/site-packages/dfdatetime/precisions.py
lib/python${MODPY_VERSION}/site-packages/dfdatetime/rfc2579_date_time.py
lib/python${MODPY_VERSION}/site-packages/dfdatetime/semantic_time.py
lib/python${MODPY_VERSION}/site-packages/dfdatetime/systemtime.py
Hi,
this is the diff to update dfdatetime to latest release.
Ok?
Cheers,
Remi.
[UPDATE] sysutils/libfwnt
Index: Makefile
===================================================================
RCS file: /cvs/ports/sysutils/libfwnt/Makefile,v
retrieving revision 1.1.1.1
diff -u -p -u -p -r1.1.1.1 Makefile
--- Makefile 12 Feb 2017 06:46:18 -0000 1.1.1.1
+++ Makefile 1 Feb 2018 05:21:16 -0000
@@ -2,7 +2,7 @@
COMMENT = library for Windows NT data types
-VERSION = 20170115
+VERSION = 20180117
DISTNAME = libfwnt-alpha-${VERSION}
PKGNAME = ${DISTNAME:S/-alpha//}
Index: distinfo
===================================================================
RCS file: /cvs/ports/sysutils/libfwnt/distinfo,v
retrieving revision 1.1.1.1
diff -u -p -u -p -r1.1.1.1 distinfo
--- distinfo 12 Feb 2017 06:46:18 -0000 1.1.1.1
+++ distinfo 1 Feb 2018 05:21:16 -0000
@@ -1,2 +1,2 @@
-SHA256 (libfwnt-alpha-20170115.tar.gz) = AQmQeJZWpKF1N6aNYl5bofckPf/k0bmTpk8QA2/UDeE=
-SIZE (libfwnt-alpha-20170115.tar.gz) = 696120
+SHA256 (libfwnt-alpha-20180117.tar.gz) = 2Wi7v5ALXb2KGUWJhpZ7fkcV/mAZtshaV646liwTgJY=
+SIZE (libfwnt-alpha-20180117.tar.gz) = 695519
Hi,
this is the diff to update libfwnt to latest release.
Ok?
Cheers,
Remi.
===================================================================
RCS file: /cvs/ports/sysutils/libfwnt/Makefile,v
retrieving revision 1.1.1.1
diff -u -p -u -p -r1.1.1.1 Makefile
--- Makefile 12 Feb 2017 06:46:18 -0000 1.1.1.1
+++ Makefile 1 Feb 2018 05:21:16 -0000
@@ -2,7 +2,7 @@
COMMENT = library for Windows NT data types
-VERSION = 20170115
+VERSION = 20180117
DISTNAME = libfwnt-alpha-${VERSION}
PKGNAME = ${DISTNAME:S/-alpha//}
Index: distinfo
===================================================================
RCS file: /cvs/ports/sysutils/libfwnt/distinfo,v
retrieving revision 1.1.1.1
diff -u -p -u -p -r1.1.1.1 distinfo
--- distinfo 12 Feb 2017 06:46:18 -0000 1.1.1.1
+++ distinfo 1 Feb 2018 05:21:16 -0000
@@ -1,2 +1,2 @@
-SHA256 (libfwnt-alpha-20170115.tar.gz) = AQmQeJZWpKF1N6aNYl5bofckPf/k0bmTpk8QA2/UDeE=
-SIZE (libfwnt-alpha-20170115.tar.gz) = 696120
+SHA256 (libfwnt-alpha-20180117.tar.gz) = 2Wi7v5ALXb2KGUWJhpZ7fkcV/mAZtshaV646liwTgJY=
+SIZE (libfwnt-alpha-20180117.tar.gz) = 695519
Hi,
this is the diff to update libfwnt to latest release.
Ok?
Cheers,
Remi.
Re: [UPDATE] net/gpodder -> 3.10.0 depends on textproc/py-podcastparser net/mygpoclient
Klemens Nanni <kl3@posteo.org> wrote:
> On Tue, Jan 30, 2018 at 10:46:36PM -0500, trondd wrote:
> > "trondd" <trondd@kagu-tsuchi.com> wrote:
> >
> > > On Fri, January 12, 2018 6:17 pm, trondd wrote:
> > > > Update gPodder to their new python3/GTK+3 version. Depends on the python3
> > > > version of textproc/py-podcastparser and net/mygpoclient.
> > > >
> > > > My only question on this one, do I need to run compileall.py like
> > > > portcheck
> > > > says? I think it was mentioned ot me that it isn't always necessary. It
> > > > would be for the extensions, most of which I can't use and I haven't seen
> > > > issues running the ones I did try.
> > > >
> > > > There is also optional support for ID3 tag management that depends on
> > > > py-eyed3 which needs updating. I'll tackle that next and enable it in
> > > > gPodder as a seperate update.
> > > >
> > > > Tim.
> > > >
> > >
> > > Bump the real one.
> > >
> > > Tim.
> >
> > Updated to account for flavored textproxy/py-podcastparser
> Looks good port-wise except for two things:
>
> patch-makefile can be dropped in favor of FAKE_FLAGS.
Did this work for you? It seems to have no effect.
$ find /usr/ports/pobj/gpodder-3.10.0/ -name "*.1"
/usr/ports/pobj/gpodder-3.10.0/gpodder-3.10.0/share/man/man1/gpo.1
/usr/ports/pobj/gpodder-3.10.0/gpodder-3.10.0/share/man/man1/gpodder-migrate2tres.1
/usr/ports/pobj/gpodder-3.10.0/gpodder-3.10.0/share/man/man1/gpodder.1
/usr/ports/pobj/gpodder-3.10.0/gpodder-3.10.0/usr/ports/pobj/gpodder-3.10.0/fake-amd64/usr/local/man/man1/gpo.1
/usr/ports/pobj/gpodder-3.10.0/gpodder-3.10.0/usr/ports/pobj/gpodder-3.10.0/fake-amd64/usr/local/man/man1/gpodder-migrate2tres.1
/usr/ports/pobj/gpodder-3.10.0/gpodder-3.10.0/usr/ports/pobj/gpodder-3.10.0/fake-amd64/usr/local/man/man1/gpodder.1
Seems FAKE_FLAGS does nothing. I think because the Makefile defines a
do-install. However, NOTHING I do to PREFIX or DESTDIR in *_FLAGS or *_ENV has
any effect because the ports sytem sets those varaibles *after* setting the
customized *_ENV or *_FLAG variables.
cd /usr/ports/pobj/gpodder-3.10.0/gpodder-3.10.0 && /usr/bin/env -i LC_CTYPE=en_US.UTF-8 PYTHON=/usr/local/bin/python3.6 GPODDER_MANPATH_NO_SHARE="yes" DESTDIR="arbitrary" PREFIX="useless" CC=cc PYTHONUSERBASE=/usr/ports/pobj/gpodder-3.10.0 INTLTOOL_EXTRACT=/usr/local/
bin/intltool-extract INTLTOOL_MERGE=/usr/local/bin/intltool-merge INTLTOOL_UPDATE=/usr/local/bin/intltool-update PORTSDIR="/usr/ports" LIBTOOL="/usr/bin/libtool" PATH='/usr/ports/pobj/gpodder-3.10.0/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11R6/bin' PREFIX
='/usr/ports/pobj/gpodder-3.10.0/fake-amd64/usr/local' LOCALBASE='/usr/local' X11BASE='/usr/X11R6' CFLAGS='-O2 -pipe' TRUEPREFIX='/usr/ports/pobj/gpodder-3.10.0/fake-amd64/usr/local' DESTDIR='' HOME='/gpodder-3.10.0_writes_to_HOME' COMPILER_VERSION=clang PICFLAG="-fpi
c" BINGRP=bin BINOWN=root BINMODE=755 NONBINMODE=644 DIRMODE=755 INSTALL_COPY=-c INSTALL_STRIP=-s MANGRP=bin MANOWN=root MANMODE=644 BSD_INSTALL_PROGRAM="/usr/ports/pobj/gpodder-3.10.0/bin/install -c -s -m 755" BSD_INSTALL_SCRIPT="/usr/ports/pobj/gpodder-3.10.0/bin/i
nstall -c -m 755" BSD_INSTALL_DATA="/usr/ports/pobj/gpodder-3.10.0/bin/install -c -m 644" BSD_INSTALL_MAN="/usr/ports/pobj/gpodder-3.10.0/bin/install -c -m 644" BSD_INSTALL_PROGRAM_DIR="/usr/ports/pobj/gpodder-3.10.0/bin/install -d -m 755" BSD_INSTALL_SCRIPT_DIR="/
usr/ports/pobj/gpodder-3.10.0/bin/install -d -m 755" BSD_INSTALL_DATA_DIR="/usr/ports/pobj/gpodder-3.10.0/bin/install -d -m 755" BSD_INSTALL_MAN_DIR="/usr/ports/pobj/gpodder-3.10.0/bin/install -d -m 755" gmake -f makefile install
The only way I could make this work without a patch is to set DESTDIR (or
PREFIX, but DESTDIR is the real problem, I think) in the do-install.
> See one PLIST fix inline, updated diff below.
That was a good catch. Thanks.
Tim.
Index: Makefile
===================================================================
RCS file: /cvs/ports/net/gpodder/Makefile,v
retrieving revision 1.12
diff -u -p -r1.12 Makefile
--- Makefile 13 Jun 2017 07:43:56 -0000 1.12
+++ Makefile 1 Feb 2018 02:04:48 -0000
@@ -2,11 +2,11 @@
COMMENT= media aggregator and podcast client
-MODPY_EGG_VERSION= 3.9.3
+MODPY_EGG_VERSION= 3.10.0
DISTNAME= gpodder-${MODPY_EGG_VERSION}
CATEGORIES= net www
-HOMEPAGE= http://gpodder.org/
+HOMEPAGE= https://gpodder.github.io/
MAINTAINER= Tim Meunier <trondd@kagu-tsuchi.com>
@@ -15,36 +15,39 @@ PERMIT_PACKAGE_CDROM= Yes
GH_ACCOUNT= gpodder
GH_PROJECT= gpodder
-GH_TAGNAME= ${DISTNAME}
+GH_TAGNAME= ${MODPY_EGG_VERSION}
MODULES= lang/python \
textproc/intltool
+MODPY_VERSION= ${MODPY_DEFAULT_VERSION_3}
+
RUN_DEPENDS= devel/desktop-file-utils \
devel/gettext \
+ devel/py-html5lib${MODPY_FLAVOR} \
+ devel/py-gobject3${MODPY_FLAVOR} \
net/mygpoclient \
- textproc/py-podcastparser \
- x11/dbus-python \
- x11/gtk+3,-guic \
- x11/py-gtk2
-TEST_DEPENDS= devel/py-minimock \
- devel/py-coverage \
+ textproc/py-podcastparser${MODPY_FLAVOR} \
+ www/webkitgtk4 \
+ x11/dbus-python${MODPY_FLAVOR} \
+ x11/gtk+3,-guic
+TEST_DEPENDS= devel/py-minimock${MODPY_FLAVOR} \
+ devel/py-coverage${MODPY_FLAVOR} \
net/mygpoclient \
- textproc/py-feedparser
+ textproc/py-podcastparser
USE_GMAKE= Yes
MAKE_FILE= makefile
-MAKE_ENV= PYTHON=${MODPY_BIN} \
+MAKE_ENV= LC_CTYPE=en_US.UTF-8 \
+ PYTHON=${MODPY_BIN} \
GPODDER_MANPATH_NO_SHARE="yes"
+
ALL_TARGET= messages
TEST_TARGET= unittest
do-install:
- cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${MAKE_PROGRAM} \
+ cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} DESTDIR=/ ${MAKE_PROGRAM} \
-f ${MAKE_FILE} install
-
-post-install:
- ${MODPY_BIN} ${MODPY_LIBDIR}/compileall.py ${PREFIX}/share/gpodder/extensions/
.include <bsd.port.mk>
Index: distinfo
===================================================================
RCS file: /cvs/ports/net/gpodder/distinfo,v
retrieving revision 1.4
diff -u -p -r1.4 distinfo
--- distinfo 18 Apr 2017 09:09:25 -0000 1.4
+++ distinfo 1 Feb 2018 02:04:48 -0000
@@ -1,2 +1,2 @@
-SHA256 (gpodder-3.9.3.tar.gz) = LLgOxTKuOSnxPM+UY/+6mpwMfsi3I6va40umQRMYNcA=
-SIZE (gpodder-3.9.3.tar.gz) = 1008774
+SHA256 (gpodder-3.10.0.tar.gz) = xc8MHlMN7ctOZS0jUKB9UVwVXzTGx20OmMkY+AQrr1Q=
+SIZE (gpodder-3.10.0.tar.gz) = 881761
Index: patches/patch-makefile
===================================================================
RCS file: patches/patch-makefile
diff -N patches/patch-makefile
--- patches/patch-makefile 23 Oct 2016 01:59:16 -0000 1.2
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,12 +0,0 @@
-$OpenBSD: patch-makefile,v 1.2 2016/10/23 01:59:16 czarkoff Exp $
---- makefile.orig Wed Aug 31 15:10:41 2016
-+++ makefile Fri Sep 16 21:26:10 2016
-@@ -82,7 +82,7 @@ $(GPODDER_SERVICE_FILE): $(GPODDER_SERVICE_FILE_IN)
- intltool-extract --quiet --type=gettext/ini $<
-
- install: messages $(GPODDER_SERVICE_FILE) $(DESKTOP_FILES)
-- $(PYTHON) setup.py install --root=$(DESTDIR) --prefix=$(PREFIX) --optimize=1
-+ $(PYTHON) setup.py install --root=$(DESTDIR) --prefix=/$(PREFIX) --optimize=1
-
- release-win32:
- $(MAKE) -C tools/win32-setup
Index: pkg/PLIST
===================================================================
RCS file: /cvs/ports/net/gpodder/pkg/PLIST,v
retrieving revision 1.4
diff -u -p -r1.4 PLIST
--- pkg/PLIST 18 Apr 2017 09:09:25 -0000 1.4
+++ pkg/PLIST 1 Feb 2018 02:04:48 -0000
@@ -5,184 +5,190 @@ bin/gpodder-migrate2tres
lib/python${MODPY_VERSION}/site-packages/gpodder/
lib/python${MODPY_VERSION}/site-packages/gpodder-${MODPY_EGG_VERSION}-py${MODPY_VERSION}.egg-info
lib/python${MODPY_VERSION}/site-packages/gpodder/__init__.py
-lib/python${MODPY_VERSION}/site-packages/gpodder/__init__.pyc
-lib/python${MODPY_VERSION}/site-packages/gpodder/__init__.${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/${MODPY_PYCACHE}/
+lib/python${MODPY_VERSION}/site-packages/gpodder/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/gpodder/${MODPY_PYCACHE}common.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/${MODPY_PYCACHE}common.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/gpodder/${MODPY_PYCACHE}config.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/${MODPY_PYCACHE}config.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/gpodder/${MODPY_PYCACHE}core.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/${MODPY_PYCACHE}core.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/gpodder/${MODPY_PYCACHE}coverart.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/${MODPY_PYCACHE}coverart.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/gpodder/${MODPY_PYCACHE}dbsqlite.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/${MODPY_PYCACHE}dbsqlite.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/gpodder/${MODPY_PYCACHE}dbusproxy.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/${MODPY_PYCACHE}dbusproxy.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/gpodder/${MODPY_PYCACHE}directory.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/${MODPY_PYCACHE}directory.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/gpodder/${MODPY_PYCACHE}download.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/${MODPY_PYCACHE}download.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/gpodder/${MODPY_PYCACHE}escapist_videos.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/${MODPY_PYCACHE}escapist_videos.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/gpodder/${MODPY_PYCACHE}extensions.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/${MODPY_PYCACHE}extensions.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/gpodder/${MODPY_PYCACHE}feedcore.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/${MODPY_PYCACHE}feedcore.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/gpodder/${MODPY_PYCACHE}feedservice.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/${MODPY_PYCACHE}feedservice.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/gpodder/${MODPY_PYCACHE}jsonconfig.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/${MODPY_PYCACHE}jsonconfig.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/gpodder/${MODPY_PYCACHE}log.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/${MODPY_PYCACHE}log.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/gpodder/${MODPY_PYCACHE}minidb.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/${MODPY_PYCACHE}minidb.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/gpodder/${MODPY_PYCACHE}model.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/${MODPY_PYCACHE}model.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/gpodder/${MODPY_PYCACHE}my.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/${MODPY_PYCACHE}my.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/gpodder/${MODPY_PYCACHE}opml.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/${MODPY_PYCACHE}opml.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/gpodder/${MODPY_PYCACHE}player.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/${MODPY_PYCACHE}player.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/gpodder/${MODPY_PYCACHE}query.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/${MODPY_PYCACHE}query.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/gpodder/${MODPY_PYCACHE}schema.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/${MODPY_PYCACHE}schema.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/gpodder/${MODPY_PYCACHE}services.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/${MODPY_PYCACHE}services.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/gpodder/${MODPY_PYCACHE}sync.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/${MODPY_PYCACHE}sync.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/gpodder/${MODPY_PYCACHE}unittests.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/${MODPY_PYCACHE}unittests.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/gpodder/${MODPY_PYCACHE}util.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/${MODPY_PYCACHE}util.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/gpodder/${MODPY_PYCACHE}vimeo.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/${MODPY_PYCACHE}vimeo.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/gpodder/${MODPY_PYCACHE}youtube.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/${MODPY_PYCACHE}youtube.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/gpodder/common.py
-lib/python${MODPY_VERSION}/site-packages/gpodder/common.pyc
-lib/python${MODPY_VERSION}/site-packages/gpodder/common.${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/gpodder/config.py
-lib/python${MODPY_VERSION}/site-packages/gpodder/config.pyc
-lib/python${MODPY_VERSION}/site-packages/gpodder/config.${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/gpodder/core.py
-lib/python${MODPY_VERSION}/site-packages/gpodder/core.pyc
-lib/python${MODPY_VERSION}/site-packages/gpodder/core.${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/gpodder/coverart.py
-lib/python${MODPY_VERSION}/site-packages/gpodder/coverart.pyc
-lib/python${MODPY_VERSION}/site-packages/gpodder/coverart.${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/gpodder/dbsqlite.py
-lib/python${MODPY_VERSION}/site-packages/gpodder/dbsqlite.pyc
-lib/python${MODPY_VERSION}/site-packages/gpodder/dbsqlite.${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/gpodder/dbusproxy.py
-lib/python${MODPY_VERSION}/site-packages/gpodder/dbusproxy.pyc
-lib/python${MODPY_VERSION}/site-packages/gpodder/dbusproxy.${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/gpodder/directory.py
-lib/python${MODPY_VERSION}/site-packages/gpodder/directory.pyc
-lib/python${MODPY_VERSION}/site-packages/gpodder/directory.${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/gpodder/download.py
-lib/python${MODPY_VERSION}/site-packages/gpodder/download.pyc
-lib/python${MODPY_VERSION}/site-packages/gpodder/download.${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/gpodder/escapist_videos.py
-lib/python${MODPY_VERSION}/site-packages/gpodder/escapist_videos.pyc
-lib/python${MODPY_VERSION}/site-packages/gpodder/escapist_videos.${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/gpodder/extensions.py
-lib/python${MODPY_VERSION}/site-packages/gpodder/extensions.pyc
-lib/python${MODPY_VERSION}/site-packages/gpodder/extensions.${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/gpodder/feedcore.py
-lib/python${MODPY_VERSION}/site-packages/gpodder/feedcore.pyc
-lib/python${MODPY_VERSION}/site-packages/gpodder/feedcore.${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/gpodder/feedservice.py
-lib/python${MODPY_VERSION}/site-packages/gpodder/feedservice.pyc
-lib/python${MODPY_VERSION}/site-packages/gpodder/feedservice.${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/
lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/__init__.py
-lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/__init__.pyc
-lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/__init__.${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/${MODPY_PYCACHE}/
+lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/${MODPY_PYCACHE}base.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/${MODPY_PYCACHE}base.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/${MODPY_PYCACHE}config.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/${MODPY_PYCACHE}config.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/${MODPY_PYCACHE}desktopfile.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/${MODPY_PYCACHE}desktopfile.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/${MODPY_PYCACHE}download.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/${MODPY_PYCACHE}download.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/${MODPY_PYCACHE}draw.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/${MODPY_PYCACHE}draw.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/${MODPY_PYCACHE}macosx.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/${MODPY_PYCACHE}macosx.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/${MODPY_PYCACHE}main.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/${MODPY_PYCACHE}main.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/${MODPY_PYCACHE}model.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/${MODPY_PYCACHE}model.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/${MODPY_PYCACHE}services.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/${MODPY_PYCACHE}services.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/${MODPY_PYCACHE}shownotes.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/${MODPY_PYCACHE}shownotes.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/${MODPY_PYCACHE}widgets.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/${MODPY_PYCACHE}widgets.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/base.py
-lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/base.pyc
-lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/base.${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/config.py
-lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/config.pyc
-lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/config.${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/desktop/
lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/desktop/__init__.py
-lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/desktop/__init__.pyc
-lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/desktop/__init__.${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/desktop/${MODPY_PYCACHE}/
+lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/desktop/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/desktop/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/desktop/${MODPY_PYCACHE}channel.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/desktop/${MODPY_PYCACHE}channel.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/desktop/${MODPY_PYCACHE}deviceplaylist.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/desktop/${MODPY_PYCACHE}deviceplaylist.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/desktop/${MODPY_PYCACHE}episodeselector.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/desktop/${MODPY_PYCACHE}episodeselector.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/desktop/${MODPY_PYCACHE}podcastdirectory.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/desktop/${MODPY_PYCACHE}podcastdirectory.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/desktop/${MODPY_PYCACHE}preferences.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/desktop/${MODPY_PYCACHE}preferences.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/desktop/${MODPY_PYCACHE}sync.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/desktop/${MODPY_PYCACHE}sync.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/desktop/${MODPY_PYCACHE}welcome.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/desktop/${MODPY_PYCACHE}welcome.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/desktop/channel.py
-lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/desktop/channel.pyc
-lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/desktop/channel.${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/desktop/deviceplaylist.py
-lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/desktop/deviceplaylist.pyc
-lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/desktop/deviceplaylist.${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/desktop/episodeselector.py
-lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/desktop/episodeselector.pyc
-lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/desktop/episodeselector.${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/desktop/podcastdirectory.py
-lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/desktop/podcastdirectory.pyc
-lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/desktop/podcastdirectory.${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/desktop/preferences.py
-lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/desktop/preferences.pyc
-lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/desktop/preferences.${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/desktop/sync.py
-lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/desktop/sync.pyc
-lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/desktop/sync.${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/desktop/welcome.py
-lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/desktop/welcome.pyc
-lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/desktop/welcome.${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/desktopfile.py
-lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/desktopfile.pyc
-lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/desktopfile.${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/download.py
-lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/download.pyc
-lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/download.${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/draw.py
-lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/draw.pyc
-lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/draw.${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/interface/
lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/interface/__init__.py
-lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/interface/__init__.pyc
-lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/interface/__init__.${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/interface/${MODPY_PYCACHE}/
+lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/interface/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/interface/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/interface/${MODPY_PYCACHE}addpodcast.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/interface/${MODPY_PYCACHE}addpodcast.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/interface/${MODPY_PYCACHE}common.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/interface/${MODPY_PYCACHE}common.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/interface/${MODPY_PYCACHE}configeditor.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/interface/${MODPY_PYCACHE}configeditor.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/interface/${MODPY_PYCACHE}progress.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/interface/${MODPY_PYCACHE}progress.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/interface/${MODPY_PYCACHE}tagcloud.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/interface/${MODPY_PYCACHE}tagcloud.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/interface/addpodcast.py
-lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/interface/addpodcast.pyc
-lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/interface/addpodcast.${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/interface/common.py
-lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/interface/common.pyc
-lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/interface/common.${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/interface/configeditor.py
-lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/interface/configeditor.pyc
-lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/interface/configeditor.${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/interface/progress.py
-lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/interface/progress.pyc
-lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/interface/progress.${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/interface/tagcloud.py
-lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/interface/tagcloud.pyc
-lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/interface/tagcloud.${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/macosx.py
-lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/macosx.pyc
-lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/macosx.${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/main.py
-lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/main.pyc
-lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/main.${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/model.py
-lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/model.pyc
-lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/model.${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/services.py
-lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/services.pyc
-lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/services.${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/shownotes.py
-lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/shownotes.pyc
-lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/shownotes.${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/widgets.py
-lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/widgets.pyc
-lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/widgets.${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/gpodder/jsonconfig.py
-lib/python${MODPY_VERSION}/site-packages/gpodder/jsonconfig.pyc
-lib/python${MODPY_VERSION}/site-packages/gpodder/jsonconfig.${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/gpodder/log.py
-lib/python${MODPY_VERSION}/site-packages/gpodder/log.pyc
-lib/python${MODPY_VERSION}/site-packages/gpodder/log.${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/gpodder/minidb.py
-lib/python${MODPY_VERSION}/site-packages/gpodder/minidb.pyc
-lib/python${MODPY_VERSION}/site-packages/gpodder/minidb.${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/gpodder/model.py
-lib/python${MODPY_VERSION}/site-packages/gpodder/model.pyc
-lib/python${MODPY_VERSION}/site-packages/gpodder/model.${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/gpodder/my.py
-lib/python${MODPY_VERSION}/site-packages/gpodder/my.pyc
-lib/python${MODPY_VERSION}/site-packages/gpodder/my.${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/gpodder/opml.py
-lib/python${MODPY_VERSION}/site-packages/gpodder/opml.pyc
-lib/python${MODPY_VERSION}/site-packages/gpodder/opml.${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/gpodder/player.py
-lib/python${MODPY_VERSION}/site-packages/gpodder/player.pyc
-lib/python${MODPY_VERSION}/site-packages/gpodder/player.${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/gpodder/plugins/
lib/python${MODPY_VERSION}/site-packages/gpodder/plugins/__init__.py
-lib/python${MODPY_VERSION}/site-packages/gpodder/plugins/__init__.pyc
-lib/python${MODPY_VERSION}/site-packages/gpodder/plugins/__init__.${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/plugins/${MODPY_PYCACHE}/
+lib/python${MODPY_VERSION}/site-packages/gpodder/plugins/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/plugins/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/gpodder/plugins/${MODPY_PYCACHE}soundcloud.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/plugins/${MODPY_PYCACHE}soundcloud.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/gpodder/plugins/soundcloud.py
-lib/python${MODPY_VERSION}/site-packages/gpodder/plugins/soundcloud.pyc
-lib/python${MODPY_VERSION}/site-packages/gpodder/plugins/soundcloud.${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/gpodder/query.py
-lib/python${MODPY_VERSION}/site-packages/gpodder/query.pyc
-lib/python${MODPY_VERSION}/site-packages/gpodder/query.${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/gpodder/schema.py
-lib/python${MODPY_VERSION}/site-packages/gpodder/schema.pyc
-lib/python${MODPY_VERSION}/site-packages/gpodder/schema.${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/gpodder/services.py
-lib/python${MODPY_VERSION}/site-packages/gpodder/services.pyc
-lib/python${MODPY_VERSION}/site-packages/gpodder/services.${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/gpodder/sync.py
-lib/python${MODPY_VERSION}/site-packages/gpodder/sync.pyc
-lib/python${MODPY_VERSION}/site-packages/gpodder/sync.${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/gpodder/test/
lib/python${MODPY_VERSION}/site-packages/gpodder/test/__init__.py
-lib/python${MODPY_VERSION}/site-packages/gpodder/test/__init__.pyc
-lib/python${MODPY_VERSION}/site-packages/gpodder/test/__init__.${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/test/${MODPY_PYCACHE}/
+lib/python${MODPY_VERSION}/site-packages/gpodder/test/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/test/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/gpodder/test/${MODPY_PYCACHE}model.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/test/${MODPY_PYCACHE}model.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/gpodder/test/model.py
-lib/python${MODPY_VERSION}/site-packages/gpodder/test/model.pyc
-lib/python${MODPY_VERSION}/site-packages/gpodder/test/model.${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/gpodder/unittests.py
-lib/python${MODPY_VERSION}/site-packages/gpodder/unittests.pyc
-lib/python${MODPY_VERSION}/site-packages/gpodder/unittests.${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/gpodder/util.py
-lib/python${MODPY_VERSION}/site-packages/gpodder/util.pyc
-lib/python${MODPY_VERSION}/site-packages/gpodder/util.${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/gpodder/vimeo.py
-lib/python${MODPY_VERSION}/site-packages/gpodder/vimeo.pyc
-lib/python${MODPY_VERSION}/site-packages/gpodder/vimeo.${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/gpodder/youtube.py
-lib/python${MODPY_VERSION}/site-packages/gpodder/youtube.pyc
-lib/python${MODPY_VERSION}/site-packages/gpodder/youtube.${MODPY_PYOEXTENSION}
@man man/man1/gpo.1
@man man/man1/gpodder-migrate2tres.1
@man man/man1/gpodder.1
@@ -190,55 +196,32 @@ share/applications/gpodder-url-handler.d
share/applications/gpodder.desktop
share/dbus-1/services/org.gpodder.service
share/gpodder/
-share/gpodder/credits.txt
share/gpodder/examples/
share/gpodder/examples/gpodder_mark_played.py
share/gpodder/examples/hello_world.py
share/gpodder/extensions/
share/gpodder/extensions/audio_converter.py
-share/gpodder/extensions/audio_converter.pyc
share/gpodder/extensions/concatenate_videos.py
-share/gpodder/extensions/concatenate_videos.pyc
share/gpodder/extensions/enqueue_in_mediaplayer.py
-share/gpodder/extensions/enqueue_in_mediaplayer.pyc
share/gpodder/extensions/episode_website_context_menu.py
-share/gpodder/extensions/episode_website_context_menu.pyc
share/gpodder/extensions/gtk_statusicon.py
-share/gpodder/extensions/gtk_statusicon.pyc
share/gpodder/extensions/minimize_on_start.py
-share/gpodder/extensions/minimize_on_start.pyc
share/gpodder/extensions/mpris-listener.py
-share/gpodder/extensions/mpris-listener.pyc
share/gpodder/extensions/normalize_audio.py
-share/gpodder/extensions/normalize_audio.pyc
share/gpodder/extensions/notification-win32.py
-share/gpodder/extensions/notification-win32.pyc
share/gpodder/extensions/notification.py
-share/gpodder/extensions/notification.pyc
share/gpodder/extensions/rename_download.py
-share/gpodder/extensions/rename_download.pyc
share/gpodder/extensions/rm_ogg_cover.py
-share/gpodder/extensions/rm_ogg_cover.pyc
share/gpodder/extensions/rockbox_convert2mp4.py
-share/gpodder/extensions/rockbox_convert2mp4.pyc
share/gpodder/extensions/rockbox_coverart.py
-share/gpodder/extensions/rockbox_coverart.pyc
share/gpodder/extensions/sonos.py
-share/gpodder/extensions/sonos.pyc
share/gpodder/extensions/tagging.py
-share/gpodder/extensions/tagging.pyc
share/gpodder/extensions/taskbar_progress.py
-share/gpodder/extensions/taskbar_progress.pyc
share/gpodder/extensions/ted_subtitles.py
-share/gpodder/extensions/ted_subtitles.pyc
share/gpodder/extensions/ubuntu_appindicator.py
-share/gpodder/extensions/ubuntu_appindicator.pyc
share/gpodder/extensions/ubuntu_unity.py
-share/gpodder/extensions/ubuntu_unity.pyc
share/gpodder/extensions/update_feeds_on_startup.py
-share/gpodder/extensions/update_feeds_on_startup.pyc
share/gpodder/extensions/video_converter.py
-share/gpodder/extensions/video_converter.pyc
share/gpodder/images/
share/gpodder/images/directory-examples.png
share/gpodder/images/directory-gpodder.png
@@ -263,6 +246,7 @@ share/gpodder/ui/gtk/gpodderepisodeselec
share/gpodder/ui/gtk/gpodderpodcastdirectory.ui
share/gpodder/ui/gtk/gpodderpreferences.ui
share/gpodder/ui/gtk/gpodderwelcome.ui
+share/gpodder/ui/gtk/menus.ui
share/icons/hicolor/16x16/apps/gpodder.ico
share/icons/hicolor/16x16/apps/gpodder.png
share/icons/hicolor/22x22/apps/gpodder.png
@@ -293,6 +277,8 @@ share/locale/es_MX/
share/locale/es_MX/LC_MESSAGES/
share/locale/es_MX/LC_MESSAGES/gpodder.mo
share/locale/eu/LC_MESSAGES/gpodder.mo
+share/locale/fa_IR/
+share/locale/fa_IR/LC_MESSAGES/
share/locale/fa_IR/LC_MESSAGES/gpodder.mo
share/locale/fi/LC_MESSAGES/gpodder.mo
share/locale/fr/LC_MESSAGES/gpodder.mo
> On Tue, Jan 30, 2018 at 10:46:36PM -0500, trondd wrote:
> > "trondd" <trondd@kagu-tsuchi.com> wrote:
> >
> > > On Fri, January 12, 2018 6:17 pm, trondd wrote:
> > > > Update gPodder to their new python3/GTK+3 version. Depends on the python3
> > > > version of textproc/py-podcastparser and net/mygpoclient.
> > > >
> > > > My only question on this one, do I need to run compileall.py like
> > > > portcheck
> > > > says? I think it was mentioned ot me that it isn't always necessary. It
> > > > would be for the extensions, most of which I can't use and I haven't seen
> > > > issues running the ones I did try.
> > > >
> > > > There is also optional support for ID3 tag management that depends on
> > > > py-eyed3 which needs updating. I'll tackle that next and enable it in
> > > > gPodder as a seperate update.
> > > >
> > > > Tim.
> > > >
> > >
> > > Bump the real one.
> > >
> > > Tim.
> >
> > Updated to account for flavored textproxy/py-podcastparser
> Looks good port-wise except for two things:
>
> patch-makefile can be dropped in favor of FAKE_FLAGS.
Did this work for you? It seems to have no effect.
$ find /usr/ports/pobj/gpodder-3.10.0/ -name "*.1"
/usr/ports/pobj/gpodder-3.10.0/gpodder-3.10.0/share/man/man1/gpo.1
/usr/ports/pobj/gpodder-3.10.0/gpodder-3.10.0/share/man/man1/gpodder-migrate2tres.1
/usr/ports/pobj/gpodder-3.10.0/gpodder-3.10.0/share/man/man1/gpodder.1
/usr/ports/pobj/gpodder-3.10.0/gpodder-3.10.0/usr/ports/pobj/gpodder-3.10.0/fake-amd64/usr/local/man/man1/gpo.1
/usr/ports/pobj/gpodder-3.10.0/gpodder-3.10.0/usr/ports/pobj/gpodder-3.10.0/fake-amd64/usr/local/man/man1/gpodder-migrate2tres.1
/usr/ports/pobj/gpodder-3.10.0/gpodder-3.10.0/usr/ports/pobj/gpodder-3.10.0/fake-amd64/usr/local/man/man1/gpodder.1
Seems FAKE_FLAGS does nothing. I think because the Makefile defines a
do-install. However, NOTHING I do to PREFIX or DESTDIR in *_FLAGS or *_ENV has
any effect because the ports sytem sets those varaibles *after* setting the
customized *_ENV or *_FLAG variables.
cd /usr/ports/pobj/gpodder-3.10.0/gpodder-3.10.0 && /usr/bin/env -i LC_CTYPE=en_US.UTF-8 PYTHON=/usr/local/bin/python3.6 GPODDER_MANPATH_NO_SHARE="yes" DESTDIR="arbitrary" PREFIX="useless" CC=cc PYTHONUSERBASE=/usr/ports/pobj/gpodder-3.10.0 INTLTOOL_EXTRACT=/usr/local/
bin/intltool-extract INTLTOOL_MERGE=/usr/local/bin/intltool-merge INTLTOOL_UPDATE=/usr/local/bin/intltool-update PORTSDIR="/usr/ports" LIBTOOL="/usr/bin/libtool" PATH='/usr/ports/pobj/gpodder-3.10.0/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11R6/bin' PREFIX
='/usr/ports/pobj/gpodder-3.10.0/fake-amd64/usr/local' LOCALBASE='/usr/local' X11BASE='/usr/X11R6' CFLAGS='-O2 -pipe' TRUEPREFIX='/usr/ports/pobj/gpodder-3.10.0/fake-amd64/usr/local' DESTDIR='' HOME='/gpodder-3.10.0_writes_to_HOME' COMPILER_VERSION=clang PICFLAG="-fpi
c" BINGRP=bin BINOWN=root BINMODE=755 NONBINMODE=644 DIRMODE=755 INSTALL_COPY=-c INSTALL_STRIP=-s MANGRP=bin MANOWN=root MANMODE=644 BSD_INSTALL_PROGRAM="/usr/ports/pobj/gpodder-3.10.0/bin/install -c -s -m 755" BSD_INSTALL_SCRIPT="/usr/ports/pobj/gpodder-3.10.0/bin/i
nstall -c -m 755" BSD_INSTALL_DATA="/usr/ports/pobj/gpodder-3.10.0/bin/install -c -m 644" BSD_INSTALL_MAN="/usr/ports/pobj/gpodder-3.10.0/bin/install -c -m 644" BSD_INSTALL_PROGRAM_DIR="/usr/ports/pobj/gpodder-3.10.0/bin/install -d -m 755" BSD_INSTALL_SCRIPT_DIR="/
usr/ports/pobj/gpodder-3.10.0/bin/install -d -m 755" BSD_INSTALL_DATA_DIR="/usr/ports/pobj/gpodder-3.10.0/bin/install -d -m 755" BSD_INSTALL_MAN_DIR="/usr/ports/pobj/gpodder-3.10.0/bin/install -d -m 755" gmake -f makefile install
The only way I could make this work without a patch is to set DESTDIR (or
PREFIX, but DESTDIR is the real problem, I think) in the do-install.
> See one PLIST fix inline, updated diff below.
That was a good catch. Thanks.
Tim.
Index: Makefile
===================================================================
RCS file: /cvs/ports/net/gpodder/Makefile,v
retrieving revision 1.12
diff -u -p -r1.12 Makefile
--- Makefile 13 Jun 2017 07:43:56 -0000 1.12
+++ Makefile 1 Feb 2018 02:04:48 -0000
@@ -2,11 +2,11 @@
COMMENT= media aggregator and podcast client
-MODPY_EGG_VERSION= 3.9.3
+MODPY_EGG_VERSION= 3.10.0
DISTNAME= gpodder-${MODPY_EGG_VERSION}
CATEGORIES= net www
-HOMEPAGE= http://gpodder.org/
+HOMEPAGE= https://gpodder.github.io/
MAINTAINER= Tim Meunier <trondd@kagu-tsuchi.com>
@@ -15,36 +15,39 @@ PERMIT_PACKAGE_CDROM= Yes
GH_ACCOUNT= gpodder
GH_PROJECT= gpodder
-GH_TAGNAME= ${DISTNAME}
+GH_TAGNAME= ${MODPY_EGG_VERSION}
MODULES= lang/python \
textproc/intltool
+MODPY_VERSION= ${MODPY_DEFAULT_VERSION_3}
+
RUN_DEPENDS= devel/desktop-file-utils \
devel/gettext \
+ devel/py-html5lib${MODPY_FLAVOR} \
+ devel/py-gobject3${MODPY_FLAVOR} \
net/mygpoclient \
- textproc/py-podcastparser \
- x11/dbus-python \
- x11/gtk+3,-guic \
- x11/py-gtk2
-TEST_DEPENDS= devel/py-minimock \
- devel/py-coverage \
+ textproc/py-podcastparser${MODPY_FLAVOR} \
+ www/webkitgtk4 \
+ x11/dbus-python${MODPY_FLAVOR} \
+ x11/gtk+3,-guic
+TEST_DEPENDS= devel/py-minimock${MODPY_FLAVOR} \
+ devel/py-coverage${MODPY_FLAVOR} \
net/mygpoclient \
- textproc/py-feedparser
+ textproc/py-podcastparser
USE_GMAKE= Yes
MAKE_FILE= makefile
-MAKE_ENV= PYTHON=${MODPY_BIN} \
+MAKE_ENV= LC_CTYPE=en_US.UTF-8 \
+ PYTHON=${MODPY_BIN} \
GPODDER_MANPATH_NO_SHARE="yes"
+
ALL_TARGET= messages
TEST_TARGET= unittest
do-install:
- cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${MAKE_PROGRAM} \
+ cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} DESTDIR=/ ${MAKE_PROGRAM} \
-f ${MAKE_FILE} install
-
-post-install:
- ${MODPY_BIN} ${MODPY_LIBDIR}/compileall.py ${PREFIX}/share/gpodder/extensions/
.include <bsd.port.mk>
Index: distinfo
===================================================================
RCS file: /cvs/ports/net/gpodder/distinfo,v
retrieving revision 1.4
diff -u -p -r1.4 distinfo
--- distinfo 18 Apr 2017 09:09:25 -0000 1.4
+++ distinfo 1 Feb 2018 02:04:48 -0000
@@ -1,2 +1,2 @@
-SHA256 (gpodder-3.9.3.tar.gz) = LLgOxTKuOSnxPM+UY/+6mpwMfsi3I6va40umQRMYNcA=
-SIZE (gpodder-3.9.3.tar.gz) = 1008774
+SHA256 (gpodder-3.10.0.tar.gz) = xc8MHlMN7ctOZS0jUKB9UVwVXzTGx20OmMkY+AQrr1Q=
+SIZE (gpodder-3.10.0.tar.gz) = 881761
Index: patches/patch-makefile
===================================================================
RCS file: patches/patch-makefile
diff -N patches/patch-makefile
--- patches/patch-makefile 23 Oct 2016 01:59:16 -0000 1.2
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,12 +0,0 @@
-$OpenBSD: patch-makefile,v 1.2 2016/10/23 01:59:16 czarkoff Exp $
---- makefile.orig Wed Aug 31 15:10:41 2016
-+++ makefile Fri Sep 16 21:26:10 2016
-@@ -82,7 +82,7 @@ $(GPODDER_SERVICE_FILE): $(GPODDER_SERVICE_FILE_IN)
- intltool-extract --quiet --type=gettext/ini $<
-
- install: messages $(GPODDER_SERVICE_FILE) $(DESKTOP_FILES)
-- $(PYTHON) setup.py install --root=$(DESTDIR) --prefix=$(PREFIX) --optimize=1
-+ $(PYTHON) setup.py install --root=$(DESTDIR) --prefix=/$(PREFIX) --optimize=1
-
- release-win32:
- $(MAKE) -C tools/win32-setup
Index: pkg/PLIST
===================================================================
RCS file: /cvs/ports/net/gpodder/pkg/PLIST,v
retrieving revision 1.4
diff -u -p -r1.4 PLIST
--- pkg/PLIST 18 Apr 2017 09:09:25 -0000 1.4
+++ pkg/PLIST 1 Feb 2018 02:04:48 -0000
@@ -5,184 +5,190 @@ bin/gpodder-migrate2tres
lib/python${MODPY_VERSION}/site-packages/gpodder/
lib/python${MODPY_VERSION}/site-packages/gpodder-${MODPY_EGG_VERSION}-py${MODPY_VERSION}.egg-info
lib/python${MODPY_VERSION}/site-packages/gpodder/__init__.py
-lib/python${MODPY_VERSION}/site-packages/gpodder/__init__.pyc
-lib/python${MODPY_VERSION}/site-packages/gpodder/__init__.${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/${MODPY_PYCACHE}/
+lib/python${MODPY_VERSION}/site-packages/gpodder/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/gpodder/${MODPY_PYCACHE}common.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/${MODPY_PYCACHE}common.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/gpodder/${MODPY_PYCACHE}config.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/${MODPY_PYCACHE}config.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/gpodder/${MODPY_PYCACHE}core.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/${MODPY_PYCACHE}core.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/gpodder/${MODPY_PYCACHE}coverart.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/${MODPY_PYCACHE}coverart.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/gpodder/${MODPY_PYCACHE}dbsqlite.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/${MODPY_PYCACHE}dbsqlite.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/gpodder/${MODPY_PYCACHE}dbusproxy.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/${MODPY_PYCACHE}dbusproxy.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/gpodder/${MODPY_PYCACHE}directory.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/${MODPY_PYCACHE}directory.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/gpodder/${MODPY_PYCACHE}download.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/${MODPY_PYCACHE}download.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/gpodder/${MODPY_PYCACHE}escapist_videos.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/${MODPY_PYCACHE}escapist_videos.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/gpodder/${MODPY_PYCACHE}extensions.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/${MODPY_PYCACHE}extensions.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/gpodder/${MODPY_PYCACHE}feedcore.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/${MODPY_PYCACHE}feedcore.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/gpodder/${MODPY_PYCACHE}feedservice.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/${MODPY_PYCACHE}feedservice.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/gpodder/${MODPY_PYCACHE}jsonconfig.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/${MODPY_PYCACHE}jsonconfig.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/gpodder/${MODPY_PYCACHE}log.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/${MODPY_PYCACHE}log.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/gpodder/${MODPY_PYCACHE}minidb.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/${MODPY_PYCACHE}minidb.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/gpodder/${MODPY_PYCACHE}model.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/${MODPY_PYCACHE}model.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/gpodder/${MODPY_PYCACHE}my.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/${MODPY_PYCACHE}my.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/gpodder/${MODPY_PYCACHE}opml.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/${MODPY_PYCACHE}opml.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/gpodder/${MODPY_PYCACHE}player.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/${MODPY_PYCACHE}player.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/gpodder/${MODPY_PYCACHE}query.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/${MODPY_PYCACHE}query.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/gpodder/${MODPY_PYCACHE}schema.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/${MODPY_PYCACHE}schema.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/gpodder/${MODPY_PYCACHE}services.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/${MODPY_PYCACHE}services.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/gpodder/${MODPY_PYCACHE}sync.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/${MODPY_PYCACHE}sync.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/gpodder/${MODPY_PYCACHE}unittests.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/${MODPY_PYCACHE}unittests.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/gpodder/${MODPY_PYCACHE}util.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/${MODPY_PYCACHE}util.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/gpodder/${MODPY_PYCACHE}vimeo.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/${MODPY_PYCACHE}vimeo.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/gpodder/${MODPY_PYCACHE}youtube.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/${MODPY_PYCACHE}youtube.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/gpodder/common.py
-lib/python${MODPY_VERSION}/site-packages/gpodder/common.pyc
-lib/python${MODPY_VERSION}/site-packages/gpodder/common.${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/gpodder/config.py
-lib/python${MODPY_VERSION}/site-packages/gpodder/config.pyc
-lib/python${MODPY_VERSION}/site-packages/gpodder/config.${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/gpodder/core.py
-lib/python${MODPY_VERSION}/site-packages/gpodder/core.pyc
-lib/python${MODPY_VERSION}/site-packages/gpodder/core.${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/gpodder/coverart.py
-lib/python${MODPY_VERSION}/site-packages/gpodder/coverart.pyc
-lib/python${MODPY_VERSION}/site-packages/gpodder/coverart.${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/gpodder/dbsqlite.py
-lib/python${MODPY_VERSION}/site-packages/gpodder/dbsqlite.pyc
-lib/python${MODPY_VERSION}/site-packages/gpodder/dbsqlite.${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/gpodder/dbusproxy.py
-lib/python${MODPY_VERSION}/site-packages/gpodder/dbusproxy.pyc
-lib/python${MODPY_VERSION}/site-packages/gpodder/dbusproxy.${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/gpodder/directory.py
-lib/python${MODPY_VERSION}/site-packages/gpodder/directory.pyc
-lib/python${MODPY_VERSION}/site-packages/gpodder/directory.${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/gpodder/download.py
-lib/python${MODPY_VERSION}/site-packages/gpodder/download.pyc
-lib/python${MODPY_VERSION}/site-packages/gpodder/download.${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/gpodder/escapist_videos.py
-lib/python${MODPY_VERSION}/site-packages/gpodder/escapist_videos.pyc
-lib/python${MODPY_VERSION}/site-packages/gpodder/escapist_videos.${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/gpodder/extensions.py
-lib/python${MODPY_VERSION}/site-packages/gpodder/extensions.pyc
-lib/python${MODPY_VERSION}/site-packages/gpodder/extensions.${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/gpodder/feedcore.py
-lib/python${MODPY_VERSION}/site-packages/gpodder/feedcore.pyc
-lib/python${MODPY_VERSION}/site-packages/gpodder/feedcore.${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/gpodder/feedservice.py
-lib/python${MODPY_VERSION}/site-packages/gpodder/feedservice.pyc
-lib/python${MODPY_VERSION}/site-packages/gpodder/feedservice.${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/
lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/__init__.py
-lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/__init__.pyc
-lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/__init__.${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/${MODPY_PYCACHE}/
+lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/${MODPY_PYCACHE}base.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/${MODPY_PYCACHE}base.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/${MODPY_PYCACHE}config.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/${MODPY_PYCACHE}config.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/${MODPY_PYCACHE}desktopfile.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/${MODPY_PYCACHE}desktopfile.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/${MODPY_PYCACHE}download.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/${MODPY_PYCACHE}download.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/${MODPY_PYCACHE}draw.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/${MODPY_PYCACHE}draw.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/${MODPY_PYCACHE}macosx.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/${MODPY_PYCACHE}macosx.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/${MODPY_PYCACHE}main.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/${MODPY_PYCACHE}main.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/${MODPY_PYCACHE}model.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/${MODPY_PYCACHE}model.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/${MODPY_PYCACHE}services.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/${MODPY_PYCACHE}services.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/${MODPY_PYCACHE}shownotes.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/${MODPY_PYCACHE}shownotes.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/${MODPY_PYCACHE}widgets.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/${MODPY_PYCACHE}widgets.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/base.py
-lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/base.pyc
-lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/base.${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/config.py
-lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/config.pyc
-lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/config.${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/desktop/
lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/desktop/__init__.py
-lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/desktop/__init__.pyc
-lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/desktop/__init__.${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/desktop/${MODPY_PYCACHE}/
+lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/desktop/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/desktop/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/desktop/${MODPY_PYCACHE}channel.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/desktop/${MODPY_PYCACHE}channel.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/desktop/${MODPY_PYCACHE}deviceplaylist.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/desktop/${MODPY_PYCACHE}deviceplaylist.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/desktop/${MODPY_PYCACHE}episodeselector.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/desktop/${MODPY_PYCACHE}episodeselector.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/desktop/${MODPY_PYCACHE}podcastdirectory.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/desktop/${MODPY_PYCACHE}podcastdirectory.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/desktop/${MODPY_PYCACHE}preferences.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/desktop/${MODPY_PYCACHE}preferences.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/desktop/${MODPY_PYCACHE}sync.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/desktop/${MODPY_PYCACHE}sync.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/desktop/${MODPY_PYCACHE}welcome.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/desktop/${MODPY_PYCACHE}welcome.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/desktop/channel.py
-lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/desktop/channel.pyc
-lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/desktop/channel.${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/desktop/deviceplaylist.py
-lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/desktop/deviceplaylist.pyc
-lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/desktop/deviceplaylist.${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/desktop/episodeselector.py
-lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/desktop/episodeselector.pyc
-lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/desktop/episodeselector.${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/desktop/podcastdirectory.py
-lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/desktop/podcastdirectory.pyc
-lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/desktop/podcastdirectory.${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/desktop/preferences.py
-lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/desktop/preferences.pyc
-lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/desktop/preferences.${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/desktop/sync.py
-lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/desktop/sync.pyc
-lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/desktop/sync.${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/desktop/welcome.py
-lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/desktop/welcome.pyc
-lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/desktop/welcome.${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/desktopfile.py
-lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/desktopfile.pyc
-lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/desktopfile.${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/download.py
-lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/download.pyc
-lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/download.${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/draw.py
-lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/draw.pyc
-lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/draw.${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/interface/
lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/interface/__init__.py
-lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/interface/__init__.pyc
-lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/interface/__init__.${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/interface/${MODPY_PYCACHE}/
+lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/interface/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/interface/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/interface/${MODPY_PYCACHE}addpodcast.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/interface/${MODPY_PYCACHE}addpodcast.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/interface/${MODPY_PYCACHE}common.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/interface/${MODPY_PYCACHE}common.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/interface/${MODPY_PYCACHE}configeditor.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/interface/${MODPY_PYCACHE}configeditor.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/interface/${MODPY_PYCACHE}progress.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/interface/${MODPY_PYCACHE}progress.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/interface/${MODPY_PYCACHE}tagcloud.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/interface/${MODPY_PYCACHE}tagcloud.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/interface/addpodcast.py
-lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/interface/addpodcast.pyc
-lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/interface/addpodcast.${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/interface/common.py
-lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/interface/common.pyc
-lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/interface/common.${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/interface/configeditor.py
-lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/interface/configeditor.pyc
-lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/interface/configeditor.${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/interface/progress.py
-lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/interface/progress.pyc
-lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/interface/progress.${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/interface/tagcloud.py
-lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/interface/tagcloud.pyc
-lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/interface/tagcloud.${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/macosx.py
-lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/macosx.pyc
-lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/macosx.${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/main.py
-lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/main.pyc
-lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/main.${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/model.py
-lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/model.pyc
-lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/model.${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/services.py
-lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/services.pyc
-lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/services.${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/shownotes.py
-lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/shownotes.pyc
-lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/shownotes.${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/widgets.py
-lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/widgets.pyc
-lib/python${MODPY_VERSION}/site-packages/gpodder/gtkui/widgets.${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/gpodder/jsonconfig.py
-lib/python${MODPY_VERSION}/site-packages/gpodder/jsonconfig.pyc
-lib/python${MODPY_VERSION}/site-packages/gpodder/jsonconfig.${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/gpodder/log.py
-lib/python${MODPY_VERSION}/site-packages/gpodder/log.pyc
-lib/python${MODPY_VERSION}/site-packages/gpodder/log.${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/gpodder/minidb.py
-lib/python${MODPY_VERSION}/site-packages/gpodder/minidb.pyc
-lib/python${MODPY_VERSION}/site-packages/gpodder/minidb.${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/gpodder/model.py
-lib/python${MODPY_VERSION}/site-packages/gpodder/model.pyc
-lib/python${MODPY_VERSION}/site-packages/gpodder/model.${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/gpodder/my.py
-lib/python${MODPY_VERSION}/site-packages/gpodder/my.pyc
-lib/python${MODPY_VERSION}/site-packages/gpodder/my.${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/gpodder/opml.py
-lib/python${MODPY_VERSION}/site-packages/gpodder/opml.pyc
-lib/python${MODPY_VERSION}/site-packages/gpodder/opml.${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/gpodder/player.py
-lib/python${MODPY_VERSION}/site-packages/gpodder/player.pyc
-lib/python${MODPY_VERSION}/site-packages/gpodder/player.${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/gpodder/plugins/
lib/python${MODPY_VERSION}/site-packages/gpodder/plugins/__init__.py
-lib/python${MODPY_VERSION}/site-packages/gpodder/plugins/__init__.pyc
-lib/python${MODPY_VERSION}/site-packages/gpodder/plugins/__init__.${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/plugins/${MODPY_PYCACHE}/
+lib/python${MODPY_VERSION}/site-packages/gpodder/plugins/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/plugins/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/gpodder/plugins/${MODPY_PYCACHE}soundcloud.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/plugins/${MODPY_PYCACHE}soundcloud.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/gpodder/plugins/soundcloud.py
-lib/python${MODPY_VERSION}/site-packages/gpodder/plugins/soundcloud.pyc
-lib/python${MODPY_VERSION}/site-packages/gpodder/plugins/soundcloud.${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/gpodder/query.py
-lib/python${MODPY_VERSION}/site-packages/gpodder/query.pyc
-lib/python${MODPY_VERSION}/site-packages/gpodder/query.${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/gpodder/schema.py
-lib/python${MODPY_VERSION}/site-packages/gpodder/schema.pyc
-lib/python${MODPY_VERSION}/site-packages/gpodder/schema.${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/gpodder/services.py
-lib/python${MODPY_VERSION}/site-packages/gpodder/services.pyc
-lib/python${MODPY_VERSION}/site-packages/gpodder/services.${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/gpodder/sync.py
-lib/python${MODPY_VERSION}/site-packages/gpodder/sync.pyc
-lib/python${MODPY_VERSION}/site-packages/gpodder/sync.${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/gpodder/test/
lib/python${MODPY_VERSION}/site-packages/gpodder/test/__init__.py
-lib/python${MODPY_VERSION}/site-packages/gpodder/test/__init__.pyc
-lib/python${MODPY_VERSION}/site-packages/gpodder/test/__init__.${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/test/${MODPY_PYCACHE}/
+lib/python${MODPY_VERSION}/site-packages/gpodder/test/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/test/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/gpodder/test/${MODPY_PYCACHE}model.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/gpodder/test/${MODPY_PYCACHE}model.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/gpodder/test/model.py
-lib/python${MODPY_VERSION}/site-packages/gpodder/test/model.pyc
-lib/python${MODPY_VERSION}/site-packages/gpodder/test/model.${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/gpodder/unittests.py
-lib/python${MODPY_VERSION}/site-packages/gpodder/unittests.pyc
-lib/python${MODPY_VERSION}/site-packages/gpodder/unittests.${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/gpodder/util.py
-lib/python${MODPY_VERSION}/site-packages/gpodder/util.pyc
-lib/python${MODPY_VERSION}/site-packages/gpodder/util.${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/gpodder/vimeo.py
-lib/python${MODPY_VERSION}/site-packages/gpodder/vimeo.pyc
-lib/python${MODPY_VERSION}/site-packages/gpodder/vimeo.${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/gpodder/youtube.py
-lib/python${MODPY_VERSION}/site-packages/gpodder/youtube.pyc
-lib/python${MODPY_VERSION}/site-packages/gpodder/youtube.${MODPY_PYOEXTENSION}
@man man/man1/gpo.1
@man man/man1/gpodder-migrate2tres.1
@man man/man1/gpodder.1
@@ -190,55 +196,32 @@ share/applications/gpodder-url-handler.d
share/applications/gpodder.desktop
share/dbus-1/services/org.gpodder.service
share/gpodder/
-share/gpodder/credits.txt
share/gpodder/examples/
share/gpodder/examples/gpodder_mark_played.py
share/gpodder/examples/hello_world.py
share/gpodder/extensions/
share/gpodder/extensions/audio_converter.py
-share/gpodder/extensions/audio_converter.pyc
share/gpodder/extensions/concatenate_videos.py
-share/gpodder/extensions/concatenate_videos.pyc
share/gpodder/extensions/enqueue_in_mediaplayer.py
-share/gpodder/extensions/enqueue_in_mediaplayer.pyc
share/gpodder/extensions/episode_website_context_menu.py
-share/gpodder/extensions/episode_website_context_menu.pyc
share/gpodder/extensions/gtk_statusicon.py
-share/gpodder/extensions/gtk_statusicon.pyc
share/gpodder/extensions/minimize_on_start.py
-share/gpodder/extensions/minimize_on_start.pyc
share/gpodder/extensions/mpris-listener.py
-share/gpodder/extensions/mpris-listener.pyc
share/gpodder/extensions/normalize_audio.py
-share/gpodder/extensions/normalize_audio.pyc
share/gpodder/extensions/notification-win32.py
-share/gpodder/extensions/notification-win32.pyc
share/gpodder/extensions/notification.py
-share/gpodder/extensions/notification.pyc
share/gpodder/extensions/rename_download.py
-share/gpodder/extensions/rename_download.pyc
share/gpodder/extensions/rm_ogg_cover.py
-share/gpodder/extensions/rm_ogg_cover.pyc
share/gpodder/extensions/rockbox_convert2mp4.py
-share/gpodder/extensions/rockbox_convert2mp4.pyc
share/gpodder/extensions/rockbox_coverart.py
-share/gpodder/extensions/rockbox_coverart.pyc
share/gpodder/extensions/sonos.py
-share/gpodder/extensions/sonos.pyc
share/gpodder/extensions/tagging.py
-share/gpodder/extensions/tagging.pyc
share/gpodder/extensions/taskbar_progress.py
-share/gpodder/extensions/taskbar_progress.pyc
share/gpodder/extensions/ted_subtitles.py
-share/gpodder/extensions/ted_subtitles.pyc
share/gpodder/extensions/ubuntu_appindicator.py
-share/gpodder/extensions/ubuntu_appindicator.pyc
share/gpodder/extensions/ubuntu_unity.py
-share/gpodder/extensions/ubuntu_unity.pyc
share/gpodder/extensions/update_feeds_on_startup.py
-share/gpodder/extensions/update_feeds_on_startup.pyc
share/gpodder/extensions/video_converter.py
-share/gpodder/extensions/video_converter.pyc
share/gpodder/images/
share/gpodder/images/directory-examples.png
share/gpodder/images/directory-gpodder.png
@@ -263,6 +246,7 @@ share/gpodder/ui/gtk/gpodderepisodeselec
share/gpodder/ui/gtk/gpodderpodcastdirectory.ui
share/gpodder/ui/gtk/gpodderpreferences.ui
share/gpodder/ui/gtk/gpodderwelcome.ui
+share/gpodder/ui/gtk/menus.ui
share/icons/hicolor/16x16/apps/gpodder.ico
share/icons/hicolor/16x16/apps/gpodder.png
share/icons/hicolor/22x22/apps/gpodder.png
@@ -293,6 +277,8 @@ share/locale/es_MX/
share/locale/es_MX/LC_MESSAGES/
share/locale/es_MX/LC_MESSAGES/gpodder.mo
share/locale/eu/LC_MESSAGES/gpodder.mo
+share/locale/fa_IR/
+share/locale/fa_IR/LC_MESSAGES/
share/locale/fa_IR/LC_MESSAGES/gpodder.mo
share/locale/fi/LC_MESSAGES/gpodder.mo
share/locale/fr/LC_MESSAGES/gpodder.mo
FIx inconsistant upgrade instructions
I noticed a couple of inconsistencies between upgradexx.html and
INSTALL.platform. They don't state to remove man pages and include
files. Here is a patch to fix upgradexx but I'm not sure how to
go about fixing all INSTALL.<platform> so here is just the amd64
fix (based on -release, not -current).
And, the upgrade instructions always kind of bugged me that they
weren't a list. I've added the above corrections and made it
more of a list of things to do in-order.
Note that I also include "pkg_delete -a" which might be controversial.
--John
--- /export/cache/6.2/amd64/INSTALL.amd64 Tue Oct 3 20:27:48 2017
+++ /tmp/INSTALL.amd64 Wed Jan 31 17:38:32 2018
@@ -872,7 +872,7 @@
The best solution, whenever possible, is to backup your data and
reinstall
from scratch. As a minimum, if the toolchain (the ``comp'' set) was
installed,
you should remove all files within /usr/include before attempting to
-upgrade.
+upgrade. You should always remove all of /usr/share/man as well.
To upgrade OpenBSD 6.2 from a previous version, start with the general
instructions in the section "Installing OpenBSD".
Index: upgrade62.html
===================================================================
RCS file: /cvs/www/faq/upgrade62.html,v
retrieving revision 1.6
diff -u -r1.6 upgrade62.html
--- upgrade62.html 19 Nov 2017 00:48:48 -0000 1.6
+++ upgrade62.html 1 Feb 2018 01:47:06 -0000
@@ -57,11 +57,14 @@
<hr>
+<h2 id="WithInstKern">Upgrade using the install kernel</h2>
+
<h3 id="BeforeUpdate">Before rebooting into the install kernel</h3>
<ul>
- <li><b>clean out <tt>/usr/share/man</tt>.</b>
- To remove all outdated manuals, issue <tt><b>rm -rf
/usr/share/man</b></tt>.
+ <li><b>clean out <tt>/usr/share/man</tt> and
<tt>/usr/include</tt>.</b>
+ To remove all outdated manuals and .h files, issue
+ <tt><b>rm -rf /usr/share/man /usr/include</b></tt>.
<p>
<li><b>ksh plaintext history file.</b>
@@ -112,6 +115,17 @@
<blockquote><pre>
# <b>chgrp -R crontab /var/cron/atjobs</b> <!--
--></pre></blockquote>
+ <li><b>stop and/or disable any appropriate applications.</b>
+ During this process, all the userland applications will be replaced
but
+ may not be runnable, and strange things may happen as a result.
+ You may also have issues with DNS resolution during the first
reboot, so
+ PF rules and NFS mounts dependent upon DNS may cause boot-up
problems.
+ There may be other applications which you wish to keep from running
+ immediately after the upgrade, such as databases, so stop and
disable them as well.
+ (Use <tt><b>rcctl stop</b></tt> and <tt><b>rcctl disable</b></tt>.)
+
+ <p>
+
</ul>
@@ -332,6 +346,31 @@
migration quick start</a> for more details.
</ul>
+<h3 id="UpReboot">Upgrade and update packages and reboot</h3>
+
+<ul>
+ <li><b>Upgrade</b>
+ Boot the 6.2 version of the install kernel <tt><b>bsd.rd</b></tt>
from media,
+ network or the root directory of your current disk. Select the
<tt>(U)pgrade</tt>
+ option and follow the prompts. Then reboot.
+
+ <p>
+ <li><b>Check your work</b>
+ Review the console output from boot (using <tt><b>dmesg
-s</b></tt>)
+ and correct any failures as necessary (such as sysmerge-related
corrections).
+ Verify the steps in <a href="#ConfigChanges">configuration
changes</a>
+ above are applied.
+
+ <p>
+ <li><b>Update packages</b>
+ Finally, remove obsolete package dependencies (using
<tt><b>pkg_delete -a</b></tt>) and
+ update packages: <tt><b>pkg_add -u</b></tt>.
+ Reenable any packages at startup (<tt><b>rcctl enable</b></tt>)
that you previously disabled.
+
+ <p>
+ <li><b>Reboot</b>
+ Reboot once more and ensure everything is working.
+</ul>
<hr>
<h2 id="NoInstKern">Upgrade without the install kernel</h2>
@@ -417,7 +456,8 @@
--></pre></blockquote>
<li><b>Install new userland.</b>
- Save a copy of reboot(8), extract and install the release tarballs,
reboot.
+ Clean out old man pages and include files. Save a copy of
reboot(8),
+ extract and install the release tarballs, reboot.
Install <tt>base62.tgz</tt> last, because the new base system, in
particular
<a href="https://man.openbsd.org/OpenBSD-6.2/tar">tar(1)</a>,
<a href="https://man.openbsd.org/OpenBSD-6.2/gzip">gzip(1)</a> and
@@ -425,6 +465,7 @@
will not work with the old kernel.
Either untar the needed filesets manually
<blockquote><pre>
+ <b>rm -rf /usr/share/man /usr/include</b>
<b>cp /sbin/reboot /sbin/oreboot</b>
<b>tar -C / -xzphf xshare62.tgz</b>
<b>tar -C / -xzphf xserv62.tgz</b>
@@ -439,6 +480,7 @@
or, if you use
<a href="https:man.openbsd.org/OpenBSD-6.2/ksh">ksh(1)</a>, you can
do
<blockquote><pre>
+ <b>rm -rf /usr/share/man /usr/include</b>
<b>cp /sbin/reboot /sbin/oreboot</b>
<b>for _f in [!b]*62.tgz base62.tgz; do tar -C / -xzphf "$_f" ||
break; done</b>
<b>/sbin/oreboot</b><!--
INSTALL.platform. They don't state to remove man pages and include
files. Here is a patch to fix upgradexx but I'm not sure how to
go about fixing all INSTALL.<platform> so here is just the amd64
fix (based on -release, not -current).
And, the upgrade instructions always kind of bugged me that they
weren't a list. I've added the above corrections and made it
more of a list of things to do in-order.
Note that I also include "pkg_delete -a" which might be controversial.
--John
--- /export/cache/6.2/amd64/INSTALL.amd64 Tue Oct 3 20:27:48 2017
+++ /tmp/INSTALL.amd64 Wed Jan 31 17:38:32 2018
@@ -872,7 +872,7 @@
The best solution, whenever possible, is to backup your data and
reinstall
from scratch. As a minimum, if the toolchain (the ``comp'' set) was
installed,
you should remove all files within /usr/include before attempting to
-upgrade.
+upgrade. You should always remove all of /usr/share/man as well.
To upgrade OpenBSD 6.2 from a previous version, start with the general
instructions in the section "Installing OpenBSD".
Index: upgrade62.html
===================================================================
RCS file: /cvs/www/faq/upgrade62.html,v
retrieving revision 1.6
diff -u -r1.6 upgrade62.html
--- upgrade62.html 19 Nov 2017 00:48:48 -0000 1.6
+++ upgrade62.html 1 Feb 2018 01:47:06 -0000
@@ -57,11 +57,14 @@
<hr>
+<h2 id="WithInstKern">Upgrade using the install kernel</h2>
+
<h3 id="BeforeUpdate">Before rebooting into the install kernel</h3>
<ul>
- <li><b>clean out <tt>/usr/share/man</tt>.</b>
- To remove all outdated manuals, issue <tt><b>rm -rf
/usr/share/man</b></tt>.
+ <li><b>clean out <tt>/usr/share/man</tt> and
<tt>/usr/include</tt>.</b>
+ To remove all outdated manuals and .h files, issue
+ <tt><b>rm -rf /usr/share/man /usr/include</b></tt>.
<p>
<li><b>ksh plaintext history file.</b>
@@ -112,6 +115,17 @@
<blockquote><pre>
# <b>chgrp -R crontab /var/cron/atjobs</b> <!--
--></pre></blockquote>
+ <li><b>stop and/or disable any appropriate applications.</b>
+ During this process, all the userland applications will be replaced
but
+ may not be runnable, and strange things may happen as a result.
+ You may also have issues with DNS resolution during the first
reboot, so
+ PF rules and NFS mounts dependent upon DNS may cause boot-up
problems.
+ There may be other applications which you wish to keep from running
+ immediately after the upgrade, such as databases, so stop and
disable them as well.
+ (Use <tt><b>rcctl stop</b></tt> and <tt><b>rcctl disable</b></tt>.)
+
+ <p>
+
</ul>
@@ -332,6 +346,31 @@
migration quick start</a> for more details.
</ul>
+<h3 id="UpReboot">Upgrade and update packages and reboot</h3>
+
+<ul>
+ <li><b>Upgrade</b>
+ Boot the 6.2 version of the install kernel <tt><b>bsd.rd</b></tt>
from media,
+ network or the root directory of your current disk. Select the
<tt>(U)pgrade</tt>
+ option and follow the prompts. Then reboot.
+
+ <p>
+ <li><b>Check your work</b>
+ Review the console output from boot (using <tt><b>dmesg
-s</b></tt>)
+ and correct any failures as necessary (such as sysmerge-related
corrections).
+ Verify the steps in <a href="#ConfigChanges">configuration
changes</a>
+ above are applied.
+
+ <p>
+ <li><b>Update packages</b>
+ Finally, remove obsolete package dependencies (using
<tt><b>pkg_delete -a</b></tt>) and
+ update packages: <tt><b>pkg_add -u</b></tt>.
+ Reenable any packages at startup (<tt><b>rcctl enable</b></tt>)
that you previously disabled.
+
+ <p>
+ <li><b>Reboot</b>
+ Reboot once more and ensure everything is working.
+</ul>
<hr>
<h2 id="NoInstKern">Upgrade without the install kernel</h2>
@@ -417,7 +456,8 @@
--></pre></blockquote>
<li><b>Install new userland.</b>
- Save a copy of reboot(8), extract and install the release tarballs,
reboot.
+ Clean out old man pages and include files. Save a copy of
reboot(8),
+ extract and install the release tarballs, reboot.
Install <tt>base62.tgz</tt> last, because the new base system, in
particular
<a href="https://man.openbsd.org/OpenBSD-6.2/tar">tar(1)</a>,
<a href="https://man.openbsd.org/OpenBSD-6.2/gzip">gzip(1)</a> and
@@ -425,6 +465,7 @@
will not work with the old kernel.
Either untar the needed filesets manually
<blockquote><pre>
+ <b>rm -rf /usr/share/man /usr/include</b>
<b>cp /sbin/reboot /sbin/oreboot</b>
<b>tar -C / -xzphf xshare62.tgz</b>
<b>tar -C / -xzphf xserv62.tgz</b>
@@ -439,6 +480,7 @@
or, if you use
<a href="https:man.openbsd.org/OpenBSD-6.2/ksh">ksh(1)</a>, you can
do
<blockquote><pre>
+ <b>rm -rf /usr/share/man /usr/include</b>
<b>cp /sbin/reboot /sbin/oreboot</b>
<b>for _f in [!b]*62.tgz base62.tgz; do tar -C / -xzphf "$_f" ||
break; done</b>
<b>/sbin/oreboot</b><!--
Re: [NEW] devel/p5-Devel-Platform-Info
On 01/30/2018 09:50 AM, James E Keenan wrote:
> On 01/28/2018 04:36 PM, Andrew Hewus Fresh wrote:
> [snip]
> >
> > I think this is OK, although I've been led to believe that we usually
> > prefer to enable as many tests as possible so that we don't get
> > different results depending on what folks might have installed or what
> > environment they have set, which would mean making these additions.
> >
> > TEST_ENV = AUTOMATED_TESTING=1
> > TEST_DEPENDS = devel/p5-Test-MockObject \
> > devel/p5-Test-Pod>=1.00 \
> > devel/p5-Test-Pod-Coverage>=0.08 \
> > devel/p5-Test-CPAN-Meta
> >
> > # Additional tests could be enabled by porting
> > # devel/p5-Test-CPAN-Meta-JSON
> >
>
> Andrew,
>
> I agree with you that, in general, we don't want to get different test
> results depending on what particular users have installed on their
> systems. That would lead us to activate tests which the CPAN author
> indicates can be run if certain other Perl extensions are present.
>
> However, I think we should look more closely at the environmental
> variable which you are suggesting to include in the port's Makefile:
>
> #####
> TEST_ENV = AUTOMATED_TESTING=1
> #####
>
> In the context of tests in CPAN distributions 'AUTOMATED_TESTING' has a
> specific meaning. At the 2013 Perl QA Hackathon held in Lancaster,
> U.K., a consensus emerged to define the meaning of certain terms that
> would be used by CPAN authors to activate or not activate tests under
> different circumstances
> (https://github.com/Perl-Toolchain-Gang/toolchain-site/blob/master/lancaster-consensus.md#environment-variables-for-testing-contexts).
> Here's what was recommended for 'AUTOMATED_TESTING':
>
> #####
> AUTOMATED_TESTING: if true, tests are being run by an automated testing
> facility and not as part of the installation of a module; CPAN smokers
> must set this to true; CPAN clients must not set this
> #####
>
> In this context, "automated testing facility" refers to a server where
> someone is testing large parts of the 36,000+ distributions on CPAN
> against various versions of Perl on a specific platform and is sending
> test reports to cpantesters.org. For example, Alceu Rodrigues de
> Freitas Junior runs CPAN smokers for testing distributions against Perl
> 5.26.0, 5.26.1 and 5.27.6 (blead) on OpenBSD 6.0, 6.1 and 6.2. In those
> set-ups, he has indeed turned on an AUTOMATED_TESTING environmental
> variable; see, e.g.,
> http://www.cpantesters.org/cpan/report/7f3fb1ae-e729-11e7-8087-d3e9cf4e8a6e.
>
>
> However, the Lancaster consensus guidance above indicates that in all
> circumstances other than preparing reports for cpantesters.org,
> AUTOMATED_TESTING should not be turned on. An OpenBSD port of a CPAN
> distribution is, essentially, a set of instructions for fetching a
> tarball from CPAN and installing it on OpenBSD. It is therefore a "CPAN
> client" as defined by the Lancaster consensus and, hence, should *not*
> turn on the AUTOMATED_TESTING environmental variable.
>
> The author of Devel-Platform-Info, Barbie, has participated in many Perl
> QA hackathons and was the administrator of cpantesters.org for many
> years. Hence, we should presume that he is using 'AUTOMATED_TESTING' in
> the way described above. Here's how Barbie structures his tests:
>
> #####
> # From:t/90podtest.t
>
> plan skip_all => "Author tests not required for installation" unless
> ($ENV{AUTOMATED_TESTING});
> eval "use Test::Pod 1.00";
> plan skip_all => "Test::Pod 1.00 required for testing POD" if $@;
> #####
>
> He characterizes the tests in this file as "[a]uthor tests not required
> for installation" which are to be run only if the AUTOMATED_TESTING
> envvar is set. I interpret this to mean that they should only be run in
> the context of CPAN smokers. He then goes on to say that the tests in
> this file should only be run if Test::Pod version 1.00 or greater is
> already present on the user's machine.
>
> If the first 'plan skip_all' statement were not present in this file,
> then the author would be telling the user, "Go ahead and run this file
> if you've already got Test::Pod installed, but don't bother if you don't
> have it installed." If that were the case, then I think it would be
> appropriate for an OpenBSD port's Makefile to include the port
> corresponding to Test::Pod as a value for TEST_DEPENDS. But that's not
> the case here. The author is indicating that the Test::Pod tests should
> only be run by CPAN smokers, not by CPAN clients. If a CPAN client
> turns on AUTOMATED_TESTING, it is, in effect, second-guessing the author.
>
> Now I concede that:
>
> * The CPAN author may be incorrect; hence he or she should be
> second-guessed.
>
> * OpenBSD is free to set policies for ports that adhere to standards
> different from those set by the authors of the code being ported.
>
> * I'm just a beginner with respect to OpenBSD ports, so I may not know
> the historical context.
>
> So, I'm perfectly willing to revise the port's Makefile per your
> suggestion. But it would be good to have an explicit and well-reasoned
> policy to which I and other porters can conform going forward.
>
> Thank you very much.
> Jim Keenan
>
Attached please find a tarball revised per previous suggestions, i.e.,
not taking into account the questions I raised.
Thank you very much.
Jim Keenan
> On 01/28/2018 04:36 PM, Andrew Hewus Fresh wrote:
> [snip]
> >
> > I think this is OK, although I've been led to believe that we usually
> > prefer to enable as many tests as possible so that we don't get
> > different results depending on what folks might have installed or what
> > environment they have set, which would mean making these additions.
> >
> > TEST_ENV = AUTOMATED_TESTING=1
> > TEST_DEPENDS = devel/p5-Test-MockObject \
> > devel/p5-Test-Pod>=1.00 \
> > devel/p5-Test-Pod-Coverage>=0.08 \
> > devel/p5-Test-CPAN-Meta
> >
> > # Additional tests could be enabled by porting
> > # devel/p5-Test-CPAN-Meta-JSON
> >
>
> Andrew,
>
> I agree with you that, in general, we don't want to get different test
> results depending on what particular users have installed on their
> systems. That would lead us to activate tests which the CPAN author
> indicates can be run if certain other Perl extensions are present.
>
> However, I think we should look more closely at the environmental
> variable which you are suggesting to include in the port's Makefile:
>
> #####
> TEST_ENV = AUTOMATED_TESTING=1
> #####
>
> In the context of tests in CPAN distributions 'AUTOMATED_TESTING' has a
> specific meaning. At the 2013 Perl QA Hackathon held in Lancaster,
> U.K., a consensus emerged to define the meaning of certain terms that
> would be used by CPAN authors to activate or not activate tests under
> different circumstances
> (https://github.com/Perl-Toolchain-Gang/toolchain-site/blob/master/lancaster-consensus.md#environment-variables-for-testing-contexts).
> Here's what was recommended for 'AUTOMATED_TESTING':
>
> #####
> AUTOMATED_TESTING: if true, tests are being run by an automated testing
> facility and not as part of the installation of a module; CPAN smokers
> must set this to true; CPAN clients must not set this
> #####
>
> In this context, "automated testing facility" refers to a server where
> someone is testing large parts of the 36,000+ distributions on CPAN
> against various versions of Perl on a specific platform and is sending
> test reports to cpantesters.org. For example, Alceu Rodrigues de
> Freitas Junior runs CPAN smokers for testing distributions against Perl
> 5.26.0, 5.26.1 and 5.27.6 (blead) on OpenBSD 6.0, 6.1 and 6.2. In those
> set-ups, he has indeed turned on an AUTOMATED_TESTING environmental
> variable; see, e.g.,
> http://www.cpantesters.org/cpan/report/7f3fb1ae-e729-11e7-8087-d3e9cf4e8a6e.
>
>
> However, the Lancaster consensus guidance above indicates that in all
> circumstances other than preparing reports for cpantesters.org,
> AUTOMATED_TESTING should not be turned on. An OpenBSD port of a CPAN
> distribution is, essentially, a set of instructions for fetching a
> tarball from CPAN and installing it on OpenBSD. It is therefore a "CPAN
> client" as defined by the Lancaster consensus and, hence, should *not*
> turn on the AUTOMATED_TESTING environmental variable.
>
> The author of Devel-Platform-Info, Barbie, has participated in many Perl
> QA hackathons and was the administrator of cpantesters.org for many
> years. Hence, we should presume that he is using 'AUTOMATED_TESTING' in
> the way described above. Here's how Barbie structures his tests:
>
> #####
> # From:t/90podtest.t
>
> plan skip_all => "Author tests not required for installation" unless
> ($ENV{AUTOMATED_TESTING});
> eval "use Test::Pod 1.00";
> plan skip_all => "Test::Pod 1.00 required for testing POD" if $@;
> #####
>
> He characterizes the tests in this file as "[a]uthor tests not required
> for installation" which are to be run only if the AUTOMATED_TESTING
> envvar is set. I interpret this to mean that they should only be run in
> the context of CPAN smokers. He then goes on to say that the tests in
> this file should only be run if Test::Pod version 1.00 or greater is
> already present on the user's machine.
>
> If the first 'plan skip_all' statement were not present in this file,
> then the author would be telling the user, "Go ahead and run this file
> if you've already got Test::Pod installed, but don't bother if you don't
> have it installed." If that were the case, then I think it would be
> appropriate for an OpenBSD port's Makefile to include the port
> corresponding to Test::Pod as a value for TEST_DEPENDS. But that's not
> the case here. The author is indicating that the Test::Pod tests should
> only be run by CPAN smokers, not by CPAN clients. If a CPAN client
> turns on AUTOMATED_TESTING, it is, in effect, second-guessing the author.
>
> Now I concede that:
>
> * The CPAN author may be incorrect; hence he or she should be
> second-guessed.
>
> * OpenBSD is free to set policies for ports that adhere to standards
> different from those set by the authors of the code being ported.
>
> * I'm just a beginner with respect to OpenBSD ports, so I may not know
> the historical context.
>
> So, I'm perfectly willing to revise the port's Makefile per your
> suggestion. But it would be good to have an explicit and well-reasoned
> policy to which I and other porters can conform going forward.
>
> Thank you very much.
> Jim Keenan
>
Attached please find a tarball revised per previous suggestions, i.e.,
not taking into account the questions I raised.
Thank you very much.
Jim Keenan
Re: dpb(1) and pkgpath(7) file not working
On Wed, Jan 31, 2018 at 04:48:25PM -0500, trondd wrote:
> The file can't be in /root. I think this was explained previously but
> either /root/something looks like a valid individual package or is a valid
> package path.
Sure enough. That was it. I moved pkglist to /tmp and it works fine now.
Thank you!
Bryan
> The file can't be in /root. I think this was explained previously but
> either /root/something looks like a valid individual package or is a valid
> package path.
Sure enough. That was it. I moved pkglist to /tmp and it works fine now.
Thank you!
Bryan
Re: dpb(1) and pkgpath(7) file not working
On Wed, January 31, 2018 2:45 pm, Bryan Vyhmeister wrote:
> I am working on some partial bulk builds with dpb(1) and was intending
> to use a list of packages to build from a file conforming to pkgpath(7).
> My pkglist file always gives an error. I can build ports by listing them
> individually just fine on the command line.
>
> octeon# dpb -B /dest -P ~/pkglist
> Started as: root
> Port user: root
> Build user: _pbuild
> Fetch user: _pfetch
> Log user: _pbuild
> Unpriv user: _dpb
> dpb: Bad package path: /root/pkglist
> Usage: dpb [-acemqrRsuUvx] [-A arch] [-B chroot] [-C plist] [-f m] [-F m]
> [-I pathlist] [-J p] [-j n] [-p parallel] [-P pathlist] [-h hosts]
> [-L logdir] [-l lockdir] [-b log] [-M threshold] [-X pathlist]
> [pathlist ...]
>
> octeon# cat /root/pkglist
> net/curl
> net/wget
> net/fping
>
The file can't be in /root. I think this was explained previously but
either /root/something looks like a valid individual package or is a valid
package path.
Tim.
> I prepared /dest (a partition) with proot(1) and everything works fine
> by running:
>
> octeon# dpb -B /dest net/curl net/wget net/fping
>
> I also thought that since 'dpb -B' is a chroot setup, perhaps I needed
> my pkglist under the chroot. I copied it to /dest/root/pkglist which
> still shows the same issue.
>
> Is there some bug with reading a pkgpath(7) with dpb or am I making some
> mistake in my invocation?
>
> Bryan
>
> I am working on some partial bulk builds with dpb(1) and was intending
> to use a list of packages to build from a file conforming to pkgpath(7).
> My pkglist file always gives an error. I can build ports by listing them
> individually just fine on the command line.
>
> octeon# dpb -B /dest -P ~/pkglist
> Started as: root
> Port user: root
> Build user: _pbuild
> Fetch user: _pfetch
> Log user: _pbuild
> Unpriv user: _dpb
> dpb: Bad package path: /root/pkglist
> Usage: dpb [-acemqrRsuUvx] [-A arch] [-B chroot] [-C plist] [-f m] [-F m]
> [-I pathlist] [-J p] [-j n] [-p parallel] [-P pathlist] [-h hosts]
> [-L logdir] [-l lockdir] [-b log] [-M threshold] [-X pathlist]
> [pathlist ...]
>
> octeon# cat /root/pkglist
> net/curl
> net/wget
> net/fping
>
The file can't be in /root. I think this was explained previously but
either /root/something looks like a valid individual package or is a valid
package path.
Tim.
> I prepared /dest (a partition) with proot(1) and everything works fine
> by running:
>
> octeon# dpb -B /dest net/curl net/wget net/fping
>
> I also thought that since 'dpb -B' is a chroot setup, perhaps I needed
> my pkglist under the chroot. I copied it to /dest/root/pkglist which
> still shows the same issue.
>
> Is there some bug with reading a pkgpath(7) with dpb or am I making some
> mistake in my invocation?
>
> Bryan
>
Re: UPDATE: graphics/feh 2.20 -> 2.23.1
On 2018/01/31 20:54, Klemens Nanni wrote:
> * The Makefile no longer honors CPPFLAGS and instead consistently uses CFLAGS for user-provided include paths
CPPFLAGS would usually be the better place for include paths ...
> * The Makefile no longer honors CPPFLAGS and instead consistently uses CFLAGS for user-provided include paths
CPPFLAGS would usually be the better place for include paths ...
Re: UPDATE: graphics/feh 2.20 -> 2.23.1
On Mon, Jan 29, 2018 at 02:03:53AM +0100, Klemens Nanni wrote:
> Here's an update to the newest release:
>
> * Fix broken thumbnail/index windows when using --scale-down
> * Use Imlib2 in-memory image cache (default cache size: 4MiB). This allows
> for significant performance improvements especially in small slideshows
> * Add --cache-size option to set Imlib2 image cache size
> * Fix HTTPS certificate errors on some systems (broken in 2.22)
> * Allow ~/.fehbg to be sourced (instead of executed) from other shell
> scripts again (broken in 2.22)
> * Add support for CURL_CA_BUNDLE environment variable when loading images
> via HTTPS
> * Fix ~/.fehbg not being updated when setting a wallpaper via menu
> (broken in 2.21)
> * Add toggle_fixed_geometry ('g') key binding to toggle window auto-resize
> * Improve control via terminal input
> * Fix crash (segmentation fault) when using feh -O in non-index mode
> * Fix --force-aliasing (and possibly other options) missing from ~/.fehbg
> when using them for background setting
>
> The EXIF hunk in patch-config_mk got moved to MAKE_FLAGS.
>
> System includes needed to be moved before local ones.
>
> glibc specific CFLAGS had to be removed, there is no object change when
> compiling without `-std=c11' so I left those out completely.
>
> With my new devel/p5-Test-Command port submitted earlier we can also
> enable headless tests, which all succeed on my amd64 machine except for
> mandoc linting. This is both due to our mandoc(1) not having `-V' and
> actual markup issues in their manpages, see attached test.log.
>
> Works fine for me on amd64, but I have yet to communicate with upstream
> regarding the patches.
New 2.23.1 release after I got all our patches (except the SUBST bits)
merged upstream:
* The Makefile no longer honors CPPFLAGS and instead consistently uses CFLAGS for user-provided include paths
* Fix %u format specifier in multiwindow and list modes (patch by ulteq)
* Minor performance improvements (patches by ulteq)
* Stability improvements when using --magick-timeout (patch by ulteq)
I also took the liberty to squash the SUBST_CMD invocation a bit while
moving it from post- to pre-configure.
Test are ok, upstream checks for `mandoc -V' but would throw lots of
mandoc linter warnings anyway. They're working on it.
test/feh.t ..... ok
usage: mandoc [-ac] [-I os=name] [-K encoding] [-mdoc | -man] [-O options]
[-T output] [-W level] [file ...]
# mandoc not installed, test skipped. This is NOT fatal.
test/mandoc.t .. ok
All tests successful.
Files=2, Tests=74, 1 wallclock secs ( 0.02 usr 0.05 sys + 0.23 cusr 0.45 csys = 0.75 CPU)
Result: PASS
Feedback? Any takers?
Index: Makefile
===================================================================
RCS file: /cvs/ports/graphics/feh/Makefile,v
retrieving revision 1.88
diff -u -p -r1.88 Makefile
--- Makefile 7 Dec 2017 13:12:44 -0000 1.88
+++ Makefile 31 Jan 2018 19:51:38 -0000
@@ -2,12 +2,12 @@
COMMENT= lightweight image viewer
-DISTNAME= feh-2.20
+DISTNAME= feh-2.23.1
EXTRACT_SUFX= .tar.bz2
CATEGORIES= graphics
FIX_EXTRACT_PERMISSIONS=Yes
-HOMEPAGE= http://feh.finalrewind.org/
+HOMEPAGE= https://feh.finalrewind.org/
MAINTAINER= David Coppa <dcoppa@openbsd.org>
@@ -24,21 +24,20 @@ LIB_DEPENDS= graphics/imlib2 \
RUN_DEPENDS+= devel/desktop-file-utils \
x11/gtk+3,-guic
+TEST_DEPENDS= devel/p5-Test-Command
CFLAGS+= -I${LOCALBASE}/include \
-I${X11BASE}/include
LDFLAGS+= -L${LOCALBASE}/lib -L${X11BASE}/lib
MAKE_FLAGS= LDFLAGS="${LDFLAGS}" man_dir="${DESTDIR}${PREFIX}/man" \
- example_dir="${DESTDIR}${PREFIX}/share/examples/feh"
+ example_dir="${DESTDIR}${PREFIX}/share/examples/feh" \
+ exif=1
FAKE_FLAGS= PREFIX="${PREFIX}"
USE_GMAKE= Yes
-NO_TEST= Yes
-
-post-configure:
+pre-configure:
${SUBST_CMD} ${WRKSRC}/examples/themes ${WRKSRC}/man/feh.pre \
- ${WRKSRC}/src/events.c ${WRKSRC}/src/keyevents.c \
- ${WRKSRC}/src/options.c
+ ${WRKSRC}/src/{events,keyevents,options}.c
.include <bsd.port.mk>
Index: distinfo
===================================================================
RCS file: /cvs/ports/graphics/feh/distinfo,v
retrieving revision 1.55
diff -u -p -r1.55 distinfo
--- distinfo 8 Sep 2017 08:19:20 -0000 1.55
+++ distinfo 31 Jan 2018 19:51:38 -0000
@@ -1,2 +1,2 @@
-SHA256 (feh-2.20.tar.bz2) = S1BDAgmext0JnITdfihcgNwxiXfr2kiUlZM4a8JucAs=
-SIZE (feh-2.20.tar.bz2) = 2129466
+SHA256 (feh-2.23.1.tar.bz2) = m8Fk0IY9QSAb0lOiZS3O5YBqnGqLWRi7i6CfzubX6b4=
+SIZE (feh-2.23.1.tar.bz2) = 2130373
Index: patches/patch-Makefile
===================================================================
RCS file: /cvs/ports/graphics/feh/patches/patch-Makefile,v
retrieving revision 1.6
diff -u -p -r1.6 patch-Makefile
--- patches/patch-Makefile 9 Jun 2017 10:20:22 -0000 1.6
+++ patches/patch-Makefile 31 Jan 2018 19:51:38 -0000
@@ -2,7 +2,7 @@ $OpenBSD: patch-Makefile,v 1.6 2017/06/0
Index: Makefile
--- Makefile.orig
+++ Makefile
-@@ -90,6 +90,7 @@ install-examples:
+@@ -91,6 +91,7 @@ install-examples:
@echo installing examples to ${example_dir}
@mkdir -p ${example_dir}
@cp examples/* ${example_dir}
Index: patches/patch-config_mk
===================================================================
RCS file: /cvs/ports/graphics/feh/patches/patch-config_mk,v
retrieving revision 1.8
diff -u -p -r1.8 patch-config_mk
--- patches/patch-config_mk 30 Aug 2016 14:44:37 -0000 1.8
+++ patches/patch-config_mk 31 Jan 2018 19:51:38 -0000
@@ -1,25 +1,20 @@
-$OpenBSD: patch-config_mk,v 1.8 2016/08/30 14:44:37 dcoppa Exp $
+$OpenBSD$
zap redundant CFLAGS
-enable builtin EXIF support
+fix "filelist.c:253:45: error: use of undeclared identifier 'alphasort'"
---- config.mk.orig Sun Aug 28 22:25:42 2016
-+++ config.mk Tue Aug 30 16:29:18 2016
-@@ -7,7 +7,7 @@ curl ?= 1
- debug ?= 0
- help ?= 0
- xinerama ?= 1
--exif ?= 0
-+exif ?= 1
-
- # Prefix for all installed files
- PREFIX ?= /usr/local
-@@ -32,7 +32,6 @@ scalable_icon_dir = ${icon_dir}/scalable/apps
+Index: config.mk
+--- config.mk.orig
++++ config.mk
+@@ -35,10 +35,6 @@ scalable_icon_dir = ${icon_dir}/scalable/apps
# default CFLAGS
CFLAGS ?= -g -O2
-CFLAGS += -Wall -Wextra -pedantic
+-
+-# Settings for glibc >= 2.19 - may need to be adjusted for other systems
+-CFLAGS += -std=c11 -D_POSIX_C_SOURCE=200809L -D_XOPEN_SOURCE=700
ifeq (${curl},1)
CFLAGS += -DHAVE_LIBCURL
Index: patches/patch-man_feh_pre
===================================================================
RCS file: /cvs/ports/graphics/feh/patches/patch-man_feh_pre,v
retrieving revision 1.40
diff -u -p -r1.40 patch-man_feh_pre
--- patches/patch-man_feh_pre 8 Sep 2017 08:19:20 -0000 1.40
+++ patches/patch-man_feh_pre 31 Jan 2018 19:51:38 -0000
@@ -1,8 +1,9 @@
-$OpenBSD: patch-man_feh_pre,v 1.40 2017/09/08 08:19:20 dcoppa Exp $
+$OpenBSD$
+
Index: man/feh.pre
--- man/feh.pre.orig
+++ man/feh.pre
-@@ -1073,7 +1073,7 @@ which
+@@ -1088,7 +1088,7 @@ which
defaults to
.Pa ~/.config/feh/ .
If the files are not found in that directory, it will also try
@@ -11,86 +12,3 @@ Index: man/feh.pre
.Pp
All config files treat lines starting with a
.Qq #
-@@ -1651,56 +1651,56 @@ Here are some examples of useful option combinations.
- .
- .Bl -tag -width indent
- .
--.It feh /opt/images
-+.It feh ~/Pictures
- .
--Show all images in /opt/images
-+Show all images in ~/Pictures
- .
--.It feh -r /opt/images
-+.It feh -r ~/Pictures
- .
--Recursively show all images found in /opt/images and subdirectories
-+Recursively show all images found in ~/Pictures and subdirectories
- .
--.It feh -rSfilename /opt/images
-+.It feh -rSfilename ~/Pictures
- .
- Same as above, but sort by filename. By default, feh will show files in the
- order it finds them on the hard disk, which is usually somewhat random.
- .
--.It feh -t -Sfilename -E 128 -y 128 -W 1024 /opt/images
-+.It feh -t -Sfilename -E 128 -y 128 -W 1024 ~/Pictures
- .
- Show 128x128 pixel thumbnails, limit window width to 1024 pixels.
- .
--.It feh -t -Sfilename -E 128 -y 128 -W 1024 -P -C /usr/share/fonts/truetype/ttf-dejavu/ -e DejaVuSans/8 /opt/images
-+.It feh -t -Sfilename -E 128 -y 128 -W 1024 -P -C ${X11BASE}/lib/X11/fonts/TTF/ -e DejaVuSans/8 ~/Pictures
- .
- Same as above, but enable thumbnail caching in ~/.thumbnails and use a smaller
- font.
- .
--.It feh -irFarial/14 -O index.jpg /opt/images
-+.It feh -irFarial/14 -O index.jpg ~/Pictures
- .
--Make an index print of /opt/images and all directories below it, using 14 point
-+Make an index print of ~/Pictures and all directories below it, using 14 point
- Arial to write the image info under each thumbnail. Save the image as
- index.jpg and don't display it, just exit. Note that this even works without
- a running X server
- .
--.It feh --unloadable -r /opt/images
-+.It feh --unloadable -r ~/Pictures
- .
--Print all unloadable images in /opt/images, recursively
-+Print all unloadable images in ~/Pictures, recursively
- .
- .It feh -f by_width -S width --reverse --list \&.
- .
- Write a list of all images in the directory to by_width, sorted by width
- .Pq widest images first
- .
--.It feh -w /opt/images/holidays
-+.It feh -w ~/Pictures/holidays
- .
--Open each image in /opt/images/holidays in its own window
-+Open each image in ~/Pictures/holidays in its own window
- .
--.It feh -FD5 -Sname /opt/images/presentation
-+.It feh -FD5 -Sname ~/Pictures/presentation
- .
--Show the images in .../presentation, sorted by name, in fullscreen,
-+Show the images in ~/Pictures/presentation, sorted by name, in fullscreen,
- automatically change to the next image after 5 seconds
- .
--.It feh -rSwidth -A Qo mv %F ~/images/\&%N Qc /opt/images
-+.It feh -rSwidth -A Qo mv %F ~/images/\&%N Qc ~/Pictures
- .
--View all images in /opt/images and below, sorted by width, move an image to
-+View all images in ~/Pictures and below, sorted by width, move an image to
- ~/image/image_name when enter is pressed
- .
- .It feh --start-at ./foo.jpg \&.
-@@ -1745,8 +1745,6 @@ section.
- .
- .
- .Sh BUGS
--.
--.Pp
- .
- On systems with giflib 5.1.2,
- .Nm
Index: patches/patch-src_Makefile
===================================================================
RCS file: patches/patch-src_Makefile
diff -N patches/patch-src_Makefile
--- patches/patch-src_Makefile 8 Sep 2017 08:19:20 -0000 1.4
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,16 +0,0 @@
-$OpenBSD: patch-src_Makefile,v 1.4 2017/09/08 08:19:20 dcoppa Exp $
-
-Make graphics/feh build with clang
-
-Index: src/Makefile
---- src/Makefile.orig
-+++ src/Makefile
-@@ -53,7 +53,7 @@ help.inc: help.raw
-
-
- deps.mk: ${TARGETS} ${I_DSTS}
-- ${CC} ${CPPFLAGS} -MM ${TARGETS} > $@
-+ ${CC} ${CFLAGS} -MM ${TARGETS} > $@
-
- clean:
- rm -f feh *.o *.inc
Index: patches/patch-src_events_c
===================================================================
RCS file: /cvs/ports/graphics/feh/patches/patch-src_events_c,v
retrieving revision 1.10
diff -u -p -r1.10 patch-src_events_c
--- patches/patch-src_events_c 30 Aug 2016 14:44:37 -0000 1.10
+++ patches/patch-src_events_c 31 Jan 2018 19:51:38 -0000
@@ -1,7 +1,8 @@
$OpenBSD: patch-src_events_c,v 1.10 2016/08/30 14:44:37 dcoppa Exp $
---- src/events.c.orig Sun Aug 28 22:25:42 2016
-+++ src/events.c Tue Aug 30 16:28:12 2016
-@@ -123,7 +123,7 @@ void init_buttonbindings(void)
+Index: src/events.c
+--- src/events.c.orig
++++ src/events.c
+@@ -124,7 +124,7 @@ void init_buttonbindings(void)
free(confpath);
Index: patches/patch-src_getopt_c
===================================================================
RCS file: patches/patch-src_getopt_c
diff -N patches/patch-src_getopt_c
--- patches/patch-src_getopt_c 9 Sep 2011 09:51:43 -0000 1.2
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,14 +0,0 @@
-$OpenBSD: patch-src_getopt_c,v 1.2 2011/09/09 09:51:43 dcoppa Exp $
-
-missing header
-
---- src/getopt.c.orig Wed Jul 7 11:40:32 2010
-+++ src/getopt.c Wed Jul 7 11:40:47 2010
-@@ -36,6 +36,7 @@
-
> Here's an update to the newest release:
>
> * Fix broken thumbnail/index windows when using --scale-down
> * Use Imlib2 in-memory image cache (default cache size: 4MiB). This allows
> for significant performance improvements especially in small slideshows
> * Add --cache-size option to set Imlib2 image cache size
> * Fix HTTPS certificate errors on some systems (broken in 2.22)
> * Allow ~/.fehbg to be sourced (instead of executed) from other shell
> scripts again (broken in 2.22)
> * Add support for CURL_CA_BUNDLE environment variable when loading images
> via HTTPS
> * Fix ~/.fehbg not being updated when setting a wallpaper via menu
> (broken in 2.21)
> * Add toggle_fixed_geometry ('g') key binding to toggle window auto-resize
> * Improve control via terminal input
> * Fix crash (segmentation fault) when using feh -O in non-index mode
> * Fix --force-aliasing (and possibly other options) missing from ~/.fehbg
> when using them for background setting
>
> The EXIF hunk in patch-config_mk got moved to MAKE_FLAGS.
>
> System includes needed to be moved before local ones.
>
> glibc specific CFLAGS had to be removed, there is no object change when
> compiling without `-std=c11' so I left those out completely.
>
> With my new devel/p5-Test-Command port submitted earlier we can also
> enable headless tests, which all succeed on my amd64 machine except for
> mandoc linting. This is both due to our mandoc(1) not having `-V' and
> actual markup issues in their manpages, see attached test.log.
>
> Works fine for me on amd64, but I have yet to communicate with upstream
> regarding the patches.
New 2.23.1 release after I got all our patches (except the SUBST bits)
merged upstream:
* The Makefile no longer honors CPPFLAGS and instead consistently uses CFLAGS for user-provided include paths
* Fix %u format specifier in multiwindow and list modes (patch by ulteq)
* Minor performance improvements (patches by ulteq)
* Stability improvements when using --magick-timeout (patch by ulteq)
I also took the liberty to squash the SUBST_CMD invocation a bit while
moving it from post- to pre-configure.
Test are ok, upstream checks for `mandoc -V' but would throw lots of
mandoc linter warnings anyway. They're working on it.
test/feh.t ..... ok
usage: mandoc [-ac] [-I os=name] [-K encoding] [-mdoc | -man] [-O options]
[-T output] [-W level] [file ...]
# mandoc not installed, test skipped. This is NOT fatal.
test/mandoc.t .. ok
All tests successful.
Files=2, Tests=74, 1 wallclock secs ( 0.02 usr 0.05 sys + 0.23 cusr 0.45 csys = 0.75 CPU)
Result: PASS
Feedback? Any takers?
Index: Makefile
===================================================================
RCS file: /cvs/ports/graphics/feh/Makefile,v
retrieving revision 1.88
diff -u -p -r1.88 Makefile
--- Makefile 7 Dec 2017 13:12:44 -0000 1.88
+++ Makefile 31 Jan 2018 19:51:38 -0000
@@ -2,12 +2,12 @@
COMMENT= lightweight image viewer
-DISTNAME= feh-2.20
+DISTNAME= feh-2.23.1
EXTRACT_SUFX= .tar.bz2
CATEGORIES= graphics
FIX_EXTRACT_PERMISSIONS=Yes
-HOMEPAGE= http://feh.finalrewind.org/
+HOMEPAGE= https://feh.finalrewind.org/
MAINTAINER= David Coppa <dcoppa@openbsd.org>
@@ -24,21 +24,20 @@ LIB_DEPENDS= graphics/imlib2 \
RUN_DEPENDS+= devel/desktop-file-utils \
x11/gtk+3,-guic
+TEST_DEPENDS= devel/p5-Test-Command
CFLAGS+= -I${LOCALBASE}/include \
-I${X11BASE}/include
LDFLAGS+= -L${LOCALBASE}/lib -L${X11BASE}/lib
MAKE_FLAGS= LDFLAGS="${LDFLAGS}" man_dir="${DESTDIR}${PREFIX}/man" \
- example_dir="${DESTDIR}${PREFIX}/share/examples/feh"
+ example_dir="${DESTDIR}${PREFIX}/share/examples/feh" \
+ exif=1
FAKE_FLAGS= PREFIX="${PREFIX}"
USE_GMAKE= Yes
-NO_TEST= Yes
-
-post-configure:
+pre-configure:
${SUBST_CMD} ${WRKSRC}/examples/themes ${WRKSRC}/man/feh.pre \
- ${WRKSRC}/src/events.c ${WRKSRC}/src/keyevents.c \
- ${WRKSRC}/src/options.c
+ ${WRKSRC}/src/{events,keyevents,options}.c
.include <bsd.port.mk>
Index: distinfo
===================================================================
RCS file: /cvs/ports/graphics/feh/distinfo,v
retrieving revision 1.55
diff -u -p -r1.55 distinfo
--- distinfo 8 Sep 2017 08:19:20 -0000 1.55
+++ distinfo 31 Jan 2018 19:51:38 -0000
@@ -1,2 +1,2 @@
-SHA256 (feh-2.20.tar.bz2) = S1BDAgmext0JnITdfihcgNwxiXfr2kiUlZM4a8JucAs=
-SIZE (feh-2.20.tar.bz2) = 2129466
+SHA256 (feh-2.23.1.tar.bz2) = m8Fk0IY9QSAb0lOiZS3O5YBqnGqLWRi7i6CfzubX6b4=
+SIZE (feh-2.23.1.tar.bz2) = 2130373
Index: patches/patch-Makefile
===================================================================
RCS file: /cvs/ports/graphics/feh/patches/patch-Makefile,v
retrieving revision 1.6
diff -u -p -r1.6 patch-Makefile
--- patches/patch-Makefile 9 Jun 2017 10:20:22 -0000 1.6
+++ patches/patch-Makefile 31 Jan 2018 19:51:38 -0000
@@ -2,7 +2,7 @@ $OpenBSD: patch-Makefile,v 1.6 2017/06/0
Index: Makefile
--- Makefile.orig
+++ Makefile
-@@ -90,6 +90,7 @@ install-examples:
+@@ -91,6 +91,7 @@ install-examples:
@echo installing examples to ${example_dir}
@mkdir -p ${example_dir}
@cp examples/* ${example_dir}
Index: patches/patch-config_mk
===================================================================
RCS file: /cvs/ports/graphics/feh/patches/patch-config_mk,v
retrieving revision 1.8
diff -u -p -r1.8 patch-config_mk
--- patches/patch-config_mk 30 Aug 2016 14:44:37 -0000 1.8
+++ patches/patch-config_mk 31 Jan 2018 19:51:38 -0000
@@ -1,25 +1,20 @@
-$OpenBSD: patch-config_mk,v 1.8 2016/08/30 14:44:37 dcoppa Exp $
+$OpenBSD$
zap redundant CFLAGS
-enable builtin EXIF support
+fix "filelist.c:253:45: error: use of undeclared identifier 'alphasort'"
---- config.mk.orig Sun Aug 28 22:25:42 2016
-+++ config.mk Tue Aug 30 16:29:18 2016
-@@ -7,7 +7,7 @@ curl ?= 1
- debug ?= 0
- help ?= 0
- xinerama ?= 1
--exif ?= 0
-+exif ?= 1
-
- # Prefix for all installed files
- PREFIX ?= /usr/local
-@@ -32,7 +32,6 @@ scalable_icon_dir = ${icon_dir}/scalable/apps
+Index: config.mk
+--- config.mk.orig
++++ config.mk
+@@ -35,10 +35,6 @@ scalable_icon_dir = ${icon_dir}/scalable/apps
# default CFLAGS
CFLAGS ?= -g -O2
-CFLAGS += -Wall -Wextra -pedantic
+-
+-# Settings for glibc >= 2.19 - may need to be adjusted for other systems
+-CFLAGS += -std=c11 -D_POSIX_C_SOURCE=200809L -D_XOPEN_SOURCE=700
ifeq (${curl},1)
CFLAGS += -DHAVE_LIBCURL
Index: patches/patch-man_feh_pre
===================================================================
RCS file: /cvs/ports/graphics/feh/patches/patch-man_feh_pre,v
retrieving revision 1.40
diff -u -p -r1.40 patch-man_feh_pre
--- patches/patch-man_feh_pre 8 Sep 2017 08:19:20 -0000 1.40
+++ patches/patch-man_feh_pre 31 Jan 2018 19:51:38 -0000
@@ -1,8 +1,9 @@
-$OpenBSD: patch-man_feh_pre,v 1.40 2017/09/08 08:19:20 dcoppa Exp $
+$OpenBSD$
+
Index: man/feh.pre
--- man/feh.pre.orig
+++ man/feh.pre
-@@ -1073,7 +1073,7 @@ which
+@@ -1088,7 +1088,7 @@ which
defaults to
.Pa ~/.config/feh/ .
If the files are not found in that directory, it will also try
@@ -11,86 +12,3 @@ Index: man/feh.pre
.Pp
All config files treat lines starting with a
.Qq #
-@@ -1651,56 +1651,56 @@ Here are some examples of useful option combinations.
- .
- .Bl -tag -width indent
- .
--.It feh /opt/images
-+.It feh ~/Pictures
- .
--Show all images in /opt/images
-+Show all images in ~/Pictures
- .
--.It feh -r /opt/images
-+.It feh -r ~/Pictures
- .
--Recursively show all images found in /opt/images and subdirectories
-+Recursively show all images found in ~/Pictures and subdirectories
- .
--.It feh -rSfilename /opt/images
-+.It feh -rSfilename ~/Pictures
- .
- Same as above, but sort by filename. By default, feh will show files in the
- order it finds them on the hard disk, which is usually somewhat random.
- .
--.It feh -t -Sfilename -E 128 -y 128 -W 1024 /opt/images
-+.It feh -t -Sfilename -E 128 -y 128 -W 1024 ~/Pictures
- .
- Show 128x128 pixel thumbnails, limit window width to 1024 pixels.
- .
--.It feh -t -Sfilename -E 128 -y 128 -W 1024 -P -C /usr/share/fonts/truetype/ttf-dejavu/ -e DejaVuSans/8 /opt/images
-+.It feh -t -Sfilename -E 128 -y 128 -W 1024 -P -C ${X11BASE}/lib/X11/fonts/TTF/ -e DejaVuSans/8 ~/Pictures
- .
- Same as above, but enable thumbnail caching in ~/.thumbnails and use a smaller
- font.
- .
--.It feh -irFarial/14 -O index.jpg /opt/images
-+.It feh -irFarial/14 -O index.jpg ~/Pictures
- .
--Make an index print of /opt/images and all directories below it, using 14 point
-+Make an index print of ~/Pictures and all directories below it, using 14 point
- Arial to write the image info under each thumbnail. Save the image as
- index.jpg and don't display it, just exit. Note that this even works without
- a running X server
- .
--.It feh --unloadable -r /opt/images
-+.It feh --unloadable -r ~/Pictures
- .
--Print all unloadable images in /opt/images, recursively
-+Print all unloadable images in ~/Pictures, recursively
- .
- .It feh -f by_width -S width --reverse --list \&.
- .
- Write a list of all images in the directory to by_width, sorted by width
- .Pq widest images first
- .
--.It feh -w /opt/images/holidays
-+.It feh -w ~/Pictures/holidays
- .
--Open each image in /opt/images/holidays in its own window
-+Open each image in ~/Pictures/holidays in its own window
- .
--.It feh -FD5 -Sname /opt/images/presentation
-+.It feh -FD5 -Sname ~/Pictures/presentation
- .
--Show the images in .../presentation, sorted by name, in fullscreen,
-+Show the images in ~/Pictures/presentation, sorted by name, in fullscreen,
- automatically change to the next image after 5 seconds
- .
--.It feh -rSwidth -A Qo mv %F ~/images/\&%N Qc /opt/images
-+.It feh -rSwidth -A Qo mv %F ~/images/\&%N Qc ~/Pictures
- .
--View all images in /opt/images and below, sorted by width, move an image to
-+View all images in ~/Pictures and below, sorted by width, move an image to
- ~/image/image_name when enter is pressed
- .
- .It feh --start-at ./foo.jpg \&.
-@@ -1745,8 +1745,6 @@ section.
- .
- .
- .Sh BUGS
--.
--.Pp
- .
- On systems with giflib 5.1.2,
- .Nm
Index: patches/patch-src_Makefile
===================================================================
RCS file: patches/patch-src_Makefile
diff -N patches/patch-src_Makefile
--- patches/patch-src_Makefile 8 Sep 2017 08:19:20 -0000 1.4
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,16 +0,0 @@
-$OpenBSD: patch-src_Makefile,v 1.4 2017/09/08 08:19:20 dcoppa Exp $
-
-Make graphics/feh build with clang
-
-Index: src/Makefile
---- src/Makefile.orig
-+++ src/Makefile
-@@ -53,7 +53,7 @@ help.inc: help.raw
-
-
- deps.mk: ${TARGETS} ${I_DSTS}
-- ${CC} ${CPPFLAGS} -MM ${TARGETS} > $@
-+ ${CC} ${CFLAGS} -MM ${TARGETS} > $@
-
- clean:
- rm -f feh *.o *.inc
Index: patches/patch-src_events_c
===================================================================
RCS file: /cvs/ports/graphics/feh/patches/patch-src_events_c,v
retrieving revision 1.10
diff -u -p -r1.10 patch-src_events_c
--- patches/patch-src_events_c 30 Aug 2016 14:44:37 -0000 1.10
+++ patches/patch-src_events_c 31 Jan 2018 19:51:38 -0000
@@ -1,7 +1,8 @@
$OpenBSD: patch-src_events_c,v 1.10 2016/08/30 14:44:37 dcoppa Exp $
---- src/events.c.orig Sun Aug 28 22:25:42 2016
-+++ src/events.c Tue Aug 30 16:28:12 2016
-@@ -123,7 +123,7 @@ void init_buttonbindings(void)
+Index: src/events.c
+--- src/events.c.orig
++++ src/events.c
+@@ -124,7 +124,7 @@ void init_buttonbindings(void)
free(confpath);
Index: patches/patch-src_getopt_c
===================================================================
RCS file: patches/patch-src_getopt_c
diff -N patches/patch-src_getopt_c
--- patches/patch-src_getopt_c 9 Sep 2011 09:51:43 -0000 1.2
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,14 +0,0 @@
-$OpenBSD: patch-src_getopt_c,v 1.2 2011/09/09 09:51:43 dcoppa Exp $
-
-missing header
-
---- src/getopt.c.orig Wed Jul 7 11:40:32 2010
-+++ src/getopt.c Wed Jul 7 11:40:47 2010
-@@ -36,6 +36,7 @@
-
dpb(1) and pkgpath(7) file not working
I am working on some partial bulk builds with dpb(1) and was intending
to use a list of packages to build from a file conforming to pkgpath(7).
My pkglist file always gives an error. I can build ports by listing them
individually just fine on the command line.
octeon# dpb -B /dest -P ~/pkglist
Started as: root
Port user: root
Build user: _pbuild
Fetch user: _pfetch
Log user: _pbuild
Unpriv user: _dpb
dpb: Bad package path: /root/pkglist
Usage: dpb [-acemqrRsuUvx] [-A arch] [-B chroot] [-C plist] [-f m] [-F m]
[-I pathlist] [-J p] [-j n] [-p parallel] [-P pathlist] [-h hosts]
[-L logdir] [-l lockdir] [-b log] [-M threshold] [-X pathlist]
[pathlist ...]
octeon# cat /root/pkglist
net/curl
net/wget
net/fping
I prepared /dest (a partition) with proot(1) and everything works fine
by running:
octeon# dpb -B /dest net/curl net/wget net/fping
I also thought that since 'dpb -B' is a chroot setup, perhaps I needed
my pkglist under the chroot. I copied it to /dest/root/pkglist which
still shows the same issue.
Is there some bug with reading a pkgpath(7) with dpb or am I making some
mistake in my invocation?
Bryan
to use a list of packages to build from a file conforming to pkgpath(7).
My pkglist file always gives an error. I can build ports by listing them
individually just fine on the command line.
octeon# dpb -B /dest -P ~/pkglist
Started as: root
Port user: root
Build user: _pbuild
Fetch user: _pfetch
Log user: _pbuild
Unpriv user: _dpb
dpb: Bad package path: /root/pkglist
Usage: dpb [-acemqrRsuUvx] [-A arch] [-B chroot] [-C plist] [-f m] [-F m]
[-I pathlist] [-J p] [-j n] [-p parallel] [-P pathlist] [-h hosts]
[-L logdir] [-l lockdir] [-b log] [-M threshold] [-X pathlist]
[pathlist ...]
octeon# cat /root/pkglist
net/curl
net/wget
net/fping
I prepared /dest (a partition) with proot(1) and everything works fine
by running:
octeon# dpb -B /dest net/curl net/wget net/fping
I also thought that since 'dpb -B' is a chroot setup, perhaps I needed
my pkglist under the chroot. I copied it to /dest/root/pkglist which
still shows the same issue.
Is there some bug with reading a pkgpath(7) with dpb or am I making some
mistake in my invocation?
Bryan
Re: [UPDATE] textproc/py-podcastparser for net/gpodder update
On Tue, Jan 30, 2018 at 06:37:13PM -0500, trondd wrote:
> Daniel Jakots <danj+obsd@chown.me> wrote:
>
> > On Thu, 25 Jan 2018 20:06:29 -0500, trondd <trondd@kagu-tsuchi.com>
> > wrote:
> >
> > > +MODPY_VERSION= ${MODPY_DEFAULT_VERSION_3}
> >
> > As it's a library and the ports name is py- prefixed, we can easily go
> > with a flavour which is what our policy is :)
> > Any comment?
>
> Thanks. That was one of my questions. This is good, except for
> disambiguating the man page filename.
>
> Tim.
>
> Index: Makefile
> ===================================================================
> RCS file: /cvs/ports/textproc/py-podcastparser/Makefile,v
> retrieving revision 1.1.1.1
> diff -u -p -r1.1.1.1 Makefile
> --- Makefile 18 Apr 2017 02:13:26 -0000 1.1.1.1
> +++ Makefile 30 Jan 2018 23:28:59 -0000
> @@ -2,34 +2,37 @@
>
> COMMENT= simple, fast and efficient podcast parser
>
> -MODPY_EGG_VERSION= 0.6.1
> +MODPY_EGG_VERSION= 0.6.2
> DISTNAME= podcastparser-${MODPY_EGG_VERSION}
> PKGNAME= py-${DISTNAME}
> CATEGORIES= textproc
>
> -HOMEPAGE= http://gpodder.org/podcastparser/
> -
> MAINTAINER= Tim Meunier <trondd@kagu-tsuchi.com>
>
> # ISC
> PERMIT_PACKAGE_CDROM= Yes
>
> -MASTER_SITES= ${HOMEPAGE}
> -
> MODULES= lang/python
>
> -BUILD_DEPENDS= textproc/py-sphinx
> +MODPY_PI= Yes
> +
> +BUILD_DEPENDS= textproc/py-sphinx${MODPY_FLAVOR}
> +
> +TEST_DEPENDS= devel/py-nose${MODPY_FLAVOR} \
> + devel/py-coverage${MODPY_FLAVOR}
>
> -TEST_DEPENDS= devel/py-nose \
> - devel/py-coverage
> +FLAVORS= python3
> +FLAVOR?=
>
> MAKE_FILE= makefile
> MAKE_ENV= PYTHON=${MODPY_BIN}
>
> post-build:
> - cd ${WRKSRC}/doc && ${MAKE_ENV} ${MAKE_PROGRAM} man
> + cd ${WRKSRC}/doc && ${MAKE_ENV} ${MAKE_PROGRAM} man \
> + SPHINXBUILD=sphinx-build${MODPY_BIN_SUFFIX}
>
> post-install:
> - ${INSTALL_DATA} ${WRKSRC}/doc/_build/man/*.1 ${PREFIX}/man/man1/
> + ${INSTALL_DATA} ${WRKSRC}/doc/_build/man/podcastparser.1 \
> + ${PREFIX}/man/man1/podcastparser${MODPY_BIN_SUFFIX}.1
>
> .include <bsd.port.mk>
> Index: distinfo
> ===================================================================
> RCS file: /cvs/ports/textproc/py-podcastparser/distinfo,v
> retrieving revision 1.1.1.1
> diff -u -p -r1.1.1.1 distinfo
> --- distinfo 18 Apr 2017 02:13:26 -0000 1.1.1.1
> +++ distinfo 30 Jan 2018 23:28:59 -0000
> @@ -1,2 +1,2 @@
> -SHA256 (podcastparser-0.6.1.tar.gz) = o0eQqUC8WC99Y4jEO2mvchRDK6G9fUANGZxjvS2hPRQ=
> -SIZE (podcastparser-0.6.1.tar.gz) = 18006
> +SHA256 (podcastparser-0.6.2.tar.gz) = i5FSJMAPK/JIETn4C/Nl7SB0KjkH9DdxHJawqGqHiWg=
> +SIZE (podcastparser-0.6.2.tar.gz) = 21871
> Index: pkg/PLIST
> ===================================================================
> RCS file: /cvs/ports/textproc/py-podcastparser/pkg/PLIST,v
> retrieving revision 1.1.1.1
> diff -u -p -r1.1.1.1 PLIST
> --- pkg/PLIST 18 Apr 2017 02:13:26 -0000 1.1.1.1
> +++ pkg/PLIST 30 Jan 2018 23:28:59 -0000
> @@ -1,5 +1,6 @@
> @comment $OpenBSD: PLIST,v 1.1.1.1 2017/04/18 02:13:26 danj Exp $
> +${MODPY_COMMENT}lib/python${MODPY_VERSION}/site-packages/${MODPY_PYCACHE}/
> +lib/python${MODPY_VERSION}/site-packages/${MODPY_PYCACHE}podcastparser.${MODPY_PYC_MAGIC_TAG}pyc
> lib/python${MODPY_VERSION}/site-packages/podcastparser-${MODPY_EGG_VERSION}-py${MODPY_VERSION}.egg-info
> lib/python${MODPY_VERSION}/site-packages/podcastparser.py
> -lib/python${MODPY_VERSION}/site-packages/podcastparser.pyc
> -@man man/man1/podcastparser.1
> +@man man/man1/podcastparser${MODPY_BIN_SUFFIX}.1
>
Please disregard my diff, yours is completely fine.
> Daniel Jakots <danj+obsd@chown.me> wrote:
>
> > On Thu, 25 Jan 2018 20:06:29 -0500, trondd <trondd@kagu-tsuchi.com>
> > wrote:
> >
> > > +MODPY_VERSION= ${MODPY_DEFAULT_VERSION_3}
> >
> > As it's a library and the ports name is py- prefixed, we can easily go
> > with a flavour which is what our policy is :)
> > Any comment?
>
> Thanks. That was one of my questions. This is good, except for
> disambiguating the man page filename.
>
> Tim.
>
> Index: Makefile
> ===================================================================
> RCS file: /cvs/ports/textproc/py-podcastparser/Makefile,v
> retrieving revision 1.1.1.1
> diff -u -p -r1.1.1.1 Makefile
> --- Makefile 18 Apr 2017 02:13:26 -0000 1.1.1.1
> +++ Makefile 30 Jan 2018 23:28:59 -0000
> @@ -2,34 +2,37 @@
>
> COMMENT= simple, fast and efficient podcast parser
>
> -MODPY_EGG_VERSION= 0.6.1
> +MODPY_EGG_VERSION= 0.6.2
> DISTNAME= podcastparser-${MODPY_EGG_VERSION}
> PKGNAME= py-${DISTNAME}
> CATEGORIES= textproc
>
> -HOMEPAGE= http://gpodder.org/podcastparser/
> -
> MAINTAINER= Tim Meunier <trondd@kagu-tsuchi.com>
>
> # ISC
> PERMIT_PACKAGE_CDROM= Yes
>
> -MASTER_SITES= ${HOMEPAGE}
> -
> MODULES= lang/python
>
> -BUILD_DEPENDS= textproc/py-sphinx
> +MODPY_PI= Yes
> +
> +BUILD_DEPENDS= textproc/py-sphinx${MODPY_FLAVOR}
> +
> +TEST_DEPENDS= devel/py-nose${MODPY_FLAVOR} \
> + devel/py-coverage${MODPY_FLAVOR}
>
> -TEST_DEPENDS= devel/py-nose \
> - devel/py-coverage
> +FLAVORS= python3
> +FLAVOR?=
>
> MAKE_FILE= makefile
> MAKE_ENV= PYTHON=${MODPY_BIN}
>
> post-build:
> - cd ${WRKSRC}/doc && ${MAKE_ENV} ${MAKE_PROGRAM} man
> + cd ${WRKSRC}/doc && ${MAKE_ENV} ${MAKE_PROGRAM} man \
> + SPHINXBUILD=sphinx-build${MODPY_BIN_SUFFIX}
>
> post-install:
> - ${INSTALL_DATA} ${WRKSRC}/doc/_build/man/*.1 ${PREFIX}/man/man1/
> + ${INSTALL_DATA} ${WRKSRC}/doc/_build/man/podcastparser.1 \
> + ${PREFIX}/man/man1/podcastparser${MODPY_BIN_SUFFIX}.1
>
> .include <bsd.port.mk>
> Index: distinfo
> ===================================================================
> RCS file: /cvs/ports/textproc/py-podcastparser/distinfo,v
> retrieving revision 1.1.1.1
> diff -u -p -r1.1.1.1 distinfo
> --- distinfo 18 Apr 2017 02:13:26 -0000 1.1.1.1
> +++ distinfo 30 Jan 2018 23:28:59 -0000
> @@ -1,2 +1,2 @@
> -SHA256 (podcastparser-0.6.1.tar.gz) = o0eQqUC8WC99Y4jEO2mvchRDK6G9fUANGZxjvS2hPRQ=
> -SIZE (podcastparser-0.6.1.tar.gz) = 18006
> +SHA256 (podcastparser-0.6.2.tar.gz) = i5FSJMAPK/JIETn4C/Nl7SB0KjkH9DdxHJawqGqHiWg=
> +SIZE (podcastparser-0.6.2.tar.gz) = 21871
> Index: pkg/PLIST
> ===================================================================
> RCS file: /cvs/ports/textproc/py-podcastparser/pkg/PLIST,v
> retrieving revision 1.1.1.1
> diff -u -p -r1.1.1.1 PLIST
> --- pkg/PLIST 18 Apr 2017 02:13:26 -0000 1.1.1.1
> +++ pkg/PLIST 30 Jan 2018 23:28:59 -0000
> @@ -1,5 +1,6 @@
> @comment $OpenBSD: PLIST,v 1.1.1.1 2017/04/18 02:13:26 danj Exp $
> +${MODPY_COMMENT}lib/python${MODPY_VERSION}/site-packages/${MODPY_PYCACHE}/
> +lib/python${MODPY_VERSION}/site-packages/${MODPY_PYCACHE}podcastparser.${MODPY_PYC_MAGIC_TAG}pyc
> lib/python${MODPY_VERSION}/site-packages/podcastparser-${MODPY_EGG_VERSION}-py${MODPY_VERSION}.egg-info
> lib/python${MODPY_VERSION}/site-packages/podcastparser.py
> -lib/python${MODPY_VERSION}/site-packages/podcastparser.pyc
> -@man man/man1/podcastparser.1
> +@man man/man1/podcastparser${MODPY_BIN_SUFFIX}.1
>
Please disregard my diff, yours is completely fine.
Re: [UPDATE] net/rsync to 3.1.3
On Wed, Jan 31, 2018 at 12:39:42PM -0500, Daniel Jakots wrote:
> cvs rm -f /path/to/patch and then cvs diff ;)
Thanks! That was exactly what I was missing. Updated diff with the
patches removed below.
Bryan
Index: net/rsync/Makefile
===================================================================
RCS file: /cvs/ports/net/rsync/Makefile,v
retrieving revision 1.79
diff -u -p -r1.79 Makefile
--- net/rsync/Makefile 11 Jan 2018 19:27:07 -0000 1.79
+++ net/rsync/Makefile 31 Jan 2018 17:42:34 -0000
@@ -2,8 +2,7 @@
COMMENT = mirroring/synchronization over low bandwidth links
-DISTNAME = rsync-3.1.2
-REVISION = 2
+DISTNAME = rsync-3.1.3
CATEGORIES = net
HOMEPAGE = https://rsync.samba.org/
Index: net/rsync/distinfo
===================================================================
RCS file: /cvs/ports/net/rsync/distinfo,v
retrieving revision 1.28
diff -u -p -r1.28 distinfo
--- net/rsync/distinfo 10 Jan 2016 21:36:22 -0000 1.28
+++ net/rsync/distinfo 31 Jan 2018 17:42:34 -0000
@@ -1,2 +1,2 @@
-SHA256 (rsync-3.1.2.tar.gz) = 7Ppip/o8TBi57M2MFurd7kvTCKdupQtcAqWEDwnAocI=
-SIZE (rsync-3.1.2.tar.gz) = 892724
+SHA256 (rsync-3.1.3.tar.gz) = VcxVTv7F/arXDekhzVpe62wpqVUkxxXzu/hJI1sIAMA=
+SIZE (rsync-3.1.3.tar.gz) = 905908
Index: net/rsync/patches/patch-receiver_c
===================================================================
RCS file: net/rsync/patches/patch-receiver_c
diff -N net/rsync/patches/patch-receiver_c
--- net/rsync/patches/patch-receiver_c 19 Dec 2017 19:58:39 -0000 1.3
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,45 +0,0 @@
-$OpenBSD: patch-receiver_c,v 1.3 2017/12/19 19:58:39 danj Exp $
-
-Backport from upstream
-3e06d40029cfdce9d0f73d87cfd4edaf54be9c51
-5509597decdbd7b91994210f700329d8a35e70a1
-f5e8a17e093065fb20fea00a29540fe2c7896441
-
-Index: receiver.c
---- receiver.c.orig
-+++ receiver.c
-@@ -583,6 +583,12 @@ int recv_files(int f_in, int f_out, char *local_name)
- if (DEBUG_GTE(RECV, 1))
- rprintf(FINFO, "recv_files(%s)\n", fname);
-
-+ if (daemon_filter_list.head && (*fname != '.' || fname[1] != '\0')
-+ && check_filter(&daemon_filter_list, FLOG, fname, 0) < 0) {
-+ rprintf(FERROR, "attempt to hack rsync failed.\n");
-+ exit_cleanup(RERR_PROTOCOL);
-+ }
-+
- #ifdef SUPPORT_XATTRS
- if (preserve_xattrs && iflags & ITEM_REPORT_XATTR && do_xfers
- && !(want_xattr_optim && BITS_SET(iflags, ITEM_XNAME_FOLLOWS|ITEM_LOCAL_CHANGE)))
-@@ -651,12 +657,6 @@ int recv_files(int f_in, int f_out, char *local_name)
-
- cleanup_got_literal = 0;
-
-- if (daemon_filter_list.head
-- && check_filter(&daemon_filter_list, FLOG, fname, 0) < 0) {
-- rprintf(FERROR, "attempt to hack rsync failed.\n");
-- exit_cleanup(RERR_PROTOCOL);
-- }
--
- if (read_batch) {
- int wanted = redoing
- ? we_want_redo(ndx)
-@@ -728,7 +728,7 @@ int recv_files(int f_in, int f_out, char *local_name)
- break;
- }
- if (!fnamecmp || (daemon_filter_list.head
-- && check_filter(&daemon_filter_list, FLOG, fname, 0) < 0)) {
-+ && check_filter(&daemon_filter_list, FLOG, fnamecmp, 0) < 0)) {
- fnamecmp = fname;
- fnamecmp_type = FNAMECMP_FNAME;
- }
Index: net/rsync/patches/patch-rsync_c
===================================================================
RCS file: net/rsync/patches/patch-rsync_c
diff -N net/rsync/patches/patch-rsync_c
--- net/rsync/patches/patch-rsync_c 19 Dec 2017 19:58:39 -0000 1.2
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,28 +0,0 @@
-$OpenBSD: patch-rsync_c,v 1.2 2017/12/19 19:58:39 danj Exp $
-
-Backport from upstream
-70aeb5fddd1b2f8e143276f8d5a085db16c593b9
-
-Index: rsync.c
---- rsync.c.orig
-+++ rsync.c
-@@ -49,6 +49,7 @@ extern int flist_eof;
- extern int file_old_total;
- extern int keep_dirlinks;
- extern int make_backups;
-+extern int sanitize_paths;
- extern struct file_list *cur_flist, *first_flist, *dir_flist;
- extern struct chmod_mode_struct *daemon_chmod_modes;
- #ifdef ICONV_OPTION
-@@ -396,6 +397,11 @@ int read_ndx_and_attrs(int f_in, int f_out, int *iflag
- if (iflags & ITEM_XNAME_FOLLOWS) {
- if ((len = read_vstring(f_in, buf, MAXPATHLEN)) < 0)
- exit_cleanup(RERR_PROTOCOL);
-+
-+ if (sanitize_paths) {
-+ sanitize_path(buf, buf, "", 0, SP_DEFAULT);
-+ len = strlen(buf);
-+ }
- } else {
- *buf = '\0';
- len = -1;
Index: net/rsync/patches/patch-xattrs_c
===================================================================
RCS file: net/rsync/patches/patch-xattrs_c
diff -N net/rsync/patches/patch-xattrs_c
--- net/rsync/patches/patch-xattrs_c 19 Dec 2017 19:58:39 -0000 1.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,19 +0,0 @@
-$OpenBSD: patch-xattrs_c,v 1.1 2017/12/19 19:58:39 danj Exp $
-
-Backport from upstream
-47a63d90e71d3e19e0e96052bb8c6b9cb140ecc1
-
-Index: xattrs.c
---- xattrs.c.orig
-+++ xattrs.c
-@@ -696,6 +696,10 @@ void receive_xattr(int f, struct file_struct *file)
- out_of_memory("receive_xattr");
- name = ptr + dget_len + extra_len;
- read_buf(f, name, name_len);
-+ if (name_len < 1 || name[name_len-1] != '\0') {
-+ rprintf(FERROR, "Invalid xattr name received (missing trailing \\0).\n");
-+ exit_cleanup(RERR_FILEIO);
-+ }
- if (dget_len == datum_len)
- read_buf(f, ptr, dget_len);
- else {
> cvs rm -f /path/to/patch and then cvs diff ;)
Thanks! That was exactly what I was missing. Updated diff with the
patches removed below.
Bryan
Index: net/rsync/Makefile
===================================================================
RCS file: /cvs/ports/net/rsync/Makefile,v
retrieving revision 1.79
diff -u -p -r1.79 Makefile
--- net/rsync/Makefile 11 Jan 2018 19:27:07 -0000 1.79
+++ net/rsync/Makefile 31 Jan 2018 17:42:34 -0000
@@ -2,8 +2,7 @@
COMMENT = mirroring/synchronization over low bandwidth links
-DISTNAME = rsync-3.1.2
-REVISION = 2
+DISTNAME = rsync-3.1.3
CATEGORIES = net
HOMEPAGE = https://rsync.samba.org/
Index: net/rsync/distinfo
===================================================================
RCS file: /cvs/ports/net/rsync/distinfo,v
retrieving revision 1.28
diff -u -p -r1.28 distinfo
--- net/rsync/distinfo 10 Jan 2016 21:36:22 -0000 1.28
+++ net/rsync/distinfo 31 Jan 2018 17:42:34 -0000
@@ -1,2 +1,2 @@
-SHA256 (rsync-3.1.2.tar.gz) = 7Ppip/o8TBi57M2MFurd7kvTCKdupQtcAqWEDwnAocI=
-SIZE (rsync-3.1.2.tar.gz) = 892724
+SHA256 (rsync-3.1.3.tar.gz) = VcxVTv7F/arXDekhzVpe62wpqVUkxxXzu/hJI1sIAMA=
+SIZE (rsync-3.1.3.tar.gz) = 905908
Index: net/rsync/patches/patch-receiver_c
===================================================================
RCS file: net/rsync/patches/patch-receiver_c
diff -N net/rsync/patches/patch-receiver_c
--- net/rsync/patches/patch-receiver_c 19 Dec 2017 19:58:39 -0000 1.3
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,45 +0,0 @@
-$OpenBSD: patch-receiver_c,v 1.3 2017/12/19 19:58:39 danj Exp $
-
-Backport from upstream
-3e06d40029cfdce9d0f73d87cfd4edaf54be9c51
-5509597decdbd7b91994210f700329d8a35e70a1
-f5e8a17e093065fb20fea00a29540fe2c7896441
-
-Index: receiver.c
---- receiver.c.orig
-+++ receiver.c
-@@ -583,6 +583,12 @@ int recv_files(int f_in, int f_out, char *local_name)
- if (DEBUG_GTE(RECV, 1))
- rprintf(FINFO, "recv_files(%s)\n", fname);
-
-+ if (daemon_filter_list.head && (*fname != '.' || fname[1] != '\0')
-+ && check_filter(&daemon_filter_list, FLOG, fname, 0) < 0) {
-+ rprintf(FERROR, "attempt to hack rsync failed.\n");
-+ exit_cleanup(RERR_PROTOCOL);
-+ }
-+
- #ifdef SUPPORT_XATTRS
- if (preserve_xattrs && iflags & ITEM_REPORT_XATTR && do_xfers
- && !(want_xattr_optim && BITS_SET(iflags, ITEM_XNAME_FOLLOWS|ITEM_LOCAL_CHANGE)))
-@@ -651,12 +657,6 @@ int recv_files(int f_in, int f_out, char *local_name)
-
- cleanup_got_literal = 0;
-
-- if (daemon_filter_list.head
-- && check_filter(&daemon_filter_list, FLOG, fname, 0) < 0) {
-- rprintf(FERROR, "attempt to hack rsync failed.\n");
-- exit_cleanup(RERR_PROTOCOL);
-- }
--
- if (read_batch) {
- int wanted = redoing
- ? we_want_redo(ndx)
-@@ -728,7 +728,7 @@ int recv_files(int f_in, int f_out, char *local_name)
- break;
- }
- if (!fnamecmp || (daemon_filter_list.head
-- && check_filter(&daemon_filter_list, FLOG, fname, 0) < 0)) {
-+ && check_filter(&daemon_filter_list, FLOG, fnamecmp, 0) < 0)) {
- fnamecmp = fname;
- fnamecmp_type = FNAMECMP_FNAME;
- }
Index: net/rsync/patches/patch-rsync_c
===================================================================
RCS file: net/rsync/patches/patch-rsync_c
diff -N net/rsync/patches/patch-rsync_c
--- net/rsync/patches/patch-rsync_c 19 Dec 2017 19:58:39 -0000 1.2
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,28 +0,0 @@
-$OpenBSD: patch-rsync_c,v 1.2 2017/12/19 19:58:39 danj Exp $
-
-Backport from upstream
-70aeb5fddd1b2f8e143276f8d5a085db16c593b9
-
-Index: rsync.c
---- rsync.c.orig
-+++ rsync.c
-@@ -49,6 +49,7 @@ extern int flist_eof;
- extern int file_old_total;
- extern int keep_dirlinks;
- extern int make_backups;
-+extern int sanitize_paths;
- extern struct file_list *cur_flist, *first_flist, *dir_flist;
- extern struct chmod_mode_struct *daemon_chmod_modes;
- #ifdef ICONV_OPTION
-@@ -396,6 +397,11 @@ int read_ndx_and_attrs(int f_in, int f_out, int *iflag
- if (iflags & ITEM_XNAME_FOLLOWS) {
- if ((len = read_vstring(f_in, buf, MAXPATHLEN)) < 0)
- exit_cleanup(RERR_PROTOCOL);
-+
-+ if (sanitize_paths) {
-+ sanitize_path(buf, buf, "", 0, SP_DEFAULT);
-+ len = strlen(buf);
-+ }
- } else {
- *buf = '\0';
- len = -1;
Index: net/rsync/patches/patch-xattrs_c
===================================================================
RCS file: net/rsync/patches/patch-xattrs_c
diff -N net/rsync/patches/patch-xattrs_c
--- net/rsync/patches/patch-xattrs_c 19 Dec 2017 19:58:39 -0000 1.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,19 +0,0 @@
-$OpenBSD: patch-xattrs_c,v 1.1 2017/12/19 19:58:39 danj Exp $
-
-Backport from upstream
-47a63d90e71d3e19e0e96052bb8c6b9cb140ecc1
-
-Index: xattrs.c
---- xattrs.c.orig
-+++ xattrs.c
-@@ -696,6 +696,10 @@ void receive_xattr(int f, struct file_struct *file)
- out_of_memory("receive_xattr");
- name = ptr + dget_len + extra_len;
- read_buf(f, name, name_len);
-+ if (name_len < 1 || name[name_len-1] != '\0') {
-+ rprintf(FERROR, "Invalid xattr name received (missing trailing \\0).\n");
-+ exit_cleanup(RERR_FILEIO);
-+ }
- if (dget_len == datum_len)
- read_buf(f, ptr, dget_len);
- else {
Re: [UPDATE] net/rsync to 3.1.3
On Wed, 31 Jan 2018 09:28:43 -0800, Bryan Vyhmeister
<bryan@bsdjournal.net> wrote:
> Patches to remove:
cvs rm -f /path/to/patch and then cvs diff ;)
<bryan@bsdjournal.net> wrote:
> Patches to remove:
cvs rm -f /path/to/patch and then cvs diff ;)
[UPDATE] net/rsync to 3.1.3
This is an update to rsync 3.1.3. This releases merges in some of our
patches that we backported including:
patch-receiver_c
patch-rsync_c
patch-xattrs_c
These patches at reflected fixes for security advisories CVE-2017-15994
and CVE-2017-17433.
Running 'make test' results in:
----- overall results:
30 passed
9 skipped
I tested this update on amd64 and octeon and everything seems to work
fine from my tests.
I am not sure how to remove the patches in a diff if someone could point
out how to accomplish that (I couldn't figure it out in my searches).
Also, CC maintainer.
Bryan
Patches to remove:
net/rsync/patches/patch-receiver_c
net/rsync/patches/patch-rsync_c
net/rsync/patches/patch-xattrs_c
Index: net/rsync/Makefile
===================================================================
RCS file: /cvs/ports/net/rsync/Makefile,v
retrieving revision 1.79
diff -u -p -r1.79 Makefile
--- net/rsync/Makefile 11 Jan 2018 19:27:07 -0000 1.79
+++ net/rsync/Makefile 31 Jan 2018 17:03:39 -0000
@@ -2,8 +2,7 @@
COMMENT = mirroring/synchronization over low bandwidth links
-DISTNAME = rsync-3.1.2
-REVISION = 2
+DISTNAME = rsync-3.1.3
CATEGORIES = net
HOMEPAGE = https://rsync.samba.org/
Index: net/rsync/distinfo
===================================================================
RCS file: /cvs/ports/net/rsync/distinfo,v
retrieving revision 1.28
diff -u -p -r1.28 distinfo
--- net/rsync/distinfo 10 Jan 2016 21:36:22 -0000 1.28
+++ net/rsync/distinfo 31 Jan 2018 17:03:39 -0000
@@ -1,2 +1,2 @@
-SHA256 (rsync-3.1.2.tar.gz) = 7Ppip/o8TBi57M2MFurd7kvTCKdupQtcAqWEDwnAocI=
-SIZE (rsync-3.1.2.tar.gz) = 892724
+SHA256 (rsync-3.1.3.tar.gz) = VcxVTv7F/arXDekhzVpe62wpqVUkxxXzu/hJI1sIAMA=
+SIZE (rsync-3.1.3.tar.gz) = 905908
patches that we backported including:
patch-receiver_c
patch-rsync_c
patch-xattrs_c
These patches at reflected fixes for security advisories CVE-2017-15994
and CVE-2017-17433.
Running 'make test' results in:
----- overall results:
30 passed
9 skipped
I tested this update on amd64 and octeon and everything seems to work
fine from my tests.
I am not sure how to remove the patches in a diff if someone could point
out how to accomplish that (I couldn't figure it out in my searches).
Also, CC maintainer.
Bryan
Patches to remove:
net/rsync/patches/patch-receiver_c
net/rsync/patches/patch-rsync_c
net/rsync/patches/patch-xattrs_c
Index: net/rsync/Makefile
===================================================================
RCS file: /cvs/ports/net/rsync/Makefile,v
retrieving revision 1.79
diff -u -p -r1.79 Makefile
--- net/rsync/Makefile 11 Jan 2018 19:27:07 -0000 1.79
+++ net/rsync/Makefile 31 Jan 2018 17:03:39 -0000
@@ -2,8 +2,7 @@
COMMENT = mirroring/synchronization over low bandwidth links
-DISTNAME = rsync-3.1.2
-REVISION = 2
+DISTNAME = rsync-3.1.3
CATEGORIES = net
HOMEPAGE = https://rsync.samba.org/
Index: net/rsync/distinfo
===================================================================
RCS file: /cvs/ports/net/rsync/distinfo,v
retrieving revision 1.28
diff -u -p -r1.28 distinfo
--- net/rsync/distinfo 10 Jan 2016 21:36:22 -0000 1.28
+++ net/rsync/distinfo 31 Jan 2018 17:03:39 -0000
@@ -1,2 +1,2 @@
-SHA256 (rsync-3.1.2.tar.gz) = 7Ppip/o8TBi57M2MFurd7kvTCKdupQtcAqWEDwnAocI=
-SIZE (rsync-3.1.2.tar.gz) = 892724
+SHA256 (rsync-3.1.3.tar.gz) = VcxVTv7F/arXDekhzVpe62wpqVUkxxXzu/hJI1sIAMA=
+SIZE (rsync-3.1.3.tar.gz) = 905908
Re: at/batch(1) and ssh-agent(1) environment variables
On Wed, 31 Jan 2018 11:39:23 +0100, Erwin Geerdink wrote:
> at/batch(1) appears to not retain SSH_AUTH_SOCK and SSH_AGENT_PID
> environment variables when commands are executed. According to the man
> page:
>
> "(...) The working directory, the environment (except for the variables
> TERM, TERMCAP, DISPLAY, and _), and the umask are retained from the
> time of invocation. An at or batch command invoked from a su(1) shell
> will retain the current user ID."
>
> Why are those variables not preserved?
Because at/batch jobs are by their very nature non-interactive so
it doesn't make sense to preserve environment variables that are
specific to an interactive login.
If you wish to preserve those variables, you can do so explicitly.
For example:
echo "export SSH_AGENT_PID=$SSH_AGENT_PID; export SSH_AUTH_SOCK=$SSH_AUTH_SOCK; env" | at now
- todd
> at/batch(1) appears to not retain SSH_AUTH_SOCK and SSH_AGENT_PID
> environment variables when commands are executed. According to the man
> page:
>
> "(...) The working directory, the environment (except for the variables
> TERM, TERMCAP, DISPLAY, and _), and the umask are retained from the
> time of invocation. An at or batch command invoked from a su(1) shell
> will retain the current user ID."
>
> Why are those variables not preserved?
Because at/batch jobs are by their very nature non-interactive so
it doesn't make sense to preserve environment variables that are
specific to an interactive login.
If you wish to preserve those variables, you can do so explicitly.
For example:
echo "export SSH_AGENT_PID=$SSH_AGENT_PID; export SSH_AUTH_SOCK=$SSH_AUTH_SOCK; env" | at now
- todd
Re: [New] DiffUtilTcl
Reattached.
OK?
> ---------- Original Message ----------
> From: Stuart Cassoff <3d0g@bell.net>
> Date: January 15, 2018 at 11:48 AM
>
>
> OK?
>
> > ---------- Original Message ----------
> > From: Stuart Cassoff <3d0g@bell.net>
> > Date: December 24, 2017 at 11:46 PM
> >
> >
> > OK?
> >
> > > ---------- Original Message ----------
> > > From: Stuart Cassoff <3d0g@bell.net>
> > > Date: December 9, 2017 at 11:27 AM
> > >
> > >
> > > Comment:
> > > diff functions for Tcl
> > >
> > > Description:
> > > A Tcl extension that provides utilities for comparisons of strings, lists and files.
> > >
> > > The base comparison is a Longest Common Substring algorithm based on
> > > J. W. Hunt and M. D. McIlroy, "An algorithm for differential file comparison,"
> > > Comp. Sci. Tech. Rep. #41, Bell Telephone Laboratories (1976).
> > > Available on the Web at the second author's personal site:
> > > http://www.cs.dartmouth.edu/~doug/
> > >
> > > It is basically an LCS diff algorithm implemented in C on top of Tcl's API,
> > > thus giving full Unicode and VFS support.
> > >
> > >
> > > OK?
> >
OK?
> ---------- Original Message ----------
> From: Stuart Cassoff <3d0g@bell.net>
> Date: January 15, 2018 at 11:48 AM
>
>
> OK?
>
> > ---------- Original Message ----------
> > From: Stuart Cassoff <3d0g@bell.net>
> > Date: December 24, 2017 at 11:46 PM
> >
> >
> > OK?
> >
> > > ---------- Original Message ----------
> > > From: Stuart Cassoff <3d0g@bell.net>
> > > Date: December 9, 2017 at 11:27 AM
> > >
> > >
> > > Comment:
> > > diff functions for Tcl
> > >
> > > Description:
> > > A Tcl extension that provides utilities for comparisons of strings, lists and files.
> > >
> > > The base comparison is a Longest Common Substring algorithm based on
> > > J. W. Hunt and M. D. McIlroy, "An algorithm for differential file comparison,"
> > > Comp. Sci. Tech. Rep. #41, Bell Telephone Laboratories (1976).
> > > Available on the Web at the second author's personal site:
> > > http://www.cs.dartmouth.edu/~doug/
> > >
> > > It is basically an LCS diff algorithm implemented in C on top of Tcl's API,
> > > thus giving full Unicode and VFS support.
> > >
> > >
> > > OK?
> >
Subscribe to:
Posts (Atom)