Date: Sat, 11 Jul 2020 13:09:10 +0000 (UTC) From: Alexey Dokuchaev <danfe@FreeBSD.org> To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r541970 - in head: . sysutils sysutils/scanmem sysutils/scanmem/files Message-ID: <202007111309.06BD9AHs048881@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: danfe Date: Sat Jul 11 13:09:10 2020 New Revision: 541970 URL: https://svnweb.freebsd.org/changeset/ports/541970 Log: Resurrect `sysutils/scanmem' and update to version 0.17. Added: head/sysutils/scanmem/ - copied from r439825, head/sysutils/scanmem/ head/sysutils/scanmem/files/patch-common.h (contents, props changed) head/sysutils/scanmem/files/patch-scanroutines.c (contents, props changed) head/sysutils/scanmem/files/patch-targetmem.h (contents, props changed) Deleted: head/sysutils/scanmem/files/patch-commands.c head/sysutils/scanmem/files/patch-maps.h Modified: head/MOVED head/sysutils/Makefile head/sysutils/scanmem/Makefile head/sysutils/scanmem/distinfo head/sysutils/scanmem/files/patch-gui-GameConqueror.py head/sysutils/scanmem/files/patch-gui-gameconqueror.in head/sysutils/scanmem/files/patch-handlers.c head/sysutils/scanmem/files/patch-interrupt.h head/sysutils/scanmem/files/patch-maps.c head/sysutils/scanmem/files/patch-ptrace.c head/sysutils/scanmem/pkg-plist Modified: head/MOVED ============================================================================== --- head/MOVED Sat Jul 11 13:02:35 2020 (r541969) +++ head/MOVED Sat Jul 11 13:09:10 2020 (r541970) @@ -9148,7 +9148,6 @@ sysutils/sievelog||2017-04-30|Has expired: Unfetchable sysutils/ldapenter||2017-04-30|Has expired: Unfetchable for more than six months (google code has gone away) sysutils/py-danzfs||2017-04-30|Has expired: Unfetchable for more than six months (google code has gone away) sysutils/plasma-applet-apcups||2017-04-30|Has expired: Unfetchable for more than six months (google code has gone away) -sysutils/scanmem||2017-04-30|Has expired: Unfetchable for more than six months (google code has gone away) sysutils/pdsh||2017-04-30|Has expired: Unfetchable for more than six months (google code has gone away) deskutils/superswitcher||2017-04-30|Has expired: Unfetchable for more than six months (google code has gone away) deskutils/plasma-applet-playwolf||2017-04-30|Has expired: Unfetchable for more than six months (google code has gone away) Modified: head/sysutils/Makefile ============================================================================== --- head/sysutils/Makefile Sat Jul 11 13:02:35 2020 (r541969) +++ head/sysutils/Makefile Sat Jul 11 13:09:10 2020 (r541970) @@ -1183,6 +1183,7 @@ SUBDIR += scalpel SUBDIR += scan_ffs SUBDIR += scanbuttond + SUBDIR += scanmem SUBDIR += scct SUBDIR += schedutils SUBDIR += screen Modified: head/sysutils/scanmem/Makefile ============================================================================== --- head/sysutils/scanmem/Makefile Sun Apr 30 14:26:41 2017 (r439825) +++ head/sysutils/scanmem/Makefile Sat Jul 11 13:09:10 2020 (r541970) @@ -2,24 +2,22 @@ # $FreeBSD$ PORTNAME= scanmem -PORTVERSION= 0.13 +PORTVERSION= 0.17 +DISTVERSIONPREFIX= v CATEGORIES= sysutils -MASTER_SITES= GOOGLE_CODE -EXTRACT_SUFX= _.tar.gz MAINTAINER= danfe@FreeBSD.org COMMENT= Locate and modify various data in an executing process LICENSE= GPLv3 -BROKEN= Unfetchable (google code has gone away) -DEPRECATED= Unfetchable for more than six months (google code has gone away) -EXPIRATION_DATE= 2017-04-30 - ONLY_FOR_ARCHS= i386 amd64 ONLY_FOR_ARCHS_REASON= requires linprocfs(5) -USES= readline +USES= autoreconf gettext-tools gmake gnome libtool readline +USE_GITHUB= yes +USE_GNOME= intltool +USE_LDCONFIG= yes GNU_CONFIGURE= yes CONFIGURE_ENV= ac_cv_file__proc_self_maps=yes \ ac_cv_file__proc_self_mem=yes @@ -29,11 +27,13 @@ OPTIONS_SUB= yes X11_DESC= Install PyGTK-based GUI (GameConqueror) X11_CATEGORIES= python -X11_RUN_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/pygtk-2.0.pc:x11-toolkits/py-gtk2 X11_CONFIGURE_ON= --enable-gui +X11_USES= python:run shebangfix +X11_USE= GNOME=gtk30,pygobject3 +X11_VARS= SHEBANG_FILES+=gui/GameConqueror.py post-patch: - @${REINPLACE_CMD} -e 's,/proc/,/compat/linux&,' ${WRKSRC}/configure - @${REINPLACE_CMD} -e 's, COPYING,,' ${WRKSRC}/gui/Makefile.in + @${REINPLACE_CMD} -e 's,/proc/,/compat/linux&,' ${WRKSRC}/configure.ac + @${REINPLACE_CMD} -e 's, COPYING,,' ${WRKSRC}/gui/Makefile.am .include <bsd.port.mk> Modified: head/sysutils/scanmem/distinfo ============================================================================== --- head/sysutils/scanmem/distinfo Sun Apr 30 14:26:41 2017 (r439825) +++ head/sysutils/scanmem/distinfo Sat Jul 11 13:09:10 2020 (r541970) @@ -1,2 +1,3 @@ -SHA256 (scanmem-0.13_.tar.gz) = 36f6b99e26c171dc1caa59e5338f4369391224c8e9b5506bf96a5382831e27b1 -SIZE (scanmem-0.13_.tar.gz) = 240619 +TIMESTAMP = 1507931596 +SHA256 (scanmem-scanmem-v0.17_GH0.tar.gz) = f02054b91322cf41517506158fcb74554e9fc6644e696f8aa25e5acf162d374b +SIZE (scanmem-scanmem-v0.17_GH0.tar.gz) = 220489 Added: head/sysutils/scanmem/files/patch-common.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sysutils/scanmem/files/patch-common.h Sat Jul 11 13:09:10 2020 (r541970) @@ -0,0 +1,22 @@ +--- common.h.orig 2017-10-13 21:53:16 UTC ++++ common.h +@@ -28,7 +28,9 @@ + + /* from string.h in glibc for Android/BSD */ + #ifndef strdupa ++# ifdef HAVE_ALLOCA_H + # include <alloca.h> ++# endif + # include <string.h> + # define strdupa(s) \ + ({ \ +@@ -40,7 +42,9 @@ + #endif + + #ifndef strndupa ++# ifdef HAVE_ALLOCA_H + # include <alloca.h> ++# endif + # include <string.h> + # define strndupa(s, n) \ + ({ \ Modified: head/sysutils/scanmem/files/patch-gui-GameConqueror.py ============================================================================== --- head/sysutils/scanmem/files/patch-gui-GameConqueror.py Sun Apr 30 14:26:41 2017 (r439825) +++ head/sysutils/scanmem/files/patch-gui-GameConqueror.py Sat Jul 11 13:09:10 2020 (r541970) @@ -1,15 +1,15 @@ ---- gui/GameConqueror.py.orig 2011-12-02 14:22:35 UTC +--- gui/GameConqueror.py.orig 2017-10-13 21:53:16 UTC +++ gui/GameConqueror.py -@@ -749,7 +749,7 @@ class GameConqueror(): - self.cheatlist_liststore.prepend(['=', False, description, addr, vt, value, True]) +@@ -909,7 +909,7 @@ class GameConqueror(): def get_process_list(self): -- return [map(str.strip, e.strip().split(' ',2)) for e in os.popen('ps -wweo pid=,user=,command= --sort=-pid').readlines()] -+ return [map(str.strip, e.strip().split(' ',2)) for e in reversed(os.popen('ps -axww -o pid= -o user= -o command=').readlines())] - - def select_process(self, pid, process_name): - # ask backend for attaching the target process -@@ -778,7 +778,7 @@ class GameConqueror(): + plist = [] +- for proc in os.popen('ps -wweo pid=,user:16=,command= --sort=-pid').readlines(): ++ for proc in reversed(os.popen('ps -axww -o pid= -o user= -o command=').readlines()): + (pid, user, pname) = [tok.strip() for tok in proc.split(None, 2)] + plist.append((int(pid), user, pname)) + return plist +@@ -942,7 +942,7 @@ class GameConqueror(): self.cheatlist_liststore[i][1] = False def read_maps(self): @@ -18,13 +18,11 @@ self.maps = [] for l in lines: item = {} -@@ -980,7 +980,9 @@ class GameConqueror(): - gtk.main_quit() +@@ -1190,7 +1190,6 @@ if __name__ == '__main__': + args = parser.parse_args() - def main(self): -+ gtk.threads_enter() - gtk.main() -+ gtk.threads_leave() + # Init application +- GObject.threads_init() + Gdk.threads_init() + gc_instance = GameConqueror() - def check_backend_version(self): - if self.backend.version != VERSION: Modified: head/sysutils/scanmem/files/patch-gui-gameconqueror.in ============================================================================== --- head/sysutils/scanmem/files/patch-gui-gameconqueror.in Sun Apr 30 14:26:41 2017 (r439825) +++ head/sysutils/scanmem/files/patch-gui-gameconqueror.in Sat Jul 11 13:09:10 2020 (r541970) @@ -1,18 +1,15 @@ ---- gui/gameconqueror.in.orig 2012-09-02 15:26:56 UTC +--- gui/gameconqueror.in.orig 2017-10-13 21:53:16 UTC +++ gui/gameconqueror.in -@@ -1,13 +1,5 @@ +@@ -1,10 +1,5 @@ -#!/bin/bash +#!/bin/sh DATADIR=@PKGDATADIR@ --if [[ "$(id -u)" != "0" ]]; then -- if [ -e "/usr/bin/gksu" ]; then -- exec gksu --description "GameConqueror" "python -OO $DATADIR/GameConqueror.py" -- else -- exec beesu - "python -OO $DATADIR/GameConqueror.py" -- fi +-PKEXEC=$(command -v "pkexec") +-if [ -n "$PKEXEC" ]; then +- $PKEXEC $DATADIR/GameConqueror.py "$@" -else -- exec python -OO "$DATADIR/GameConqueror.py" +- echo "install policykit!" -fi -+exec python -OO "$DATADIR/GameConqueror.py" ++exec "$DATADIR/GameConqueror.py" "$@" Modified: head/sysutils/scanmem/files/patch-handlers.c ============================================================================== --- head/sysutils/scanmem/files/patch-handlers.c Sun Apr 30 14:26:41 2017 (r439825) +++ head/sysutils/scanmem/files/patch-handlers.c Sat Jul 11 13:09:10 2020 (r541970) @@ -1,58 +1,12 @@ ---- handlers.c.orig 2012-03-26 06:25:08 UTC +--- handlers.c.orig 2017-10-13 21:53:16 UTC +++ handlers.c -@@ -34,7 +34,6 @@ +@@ -38,7 +38,9 @@ #include <signal.h> #include <assert.h> #include <setjmp.h> --#include <alloca.h> - #include <strings.h> /*lint -esym(526,strcasecmp) */ ++#ifdef HAVE_ALLOCA_H + #include <alloca.h> ++#endif + #include <strings.h> #include <string.h> #include <stdbool.h> -@@ -123,9 +122,9 @@ bool handler__set(globals_t * vars, char - } else { - /* there is a '=', value+1 points to value string. */ - -- /* use strndupa() to copy the matchids into a new buffer */ -+ /* use strndup() to copy the matchids into a new buffer */ - settings[block].matchids = -- strndupa(argv[block + 1], -+ strndup(argv[block + 1], - (size_t) (settings[block].value++ - argv[block + 1])); - } - -@@ -161,7 +160,7 @@ bool handler__set(globals_t * vars, char - - /* remove any delay suffix from the value */ - settings[block].value = -- strndupa(settings[block].value, -+ strndup(settings[block].value, - (size_t) (delay - settings[block].value)); - } /* if (strchr('/')) */ - } /* for(block...) */ -@@ -207,7 +206,7 @@ bool handler__set(globals_t * vars, char - unsigned num = 0; - - /* create local copy of the matchids for strtok() to modify */ -- lmatches = strdupa(settings[block].matchids); -+ lmatches = strdup(settings[block].matchids); - - /* now seperate each match, spearated by commas */ - while ((id = strtok(lmatches, ",")) != NULL) { -@@ -545,7 +544,7 @@ bool handler__dregion(globals_t * vars, - if (*argv[1] == '!') { - invert = true; - /* create a copy of the argument for strtok(), +1 to skip '!' */ -- block = strdupa(argv[1] + 1); -+ block = strdup(argv[1] + 1); - - /* check for lone '!' */ - if (*block == '\0') { -@@ -561,7 +560,7 @@ bool handler__dregion(globals_t * vars, - - } else { - invert = false; -- block = strdupa(argv[1]); -+ block = strdup(argv[1]); - } - - /* loop for every number specified, eg "1,2,3,4,5" */ Modified: head/sysutils/scanmem/files/patch-interrupt.h ============================================================================== --- head/sysutils/scanmem/files/patch-interrupt.h Sun Apr 30 14:26:41 2017 (r439825) +++ head/sysutils/scanmem/files/patch-interrupt.h Sat Jul 11 13:09:10 2020 (r541970) @@ -1,11 +1,11 @@ ---- interrupt.h.orig 2009-12-14 15:15:26 UTC +--- interrupt.h.orig 2017-10-13 21:53:16 UTC +++ interrupt.h -@@ -10,7 +10,7 @@ +@@ -30,7 +30,7 @@ /* small header file to manage interrupted commands */ - static sigjmp_buf jmpbuf; /* used when aborting a command due to interrupt */ + static sigjmp_buf jmpbuf; /* used when aborting a command due to an interrupt */ -static sighandler_t oldsig; /* reinstalled before longjmp */ +static sig_t oldsig; /* reinstalled before longjmp */ static unsigned intused; - /* signal handler to handle interrupt during a commands */ + /* signal handler used to handle an interrupt during commands */ Modified: head/sysutils/scanmem/files/patch-maps.c ============================================================================== --- head/sysutils/scanmem/files/patch-maps.c Sun Apr 30 14:26:41 2017 (r439825) +++ head/sysutils/scanmem/files/patch-maps.c Sat Jul 11 13:09:10 2020 (r541970) @@ -1,14 +1,16 @@ ---- maps.c.orig 2011-01-13 09:22:33 UTC +--- maps.c.orig 2017-10-13 21:53:16 UTC +++ maps.c -@@ -31,7 +31,6 @@ +@@ -31,7 +31,9 @@ #include <stddef.h> #include <stdlib.h> #include <string.h> --#include <alloca.h> ++#ifdef HAVE_ALLOCA_H + #include <alloca.h> ++#endif #include <stdbool.h> #include <unistd.h> -@@ -56,7 +55,7 @@ bool readmaps(pid_t target, list_t * reg +@@ -62,7 +64,7 @@ bool sm_readmaps(pid_t target, list_t *regions, region return false; /* construct the maps filename */ @@ -17,12 +19,12 @@ /* attempt to open the maps file */ if ((maps = fopen(name, "r")) == NULL) { -@@ -110,7 +109,7 @@ bool readmaps(pid_t target, list_t * reg - break; - } - /* test if the region is mapped to the executable */ -- snprintf(exename, sizeof(exename), "/proc/%u/exe", target); -+ snprintf(exename, sizeof(exename), "/compat/linux/proc/%u/exe", target); - if((linkbuf_size = readlink(exename, linkbuf, MAX_LINKBUF_SIZE)) > 0) - { - linkbuf[linkbuf_size] = 0; +@@ -73,7 +75,7 @@ bool sm_readmaps(pid_t target, list_t *regions, region + show_info("maps file located at %s opened.\n", name); + + /* get executable name */ +- snprintf(exelink, sizeof(exelink), "/proc/%u/exe", target); ++ snprintf(exelink, sizeof(exelink), "/compat/linux/proc/%u/exe", target); + linkbuf_size = readlink(exelink, exename, MAX_LINKBUF_SIZE - 1); + if (linkbuf_size > 0) + { Modified: head/sysutils/scanmem/files/patch-ptrace.c ============================================================================== --- head/sysutils/scanmem/files/patch-ptrace.c Sun Apr 30 14:26:41 2017 (r439825) +++ head/sysutils/scanmem/files/patch-ptrace.c Sat Jul 11 13:09:10 2020 (r541970) @@ -1,6 +1,6 @@ ---- ptrace.c.orig 2012-04-22 03:04:11 UTC +--- ptrace.c.orig 2017-10-13 21:53:16 UTC +++ ptrace.c -@@ -22,11 +22,13 @@ +@@ -25,11 +25,13 @@ #include "config.h" @@ -14,16 +14,16 @@ #include <time.h> #include <sys/types.h> -@@ -376,7 +378,7 @@ bool checkmatches(globals_t * vars, - return detach(vars->target); +@@ -406,7 +408,7 @@ bool sm_checkmatches(globals_t *vars, + return sm_detach(vars->target); } -/* read region using /proc/pid/mem */ +/* read region using /compat/linux/proc/pid/mem */ - ssize_t readregion(pid_t target, void *buf, size_t count, unsigned long offset) + static inline ssize_t readregion(pid_t target, void *buf, size_t count, unsigned long offset) { char mem[32]; -@@ -384,7 +386,7 @@ ssize_t readregion(pid_t target, void *b +@@ -414,7 +416,7 @@ static inline ssize_t readregion(pid_t target, void *b ssize_t len; /* print the path to mem file */ @@ -32,30 +32,21 @@ /* attempt to open the file */ if ((fd = open(mem, O_RDONLY)) == -1) { -@@ -498,7 +500,7 @@ bool searchregions(globals_t * vars, sca - } - - #else -- /* cannot use /proc/pid/mem */ -+ /* cannot use /compat/linux/proc/pid/mem */ - nread = r->size; - #endif - /* print a progress meter so user knows we havent crashed */ -@@ -632,7 +634,7 @@ bool setaddr(pid_t target, void *addr, c +@@ -650,7 +652,7 @@ bool sm_setaddr(pid_t target, void *addr, const value_ return false; } - /* TODO: may use /proc/<pid>/mem here */ + /* TODO: may use /compat/linux/proc/<pid>/mem here */ - /* assume that sizeof(save.int64_value) (int64_t) is multiple of sizeof(long) */ - for (i = 0; i < sizeof(saved.int64_value); i += sizeof(long)) + for (i = 0; i < sizeof(uint64_t)/sizeof(long); i++) { -@@ -687,7 +689,7 @@ bool read_array(pid_t target, void *addr + if (ptrace(PTRACE_POKEDATA, target, addr + i*sizeof(long), memarray[i]) == -1L) { +@@ -704,7 +706,7 @@ bool sm_read_array(pid_t target, const void *addr, cha #endif } -/* TODO: may use /proc/<pid>/mem here */ +/* TODO: may use /compat/linux/proc/<pid>/mem here */ - bool write_array(pid_t target, void *addr, const void *data, int len) + bool sm_write_array(pid_t target, void *addr, const void *data, int len) { int i,j; Added: head/sysutils/scanmem/files/patch-scanroutines.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sysutils/scanmem/files/patch-scanroutines.c Sat Jul 11 13:09:10 2020 (r541970) @@ -0,0 +1,20 @@ +--- scanroutines.c.orig 2017-10-13 21:53:16 UTC ++++ scanroutines.c +@@ -369,7 +369,7 @@ extern inline unsigned int scan_routine_BYTEARRAY_EQUA + { + const uint8_t *bytes_array = user_value->bytearray_value; + const wildcard_t *wildcards_array = user_value->wildcard_value; +- uint length = user_value->flags; ++ unsigned int length = user_value->flags; + if (memlength < length || + *((uint64_t*)bytes_array) != (memory_ptr->uint64_value & *((uint64_t*)wildcards_array))) + { +@@ -470,7 +470,7 @@ DEFINE_BYTEARRAY_SMALLOOP_EQUALTO_ROUTINE(56) + extern inline unsigned int scan_routine_STRING_EQUALTO SCAN_ROUTINE_ARGUMENTS + { + const char *scan_string = user_value->string_value; +- uint length = user_value->flags; ++ unsigned int length = user_value->flags; + if(memlength < length || + memory_ptr->int64_value != *((int64_t*)scan_string)) + { Added: head/sysutils/scanmem/files/patch-targetmem.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sysutils/scanmem/files/patch-targetmem.h Sat Jul 11 13:09:10 2020 (r541970) @@ -0,0 +1,11 @@ +--- targetmem.h.orig 2017-10-13 21:53:16 UTC ++++ targetmem.h +@@ -257,7 +257,7 @@ static inline value_t + data_to_val_aux (const matches_and_old_values_swath *swath, + size_t index, size_t swath_length) + { +- uint i; ++ unsigned int i; + value_t val; + size_t max_bytes = swath_length - index; + Modified: head/sysutils/scanmem/pkg-plist ============================================================================== --- head/sysutils/scanmem/pkg-plist Sun Apr 30 14:26:41 2017 (r439825) +++ head/sysutils/scanmem/pkg-plist Sat Jul 11 13:09:10 2020 (r541970) @@ -1,17 +1,50 @@ %%X11%%bin/gameconqueror bin/scanmem +include/scanmem/commands.h +include/scanmem/list.h +include/scanmem/maps.h +include/scanmem/scanmem.h +include/scanmem/scanroutines.h +include/scanmem/sets.h +include/scanmem/show_message.h +include/scanmem/targetmem.h +include/scanmem/value.h +lib/libscanmem.a +lib/libscanmem.so +lib/libscanmem.so.1 +lib/libscanmem.so.1.0.0 %%X11%%man/man1/gameconqueror.1.gz man/man1/scanmem.1.gz +%%X11%%share/appdata/GameConqueror.appdata.xml %%X11%%share/applications/GameConqueror.desktop %%X11%%share/gameconqueror/GameConqueror.py -%%X11%%share/gameconqueror/GameConqueror.xml +%%X11%%share/gameconqueror/GameConqueror.ui %%X11%%share/gameconqueror/GameConqueror_128x128.png +%%X11%%share/gameconqueror/GameConqueror_48x48.png %%X11%%share/gameconqueror/GameConqueror_72x72.png +%%X11%%share/gameconqueror/__pycache__/GameConqueror.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc +%%X11%%share/gameconqueror/__pycache__/GameConqueror.cpython-%%PYTHON_SUFFIX%%.pyc +%%X11%%share/gameconqueror/__pycache__/backend.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc +%%X11%%share/gameconqueror/__pycache__/backend.cpython-%%PYTHON_SUFFIX%%.pyc +%%X11%%share/gameconqueror/__pycache__/consts.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc +%%X11%%share/gameconqueror/__pycache__/consts.cpython-%%PYTHON_SUFFIX%%.pyc +%%X11%%share/gameconqueror/__pycache__/hexview.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc +%%X11%%share/gameconqueror/__pycache__/hexview.cpython-%%PYTHON_SUFFIX%%.pyc +%%X11%%share/gameconqueror/__pycache__/misc.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc +%%X11%%share/gameconqueror/__pycache__/misc.cpython-%%PYTHON_SUFFIX%%.pyc %%X11%%share/gameconqueror/backend.py %%X11%%share/gameconqueror/consts.py %%X11%%share/gameconqueror/hexview.py %%X11%%share/gameconqueror/misc.py -%%X11%%share/pixmaps/GameConqueror_128x128.png -%%X11%%share/pixmaps/GameConqueror_72x72.png +%%X11%%share/icons/hicolor/128x128/apps/GameConqueror.png +%%X11%%share/icons/hicolor/48x48/apps/GameConqueror.png +%%X11%%share/icons/hicolor/72x72/apps/GameConqueror.png +%%X11%%share/locale/de/LC_MESSAGES/GameConqueror.mo +%%X11%%share/locale/es/LC_MESSAGES/GameConqueror.mo +%%X11%%share/locale/it/LC_MESSAGES/GameConqueror.mo +%%X11%%share/locale/ja/LC_MESSAGES/GameConqueror.mo +%%X11%%share/locale/ru/LC_MESSAGES/GameConqueror.mo +%%X11%%share/locale/sr_ME/LC_MESSAGES/GameConqueror.mo +%%X11%%share/polkit-1/actions/org.freedesktop.gameconqueror.policy %%PORTDOCS%%%%DOCSDIR%%/README %%X11%%%%PORTDOCS%%%%DOCSDIR%%/TODO
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202007111309.06BD9AHs048881>