12.01.05

LFS Profile for package user

Posted in lfs at 20051201084700 by tmayad

Here is a page from LFS profile I created. It might help you modify the other pages. I’ll put up everything shortly after I find a file host that doesn’t mind hot linking.

coreutils.xml


/**/

  1  <?xml version="1.0" encoding="iso-8859-1"?>

  2  <!DOCTYPE alfs SYSTEM "../DTD/ALFS.dtd"
  3  [
  4  <!ENTITY % general_entities SYSTEM "../config/general.ent">

  5  <!ENTITY % package_entities SYSTEM "../config/package.ent">
  6
  7  %general_entities;

  8  %package_entities;
  9  ]>
 10  <alfs>

 11    <package name="coreutils" version="&coreutils-version;">
 12      <stage name="Adding the Package User">

 13        <execute command="add_package_user">
 14          <param>&coreutils-version;</param>

 15          <param>coreutils</param>
 16          <param>10001</param>
 17          <param>19999</param>

 18          <param>coreutils</param>
 19          <param>10001</param>
 20          <param>19999</param>

 21        </execute>
 22      </stage>
 23      <stage name="Unpacking">

 24        <stageinfo>
 25          <user>coreutils</user>
 26        </stageinfo>

 27        <unpack>
 28          <digest>&coreutils-md5;</digest>
 29          <archive>&packages_dir;/&coreutils-package;</archive>

 30          <destination>&package_home;/coreutils</destination>
 31        </unpack>
 32      </stage>

 33      <stage name="Patching">
 34        <stageinfo>
 35          <user>coreutils</user>

 36          <base>&package_home;/coreutils/&coreutils-directory;</base>
 37        </stageinfo>
 38        <patch>

 39          <param>-N</param>
 40          <param>-p1</param>
 41          <param>-i &packages_dir;/&coreutils-uname-patch;</param>

 42        </patch>
 43        <patch>
 44          <param>-N</param>

 45          <param>-p1</param>
 46          <param>-i &packages_dir;/&coreutils-dupes-patch;</param>

 47        </patch>
 48      </stage>
 49      <stage name="Configure">

 50        <stageinfo>
 51          <user>coreutils</user>
 52          <base>&package_home;/coreutils/&coreutils-directory;</base>

 53        </stageinfo>
 54        <configure>
 55          <prefix>DEFAULT_POSIX2_VERSION=199209</prefix>

 56          <param>--prefix=/usr</param>
 57        </configure>
 58      </stage>

 59      <stage name="Compile">
 60        <stageinfo>
 61          <user>coreutils</user>

 62          <base>&package_home;/coreutils/&coreutils-directory;</base>
 63        </stageinfo>
 64        <make>

 65          <param>&jlevel;</param>
 66        </make>
 67      </stage>

 68      <stage name="Test">
 69        <stageinfo>
 70          <base>&package_home;/coreutils/&coreutils-directory;</base>

 71        </stageinfo>
 72        <textdump mode="append">
 73          <file>/etc/group</file>

 74          <content>
 75          =dummy1:x:1000
 76          =dummy2:x:1001:dummy
 77          </content>

 78        </textdump>
 79        <!--textdump mode="append">
 80          <file>/etc/passwd</file>

 81          <content>
 82          =dummy:x:1000:1000:::/bin/bash
 83          </content>

 84        </textdump-->
 85        <make>
 86          <param>NON_ROOT_USERNAME=coreutils</param>

 87          <param>check-root</param>
 88        </make>
 89        <execute command="src/su">

 90          <param>coreutils</param>
 91          <param>-c "make RUN_EXPENSIVE_TESTS=yes check"</param>
 92        </execute>

 93        <execute command="sed">
 94          <param>-i.bak</param>
 95          <param>'/dummy/d'</param>

 96          <param>/etc/passwd</param>
 97          <param>/etc/group</param>
 98        </execute>

 99      </stage>
100      <stage name="Prepare">
101        <remove>/bin/cat</remove>

102        <remove>/bin/pwd</remove>
103        <remove>/bin/stty</remove>
104      </stage>
105      <stage name="Install">

