Tag Info

Hot answers tagged

24

It seems appropriate to quote Joel Spolsky on this one: (By the way, for those of you who follow the arcane but politically-charged world of blog syndication feed formats, you can see the same thing happening over there. RSS became fragmented with several different versions, inaccurate specs and lots of political fighting, and the attempt ...


20

There are many reasons for this, and a bit of history is in order to put things into perspective. Remember that when we talk about "Linux" what we are generally referring to is one of many different Linux distributions. "Linux" is actually just an operating system kernel. The original goal of Linux was to create a Unix-based system that would run on PCs ...


10

Having the same package format wouldn't help anyway. You just can't use the same package in other distributions. You can't often even use it in the different version of the same distribution. And even building the package can have the same problems. To install a package you need to meet the dependencies that are formed during the building of the package. To ...


9

From dh_installinit(1): If a file named debian/package.init exists, then it is installed into etc/init.d/package in the package build directory, with "package" replaced by the package name. If a file named debian/package.default exists, then it is installed into etc/default/package in the package build directory, with "package" replaced by the ...


7

There's a bit of "Not Invented Here Syndrome", I think. Debian's packaging system predates RedHat, and yet it's superior in many ways, but you'll never see RedHat switching. Instead, you see a lot of people using "apt-rpm" that attempts to give you some of the advantages of apt with rpm files.


6

Fedora has a set of guidelines for setting the version/release number of pre-release packages. Basically you use the version number of what will be the final release in Version, and start the Release number with 0., an incrementing number, and then alpha, beta or whatever. You would not use an alphanumeric tag final for the final release at all. Note that ...


5

Just go for .deb :-)


5

Your 3rd option is the most common. Often times you'll see it called -common or -base. It's done in plenty of places to provide separate library packages, as well as doc packages or addons. You're essentially creating multiple packages from the one source. Most of the -doc packages and -common packages as well as plenty of the lib* packages are creating this ...


5

If you want to use subversion, use svn-buildpackage. There are also bzr-buildpackage, git-buildpackage, and so on. These all work similarly; you store either the full original source plus debian/ in version control, or only debian/ (which in turn might contain your patches). If you are dealing with Ubuntu packages, it would make some sense to use bzr, ...


4

There is a better solution than m-a: dkms It actually makes it easier to distribute external kernel modules and automatically compiles them for newer kernel-versions (think installing a new package of linux-headers).


4

dpkg can't tell where your script failed -- it's not omniscient. Your script returned 1, that's all dpkg knows. The easiest way to debug this is to set -x in the script and have all the debugging output dumped that you could possibly wish for.


3

If the file you're replacing is already named in the specfile (i.e. you're really replacing it) then you need only replace the file during your build (typically done with a patch to the original source, but you could always replace the file in the original source archive, too). If you're adding a file, then you'll want to add the file to the "%files" section ...


3

/usr/share/package-name/ is the way to go; packages are made of control files and content and nothing else. The really complicated setups like exim4-config, ldap-auth-config and krb5-config get their own packages to hold configuration scripts and semi-generated conffiles. Things like ebox are also in large part configuration generators.


3

I think Sunfreeware is seen as the most stable and reliable source, although it often lags behind Blastwave with regards to recent versions. In my shop, we employ Sunfreeware for our production packages, and Blastwave for development tools. This has the nice benefit that there is a physical and logical distinction between the two sets of packages, as ...


3

Find the dh_fixperms line in debian/rules (should be in the binary-arch or binary-indep target, as appropriate) and add -Xpath/to/file to that call. SEE ALSO dh_fixperms(1)


3

I've worked at a number of startups and built a portage overlay for Gentoo, yum repo for CentOS, and most recently apt repo for Ubuntu. I too was surprised how much of a pain in the ass it was to build the apt repo and there was nearly nothing on the web about how to do it properly. However in order to push website code we ultimately do some form of rsync ...


3

Repository signing helps the users know "yes, the repository I'm downloading packages from is one I trust". The if you tell them to ignore this check you'd have to worry about: DNS poisoning (when they go to yourserver.com are they actually getting the right address?) MITM (when they try to hit the repository at ip 1.2.3.4, are they getting the server ...


3

If you want to divert a file owned by another package: In your preinst, divert the file away. dpkg-divert --add --package $your_package_name --rename \ --divert /etc/nginx/sites-available/default.disabled \ /etc/nginx/sites-available/default In your postrm, divert the file back. dpkg-divert --remove --package $your_package_name --rename \ ...


3

the Debianish way to handle this is documented in the Debian Policy Manual in section 10.7.4 "Sharing Configuration Files". The difficulty is that Debian policy dictates that no package should be directly modifying a configuration file from another package, Instead the owning package should provide helpers which other packages can use to modify ...


3

There are several tools for managing repositories. The simplest one is dpkg-scanpackages, but a nicer alternative is reprepro.


2

There were several tentative formats, like zero-install and autopackage. Unfortunately none gained any traction.


2

I think cletus, Wayne, and iny answered this pretty well. I'd like to add that really, it's not a huge deal. I work in a mixed environment where we have Gentoo (portage), SUSE (rpm/zypper), and OpenBSD (packages and ports). Installing packages on any one of them is not difficult, and I don't really care what format they are using. From the perspective of ...


2

Found this: The /etc/init.d scripts must be treated as configuration files, either (if they are present in the package, that is, in the .deb file) by marking them as conffiles, or, (if they do not exist in the .deb) by managing them correctly in the maintainer scripts (see Configuration files, Section 10.7). This is important since we want to give the ...


2

If you're coming from an environment like Ubuntu or Debian where 99% of the time you're one apt-get away from whatever package you want to install, then Blastwave is going to be a better fit. It comes with a tool that overlays pkg-add called pkg-get that will take a package name, find it in the the network repository and install it. On our Solaris Express ...


2

...or you could go to the Dark Side and use AppleScript. tell application "Finder" set w to make Finder window to folder "MyApp" of folder "Applications" of startup disk set p to icon view options of w set the current view of w to icon view set the icon size of p to 32 set the label position of p to bottom set the arrangement of p ...


2

A given folder's Finder sort attributes appear to actually be stored in its parent folder's .DS_Store. So if you're interested in modifying sorting of the contents of /Applications/MyApp/, you'll need to adjust the contents of /Applications/.DS_Store. For example, if I diff hexdumps of /Applications/.DS_Store after changing the sorting of ...


2

This is going to be highly dependent on the specific installer you're trying to run. Most vendors couldn't care less about making unattended deployment easy for admins. Your best bet is to try and find someone who's already done the work for you. The Package KB at AppDeploy.com is a great place to start in addition to their forums. You can also try ...


2

If you want a guide that cuts through the noise, I recommend these Creating RPM's for Linux JBoss 5.1.0A RPM Spec But you should keep the Fedora guide bookmarked, as you'll be coming back to it. I also found Maximum RPM: Taking the Red Hat Package Manager to the Limit very useful as a reference. Tip: If you're building RPMs on Centos, this link gets ...


2

This page may be useful information about how to create an apt repository. Also, have a look at this ServerFault thread linked in the comments.



Only top voted, non community-wiki answers of a minimum length are eligible