Browse Source

Big update

master
mid-kid 8 years ago
parent
commit
bf7ae8f674
  1. 2
      astronaut/astronaut
  2. 14
      graveyard/unmaintained_satellites/libwebp.sat
  3. 2
      satellites/android-tools.sat
  4. 4
      satellites/confuse.sat
  5. 197
      satellites/extrafiles/i3lock/i3lock-2.9-no-pam.patch
  6. 71
      satellites/extrafiles/i3lock/i3lock-2.9-revert-composite.patch
  7. 4
      satellites/ffmpeg.sat
  8. 4
      satellites/go.sat
  9. 12
      satellites/i3lock.sat
  10. 38
      satellites/icedtea.sat
  11. 4
      satellites/luajit.sat
  12. 4
      satellites/maim.sat
  13. 4
      satellites/python3-cryptodome.sat
  14. 4
      satellites/python3-cryptography.sat
  15. 4
      satellites/python3-requests.sat
  16. 4
      satellites/python3-setuptools.sat
  17. 4
      satellites/slop.sat
  18. 4
      satellites/streamlink.sat
  19. 4
      satellites/syncthing.sat
  20. 2
      satellites/teeworlds.sat
  21. 13
      satellites/virtualbox.sat
  22. 4
      satellites/waf.sat
  23. 4
      satellites/wine.sat
  24. 4
      satellites/youtube-dl.sat

2
astronaut/astronaut

@ -109,7 +109,7 @@ _exiterr() {
} }
# Gather info # Gather info
while getopts "h?s:b:i:p:IcCdvo:" opt; do while getopts "h?s:b:i:p:Idvo:" opt; do
case "$opt" in case "$opt" in
h|\?) h|\?)
_show_help _show_help

14
graveyard/unmaintained_satellites/libwebp.sat

@ -1,14 +0,0 @@
import 'compile/configure'
name=libwebp
version=0.5.1
update_url='https://developers.google.com/speed/webp/download'
dlextract "https://storage.googleapis.com/downloads.webmproject.org/releases/webp/$name-$version.tar.gz" \
'3d7db92ebba5b4f679413d25c6040881'
header_end
cd "$name-$version"
compile_configure -- --disable-static --enable-libwebpdemux
# vim:set tabstop=4 shiftwidth=4 syntax=sh expandtab:

2
satellites/android-tools.sat

@ -2,8 +2,6 @@ import 'vcs/git'
name=android-tools name=android-tools
version=7.1.2_r8 version=7.1.2_r8
update_url='https://android.googlesource.com/platform/system/core/+refs'
update_names="<a href=\"/platform/system/core/+/android-$version\">"
vcs_git -Vr "android-$version" 'https://android.googlesource.com/platform/system/core' vcs_git -Vr "android-$version" 'https://android.googlesource.com/platform/system/core'
vcs_git -Vr "android-$version" 'https://android.googlesource.com/platform/system/extras' vcs_git -Vr "android-$version" 'https://android.googlesource.com/platform/system/extras'

4
satellites/confuse.sat

@ -1,11 +1,11 @@
import 'compile/configure' import 'compile/configure'
name=confuse name=confuse
version=3.0 version=3.1
update_url="https://github.com/martinh/lib$name/releases" update_url="https://github.com/martinh/lib$name/releases"
dlextract "https://github.com/martinh/lib$name/releases/download/v$version/$name-$version.tar.xz" \ dlextract "https://github.com/martinh/lib$name/releases/download/v$version/$name-$version.tar.xz" \
'c534b51a2118ed57031dc548032304a3' '08f1ace0055f92d80a8ad11671346a37'
header_end header_end
cd "$name-$version" cd "$name-$version"

197
satellites/extrafiles/i3lock/i3lock-2.8-no-pam.patch → satellites/extrafiles/i3lock/i3lock-2.9-no-pam.patch

