Skip to content

Instantly share code, notes, and snippets.

@epifanio
Created May 21, 2017 01:30
Show Gist options
  • Save epifanio/42b2aeeca136b8131ef85dc42bc6ef3b to your computer and use it in GitHub Desktop.
Save epifanio/42b2aeeca136b8131ef85dc42bc6ef3b to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"import datetime as dt\n",
"now = dt.datetime.now()"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"#now.strftime(Wed, 01 Jun 2016 19:40:00 +0200)\n",
"\n",
"time = now.strftime(\"%a, %d %B %y %H:%M:%S\")"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"'Sat, 20 May 17 21:01:55'"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"time"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"# License template"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"# Package Dict. {pkgname: {dependencies:[], license: '', }}"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"# fpm instructions "
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [],
"source": [
"import rdflib\n",
"\n",
"def doap2dict(url, verbose=False):\n",
" g=rdflib.Graph()\n",
" g.load(url)\n",
" desc = {}\n",
" for s,p,o in g:\n",
" if '#' in p and p.split('#')[-1] not in ['maintainer']:\n",
" if p.split('#')[-1] != 'maintainer' and p.split('#')[-1] != 'type':\n",
" desc[p.split('#')[-1]]=str(o)\n",
" if verbose:\n",
" print (p.split('#')[-1],':',o,'\\n')\n",
" else:\n",
" if 'name' in p.split('/'):\n",
" if o not in ['type','maintainer']:\n",
" desc['maintainer']=str(o)\n",
" if verbose:\n",
" print(f'maintainer:{o}\\n')\n",
" desc['description'] = desc['description'].replace('\\n\\n','\\n')\n",
" desc['description'] = desc['description'].replace('\\n','\\n ')\n",
" return desc"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Package Name"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"package = 'prompt_toolkit'"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"build_num=0"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"url = f'https://pypi.python.org/pypi?:action=doap&name={package}'"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [],
"source": [
"pkg = doap2dict(url, verbose=False)"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"pkg['buildversion'] = pkg['revision']+'.'+str(build_num)"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [],
"source": [
"if '_' in pkg['name']:\n",
" pkg['safename'] = pkg['name'].replace('_','-')\n",
"else:\n",
" pkg['safename'] = pkg['name']\n",
" "
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"!mkdir -p {pkg['safename']}-{pkg['buildversion']}/debian/source"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"'/home/epinux/PPA'"
]
},
"execution_count": 16,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"pwd"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"doap.ipynb \u001b[0m\u001b[01;34mprompt-toolkit-1.0.14.0\u001b[0m/\r\n"
]
}
],
"source": [
"ls"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### packeger info"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"pkg['uploaders'] = 'Massimo Di Stefano <epiesasha@me.com>'"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Format"
]
},
{
"cell_type": "raw",
"metadata": {
"collapsed": true
},
"source": [
"format_template =\"\"\"3.0 (quilt)\n",
"\"\"\""
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Changelog Message"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"message = 'first build'"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Changelog"
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"changelog_template = f\"\"\"{pkg['safename']} ({pkg['buildversion']}-0ppa0) xenial; urgency=low\n",
"\n",
" * {message}\n",
"\n",
" -- Massimo Di Stefano <epiesasha@me.com> {time} +0500\"\"\""
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"prompt-toolkit (1.0.14.0-0ppa0) xenial; urgency=low\n",
"\n",
" * first build\n",
"\n",
" -- Massimo Di Stefano <epiesasha@me.com> Sat, 20 May 17 21:01:55 +0500\n"
]
}
],
"source": [
"print(changelog_template)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Control"
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"control_template = f\"\"\"Source: {pkg['safename']}\n",
"Maintainer: {pkg['uploaders']}\n",
"Uploaders: {pkg['uploaders']}\n",
"Section: python\n",
"Standards-Version: {pkg['revision']}\n",
"Homepage: {pkg['homepage']}\n",
"Build-Depends: python3, dh-make, python3-setuptools, python3-six, python3-wcwidth\n",
"Testsuite: autopkgtest-pkg-python\n",
"X-Python3-Version: >= 3.5\n",
"\n",
"Package: python3-{pkg['safename']}\n",
"Architecture: all\n",
"Depends: python3, python3-six, python3-wcwidth\n",
"Description: {pkg['shortdesc']}\"\"\""
]
},
{
"cell_type": "code",
"execution_count": 23,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Source: prompt-toolkit\n",
"Maintainer: Massimo Di Stefano <epiesasha@me.com>\n",
"Uploaders: Massimo Di Stefano <epiesasha@me.com>\n",
"Section: python\n",
"Standards-Version: 1.0.14\n",
"Homepage: https://github.com/jonathanslenders/python-prompt-toolkit\n",
"Build-Depends: python3, dh-make, python3-setuptools, python3-six, python3-wcwidth\n",
"Testsuite: autopkgtest-pkg-python\n",
"X-Python3-Version: >= 3.5\n",
"\n",
"Package: python3-prompt-toolkit\n",
"Architecture: all\n",
"Depends: python3, python3-six, python3-wcwidth\n",
"Description: Library for building powerful interactive command lines in Python\n"
]
}
],
"source": [
"print(control_template)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## compat"
]
},
{
"cell_type": "code",
"execution_count": 24,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"compact_template = f\"\"\"9\n",
"\"\"\""
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## copyright"
]
},
{
"cell_type": "code",
"execution_count": 25,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"copyright_template = f\"\"\"####################################################################\n",
"# {pkg['safename']} #\n",
"####################################################################\n",
"\n",
"Copyright (C) {now.year} {pkg['uploaders']}\n",
"\n",
"This program is free software: you can redistribute it and/or modify\n",
"it under the terms of the GNU General Public License as published by\n",
"the Free Software Foundation, either version 3 of the License, or \n",
"(at your option) any later version.\n",
"\n",
"This program is distributed in the hope that it will be useful, but\n",
"WITHOUT ANY WARRANTY; without even the implied warranty of \n",
"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n",
"General Public License for more details.\n",
"\n",
"You should have received a copy of the GNU General Public License\n",
"along with this program. If not, see <http://www.gnu.org/licenses/>.\n",
"\"\"\""
]
},
{
"cell_type": "code",
"execution_count": 26,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"####################################################################\n",
"# prompt-toolkit #\n",
"####################################################################\n",
"\n",
"Copyright (C) 2017 Massimo Di Stefano <epiesasha@me.com>\n",
"\n",
"This program is free software: you can redistribute it and/or modify\n",
"it under the terms of the GNU General Public License as published by\n",
"the Free Software Foundation, either version 3 of the License, or \n",
"(at your option) any later version.\n",
"\n",
"This program is distributed in the hope that it will be useful, but\n",
"WITHOUT ANY WARRANTY; without even the implied warranty of \n",
"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n",
"General Public License for more details.\n",
"\n",
"You should have received a copy of the GNU General Public License\n",
"along with this program. If not, see <http://www.gnu.org/licenses/>.\n",
"\n"
]
}
],
"source": [
"print(copyright_template)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Rules"
]
},
{
"cell_type": "code",
"execution_count": 27,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"rules_template = f\"\"\"#! /usr/bin/make -f\n",
"\n",
"#export DH_VERBOSE = 1\n",
"export PYBUILD_SYSTEM=distutils\n",
"export PYBUILD_NAME = {pkg['safename']}\n",
"\n",
"%:\n",
"\\t\\tdh $@ --with python3 --buildsystem=pybuild\n",
"\"\"\""
]
},
{
"cell_type": "code",
"execution_count": 28,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"#! /usr/bin/make -f\n",
"\n",
"#export DH_VERBOSE = 1\n",
"export PYBUILD_SYSTEM=distutils\n",
"export PYBUILD_NAME = prompt-toolkit\n",
"\n",
"%:\n",
"\t\tdh $@ --with python3 --buildsystem=pybuild\n",
"\n"
]
}
],
"source": [
"print(rules_template)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Watch"
]
},
{
"cell_type": "code",
"execution_count": 29,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" % Total % Received % Xferd Average Speed Time Time Time Current\n",
" Dload Upload Total Spent Left Speed\n",
"100 153 100 153 0 0 956 0 --:--:-- --:--:-- --:--:-- 962\n"
]
}
],
"source": [
"!curl -o {pkg['safename']}-{pkg['buildversion']}/debian/watch http://pypi.debian.net/{pkg['name']}/watch"
]
},
{
"cell_type": "code",
"execution_count": 30,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"doap.ipynb \u001b[0m\u001b[01;34mprompt-toolkit-1.0.14.0\u001b[0m/\r\n"
]
}
],
"source": [
"ls"
]
},
{
"cell_type": "code",
"execution_count": 31,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"version=3\r\n",
"opts=uversionmangle=s/(rc|a|b|c)/~$1/ \\\r\n",
"https://pypi.debian.net/prompt_toolkit/prompt_toolkit-(.+)\\.(?:zip|tgz|tbz|txz|(?:tar\\.(?:gz|bz2|xz)))\r\n"
]
}
],
"source": [
"!cat {pkg['safename']}-{pkg['buildversion']}/debian/watch"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Format"
]
},
{
"cell_type": "code",
"execution_count": 32,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"format_template = \"\"\"3.0 (quilt)\"\"\""
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Write files"
]
},
{
"cell_type": "code",
"execution_count": 33,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"file_list = {f\"\"\"{pkg['safename']}-{pkg['buildversion']}/debian/changelog\"\"\": changelog_template, \n",
" f\"\"\"{pkg['safename']}-{pkg['buildversion']}/debian/control\"\"\": control_template, \n",
" f\"\"\"{pkg['safename']}-{pkg['buildversion']}/debian/rules\"\"\": rules_template,\n",
" f\"\"\"{pkg['safename']}-{pkg['buildversion']}/debian/compat\"\"\": compact_template,\n",
" f\"\"\"{pkg['safename']}-{pkg['buildversion']}/debian/source/format\"\"\": format_template}"
]
},
{
"cell_type": "code",
"execution_count": 34,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"prompt-toolkit-1.0.14.0/debian/changelog\n",
"prompt-toolkit-1.0.14.0/debian/control\n",
"prompt-toolkit-1.0.14.0/debian/rules\n",
"prompt-toolkit-1.0.14.0/debian/compat\n",
"prompt-toolkit-1.0.14.0/debian/source/format\n"
]
}
],
"source": [
"for k,v in enumerate(file_list):\n",
" print(v)"
]
},
{
"cell_type": "code",
"execution_count": 35,
"metadata": {},
"outputs": [],
"source": [
"for k,v in enumerate(file_list):\n",
" f = open(v, 'w')\n",
" f.write(file_list[v])\n",
" f.flush()\n",
" f.close()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"!pip download --no-binary :all: {pkg['name']}\n",
"!tar -xvzf {pkg['name']}-{pkg['revision']}.tar.gz\n",
"!mv {pkg['name']}-{pkg['revision']}/* {pkg['safename']}-{pkg['buildversion']}"
]
},
{
"cell_type": "code",
"execution_count": 39,
"metadata": {},
"outputs": [],
"source": [
"!tar -acf {pkg['safename']}_{pkg['buildversion']}.orig.tar.gz {pkg['safename']}-{pkg['buildversion']}"
]
},
{
"cell_type": "code",
"execution_count": 40,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"doap.ipynb \u001b[0m\u001b[01;31mprompt_toolkit-1.0.14.tar.gz\u001b[0m\r\n",
"\u001b[01;34mprompt_toolkit-1.0.14\u001b[0m/ \u001b[01;31msix-1.10.0.tar.gz\u001b[0m\r\n",
"\u001b[01;34mprompt-toolkit-1.0.14.0\u001b[0m/ \u001b[01;31mwcwidth-0.1.7.tar.gz\u001b[0m\r\n",
"\u001b[01;31mprompt-toolkit_1.0.14.0.orig.tar.gz\u001b[0m\r\n"
]
}
],
"source": [
"ls"
]
},
{
"cell_type": "code",
"execution_count": 41,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"/home/epinux/PPA/prompt-toolkit-1.0.14.0\n"
]
}
],
"source": [
"cd {pkg['safename']}-{pkg['buildversion']}\n"
]
},
{
"cell_type": "code",
"execution_count": 52,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" dpkg-buildpackage -rfakeroot -d -us -uc -S -sa\n",
"dpkg-buildpackage: info: source package prompt-toolkit\n",
"dpkg-buildpackage: info: source version 1.0.14.0-0ppa0\n",
"dpkg-buildpackage: info: source distribution xenial\n",
"dpkg-buildpackage: info: source changed by Massimo Di Stefano <epiesasha@me.com>\n",
" dpkg-source --before-build prompt-toolkit-1.0.14.0\n",
" fakeroot debian/rules clean\n",
"dh clean --with python3 --buildsystem=pybuild\n",
" dh_testdir -O--buildsystem=pybuild\n",
" dh_auto_clean -O--buildsystem=pybuild\n",
"I: pybuild base:184: python3.5 setup.py clean \n",
"running clean\n",
"removing '/home/epinux/PPA/prompt-toolkit-1.0.14.0/.pybuild/pythonX.Y_3.5/build' (and everything under it)\n",
"'build/bdist.linux-amd64' does not exist -- can't clean it\n",
"'build/scripts-3.5' does not exist -- can't clean it\n",
" dh_clean -O--buildsystem=pybuild\n",
" dpkg-source -b prompt-toolkit-1.0.14.0\n",
"dpkg-source: info: using source format '3.0 (quilt)'\n",
"dpkg-source: info: building prompt-toolkit using existing ./prompt-toolkit_1.0.14.0.orig.tar.gz\n",
"dpkg-source: info: building prompt-toolkit in prompt-toolkit_1.0.14.0-0ppa0.debian.tar.xz\n",
"dpkg-source: info: building prompt-toolkit in prompt-toolkit_1.0.14.0-0ppa0.dsc\n",
" dpkg-genchanges -sa --build=source >../prompt-toolkit_1.0.14.0-0ppa0_source.changes\n",
"dpkg-genchanges: warning: missing Priority for source files\n",
"dpkg-genchanges: info: including full source code in upload\n",
" dpkg-source --after-build prompt-toolkit-1.0.14.0\n",
"dpkg-buildpackage: info: full upload (original source is included)\n",
"Now running lintian...\n",
"W: prompt-toolkit source: debhelper-but-no-misc-depends python3-prompt-toolkit\n",
"E: prompt-toolkit source: package-uses-debhelper-but-lacks-build-depends\n",
"W: prompt-toolkit source: maintainer-also-in-uploaders\n",
"W: prompt-toolkit source: no-debian-copyright\n",
"E: prompt-toolkit source: invalid-standards-version 1.0.14\n",
"Finished running lintian.\n",
"Now signing changes and any dsc files...\n",
" signfile prompt-toolkit_1.0.14.0-0ppa0.dsc Massimo Di Stefano <epiesasha@me.com>\n",
"\n",
" signfile prompt-toolkit_1.0.14.0-0ppa0_source.changes Massimo Di Stefano <epiesasha@me.com>\n",
"\n",
"Successfully signed dsc and changes files\n",
"\n",
"WARNING generated by debuild:\n",
"Making debian/rules executable!\n",
"\n"
]
}
],
"source": [
"!debuild -S -sa"
]
},
{
"cell_type": "code",
"execution_count": 54,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"/home/epinux/PPA\n"
]
}
],
"source": [
"cd .."
]
},
{
"cell_type": "code",
"execution_count": 55,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Checking signature on .changes\n",
"gpg: Signature made Sat 20 May 2017 09:27:23 PM EDT\n",
"gpg: using RSA key 7A536523ABB79B19\n",
"gpg: issuer \"epiesasha@me.com\"\n",
"gpg: Good signature from \"Massimo Di Stefano <epiesasha@me.com>\" [ultimate]\n",
"Good signature on /home/epinux/PPA/prompt-toolkit_1.0.14.0-0ppa0_source.changes.\n",
"Checking signature on .dsc\n",
"gpg: Signature made Sat 20 May 2017 09:27:22 PM EDT\n",
"gpg: using RSA key 7A536523ABB79B19\n",
"gpg: issuer \"epiesasha@me.com\"\n",
"gpg: Good signature from \"Massimo Di Stefano <epiesasha@me.com>\" [ultimate]\n",
"Good signature on /home/epinux/PPA/prompt-toolkit_1.0.14.0-0ppa0.dsc.\n",
"Package includes an .orig.tar.gz file although the debian revision suggests\n",
"that it might not be required. Multiple uploads of the .orig.tar.gz may be\n",
"rejected by the upload queue management software.\n",
"Uploading to ppa (via ftp to ppa.launchpad.net):\n",
" Uploading prompt-toolkit_1.0.14.0-0ppa0.dsc: 1k/21k/2 done.\n",
" Uploading prompt-toolkit_1.0.14.0.orig.tar.gz: 2k/2423k/2424k/2425k/2426k/2427k/2428k/2429k/24210k/2411k/2412k/2413k/2414k/2415k/2416k/2417k/2418k/2419k/2420k/2421k/2422k/2423k/2424k/2425k/2426k/2427k/2428k/2429k/2430k/2431k/2432k/2433k/2434k/2435k/2436k/2437k/2438k/2439k/2440k/2441k/2442k/2443k/2444k/2445k/2446k/2447k/2448k/2449k/2450k/2451k/2452k/2453k/2454k/2455k/2456k/2457k/2458k/2459k/2460k/2461k/2462k/2463k/2464k/2465k/2466k/2467k/2468k/2469k/2470k/2471k/2472k/2473k/2474k/2475k/2476k/2477k/2478k/2479k/2480k/2481k/2482k/2483k/2484k/2485k/2486k/2487k/2488k/2489k/2490k/2491k/2492k/2493k/2494k/2495k/2496k/2497k/2498k/2499k/24100k/242101k/242102k/242103k/242104k/242105k/242106k/242107k/242108k/242109k/242110k/242111k/242112k/242113k/242114k/242115k/242116k/242117k/242118k/242119k/242120k/242121k/242122k/242123k/242124k/242125k/242126k/242127k/242128k/242129k/242130k/242131k/242132k/242133k/242134k/242135k/242136k/242137k/242138k/242139k/242140k/242141k/242142k/242143k/242144k/242145k/242146k/242147k/242148k/242149k/242150k/242151k/242152k/242153k/242154k/242155k/242156k/242157k/242158k/242159k/242160k/242161k/242162k/242163k/242164k/242165k/242166k/242167k/242168k/242169k/242170k/242171k/242172k/242173k/242174k/242175k/242176k/242177k/242178k/242179k/242180k/242181k/242182k/242183k/242184k/242185k/242186k/242187k/242188k/242189k/242190k/242191k/242192k/242193k/242194k/242195k/242196k/242197k/242198k/242199k/242200k/242201k/242202k/242203k/242204k/242205k/242206k/242207k/242208k/242209k/242210k/242211k/242212k/242213k/242214k/242215k/242216k/242217k/242218k/242219k/242220k/242221k/242222k/242223k/242224k/242225k/242226k/242227k/242228k/242229k/242230k/242231k/242232k/242233k/242234k/242235k/242236k/242237k/242238k/242239k/242240k/242241k/242241k/242241k/242 done.\n",
" Uploading prompt-toolkit_1.0.14.0-0ppa0.debian.tar.xz: done.\n",
" Uploading prompt-toolkit_1.0.14.0-0ppa0_source.changes: 1k/21k/2 done.\n",
"Successfully uploaded packages.\n"
]
}
],
"source": [
"!dput ppa:epiesasha/jupyter {pkg['safename']}_{pkg['buildversion']}-0ppa0_source.changes"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"!gist -p doap.ipynb"
]
}
],
"metadata": {
"hide_input": false,
"kernelspec": {
"display_name": "Python 3.6",
"language": "python",
"name": "python36"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.1"
},
"latex_envs": {
"bibliofile": "biblio.bib",
"cite_by": "apalike",
"current_citInitial": 1,
"eqLabelWithNumbers": true,
"eqNumInitial": 0
},
"toc": {
"toc_cell": false,
"toc_number_sections": true,
"toc_threshold": 6,
"toc_window_display": true
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment