Date: Monday, October 31, 2022 @ 15:03:18
  Author: dvzrv
Revision: 459646

archrelease: copy trunk to testing-x86_64

Added:
  guile1.8/repos/testing-x86_64/
  guile1.8/repos/testing-x86_64/PKGBUILD
    (from rev 459645, guile1.8/trunk/PKGBUILD)
  guile1.8/repos/testing-x86_64/guile-1.8.8-cve-2016-8605.patch
    (from rev 459645, guile1.8/trunk/guile-1.8.8-cve-2016-8605.patch)

---------------------------------+
 PKGBUILD                        |   61 ++++++++++++++++++++++++++++++++++++++
 guile-1.8.8-cve-2016-8605.patch |   54 +++++++++++++++++++++++++++++++++
 2 files changed, 115 insertions(+)

Copied: guile1.8/repos/testing-x86_64/PKGBUILD (from rev 459645, 
guile1.8/trunk/PKGBUILD)
===================================================================
--- testing-x86_64/PKGBUILD                             (rev 0)
+++ testing-x86_64/PKGBUILD     2022-10-31 15:03:18 UTC (rev 459646)
@@ -0,0 +1,61 @@
+# Contributor: Bartłomiej Piotrowski <[email protected]>
+
+pkgname=guile1.8
+pkgver=1.8.8
+pkgrel=9
+pkgdesc='Portable, embeddable Scheme implementation written in C. Legacy 
branch.'
+url="https://www.gnu.org/software/guile/";
+arch=(x86_64)
+license=(GPL)
+depends=(gcc-libs glibc gmp libtool openssl texinfo)
+makedepends=(ncurses readline)
+provides=(
+  libguilereadline-v-17.so
+  libguile.so
+  libguile-srfi-srfi-60-v-2.so
+  libguile-srfi-srfi-4-v-3.so
+  libguile-srfi-srfi-13-14-v-3.so
+  libguile-srfi-srfi-1-v-3.so
+)
+source=(
+  https://ftp.gnu.org/pub/gnu/guile/guile-$pkgver.tar.gz
+  guile-1.8.8-cve-2016-8605.patch
+)
+sha512sums=('ede6feb90cd419d8763feb8c5169275490a653919573c4dfced025b74cf591072b3a10ffb9a3f6ee3fe7b0a0956ffcf434e0859b421455c8349cea56bf427db0'
+            
'0f18011cc3a7c7b0a824cdecceace440eef77caa4b8da4ab3f589073aa5705afd62975f017ba53688213eb732d5bc1938ef44b431c795a50f9c60d45f772b570')
+b2sums=('4820d635ac2c57526c0c03f3e0e6e4ac4276533ea8db15e6d1b759c33edec094a1a4bdc3e09ccae61f1b271d63565063746feea242a90c18cd575775444a42ef'
+        
'bc978ea279f14154ebfccaf8477a67bda0e2750d499206f03ccefe027626a3324bdd2941d34a43eeaea2d9546a62c2ff7d98f42e65f71b1d48aeaf44884d8f7b')
+
+prepare() {
+  # fix CVE-2016-8605: https://bugs.archlinux.org/task/67048
+  # backport of 
https://git.savannah.gnu.org/cgit/guile.git/commit/?id=844b2cf7586c31c01ab8e255d8a21aa836b7ff0b
+  patch -Np1 -d guile-$pkgver -i ../guile-1.8.8-cve-2016-8605.patch
+}
+
+build() {
+  cd guile-$pkgver
+  export CFLAGS+=" -O1"
+  ./configure \
+    --prefix=/usr \
+    --disable-static  \
+    --disable-error-on-warning \
+    --program-suffix=1.8
+
+  # prevent excessive overlinking due to libtool
+  sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
+  make
+}
+
+package() {
+  depends+=(
+    ncurses libncursesw.so
+    readline libreadline.so
+  )
+
+  cd guile-$pkgver
+  make DESTDIR="$pkgdir" install
+
+  rm -rf "$pkgdir"/usr/share/info
+  sed -i '1s/guile/guile1.8/' -i "$pkgdir"/usr/bin/guile-config1.8
+  mv "$pkgdir"/usr/share/aclocal/guile.m4 
"$pkgdir"/usr/share/aclocal/guile18.m4
+}

Copied: guile1.8/repos/testing-x86_64/guile-1.8.8-cve-2016-8605.patch (from rev 
459645, guile1.8/trunk/guile-1.8.8-cve-2016-8605.patch)
===================================================================
--- testing-x86_64/guile-1.8.8-cve-2016-8605.patch                              
(rev 0)
+++ testing-x86_64/guile-1.8.8-cve-2016-8605.patch      2022-10-31 15:03:18 UTC 
(rev 459646)
@@ -0,0 +1,54 @@
+commit 245608911698adb3472803856019bdd5670b6614
+Author: Ludovic Courtès <[email protected]>
+Date:   Tue Oct 11 10:14:26 2016 +0200
+
+    Remove 'umask' calls from 'mkdir'.
+    
+    Fixes <http://bugs.gnu.org/24659>.
+    
+    * libguile/filesys.c (SCM_DEFINE): Remove calls to 'umask' when MODE is
+    unbound; instead, use 0777 as the mode.  Update docstring to clarify
+    this.
+    * doc/ref/posix.texi (File System): Adjust accordingly.
+    * NEWS: Mention it.
+
+diff --git a/libguile/filesys.c b/libguile/filesys.c
+index e6e1db5..e6e37b0 100644
+--- a/libguile/filesys.c
++++ b/libguile/filesys.c
+@@ -1255,26 +1255,21 @@ SCM_DEFINE (scm_getcwd, "getcwd", 0, 0, 0,
+ SCM_DEFINE (scm_mkdir, "mkdir", 1, 1, 0,
+             (SCM path, SCM mode),
+           "Create a new directory named by @var{path}.  If @var{mode} is 
omitted\n"
+-          "then the permissions of the directory file are set using the 
current\n"
+-          "umask.  Otherwise they are set to the decimal value specified 
with\n"
+-          "@var{mode}.  The return value is unspecified.")
++          "then the permissions of the directory are set to @code{#o777}\n"
++          "masked with the current umask (@pxref{Processes, @code{umask}}).\n"
++          "Otherwise they are set to the value specified with @var{mode}.\n"
++          "The return value is unspecified.")
+ #define FUNC_NAME s_scm_mkdir
+ {
+   int rv;
+-  mode_t mask;
++  mode_t c_mode;
+ 
+-  if (SCM_UNBNDP (mode))
+-    {
+-      mask = umask (0);
+-      umask (mask);
+-      STRING_SYSCALL (path, c_path, rv = mkdir (c_path, 0777 ^ mask));
+-    }
+-  else
+-    {
+-      STRING_SYSCALL (path, c_path, rv = mkdir (c_path, scm_to_uint (mode)));
+-    }
++  c_mode = SCM_UNBNDP (mode) ? 0777 : scm_to_uint (mode);
++
++  STRING_SYSCALL (path, c_path, rv = mkdir (c_path, c_mode));
+   if (rv != 0)
+     SCM_SYSERROR;
++
+   return SCM_UNSPECIFIED;
+ }
+ #undef FUNC_NAME

Reply via email to