106        <stageinfo>
107          <user>coreutils</user>
108          <base>&package_home;/coreutils/&coreutils-directory;</base>

109        </stageinfo>
110        <make>
111          <param>install</param>
112        </make>

113        <move base="/usr/bin">
114          <source>[</source>
115          <source>basename</source>

116          <source>cat</source>
117          <source>chgrp</source>
118          <source>chmod</source>

119          <source>chown</source>
120          <source>cp</source>
121          <source>dd</source>

122          <source>df</source>
123          <source>date</source>
124          <source>echo</source>

125          <source>false</source>
126          <source>head</source>
127          <source>hostname</source>

128          <source>install</source>
129          <source>ln</source>
130          <source>ls</source>

131          <source>mkdir</source>
132          <source>mknod</source>
133          <source>mv</source>

134          <source>pwd</source>
135          <source>rm</source>
136          <source>rmdir</source>

137          <source>sync</source>
138          <source>sleep</source>
139          <source>stty</source>

140          <source>test</source>
141          <source>touch</source>
142          <source>true</source>

143          <source>uname</source>
144          <destination>/bin</destination>
145        </move>
146        <move>

147          <source>/usr/bin/chroot</source>
148          <destination>/usr/sbin</destination>
149        </move>
150        <link>

151          <option>force</option>
152          <target>../../bin/install</target>
153          <name>/usr/bin</name>

154        </link>
155        <remove>/usr/share/man/man1/su.1</remove>
156      </stage>
157      <stage name="Cleanup">

158        <remove>&package_home;/coreutils/&coreutils-directory;</remove>
159      </stage>
160    </package>

161  </alfs>

Up and running, A happy system.

Posted in lfs at 20051201083000 by tmayad

Categories:

After My last attemp succeeded, I moved onto BLFS(didn’t use profiles because this is my first BLFS attempt and I wanted to do it by hand.) My PC is happy and so am I. Initially I started with console only PC(mplayer and all). Then I needed firefox badly and installed X. No sweat here. I’ve put firefox and gaim in xinitrc and everything just worked. After a bit of probing from a friend, I finally gave in and installed XFCE. Now even my friends can use it.

Here is my package list(/etc/passwd)


dch:x:9998:10109::/home/dch:/bin/bash
mpdaemon:x:9999:10074::/home/mpdaemon:/bin/bash
linux-libc:x:10001:10001:2.6.11.2:/usr/src/linux-libc:/bin/bash
man-pages:x:10002:10002:2.01:/usr/src/man-pages:/bin/bash
glibc:x:10003:10003:2.3.4:/usr/src/glibc:/bin/bash
binutils:x:10004:10004:2.15.94.0.2.2:/usr/src/binutils:/bin/bash
gcc:x:10005:10005:3.4.3:/usr/src/gcc:/bin/bash
coreutils:x:10006:10006:5.2.1:/usr/src/coreutils:/bin/bash
zlib:x:10007:10007:1.2.2:/usr/src/zlib:/bin/bash
mktemp:x:10008:10008:1.5:/usr/src/mktemp:/bin/bash
iana-etc:x:10009:10009:1.04:/usr/src/iana-etc:/bin/bash
findutils:x:10010:10010:4.2.23:/usr/src/findutils:/bin/bash
gawk:x:10011:10011:3.1.4:/usr/src/gawk:/bin/bash
ncurses:x:10012:10012:5.4:/usr/src/ncurses:/bin/bash
readline:x:10013:10013:5.0:/usr/src/readline:/bin/bash
vim:x:10014:10014:6.3:/usr/src/vim:/bin/bash
m4:x:10015:10015:1.4.3:/usr/src/m4:/bin/bash
bison:x:10016:10016:2.0:/usr/src/bison:/bin/bash
less:x:10017:10017:382:/usr/src/less:/bin/bash
groff:x:10018:10018:1.19.1:/usr/src/groff:/bin/bash
sed:x:10019:10019:4.1.4:/usr/src/sed:/bin/bash
flex:x:10020:10020:2.5.31:/usr/src/flex:/bin/bash
gettext:x:10021:10021:0.14.3:/usr/src/gettext:/bin/bash
inetutils:x:10022:10022:1.4.2:/usr/src/inetutils:/bin/bash
iproute2:x:10023:10023:2.6.11:/usr/src/iproute2:/bin/bash
perl:x:10024:10024:5.8.6:/usr/src/perl:/bin/bash
texinfo:x:10025:10025:4.8:/usr/src/texinfo:/bin/bash
autoconf:x:10026:10026:2.59:/usr/src/autoconf:/bin/bash
automake:x:10027:10027:1.9.5:/usr/src/automake:/bin/bash
bash:x:10028:10028:3.0:/usr/src/bash:/bin/bash
file:x:10029:10029:4.13:/usr/src/file:/bin/bash
libtool:x:10030:10030:1.5.14:/usr/src/libtool:/bin/bash
bzip2:x:10031:10031:1.0.3:/usr/src/bzip2:/bin/bash
diffutils:x:10032:10032:2.8.1:/usr/src/diffutils:/bin/bash
kbd:x:10033:10033:1.12:/usr/src/kbd:/bin/bash
e2fsprogs:x:10034:10034:1.37:/usr/src/e2fsprogs:/bin/bash
grep:x:10035:10035:2.5.1a:/usr/src/grep:/bin/bash
grub:x:10036:10036:0.96:/usr/src/grub:/bin/bash
gzip:x:10037:10037:1.3.5:/usr/src/gzip:/bin/bash
hotplug:x:10038:10038:2004_09_23:/usr/src/hotplug:/bin/bash
man:x:10039:10039:1.5p:/usr/src/man:/bin/bash
make:x:10040:10040:3.80:/usr/src/make:/bin/bash
module-init-tools:x:10041:10041:3.1:/usr/src/module-init-tools:/bin/bash
patch:x:10042:10042:2.5.4:/usr/src/patch:/bin/bash
procps:x:10043:10043:3.2.5:/usr/src/procps:/bin/bash
psmisc:x:10044:10044:21.6:/usr/src/psmisc:/bin/bash
shadow:x:10045:10045:4.0.9:/usr/src/shadow:/bin/bash
sysklogd:x:10046:10046:1.4.1:/usr/src/sysklogd:/bin/bash
sysvinit:x:10047:10047:2.86:/usr/src/sysvinit:/bin/bash
tar:x:10048:10048:1.15.1:/usr/src/tar:/bin/bash
udev:x:10049:10049:056:/usr/src/udev:/bin/bash
util-linux:x:10050:10050:2.12q:/usr/src/util-linux:/bin/bash
linux:x:10051:10051:2.6.14.2:/usr/src/linux:/bin/bash
libxml2:x:10052:10052:2.6.22:/usr/src/libxml2:/bin/bash
nalfs:x:10053:10053:1.2.5-1:/usr/src/nALFS:/bin/bash
blfs-bootscripts:x:10054:10054:6.1:/usr/src/blfs-bootscripts:/bin/bash
autofs:x:10055:10055:4.1.4:/usr/src/autofs:/bin/bash
openssl:x:10056:10056:0.9.7g:/usr/src/openssl:/bin/bash
python:x:10057:10057:2.4.1:/usr/src/python:/bin/bash
gpm:x:10058:10058:1.20.1:/usr/src/gpm:/bin/bash
gc:x:10059:10060:6.5:/usr/src/gc:/bin/bash
w3m:x:10060:10061:0.5.1:/usr/src/w3m:/bin/bash
lynx:x:10061:10062:2.8.5:/usr/src/lynx:/bin/bash
wget:x:10062:10063:1.9.1:/usr/src/wget:/bin/bash
tree:x:10064:10065:1.5.0:/usr/src/tree:/bin/bash
eject:x:10065:10066:2.1.0:/usr/src/eject:/bin/bash
alsa-lib:x:10066:10067:1.0.9:/usr/src/alsa-lib:/bin/bash
alsa-plugins:x:10067:10068:1.0.9:/usr/src/alsa-plugins:/bin/bash
alsa-utils:x:10068:10069:1.0.9a:/usr/src/alsa-utils:/bin/bash
pkg-config:x:10069:10070:0.19:/usr/src/pkg-config:/bin/bash
alsa-tools:x:10070:10071:1.0.9:/usr/src/alsa-tools:/bin/bash
alsa-oss:x:10071:10072:1.0.9:/usr/src/alsa-oss:/bin/bash
mplayer:x:10072:10073:1.0pre7:/usr/src/mplayer:/bin/bash
mpd:x:10074:10074:0.11.5:/usr/src/mpd:/bin/bash
mpc:x:10075:10075:0.11.2:/usr/src/mpc:/bin/bash
ncmpc:x:10076:10076:0.11.1:/usr/src/ncmpc:/bin/bash
gdb:x:10077:10077:6.3:/usr/src/gdb:/bin/bash
libao:x:10078:10078:0.8.6:/usr/src/libao:/bin/bash
glib:x:10079:10079:2.6.4,devel-1.2.10:/usr/src/glib:/bin/bash
libpng:x:10080:10080:1.2.8:/usr/src/libpng:/bin/bash
freetype:x:10081:10081:2.1.10:/usr/src/freetype:/bin/bash
expat:x:10082:10082:1.95.8:/usr/src/expat:/bin/bash
fontconfig:x:10083:10083:2.3.2:/usr/src/fontconfig:/bin/bash
xfree86:x:10084:10084:4.5.0:/usr/src/xfree86:/bin/bash
mpcstick:x:10085:10085:0.10.2:/usr/src/mpcstick:/bin/bash
pango:x:10086:10086:1.8.1:/usr/src/pango:/bin/bash
atk:x:10087:10087:1.9.1:/usr/src/atk:/bin/bash
libjpeg:x:10088:10088:6b:/usr/src/libjpeg:/bin/bash
libidl:x:10089:10089:0.8.5:/usr/src/libidl:/bin/bash
zip:x:10090:10090:2.31:/usr/src/zip:/bin/bash
firefox:x:10091:10091:1.0.7:/usr/src/firefox:/bin/bash
gtk-plus:x:10092:10092:2.6.7,devel-1.2.10:/usr/src/gtk-plus:/bin/bash
jre:x:10093:10093:1_5_0_05:/usr/src/jre:/bin/bash
curl:x:10094:10094:7.14.0:/usr/src/curl:/bin/bash
gaim:x:10095:10095:1.5.0:/usr/src/gaim:/bin/bash
aspell:x:10096:10096:0.60.3:/usr/src/aspell:/bin/bash
xfce:x:10097:10097:4.2.2:/usr/src/xfce:/bin/bash
startup-notify:x:10098:10098:0.8:/usr/src/startup-notify:/bin/bash
qt:x:10099:10099:3.3.4:/usr/src/qt:/bin/bash
lcms:x:10100:10100:1.14:/usr/src/lcms:/bin/bash
libmng:x:10101:10101:1.0.9:/usr/src/libmng:/bin/bash
dc:x:10102:10102:0.3.7:/usr/src/dc:/bin/bash
screen:x:10103:10103:4.0.2:/usr/src/screen:/bin/bash
ayttm:x:10104:10104:0.4.6-17:/usr/src/ayttm:/bin/bash
subversion:x:10106:10106:1.1.4:/usr/src/subversion:/bin/bash
tcp_wrappers:x:10107:10107:7.6:/usr/src/tcp_wrappers:/bin/bash
libtiff:x:10108:10108:3.7.3:/usr/src/libtiff:/bin/bash
opendchub:x:10109:10109:0.7.14:/usr/src/opendchub:/bin/bash
cvoicecontrol:x:10110:10110:0.9alpha:/usr/src/cvoicecontrol:/bin/bash
lesstif:x:10111:10111:0.94.4:/usr/src/lesstif:/bin/bash
xpdf:x:10112:10112:3.01:/usr/src/xpdf:/bin/bash
bluez-libs:x:10113:10113:2.22:/usr/src/bluez-libs:/bin/bash
bluez-utils:x:10114:10114:2.22:/usr/src/bluez-utils:/bin/bash
ctorrent:x:10115:10115:1.3.2:/usr/src/ctorrent:/bin/bash
lineakd:x:10116:10116:0.8.3:/usr/src/lineakd:/bin/bash

There are a few more packages and things I wanna talk about, but later.

11.21.05

Second attempt at nALFS + package users

Posted in lfs at 20051121182500 by tmayad

Categories:

Last night I have run another build and found a few problems.

11.20.05

First attempt at nALFS + package users

Posted in lfs at 20051120155900 by tmayad

Categories:

I tried to modify the LFS-6.1-1 ALFS profile for implimenting the changes. I used 6.1 live cd and there are a few digest mismatches. Apparently there was a server hickup and things changed. I guess it’s okay to ignore them. The rest of the errors and temporary work arounds are here.

patched nALFS to use /etc/passwd from $LFS

Posted in lfs at 20051120154500 by tmayad

Categories:

The earlier patch for uid:gid failed because You can’t use it to set additional groups which is required because package users use sticky bit of install dirs owned by install group.

So once more I found myself looking at nALFS code. This time I was looking at change group function in stage.c and discovered that it had been modified earlier for use in chroot environment. I knew it when I saw because I was hoping to use the fget.... functions too. Hmm, looks like the team has forgot to change the change_to_user function. I did it and here is the patch. It’s working just fine.

nALFS-1.2.5-change_to_user.patch


 static INLINE int change_to_user(const char *user)
 {
  struct passwd *pw;
+ FILE *fp;

-
- setpwent();
-
- /* getpwnam() is failing in chroot() */
- while ((pw = getpwent())) {
-  if (strcmp(pw->pw_name, user) == 0) {
-   break;
+ if ((fp = fopen("/etc/passwd", "r"))) { //setpwent();
+  /* getpwnam() is failing in chroot() */
+  while ((pw = fgetpwent(fp))) {
+   if (strcmp(pw->pw_name, user) == 0) {
+    break;
+   }
   }
- }

- endpwent();
+  fclose(fp); //endpwent();

+ } else {
+  Nprint_h_warn("Unable to open /etc/passwd: %s",
+   strerror(errno));
+ }
  if (pw == NULL) {
   Nprint_h_err("User %s doesn't exist.", user);
   return -1;

11.17.05

Psst…

Posted in Uncategorized at 20051117192503 by tmayad

Achelon!?

What does it mean? Nothing. It just popped into my head.

Now..now.. How many new names and titles can one think of? Atleast my “creativity” levels are this good.anyways, this is just a site I want to use with another of my friend.

patched nALFS to use uid:gid style user info

Posted in lfs at 20051117070300 by tmayad

Categories:

As I got no replies for my mail to alfs mailing list, I have finally decided to get my hands dirtier (They are already dirty). I have made a patch for nALFS that seems to do the job of using <user>uid:gid</user>. the usual at your own risk blah blah… disclaimer.

The format <user>uid:gid</user> has to be strictly followed and it won’t check for the format, neither does it have any defaults in case you omit anything. I don’t know if I have broken the original functionality. I had to bypass the user not found check and I didn’t care to adopt it, instead I removed it. So I suggest either you look into it and modify it further or wait till my exams are over and I’ll be more free to work them out.

There is one more catch, there are two files with same function which are exact replicas. But I changed only one that was being used when I traced it in gdb. Be warned, its only a couple of days since I started using gdb. Thanks to Kousik and Sunny.

nALFS-1.2.5-user-UID.patch


diff -Naur nALFS-1.2.5/src/handlers/stage.c nALFS-1.2.5-#/src/handlers/stage.c
--- nALFS-1.2.5/src/handlers/stage.c 2004-07-04 11:21:11.000000000 +0530
+++ nALFS-1.2.5-#/src/handlers/stage.c 2005-11-17 06:18:00.000000000 +0530
@@ -103,8 +103,9 @@
 static INLINE int change_to_user(const char *user)
 {
  struct passwd *pw;
-
-
+ uid_t uid;
+ gid_t gid;
+
  setpwent();

  /* getpwnam() is failing in chroot() */
@@ -118,20 +119,28 @@

  if (pw == NULL) {
   Nprint_h_err("User %s doesn't exist.", user);
-  return -1;
+  // return -1;
+  //check for UID
+  uid = atoi(strtok(user,":"));
+  gid = atoi(strtok(NULL,""));
+ }
+ else
+ {
+  uid = pw->pw_uid;
+  gid = pw->pw_gid;
  }

- if (set_supplementary_groups(user, pw->pw_gid)) {
+ if (set_supplementary_groups(user, gid)) {
   return -1;
  }

- if (setgid(pw->pw_gid)) {
+ if (setgid(gid)) {
   Nprint_h_err("Unable to set group ID: %s",
    strerror(errno));
   return -1;
  }

- if (setuid(pw->pw_uid)) {
+ if (setuid(uid)) {
   Nprint_h_err("Unable to set user ID: %s",
    strerror(errno));
   return -1;

11.09.05

package users and nALFS: define package id in users tag

Posted in lfs at 20051109003300 by tmayad

Categories:

The other option Iwas left with is to use use numeric uid in <users></users>.
But can it take the syntax <users>uid:gid</users> because without gid, it is going to be a mess unless taken care of. or is it going to default to the uid value for gid too? I have to experiment and find out. unless some one can help me here.

Another thing I can do is (in case it won’t take the gid) set the gid while cleaning up with something like find / -uid $UID -exec chgrp $GID {} and take extra care to set gid before making any suids.

11.08.05

Bug 1058 – changing user breaks when chrooted in script

Posted in lfs at 20051108221700 by tmayad

Bug 1058 – changing user breaks when chrooted in script

I tried to make matching entries in /etc/passwd and /etc/groups on the host and still getting the user not found error.

Here are the contents I appended to the host contents.

/etc/passwd

linux-libc-headers:x:10000:10000:2.6.11.2:/usr/src/libc-headers:/bin/bash
man-pages:x:10001:10001:2.01:/usr/src/man-pages:/bin/bash
glibc:x:10002:10002:2.3.4:/usr/src/glibc:/bin/bash
binutils:x:10003:10003:2.15.94.0.2.2:/usr/src/binutils:/bin/bash
gcc:x:10004:10004:3.4.3:/usr/src/gcc:/bin/bash
coreutils:x:10005:10005:5.2.1:/usr/src/coreutils:/bin/bash
zlib:x:10006:10006:1.2.2:/usr/src/zlib:/bin/bash
mktemp:x:10007:10007:1.5:/usr/src/mktemp:/bin/bash
iana-etc:x:10008:10008:1.04:/usr/src/iana-etc:/bin/bash
findutils:x:10009:10009:4.2.23:/usr/src/findutils:/bin/bash
gawk:x:10010:10010:3.1.4:/usr/src/gawk:/bin/bash
ncurses:x:10011:10011:5.4:/usr/src/ncurses:/bin/bash
readline:x:10012:10012:5.0:/usr/src/readline:/bin/bash
vim:x:10013:10013:6.3:/usr/src/vim:/bin/bash
m4:x:10014:10014:1.4.3:/usr/src/m4:/bin/bash
bison:x:10015:10015:2.0:/usr/src/bison:/bin/bash
less:x:10016:10016:382:/usr/src/less:/bin/bash
groff:x:10017:10017:1.19.1:/usr/src/groff:/bin/bash
sed:x:10018:10018:4.1.4:/usr/src/sed:/bin/bash
flex:x:10019:10019:2.5.31:/usr/src/flex:/bin/bash
gettext:x:10020:10020:0.14.3:/usr/src/gettext:/bin/bash
inetutils:x:10021:10021:1.4.2:/usr/src/inetutils:/bin/bash
iproute2:x:10022:10022:2.6.11:/usr/src/iproute2:/bin/bash
perl:x:10023:10023:5.8.6:/usr/src/perl:/bin/bash
texinfo:x:10024:10024:4.8:/usr/src/texinfo:/bin/bash
autoconf:x:10025:10025:2.59:/usr/src/autoconf:/bin/bash
automake:x:10026:10026:1.9.5:/usr/src/automake:/bin/bash
bash:x:10027:10027:3.0:/usr/src/bash:/bin/bash
file:x:10028:10028:4.13:/usr/src/file:/bin/bash
libtool:x:10029:10029:1.5.14:/usr/src/libtool:/bin/bash
bzip2:x:10030:10030:1.0.3:/usr/src/bzip2:/bin/bash
diffutils:x:10031:10031:2.8.1:/usr/src/diffutils:/bin/bash
kbd:x:10032:10032:1.12:/usr/src/kbd:/bin/bash
e2fsprogs:x:10033:10033:1.37:/usr/src/e2fsprogs:/bin/bash
grep:x:10034:10034:2.5.1a:/usr/src/grep:/bin/bash
grub:x:10035:10035:0.96:/usr/src/grub:/bin/bash
gzip:x:10036:10036:1.3.5:/usr/src/gzip:/bin/bash
hotplug:x:10037:10037:2004_09_23:/usr/src/hotplug:/bin/bash
man:x:10038:10038:1.5p:/usr/src/man:/bin/bash
make:x:10039:10039:3.80:/usr/src/make:/bin/bash
module-init-tools:x:10040:10040:3.1:/usr/src/module-init-tools:/bin/bash
patch:x:10041:10041:2.5.4:/usr/src/patch:/bin/bash
procps:x:10042:10042:3.2.5:/usr/src/procps:/bin/bash
psmisc:x:10043:10043:21.6:/usr/src/psmisc:/bin/bash
shadow:x:10044:10044:4.0.9:/usr/src/shadow:/bin/bash
sysklogd:x:10045:10045:1.4.1:/usr/src/sysklogd:/bin/bash
sysvinit:x:10046:10046:2.86:/usr/src/sysvinit:/bin/bash
tar:x:10047:10047:1.15.1:/usr/src/tar:/bin/bash
udev:x:10048:10048:056:/usr/src/udev:/bin/bash
util-linux:x:10049:10049:2.12q:/usr/src/util-linux:/bin/bash

/etc/group

linux-libc-headers:x:10000:
man-pages:x:10001:
glibc:x:10002:
binutils:x:10003:
gcc:x:10004:
coreutils:x:10005:
zlib:x:10006:
mktemp:x:10007:
iana-etc:x:10008:
findutils:x:10009:
gawk:x:10010:
ncurses:x:10011:
readline:x:10012:
vim:x:10013:
m4:x:10014:
bison:x:10015:
less:x:10016:
groff:x:10017:
sed:x:10018:
flex:x:10019:
gettext:x:10020:
inetutils:x:10021:
iproute2:x:10022:
perl:x:10023:
texinfo:x:10024:
autoconf:x:10025:
automake:x:10026:
bash:x:10027:
file:x:10028:
libtool:x:10029:
bzip2:x:10030:
diffutils:x:10031:
kbd:x:10032:
e2fsprogs:x:10033:
grep:x:10034:
grub:x:10035:
gzip:x:10036:
hotplug:x:10037:
man:x:10038:
make:x:10039:
module-init-tools:x:10040:
patch:x:10041:
procps:x:10042:
psmisc:x:10043:
shadow:x:10044:
sysklogd:x:10045:
sysvinit:x:10046:
tar:x:10047:
udev:x:10048:
util-linux:x:10049:

10.29.05

Use fake package users

Posted in lfs at 20051029075300 by tmayad

Categories:

So I need to use user IDs, huh? Wonder how I can catch the output of the script and place it in xml. If that can’t be done, I can always use a package-userid xml entity in package.ent.

The first seems to beimpossible as of now and the second is a head ache. I think I will modify the add_user script so that it can be run from host root and make changes to $LFS/etc/passwd and /etc/passwd. Well, The following schema should work.

  • The users on host should all belong to a temp group so that they can be removed easily after the build is done. But still I don’t like messing my host system.
  • The id finding algo should check both the files to find the usable ID. This can be ensured by making the range availiable in host passwd filed, but some how I don’t like to depend on that !

Next page