Follow Slashdot blog updates by subscribing to our blog RSS feed

 



Forgot your password?
typodupeerror
×
Programming IT Technology

How to Make Easy-to-Package Software, Part 2 13

jmmv writes "A month ago (more or less), the first part of the Making packager-friendly software was published and announced here; it seemed to be warmly accepted by the community. Now it's the turn for the second (and last) part, which has just seen the light. It deals with problems caused by recursive dependencies, configuration file handling, unprivileged builds, the make utility, build infrastructure oddities and some notes about code portability. Of course, these are just suggestions to try to make the life of packagers a bit simpler; you can just ignore them if you want to. I hope it will be of interest and that future versions of your creations are easier to package. Thanks!"
This discussion has been archived. No new comments can be posted.

How to Make Easy-to-Package Software, Part 2

Comments Filter:
  • I hope the nethack dev team reads this! X|
  • Installers (Score:5, Insightful)

    by Umbral Blot ( 737704 ) on Saturday April 30, 2005 @06:17PM (#12394616) Homepage
    You have to admit, no matter how much you like Linux, that both windows and mac have done a much better job with their installers. I can whip up an installer in a few minutes on windows that I am confident will work on everyone's machine, but this is unfortunately not true in Linux.
    • For a self-contained YAKoSoSBP<*>, no worries, but for anything serious you have to futz around lots to avoid DLL collisions and registry slapdown games. On Linux or BSD, I just put in the dependencies and let URPMI/yum/apt/YAST sort it out. Different versions of shared libraries are delighted to coexist, BoC you don't need to do that, see below.

      Anyway, why do you need to ship an installer at all, isn't the OS supposed to provide that kind of plumbing? And what happens when the user gets to WinCE on ARM or something like that? I can post a .src.rpm for people whose distros or architectures I haven't explicitly packaged for, can you? The .src.rpm also allows seamless integration with systems running on odd versions of shardd libraries, one simply does a wone-liner (or one-click) rebuild of the offending .src.rpm and viola, all dependencies solved.

      <*> YAKoSoSBP == Yet Another Kind of Solitaire or Sliding Block Puzzle
      • ...mostly.

        I've built dozens of installers for Windows apps and even distributed them to a variety of customers.

        The only problem I've found is that not everyone has the dependencies installed--for example, not everyone has .NET at this point--but I can easily point them to things like that. There tend to be only one or two dependencies at maximum.

        On linux, there are so many different libraries required to run any app that doesn't run in the console. To actually BUILD something can be an amazing amount of
    • Well, Windows is much worse than Linux. Package management (RPM, dpkg, etc) is much better than "installers", which are basically programs to copy files manually into the filesystem. How old-fashioned.
    • Re:Installers (Score:2, Interesting)

      by jatreuman ( 877147 )

      This really isn't any surprise when you consider how varying Linux distros can be, and how similiar installations of Windows are. In practice however, a binary will work on any Linux distro of the same architecture provided the required libraries are available, which makes this a dependency issue. Windows avoids this by providing many commonly used functions as part of a base install, while Linux distros make these (and many more) optional. If Microsoft doesn't provide a needed function, the programmer eit

  • ...have well-written, comprehensive, low-level instructions [mandrakesoft.com] for building packages properly, but it's nice to see a well-written piece which is a bit more "meta" and general than that as well.

    The instructions even work with their "Stoned Penguin" LoopyEdition2005 release [wanadoo.nl]. (-:

Technology is dominated by those who manage what they do not understand.

Working...