summaryrefslogtreecommitdiff
path: root/nonprism/bti
diff options
context:
space:
mode:
Diffstat (limited to 'nonprism/bti')
-rw-r--r--nonprism/bti/PKGBUILD38
-rw-r--r--nonprism/bti/nonprism.patch407
2 files changed, 445 insertions, 0 deletions
diff --git a/nonprism/bti/PKGBUILD b/nonprism/bti/PKGBUILD
new file mode 100644
index 000000000..24a45223b
--- /dev/null
+++ b/nonprism/bti/PKGBUILD
@@ -0,0 +1,38 @@
+# $Id: PKGBUILD 105298 2014-02-04 18:30:40Z jlichtblau $
+# Maintainer (Arch): Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+# Contributor (Arch): Kaiting Chen <kaitocracy@gmail.com>
+# Contributor (Arch): uvok <uvok at online dot de>
+# Contributor (Arch): Urist <9362773 at gmail.com>
+
+pkgname=bti
+pkgver=034
+pkgrel=1.nonprism1
+pkgdesc='Console client for status.net, without Twitter support'
+arch=('i686' 'x86_64' 'mips64el')
+url='http://gregkh.github.com/bti/'
+license=('GPL')
+depends=('pcre' 'libxml2' 'curl' 'liboauth' 'json-c')
+conflicts=(${pkgname}-nonprism)
+replaces=(${pkgname}-nonprism)
+source=(http://www.kernel.org/pub/software/web/$pkgname/$pkgname-$pkgver.tar.xz
+ nonprism.patch)
+sha256sums=('8b4a1a11f529f83956468acadaea9d11db4f03e82afe07fecb84b2d00e9eae83'
+ '86eab6c949e3c19d3a4088fac78fba4709845e9d5871b12c17a944127347498c')
+
+prepare() {
+ cd "${srcdir}"/$pkgname-$pkgver
+ patch -Np1 -i ${srcdir}/nonprism.patch
+}
+
+build() {
+ cd "${srcdir}"/$pkgname-$pkgver
+ ./configure --prefix=/usr
+
+ make
+}
+
+package() {
+ cd "${srcdir}"/$pkgname-$pkgver
+
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/nonprism/bti/nonprism.patch b/nonprism/bti/nonprism.patch
new file mode 100644
index 000000000..9423d03a7
--- /dev/null
+++ b/nonprism/bti/nonprism.patch
@@ -0,0 +1,407 @@
+diff --git a/bti-bashcompletion b/bti-bashcompletion
+index fa55d75..f957b32 100644
+--- a/bti-bashcompletion
++++ b/bti-bashcompletion
+@@ -12,7 +12,7 @@ _bti()
+ fi
+
+ if [[ "${prev}" == "--host" ]] ; then
+- COMPREPLY=( $(compgen -W "twitter identica" -- ${cur} ) )
++ COMPREPLY=( $(compgen -W "statusnet" -- ${cur} ) )
+ fi
+
+ if [[ "${prev}" == "--action" ]] ; then
+diff --git a/bti.1 b/bti.1
+index bdd6c76..3577e98 100644
+--- a/bti.1
++++ b/bti.1
+@@ -28,23 +28,23 @@
+ .\" * MAIN CONTENT STARTS HERE *
+ .\" -----------------------------------------------------------------
+ .SH "NAME"
+-bti \- send a tweet to twitter\&.com from the command line
++bti \- send a tweet to status\&.net from the command line
+ .SH "SYNOPSIS"
+ .HP \w'\fBbti\fR\ 'u
+ \fBbti\fR [\fB\-\-account\ account\fR] [\fB\-\-password\ password\fR] [\fB\-\-action\ action\fR] [\fB\-\-user\ screenname\fR] [\fB\-\-host\ HOST_NAME\fR] [\fB\-\-proxy\ PROXY:PORT\fR] [\fB\-\-logfile\ LOGFILE\fR] [\fB\-\-config\ CONFIGFILE\fR] [\fB\-\-replyto\ ID\fR] [\fB\-\-retweet\ ID\fR] [\fB\-\-page\ PAGENUMBER\fR] [\fB\-\-bash\fR] [\fB\-\-shrink\-urls\fR] [\fB\-\-debug\fR] [\fB\-\-dry\-run\fR] [\fB\-\-verbose\fR] [\fB\-\-version\fR] [\fB\-\-help\fR]
+ .SH "DESCRIPTION"
+ .PP
+-bti sends a tweet message to twitter\&.com\&.
++bti sends a tweet message to status\&.net\&.
+ .SH "OPTIONS"
+ .PP
+ \fB\-\-account account\fR
+ .RS 4
+-Specify the twitter\&.com account name\&.
++Specify the status\&.net account name\&.
+ .RE
+ .PP
+ \fB\-\-password password\fR
+ .RS 4
+-Specify the password of your twitter\&.com account\&.
++Specify the password of your status\&.net account\&.
+ .RE
+ .PP
+ \fB\-\-action action\fR
+@@ -59,9 +59,9 @@ Specify the user whose messages you want to see when the action is "user", and t
+ .PP
+ \fB\-\-host HOST_NAME\fR
+ .RS 4
+-Specify the host which you want to send your message to\&. Valid options are "twitter" to send to twitter\&.com\&.
++Specify the host which you want to send your message to\&. Valid options are "statusnet" to send to status\&.net\&.
+ .sp
+-If no host is specified, the default is to send to twitter\&.com\&.
++If no host is specified, the default is to send to status\&.net\&.
+ .RE
+ .PP
+ \fB\-\-proxy PROXY:PORT\fR
+@@ -85,8 +85,6 @@ Specify a config file for bti to read from\&. By default, bti looks in the ~/\&.
+ .RS 4
+ Status ID of a single post to which you want to create a threaded reply to\&.
+ .sp
+-For twitter, this is ignored unless the message starts with the @name of the owner of the post with the status ID\&.
+-.sp
+ For status\&.net, this can link any two messages into context with each other\&. Status\&.net will also link a message that contains an @name without this without regard to context\&.
+ .RE
+ .PP
+@@ -167,12 +165,12 @@ The account and password can be stored in a configuration file in the users home
+ .PP
+ \fBaccount\fR
+ .RS 4
+-The twitter\&.com account name you wish to use to send this message with\&.
++The status\&.net account name you wish to use to send this message with\&.
+ .RE
+ .PP
+ \fBpassword\fR
+ .RS 4
+-The twitter\&.com password for the account you wish to use to send this message with\&.
++The status\&.net password for the account you wish to use to send this message with\&.
+ .RE
+ .PP
+ \fB\-\-action action\fR
+@@ -187,7 +185,7 @@ Specify the user you want to see his/her messages while the action is "user"\&.
+ .PP
+ \fBhost\fR
+ .RS 4
+-The host you want to use to send the message to\&. Valid options is "twitter" or "custom" to specify your own server\&.
++The host you want to use to send the message to\&. Valid options is "statusnet" or "custom" to specify your own server\&.
+ .RE
+ .PP
+ \fBproxy\fR
+diff --git a/bti.c b/bti.c
+index f4b2c4d..226e111 100644
+--- a/bti.c
++++ b/bti.c
+@@ -53,7 +53,7 @@ int debug;
+
+ static void display_help(void)
+ {
+- fprintf(stdout, "bti - send tweet to twitter or identi.ca\n"
++ fprintf(stdout, "bti - send tweet to status.net\n"
+ "Version: %s\n"
+ "Usage:\n"
+ " bti [options]\n"
+@@ -258,14 +258,12 @@ static void bti_curl_buffer_free(struct bti_curl_buffer *buffer)
+ free(buffer);
+ }
+
+-const char twitter_host[] = "https://api.twitter.com/1.1/statuses";
+-const char twitter_host_stream[] = "https://stream.twitter.com/1.1/statuses"; /*this is not reset, and doesnt work */
+-const char twitter_host_simple[] = "https://api.twitter.com/1.1";
+-const char twitter_name[] = "twitter";
++const char statusnet_host[] = "https://status.net/api/statuses";
++const char statusnet_name[] = "statusnet";
+
+-static const char twitter_request_token_uri[] = "https://twitter.com/oauth/request_token";
+-static const char twitter_access_token_uri[] = "https://twitter.com/oauth/access_token";
+-static const char twitter_authorize_uri[] = "https://twitter.com/oauth/authorize?oauth_token=";
++static const char statusnet_request_token_uri[] = "https://status.net/api/oauth/request_token?oauth_callback=oob";
++static const char statusnet_access_token_uri[] = "https://status.net/api/oauth/access_token";
++static const char statusnet_authorize_uri[] = "https://status.net/api/oauth/authorize?oauth_token=";
+ static const char custom_request_token_uri[] = "/../oauth/request_token?oauth_callback=oob";
+ static const char custom_access_token_uri[] = "/../oauth/access_token";
+ static const char custom_authorize_uri[] = "/../oauth/authorize?oauth_token=";
+@@ -792,9 +790,9 @@ static int request_access_token(struct session *session)
+ if (!session)
+ return -EINVAL;
+
+- if (session->host == HOST_TWITTER)
++ if (session->host == HOST_STATUSNET)
+ request_url = oauth_sign_url2(
+- twitter_request_token_uri, NULL,
++ statusnet_request_token_uri, NULL,
+ OA_HMAC, NULL, session->consumer_key,
+ session->consumer_secret, NULL, NULL);
+ else {
+@@ -825,11 +823,11 @@ static int request_access_token(struct session *session)
+ "Please open the following link in your browser, and "
+ "allow 'bti' to access your account. Then paste "
+ "back the provided PIN in here.\n");
+- if (session->host == HOST_TWITTER) {
+- fprintf(stdout, "%s%s\nPIN: ", twitter_authorize_uri, at_key);
++ if (session->host == HOST_STATUSNET) {
++ fprintf(stdout, "%s%s\nPIN: ", statusnet_authorize_uri, at_key);
+ verifier = session->readline(NULL);
+ sprintf(at_uri, "%s?oauth_verifier=%s",
+- twitter_access_token_uri, verifier);
++ statusnet_access_token_uri, verifier);
+ } else {
+ fprintf(stdout, "%s%s%s\nPIN: ",
+ session->hosturl, custom_authorize_uri, at_key);
+@@ -883,7 +881,7 @@ static int send_request(struct session *session)
+ return -EINVAL;
+
+ if (!session->hosturl)
+- session->hosturl = strdup(twitter_host);
++ session->hosturl = strdup(statusnet_host);
+
+ if (session->no_oauth || session->guest) {
+ curl_buf = bti_curl_buffer_alloc(session->action);
+@@ -898,7 +896,7 @@ static int send_request(struct session *session)
+ }
+
+ if (!session->hosturl)
+- session->hosturl = strdup(twitter_host);
++ session->hosturl = strdup(statusnet_host);
+
+ switch (session->action) {
+ case ACTION_UPDATE:
+@@ -959,7 +957,7 @@ static int send_request(struct session *session)
+
+ case ACTION_PUBLIC:
+ /*snprintf(endpoint, endpoint_size, "%s%s?page=%d", session->hosturl,*/
+- snprintf(endpoint, endpoint_size, "%s%s", twitter_host_stream,
++ snprintf(endpoint, endpoint_size, "%s%s", statusnet_host,
+ public_uri);
+ curl_easy_setopt(curl, CURLOPT_URL, endpoint);
+ break;
+@@ -972,7 +970,6 @@ static int send_request(struct session *session)
+ break;
+
+ case ACTION_DIRECT:
+- /* NOT IMPLEMENTED - twitter requires authentication anyway */
+ break;
+
+ default:
+@@ -1052,7 +1049,6 @@ static int send_request(struct session *session)
+ } else {
+ switch (session->action) {
+ case ACTION_UPDATE:
+- /* dont test it here, let twitter return an error that we show */
+ if (strlen_utf8(session->tweet) > 140 + 1000 ) {
+ printf("E: tweet is too long!\n");
+ goto skip_tweet;
+@@ -1083,7 +1079,7 @@ static int send_request(struct session *session)
+ mentions_uri, session->page);
+ break;
+ case ACTION_PUBLIC:
+- sprintf(endpoint, "%s%s", twitter_host_stream,
++ sprintf(endpoint, "%s%s", statusnet_host,
+ public_uri);
+ break;
+ case ACTION_GROUP:
+@@ -1102,7 +1098,7 @@ static int send_request(struct session *session)
+ break;
+ case ACTION_DIRECT:
+ escaped_tweet = oauth_url_escape(session->tweet);
+- sprintf(endpoint, "%s%s?user=%s&text=%s", twitter_host_simple,
++ sprintf(endpoint, "%s%s?user=%s&text=%s", statusnet_host,
+ direct_uri, session->user, escaped_tweet);
+ is_post = 1;
+ break;
+@@ -1691,10 +1687,10 @@ int main(int argc, char *argv[], char *envp[])
+ free(session->hosturl);
+ if (session->hostname)
+ free(session->hostname);
+- if (strcasecmp(optarg, "twitter") == 0) {
+- session->host = HOST_TWITTER;
+- session->hosturl = strdup(twitter_host);
+- session->hostname = strdup(twitter_name);
++ if (strcasecmp(optarg, "statusnet") == 0) {
++ session->host = HOST_STATUSNET;
++ session->hosturl = strdup(statusnet_host);
++ session->hostname = strdup(statusnet_name);
+ } else {
+ session->host = HOST_CUSTOM;
+ session->hosturl = strdup(optarg);
+@@ -1750,31 +1746,8 @@ int main(int argc, char *argv[], char *envp[])
+ if (debug)
+ display_version();
+
+- if (session->host == HOST_TWITTER) {
+- if (!session->consumer_key || !session->consumer_secret) {
+- if (session->action == ACTION_USER ||
+- session->action == ACTION_PUBLIC) {
+- /*
+- * Some actions may still work without
+- * authentication
+- */
+- session->guest = 1;
+- } else {
+- fprintf(stderr,
+- "Twitter no longer supports HTTP basic authentication.\n"
+- "Both consumer key, and consumer secret are required"
+- " for bti in order to behave as an OAuth consumer.\n");
+- goto exit;
+- }
+- }
+- if (session->action == ACTION_GROUP) {
+- fprintf(stderr, "Groups only work in Identi.ca.\n");
+- goto exit;
+- }
+- } else {
+- if (!session->consumer_key || !session->consumer_secret)
+- session->no_oauth = 1;
+- }
++ if (!session->consumer_key || !session->consumer_secret)
++ session->no_oauth = 1;
+
+ if (session->no_oauth) {
+ if (!session->account) {
+diff --git a/bti.example b/bti.example
+index 57c55c9..29afa11 100644
+--- a/bti.example
++++ b/bti.example
+@@ -5,7 +5,7 @@
+ # a message.
+ account=twitmaster
+ password=icanhascheezburger
+-host=identica
++host=statusnet
+ # Example of a custom StatusNet installation
+ #host=http://army.twit.tv/api/statuses
+ logfile=.bti.log
+diff --git a/bti.h b/bti.h
+index 3d5ed9c..e466c2a 100644
+--- a/bti.h
++++ b/bti.h
+@@ -17,7 +17,7 @@
+ #define __BTI_H
+
+ enum host {
+- HOST_TWITTER = 0,
++ HOST_STATUSNET = 1,
+ HOST_CUSTOM = 2
+ };
+
+@@ -75,8 +75,8 @@ struct bti_curl_buffer {
+ int length;
+ };
+
+-extern const char twitter_host[];
+-extern const char twitter_name[];
++extern const char statusnet_host[];
++extern const char statusnet_name[];
+ extern int debug;
+
+ extern void bti_parse_configfile(struct session *session);
+diff --git a/bti.xml b/bti.xml
+index c0b89ee..00ad9a8 100644
+--- a/bti.xml
++++ b/bti.xml
+@@ -21,7 +21,7 @@
+
+ <refnamediv>
+ <refname>bti</refname>
+- <refpurpose>send a tweet to twitter.com from the command line</refpurpose>
++ <refpurpose>send a tweet to status.net from the command line</refpurpose>
+ </refnamediv>
+
+ <refsynopsisdiv>
+@@ -49,7 +49,7 @@
+ </refsynopsisdiv>
+
+ <refsect1><title>DESCRIPTION</title>
+- <para>bti sends a tweet message to twitter.com.
++ <para>bti sends a tweet message to status.net.
+ </para>
+ </refsect1>
+
+@@ -59,7 +59,7 @@
+ <term><option>--account account</option></term>
+ <listitem>
+ <para>
+- Specify the twitter.com account name.
++ Specify the status.net account name.
+ </para>
+ </listitem>
+ </varlistentry>
+@@ -67,7 +67,7 @@
+ <term><option>--password password</option></term>
+ <listitem>
+ <para>
+- Specify the password of your twitter.com account.
++ Specify the password of your status.net account.
+ </para>
+ </listitem>
+ </varlistentry>
+@@ -100,10 +100,10 @@
+ <listitem>
+ <para>
+ Specify the host which you want to send your message to. Valid
+- options are "twitter" to send to twitter.com.
++ options are "statusnet" to send to status.net.
+ </para>
+ <para>
+- If no host is specified, the default is to send to twitter.com.
++ If no host is specified, the default is to send to status.net.
+ </para>
+ </listitem>
+ </varlistentry>
+@@ -149,10 +149,6 @@
+ reply to.
+ </para>
+ <para>
+- For twitter, this is ignored unless the message starts with the
+- @name of the owner of the post with the status ID.
+- </para>
+- <para>
+ For status.net, this can link any two messages into context with
+ each other. Status.net will also link a message that contains an
+ @name without this without regard to context.
+@@ -301,7 +297,7 @@
+ <term><option>account</option></term>
+ <listitem>
+ <para>
+- The twitter.com account name you wish to use to send this
++ The status.net account name you wish to use to send this
+ message with.
+ </para>
+ </listitem>
+@@ -310,7 +306,7 @@
+ <term><option>password</option></term>
+ <listitem>
+ <para>
+- The twitter.com password for the account you wish to use
++ The status.net password for the account you wish to use
+ to send this message with.
+ </para>
+ </listitem>
+@@ -341,7 +337,7 @@
+ <listitem>
+ <para>
+ The host you want to use to send the message to. Valid
+- options is "twitter" or "custom" to specify your own server.
++ options is "statusnet" or "custom" to specify your own server.
+
+ </para>
+ </listitem>
+diff --git a/config.c b/config.c
+index e6fecc1..0bbc186 100644
+--- a/config.c
++++ b/config.c
+@@ -219,10 +219,10 @@ static int retweet_callback(struct session *session, char *value)
+
+ static int host_callback(struct session *session, char *value)
+ {
+- if (strcasecmp(value, "twitter") == 0) {
+- session->host = HOST_TWITTER;
+- session->hosturl = strdup(twitter_host);
+- session->hostname = strdup(twitter_name);
++ if (strcasecmp(value, "statusnet") == 0) {
++ session->host = HOST_STATUSNET;
++ session->hosturl = strdup(statusnet_host);
++ session->hostname = strdup(statusnet_name);
+ } else {
+ session->host = HOST_CUSTOM;
+ session->hosturl = strdup(value);