[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: About standards Was: Re: Debian Installer 7.0 Beta4 release



On Tue, 2012-11-27 at 10:18 +0100, "Morel Bérenger" wrote:
> There is Linux Standard Base which claim to be a standard for distros.

Which reminds me of the file system hierarchy issue, on my multi-boot
I've got Linux were e.g. /media is

/media/directory
/media/username/directory
/run/media/username/directory

Also very nice is the output of

$ ls -l /bin/sh

for Ubuntu it's not bash.

Btw. the reason I don't like aliases is that somebody perhaps would have
written

$ ll /bin/sh

and somebody else might not have this alias.

> They claim that rpm should be the standard, among other things.
> I do not know the difference between rpm and deb, so maybe they could be
> merged

We've got "alien" to convert, but this easily can fail. Instead of disto
specific ways to build a package often "checkinstall" (instead of "make
install") can build a package for RPM and DEB based distros.

> is far easier for software developers than dealing with
> every distro packaging systems

Have you ever tried checkinstall?


> This last reason is also the one which makes me thinking about moving to gentoo

I like Arch Linux's "pacman" the best. Building packages for Arch is
idiot prove.

For Debian among other ways it's possible to build a new package by
using older package information, e.g.

# apt-get source alsa-lib
# apt-get build-dep alsa-lib
# mv -vi alsa-lib-1.0.23/ alsa-lib-1.0.24.1
# wget ftp://ftp.alsa-project.org/pub/lib/alsa-lib-1.0.24.1.tar.bz2
# tar xvjf alsa-lib-1.0.24.1.tar.bz2
# cd alsa-lib-1.0.24.1
# gedit debian/changelog
        1st line was:  alsa-lib (1.0.23-4) unstable; urgency=low
        edited to: alsa-lib (1.0.24.1) unstable; urgency=low
# gedit debian/rules
        Removed:
        biarch_map := i386=amd64 powerpc=ppc64 sparc=sparc64 s390=s390x
        \
        amd64=i386 ppc64=powerpc
        biarch_cpu := $(strip $(patsubst $(DEB_BUILD_ARCH_CPU)=%, %, \
           $(filter $(DEB_BUILD_ARCH_CPU)=%, $(biarch_map))))
# libtoolize --force --copy --automake
# aclocal
# autoreconf
# debuild -b -us -uc

> For example, I use no printers on my machines, but I have some cups
> dependencies. I understand that debian try to meet everyone's needs, so I
> usually do not whine about that.

That upstream does force a desktop environment to hard depend to e.g.
systemd is insane and we get more and more of those insane dependencies.

> gentoo is running a home-made kernel

I'm doing this by scripts, for Debian and Ubuntu I "dirty" rewrite this
script:

#!/bin/sh
# sh build-kernel
TODAY=2012-Nov-02

#apt-get update
#apt-get install fakeroot build-essential crash kexec-tools makedumpfile
kernel-package kernel-wedge
#apt-get install libncurses5 libncurses5-dev libelf-dev asciidoc
binutils-dev

 GENERIC=3.5.0-17-lowlatency
 ARCH=x86_64
 export CONCURRENCY_LEVEL=2

 # Kernel to build is version
 KMAJOR=3.6
 KMINOR=.5
 KMICRO=-rt14
 KERNEL_UNAME=${KMAJOR}${KMINOR}${KMICRO}

 # Directory where the source codes should be saved
 SRC_DIR=/usr/src

clear
if [ $USER = "root" ] ; then
 if [ $(uname -m) != ${ARCH} ] ; then
  echo "#######################################"
  echo "You're running the wrong architecture"
  echo "Continuing anyway"
  echo "#######################################"
 fi
 if [ $(uname -r) != ${GENERIC} ] ; then
  echo "#######################################"
  echo "You're running the wrong kernel"
  echo "Continuing anyway"
  echo "#######################################"
 fi

 # Backup configuration, delete sources and packages in SRC_DIR
 cd $SRC_DIR
 cp linux-${KERNEL_UNAME}/.config config-${KERNEL_UNAME}_$(date +"%b-%
d-%Y_%H-%M-%S")
 rm -r linux-${KERNEL_UNAME}
 rm linux-headers-${KERNEL_UNAME}_${KERNEL_UNAME}-10.00.Custom_*.deb
 rm linux-image-${KERNEL_UNAME}_${KERNEL_UNAME}-10.00.Custom_*.deb
 rm linux-${KMAJOR}${KMINOR}.tar.bz2 patch-${KERNEL_UNAME}.patch.bz2
 
 # Download all sources to source directory
 wget http://www.kernel.org/pub/linux/kernel/v3.x/linux-3.6.5.tar.bz2
 wget
http://www.kernel.org/pub/linux/kernel/projects/rt/3.6/patch-3.6.5-rt14.patch.bz2

 # Extracting and patching
 tar -jxf linux-${KMAJOR}${KMINOR}.tar.bz2
 mv linux-${KMAJOR}${KMINOR} linux-${KERNEL_UNAME}
 cd linux-${KERNEL_UNAME}
 bzip2 -dc ../patch-${KERNEL_UNAME}.patch.bz2 | patch -p1
 rm ../linux-${KMAJOR}${KMINOR}.tar.bz2
 rm ../patch-${KERNEL_UNAME}.patch.bz2

 # Configuration
 cp /boot/config-$(uname -r) .config
 # Optimize to CPU
 # e.g. set to CONFIG_MK8=y (Opteron/Athlon64/Hammer/K8), command out
for default
 echo "CONFIG_MK8=y" >> .config
 
 # 32-bit only
 # HIGHMEM from 4G to 64G
 # echo "CONFIG_HIGHMEM4G is not set" >> .config
 # echo "CONFIG_HIGHMEM64G=y" >> .config
 
 # [...]
 SECONDS=0
 make oldconfig
 sec_oldconfig=$SECONDS
 SECONDS=0

 # Building the kernel
 make-kpkg clean
 make-kpkg --rootcmd fakeroot --initrd kernel-image kernel-headers

 # Installing new packages
 make-kpkg clean
 dpkg -i ../linux-image-${KERNEL_UNAME}_
${KERNEL_UNAME}-10.00.Custom_*.deb
 dpkg -i ../linux-headers-${KERNEL_UNAME}_
${KERNEL_UNAME}-10.00.Custom_*.deb
 echo "-------------------------------"
 echo "Config           : $sec_oldconfig sec"
 echo "Build and install: $SECONDS sec"
else
 echo "Run as \"root\""
fi
exit 0

However, for other distros this won't work ;), but as you can see, you
don't need knowledge to build a kernel and it's easy to remove the dirty
arts from this script.

> > Other things also. CUPS, sound, and the more polemic: KDE!
> KDE and Gnome did Freedesktop.org, which is not a real standard, and even
> do not claim to be such, but is the way to go in my humble opinion.
> An example of what I like they did is "~/.config/" which is far better
> than the usual way to just put everything in hidden folders/files in
> $HOME. Btw, I hate that crappy way!

And I like the hidden files, but hate not to know what exactly is
"active" in .config, .local etc. or .cache.

If I edit a config I don't want that it's ignored, but used from the
cache instead.

> So you can not really say that KDE is so polemic ;)

KDE and GNOME are bloated.

> Honestly, I think that having only one DE would be an error, and a very
> big one. Some are bloatwares, some are very lightweight, some are in the
> middle (xfce) and people can even just install a window manager, with
> tools installed and configured to fit together. That's good enough, and if
> it make people coming to linux lost, well, that's normal.

Don't forget that you even do not need to use a DE with X. You can
simply use a WM. Some of them, e.g. Ion are tiling and tabbing window
managers.

I don't want to be forced to use Unity or GNOME or something like that,
my PC isn't a tablet PC.

> Windows is the deep cave, free OS are the big plains.

Could we stop writing about other OS. I don't like Microsoft, I don't
use Windows, but I'm tired to read this nonsense again and again. Yes
Windows isn't a good system, but it's not that bad as many people claim.
Just repeating things parrot-fashion is idiotic. Most things Linux
people write about Windows is simply not true.

Oh and btw. more idiotic than writing about Windows without knowledge,
is to compare Linux distributions.

They all have advantages and drawbacks.

2 Cents,
Ralf


Reply to: