Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.debian.user > #198810

Re: Installing package *NOT* in repository

From <tomas@tuxteam.de>
Newsgroups linux.debian.user
Subject Re: Installing package *NOT* in repository
Date 2018-08-15 10:00 +0200
Message-ID <wmYSJ-4MS-5@gated-at.bofh.it> (permalink)
References <wmjwd-5IS-5@gated-at.bofh.it> <wmBjs-7SI-11@gated-at.bofh.it> <wmFZM-2eg-9@gated-at.bofh.it> <wmWed-3rZ-1@gated-at.bofh.it> <wmWxA-3yd-3@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On Wed, Aug 15, 2018 at 01:26:48AM -0400, Kenneth Parker wrote:
> This brings up a question:  If I am Installing something outside of the
> Packaging Infrastructure (usually, via a TarBall), I usually install inside
> of my Home Directory (for example, using $PATH for ~/bin).  If I  *MUST*
> make it available to other Users, I use the /usr/local/* directories.
> 
> Now the question:  Does dpkg have options for doing this?  (Or would I need
> to, still use the "tarball"?  (The reason I bring up dpkg, is that it, at
> least gives "lip service" to Dependencies).

I don't think so. And if you look at the contortions needed during
the regular build process (there are many "system" paths for different
things which need (re-)mapping, like /sbin, /bin, /usr/sbin, /usr/bin,
/usr/lib, /usr/share/bin, /usr/share/doc and reams of others (last
but not least, /etc(, all reflecting a system policy), I don't think
this possible at the package install phase at all. It's (barely)
possible at the package build phase, and only if the authors were
extremely careful or just used a civilised build system.

To give you a conundrum to chew on: somewhere deep in the guts of your
(compiled) C program, part of some mythical package "furrfu", the
path to its first config file, "/etc/furrfu/main.conf" is hardcoded
(it better be, because you don't want to force your poor users to
always call

  furrfu -c /etc/furrfu/main.conf

or something. If you relocate the package... where's the config
file now?  (a) /usr/local/etc? (b) /etc? Each one has its upsides
and downsides.  Assume we want (a): now dpkg would have to live-patch
the /usr/local/bin/furrfu binary, to replace "in situ" the config
patch. Or replace /usr/local/bin/furrfu by a wrapper shell script
calling real-furrfu -c /usr/local/etc/furrfu.conf.

And this is supposed to work (more or less uniformly) across upstreams
by a huge community of (sometimes very idiosyncratic) authors, which
swear by scaringly diverse build systems, from Autotools through
Cmake or some of the Java build systems (ever tried Ant, with all
its XML goodness?) to most exotic or artisanal ones.

And this across roughly 20K (source) packages.

There lies the work Debian packagers are doing, picking up the discrepancies
between what the upstream's build system is capable of and the policy
which keeps your box together (most of the time, that is).

To me, they are heroes.

So the answer to your question? Download the source package, wrap your
head around the build system, re-build, re-package, and you're good
to go :-)

Alternatively, and this is a /very/ interesting alternative, go have
a look at schroot, where you can set up a special environment. Mostly
used to achieve clean builds, you can use it for a package which doesn't
quite fit into your system (it needs a slightly different libc, for
example, or it would trample on locations already needed by another
package). Yet another world to discover :-D

(basically, that's what the young-uns are doing with all those flatpaks
and things, only that I don't really believe in seeing the whole world
through this one tool -- but I'm an old fart, y'know).

Cheers
- -- tomás
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEARECAAYFAltz28sACgkQBcgs9XrR2kbcEQCeORQ4p2gKaixQlDHw++gkME4I
ju0An2yiBeFejN1THWuy85ubedJrB42n
=UtYY
-----END PGP SIGNATURE-----

Back to linux.debian.user | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

Installing package *NOT* in repository Richard Owlett <rowlett@cloud85.net> - 2018-08-13 13:50 +0200
  Re: Installing package *NOT* in repository Joe <joe@jretrading.com> - 2018-08-13 14:00 +0200
    Re: Installing package *NOT* in repository Richard Owlett <rowlett@cloud85.net> - 2018-08-13 14:30 +0200
      Re: Installing package *NOT* in repository Samuel Henrique <samueloph@debian.org> - 2018-08-13 14:40 +0200
        Re: Installing package *NOT* in repository Vincent Lefevre <vincent@vinc17.net> - 2018-08-17 11:30 +0200
          Re: Installing package *NOT* in repository Gene Heskett <gheskett@shentel.net> - 2018-08-17 13:40 +0200
            Re: Installing package *NOT* in repository Richard Owlett <rowlett@cloud85.net> - 2018-08-17 14:30 +0200
              Re: Installing package *NOT* in repository Reco <recoverym4n@gmail.com> - 2018-08-17 14:50 +0200
                Re: Installing package *NOT* in repository Richard Owlett <rowlett@cloud85.net> - 2018-08-17 17:00 +0200
            Re: Installing package *NOT* in repository David Wright <deblis@lionunicorn.co.uk> - 2018-08-17 20:50 +0200
              Re: Installing package *NOT* in repository Vincent Lefevre <vincent@vinc17.net> - 2018-08-21 13:00 +0200
                Re: Installing package *NOT* in repository Gene Heskett <gheskett@shentel.net> - 2018-08-21 14:10 +0200
                Re: Installing package *NOT* in repository <tomas@tuxteam.de> - 2018-08-21 14:50 +0200
                Re: Installing package *NOT* in repository Greg Wooledge <wooledg@eeg.ccf.org> - 2018-08-21 15:40 +0200
                Re: Installing package *NOT* in repository Michael Stone <mstone@debian.org> - 2018-08-21 16:40 +0200
                Re: Installing package *NOT* in repository David Wright <deblis@lionunicorn.co.uk> - 2018-08-21 17:10 +0200
                Re: Installing package *NOT* in repository <tomas@tuxteam.de> - 2018-08-21 17:40 +0200
                Re: Installing package *NOT* in repository Gene Heskett <gheskett@shentel.net> - 2018-08-21 19:30 +0200
                Re: Installing package *NOT* in repository David Wright <deblis@lionunicorn.co.uk> - 2018-08-21 17:10 +0200
                Re: Installing package *NOT* in repository Greg Wooledge <wooledg@eeg.ccf.org> - 2018-08-21 17:30 +0200
                Re: Installing package *NOT* in repository Michael Stone <mstone@debian.org> - 2018-08-21 18:00 +0200
                Re: Installing package *NOT* in repository David Wright <deblis@lionunicorn.co.uk> - 2018-08-21 19:00 +0200
      Re: Installing package *NOT* in repository Joe <joe@jretrading.com> - 2018-08-13 15:00 +0200
      Re: Installing package *NOT* in repository Zenaan Harkness <zenaan@freedbms.net> - 2018-08-13 16:10 +0200
  Re: Installing package *NOT* in repository john doe <johndoe65534@mail.com> - 2018-08-13 14:10 +0200
  Re: Installing package *NOT* in repository Matthew Crews <mailinglists@mattcrews.com> - 2018-08-13 15:00 +0200
    Re: Installing package *NOT* in repository <tomas@tuxteam.de> - 2018-08-13 15:50 +0200
  Re: Installing package *NOT* in repository Patrick Bartek <nemommxiv@gmail.com> - 2018-08-13 17:40 +0200
    Re: Installing package *NOT* in repository <tomas@tuxteam.de> - 2018-08-13 17:50 +0200
      Re: Installing package *NOT* in repository Samuel Henrique <samueloph@debian.org> - 2018-08-13 18:00 +0200
        Re: Installing package *NOT* in repository tomas@tuxteam.de - 2018-08-13 18:20 +0200
          Re: Installing package *NOT* in repository Brian <ad44@cityscape.co.uk> - 2018-08-13 18:50 +0200
            Re: Installing package *NOT* in repository Curt <curty@free.fr> - 2018-08-13 19:10 +0200
              Re: Installing package *NOT* in repository Brian <ad44@cityscape.co.uk> - 2018-08-13 19:30 +0200
      Re: Installing package *NOT* in repository Brian <ad44@cityscape.co.uk> - 2018-08-13 18:00 +0200
        Re: Installing package *NOT* in repository Cindy-Sue Causey <butterflybytes@gmail.com> - 2018-08-14 19:50 +0200
          Re: Installing package *NOT* in repository Jason <electron@emypeople.net> - 2018-08-15 13:10 +0200
      Re: Installing package *NOT* in repository Patrick Bartek <nemommxiv@gmail.com> - 2018-08-14 04:10 +0200
        Re: Installing package *NOT* in repository <tomas@tuxteam.de> - 2018-08-14 09:00 +0200
          Re: Installing package *NOT* in repository Patrick Bartek <nemommxiv@gmail.com> - 2018-08-14 17:00 +0200
            Re: Installing package *NOT* in repository <tomas@tuxteam.de> - 2018-08-14 17:30 +0200
  Re: Installing package *NOT* in repository songbird <songbird@anthive.com> - 2018-08-14 05:50 +0200
  Re: Installing package *NOT* in repository Erik Christiansen <dvalin@internode.on.net> - 2018-08-14 08:50 +0200
    Re: Installing package *NOT* in repository Richard Owlett <rowlett@cloud85.net> - 2018-08-14 13:50 +0200
      Re: Installing package *NOT* in repository Erik Christiansen <dvalin@internode.on.net> - 2018-08-15 07:10 +0200
        Re: Installing package *NOT* in repository Kenneth Parker <sea7kenp@gmail.com> - 2018-08-15 07:30 +0200
          Re: Installing package *NOT* in repository <tomas@tuxteam.de> - 2018-08-15 10:00 +0200
          Re: Installing package *NOT* in repository Darac Marjal <mailinglist@darac.org.uk> - 2018-08-15 10:30 +0200
        Re: Installing package *NOT* in repository Zenaan Harkness <zenaan@freedbms.net> - 2018-08-15 08:20 +0200

csiph-web