diff options
author | Thomas Schwinge <thomas@codesourcery.com> | 2012-05-24 23:08:09 +0200 |
---|---|---|
committer | Thomas Schwinge <thomas@codesourcery.com> | 2012-05-24 23:08:09 +0200 |
commit | 2910b7c5b1d55bc304344b584a25ea571a9075fb (patch) | |
tree | bfbfbc98d4c0e205d2726fa44170a16e8421855e /user/tlecarrour | |
parent | 35b719f54c96778f571984065579625bc9f15bf5 (diff) |
Prepare toolchain/logs/master branch.
Diffstat (limited to 'user/tlecarrour')
-rw-r--r-- | user/tlecarrour/auto-apt.mdwn | 97 | ||||
-rw-r--r-- | user/tlecarrour/gphoto2.mdwn | 53 | ||||
-rw-r--r-- | user/tlecarrour/libgphoto2.mdwn | 51 | ||||
-rw-r--r-- | user/tlecarrour/memstat.mdwn | 145 | ||||
-rw-r--r-- | user/tlecarrour/patch_life_cycle.mdwn | 90 | ||||
-rw-r--r-- | user/tlecarrour/pidgin-microblog.mdwn | 57 | ||||
-rw-r--r-- | user/tlecarrour/porting_guide_for_dummies.mdwn | 230 | ||||
-rw-r--r-- | user/tlecarrour/rng-tools.mdwn | 58 | ||||
-rw-r--r-- | user/tlecarrour/sakura.mdwn | 77 | ||||
-rw-r--r-- | user/tlecarrour/schism.mdwn | 116 | ||||
-rw-r--r-- | user/tlecarrour/shush.mdwn | 75 | ||||
-rw-r--r-- | user/tlecarrour/sitecopy.mdwn | 73 | ||||
-rw-r--r-- | user/tlecarrour/suckless-tools.mdwn | 79 | ||||
-rw-r--r-- | user/tlecarrour/up-imapproxy.mdwn | 59 |
14 files changed, 0 insertions, 1260 deletions
diff --git a/user/tlecarrour/auto-apt.mdwn b/user/tlecarrour/auto-apt.mdwn deleted file mode 100644 index cceaee9a..00000000 --- a/user/tlecarrour/auto-apt.mdwn +++ /dev/null @@ -1,97 +0,0 @@ -[[!meta copyright="Copyright © 2012 Free Software Foundation, Inc."]] - -[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable -id="license" text="Permission is granted to copy, distribute and/or modify this -document under the terms of the GNU Free Documentation License, Version 1.2 or -any later version published by the Free Software Foundation; with no Invariant -Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license -is included in the section entitled [[GNU Free Documentation -License|/fdl]]."]]"""]] - -[[!tag open_issue_porting]] - - -auto-apt -======== - -When you want to build a program from source and it fails due to missing headers. Auto-apt can search what package would provide the header files. -(from [[https://help.ubuntu.com/community/AutoApt]]) - - -[[!toc startlevel=2]] - - -* * * - - -Log ---- - -* **Started**: 2012-01-24 -* **Discussed**: [2012-01-26](http://lists.debian.org/debian-hurd/2012/01/msg00129.html) -* **Draft Submitted**: - -* **Submitted**: 2012-02-07, Bug#[659025](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=659025) -* **Accepted**: - - - -* * * - - -ToDo ----- - -The output of `grep -R PATH_MAX auto-apt-0.3.22/*` is a bit long. It contains files that have been patched using `#define PATH_MAX XYZ`. -Here is the only file of interest: - - pkgcdb/pkgtab.c: char buf[PATH_MAX]; - pkgcdb/pkgtab.c: assert(p - pkg < PATH_MAX); - pkgcdb/pkgtab.c: static char buf[PATH_MAX]; - pkgcdb/pkgtab.c: assert(len < PATH_MAX); - - -* * * - - -Comments --------- - - +++ auto-apt-0.3.22/auto-apt-pkgcdb.c 2012-02-03 09:25:54.045858173 +0100 - - + unsigned char *buf = NULL; - - + while (!feof(stdin)) { - unsigned char *fname, *pkg; - unsigned char *p; - int nslash = 0; - - + buf = get_line(stdin); - + if (buf == NULL) - + break; - -Reading from `stdin` using the `get_line()` function as explained in the [[porting guide|porting_guide_for_dummies]]. - - + free(buf); - - +++ auto-apt-0.3.22/pkgcdb/pkgtab.c 2012-01-30 09:05:07.883096049 +0100 - - + char *buf = NULL; - - + buf = (char *)malloc(p - pkg + 1); - + if (buf == NULL) { - + abort(); - + } - - + free(buf); - - - static char buf[PATH_MAX]; - + static char *buf; - - + if (buf != NULL) { - + free(buf); - + } - + buf = (char *)malloc(len + 1); - + if (buf == NULL) { - + abort(); - + } - - diff --git a/user/tlecarrour/gphoto2.mdwn b/user/tlecarrour/gphoto2.mdwn deleted file mode 100644 index e5f80bbf..00000000 --- a/user/tlecarrour/gphoto2.mdwn +++ /dev/null @@ -1,53 +0,0 @@ -[[!meta copyright="Copyright © 2012 Free Software Foundation, Inc."]] - -[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable -id="license" text="Permission is granted to copy, distribute and/or modify this -document under the terms of the GNU Free Documentation License, Version 1.2 or -any later version published by the Free Software Foundation; with no Invariant -Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license -is included in the section entitled [[GNU Free Documentation -License|/fdl]]."]]"""]] - -[[!tag open_issue_porting]] - - -gphoto2 -======= - -The gphoto2 digital camera command-line client. -**Home page**: [[http://www.gphoto.org/proj/libgphoto2]] - -[[!toc startlevel=2]] - - -* * * - - -Log ---- - -* **Started**: - -* **Discussed**: - -* **Draft Submitted**: - -* **Submitted**: - -* **Accepted**: - - - -* * * - - -ToDo ----- - -Only one file relies on `PATH_MAX`: gphoto2/main.c -First need to patch [[libgphoto2]] package. - - -* * * - - -Comments --------- - -Not yet started. - diff --git a/user/tlecarrour/libgphoto2.mdwn b/user/tlecarrour/libgphoto2.mdwn deleted file mode 100644 index fd18b7ae..00000000 --- a/user/tlecarrour/libgphoto2.mdwn +++ /dev/null @@ -1,51 +0,0 @@ -[[!meta copyright="Copyright © 2012 Free Software Foundation, Inc."]] - -[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable -id="license" text="Permission is granted to copy, distribute and/or modify this -document under the terms of the GNU Free Documentation License, Version 1.2 or -any later version published by the Free Software Foundation; with no Invariant -Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license -is included in the section entitled [[GNU Free Documentation -License|/fdl]]."]]"""]] - -[[!tag open_issue_porting]] - - -libgphoto2 -========== - -ImpulseTracker clone aiming at providing the same look&feel. -**Home page**: [[http://www.gphoto.org/proj/libgphoto2]] - -[[!toc startlevel=2]] - - -* * * - - -Log ---- - -* **Started**: - -* **Discussed**: - -* **Draft Submitted**: - -* **Submitted**: - -* **Accepted**: - - - -* * * - - -ToDo ----- - -Fix `gphoto2-settings.c:gp_setting_get()` to accept `NULL` pointer and do the allocation. -This is a requirement for [[gphoto2]] patch. - -* * * - - -Comments --------- - -Not yet started. diff --git a/user/tlecarrour/memstat.mdwn b/user/tlecarrour/memstat.mdwn deleted file mode 100644 index fc12bd25..00000000 --- a/user/tlecarrour/memstat.mdwn +++ /dev/null @@ -1,145 +0,0 @@ -[[!meta copyright="Copyright © 2012 Free Software Foundation, Inc."]] - -[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable -id="license" text="Permission is granted to copy, distribute and/or modify this -document under the terms of the GNU Free Documentation License, Version 1.2 or -any later version published by the Free Software Foundation; with no Invariant -Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license -is included in the section entitled [[GNU Free Documentation -License|/fdl]]."]]"""]] - - -memstat -======= - -Lists all the processes, executables, and shared libraries that are using up virtual memory. It's helpful to see how the shared memory is used and which 'old' libs are loaded. -**Home page**: [[http://sourceforge.net/projects/memstattool]] - -[[!toc startlevel=2]] - - -* * * - - -Log ---- - -* **Started**: 2012-01-20 -* **Discussed**: [2012-01-21](http://lists.debian.org/debian-hurd/2012/01/msg00081.html) -* **Draft Submitted**: [2012-01-25](http://lists.debian.org/debian-hurd/2012/01/msg00122.html) -* **Submitted**: 2012-02-02, Bug#[658384](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=658384) -* **Stopped**: 2012-02-07, depends on `/proc` which is not yet totally implemented on the Hurd. -* **Accepted**: - - - -* * * - - -ToDo ----- - -Here is the output of `grep -R PATH_MAX memstat-0.9/*`: - - memstat.c: char *p, major[8], minor[8], buff[PATH_MAX + 300], *path, perm[4]; - memstat.c: char linkname[PATH_MAX], filename[PATH_MAX]; - memstat.c: if ((len = readlink(filename, linkname, PATH_MAX)) == -1) { - - -* * * - - -Comments --------- - -Here are comments on the patch... - - +#define FMT_PROC_MAPS "/proc/%d/maps" - +#define FMT_PROC_EXE "/proc/%d/exe" - -Define string formats. - - static void read_proc(void) - { - unsigned int nread, pid; - unsigned long inode, lo, hi, offs; - - char *p, major[8], minor[8], buff[PATH_MAX + 300], *path, perm[4]; - + char *p, major[8], minor[8], *path, perm[4]; - + char *buff = NULL; - + size_t buff_size = 0; - -In this function we turn `buff` into dynamically allocated string. - - - - sprintf(buff, "/proc/%d/maps", pid); - - f = fopen(buff, "r"); - + char filename[sizeof(FMT_PROC_MAPS) + (sizeof(int) * 3) + 1]; - + sprintf(filename, FMT_PROC_MAPS, pid); - + f = fopen(filename, "r"); - -Compute the maximum size of `filename` using `sizeof(int) * 3` as explainend in the [[porting guide|porting_guide_for_dummies]]. - - - - while (fgets(buff, sizeof(buff), f)) { - + while (!feof(f)) { - + buff = get_line(f); - + if (buff == NULL) - + break; - -Read a line from the file using [[get_line()|porting_guide_for_dummies]]. - - - - if ((strlen(buff) == 10) && (strcmp(buff, " (deleted)") == 0)) - + if ((strlen(buff) == 10) && (strcmp(buff, " (deleted)") == 0)) { - + free(buff); - continue; - + } - nread = sscanf(buff, "%lx %lx %4s %lx %s %s %lu %as", &lo, &hi, perm, &offs, major, minor, &inode, &path); - + free(buff); - -Free the `buff` when it's not used anymore. - - - + buff_size = 4; /* size of the format string without "%x" expressions */ - + buff_size += strlen(major); - + buff_size += strlen(minor); - + buff_size += sizeof(int) * 3 + 1; /* inode */ - + buff_size += 1; /* '\0' */ - + buff = malloc(buff_size); - + if (buff == NULL) { - + perror("Cannot allocate memory!"); - + exit(1); - + } - -Compute the size that the `buff` must have. - - - - char linkname[PATH_MAX], filename[PATH_MAX]; - - ssize_t len; - + char *linkname = NULL; - + struct stat sb; - + ssize_t len = -1; - -In this function we turn linkname into dynamically allocated string. -filename will be declared later. - - - - sprintf(filename, "/proc/%d/exe", pid); - - if ((len = readlink(filename, linkname, PATH_MAX)) == -1) { - + char filename[sizeof(FMT_PROC_EXE) + (sizeof(int) * 3) + 1]; - + sprintf(filename, FMT_PROC_EXE, pid); - -Same as above with `FMT_PROC_MAPS`. - - - + char filename[sizeof(FMT_PROC_EXE) + (sizeof(int) * 3) + 1]; - + sprintf(filename, FMT_PROC_EXE, pid); - + linkname = readlink_malloc(filename); - + if (linkname == NULL) { - -Use `readlink_malloc()` as explained in the porting guide because `/proc/PID/exe` doesn't work with `readlink()` - - - + free(linkname); - -Free dynamically allocated variable that is not used anymore. - diff --git a/user/tlecarrour/patch_life_cycle.mdwn b/user/tlecarrour/patch_life_cycle.mdwn deleted file mode 100644 index fd913378..00000000 --- a/user/tlecarrour/patch_life_cycle.mdwn +++ /dev/null @@ -1,90 +0,0 @@ -[[!meta copyright="Copyright © 2012 Free Software Foundation, Inc."]] - -[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable -id="license" text="Permission is granted to copy, distribute and/or modify this -document under the terms of the GNU Free Documentation License, Version 1.2 or -any later version published by the Free Software Foundation; with no Invariant -Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license -is included in the section entitled [[GNU Free Documentation -License|/fdl]]."]]"""]] - - -Patch Life Cycle -================ - -[[!toc startlevel=2]] - - -* * * - - -Start ------ - -Follow the steps listed on the [[package porting page|porting_guide_for_dummies]]. - - -Discuss -------- - -Send the patch for review to [debian-hurd@lists.debian.org](mailto:debian-hurd@lists.debian.org). -**Before** sending the patch, make sure that you've solved all the known problems listed in the [[package porting general introduction|hurd/porting/guidelines]] -and the [[porting guide for dummies|porting_guide_for_dummies]]. - - -Submit Draft ------------- - -When the patch is good enough, you can write the draft of the official bug report. -This draft should first be sent for review to [debian-hurd@lists.debian.org](mailto:debian-hurd@lists.debian.org) with the patch attached. - -Here is an example for memstat: - - Source: memstat - Version: 0.9 - Severity: important - Tags: patch - User: debian-hurd@lists.debian.org - Usertags: hurd - X-DebBugs-CC: debian-hurd@lists.debian.org - - Hi, - - This patch solves the build problems for GNU/Hurd due to PATH_MAX - issues. The solution is to make dynamic string allocations instead of - using fixed length buffers. The patch involves one file, and is - trivial. Parts of the code have been reviewed by GNU/Hurd developers - and Debian GNU/Hurd developers and maintainers. - - FIXME: - Is it really useful to check if BUFSIZ is defined? - - TODO: - Should the "whole package" be tested with valgrind on GNU/Linux?! - If yes, is there a standard procedure to do it?! - - Thanks! - Special thanks to Jérémie and Richard for their comments! - - (Not submitted yet, comments are welcome.) - -Once it's been approved, you can proceed to the submission. - - -Submit ------- - -The bug report is the same as above, with all the **FIXME**, **TODO** and final comment removed. -Attach the patch and send it to [submit@bugs.debian.org](mailto:submit@bugs.debian.org). -Convention for the e-mail subject: `memstat: FTBFS on hurd-i386` -Convention for the attachment name is: `fix_FTBFS4Hurd.patch` - - -Accept ------- - -Once the patch has been accepted, update your patch page! -**Congratulations!** - - - diff --git a/user/tlecarrour/pidgin-microblog.mdwn b/user/tlecarrour/pidgin-microblog.mdwn deleted file mode 100644 index 13e37c00..00000000 --- a/user/tlecarrour/pidgin-microblog.mdwn +++ /dev/null @@ -1,57 +0,0 @@ -[[!meta copyright="Copyright © 2012 Free Software Foundation, Inc."]] - -[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable -id="license" text="Permission is granted to copy, distribute and/or modify this -document under the terms of the GNU Free Documentation License, Version 1.2 or -any later version published by the Free Software Foundation; with no Invariant -Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license -is included in the section entitled [[GNU Free Documentation -License|/fdl]]."]]"""]] - -[[!tag open_issue_porting]] - - -pidgin-microblog -================ - -Microblogging plugins for Pidgin. -**Home page**: [[http://code.google.com/p/microblog-purple/]] - -[[!toc startlevel=2]] - - -* * * - - -Log ---- - -* **Started**: - -* **Discussed**: - -* **Draft Submitted**: - -* **Submitted**: - -* **Accepted**: - - - -* * * - - -ToDo ----- - -Here is the output of `grep -R PATH_MAX pidgin-microblog-0.3.0/*`: - - pidgin-microblog-0.3.0/microblog/mb_cache.c:static char cache_base_dir[PATH_MAX] = ""; - pidgin-microblog-0.3.0/microblog/mb_cache.c:snprintf(cache_base_dir, PATH_MAX, "%s/mbpurple", user_dir); - -The `cache_base_dir` is static but should only be called through a getter. -If it has not been initialized, return "" from the getter. - -* * * - - -Comments --------- - -Not yet started. - diff --git a/user/tlecarrour/porting_guide_for_dummies.mdwn b/user/tlecarrour/porting_guide_for_dummies.mdwn deleted file mode 100644 index 64f0ba0d..00000000 --- a/user/tlecarrour/porting_guide_for_dummies.mdwn +++ /dev/null @@ -1,230 +0,0 @@ -[[!meta copyright="Copyright © 2012 Free Software Foundation, Inc."]] - -[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable -id="license" text="Permission is granted to copy, distribute and/or modify this -document under the terms of the GNU Free Documentation License, Version 1.2 or -any later version published by the Free Software Foundation; with no Invariant -Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license -is included in the section entitled [[GNU Free Documentation -License|/fdl]]."]]"""]] - - -Porting Guide for Dummies -========================= - -The problems addressed here were encountered while working -on fixing **PATH_MAX** and **MAXPATHLEN**. - -[[!toc startlevel=2 levels=3]] - - -* * * - - -Test on Hurd ------------- - - -### Installing the required files - -As `apt-get source` will download and extract many files, you may want to create a dedicated folder for the package and work from there. - - mkdir PACKAGE - cd PACKAGE - sudo apt-get build-dep PACKAGE - apt-get source PACKAGE - - -### Trying to build the package - - cd PACKAGE_SOURCE - dpkg-buildpackage -us -uc -rfakeroot -tc - - -### Test a quick fix - -In all the files that use **PATH_MAX**, include those lines at the beginning. - - #ifndef PATH_MAX - #define PATH_MAX 4196 - #endif - -Try to rebuild the package and see if it's solved the problem. -If yes, you can start working on the package. - - -* * * - - -Basic things ------------- - -### Maintaining a original version - - mkdir old - cp -r PACKAGE_SOURCE old/ - - -### Coding style - -Follow the conventions used in the source code! - - if (condition) { - do_smthg(); - } - -is not the same as: - - if (condition) - { - do_smthg(); - } - -and is not the same as: - - if (condition) - do_smthg(); - -Pay attention to spaces surrounding, or not, arithmetic signs and symbols: - - a = do_smthg( b + c ); - a = do_smthg(b+c); - - -### Indentation - -By default use 8 spaces as the size for 1 tab. -Then figure out if the code uses tab + 1/2 tab: - - ....if (condition) { - ------->do_smthg(); - ....} - -or tab only: - - ------->if (condition) { - ------->------->do_smthg(); - ------->} - - -### Creating a patch - - diff -Naur old/PACKAGE-VERSION PACKAGE-VERSION > fix_FTBFS4Hurd.patch - - -* * * - - -Known problems --------------- - -### Dynamically allocated buffer returned by a function - -Use a static buffer - -### Buffer used to format an expression containing an INTEGER - -The length of an INTEGER in a string can be up to sizeof (int) * 3 + 1. - -> The usual trick for "%d" is to use the constant 'sizeof (int) * 3 + 1'. -I included + 1 for the sign, but it's not really necessary -if we exepect sizeof(int) >= 2, which we probably should. -**Jérémie Koenig** - - log(MAX_INT) - = log(2 ^ 32) - = 32 * log(2) - = 4 * 8 * log(2) - = sizeof(int) * 2.40823997 - < sizeof(int) * 3 - - -### Proper use of realloc() - -use a new_buff to check if everything went fine Free buf if realloc failed (and prog doesn't exit) - - -### Reading lines from file - -Function to read line (no size limit, ending with "\n") from a file. - - static char *get_line(FILE *f) - { - char *buff = NULL; - char *new_buff = NULL; - size_t buff_size = 0; - size_t last = 0; - - while (!feof(f)) { - buff_size = buff_size ? buff_size * 2 : BUFSIZ; - new_buff = realloc(buff, buff_size); - if (new_buff == NULL) { - free(buff); - return NULL; - } - buff = new_buff; - if (fgets(buff + last, buff_size - last, f) == NULL) { - free(buff); - return NULL; - } - last = strlen(buff); - if (buff[last - 1] == '\n') - return buff; - } - return buff; - } - - -### Proper use of readlink() - -One has to rely on lstat() to get the size of the link that readlink() returns. - -Declare what you need: - - char *linkname = NULL; - struct stat sb; - ssize_t len = -1; - -Call lstat() and check return value: - - if (lstat(filename, &sb) == -1) { - -Create a buffer of the appropriate size and check the return value: - - linkname = malloc(sb.st_size + 1); - if (linkname == NULL) { - -Call readlink(), check return value and set the null char in the linkname: - - len = readlink(filename, linkname, sb.st_size + 1); - if (len < 0 || len > sb.st_size) { - ... - linkname[sb.st_size] = '\0'; - - -### Alternative use of readlink(): readlink_malloc() - -In some cases the above approch doesn't work.for instance when reading from -**/proc/*/exe** on Linux. In this case you can try the following function. -The code comes from [[https://buildsecurityin.us-cert.gov/bsi/articles/knowledge/coding/806-BSI.html]] - - static char *readlink_malloc(const char *filename) - { - int size = 100; - - while (1) { - char *buff = malloc(size); - if (buff == NULL) - return NULL; - int nchars = readlink(filename, buff, size); - if (nchars < 0) - return NULL; - if (nchars < size) { - buff[nchars] = '\0'; - return buff; - } - free (buff); - size *= 2; - } - } - diff --git a/user/tlecarrour/rng-tools.mdwn b/user/tlecarrour/rng-tools.mdwn deleted file mode 100644 index 4ea60ac8..00000000 --- a/user/tlecarrour/rng-tools.mdwn +++ /dev/null @@ -1,58 +0,0 @@ -[[!meta copyright="Copyright © 2012 Free Software Foundation, Inc."]] - -[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable -id="license" text="Permission is granted to copy, distribute and/or modify this -document under the terms of the GNU Free Documentation License, Version 1.2 or -any later version published by the Free Software Foundation; with no Invariant -Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license -is included in the section entitled [[GNU Free Documentation -License|/fdl]]."]]"""]] - -[[!tag open_issue_porting]] - - -rng-tools -========= - -Daemon to use a Hardware TRNG. The rngd daemon acts as a bridge between a Hardware TRNG (true random number generator) such as the ones in some Intel/AMD/VIA chipsets, and the kernel's PRNG (pseudo-random number generator). -(from [[http://packages.debian.org/lenny/rng-tools]]) - -[[!toc startlevel=2]] - - -* * * - - -Log ---- - -* **Started**: 2012-01-28 -* **Discussed**: [2012-01-30](http://lists.debian.org/debian-hurd/2012/01/msg00177.html) -* **Draft Submitted**: - -* **Submitted**: - -* **Accepted**: - - - -* * * - - -ToDo ----- - -Here is the output of `grep -R PATH_MAX rng-tools-2-unofficial-mt.14/*`: - - viapadlock_engine.c:static char cpudev_path[PATH_MAX+1]; - viapadlock_engine.c:char devpath[PATH_MAX+1]; - - -* * * - - -Comments --------- - -Work in progress, see related [thread](http://lists.debian.org/debian-hurd/2012/01/msg00177.html). - -Even if the **PATH_MAX** can be easily fixed, some problems remain. -The code uses `linux/types.h`, that has to be replaced by `sys/types.h`, but also uses `linux/random.h` which has no equivalent I know of. -At least one source file is named after the OS: `rngd_linux.c`. diff --git a/user/tlecarrour/sakura.mdwn b/user/tlecarrour/sakura.mdwn deleted file mode 100644 index d0cd8711..00000000 --- a/user/tlecarrour/sakura.mdwn +++ /dev/null @@ -1,77 +0,0 @@ -[[!meta copyright="Copyright © 2012 Free Software Foundation, Inc."]] - -[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable -id="license" text="Permission is granted to copy, distribute and/or modify this -document under the terms of the GNU Free Documentation License, Version 1.2 or -any later version published by the Free Software Foundation; with no Invariant -Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license -is included in the section entitled [[GNU Free Documentation -License|/fdl]]."]]"""]] - -[[!tag open_issue_porting]] - - -sakura -====== - -Simple but powerful libvte-based terminal emulator. -**Home page**: [[http://www.pleyades.net/david/sakura.php]] - -[[!toc startlevel=2]] - - -* * * - - -Log ---- - -* **Started**: 2012-02-03 -* **Discussed**: [2012-02-03](http://lists.debian.org/debian-hurd/2012/02/msg00031.html) -* **Draft Submitted**: - -* **Submitted**: 2012-02-07, Bug#[659018](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=659018) -* **Accepted**: - - - -* * * - - -ToDo ----- - -Here is the output of `grep -R PATH_MAX sakura-2.4.2/*`: - - src/sakura.c: char buf[PATH_MAX+1]; - - -* * * - - -Comments --------- - - + char *buf = NULL; - + struct stat sb; - -Will dynamically allocate the buffer according to information provided by `lstat()`. - - + if (lstat(file, &sb) == -1) { - + return cwd; - + } - + buf = malloc(sb.st_size + 1); - -Do the allocation. Don't bother to check for return value as `g_strdup_printf()` doesn't do it. - - + len = readlink (file, buf, sb.st_size + 1); - - + if (len < 0 || len > sb.st_size) { - + g_free(buf); - + return cwd; - + } - -Check `realink()` return value. - - + g_free(buf); - -Free the dynamically allocated buffer. - diff --git a/user/tlecarrour/schism.mdwn b/user/tlecarrour/schism.mdwn deleted file mode 100644 index 3f726832..00000000 --- a/user/tlecarrour/schism.mdwn +++ /dev/null @@ -1,116 +0,0 @@ -[[!meta copyright="Copyright © 2012 Free Software Foundation, Inc."]] - -[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable -id="license" text="Permission is granted to copy, distribute and/or modify this -document under the terms of the GNU Free Documentation License, Version 1.2 or -any later version published by the Free Software Foundation; with no Invariant -Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license -is included in the section entitled [[GNU Free Documentation -License|/fdl]]."]]"""]] - -[[!tag open_issue_porting]] - - -schism -====== - -ImpulseTracker clone aiming at providing the same look&feel. -**Home page**: [[http://nimh.org/schismtracker]] - -[[!toc startlevel=2]] - - -* * * - - -Log ---- - -* **Started**: - -* **Discussed**: - -* **Draft Submitted**: - -* **Submitted**: - -* **Accepted**: - - - -* * * - - -ToDo ----- - -Here is the output of `grep -R PATH_MAX schism-0+20110101/*`: - - include/disko.h: char tempname[PATH_MAX]; - include/disko.h: char filename[PATH_MAX]; - include/headers.h:# undef PATH_MAX - schism/disko.c: if (len + 6 >= PATH_MAX) { - schism/audio_loadsave.c:char song_filename[PATH_MAX + 1]; - schism/audio_loadsave.c: strncpy(song_filename, file, PATH_MAX); - schism/audio_loadsave.c: song_filename[PATH_MAX] = '\0'; - schism/page_loadmodule.c:static char filename_entry[PATH_MAX + 1] = ""; - schism/page_loadmodule.c:static char dirname_entry[PATH_MAX + 1] = ""; - schism/page_loadmodule.c:char cfg_module_pattern[PATH_MAX + 1] = GLOB_DEFAULT; - schism/page_loadmodule.c:static char glob_list_src[PATH_MAX + 1] = ""; // the pattern used to make glob_list (this is an icky hack) - schism/page_loadmodule.c: strncpy(glob_list_src, globspec, PATH_MAX); - schism/page_loadmodule.c: glob_list_src[PATH_MAX] = '\0'; - schism/page_loadmodule.c: strncpy(cfg_dir_modules, ptr, PATH_MAX); - schism/page_loadmodule.c: cfg_dir_modules[PATH_MAX] = 0; - schism/page_loadmodule.c: create_textentry(widgets_loadmodule + 2, 13, 46, 64, 0, 3, 3, NULL, filename_entry, PATH_MAX); - schism/page_loadmodule.c: create_textentry(widgets_loadmodule + 3, 13, 47, 64, 2, 3, 0, NULL, dirname_entry, PATH_MAX); - schism/page_loadmodule.c: create_textentry(widgets_exportsave + 2, 13, 46, 64, 0, 3, 3, NULL, filename_entry, PATH_MAX); - schism/page_loadmodule.c: create_textentry(widgets_exportsave + 3, 13, 47, 64, 2, 0, 0, NULL, dirname_entry, PATH_MAX); - schism/util.c: char buf[PATH_MAX]; - schism/util.c: if (strlen(filename) > PATH_MAX - 16) { - schism/util.c: char buf[PATH_MAX + 1]; - schism/util.c: if (getcwd(buf, PATH_MAX)) - schism/util.c: char buf[PATH_MAX + 1]; - schism/util.c: if (getcwd(buf, PATH_MAX)) - schism/util.c: char buf[PATH_MAX + 1]; - schism/util.c: char buf[PATH_MAX]; - schism/util.c: char buf2[PATH_MAX]; - schism/util.c: if (!GetCurrentDirectory(PATH_MAX-1,buf)) return 0; - schism/util.c: snprintf(buf2, PATH_MAX-2, "%s.bat", name); - schism/main.c: strncpy(cfg_dir_modules, initial_dir, PATH_MAX); - schism/main.c: cfg_dir_modules[PATH_MAX] = 0; - schism/main.c: strncpy(cfg_dir_samples, initial_dir, PATH_MAX); - schism/main.c: cfg_dir_samples[PATH_MAX] = 0; - schism/main.c: strncpy(cfg_dir_instruments, initial_dir, PATH_MAX); - schism/main.c: cfg_dir_instruments[PATH_MAX] = 0; - schism/page_loadinst.c:static char inst_cwd[PATH_MAX+1] = ""; - schism/page_loadinst.c:static char slash_search_str[PATH_MAX]; - schism/page_loadinst.c: strncpy(cfg_dir_instruments, ptr, PATH_MAX); - schism/page_loadinst.c: cfg_dir_instruments[PATH_MAX] = 0; - schism/page_loadinst.c: strncpy(inst_cwd, ptr, PATH_MAX); - schism/page_loadinst.c: inst_cwd[PATH_MAX] = 0; - schism/page_loadinst.c: if (slash_search_mode < PATH_MAX) { - schism/config.c:char cfg_dir_modules[PATH_MAX + 1], cfg_dir_samples[PATH_MAX + 1], cfg_dir_instruments[PATH_MAX + 1], - schism/config.c: cfg_dir_dotschism[PATH_MAX + 1], cfg_font[NAME_MAX + 1]; - schism/config.c: strncpy(cfg_dir_dotschism, ptr, PATH_MAX); - schism/config.c: cfg_dir_dotschism[PATH_MAX] = 0; - schism/config.c: cfg_get_string(&cfg, "Directories", "modules", cfg_dir_modules, PATH_MAX, tmp); - schism/config.c: cfg_get_string(&cfg, "Directories", "samples", cfg_dir_samples, PATH_MAX, tmp); - schism/config.c: cfg_get_string(&cfg, "Directories", "instruments", cfg_dir_instruments, PATH_MAX, tmp); - schism/config.c: strncpy(cfg_module_pattern, ptr, PATH_MAX); - schism/config.c: cfg_module_pattern[PATH_MAX] = 0; - schism/page_vars.c: cfg_dir_modules, PATH_MAX); - schism/page_vars.c: cfg_dir_samples, PATH_MAX); - schism/page_vars.c: cfg_dir_instruments, PATH_MAX); - schism/page_loadsample.c:static char current_filename[PATH_MAX]; - schism/page_loadsample.c:static char search_str[PATH_MAX]; - schism/page_loadsample.c: PATH_MAX-1); - schism/page_loadsample.c: PATH_MAX-1); - schism/page_loadsample.c: strncpy(cfg_dir_samples, ptr, PATH_MAX); - schism/page_loadsample.c: cfg_dir_samples[PATH_MAX] = 0; - schism/page_loadsample.c: if (search_pos < PATH_MAX) { - - -* * * - - -Comments --------- - -Not yet started. - -Looks like a lot, but most of them, if not all, are trivial. diff --git a/user/tlecarrour/shush.mdwn b/user/tlecarrour/shush.mdwn deleted file mode 100644 index 68a824f0..00000000 --- a/user/tlecarrour/shush.mdwn +++ /dev/null @@ -1,75 +0,0 @@ -[[!meta copyright="Copyright © 2012 Free Software Foundation, Inc."]] - -[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable -id="license" text="Permission is granted to copy, distribute and/or modify this -document under the terms of the GNU Free Documentation License, Version 1.2 or -any later version published by the Free Software Foundation; with no Invariant -Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license -is included in the section entitled [[GNU Free Documentation -License|/fdl]]."]]"""]] - -[[!tag open_issue_porting]] - - -shush -===== - -Runs a command and optionally reports its output by mail. -**Home page**: [[http://web.taranis.org/shush]] - -[[!toc startlevel=2]] - - -* * * - - -Log ---- - -* **Started**: - -* **Discussed**: - -* **Draft Submitted**: - -* **Submitted**: - -* **Accepted**: - - - -* * * - - -ToDo ----- - -Here is the output of `grep -R PATH_MAX shush-1.2.3/*`: - - src/shush.c: char cfdir[PATH_MAX+1], *slfac, *to[3]; - src/shush.c: strlcpy(cfdir+1, optarg, PATH_MAX); - src/shush.c: snprintf(cfdir+1, PATH_MAX, "%s/.shush", getenv("HOME")); - src/crontab.c: static char cfname[PATH_MAX]; - src/crontab.c: snprintf(cfname, PATH_MAX, "%s/schedule", cfdname); - src/crontab.c: snprintf(cfname, PATH_MAX, "%s/%s", cfdname, token); - src/crontab.c: snprintf(cfname, PATH_MAX, "%s/%s", cfdname, entry->d_name); - src/crontab.c: char tag[PATH_MAX+80], *oldtab, *mytab, newtab[PATH_MAX]; - src/crontab.c: snprintf(newtab, PATH_MAX, "%s/%s-crontab.XXXXXX", - src/state.c:static char statepath[PATH_MAX]; - src/state.c: snprintf(statepath, PATH_MAX, "%s/.state/shtate-%lu-%s-%s-%u", - src/state.c: snprintf(statepath, PATH_MAX, "%s/shtate-%lu-%s-%s-%u", - src/run.c: char fname[PATH_MAX], outlog[PATH_MAX], errlog[PATH_MAX], *outstr, *errstr; - src/run.c: snprintf(fname, PATH_MAX, "%s/%s", cfdir, job); - src/run.c: snprintf(outlog, PATH_MAX, "%s.stdout", cf_getstr(CF_CONFIG)); - src/run.c: snprintf(errlog, PATH_MAX, "%s.stderr", cf_getstr(CF_CONFIG)); - src/run.c: snprintf(fname, PATH_MAX, "%s/.%s-%s", cfdir, jid, get_hostname(0)); - src/run.c: snprintf(outlog, PATH_MAX, "%s/%s-%s.stdout.XXXXXX", - src/run.c: snprintf(errlog, PATH_MAX, "%s/%s-%s.stderr.XXXXXX", - src/check.c: char fname[PATH_MAX], outre[PATH_MAX], errre[PATH_MAX], *outstr, *errstr; - src/check.c: snprintf(fname, PATH_MAX, "%s/%s", cfdir, job); - src/check.c: snprintf(outre, PATH_MAX, "%s.stdout", cf_getstr(CF_CONFIG)); - src/check.c: snprintf(errre, PATH_MAX, "%s.stderr", cf_getstr(CF_CONFIG)); - - -* * * - - -Comments --------- - -Not yet started. diff --git a/user/tlecarrour/sitecopy.mdwn b/user/tlecarrour/sitecopy.mdwn deleted file mode 100644 index 11f512ae..00000000 --- a/user/tlecarrour/sitecopy.mdwn +++ /dev/null @@ -1,73 +0,0 @@ -[[!meta copyright="Copyright © 2012 Free Software Foundation, Inc."]] - -[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable -id="license" text="Permission is granted to copy, distribute and/or modify this -document under the terms of the GNU Free Documentation License, Version 1.2 or -any later version published by the Free Software Foundation; with no Invariant -Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license -is included in the section entitled [[GNU Free Documentation -License|/fdl]]."]]"""]] - -[[!tag open_issue_porting]] - - -sitecopy -======== - -A program for managing a WWW site via FTP, DAV or HTTP. -**Home page**: [[http://www.manyfish.co.uk/sitecopy]] - -[[!toc startlevel=2]] - - -* * * - - -Log ---- - -* **Started**: - -* **Discussed**: - -* **Draft Submitted**: - -* **Submitted**: - -* **Accepted**: - - - -* * * - - -ToDo ----- - -Here is the output of `grep -R PATH_MAX sitecopy-0.16.6/*`: - - intl/dcigettext.c: PATH_MAX but might cause redefinition warnings when sys/param.h is - intl/dcigettext.c:#ifndef _POSIX_PATH_MAX - intl/dcigettext.c:# define _POSIX_PATH_MAX 255 - intl/dcigettext.c:#if !defined PATH_MAX && defined _PC_PATH_MAX - intl/dcigettext.c:# define PATH_MAX (pathconf ("/", _PC_PATH_MAX) < 1 ? 1024 : pathconf ("/", _PC_PATH_MAX)) - intl/dcigettext.c:#if defined HAVE_SYS_PARAM_H && !defined PATH_MAX && !defined MAXPATHLEN - intl/dcigettext.c:#if !defined PATH_MAX && defined MAXPATHLEN - intl/dcigettext.c:# define PATH_MAX MAXPATHLEN - intl/dcigettext.c:#ifndef PATH_MAX - intl/dcigettext.c:# define PATH_MAX _POSIX_PATH_MAX - intl/dcigettext.c: path_max = (unsigned int) PATH_MAX; - src/ftp.c:#include <limits.h> /* for PATH_MAX */ - src/ftp.c:#ifndef PATH_MAX - src/ftp.c:#define PATH_MAX 2048 - src/ftp.c: char cwd[PATH_MAX]; - src/ftp.c: char dir[PATH_MAX]; - src/ftp.c: if (!sess->use_cwd || fn[0] != '/' || strlen(fn) > PATH_MAX) - debian/patches/10_bts410703_preserve_storage_files_sigint.dpatch:+ char filebuf[PATH_MAX]; - debian/patches/10_bts410703_preserve_storage_files_sigint.dpatch:+ char filebuf[PATH_MAX]; - - -* * * - - -Comments --------- - -Not yet started. - -One of the PATH_MAX if used in debian patch. diff --git a/user/tlecarrour/suckless-tools.mdwn b/user/tlecarrour/suckless-tools.mdwn deleted file mode 100644 index 2a3cb5df..00000000 --- a/user/tlecarrour/suckless-tools.mdwn +++ /dev/null @@ -1,79 +0,0 @@ -[[!meta copyright="Copyright © 2012 Free Software Foundation, Inc."]] - -[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable -id="license" text="Permission is granted to copy, distribute and/or modify this -document under the terms of the GNU Free Documentation License, Version 1.2 or -any later version published by the Free Software Foundation; with no Invariant -Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license -is included in the section entitled [[GNU Free Documentation -License|/fdl]]."]]"""]] - - -suckless-tools -============== - -Home of dwm, dmenu and other quality software with a focus on simplicity, clarity, and frugality. -**Home page**: [[http://suckless.org]] - -[[!toc startlevel=2]] - - -* * * - - -Log ---- - -* **Started**: 2012-01-31 -* **Discussed**: [2012-01-31](http://lists.debian.org/debian-hurd/2012/01/msg00191.html) -* **Draft Submitted**: [2012-02-01](http://lists.debian.org/debian-hurd/2012/02/msg00001.html) -* **Submitted**: 2012-02-02, Bug#[658386](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=658386) -* **Accepted**: - - - -* * * - - -ToDo ----- - -Here is the output of `grep -R PATH_MAX suckless-tools-38/*`: - - dmenu/dmenu_path.c: char buf[PATH_MAX]; - - -* * * - - -Comments --------- - -Here are comments on the patch... - - void - scan(void) { - - char buf[PATH_MAX]; - + char *buf = NULL; - + char *new_buf = NULL; - + size_t buf_size = 0; - -In this function we turn `buf` into dynamically allocated string. - - - while((ent = readdir(dp))) { - + buf_size = strlen(dir)+strlen(ent->d_name)+2; - + if(!buf || strlen(buf) < buf_size) { - + new_buf = realloc(buf, buf_size); - + if(!new_buf) - + die("realloc failed"); - + buf = new_buf; - + } - -For each directory entry we create or adapt the buffer size. - - - } - + free(buf); - -We free the buf when done. - diff --git a/user/tlecarrour/up-imapproxy.mdwn b/user/tlecarrour/up-imapproxy.mdwn deleted file mode 100644 index f97207e0..00000000 --- a/user/tlecarrour/up-imapproxy.mdwn +++ /dev/null @@ -1,59 +0,0 @@ -[[!meta copyright="Copyright © 2012 Free Software Foundation, Inc."]] - -[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable -id="license" text="Permission is granted to copy, distribute and/or modify this -document under the terms of the GNU Free Documentation License, Version 1.2 or -any later version published by the Free Software Foundation; with no Invariant -Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license -is included in the section entitled [[GNU Free Documentation -License|/fdl]]."]]"""]] - -[[!tag open_issue_porting]] - - -up-imapproxy -============ - -SquirrelMail's IMAP Proxy is a caching IMAP proxy server intended for use with webmail clients that cannot maintain persistent connections to an IMAP server. -**Home page**: [[http://www.imapproxy.org]] - -[[!toc startlevel=2]] - - -* * * - - -Log ---- - -* **Started**: 2012-01-31 -* **Discussed**: [2012-02-03](http://lists.debian.org/debian-hurd/2012/02/msg00027.html) -* **Draft Submitted**: - -* **Submitted**: - -* **Accepted**: - - - -* * * - - -ToDo ----- - -Here is the output of `grep -R PATH_MAX up-imapproxy-1.2.7/*`: - - src/main.c: char f_randfile[ PATH_MAX ]; - - -* * * - - -Comments --------- - -Work in progress... - -Only the function that fills the buffer knows how long it can be. -This function is `RAND_file_name()` and is part of **OpenSSL**. - -Probably **OpenSSL** function has to be fixed first to accept `NULL` buffer. -Then fix the up-imapproxy code to use the new version of the function. |