@ -25,16 +25,19 @@
+FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+DEALINGS IN THE SOFTWARE. +DEALINGS IN THE SOFTWARE.
+++ Makefile +++ Makefile
@@ -14,7 +14,7 @@ @@ -20,9 +20,9 @@
CPPFLAGS += -D_GNU_SOURCE
CFLAGS += $(shell $(PKG_CONFIG) --cflags cairo xcb-dpms xcb-xinerama xcb-atom xcb-image xcb-xkb xkbcommon xkbcommon-x11)
LIBS += $(shell $(PKG_CONFIG) --libs cairo xcb-dpms xcb-xinerama xcb-atom xcb-image xcb-xkb xkbcommon xkbcommon-x11)
-LIBS += -lpam
+LIBS += -lcrypt
LIBS += -lev LIBS += -lev
LIBS += -lm LIBS += -lm
@@ -37,9 +37,7 @@ -# OpenBSD lacks PAM, use bsd_auth(3) instead.
+# On OpenBSD we use bsd_auth(3) instead.
ifneq ($(UNAME),OpenBSD)
- LIBS += -lpam
+ LIBS += -lcrypt
endif
FILES:=$(wildcard *.c)
@@ -50,9 +50,7 @@
install: all install: all
$(INSTALL) -d $(DESTDIR)$(PREFIX)/bin $(INSTALL) -d $(DESTDIR)$(PREFIX)/bin
@ -44,8 +47,17 @@
uninstall: uninstall:
rm -f $(DESTDIR)$(PREFIX)/bin/i3lock rm -f $(DESTDIR)$(PREFIX)/bin/i3lock
@@ -61,7 +59,7 @@
[ ! -d i3lock-${VERSION} ] || rm -rf i3lock-${VERSION}
[ ! -e i3lock-${VERSION}.tar.bz2 ] || rm i3lock-${VERSION}.tar.bz2
mkdir i3lock-${VERSION}
- cp *.c *.h i3lock.1 i3lock.pam Makefile LICENSE README.md CHANGELOG i3lock-${VERSION}
+ cp *.c *.h i3lock.1 Makefile LICENSE README.md CHANGELOG i3lock-${VERSION}
sed -e 's/^I3LOCK_VERSION:=\(.*\)/I3LOCK_VERSION:=$(shell /bin/echo '${I3LOCK_VERSION}' | sed 's/\\/\\\\/g')/g;s/^VERSION:=\(.*\)/VERSION:=${VERSION}/g' Makefile > i3lock-${VERSION}/Makefile
tar cfj i3lock-${VERSION}.tar.bz2 i3lock-${VERSION}
rm -rf i3lock-${VERSION}
+++ i3lock.1 +++ i3lock.1
@@ -45,8 +45,6 @@ @@ -43,8 +43,6 @@
You can specify either a background color or a PNG image which will be displayed while your screen is locked. You can specify either a background color or a PNG image which will be displayed while your screen is locked.
.IP \[bu] .IP \[bu]
You can specify whether i3lock should bell upon a wrong password. You can specify whether i3lock should bell upon a wrong password.
@ -54,55 +66,47 @@
.SH OPTIONS .SH OPTIONS
@@ -75,7 +73,7 @@ @@ -66,8 +64,7 @@
.B \-u, \-\-no-unlock-indicator .B \-u, \-\-no-unlock-indicator
Disable the unlock indicator. i3lock will by default show an unlock indicator Disable the unlock indicator. i3lock will by default show an unlock indicator
after pressing keys. This will give feedback for every keypress and it will after pressing keys. This will give feedback for every keypress and it will
-show you the current PAM state (whether your password is currently being -show you the current PAM state (whether your password is currently being
+show you the current state (whether your password is currently being -verified or whether it is wrong).
verified or whether it is wrong). +show you whether your password is currently being verified or whether it is wrong.
.TP .TP
@@ -104,7 +102,7 @@ .BI \-i\ path \fR,\ \fB\-\-image= path
@@ -95,7 +92,7 @@
.TP .TP
.B \-e, \-\-ignore-empty-password .B \-e, \-\-ignore-empty-password
When an empty password is provided by the user, do not validate When an empty password is provided by the user, do not validate
-it. Without this option, the empty password will be provided to PAM -it. Without this option, the empty password will be provided to PAM
+it. Without this option, the empty password will be checked +it. Without this option, the empty password will be validated
and, if invalid, the user will have to wait a few seconds before and, if invalid, the user will have to wait a few seconds before
another try. This can be useful if the XF86ScreenSaver key is used to another try. This can be useful if the XF86ScreenSaver key is used to
put a laptop to sleep and bounce on resume or if you happen to wake up put a laptop to sleep and bounce on resume or if you happen to wake up
+++ i3lock.c +++ i3lock.c
@@ -18,7 +18,6 @@ @@ -21,7 +21,9 @@
#include <xcb/xkb.h> #ifdef __OpenBSD__
#include <err.h> #include <bsd_auth.h>
#include <assert.h> #else
-#include <security/pam_appl.h> -#include <security/pam_appl.h>
+#include <shadow.h>
+#include <grp.h>
+#include <errno.h>
#endif
#include <getopt.h> #include <getopt.h>
#include <string.h> #include <string.h>
#include <ev.h> @@ -57,7 +59,7 @@
@@ -28,6 +27,8 @@
#include <xkbcommon/xkbcommon-x11.h>
#include <cairo.h>
#include <cairo/cairo-xcb.h>
+#include <unistd.h>
+#include <shadow.h>
#include "i3lock.h"
#include "xcb.h"
@@ -49,10 +50,10 @@
uint32_t last_resolution[2];
xcb_window_t win; xcb_window_t win;
static xcb_cursor_t cursor; static xcb_cursor_t cursor;
#ifndef __OpenBSD__
-static pam_handle_t *pam_handle; -static pam_handle_t *pam_handle;
+const char *hash = NULL;
#endif
int input_position = 0; int input_position = 0;
/* Holds the password you enter (in UTF-8). */ /* Holds the password you enter (in UTF-8). */
static char password[512]; @@ -90,6 +92,37 @@
+const char *pws = NULL;
static bool beep = false;
bool debug_mode = false;
bool unlock_indicator = true;
@@ -80,6 +81,39 @@
bool ignore_empty_password = false; bool ignore_empty_password = false;
bool skip_repeated_empty_password = false; bool skip_repeated_empty_password = false;
@ -114,42 +118,43 @@
+#ifdef __linux__ +#ifdef __linux__
+#include <fcntl.h> +#include <fcntl.h>
+#include <linux/oom.h> +#include <linux/oom.h>
+#include <errno.h>
+ +
+static void +static void
+dontkillme(void) +dontkillme(void)
+{ +{
+ int fd; + FILE *f;
+ int length; + const char oomfile[] = "/proc/self/oom_score_adj";
+ char value[64];
+ +
+ fd = open("/proc/self/oom_score_adj", O_WRONLY); + if (!(f = fopen(oomfile, "w"))) {
+ if (fd < 0 && errno == ENOENT) + if (errno == ENOENT)
+ return; + return;
+ + errx(EXIT_FAILURE, "i3lock: fopen %s: %s", oomfile, strerror(errno));
+ /* convert OOM_SCORE_ADJ_MIN to string for writing */ + }
+ length = snprintf(value, sizeof(value), "%d\n", OOM_SCORE_ADJ_MIN); + fprintf(f, "%d", OOM_SCORE_ADJ_MIN);
+ + if (fclose(f)) {
+ /* bail on truncation */ + if (errno == EACCES)
+ if (length >= sizeof(value)) + errx(EXIT_FAILURE, "i3lock: unable to disable OOM killer. "
+ errx(EXIT_FAILURE, "buffer too small\n"); + "Make sure to suid or sgid i3lock.");
+ + else
+ if (fd < 0 || write(fd, value, length) != length || close(fd) != 0) + errx(EXIT_FAILURE, "i3lock: fclose %s: %s", oomfile, strerror(errno));
+ errx(EXIT_FAILURE, "cannot disable the out-of-memory killer for this process (make sure to suid or sgid i3lock)\n"); + }
+} +}
+#endif +#endif
+ +
/* isutf, u8_dec © 2005 Jeff Bezanson, public domain */ /* isutf, u8_dec © 2005 Jeff Bezanson, public domain */
#define isutf(c) (((c)&0xC0) != 0x80) #define isutf(c) (((c)&0xC0) != 0x80)
@@ -235,17 +269,10 @@ @@ -281,16 +314,16 @@
unlock_state = STATE_STARTED; exit(0);
redraw_screen(); }
#else
- if (pam_authenticate(pam_handle, 0) == PAM_SUCCESS) { - if (pam_authenticate(pam_handle, 0) == PAM_SUCCESS) {
+ if (!strcmp(crypt(password, pws), pws)) { - DEBUG("successfully authenticated\n");
DEBUG("successfully authenticated\n"); - clear_password_memory();
clear_password_memory(); + /*
+ * Shamelessly stolen from slock. See LICENSE-slock.
+ */
+ char *inputhash;
- /* PAM credentials should be refreshed, this will for example update any kerberos tickets. - /* PAM credentials should be refreshed, this will for example update any kerberos tickets.
- * Related to credentials pam_end() needs to be called to cleanup any temporary - * Related to credentials pam_end() needs to be called to cleanup any temporary
@ -157,14 +162,20 @@
- * refresh of the credentials failed. */ - * refresh of the credentials failed. */
- pam_setcred(pam_handle, PAM_REFRESH_CRED); - pam_setcred(pam_handle, PAM_REFRESH_CRED);
- pam_end(pam_handle, PAM_SUCCESS); - pam_end(pam_handle, PAM_SUCCESS);
- + if (!(inputhash = crypt(password, hash)))
+ fprintf(stderr, "i3lock: crypt: %s", strerror(errno));
+ else if (!strcmp(inputhash, hash)) {
+ DEBUG("successfully authenticated");
+ clear_password_memory();
exit(0); exit(0);
} }
@@ -626,39 +659,6 @@
@@ -580,37 +607,6 @@ redraw_screen();
} }
/* -#ifndef __OpenBSD__
-/*
- * Callback function for PAM. We only react on password request callbacks. - * Callback function for PAM. We only react on password request callbacks.
- * - *
- */ - */
@ -194,65 +205,87 @@
- -
- return 0; - return 0;
-} -}
-#endif
- -
-/* /*
* This callback is only a dummy, see xcb_prepare_cb and xcb_check_cb. * This callback is only a dummy, see xcb_prepare_cb and xcb_check_cb.
* See also man libev(3): "ev_prepare" and "ev_check" - customise your event loop * See also man libev(3): "ev_prepare" and "ev_check" - customise your event loop
* @@ -813,10 +813,6 @@
@@ -764,8 +760,6 @@
struct passwd *pw; struct passwd *pw;
char *username; char *username;
char *image_path = NULL; char *image_path = NULL;
-#ifndef __OpenBSD__
- int ret; - int ret;
- struct pam_conv conv = {conv_callback, NULL}; - struct pam_conv conv = {conv_callback, NULL};
-#endif
int curs_choice = CURS_NONE; int curs_choice = CURS_NONE;
int o; int o;
int optind = 0; int optind = 0;
@@ -791,6 +785,30 @@ @@ -842,6 +838,48 @@
if ((username = pw->pw_name) == NULL) if ((username = pw->pw_name) == NULL)
errx(EXIT_FAILURE, "pw->pw_name is NULL.\n"); errx(EXIT_FAILURE, "pw->pw_name is NULL.\n");
+#ifndef __OpenBSD__
+ /* + /*
+ * This piece of code is shamelessly stolen from slock. + * Shamelessly stolen from slock. See LICENSE-slock.
+ * See LICENSE-slock. + *
+ * Slock has code to make it run as nobody:nogroup, which has the added
+ * security that the locker can only be killed by root.
+ * It causes problems with the xcb_connect in raise_loop, however,
+ * and I'm not aware of any other methods to keep the calling user from
+ * killing the locker.
+ * This means that a malicious program running as your user
+ * could easily bypass your locker by killing it.
+ * However, if such a program even manages to be running, you're pretty
+ * screwed regardless.
+ */ + */
+
+#ifdef __linux__ +#ifdef __linux__
+ dontkillme(); + dontkillme();
+#endif +#endif
+ +
+ pws = pw->pw_passwd; + hash = pw->pw_passwd;
+ +
+ if (pws[0] == 'x' && pws[1] == '\0') { + if (!strcmp(hash, "x")) {
+ struct spwd *sp; + struct spwd *sp;
+ if (!(sp = getspnam(getenv("USER")))) + if (!(sp = getspnam(pw->pw_name)))
+ errx(EXIT_FAILURE, "cannot retrieve shadow entry (make sure to suid or sgid i3lock)\n"); + errx(EXIT_FAILURE, "i3lock: getspnam: cannot retrieve shadow entry. "
+ pws = sp->sp_pwdp; + "Make sure to suid or sgid i3lock.");
+ hash = sp->sp_pwdp;
+ } + }
+ +
+ /* drop privileges */ + errno = 0;
+ if (geteuid() == 0 && + if (!crypt("", hash))
+ ((getegid() != pw->pw_gid && setgid(pw->pw_gid) < 0) || setuid(pw->pw_uid) < 0)) + errx(EXIT_FAILURE, "i3lock: crypt: %s", strerror(errno));
+ errx(EXIT_FAILURE, "cannot drop privileges\n");
+ +
+ /* End of stolen code */ + /* drop privileges */
+ if (setgroups(0, NULL) < 0)
+ errx(EXIT_FAILURE, "i3lock: setgroups: %s", strerror(errno));
+ if (setgid(pw->pw_gid) < 0)
+ errx(EXIT_FAILURE, "i3lock: setgid: %s", strerror(errno));
+ if (setuid(pw->pw_uid) < 0)
+ errx(EXIT_FAILURE, "i3lock: setuid: %s", strerror(errno));
+#endif
+ +
char *optstring = "hvnbdc:p:ui:teI:f"; char *optstring = "hvnbdc:p:ui:teI:f";
while ((o = getopt_long(argc, argv, optstring, longopts, &optind)) != -1) { while ((o = getopt_long(argc, argv, optstring, longopts, &optind)) != -1) {
switch (o) { switch (o) {
@@ -862,13 +880,6 @@ @@ -910,15 +948,6 @@
* the unlock indicator upon keypresses. */ * the unlock indicator upon keypresses. */
srand(time(NULL)); srand(time(NULL));
-#ifndef __OpenBSD__
- /* Initialize PAM */ - /* Initialize PAM */
- if ((ret = pam_start("i3lock", username, &conv, &pam_handle)) != PAM_SUCCESS) - if ((ret = pam_start("i3lock", username, &conv, &pam_handle)) != PAM_SUCCESS)
- errx(EXIT_FAILURE, "PAM: %s", pam_strerror(pam_handle, ret)); - errx(EXIT_FAILURE, "PAM: %s", pam_strerror(pam_handle, ret));
- -
- if ((ret = pam_set_item(pam_handle, PAM_TTY, getenv("DISPLAY"))) != PAM_SUCCESS) - if ((ret = pam_set_item(pam_handle, PAM_TTY, getenv("DISPLAY"))) != PAM_SUCCESS)
- errx(EXIT_FAILURE, "PAM: %s", pam_strerror(pam_handle, ret)); - errx(EXIT_FAILURE, "PAM: %s", pam_strerror(pam_handle, ret));
-#endif
- -
/* Using mlock() as non-super-user seems only possible in Linux. Users of other /* Using mlock() as non-super-user seems only possible in Linux.
* operating systems should use encrypted swap/no swap (or remove the ifdef and * Users of other operating systems should use encrypted swap/no swap
* run i3lock as super-user). */ * (or remove the ifdef and run i3lock as super-user).
+++ i3lock.pam +++ i3lock.pam
@@ -1,6 +0,0 @@ @@ -1,6 +0,0 @@
-# -#

71
satellites/extrafiles/i3lock/i3lock-2.9-revert-composite.patch

@ -0,0 +1,71 @@
+++ Makefile
@@ -15,8 +15,8 @@
CFLAGS += -pipe
CFLAGS += -Wall
CPPFLAGS += -D_GNU_SOURCE
-CFLAGS += $(shell $(PKG_CONFIG) --cflags cairo xcb-composite xcb-xinerama xcb-atom xcb-image xcb-xkb xkbcommon xkbcommon-x11)
-LIBS += $(shell $(PKG_CONFIG) --libs cairo xcb-composite xcb-xinerama xcb-atom xcb-image xcb-xkb xkbcommon xkbcommon-x11)
+CFLAGS += $(shell $(PKG_CONFIG) --cflags cairo xcb-xinerama xcb-atom xcb-image xcb-xkb xkbcommon xkbcommon-x11)
+LIBS += $(shell $(PKG_CONFIG) --libs cairo xcb-xinerama xcb-atom xcb-image xcb-xkb xkbcommon xkbcommon-x11)
LIBS += -lev
LIBS += -lm
+++ README.md
@@ -25,7 +25,6 @@
- libxcb-util
- libpam-dev
- libcairo-dev
-- libxcb-composite0
- libxcb-xinerama
- libev
- libx11-dev
+++ xcb.c
@@ -11,7 +11,6 @@
#include <xcb/xcb_image.h>
#include <xcb/xcb_atom.h>
#include <xcb/xcb_aux.h>
-#include <xcb/composite.h>
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
@@ -107,29 +106,6 @@
uint32_t mask = 0;
uint32_t values[3];
xcb_window_t win = xcb_generate_id(conn);
- xcb_window_t parent_win = scr->root;
-
- /* Check whether the composite extension is available */
- const xcb_query_extension_reply_t *extension_query = NULL;
- xcb_generic_error_t *error = NULL;
- xcb_composite_get_overlay_window_cookie_t cookie;
- xcb_composite_get_overlay_window_reply_t *composite_reply = NULL;
-
- extension_query = xcb_get_extension_data(conn, &xcb_composite_id);
- if (extension_query && extension_query->present) {
- /* When composition is used, we need to use the composite overlay
- * window instead of the normal root window to be able to cover
- * composited windows */
- cookie = xcb_composite_get_overlay_window(conn, scr->root);
- composite_reply = xcb_composite_get_overlay_window_reply(conn, cookie, &error);
-
- if (!error && composite_reply) {
- parent_win = composite_reply->overlay_win;
- }
-
- free(composite_reply);
- free(error);
- }
if (pixmap == XCB_NONE) {
mask |= XCB_CW_BACK_PIXEL;
@@ -151,8 +127,8 @@
xcb_create_window(conn,
XCB_COPY_FROM_PARENT,
- win, /* the window id */
- parent_win,
+ win, /* the window id */
+ scr->root, /* parent == root */
0, 0,
scr->width_in_pixels,
scr->height_in_pixels, /* dimensions */

4
satellites/ffmpeg.sat

@ -1,5 +1,5 @@
name=ffmpeg name=ffmpeg
version=3.3 version=3.3.1
update_url='https://ffmpeg.org/download.html' update_url='https://ffmpeg.org/download.html'
# Extract from EXTERNAL_LIBRARY_LIST in the configure script, except EXTERNAL_AUTODETECT_LIBRARY_LIST and # Extract from EXTERNAL_LIBRARY_LIST in the configure script, except EXTERNAL_AUTODETECT_LIBRARY_LIST and
@ -16,7 +16,7 @@ for opt in $optional_libraries; do
done done
dlextract "http://ffmpeg.org/releases/$name-$version.tar.bz2" \ dlextract "http://ffmpeg.org/releases/$name-$version.tar.bz2" \
'7432155db3103cf0de8eb7d4ee304452' 'eb3fff329cd7e72cf8c3b309dbbe1f9c'
header_end header_end
cd "$name-$version" cd "$name-$version"

4
satellites/go.sat

@ -1,13 +1,13 @@
name=go name=go
majver=1.8 majver=1.8
version=$majver.1 version=$majver.3
bootstrap_version=1.4.3 bootstrap_version=1.4.3
update_url='https://golang.org/dl/' update_url='https://golang.org/dl/'
define_option '!bootstrap: Bootstrap this program' define_option '!bootstrap: Bootstrap this program'
dlextract "https://storage.googleapis.com/golang/$name$version.src.tar.gz" \ dlextract "https://storage.googleapis.com/golang/$name$version.src.tar.gz" \
'409dd21e7347dd1ea9efe64a700073cc' '64e9380e07bba907e26a00cf5fcbe77e'
if option bootstrap; then if option bootstrap; then
download "https://storage.googleapis.com/golang/$name$bootstrap_version.src.tar.gz" \ download "https://storage.googleapis.com/golang/$name$bootstrap_version.src.tar.gz" \

12
satellites/i3lock.sat

@ -1,16 +1,22 @@
name=i3lock name=i3lock
version=2.8 version=2.9
update_url="https://i3wm.org/$name/" update_url="https://i3wm.org/$name/"
define_option 'pam: Use PAM for authentication' define_option 'pam: Use PAM for authentication'
dlextract "https://i3wm.org/$name/$name-$version.tar.bz2" \ dlextract "https://i3wm.org/$name/$name-$version.tar.bz2" \
'89de7b7d46fdb05638122cf3c2512093' '3d0038021778f3178192f566dc87a931'
extrafile "$name-$version-revert-composite.patch"
option !pam extrafile "$name-$version-no-pam.patch" option !pam extrafile "$name-$version-no-pam.patch"
header_end header_end
cd "$name-$version" cd "$name-$version"
# Remove the code that tries to covert composited notifications,
# since it breaks a lot of stuff. Awaiting fix from upstream.
# See: https://github.com/i3/i3lock/issues/128
patch -p0 -i "../$name-$version-revert-composite.patch"
option !pam patch -p0 -i "../$name-$version-no-pam.patch" option !pam patch -p0 -i "../$name-$version-no-pam.patch"
# Fix install directories # Fix install directories
@ -24,7 +30,7 @@ make install \
# Install the manpage # Install the manpage
install -Dm644 -t "$dir_install/$dir_prefix/$dir_mandir/man1/" "$name.1" install -Dm644 -t "$dir_install/$dir_prefix/$dir_mandir/man1/" "$name.1"
# If not using PAM, we need suid to know the user's password, as well as make sure the locker isn't killed by the kernel. # If not using PAM, we need suid to hash the user's password, as well as make sure the locker isn't killed by the kernel.
# Don't worry, the locker drops privileges back to your user as soon as possible. # Don't worry, the locker drops privileges back to your user as soon as possible.
option !pam chmod 4711 "$dir_install/$dir_prefix/$dir_bindir/$name" option !pam chmod 4711 "$dir_install/$dir_prefix/$dir_bindir/$name"

38
satellites/icedtea.sat

@ -1,8 +1,8 @@
import 'compile/configure' import 'compile/configure'
name=icedtea name=icedtea
version=3.3.0 version=3.4.0
version_bootstrap=2.6.9 version_bootstrap=2.6.10
version_gcc=6.3.0 version_gcc=6.3.0
version_ecj=4.9 version_ecj=4.9
version_apache_ant=1.9.9 version_apache_ant=1.9.9
@ -12,16 +12,16 @@ update_names="<a href=\"$name-$version.tar.gz\">"
define_option '!bootstrap: Bootstrap this program' define_option '!bootstrap: Bootstrap this program'
dlextract "http://icedtea.wildebeest.org/download/source/$name-$version.tar.xz" \ dlextract "http://icedtea.wildebeest.org/download/source/$name-$version.tar.xz" \
'86d61ef5d3abff3938be8bbb9e03e444' '0af777c25b01092c511262edf40f868b'
modules=" modules="
corba-1bc8c5b63eca3918f1c4c934bf66b233 corba-68b8c18562214486c971071ba59413e6
hotspot-e600f285d00ee367b4129450c35f113a hotspot-b4d1be014037928badc0a28644511663
jaxp-2b3559177fead9ccb56db07191102870 jaxp-7e4a9e896f4777fe96dd7e49ed507a0b
jaxws-92612fa7cfecf27357743c932a091b9b jaxws-df3c1b88db55fdd9b793714d40930f9f
jdk-2a732b3f46453fb45b1a37b7c1ab3db8 jdk-1d2130aaeb5b7546f70564e963a68379
langtools-b10431e5823ac859de631e183b1d0b67 langtools-9c7688f164d62d13b4f36e0db379d4c4
nashorn-9cc3887801b7ad6c290c4adf4a742130 nashorn-65805818ca9ea2af450ac6265e90d509
openjdk-2d1c5467d3c7818ee7ec81d37c1bbbd4 openjdk-89f287e08058534ed5bf9198d025500f
" "
for module in $modules; do for module in $modules; do
modname="$(echo "$module" | cut -d- -f1)" modname="$(echo "$module" | cut -d- -f1)"
@ -47,15 +47,15 @@ if option bootstrap; then
) )
dlextract "http://icedtea.wildebeest.org/download/source/$name-$version_bootstrap.tar.xz" \ dlextract "http://icedtea.wildebeest.org/download/source/$name-$version_bootstrap.tar.xz" \
'0267dc50fbc31ac530eff2866b3aa30c' '25307cb762455eace830e399c918b11f'
bootstrap_modules=" bootstrap_modules="
corba-7b2603c35e5f2c1061b4e78d1f2978f5 corba-8f410876861cb5f00795f16eaead0810
hotspot-85adb8ae4427318d5e6af7e0bdde2e5c hotspot-638ba47781e357ad6f9583045e45dc20
jaxp-52517bbbf2437db32f5d004076cefb44 jaxp-62a4db1e84cdc7a322ec1442a42234ca
jaxws-e32f0dd84f5ec5563da6d5e90a11a4a4 jaxws-93abafb7ba0c6281c8a8fcaedd573f3d
jdk-e122ed50519da1845fa11e0f90bc7964 jdk-fab5c059798ae43b2b636c8ddfb0da7a
langtools-748f8d95386b186a50a59233ba5a4680 langtools-2867a657ebb2185ca5954c4cf2742328
openjdk-9433581dd17497640a91e4a057b4191b openjdk-4c6bc2dff0da17def41732cd8e68bb21
" "
for module in $bootstrap_modules; do for module in $bootstrap_modules; do
modname="$(echo "$module" | cut -d- -f1)" modname="$(echo "$module" | cut -d- -f1)"

4
satellites/luajit.sat

@ -1,10 +1,10 @@
name=LuaJIT name=LuaJIT
version=2.0.4 version=2.0.5
update_url='http://luajit.org/download.html' update_url='http://luajit.org/download.html'
update_names="href=\"download/$name-$version.tar.gz\"" update_names="href=\"download/$name-$version.tar.gz\""
dlextract "http://luajit.org/download/$name-$version.tar.gz" \ dlextract "http://luajit.org/download/$name-$version.tar.gz" \
'dd9c38307f2223a504cbfb96e477eca0' '48353202cbcacab84ee41a5a70ea0a2c'
header_end header_end
cd "$name-$version" cd "$name-$version"

4
satellites/maim.sat

@ -1,12 +1,12 @@
import 'compile/cmake' import 'compile/cmake'
name=maim name=maim
version=4.4.62 version=5.4.62
update_url="https://github.com/naelstrof/$name/releases" update_url="https://github.com/naelstrof/$name/releases"
update_names="/archive/v$version.tar.gz" update_names="/archive/v$version.tar.gz"
dlextract "https://github.com/naelstrof/$name/archive/v$version/$name-$version.tar.gz" \ dlextract "https://github.com/naelstrof/$name/archive/v$version/$name-$version.tar.gz" \
'48b8111faf76432b306baadd0a86c71a' '6f687f1902fbbe358dc8c7aa21f0fe06'
header_end header_end
cd "$name-$version" cd "$name-$version"

4
satellites/python3-cryptodome.sat

@ -1,12 +1,12 @@
import 'compile/python' import 'compile/python'
name=pycryptodome name=pycryptodome
version=3.4.5 version=3.4.6
update_url="https://github.com/Legrandin/$name/releases" update_url="https://github.com/Legrandin/$name/releases"
update_names="/archive/v$version.tar.gz" update_names="/archive/v$version.tar.gz"
dlextract "https://github.com/Legrandin/$name/archive/v$version/$name-$version.tar.gz" \ dlextract "https://github.com/Legrandin/$name/archive/v$version/$name-$version.tar.gz" \
'26dc41d9103d65ce7f87f10f819ca126' '23f8d1921b69df462f2e62af5aaf4ce9'
header_end header_end
cd "$name-$version" cd "$name-$version"

4
satellites/python3-cryptography.sat

@ -1,12 +1,12 @@
import 'compile/python' import 'compile/python'
name=cryptography name=cryptography
version=1.8.1 version=1.8.2
update_url="https://github.com/pyca/$name/releases" update_url="https://github.com/pyca/$name/releases"
update_names="/archive/$version.tar.gz" update_names="/archive/$version.tar.gz"
dlextract "https://github.com/pyca/$name/archive/$version/$name-$version.tar.gz" \ dlextract "https://github.com/pyca/$name/archive/$version/$name-$version.tar.gz" \
'882fb9351808d6d961127561acc7c0e5' '97e7c2159a9fbdf92214854ba08206da'
header_end header_end
cd "$name-$version" cd "$name-$version"

4
satellites/python3-requests.sat

@ -1,12 +1,12 @@
import 'compile/python' import 'compile/python'
name=requests name=requests
version=2.13.0 version=2.16.5
update_url="https://github.com/kennethreitz/$name/releases" update_url="https://github.com/kennethreitz/$name/releases"
update_names="/archive/v$version.tar.gz" update_names="/archive/v$version.tar.gz"
dlextract "https://github.com/kennethreitz/$name/archive/v$version/$name-$version.tar.gz" \ dlextract "https://github.com/kennethreitz/$name/archive/v$version/$name-$version.tar.gz" \
'94ad79c2e57917aca999308b1fb4cbb4' '00049dfe29ebf3168c9ddb4069d8b8cd'
header_end header_end
cd "$name-$version" cd "$name-$version"

4
satellites/python3-setuptools.sat

@ -1,14 +1,14 @@
import 'compile/python' import 'compile/python'
name=setuptools name=setuptools
version=35.0.1 version=35.0.2
update_url="https://github.com/pypa/$name/releases" update_url="https://github.com/pypa/$name/releases"
update_names="/archive/v$version.tar.gz" update_names="/archive/v$version.tar.gz"
define_option 'easy_install-symlink: Install the easy_install symlink (it may conflict with python2)' define_option 'easy_install-symlink: Install the easy_install symlink (it may conflict with python2)'
dlextract "https://github.com/pypa/$name/archive/v$version/$name-$version.tar.gz" \ dlextract "https://github.com/pypa/$name/archive/v$version/$name-$version.tar.gz" \
'a8a085fa0a3a92e54c2eb7cff7d0e1ec' '768219e2b3bab1ab4e6f7ded94caaf2d'
header_end header_end
cd "$name-$version" cd "$name-$version"

4
satellites/slop.sat

@ -1,12 +1,12 @@
import 'compile/cmake' import 'compile/cmake'
name=slop name=slop
version=5.3.37 version=6.3.38
update_url="https://github.com/naelstrof/$name/releases" update_url="https://github.com/naelstrof/$name/releases"
update_names="/archive/v$version.tar.gz" update_names="/archive/v$version.tar.gz"
dlextract "https://github.com/naelstrof/$name/archive/v$version/$name-$version.tar.gz" \ dlextract "https://github.com/naelstrof/$name/archive/v$version/$name-$version.tar.gz" \
'3c9daf46110b1aada91aa5832dcf71dc' 'c99402f9fd1909d539f576e317233eb3'
header_end header_end
cd "$name-$version" cd "$name-$version"

4
satellites/streamlink.sat

@ -1,11 +1,11 @@
import 'compile/python' import 'compile/python'
name=streamlink name=streamlink
version=0.5.0 version=0.6.0
update_url="https://github.com/$name/$name/releases" update_url="https://github.com/$name/$name/releases"
dlextract "https://github.com/$name/$name/releases/download/$version/$name-$version.tar.gz" \ dlextract "https://github.com/$name/$name/releases/download/$version/$name-$version.tar.gz" \
'8a458999d0318924f59d74ce034c6cc6' '08cce07c2e2ddc956824c5a7d3f72d59'
header_end header_end
cd "$name-$version" cd "$name-$version"

4
satellites/syncthing.sat

@ -1,11 +1,11 @@
# TODO (probably never): Separate all libraries in different packages. # TODO (probably never): Separate all libraries in different packages.
name=syncthing name=syncthing
version=0.14.27 version=0.14.28
update_url="https://github.com/$name/$name/releases" update_url="https://github.com/$name/$name/releases"
dlextract "https://github.com/$name/$name/releases/download/v$version/$name-source-v$version.tar.gz" \ dlextract "https://github.com/$name/$name/releases/download/v$version/$name-source-v$version.tar.gz" \
'33421f2826a8329a67d2efb393b02c56' 'c1305fb21e0f987d9cb9f80e0ea41ebe'
extrafile 'syncthing-browser.desktop' extrafile 'syncthing-browser.desktop'
header_end header_end

2
satellites/teeworlds.sat

@ -3,7 +3,7 @@
name=teeworlds name=teeworlds
version=0.6.4 version=0.6.4
version_bam=0.4.0 version_bam=0.4.0
update_url='https://www.teeworlds.com/?page=downloads' update_url='http://downloads.teeworlds.com/'
dlextract "https://downloads.teeworlds.com/$name-$version-src.tar.gz" \ dlextract "https://downloads.teeworlds.com/$name-$version-src.tar.gz" \
'9733800c12462ac4d5a5a4f6ea750af0' '9733800c12462ac4d5a5a4f6ea750af0'

13
satellites/virtualbox.sat

@ -5,16 +5,16 @@ import 'misc/debian'
name=VirtualBox name=VirtualBox
deb_name=virtualbox deb_name=virtualbox
version=5.1.20 version=5.1.22
define_option 'pulseaudio: Add pulseaudio support' define_option 'pulseaudio: Add pulseaudio support'
define_option 'pam: Use PAM for authentication' define_option 'pam: Use PAM for authentication'
define_option 'docs: Build documentation (requires texlive)' define_option 'docs: Build documentation (requires texlive)'
misc_debian_download -r contrib -n "$deb_name" -O dfsg-2 \ misc_debian_download -r contrib -n "$deb_name" -O dfsg-1 \
'fdad2cfd0830502f3ce6f9ccef3105b8' '56eb85af66ad0aff9a72a5950f4bc2ff'
dlfile "http://download.virtualbox.org/virtualbox/$orig_version/$name-$orig_version.tar.bz2" \ dlfile "http://download.virtualbox.org/virtualbox/$orig_version/$name-$orig_version.tar.bz2" \
'35bf9bc493f3cbfecc4668200e1d8632' '1e50a1fcf635e2f434b136f23bb60a82'
header_end header_end
# Unpack and sanitize the source tarball # Unpack and sanitize the source tarball
@ -116,7 +116,6 @@ chmod 4711 VirtualBox VBoxSDL VBoxHeadless
mkdir -p "$dir_install/$dir_prefix/$dir_bindir" mkdir -p "$dir_install/$dir_prefix/$dir_bindir"
for i in VirtualBox VBoxManage VBoxSDL VBoxHeadless VBoxAutostart VBoxBalloonCtrl VBoxBugReport VBoxDTrace vboxwebsrv; do for i in VirtualBox VBoxManage VBoxSDL VBoxHeadless VBoxAutostart VBoxBalloonCtrl VBoxBugReport VBoxDTrace vboxwebsrv; do
ln -sf "/$dir_prefix/$dir_libdir/$name/VBox.sh" "$dir_install/$dir_prefix/$dir_bindir/$i" ln -sf "/$dir_prefix/$dir_libdir/$name/VBox.sh" "$dir_install/$dir_prefix/$dir_bindir/$i"
ln -sf "/$dir_prefix/$dir_libdir/$name/VBox.sh" "$dir_install/$dir_prefix/$dir_bindir/$(echo $i | tr '[:upper:]' '[:lower:]')"
done done
# icons # icons
@ -139,7 +138,7 @@ mkdir -p "$dir_install/$dir_prefix/$dir_sysconfdir/vbox"
echo "INSTALL_DIR='/$dir_prefix/$dir_libdir/$name'" > "$dir_install/$dir_prefix/$dir_sysconfdir/vbox/vbox.cfg" echo "INSTALL_DIR='/$dir_prefix/$dir_libdir/$name'" > "$dir_install/$dir_prefix/$dir_sysconfdir/vbox/vbox.cfg"
# Move the directory # Move the directory
mkdir -p "$dir_install/$dir_prefix/$dir_libdir/$name" mkdir -p "$dir_install/$dir_prefix/$dir_libdir"
cp -a * "$dir_install/$dir_prefix/$dir_libdir/$name" cp -Ta . "$dir_install/$dir_prefix/$dir_libdir/$name"
# vim:set tabstop=4 shiftwidth=4 syntax=sh expandtab: # vim:set tabstop=4 shiftwidth=4 syntax=sh expandtab:

4
satellites/waf.sat

@ -1,11 +1,11 @@
import 'compile/waf' import 'compile/waf'
name=waf name=waf
version=1.9.10 version=1.9.11
update_url='https://waf.io/' update_url='https://waf.io/'
dlextract "https://waf.io/$name-$version.tar.bz2" \ dlextract "https://waf.io/$name-$version.tar.bz2" \
'00b083d8a2acfe5ed8eae000b9f64fe5' 'ba28942df5d03a2e411de16865d36a71'
header_end header_end
cd "$name-$version" cd "$name-$version"

4
satellites/wine.sat

@ -1,14 +1,14 @@
import 'compile/configure' import 'compile/configure'
name=wine name=wine
version=2.6 version=2.9
update_url='https://www.winehq.org/' update_url='https://www.winehq.org/'
update_names="/announce/$version\"" update_names="/announce/$version\""
define_option 'wine32=: On x86_64, enable 32bit wine support. Specify the 32bit libdir here' define_option 'wine32=: On x86_64, enable 32bit wine support. Specify the 32bit libdir here'
dlextract "http://dl.winehq.org/$name/source/2.x/$name-$version.tar.xz" \ dlextract "http://dl.winehq.org/$name/source/2.x/$name-$version.tar.xz" \
'd1976fb6907550bb30d1f786c0f6f641' '8af882262e5fad2c01d4a1f4e51458aa'
header_end header_end
cd "$name-$version" cd "$name-$version"

4
satellites/youtube-dl.sat

@ -1,11 +1,11 @@
import 'compile/python' import 'compile/python'
name=youtube-dl name=youtube-dl
version=2017.04.26 version=2017.05.29
update_url="http://rg3.github.io/$name/download.html" update_url="http://rg3.github.io/$name/download.html"
dlextract "https://yt-dl.org/downloads/$version/$name-$version.tar.gz" \ dlextract "https://yt-dl.org/downloads/$version/$name-$version.tar.gz" \
'42949535128214863e1cfc41cc7f1a1a' 'b3ece5ac052442fdcb19df3977772b29'
header_end header_end
cd "$name" cd "$name"

Loading…
Cancel
Save