62 lines
2.4 KiB
Plaintext
62 lines
2.4 KiB
Plaintext
Do not compress manual pages and install them in the right place.
|
|
Fix "TypeError: write() argument must be str, not bytes" with Python 3
|
|
by decoding `manpage' properly.
|
|
|
|
Index: setup.py
|
|
--- setup.py.orig
|
|
+++ setup.py
|
|
@@ -20,7 +20,6 @@ import os
|
|
import operator
|
|
import subprocess
|
|
import glob
|
|
-import gzip
|
|
import datetime
|
|
|
|
import docutils.core
|
|
@@ -100,20 +99,19 @@ class build_man(NoOptionCommand):
|
|
def run(self):
|
|
self.mkpath('build')
|
|
|
|
- for (sourcefile, gzfile) in [
|
|
- ('data/arandr.1.txt', os.path.join('build', 'arandr.1.gz')),
|
|
- ('data/unxrandr.1.txt', os.path.join('build', 'unxrandr.1.gz')),
|
|
+ for (sourcefile, manfile) in [
|
|
+ ('data/arandr.1.txt', os.path.join('build', 'arandr.1')),
|
|
+ ('data/unxrandr.1.txt', os.path.join('build', 'unxrandr.1')),
|
|
]:
|
|
|
|
- if newer(sourcefile, gzfile):
|
|
+ if newer(sourcefile, manfile):
|
|
rst_source = open(sourcefile).read()
|
|
manpage = docutils.core.publish_string(rst_source, writer=docutils.writers.manpage.Writer())
|
|
- info('compressing man page to %s', gzfile)
|
|
+ info('writing man page to %s', manfile)
|
|
|
|
if not self.dry_run:
|
|
- compressed = gzip.open(gzfile, 'w', 9)
|
|
- compressed.write(manpage)
|
|
- compressed.close()
|
|
+ with open(manfile, 'w') as fh:
|
|
+ fh.write(manpage.decode('utf-8'))
|
|
|
|
class update_translator_credits(NoOptionCommand):
|
|
description = 'Examine the git history to produce an updated metadata file.'
|
|
@@ -218,7 +216,7 @@ class clean(_clean):
|
|
def run(self):
|
|
if self.all:
|
|
dirs = ['build/locale']
|
|
- files = ['build/arandr.1.gz', 'build/unxrandr.1.gz']
|
|
+ files = ['build/arandr.1', 'build/unxrandr.1']
|
|
for directory in dirs:
|
|
if os.path.exists(directory):
|
|
remove_tree(directory, dry_run=self.dry_run)
|
|
@@ -259,7 +257,7 @@ setup(name = PACKAGENAME,
|
|
},
|
|
data_files = [
|
|
('share/applications', ['data/arandr.desktop']), # FIXME: use desktop-file-install?
|
|
- ('share/man/man1', ['build/arandr.1.gz', 'build/unxrandr.1.gz']),
|
|
+ ('man/man1', ['build/arandr.1', 'build/unxrandr.1']),
|
|
],
|
|
scripts = ['arandr', 'unxrandr'],
|
|
)
|