From: swedebugia@riseup.net
To: Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de>
Cc: guix-devel <guix-devel@gnu.org>,
guix-devel-bounces+swedebugia=riseup.net@gnu.org
Subject: [PATCH] gnu: cups: Update to 2.1.3 (was gnu: cups: Update to 2.1.3 - request for help patching Makefiles)
Date: Wed, 24 Feb 2016 19:20:20 +0100 [thread overview]
Message-ID: <64e80cbba672d68ca21844d997f93022@riseup.net> (raw)
In-Reply-To: <9415c297723d5ea0e4cc85fbbfd46b57@riseup.net>
[-- Attachment #1: Type: text/plain, Size: 3946 bytes --]
On 2016-02-23 21:00, swedebugia@riseup.net wrote:
> On 2016-02-23 16:52, Ricardo Wurmus wrote:
>> swedebugia@riseup.net writes:
>>
>>> On 2016-02-20 05:57, Leo Famulari wrote:
>>>> On Fri, Feb 19, 2016 at 11:18:02PM +0100, swedebugia@riseup.net
>>>> wrote:
>>>>> Hi
>>>>>
>>>>> This patch almost work.
>>>>>
>>>>> I really tried hard understanding what made cups fail after
>>>>> modifying
>>>>> the
>>>>> configure flags and found lines in two makefiles under /notifier:65
>>>>> and
>>>>> /scheduler:159 to be patched.
>>>>
>>>> I'm not sure what the specific problem is. If you share the error
>>>> messages we may be able to give specific advice.
>>>>
>>>>>
>>>>> How do I best create a patch for those?
>>>>
>>>> This is my approach. There may be a better approach but this does
>>>> work.
>>>>
>>>> $ tar xf $(./pre-inst-env guix build --source foo) && cd foo
>>>> $ git init && git add --all && git commit -m "Initial import of
>>>> upstream sources"
>>>> $ # make changes
>>>> $ git add --update && git commit && git format-patch HEAD^
>>>>
>>>> Then, I move the patch into the Guix source tree, add it to the
>>>> package
>>>> definition and gnu-system.am, and see if it works as expected.
>>>
>>> Thanks.
>>>
>>> I realize that I'm way in over my head in trying to get this
>>> cups-package to work.
>>>
>>> Could somebody mentor me on this one?
>>>
>>> Outstanding issues are:
>>>
>>> 1) understanding whether patching of the makefiles is necessary given
>>> that what we want is it to log to /var/log/cups/? In the case yes I
>>> would like to patch the makefiles.
>>
>> I haven’t looked at this yet, but usually the directory that’s used
>> for
>> storing logs can be specified at configure time, i.e. by passing an
>> additional configure flag, such as “--localstatedir=/var” or similar.
>>
>>> 2) understanding how to code the package object to put the cups.conf
>>> locally in .guix-profile/etc/cups/cups.conf and if it should be a
>>> symlink to the store or an editable file?
>>
>> By default a package’s files are stored in “$prefix/”, which is the
>> unique directory in “/gnu/store/” for this particular variant of the
>> package. When you *install* a package its contents are linked into a
>> profile, so installing the “cups” package into the default profile
>> would
>> make the configuration file available in
>> “~/.guix-profile/etc/cups/cups.conf” if the file’s location in the
>> store
>> is “/gnu/store/....-cups-.../etc/cups/cups.conf”. As all the store
>> items are immutable, any file in a profile is read-only.
>>
>> In the case of CUPS I think it would be valuable to have it first look
>> for a configuration file somewhere under “/etc/”, which would allow
>> users to create a suitable custom configuration file (e.g. by defining
>> a
>> service providing such file). Only if that file does not exist should
>> CUPS look for its default configuration file in the store (but maybe
>> that’s not necessary at all).
>>
>> Are you familiar with how GuixSD handles services? We would need a
>> service that creates a CUPS configuration file based on a CUPS
>> configuration value.
>
> No, not yet. :p
>
> I will focus on getting it to compile with the appropriate
> configure-flags and afterwards we can collaborate on creating a
> service for cups (with a config file).
>
> Patching is necessary because we want cups to write logs and state/run
> files to /var/cups and when compiling it fails when trying to create
> those directories.
I succeeded in getting it patched and compiling. :)
cupsd still refuses to run for the following reason:
sdb@unknown
/gnu/store/gm397jmdp3jafz6gm5ry6c459dvapcf7-cups-minimal-2.1.3/sbin$
sudo cupsd -t
"/gnu/store/qs3xymcsgxa68i8m188261rhxsszx7za-cups-2.1.0/etc/cups/cups-files.conf"
contains errors.
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-gnu-cups-Update-to-2.1.3-and-add-configure-flags-to-.patch --]
[-- Type: text/x-diff; name=0001-gnu-cups-Update-to-2.1.3-and-add-configure-flags-to-.patch, Size: 2933 bytes --]
From 16e5ecbce1ed997480d2eb6ce42d88f82e8038f2 Mon Sep 17 00:00:00 2001
From: swedebugia <swedebugia@riseup.net>
Date: Fri, 19 Feb 2016 23:11:16 +0100
Subject: [PATCH] gnu: cups: Update to 2.1.3 and add configure flags to enable
gnutls and writing logs and state to /var
---
gnu-system.am | 1 +
gnu/packages/cups.scm | 21 +++++++++++++++++----
2 files changed, 18 insertions(+), 4 deletions(-)
diff --git a/gnu-system.am b/gnu-system.am
index d282be3..2ce7e5b 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -441,6 +441,7 @@ dist_patch_DATA = \
gnu/packages/patches/cssc-gets-undeclared.patch \
gnu/packages/patches/cssc-missing-include.patch \
gnu/packages/patches/clucene-contribs-lib.patch \
+ gnu/packages/patches/cups-dir.patch \
gnu/packages/patches/cursynth-wave-rand.patch \
gnu/packages/patches/dbus-helper-search-path.patch \
gnu/packages/patches/dealii-p4est-interface.patch \
diff --git a/gnu/packages/cups.scm b/gnu/packages/cups.scm
index ff3d152..d557951 100644
--- a/gnu/packages/cups.scm
+++ b/gnu/packages/cups.scm
@@ -111,21 +111,31 @@ filters for the PDF-centric printing workflow introduced by OpenPrinting.")
(define-public cups-minimal
(package
(name "cups-minimal")
- (version "2.1.0")
+ (version "2.1.3")
(source (origin
(method url-fetch)
(uri (string-append "http://www.cups.org/software/"
version "/cups-" version "-source.tar.bz2"))
(sha256
(base32
- "1jfjqsw9l7jbn5kb9i96k0wj12kjdbgx0rd8157dif22hi0kh0ms"))))
+ "1lyl3z01xhg9xb9c8m42398c6h9kw8qr6jwiv8bjdsjab11hv9rn"))
+ (patches
+ (list
+ ;; Patch to the Makefiles in /notifier and /scheduler
+ ;; to remove calls to mkdir outside the chroot.
+ (search-patch "cups-dir.patch")))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
'("--disable-launchd"
"--disable-systemd"
"--disable-avahi"
- "--disable-dnssd")
+ "--disable-dnssd"
+ "--enable-gnutls"
+ "--localstatedir=/var"
+ "--with-logdir=/var/log/cups"
+ "--with-rundir=/var/run/cups"
+ "--with-cachedir=/var")
;; Seven tests fail, mostly because of files that are provided by the
;; cups-filters package.
#:tests? #f
@@ -174,7 +184,10 @@ device-specific programs to convert and print many types of files.")
#:tests? #f
#:configure-flags
'("--disable-launchd"
- "--disable-systemd")
+ "--disable-systemd"
+ ;; TODO: when cups-minimal builds succesfully: add flags accordingly
+ ;; below.
+ "--localstatedir=/var")
#:phases
(alist-cons-before
'configure
--
2.6.3
next prev parent reply other threads:[~2016-02-24 18:20 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-02-19 22:18 gnu: cups: Update to 2.1.3 - request for help patching Makefiles swedebugia
2016-02-20 5:57 ` Leo Famulari
2016-02-23 14:11 ` swedebugia
2016-02-23 15:52 ` Ricardo Wurmus
2016-02-23 20:00 ` swedebugia
2016-02-24 18:20 ` swedebugia [this message]
2016-03-03 15:44 ` [PATCH] gnu: cups: Update to 2.1.3 (was gnu: cups: Update to 2.1.3 - request for help patching Makefiles) Ricardo Wurmus
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=64e80cbba672d68ca21844d997f93022@riseup.net \
--to=swedebugia@riseup.net \
--cc=guix-devel-bounces+swedebugia=riseup.net@gnu.org \
--cc=guix-devel@gnu.org \
--cc=ricardo.wurmus@mdc-berlin.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/guix.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.